|
47484
|
2026-05-14T13:20:29.619677+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
24929877
|
click
|
991
|
538
|
NULL
|
NULL
|
0
|
0
|
NULL
|
0
|
NULL
|
NULL
|
PhpStorm
|
NULL
|
faVsco.js – console [QAI PROD]
|
NULL
|
AXTextArea
|
Editor for DeleteCrmEntityTrait.php
|
<?php
declare(strict_types=1);
namespace Jimi <?php
declare(strict_types=1);
namespace Jiminny\Jobs\Crm\Delete;
use Illuminate\Events\Dispatcher;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Jiminny\Enums\CrmObject;
use Jiminny\Events\Crm\DetachActivityObject;
use Jiminny\Models\Activity;
use Psr\Log\LoggerInterface;
use Throwable;
trait DeleteCrmEntityTrait
{
public int $tries = 3;
public function timeout(): int
{
return 300; // 5 minutes
}
public function backoff(): array
......
|
Editor for DeleteCrmEntityTrait.php
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
47486
|
2026-05-14T13:20:44.161976+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
24944419
|
click
|
444
|
702
|
NULL
|
NULL
|
0
|
0
|
NULL
|
0
|
NULL
|
NULL
|
PhpStorm
|
NULL
|
faVsco.js – DeleteCrmEntityTrait.php
|
NULL
|
AXTextArea
|
Editor for DeleteCrmEntityTrait.php
|
<?php
declare(strict_types=1);
namespace Jimi <?php
declare(strict_types=1);
namespace Jiminny\Jobs\Crm\Delete;
use Illuminate\Events\Dispatcher;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Jiminny\Enums\CrmObject;
use Jiminny\Events\Crm\DetachActivityObject;
use Jiminny\Models\Activity;
use Psr\Log\LoggerInterface;
use Throwable;
trait DeleteCrmEntityTrait
{
public int $tries = 3;
public function timeout(): int
{
return 300; // 5 minutes
}
public function backoff(): array
......
|
Editor for DeleteCrmEntityTrait.php
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
47488
|
2026-05-14T13:20:48.966823+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
24949223
|
click
|
562
|
568
|
NULL
|
NULL
|
0
|
0
|
NULL
|
0
|
NULL
|
NULL
|
PhpStorm
|
NULL
|
faVsco.js – DeleteCrmEntityTrait.php
|
NULL
|
AXTextArea
|
Editor for DeleteCrmEntityTrait.php
|
<?php
declare(strict_types=1);
namespace Jimi <?php
declare(strict_types=1);
namespace Jiminny\Jobs\Crm\Delete;
use Illuminate\Events\Dispatcher;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Jiminny\Enums\CrmObject;
use Jiminny\Events\Crm\DetachActivityObject;
use Jiminny\Models\Activity;
use Psr\Log\LoggerInterface;
use Throwable;
trait DeleteCrmEntityTrait
{
public int $tries = 3;
public function timeout(): int
{
return 300; // 5 minutes
}
public function backoff(): array
......
|
Editor for DeleteCrmEntityTrait.php
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
47490
|
2026-05-14T13:21:01.745541+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
24962002
|
click
|
814
|
577
|
NULL
|
NULL
|
0
|
0
|
NULL
|
0
|
NULL
|
NULL
|
PhpStorm
|
NULL
|
faVsco.js – DeleteCrmEntityTrait.php
|
NULL
|
AXTextArea
|
Editor for DeleteCrmEntityTrait.php
|
<?php
declare(strict_types=1);
namespace Jimi <?php
declare(strict_types=1);
namespace Jiminny\Jobs\Crm\Delete;
use Illuminate\Events\Dispatcher;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Jiminny\Enums\CrmObject;
use Jiminny\Events\Crm\DetachActivityObject;
use Jiminny\Models\Activity;
use Psr\Log\LoggerInterface;
use Throwable;
trait DeleteCrmEntityTrait
{
public int $tries = 3;
public function timeout(): int
{
return 300; // 5 minutes
}
public function backoff(): array
......
|
Editor for DeleteCrmEntityTrait.php
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
47492
|
2026-05-14T13:21:06.200014+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
24966456
|
click
|
694
|
579
|
NULL
|
NULL
|
0
|
0
|
NULL
|
0
|
NULL
|
NULL
|
PhpStorm
|
NULL
|
faVsco.js – DeleteCrmEntityTrait.php
|
NULL
|
AXTextArea
|
Editor for DeleteCrmEntityTrait.php
|
<?php
declare(strict_types=1);
namespace Jimi <?php
declare(strict_types=1);
namespace Jiminny\Jobs\Crm\Delete;
use Illuminate\Events\Dispatcher;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Jiminny\Enums\CrmObject;
use Jiminny\Events\Crm\DetachActivityObject;
use Jiminny\Models\Activity;
use Psr\Log\LoggerInterface;
use Throwable;
trait DeleteCrmEntityTrait
{
public int $tries = 3;
public function timeout(): int
{
return 300; // 5 minutes
}
public function backoff(): array
......
|
Editor for DeleteCrmEntityTrait.php
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
48324
|
2026-05-14T13:57:01.365266+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
27121529
|
app_switch
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStorm
|
8
|
PhpStorm
|
22412
|
NULL
|
NULL
|
AXTextArea
|
Editor for DeleteCrmEntityTrait.php
|
<?php
declare(strict_types=1);
namespace Jimi <?php
declare(strict_types=1);
namespace Jiminny\Jobs\Crm\Delete;
use Illuminate\Events\Dispatcher;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Jiminny\Enums\CrmObject;
use Jiminny\Events\Crm\DetachActivityObject;
use Jiminny\Models\Activity;
use Psr\Log\LoggerInterface;
use Throwable;
trait DeleteCrmEntityTrait
{
public int $tries = 3;
public function timeout(): int
{
return 300; // 5 minutes
}
public function backoff(): array
{
return [30, 90, 180]; // 30 seconds, 1.5 minutes, 3 minutes
}
protected function handleActivities(
Collection $activities,
Dispatcher $dispatcher,
LoggerInterface $logger,
bool $emitEvent = true,
): void {
if ($activities->isEmpty()) {
return;
}
$crmObject = $this->getEntityType();
$entityIdField = $crmObject->value . '_id';
$activities->each(
function......
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
48335
|
2026-05-14T13:57:47.865200+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
27168028
|
click
|
710
|
675
|
NULL
|
NULL
|
0
|
0
|
NULL
|
0
|
NULL
|
NULL
|
PhpStorm
|
NULL
|
faVsco.js – DeleteCrmEntityTrait.php
|
NULL
|
AXTextArea
|
Editor for DeleteCrmEntityTrait.php
|
<?php
declare(strict_types=1);
namespace Jimi <?php
declare(strict_types=1);
namespace Jiminny\Jobs\Crm\Delete;
use Illuminate\Events\Dispatcher;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Jiminny\Enums\CrmObject;
use Jiminny\Events\Crm\DetachActivityObject;
use Jiminny\Models\Activity;
use Psr\Log\LoggerInterface;
use Throwable;
trait DeleteCrmEntityTrait
{
public int $tries = 3;
public function timeout(): int
{
return 300; // 5 minutes
}
public function backoff(): array
......
|
Editor for DeleteCrmEntityTrait.php
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
48337
|
2026-05-14T13:57:49.199308+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
27169362
|
click
|
710
|
675
|
NULL
|
NULL
|
0
|
0
|
NULL
|
0
|
NULL
|
NULL
|
PhpStorm
|
NULL
|
faVsco.js – DeleteCrmEntityTrait.php
|
NULL
|
AXTextArea
|
Editor for DeleteCrmEntityTrait.php
|
<?php
declare(strict_types=1);
namespace Jimi <?php
declare(strict_types=1);
namespace Jiminny\Jobs\Crm\Delete;
use Illuminate\Events\Dispatcher;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Jiminny\Enums\CrmObject;
use Jiminny\Events\Crm\DetachActivityObject;
use Jiminny\Models\Activity;
use Psr\Log\LoggerInterface;
use Throwable;
trait DeleteCrmEntityTrait
{
public int $tries = 3;
public function timeout(): int
{
return 300; // 5 minutes
}
public function backoff(): array
......
|
Editor for DeleteCrmEntityTrait.php
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
48341
|
2026-05-14T13:57:55.531164+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
27175693
|
click
|
741
|
540
|
NULL
|
NULL
|
0
|
0
|
NULL
|
0
|
NULL
|
NULL
|
PhpStorm
|
NULL
|
faVsco.js – DeleteCrmEntityTrait.php
|
NULL
|
AXTextArea
|
Editor for DeleteCrmEntityTrait.php
|
<?php
declare(strict_types=1);
namespace Jimi <?php
declare(strict_types=1);
namespace Jiminny\Jobs\Crm\Delete;
use Illuminate\Events\Dispatcher;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Jiminny\Enums\CrmObject;
use Jiminny\Events\Crm\DetachActivityObject;
use Jiminny\Models\Activity;
use Psr\Log\LoggerInterface;
use Throwable;
trait DeleteCrmEntityTrait
{
public int $tries = 3;
public function timeout(): int
{
return 300; // 5 minutes
}
public function backoff(): array
......
|
Editor for DeleteCrmEntityTrait.php
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
47495
|
2026-05-14T13:21:10.778210+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
24971034
|
click
|
431
|
548
|
NULL
|
NULL
|
0
|
0
|
NULL
|
0
|
NULL
|
NULL
|
PhpStorm
|
NULL
|
faVsco.js – DetachActivityObject.php
|
NULL
|
AXTextArea
|
Editor for DetachActivityObject.php
|
<?php
declare(strict_types=1);
namespace Jimi <?php
declare(strict_types=1);
namespace Jiminny\Events\Crm;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
use Jiminny\Enums\CrmObject;
use Jiminny\Models\Activity;
class DetachActivityObject
{
use Dispatchable;
use SerializesModels;
public function __construct(
private readonly Activity $activity,
private readonly CrmObject $crmObject
) {
}
public function getActivity(): Activity
{
return $this-......
|
Editor for DetachActivityObject.php
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
47497
|
2026-05-14T13:21:12.053164+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
24972309
|
click
|
722
|
609
|
NULL
|
NULL
|
0
|
0
|
NULL
|
0
|
NULL
|
NULL
|
PhpStorm
|
NULL
|
faVsco.js – DetachActivityObject.php
|
NULL
|
AXTextArea
|
Editor for DetachActivityObject.php
|
<?php
declare(strict_types=1);
namespace Jimi <?php
declare(strict_types=1);
namespace Jiminny\Events\Crm;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
use Jiminny\Enums\CrmObject;
use Jiminny\Models\Activity;
class DetachActivityObject
{
use Dispatchable;
use SerializesModels;
public function __construct(
private readonly Activity $activity,
private readonly CrmObject $crmObject
) {
}
public function getActivity(): Activity
{
return $this-......
|
Editor for DetachActivityObject.php
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
47499
|
2026-05-14T13:21:13.247278+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
24973503
|
click
|
731
|
726
|
NULL
|
NULL
|
0
|
0
|
NULL
|
0
|
NULL
|
NULL
|
PhpStorm
|
NULL
|
faVsco.js – DetachActivityObject.php
|
NULL
|
AXTextArea
|
Editor for DetachActivityObject.php
|
<?php
declare(strict_types=1);
namespace Jimi <?php
declare(strict_types=1);
namespace Jiminny\Events\Crm;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
use Jiminny\Enums\CrmObject;
use Jiminny\Models\Activity;
class DetachActivityObject
{
use Dispatchable;
use SerializesModels;
public function __construct(
private readonly Activity $activity,
private readonly CrmObject $crmObject
) {
}
public function getActivity(): Activity
{
return $this-......
|
Editor for DetachActivityObject.php
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
47502
|
2026-05-14T13:21:17.062048+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
24977318
|
click
|
499
|
372
|
NULL
|
NULL
|
0
|
0
|
NULL
|
0
|
NULL
|
NULL
|
PhpStorm
|
NULL
|
faVsco.js – DetachActivityObject.php
|
NULL
|
AXTextArea
|
Editor for DetachActivityObject.php
|
<?php
declare(strict_types=1);
namespace Jimi <?php
declare(strict_types=1);
namespace Jiminny\Events\Crm;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
use Jiminny\Enums\CrmObject;
use Jiminny\Models\Activity;
class DetachActivityObject
{
use Dispatchable;
use SerializesModels;
public function __construct(
private readonly Activity $activity,
private readonly CrmObject $crmObject
) {
}
public function getActivity(): Activity
{
return $this-......
|
Editor for DetachActivityObject.php
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
47504
|
2026-05-14T13:21:17.206274+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
24977462
|
click
|
499
|
372
|
NULL
|
NULL
|
0
|
0
|
NULL
|
0
|
NULL
|
NULL
|
PhpStorm
|
NULL
|
faVsco.js – DetachActivityObject.php
|
NULL
|
AXTextArea
|
Editor for DetachActivityObject.php
|
<?php
declare(strict_types=1);
namespace Jimi <?php
declare(strict_types=1);
namespace Jiminny\Events\Crm;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
use Jiminny\Enums\CrmObject;
use Jiminny\Models\Activity;
class DetachActivityObject
{
use Dispatchable;
use SerializesModels;
public function __construct(
private readonly Activity $activity,
private readonly CrmObject $crmObject
) {
}
public function getActivity(): Activity
{
return $this-......
|
Editor for DetachActivityObject.php
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
55151
|
2026-05-18T08:28:57.618593+00:00
|
0404bede-2900-4a09-b527-d7a310880a81
|
6802123
|
app_switch
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStorm
|
8
|
PhpStorm
|
55697
|
NULL
|
NULL
|
AXTextArea
|
Editor for EditTeamRequest.php
|
<?php
declare(strict_types=1);
namespace Jimi <?php
declare(strict_types=1);
namespace Jiminny\Http\Requests\Settings\Teams;
use Jiminny\Http\Requests\ValidatesBillingAddresses;
use Jiminny\Models\Feature\FeatureEnum;
use Illuminate\Foundation\Http\FormRequest;
use Jiminny\Rules\TransferUserAdminRule;
class EditTeamRequest extends FormRequest
{
use ValidatesBillingAddresses;
public function authorize(): bool
{
return true;
}
public function rules(): array
{
$existingFeatures = implode(',', FeatureEnum::names());
$rules = [
'name' => ['required', 'string', 'max:150'],
'owner_id' => ['required_without:owner_email', 'uuid:users', resolve(TransferUserAdminRule::class)],
'owner_email' => ['required_without:owner_id', 'email'],
'owner_role' => ['prohibited'],
'calendar' => ['required_without:owner_id', 'string', 'max:150'],
'crm' => ['required_without:owner_id', 'string', 'max:150'],
'features' =>......
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
51400
|
2026-05-15T08:57:14.708928+00:00
|
af5dd582-4a7c-40c1-a1c7-bc5cff52b88e
|
9038709
|
app_switch
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStorm
|
8
|
PhpStorm
|
89880
|
NULL
|
NULL
|
AXTextArea
|
Editor for EmailTextRelay.php
|
<?php
namespace Jiminny\Jobs\Mailbox;
use Ill <?php
namespace Jiminny\Jobs\Mailbox;
use Illuminate\Support\Str;
use Carbon\Carbon;
use Google\Service\Gmail as GoogleGmail;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Jiminny\Component\Queue\Constants;
use Jiminny\Contracts\Acl\PermissionEnum;
use Jiminny\Exceptions\TextRelayException;
use Jiminny\Jobs\Job;
use EmailReplyParser\Parser\EmailParser;
use Jiminny\Mail\Activities\SmsRelayFailed;
use Jiminny\Models\Activity;
use Jiminny\Models\TextRelay;
use Jiminny\Repositories\UserRepository;
use Jiminny\Rules\SmsMessage;
use Jiminny\Services\Mail\TextRelayService;
use Jiminny\Services\Telephony\TextMessagingService;
use Vinkla\Hashids\Facades\Hashids;
use Validator;
class EmailTextRelay extends Job implements ShouldQueue
{
use InteractsWithQueue;
use SerializesModels;
private const REASON_CODE_MAILBOX_MISMATCH = 1000;
private const REASON_CODE_SENDER_UNKNOWN = 2000;
private ......
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
51406
|
2026-05-15T08:57:26.576032+00:00
|
af5dd582-4a7c-40c1-a1c7-bc5cff52b88e
|
9050575
|
app_switch
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStorm
|
8
|
PhpStorm
|
89880
|
NULL
|
NULL
|
AXTextArea
|
Editor for EmailTextRelay.php
|
<?php
namespace Jiminny\Jobs\Mailbox;
use Ill <?php
namespace Jiminny\Jobs\Mailbox;
use Illuminate\Support\Str;
use Carbon\Carbon;
use Google\Service\Gmail as GoogleGmail;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Jiminny\Component\Queue\Constants;
use Jiminny\Contracts\Acl\PermissionEnum;
use Jiminny\Exceptions\TextRelayException;
use Jiminny\Jobs\Job;
use EmailReplyParser\Parser\EmailParser;
use Jiminny\Mail\Activities\SmsRelayFailed;
use Jiminny\Models\Activity;
use Jiminny\Models\TextRelay;
use Jiminny\Repositories\UserRepository;
use Jiminny\Rules\SmsMessage;
use Jiminny\Services\Mail\TextRelayService;
use Jiminny\Services\Telephony\TextMessagingService;
use Vinkla\Hashids\Facades\Hashids;
use Validator;
class EmailTextRelay extends Job implements ShouldQueue
{
use InteractsWithQueue;
use SerializesModels;
private const REASON_CODE_MAILBOX_MISMATCH = 1000;
private const REASON_CODE_SENDER_UNKNOWN = 2000;
private ......
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
51411
|
2026-05-15T08:57:42.160131+00:00
|
af5dd582-4a7c-40c1-a1c7-bc5cff52b88e
|
9066159
|
app_switch
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStorm
|
8
|
PhpStorm
|
89880
|
NULL
|
NULL
|
AXTextArea
|
Editor for EmailTextRelay.php
|
<?php
namespace Jiminny\Jobs\Mailbox;
use Ill <?php
namespace Jiminny\Jobs\Mailbox;
use Illuminate\Support\Str;
use Carbon\Carbon;
use Google\Service\Gmail as GoogleGmail;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Jiminny\Component\Queue\Constants;
use Jiminny\Contracts\Acl\PermissionEnum;
use Jiminny\Exceptions\TextRelayException;
use Jiminny\Jobs\Job;
use EmailReplyParser\Parser\EmailParser;
use Jiminny\Mail\Activities\SmsRelayFailed;
use Jiminny\Models\Activity;
use Jiminny\Models\TextRelay;
use Jiminny\Repositories\UserRepository;
use Jiminny\Rules\SmsMessage;
use Jiminny\Services\Mail\TextRelayService;
use Jiminny\Services\Telephony\TextMessagingService;
use Vinkla\Hashids\Facades\Hashids;
use Validator;
class EmailTextRelay extends Job implements ShouldQueue
{
use InteractsWithQueue;
use SerializesModels;
private const REASON_CODE_MAILBOX_MISMATCH = 1000;
private const REASON_CODE_SENDER_UNKNOWN = 2000;
private ......
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
46922
|
2026-05-14T12:54:18.532387+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
23358862
|
app_switch
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStorm
|
8
|
PhpStorm
|
22412
|
NULL
|
NULL
|
AXTextArea
|
Editor for FixActivitiesOpportunity.php
|
<?php
declare(strict_types=1);
namespace Jimi <?php
declare(strict_types=1);
namespace Jiminny\Console\Commands\Activities;
use Illuminate\Support\Facades\Validator;
use Jiminny\Console\Commands\Command;
use Jiminny\Contracts\Services\Crm\ServiceInterface;
use Jiminny\Models\Activity;
use Jiminny\Models\Opportunity;
use Jiminny\Models\Team;
use Jiminny\Services\Activity\CrmOwnerResolver;
use Jiminny\Services\Crm\CachedCrmServiceDecorator;
use Jiminny\Services\Crm\EmailHelper;
use Throwable;
class FixActivitiesOpportunity extends Command
{
protected $signature = 'activity:fix-opportunity {--from=} {--to=}';
public function handle(EmailHelper $emailHelper): int
{
$from = $this->option('from');
$to = $this->option('to');
$validator = Validator::make(
['from' => $from, 'to' => $to],
[
'from' => ['required', 'date'],
'to' => ['required', 'date'],
]
);
if ($validator->fails()) {
$this->error('Vali......
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
46965
|
2026-05-14T12:56:48.637999+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
23508934
|
app_switch
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStorm
|
8
|
PhpStorm
|
22412
|
NULL
|
NULL
|
AXTextArea
|
Editor for FixActivitiesOpportunity.php
|
<?php
declare(strict_types=1);
namespace Jimi <?php
declare(strict_types=1);
namespace Jiminny\Console\Commands\Activities;
use Illuminate\Support\Facades\Validator;
use Jiminny\Console\Commands\Command;
use Jiminny\Contracts\Services\Crm\ServiceInterface;
use Jiminny\Models\Activity;
use Jiminny\Models\Opportunity;
use Jiminny\Models\Team;
use Jiminny\Services\Activity\CrmOwnerResolver;
use Jiminny\Services\Crm\CachedCrmServiceDecorator;
use Jiminny\Services\Crm\EmailHelper;
use Throwable;
class FixActivitiesOpportunity extends Command
{
protected $signature = 'activity:fix-opportunity {--from=} {--to=}';
public function handle(EmailHelper $emailHelper): int
{
$from = $this->option('from');
$to = $this->option('to');
$validator = Validator::make(
['from' => $from, 'to' => $to],
[
'from' => ['required', 'date'],
'to' => ['required', 'date'],
]
);
if ($validator->fails()) {
$this->error('Vali......
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
46974
|
2026-05-14T12:57:06.152033+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
23526447
|
app_switch
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStorm
|
8
|
PhpStorm
|
22412
|
NULL
|
NULL
|
AXTextArea
|
Editor for FixActivitiesOpportunity.php
|
<?php
declare(strict_types=1);
namespace Jimi <?php
declare(strict_types=1);
namespace Jiminny\Console\Commands\Activities;
use Illuminate\Support\Facades\Validator;
use Jiminny\Console\Commands\Command;
use Jiminny\Contracts\Services\Crm\ServiceInterface;
use Jiminny\Models\Activity;
use Jiminny\Models\Opportunity;
use Jiminny\Models\Team;
use Jiminny\Services\Activity\CrmOwnerResolver;
use Jiminny\Services\Crm\CachedCrmServiceDecorator;
use Jiminny\Services\Crm\EmailHelper;
use Throwable;
class FixActivitiesOpportunity extends Command
{
protected $signature = 'activity:fix-opportunity {--from=} {--to=}';
public function handle(EmailHelper $emailHelper): int
{
$from = $this->option('from');
$to = $this->option('to');
$validator = Validator::make(
['from' => $from, 'to' => $to],
[
'from' => ['required', 'date'],
'to' => ['required', 'date'],
]
);
if ($validator->fails()) {
$this->error('Vali......
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
46979
|
2026-05-14T12:57:09.012623+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
23529307
|
app_switch
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStorm
|
8
|
PhpStorm
|
22412
|
NULL
|
NULL
|
AXTextArea
|
Editor for FixActivitiesOpportunity.php
|
<?php
declare(strict_types=1);
namespace Jimi <?php
declare(strict_types=1);
namespace Jiminny\Console\Commands\Activities;
use Illuminate\Support\Facades\Validator;
use Jiminny\Console\Commands\Command;
use Jiminny\Contracts\Services\Crm\ServiceInterface;
use Jiminny\Models\Activity;
use Jiminny\Models\Opportunity;
use Jiminny\Models\Team;
use Jiminny\Services\Activity\CrmOwnerResolver;
use Jiminny\Services\Crm\CachedCrmServiceDecorator;
use Jiminny\Services\Crm\EmailHelper;
use Throwable;
class FixActivitiesOpportunity extends Command
{
protected $signature = 'activity:fix-opportunity {--from=} {--to=}';
public function handle(EmailHelper $emailHelper): int
{
$from = $this->option('from');
$to = $this->option('to');
$validator = Validator::make(
['from' => $from, 'to' => $to],
[
'from' => ['required', 'date'],
'to' => ['required', 'date'],
]
);
if ($validator->fails()) {
$this->error('Vali......
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
46989
|
2026-05-14T12:57:23.217630+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
23543512
|
app_switch
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStorm
|
8
|
PhpStorm
|
22412
|
NULL
|
NULL
|
AXTextArea
|
Editor for FixActivitiesOpportunity.php
|
<?php
declare(strict_types=1);
namespace Jimi <?php
declare(strict_types=1);
namespace Jiminny\Console\Commands\Activities;
use Illuminate\Support\Facades\Validator;
use Jiminny\Console\Commands\Command;
use Jiminny\Contracts\Services\Crm\ServiceInterface;
use Jiminny\Models\Activity;
use Jiminny\Models\Opportunity;
use Jiminny\Models\Team;
use Jiminny\Services\Activity\CrmOwnerResolver;
use Jiminny\Services\Crm\CachedCrmServiceDecorator;
use Jiminny\Services\Crm\EmailHelper;
use Throwable;
class FixActivitiesOpportunity extends Command
{
protected $signature = 'activity:fix-opportunity {--from=} {--to=}';
public function handle(EmailHelper $emailHelper): int
{
$from = $this->option('from');
$to = $this->option('to');
$validator = Validator::make(
['from' => $from, 'to' => $to],
[
'from' => ['required', 'date'],
'to' => ['required', 'date'],
]
);
if ($validator->fails()) {
$this->error('Vali......
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
46998
|
2026-05-14T12:58:27.753469+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
23608046
|
app_switch
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStorm
|
8
|
PhpStorm
|
22412
|
NULL
|
NULL
|
AXTextArea
|
Editor for FixActivitiesOpportunity.php
|
<?php
declare(strict_types=1);
namespace Jimi <?php
declare(strict_types=1);
namespace Jiminny\Console\Commands\Activities;
use Illuminate\Support\Facades\Validator;
use Jiminny\Console\Commands\Command;
use Jiminny\Contracts\Services\Crm\ServiceInterface;
use Jiminny\Models\Activity;
use Jiminny\Models\Opportunity;
use Jiminny\Models\Team;
use Jiminny\Services\Activity\CrmOwnerResolver;
use Jiminny\Services\Crm\CachedCrmServiceDecorator;
use Jiminny\Services\Crm\EmailHelper;
use Throwable;
class FixActivitiesOpportunity extends Command
{
protected $signature = 'activity:fix-opportunity {--from=} {--to=}';
public function handle(EmailHelper $emailHelper): int
{
$from = $this->option('from');
$to = $this->option('to');
$validator = Validator::make(
['from' => $from, 'to' => $to],
[
'from' => ['required', 'date'],
'to' => ['required', 'date'],
]
);
if ($validator->fails()) {
$this->error('Vali......
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
70934
|
2026-05-22T07:55:17.094576+00:00
|
eda29d07-a250-4b1e-bd52-928e24e61915
|
1914064
|
app_switch
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStorm
|
8
|
PhpStorm
|
45701
|
NULL
|
NULL
|
AXTextArea
|
Editor for GenerateAiActivityTypeService.php
|
<?php
declare(strict_types=1);
namespace Jimi <?php
declare(strict_types=1);
namespace Jiminny\Component\AiActivityType\Services;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Jiminny\Component\Activity\ActivityProcessingStateManager;
use Jiminny\Component\AiActivityType\Exceptions\InvalidAiActivityTypeResponseException;
use Jiminny\Component\Datadog\Constants;
use Jiminny\Component\ProphetAi\Exceptions\ActivityLanguageCodeMissingException;
use Jiminny\Component\ProphetAi\Exceptions\ParticipantCountNotMatchingWordCountException;
use Jiminny\Component\ProphetAi\Exceptions\ProphetException;
use Jiminny\Integrations\PlaybookResolver;
use Jiminny\Models;
use Jiminny\Models\Activity;
use Jiminny\Repositories\ActivityRepository;
use Jiminny\Repositories\PlaybookCategoryRepository;
use Psr\Log\LoggerInterface;
class GenerateAiActivityTypeService
{
public function __construct(
private readonly LoggerInterface $logger,
private readonly ActivityProcessingStateManager $processingStateManager,
private rea......
|
NULL
|
NULL
|
NULL
|
69138
|
NULL
|
NULL
|
NULL
|
NULL
|
|
70945
|
2026-05-22T07:55:41.482237+00:00
|
eda29d07-a250-4b1e-bd52-928e24e61915
|
1938450
|
app_switch
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStorm
|
8
|
PhpStorm
|
45701
|
NULL
|
NULL
|
AXTextArea
|
Editor for GenerateAiActivityTypeService.php
|
<?php
declare(strict_types=1);
namespace Jimi <?php
declare(strict_types=1);
namespace Jiminny\Component\AiActivityType\Services;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Jiminny\Component\Activity\ActivityProcessingStateManager;
use Jiminny\Component\AiActivityType\Exceptions\InvalidAiActivityTypeResponseException;
use Jiminny\Component\Datadog\Constants;
use Jiminny\Component\ProphetAi\Exceptions\ActivityLanguageCodeMissingException;
use Jiminny\Component\ProphetAi\Exceptions\ParticipantCountNotMatchingWordCountException;
use Jiminny\Component\ProphetAi\Exceptions\ProphetException;
use Jiminny\Integrations\PlaybookResolver;
use Jiminny\Models;
use Jiminny\Models\Activity;
use Jiminny\Repositories\ActivityRepository;
use Jiminny\Repositories\PlaybookCategoryRepository;
use Psr\Log\LoggerInterface;
class GenerateAiActivityTypeService
{
public function __construct(
private readonly LoggerInterface $logger,
private readonly ActivityProcessingStateManager $processingStateManager,
private rea......
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
70963
|
2026-05-22T07:58:45.140979+00:00
|
eda29d07-a250-4b1e-bd52-928e24e61915
|
2122104
|
app_switch
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStorm
|
8
|
PhpStorm
|
45701
|
NULL
|
NULL
|
AXTextArea
|
Editor for GenerateAiActivityTypeService.php
|
<?php
declare(strict_types=1);
namespace Jimi <?php
declare(strict_types=1);
namespace Jiminny\Component\AiActivityType\Services;
use ChaseConey\LaravelDatadogHelper\Datadog;
use Jiminny\Component\Activity\ActivityProcessingStateManager;
use Jiminny\Component\AiActivityType\Exceptions\InvalidAiActivityTypeResponseException;
use Jiminny\Component\Datadog\Constants;
use Jiminny\Component\ProphetAi\Exceptions\ActivityLanguageCodeMissingException;
use Jiminny\Component\ProphetAi\Exceptions\ParticipantCountNotMatchingWordCountException;
use Jiminny\Component\ProphetAi\Exceptions\ProphetException;
use Jiminny\Integrations\PlaybookResolver;
use Jiminny\Models;
use Jiminny\Models\Activity;
use Jiminny\Repositories\ActivityRepository;
use Jiminny\Repositories\PlaybookCategoryRepository;
use Psr\Log\LoggerInterface;
class GenerateAiActivityTypeService
{
public function __construct(
private readonly LoggerInterface $logger,
private readonly ActivityProcessingStateManager $processingStateManager,
private rea......
|
NULL
|
NULL
|
NULL
|
69156
|
NULL
|
NULL
|
NULL
|
NULL
|
|
20398
|
2026-05-11T10:14:58.385350+00:00
|
d42b8b31-1886-4817-bb21-01c53354434e
|
14921268
|
app_switch
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStorm
|
8
|
PhpStorm
|
40465
|
NULL
|
NULL
|
AXTextArea
|
Editor for HS_local.sql
|
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * fro # [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 1122......
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
6467
|
2026-05-07T14:39:02.125196+00:00
|
fdb3b7a3-88d3-4983-9faf-3a493cf2f0d9
|
28418517
|
app_switch
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStorm
|
8
|
PhpStorm
|
27749
|
NULL
|
NULL
|
AXTextArea
|
Editor for HS_local.sql
|
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * fro # [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
https://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624
https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0
SELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;
# 609126 softphone tr. 11241
SELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;
# 608874 conference tr. 11226 crmId: 103422236596
select * from ai_prompts where transcription_id IN (11241, 1122......
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
10791
|
2026-05-08T11:43:33.177947+00:00
|
03da4156-9bc1-4c59-86f8-3b937ccacca2
|
19066284
|
app_switch
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStorm
|
8
|
PhpStorm
|
27749
|
NULL
|
NULL
|
AXTextArea
|
Editor for HandleHubspotRateLimit.php
|
<?php
declare(strict_types=1);
namespace Jimi <?php
declare(strict_types=1);
namespace Jiminny\Jobs\Middleware;
use Illuminate\Support\Facades\Log;
use Jiminny\Exceptions\RateLimitException;
/**
* Job middleware that catches RateLimitException from HubSpot API calls
* and releases the job back to the queue with the appropriate delay.
*/
class HandleHubspotRateLimit
{
private const int MAX_RETRY_DELAY = 600;
private const int MIN_RETRY_DELAY = 1;
private const int MAX_RATE_LIMIT_ATTEMPTS = 20;
public function handle(object $job, callable $next): void
{
try {
$next($job);
} catch (RateLimitException $e) {
if ($job->attempts() >= self::MAX_RATE_LIMIT_ATTEMPTS) {
Log::error('[HandleHubspotRateLimit] Rate limit attempt limit reached, giving up', [
'job_class' => $job::class,
'attempts' => $job->attempts(),
'rate_limit_message' => $e->getMessage(),
]);
throw $......
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
20169
|
2026-05-11T09:59:52.613123+00:00
|
d42b8b31-1886-4817-bb21-01c53354434e
|
14015517
|
app_switch
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStorm
|
8
|
PhpStorm
|
40465
|
NULL
|
NULL
|
AXTextArea
|
Editor for HandleHubspotRateLimitTest.php
|
<?php
declare(strict_types=1);
namespace Test <?php
declare(strict_types=1);
namespace Tests\Unit\Jobs\Middleware;
use Exception;
use Illuminate\Contracts\Queue\Job;
use Illuminate\Support\Facades\Log;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Jobs\Middleware\HandleHubspotRateLimit;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\MockObject\MockObject;
use Tests\TestCase;
#[CoversClass(HandleHubspotRateLimit::class)]
class HandleHubspotRateLimitTest extends TestCase
{
private const int MAX_RETRY_DELAY = 600;
private const int MIN_RETRY_DELAY = 1;
private const int JITTER_SECONDS = 5;
private HandleHubspotRateLimit $middleware;
protected function setUp(): void
{
parent::setUp();
$this->middleware = new HandleHubspotRateLimit();
}
public function testPassesThroughWhenNoExceptionThrown(): void
{
$job = $this->createMock(Job::class);
$job->expects($this->never())->method('releas......
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
5494
|
2026-05-07T13:30:28.021565+00:00
|
fdb3b7a3-88d3-4983-9faf-3a493cf2f0d9
|
24304609
|
app_switch
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStorm
|
8
|
PhpStorm
|
27749
|
NULL
|
NULL
|
AXTextArea
|
Editor for HubspotException.php
|
<?php
namespace SevenShores\Hubspot\Exceptions <?php
namespace SevenShores\Hubspot\Exceptions;
use Exception;
use GuzzleHttp\Exception\RequestException;
use GuzzleHttp\Psr7\Response;
class HubspotException extends Exception
{
/** @var null|Response */
protected $response;
/**
* @return null|Response
*/
public function getResponse()
{
return $this->response;
}
public static function create(RequestException $guzzleException): self
{
$e = new static(
static::sanitizeResponseMessage($guzzleException->getMessage()),
$guzzleException->getCode(),
$guzzleException
);
$e->response = $guzzleException->getResponse();
return $e;
}
protected static function sanitizeResponseMessage(string $message): string
{
return preg_replace('/(hapikey|access_token)=[a-z0-9-]+/i', '$1=***', $message);
}
}
...
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
19904
|
2026-05-11T09:15:02.615721+00:00
|
d42b8b31-1886-4817-bb21-01c53354434e
|
11325659
|
app_switch
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStorm
|
8
|
PhpStorm
|
40465
|
NULL
|
NULL
|
AXTextArea
|
Editor for HubspotPaginationService.php
|
<?php
declare(strict_types=1);
namespace Jimi <?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot\Pagination;
use Jiminny\Services\Crm\Hubspot\Client;
use Jiminny\Services\Crm\Hubspot\PayloadBuilder;
use Psr\Log\LoggerInterface;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
class HubspotPaginationService
{
public function __construct(
private LoggerInterface $logger
) {
}
/**
* @throws HubspotException
* @throws SocialAccountTokenInvalidException
* @throws BadRequest
*/
public function getPaginatedDataGenerator(
Client $client,
array $payload,
string $type,
int $offset = 0,
int &$total = 0,
?string &$lastRecordId = null
): \Generator {
$state = new PaginationState(offset: $offset);
$endpoint = Client::BASE_URL . "/crm/v3/objects/{$type}/search";
$defaultFilter = $payload['......
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
7683
|
2026-05-08T06:35:34.040955+00:00
|
03da4156-9bc1-4c59-86f8-3b937ccacca2
|
588110
|
app_switch
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStorm
|
8
|
PhpStorm
|
27749
|
NULL
|
NULL
|
AXTextArea
|
Editor for HubspotPaginationService.php
|
<?php
declare(strict_types=1);
namespace Jimi <?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot\Pagination;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Services\Crm\Hubspot\Client;
use Jiminny\Services\Crm\Hubspot\PayloadBuilder;
use Psr\Log\LoggerInterface;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
class HubspotPaginationService
{
public function __construct(
private LoggerInterface $logger
) {
}
/**
* @throws HubspotException
* @throws SocialAccountTokenInvalidException
* @throws BadRequest
*/
public function getPaginatedDataGenerator(
Client $client,
array $payload,
string $type,
int $offset = 0,
int &$total = 0,
?string &$lastRecordId = null
): \Generator {
$state = new PaginationState(offset: $offset);
$endpoint = Client::BASE_URL . "/crm/v3/objects/{$type}/s......
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
7886
|
2026-05-08T07:14:15.899282+00:00
|
03da4156-9bc1-4c59-86f8-3b937ccacca2
|
2909937
|
app_switch
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStorm
|
8
|
PhpStorm
|
27749
|
NULL
|
NULL
|
AXTextArea
|
Editor for HubspotPaginationService.php
|
<?php
declare(strict_types=1);
namespace Jimi <?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot\Pagination;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Services\Crm\Hubspot\Client;
use Jiminny\Services\Crm\Hubspot\PayloadBuilder;
use Psr\Log\LoggerInterface;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
class HubspotPaginationService
{
public function __construct(
private LoggerInterface $logger
) {
}
/**
* @throws HubspotException
* @throws SocialAccountTokenInvalidException
* @throws BadRequest
*/
public function getPaginatedDataGenerator(
Client $client,
array $payload,
string $type,
int $offset = 0,
int &$total = 0,
?string &$lastRecordId = null
): \Generator {
$state = new PaginationState(offset: $offset);
$endpoint = Client::BASE_URL . "/crm/v3/objects/{$type}/s......
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
6454
|
2026-05-07T14:36:47.360017+00:00
|
fdb3b7a3-88d3-4983-9faf-3a493cf2f0d9
|
28283719
|
app_switch
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStorm
|
8
|
PhpStorm
|
27749
|
NULL
|
NULL
|
AXTextArea
|
Editor for HubspotPaginationService.php
|
<?php
declare(strict_types=1);
namespace Jimi <?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot\Pagination;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Services\Crm\Hubspot\Client;
use Jiminny\Services\Crm\Hubspot\PayloadBuilder;
use Psr\Log\LoggerInterface;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
class HubspotPaginationService
{
public function __construct(
private LoggerInterface $logger
) {
}
/**
* @throws HubspotException
* @throws SocialAccountTokenInvalidException
* @throws BadRequest
*/
public function getPaginatedDataGenerator(
Client $client,
array $payload,
string $type,
int $offset = 0,
int &$total = 0,
?string &$lastRecordId = null
): \Generator {
$state = new PaginationState(offset: $offset);
$endpoint = Client::BASE_URL . "/crm/v3/objects/{$type}/s......
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
47371
|
2026-05-14T13:17:20.528383+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
24740791
|
click
|
599
|
319
|
NULL
|
NULL
|
0
|
0
|
NULL
|
0
|
NULL
|
NULL
|
PhpStorm
|
NULL
|
faVsco.js – console_7 [QAI PROD]
|
NULL
|
AXTextArea
|
Editor for HubspotPaginationService.php
|
<?php
declare(strict_types=1);
namespace Jimi <?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot\Pagination;
use Jiminny\Services\Crm\Hubspot\Client;
use Jiminny\Services\Crm\Hubspot\PayloadBuilder;
use Psr\Log\LoggerInterface;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
class HubspotPaginationService
{
public function __construct(
private LoggerInterface $logger
) {
}
/**
......
|
Editor for HubspotPaginationService.php
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
47379
|
2026-05-14T13:17:35.182427+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
24755444
|
click
|
605
|
400
|
NULL
|
NULL
|
0
|
0
|
NULL
|
0
|
NULL
|
NULL
|
PhpStorm
|
NULL
|
faVsco.js – HubspotPaginationService.php
|
NULL
|
AXTextArea
|
Editor for HubspotPaginationService.php
|
<?php
declare(strict_types=1);
namespace Jimi <?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot\Pagination;
use Jiminny\Services\Crm\Hubspot\Client;
use Jiminny\Services\Crm\Hubspot\PayloadBuilder;
use Psr\Log\LoggerInterface;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
class HubspotPaginationService
{
public function __construct(
private LoggerInterface $logger
) {
}
/**
......
|
Editor for HubspotPaginationService.php
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
45475
|
2026-05-14T11:48:18.576480+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
19399074
|
app_switch
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStorm
|
8
|
PhpStorm
|
22412
|
NULL
|
NULL
|
AXTextArea
|
Editor for ImportActivityTypes.php
|
<?php
namespace Jiminny\Listeners\Crm;
use Il <?php
namespace Jiminny\Listeners\Crm;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Support\Str;
use Jiminny\Events\Playbooks\PlaybookCreated;
use Jiminny\Models\Crm\Field;
use Jiminny\Models\Crm\FieldValue;
use Jiminny\Models\PlaybookCategory;
use Jiminny\Repositories\Crm\FieldRepository;
use Jiminny\Repositories\PlaybookCategoryRepository;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Support\Facades\Log;
use Jiminny\Services\ResolveTeamCrmConnection;
use stdClass;
use Throwable;
class ImportActivityTypes implements ShouldQueue
{
/**
* Create the event listener.
*/
public function __construct(
private readonly ResolveTeamCrmConnection $crmResolver,
private readonly FieldRepository $fieldRepository,
private readonly PlaybookCategoryRepository $repository,
) {
// nothing
}
/**
* Import the standard Event/Task Type picklist options from the CRM.
*/
public function handle(Playbo......
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
45485
|
2026-05-14T11:48:35.005347+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
19415502
|
app_switch
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStorm
|
8
|
PhpStorm
|
22412
|
NULL
|
NULL
|
AXTextArea
|
Editor for ImportActivityTypes.php
|
<?php
namespace Jiminny\Listeners\Crm;
use Il <?php
namespace Jiminny\Listeners\Crm;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Support\Str;
use Jiminny\Events\Playbooks\PlaybookCreated;
use Jiminny\Models\Crm\Field;
use Jiminny\Models\Crm\FieldValue;
use Jiminny\Models\PlaybookCategory;
use Jiminny\Repositories\Crm\FieldRepository;
use Jiminny\Repositories\PlaybookCategoryRepository;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Support\Facades\Log;
use Jiminny\Services\ResolveTeamCrmConnection;
use stdClass;
use Throwable;
class ImportActivityTypes implements ShouldQueue
{
/**
* Create the event listener.
*/
public function __construct(
private readonly ResolveTeamCrmConnection $crmResolver,
private readonly FieldRepository $fieldRepository,
private readonly PlaybookCategoryRepository $repository,
) {
// nothing
}
/**
* Import the standard Event/Task Type picklist options from the CRM.
*/
public function handle(Playbo......
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
45490
|
2026-05-14T11:48:39.478430+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
19419975
|
app_switch
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStorm
|
8
|
PhpStorm
|
22412
|
NULL
|
NULL
|
AXTextArea
|
Editor for ImportActivityTypes.php
|
<?php
namespace Jiminny\Listeners\Crm;
use Il <?php
namespace Jiminny\Listeners\Crm;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Support\Str;
use Jiminny\Events\Playbooks\PlaybookCreated;
use Jiminny\Models\Crm\Field;
use Jiminny\Models\Crm\FieldValue;
use Jiminny\Models\PlaybookCategory;
use Jiminny\Repositories\Crm\FieldRepository;
use Jiminny\Repositories\PlaybookCategoryRepository;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Support\Facades\Log;
use Jiminny\Services\ResolveTeamCrmConnection;
use stdClass;
use Throwable;
class ImportActivityTypes implements ShouldQueue
{
/**
* Create the event listener.
*/
public function __construct(
private readonly ResolveTeamCrmConnection $crmResolver,
private readonly FieldRepository $fieldRepository,
private readonly PlaybookCategoryRepository $repository,
) {
// nothing
}
/**
* Import the standard Event/Task Type picklist options from the CRM.
*/
public function handle(Playbo......
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
45501
|
2026-05-14T11:49:08.518964+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
19449015
|
app_switch
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStorm
|
8
|
PhpStorm
|
22412
|
NULL
|
NULL
|
AXTextArea
|
Editor for ImportActivityTypes.php
|
<?php
namespace Jiminny\Listeners\Crm;
use Il <?php
namespace Jiminny\Listeners\Crm;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Support\Str;
use Jiminny\Events\Playbooks\PlaybookCreated;
use Jiminny\Models\Crm\Field;
use Jiminny\Models\Crm\FieldValue;
use Jiminny\Models\PlaybookCategory;
use Jiminny\Repositories\Crm\FieldRepository;
use Jiminny\Repositories\PlaybookCategoryRepository;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Support\Facades\Log;
use Jiminny\Services\ResolveTeamCrmConnection;
use stdClass;
use Throwable;
class ImportActivityTypes implements ShouldQueue
{
/**
* Create the event listener.
*/
public function __construct(
private readonly ResolveTeamCrmConnection $crmResolver,
private readonly FieldRepository $fieldRepository,
private readonly PlaybookCategoryRepository $repository,
) {
// nothing
}
/**
* Import the standard Event/Task Type picklist options from the CRM.
*/
public function handle(Playbo......
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
45512
|
2026-05-14T11:49:33.070883+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
19473566
|
app_switch
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStorm
|
8
|
PhpStorm
|
22412
|
NULL
|
NULL
|
AXTextArea
|
Editor for ImportActivityTypes.php
|
<?php
namespace Jiminny\Listeners\Crm;
use Il <?php
namespace Jiminny\Listeners\Crm;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Support\Str;
use Jiminny\Events\Playbooks\PlaybookCreated;
use Jiminny\Models\Crm\Field;
use Jiminny\Models\Crm\FieldValue;
use Jiminny\Models\PlaybookCategory;
use Jiminny\Repositories\Crm\FieldRepository;
use Jiminny\Repositories\PlaybookCategoryRepository;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Support\Facades\Log;
use Jiminny\Services\ResolveTeamCrmConnection;
use stdClass;
use Throwable;
class ImportActivityTypes implements ShouldQueue
{
/**
* Create the event listener.
*/
public function __construct(
private readonly ResolveTeamCrmConnection $crmResolver,
private readonly FieldRepository $fieldRepository,
private readonly PlaybookCategoryRepository $repository,
) {
// nothing
}
/**
* Import the standard Event/Task Type picklist options from the CRM.
*/
public function handle(Playbo......
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
48883
|
2026-05-14T14:19:58.302981+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
28498341
|
click
|
766
|
601
|
NULL
|
NULL
|
0
|
0
|
NULL
|
0
|
NULL
|
NULL
|
PhpStorm
|
NULL
|
faVsco.js – ImportActivityTypes.php
|
NULL
|
AXTextArea
|
Editor for ImportActivityTypes.php
|
<?php
namespace Jiminny\Listeners\Crm;
use Il <?php
namespace Jiminny\Listeners\Crm;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Support\Str;
use Jiminny\Events\Playbooks\PlaybookCreated;
use Jiminny\Models\Crm\Field;
use Jiminny\Models\Crm\FieldValue;
use Jiminny\Models\PlaybookCategory;
use Jiminny\Repositories\Crm\FieldRepository;
use Jiminny\Repositories\PlaybookCategoryRepository;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Support\Facades\Log;
use Jiminny\Services\ResolveTeamCrmConnection;
use stdCl......
|
Editor for ImportActivityTypes.php
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
48885
|
2026-05-14T14:19:59.362953+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
28499401
|
click
|
594
|
619
|
NULL
|
NULL
|
0
|
0
|
NULL
|
0
|
NULL
|
NULL
|
PhpStorm
|
NULL
|
faVsco.js – ImportActivityTypes.php
|
NULL
|
AXTextArea
|
Editor for ImportActivityTypes.php
|
<?php
namespace Jiminny\Listeners\Crm;
use Il <?php
namespace Jiminny\Listeners\Crm;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Support\Str;
use Jiminny\Events\Playbooks\PlaybookCreated;
use Jiminny\Models\Crm\Field;
use Jiminny\Models\Crm\FieldValue;
use Jiminny\Models\PlaybookCategory;
use Jiminny\Repositories\Crm\FieldRepository;
use Jiminny\Repositories\PlaybookCategoryRepository;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Support\Facades\Log;
use Jiminny\Services\ResolveTeamCrmConnection;
use stdCl......
|
Editor for ImportActivityTypes.php
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
48887
|
2026-05-14T14:20:02.871429+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
28502909
|
click
|
725
|
652
|
NULL
|
NULL
|
0
|
0
|
NULL
|
0
|
NULL
|
NULL
|
PhpStorm
|
NULL
|
faVsco.js – ImportActivityTypes.php
|
NULL
|
AXTextArea
|
Editor for ImportActivityTypes.php
|
<?php
namespace Jiminny\Listeners\Crm;
use Il <?php
namespace Jiminny\Listeners\Crm;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Support\Str;
use Jiminny\Events\Playbooks\PlaybookCreated;
use Jiminny\Models\Crm\Field;
use Jiminny\Models\Crm\FieldValue;
use Jiminny\Models\PlaybookCategory;
use Jiminny\Repositories\Crm\FieldRepository;
use Jiminny\Repositories\PlaybookCategoryRepository;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Support\Facades\Log;
use Jiminny\Services\ResolveTeamCrmConnection;
use stdCl......
|
Editor for ImportActivityTypes.php
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
48890
|
2026-05-14T14:20:17.134578+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
28517172
|
click
|
655
|
520
|
NULL
|
NULL
|
0
|
0
|
NULL
|
0
|
NULL
|
NULL
|
PhpStorm
|
NULL
|
faVsco.js – ImportActivityTypes.php
|
NULL
|
AXTextArea
|
Editor for ImportActivityTypes.php
|
<?php
namespace Jiminny\Listeners\Crm;
use Il <?php
namespace Jiminny\Listeners\Crm;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Support\Str;
use Jiminny\Events\Playbooks\PlaybookCreated;
use Jiminny\Models\Crm\Field;
use Jiminny\Models\Crm\FieldValue;
use Jiminny\Models\PlaybookCategory;
use Jiminny\Repositories\Crm\FieldRepository;
use Jiminny\Repositories\PlaybookCategoryRepository;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Support\Facades\Log;
use Jiminny\Services\ResolveTeamCrmConnection;
use stdCl......
|
Editor for ImportActivityTypes.php
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
48891
|
2026-05-14T14:20:17.210953+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
28517249
|
click
|
707
|
646
|
NULL
|
NULL
|
0
|
0
|
NULL
|
0
|
NULL
|
NULL
|
PhpStorm
|
NULL
|
faVsco.js – ImportActivityTypes.php
|
NULL
|
AXTextArea
|
Editor for ImportActivityTypes.php
|
<?php
namespace Jiminny\Listeners\Crm;
use Il <?php
namespace Jiminny\Listeners\Crm;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Support\Str;
use Jiminny\Events\Playbooks\PlaybookCreated;
use Jiminny\Models\Crm\Field;
use Jiminny\Models\Crm\FieldValue;
use Jiminny\Models\PlaybookCategory;
use Jiminny\Repositories\Crm\FieldRepository;
use Jiminny\Repositories\PlaybookCategoryRepository;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Support\Facades\Log;
use Jiminny\Services\ResolveTeamCrmConnection;
use stdCl......
|
Editor for ImportActivityTypes.php
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
48909
|
2026-05-14T14:22:45.619215+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
28665652
|
app_switch
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStorm
|
8
|
PhpStorm
|
22412
|
NULL
|
NULL
|
AXTextArea
|
Editor for ImportActivityTypes.php
|
<?php
namespace Jiminny\Listeners\Crm;
use Il <?php
namespace Jiminny\Listeners\Crm;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Support\Str;
use Jiminny\Events\Playbooks\PlaybookCreated;
use Jiminny\Models\Crm\Field;
use Jiminny\Models\Crm\FieldValue;
use Jiminny\Models\PlaybookCategory;
use Jiminny\Repositories\Crm\FieldRepository;
use Jiminny\Repositories\PlaybookCategoryRepository;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Support\Facades\Log;
use Jiminny\Services\ResolveTeamCrmConnection;
use stdClass;
use Throwable;
class ImportActivityTypes implements ShouldQueue
{
/**
* Create the event listener.
*/
public function __construct(
private readonly ResolveTeamCrmConnection $crmResolver,
private readonly FieldRepository $fieldRepository,
private readonly PlaybookCategoryRepository $repository,
) {
// nothing
}
/**
* Import the standard Event/Task Type picklist options from the CRM.
*/
public function handle(Playbo......
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
|
48911
|
2026-05-14T14:22:46.890392+00:00
|
25f92ee5-c210-4bb0-aa44-4054d2351b03
|
28666923
|
click
|
735
|
538
|
NULL
|
NULL
|
0
|
0
|
NULL
|
0
|
NULL
|
NULL
|
PhpStorm
|
NULL
|
faVsco.js – ImportActivityTypes.php
|
NULL
|
AXTextArea
|
Editor for ImportActivityTypes.php
|
<?php
namespace Jiminny\Listeners\Crm;
use Il <?php
namespace Jiminny\Listeners\Crm;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Support\Str;
use Jiminny\Events\Playbooks\PlaybookCreated;
use Jiminny\Models\Crm\Field;
use Jiminny\Models\Crm\FieldValue;
use Jiminny\Models\PlaybookCategory;
use Jiminny\Repositories\Crm\FieldRepository;
use Jiminny\Repositories\PlaybookCategoryRepository;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Support\Facades\Log;
use Jiminny\Services\ResolveTeamCrmConnection;
use stdCl......
|
Editor for ImportActivityTypes.php
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|