|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
APP_ENV=production
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.jiminny.eu
AWS_DEFAULT_REGION=eu-west-1
APP_REGION=eu-west-1
APP_DEPLOY_REGION=eu
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
DB_HOST_REPLICA=db-read
DB_CONNECTION_OHIO=ohio
DB_HOST_OHIO=db
DB_PORT_OHIO=3306
DB_DATABASE_OHIO=jiminny
DB_USERNAME_OHIO=root
[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-eu
LOGROCKET_APP_ID=ponxaf/platform-eu
MAIL_MAILER=ses
MAIL_HOST=email-smtp.eu-west-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=jiminny.eu
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
SECURITY_HEADER_HSTS_ENABLE=true
SECURITY_HEADER_CUSTOM_CSP=
OUTLOOK_URL=https://outlook.jiminny.eu
VIDEO_CONSTANT_RATE_FACTOR=18
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=eu
INTERCOM_APP_ID=nwqo8iaz
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
PLANHAT_ENABLED=true
PLANHAT_TENANT_UUID=9d4dd6a4-7544-4663-873b-5a120f3990e2
PLANHAT_JIMINNY_JWT=[JWT_TOKEN]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.jiminny.eu
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.jiminny.eu/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38484
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.jiminny.eu/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.jiminny.eu/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.jiminny.eu/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.jiminny.eu/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.jiminny.eu/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.jiminny.eu/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.jiminny.eu/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.jiminny.eu/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
SLACK_APP_ID=A1GQA48F9
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.qa.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.jiminny.eu/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
BULLHORN_CLIENT_ID=29deb258-d44b-426e-a3d1-5ccfb846b07a
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.jiminny.eu/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=0
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS=0
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS=0
[ENV_SECRET]
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=
[ENV_SECRET]
ZOOM_BOT_REDIRECT_URI=https://app.jiminny.eu/auth/callback/zoom-bot-recall
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=
ZOOM_BOT_SECRET_TOKEN=
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
CHROME_WEB_STORE_EXT_ID=dccmccckblpfjiljnpephmlfhpmiamkd
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='app.jiminny.eu'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=eu-west-1
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.jiminny.eu/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.jiminny.eu/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.eu.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-prod-eu.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=prod-eu-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=eu-west-1
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=6432630
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::765720199711:role/medialive-role-jiminny-app-eu-prod-eu-prod
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=eu-west-1
MEDIA_LIVE_S3_BUCKET=jiminny-eu-medialive
MEDIA_STREAMING_AWS_IVS_REGION=eu-west-1
[ENV_SECRET]
UPLOADER_S3_REGION=eu-west-1
UPLOADER_S3_BUCKET=jiminny-eu-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=eu-west-1
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=eu-west-1
S3_FIVE9_BUCKET=jiminny-eu-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://eu-central-1.recall.ai/api/
[ENV_SECRET]
RECALL_AI_ZOOM_BOT_APP_ID=
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# should be same accross instances
[ENV_SECRET]
## EU is just a reciever, no forward
HUBSPOT_WEBHOOK_FORWARD_URLS=
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder
Uploader, folder
UrlGenerator, folder
Utility, folder
Uuid, folder
Waveform, folder
Webhooks, folder
Workflow, folder
Configuration, folder
Console, folder
Commands, folder
Activities, folder
Analytics, folder
Calendars, folder
Crm, folder
Hubspot, folder
IntegrationApp, folder
Traits, folder
AddLayoutEntities.php, class
AutologDelayedCommand.php, class
BullhornCommandAbstract.php, abstract class
BullhornPingCommand.php, class
BullhornSearchCommand.php, class
BullhornSessionCommand.php, class
CheckActivityLoggableCommand.php, final class
CleanDuplicateFieldDataCommand.php, class
FullSyncOpportunityCommand.php, class
LogActivitiesCommand.php, final class
ManageSyncStrategyCommand.php, class
MatchCrmObjectsCommand.php, class
MatchOpportunityActivitiesCommand.php, class
MigrateProvider.php, class
ProcessHubspotObjectsSyncBatches.php, class
PurgeDeletedOpportunitiesCommand.php, class
ResetGovernorLimits.php, class...
|
PhpStorm
|
faVsco.js – .env.production-eu
|
NULL
|
77105
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
APP_ENV=production
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.jiminny.eu
AWS_DEFAULT_REGION=eu-west-1
APP_REGION=eu-west-1
APP_DEPLOY_REGION=eu
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
DB_HOST_REPLICA=db-read
DB_CONNECTION_OHIO=ohio
DB_HOST_OHIO=db
DB_PORT_OHIO=3306
DB_DATABASE_OHIO=jiminny
DB_USERNAME_OHIO=root
[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-eu
LOGROCKET_APP_ID=ponxaf/platform-eu
MAIL_MAILER=ses
MAIL_HOST=email-smtp.eu-west-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=jiminny.eu
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
SECURITY_HEADER_HSTS_ENABLE=true
SECURITY_HEADER_CUSTOM_CSP=
OUTLOOK_URL=https://outlook.jiminny.eu
VIDEO_CONSTANT_RATE_FACTOR=18
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=eu
INTERCOM_APP_ID=nwqo8iaz
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
PLANHAT_ENABLED=true
PLANHAT_TENANT_UUID=9d4dd6a4-7544-4663-873b-5a120f3990e2
PLANHAT_JIMINNY_JWT=[JWT_TOKEN]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.jiminny.eu
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.jiminny.eu/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38484
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.jiminny.eu/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.jiminny.eu/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.jiminny.eu/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.jiminny.eu/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.jiminny.eu/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.jiminny.eu/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.jiminny.eu/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.jiminny.eu/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
SLACK_APP_ID=A1GQA48F9
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.qa.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.jiminny.eu/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
BULLHORN_CLIENT_ID=29deb258-d44b-426e-a3d1-5ccfb846b07a
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.jiminny.eu/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=0
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS=0
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS=0
[ENV_SECRET]
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=
[ENV_SECRET]
ZOOM_BOT_REDIRECT_URI=https://app.jiminny.eu/auth/callback/zoom-bot-recall
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=
ZOOM_BOT_SECRET_TOKEN=
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
CHROME_WEB_STORE_EXT_ID=dccmccckblpfjiljnpephmlfhpmiamkd
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='app.jiminny.eu'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=eu-west-1
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.jiminny.eu/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.jiminny.eu/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.eu.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-prod-eu.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=prod-eu-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=eu-west-1
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=6432630
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::765720199711:role/medialive-role-jiminny-app-eu-prod-eu-prod
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=eu-west-1
MEDIA_LIVE_S3_BUCKET=jiminny-eu-medialive
MEDIA_STREAMING_AWS_IVS_REGION=eu-west-1
[ENV_SECRET]
UPLOADER_S3_REGION=eu-west-1
UPLOADER_S3_BUCKET=jiminny-eu-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=eu-west-1
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=eu-west-1
S3_FIVE9_BUCKET=jiminny-eu-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://eu-central-1.recall.ai/api/
[ENV_SECRET]
RECALL_AI_ZOOM_BOT_APP_ID=
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# should be same accross instances
[ENV_SECRET]
## EU is just a reciever, no forward
HUBSPOT_WEBHOOK_FORWARD_URLS=
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder...
|
PhpStorm
|
faVsco.js – .env.production-eu
|
NULL
|
77106
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=staging
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.staging.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
SECURITY_HEADER_HSTS_ENABLE=true
CONTENT_SECURITY_POLICY_REPORT_URI=https://jmny.report-uri.com/r/d/csp/reportOnly
SECURITY_HEADER_CUSTOM_CSP=null
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-staging
LOGROCKET_APP_ID=ponxaf/platform-staging
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=staging.jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
OUTLOOK_URL=https://outlook.staging.jiminny.com
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
PLANHAT_ENABLED=
PLANHAT_TENANT_UUID=
PLANHAT_JIMINNY_JWT=
SESSION_DOMAIN=app.staging.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38483
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.staging.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
SLACK_APP_ID=A5YBAJ8TA
#SLACK_APP_ID=A1GQA48F9
[ENV_SECRET]
#[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
BULLHORN_CLIENT_ID=29deb258-d44b-426e-a3d1-5ccfb846b07a
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=0
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS=0
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS=0
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=DHU7peAKRKG9YYOzXt_GZg
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
# Talkdesk OAuth configuration
# Basic auth
TALKDESK_APP_ID=d0582f3489224089bbb31be4d54cf49e
[ENV_SECRET]
TALKDESK_SCOPE="openid refresh_token apps:read account:read users:read reports:read recordings:read contacts:read data-reports:read events:read webhooks-trigger:write"
TALKDESK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/talkdesk
TALKDESK_SUBDOMAIN=jiminny-dev
TALKDESK_REGION=us
CHROME_WEB_STORE_EXT_ID=dccmccckblpfjiljnpephmlfhpmiamkd
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.staging.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.staging.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.staging.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/staging-relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-stage.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=staging-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=2044916
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::438740370364:role/medialive-role-jiminny-app-stage-stage
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=stage-jiminny-medialive
MEDIA_STREAMING_AWS_REGION=us-east-2
MEDIA_STREAMING_AWS_ACCOUNT_ID=438740370364
MEDIA_STREAMING_AWS_STATE_MACHINE=msi_state_machine
MEDIA_STREAMING_AWS_API_GATEWAY_ENDPOINT=https://znq8b5kgkd.execute-api.us-east-2.amazonaws.com/staging/
[ENV_SECRET]
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-east-1.recall.ai/api/
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# System Environment Variable defined in AWS
# RECALL_AI_API_KEY=
# RECALL_AI_WEBHOOK_SECRET=
# RECALL_AI_ZOOM_BOT_APP_ID=
# ZOOM_BOT_REDIRECT_URI=
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.qa.jiminny.com,https://app.qai.jiminny.com,https://jupiter.staging.jiminny.com,https://uranus.staging.jiminny.com'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder
Uploader, folder
UrlGenerator, folder
Utility, folder
Uuid, folder
Waveform, folder
Webhooks, folder
Workflow, folder
Configuration, folder
Console, folder
Commands, folder
Activities, folder
Analytics, folder
Calendars, folder
Crm, folder
Hubspot, folder
IntegrationApp, folder...
|
PhpStorm
|
faVsco.js – .env.staging
|
NULL
|
77107
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=staging
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.staging.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
SECURITY_HEADER_HSTS_ENABLE=true
CONTENT_SECURITY_POLICY_REPORT_URI=https://jmny.report-uri.com/r/d/csp/reportOnly
SECURITY_HEADER_CUSTOM_CSP=null
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-staging
LOGROCKET_APP_ID=ponxaf/platform-staging
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=staging.jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
OUTLOOK_URL=https://outlook.staging.jiminny.com
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
PLANHAT_ENABLED=
PLANHAT_TENANT_UUID=
PLANHAT_JIMINNY_JWT=
SESSION_DOMAIN=app.staging.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38483
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.staging.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
SLACK_APP_ID=A5YBAJ8TA
#SLACK_APP_ID=A1GQA48F9
[ENV_SECRET]
#[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
BULLHORN_CLIENT_ID=29deb258-d44b-426e-a3d1-5ccfb846b07a
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=0
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS=0
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS=0
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=DHU7peAKRKG9YYOzXt_GZg
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
# Talkdesk OAuth configuration
# Basic auth
TALKDESK_APP_ID=d0582f3489224089bbb31be4d54cf49e
[ENV_SECRET]
TALKDESK_SCOPE="openid refresh_token apps:read account:read users:read reports:read recordings:read contacts:read data-reports:read events:read webhooks-trigger:write"
TALKDESK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/talkdesk
TALKDESK_SUBDOMAIN=jiminny-dev
TALKDESK_REGION=us
CHROME_WEB_STORE_EXT_ID=dccmccckblpfjiljnpephmlfhpmiamkd
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.staging.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.staging.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.staging.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/staging-relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-stage.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=staging-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=2044916
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::438740370364:role/medialive-role-jiminny-app-stage-stage
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=stage-jiminny-medialive
MEDIA_STREAMING_AWS_REGION=us-east-2
MEDIA_STREAMING_AWS_ACCOUNT_ID=438740370364
MEDIA_STREAMING_AWS_STATE_MACHINE=msi_state_machine
MEDIA_STREAMING_AWS_API_GATEWAY_ENDPOINT=https://znq8b5kgkd.execute-api.us-east-2.amazonaws.com/staging/
[ENV_SECRET]
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-east-1.recall.ai/api/
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# System Environment Variable defined in AWS
# RECALL_AI_API_KEY=
# RECALL_AI_WEBHOOK_SECRET=
# RECALL_AI_ZOOM_BOT_APP_ID=
# ZOOM_BOT_REDIRECT_URI=
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.qa.jiminny.com,https://app.qai.jiminny.com,https://jupiter.staging.jiminny.com,https://uranus.staging.jiminny.com'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder
Uploader, folder
UrlGenerator, folder
Utility, folder
Uuid, folder
Waveform, folder
Webhooks, folder
Workflow, folder
Configuration, folder
Console, folder
Commands, folder...
|
PhpStorm
|
faVsco.js – .env.staging
|
NULL
|
77108
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
APP_ENV=production
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.jiminny.eu
AWS_DEFAULT_REGION=eu-west-1
APP_REGION=eu-west-1
APP_DEPLOY_REGION=eu
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
DB_HOST_REPLICA=db-read
DB_CONNECTION_OHIO=ohio
DB_HOST_OHIO=db
DB_PORT_OHIO=3306
DB_DATABASE_OHIO=jiminny
DB_USERNAME_OHIO=root
[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-eu
LOGROCKET_APP_ID=ponxaf/platform-eu
MAIL_MAILER=ses
MAIL_HOST=email-smtp.eu-west-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=jiminny.eu
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
SECURITY_HEADER_HSTS_ENABLE=true
SECURITY_HEADER_CUSTOM_CSP=
OUTLOOK_URL=https://outlook.jiminny.eu
VIDEO_CONSTANT_RATE_FACTOR=18
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=eu
INTERCOM_APP_ID=nwqo8iaz
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
PLANHAT_ENABLED=true
PLANHAT_TENANT_UUID=9d4dd6a4-7544-4663-873b-5a120f3990e2
PLANHAT_JIMINNY_JWT=[JWT_TOKEN]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.jiminny.eu
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.jiminny.eu/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38484
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.jiminny.eu/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.jiminny.eu/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.jiminny.eu/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.jiminny.eu/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.jiminny.eu/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.jiminny.eu/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.jiminny.eu/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.jiminny.eu/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
SLACK_APP_ID=A1GQA48F9
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.qa.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.jiminny.eu/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
BULLHORN_CLIENT_ID=29deb258-d44b-426e-a3d1-5ccfb846b07a
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.jiminny.eu/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=0
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS=0
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS=0
[ENV_SECRET]
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=
[ENV_SECRET]
ZOOM_BOT_REDIRECT_URI=https://app.jiminny.eu/auth/callback/zoom-bot-recall
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=
ZOOM_BOT_SECRET_TOKEN=
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
CHROME_WEB_STORE_EXT_ID=dccmccckblpfjiljnpephmlfhpmiamkd
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='app.jiminny.eu'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=eu-west-1
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.jiminny.eu/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.jiminny.eu/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.eu.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-prod-eu.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=prod-eu-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=eu-west-1
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=6432630
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::765720199711:role/medialive-role-jiminny-app-eu-prod-eu-prod
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=eu-west-1
MEDIA_LIVE_S3_BUCKET=jiminny-eu-medialive
MEDIA_STREAMING_AWS_IVS_REGION=eu-west-1
[ENV_SECRET]
UPLOADER_S3_REGION=eu-west-1
UPLOADER_S3_BUCKET=jiminny-eu-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=eu-west-1
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=eu-west-1
S3_FIVE9_BUCKET=jiminny-eu-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://eu-central-1.recall.ai/api/
[ENV_SECRET]
RECALL_AI_ZOOM_BOT_APP_ID=
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# should be same accross instances
[ENV_SECRET]
## EU is just a reciever, no forward
HUBSPOT_WEBHOOK_FORWARD_URLS=
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder...
|
PhpStorm
|
faVsco.js – .env.production-eu
|
NULL
|
77109
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
APP_ENV=production
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.jiminny.eu
AWS_DEFAULT_REGION=eu-west-1
APP_REGION=eu-west-1
APP_DEPLOY_REGION=eu
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
DB_HOST_REPLICA=db-read
DB_CONNECTION_OHIO=ohio
DB_HOST_OHIO=db
DB_PORT_OHIO=3306
DB_DATABASE_OHIO=jiminny
DB_USERNAME_OHIO=root
[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-eu
LOGROCKET_APP_ID=ponxaf/platform-eu
MAIL_MAILER=ses
MAIL_HOST=email-smtp.eu-west-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=jiminny.eu
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
SECURITY_HEADER_HSTS_ENABLE=true
SECURITY_HEADER_CUSTOM_CSP=
OUTLOOK_URL=https://outlook.jiminny.eu
VIDEO_CONSTANT_RATE_FACTOR=18
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=eu
INTERCOM_APP_ID=nwqo8iaz
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
PLANHAT_ENABLED=true
PLANHAT_TENANT_UUID=9d4dd6a4-7544-4663-873b-5a120f3990e2
PLANHAT_JIMINNY_JWT=[JWT_TOKEN]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.jiminny.eu
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.jiminny.eu/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38484
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.jiminny.eu/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.jiminny.eu/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.jiminny.eu/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.jiminny.eu/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.jiminny.eu/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.jiminny.eu/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.jiminny.eu/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.jiminny.eu/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
SLACK_APP_ID=A1GQA48F9
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.qa.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.jiminny.eu/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
BULLHORN_CLIENT_ID=29deb258-d44b-426e-a3d1-5ccfb846b07a
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.jiminny.eu/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=0
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS=0
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS=0
[ENV_SECRET]
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=
[ENV_SECRET]
ZOOM_BOT_REDIRECT_URI=https://app.jiminny.eu/auth/callback/zoom-bot-recall
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=
ZOOM_BOT_SECRET_TOKEN=
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
CHROME_WEB_STORE_EXT_ID=dccmccckblpfjiljnpephmlfhpmiamkd
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='app.jiminny.eu'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=eu-west-1
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.jiminny.eu/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.jiminny.eu/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.eu.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-prod-eu.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=prod-eu-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=eu-west-1
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=6432630
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::765720199711:role/medialive-role-jiminny-app-eu-prod-eu-prod
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=eu-west-1
MEDIA_LIVE_S3_BUCKET=jiminny-eu-medialive
MEDIA_STREAMING_AWS_IVS_REGION=eu-west-1
[ENV_SECRET]
UPLOADER_S3_REGION=eu-west-1
UPLOADER_S3_BUCKET=jiminny-eu-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=eu-west-1
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=eu-west-1
S3_FIVE9_BUCKET=jiminny-eu-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://eu-central-1.recall.ai/api/
[ENV_SECRET]
RECALL_AI_ZOOM_BOT_APP_ID=
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# should be same accross instances
[ENV_SECRET]
## EU is just a reciever, no forward
HUBSPOT_WEBHOOK_FORWARD_URLS=
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder...
|
PhpStorm
|
faVsco.js – .env.production-eu
|
NULL
|
77110
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=production
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
DB_HOST_REPLICA=db-read
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-production
LOGROCKET_APP_ID=ponxaf/platform-production
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
SECURITY_HEADER_HSTS_ENABLE=true
SECURITY_HEADER_CUSTOM_CSP=
OUTLOOK_URL=https://outlook.jiminny.com
VIDEO_CONSTANT_RATE_FACTOR=18
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
INTERCOM_APP_ID=nwqo8iaz
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
PLANHAT_ENABLED=true
PLANHAT_TENANT_UUID=9d4dd6a4-7544-4663-873b-5a120f3990e2
PLANHAT_JIMINNY_JWT=[JWT_TOKEN]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38484
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.jiminny.com/auth/callback/slack
[ENV_SECRET]
SLACK_APP_ID=A1GQA48F9
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.jiminny.com
[ENV_SECRET]
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
[ENV_SECRET]
BULLHORN_CLIENT_ID=
[ENV_SECRET]
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
[ENV_SECRET]
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=
[ENV_SECRET]
ZOOM_BOT_REDIRECT_URI=https://app.jiminny.com/auth/callback/zoom-bot-recall
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=
ZOOM_BOT_SECRET_TOKEN=
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
CHROME_WEB_STORE_EXT_ID=iiamdhkongjbodlgiofmclneebnocnki
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-prod-us.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=prod-us-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=7373214
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::410346195943:role/medialive-role-jiminny-app-prod-prod
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=jiminny-medialive
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-west-2.recall.ai/api/
[ENV_SECRET]
RECALL_AI_ZOOM_BOT_APP_ID=
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.jiminny.eu'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder
Uploader, folder
UrlGenerator, folder
Utility, folder
Uuid, folder
Waveform, folder
Webhooks, folder
Workflow, folder...
|
PhpStorm
|
faVsco.js – .env.production
|
NULL
|
77111
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=production
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
DB_HOST_REPLICA=db-read
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-production
LOGROCKET_APP_ID=ponxaf/platform-production
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
SECURITY_HEADER_HSTS_ENABLE=true
SECURITY_HEADER_CUSTOM_CSP=
OUTLOOK_URL=https://outlook.jiminny.com
VIDEO_CONSTANT_RATE_FACTOR=18
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
INTERCOM_APP_ID=nwqo8iaz
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
PLANHAT_ENABLED=true
PLANHAT_TENANT_UUID=9d4dd6a4-7544-4663-873b-5a120f3990e2
PLANHAT_JIMINNY_JWT=[JWT_TOKEN]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38484
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.jiminny.com/auth/callback/slack
[ENV_SECRET]
SLACK_APP_ID=A1GQA48F9
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.jiminny.com
[ENV_SECRET]
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
[ENV_SECRET]
BULLHORN_CLIENT_ID=
[ENV_SECRET]
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
[ENV_SECRET]
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=
[ENV_SECRET]
ZOOM_BOT_REDIRECT_URI=https://app.jiminny.com/auth/callback/zoom-bot-recall
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=
ZOOM_BOT_SECRET_TOKEN=
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
CHROME_WEB_STORE_EXT_ID=iiamdhkongjbodlgiofmclneebnocnki
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-prod-us.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=prod-us-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=7373214
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::410346195943:role/medialive-role-jiminny-app-prod-prod
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=jiminny-medialive
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-west-2.recall.ai/api/
[ENV_SECRET]
RECALL_AI_ZOOM_BOT_APP_ID=
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.jiminny.eu'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder...
|
PhpStorm
|
faVsco.js – .env.production
|
NULL
|
77112
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
APP_ENV=production
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.jiminny.eu
AWS_DEFAULT_REGION=eu-west-1
APP_REGION=eu-west-1
APP_DEPLOY_REGION=eu
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
DB_HOST_REPLICA=db-read
DB_CONNECTION_OHIO=ohio
DB_HOST_OHIO=db
DB_PORT_OHIO=3306
DB_DATABASE_OHIO=jiminny
DB_USERNAME_OHIO=root
[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-eu
LOGROCKET_APP_ID=ponxaf/platform-eu
MAIL_MAILER=ses
MAIL_HOST=email-smtp.eu-west-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=jiminny.eu
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
SECURITY_HEADER_HSTS_ENABLE=true
SECURITY_HEADER_CUSTOM_CSP=
OUTLOOK_URL=https://outlook.jiminny.eu
VIDEO_CONSTANT_RATE_FACTOR=18
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=eu
INTERCOM_APP_ID=nwqo8iaz
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
PLANHAT_ENABLED=true
PLANHAT_TENANT_UUID=9d4dd6a4-7544-4663-873b-5a120f3990e2
PLANHAT_JIMINNY_JWT=[JWT_TOKEN]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.jiminny.eu
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.jiminny.eu/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38484
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.jiminny.eu/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.jiminny.eu/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.jiminny.eu/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.jiminny.eu/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.jiminny.eu/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.jiminny.eu/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.jiminny.eu/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.jiminny.eu/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
SLACK_APP_ID=A1GQA48F9
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.qa.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.jiminny.eu/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
BULLHORN_CLIENT_ID=29deb258-d44b-426e-a3d1-5ccfb846b07a
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.jiminny.eu/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=0
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS=0
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS=0
[ENV_SECRET]
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=
[ENV_SECRET]
ZOOM_BOT_REDIRECT_URI=https://app.jiminny.eu/auth/callback/zoom-bot-recall
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=
ZOOM_BOT_SECRET_TOKEN=
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
CHROME_WEB_STORE_EXT_ID=dccmccckblpfjiljnpephmlfhpmiamkd
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='app.jiminny.eu'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=eu-west-1
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.jiminny.eu/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.jiminny.eu/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.eu.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-prod-eu.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=prod-eu-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=eu-west-1
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=6432630
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::765720199711:role/medialive-role-jiminny-app-eu-prod-eu-prod
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=eu-west-1
MEDIA_LIVE_S3_BUCKET=jiminny-eu-medialive
MEDIA_STREAMING_AWS_IVS_REGION=eu-west-1
[ENV_SECRET]
UPLOADER_S3_REGION=eu-west-1
UPLOADER_S3_BUCKET=jiminny-eu-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=eu-west-1
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=eu-west-1
S3_FIVE9_BUCKET=jiminny-eu-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://eu-central-1.recall.ai/api/
[ENV_SECRET]
RECALL_AI_ZOOM_BOT_APP_ID=
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# should be same accross instances
[ENV_SECRET]
## EU is just a reciever, no forward
HUBSPOT_WEBHOOK_FORWARD_URLS=
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder...
|
PhpStorm
|
faVsco.js – .env.production
|
NULL
|
77113
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
APP_ENV=production
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.jiminny.eu
AWS_DEFAULT_REGION=eu-west-1
APP_REGION=eu-west-1
APP_DEPLOY_REGION=eu
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
DB_HOST_REPLICA=db-read
DB_CONNECTION_OHIO=ohio
DB_HOST_OHIO=db
DB_PORT_OHIO=3306
DB_DATABASE_OHIO=jiminny
DB_USERNAME_OHIO=root
[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-eu
LOGROCKET_APP_ID=ponxaf/platform-eu
MAIL_MAILER=ses
MAIL_HOST=email-smtp.eu-west-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=jiminny.eu
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
SECURITY_HEADER_HSTS_ENABLE=true
SECURITY_HEADER_CUSTOM_CSP=
OUTLOOK_URL=https://outlook.jiminny.eu
VIDEO_CONSTANT_RATE_FACTOR=18
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=eu
INTERCOM_APP_ID=nwqo8iaz
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
PLANHAT_ENABLED=true
PLANHAT_TENANT_UUID=9d4dd6a4-7544-4663-873b-5a120f3990e2
PLANHAT_JIMINNY_JWT=[JWT_TOKEN]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.jiminny.eu
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.jiminny.eu/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38484
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.jiminny.eu/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.jiminny.eu/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.jiminny.eu/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.jiminny.eu/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.jiminny.eu/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.jiminny.eu/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.jiminny.eu/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.jiminny.eu/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
SLACK_APP_ID=A1GQA48F9
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.qa.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.jiminny.eu/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
BULLHORN_CLIENT_ID=29deb258-d44b-426e-a3d1-5ccfb846b07a
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.jiminny.eu/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=0
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS=0
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS=0
[ENV_SECRET]
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=
[ENV_SECRET]
ZOOM_BOT_REDIRECT_URI=https://app.jiminny.eu/auth/callback/zoom-bot-recall
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=
ZOOM_BOT_SECRET_TOKEN=
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
CHROME_WEB_STORE_EXT_ID=dccmccckblpfjiljnpephmlfhpmiamkd
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='app.jiminny.eu'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=eu-west-1
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.jiminny.eu/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.jiminny.eu/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.eu.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-prod-eu.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=prod-eu-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=eu-west-1
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=6432630
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::765720199711:role/medialive-role-jiminny-app-eu-prod-eu-prod
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=eu-west-1
MEDIA_LIVE_S3_BUCKET=jiminny-eu-medialive
MEDIA_STREAMING_AWS_IVS_REGION=eu-west-1
[ENV_SECRET]
UPLOADER_S3_REGION=eu-west-1
UPLOADER_S3_BUCKET=jiminny-eu-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=eu-west-1
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=eu-west-1
S3_FIVE9_BUCKET=jiminny-eu-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://eu-central-1.recall.ai/api/
[ENV_SECRET]
RECALL_AI_ZOOM_BOT_APP_ID=
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# should be same accross instances
[ENV_SECRET]
## EU is just a reciever, no forward
HUBSPOT_WEBHOOK_FORWARD_URLS=
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder...
|
PhpStorm
|
faVsco.js – .env.production
|
NULL
|
77114
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=staging
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.staging.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
SECURITY_HEADER_HSTS_ENABLE=true
CONTENT_SECURITY_POLICY_REPORT_URI=https://jmny.report-uri.com/r/d/csp/reportOnly
SECURITY_HEADER_CUSTOM_CSP=null
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-staging
LOGROCKET_APP_ID=ponxaf/platform-staging
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=staging.jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
OUTLOOK_URL=https://outlook.staging.jiminny.com
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
PLANHAT_ENABLED=
PLANHAT_TENANT_UUID=
PLANHAT_JIMINNY_JWT=
SESSION_DOMAIN=app.staging.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38483
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.staging.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
SLACK_APP_ID=A5YBAJ8TA
#SLACK_APP_ID=A1GQA48F9
[ENV_SECRET]
#[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
BULLHORN_CLIENT_ID=29deb258-d44b-426e-a3d1-5ccfb846b07a
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=0
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS=0
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS=0
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=DHU7peAKRKG9YYOzXt_GZg
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
# Talkdesk OAuth configuration
# Basic auth
TALKDESK_APP_ID=d0582f3489224089bbb31be4d54cf49e
[ENV_SECRET]
TALKDESK_SCOPE="openid refresh_token apps:read account:read users:read reports:read recordings:read contacts:read data-reports:read events:read webhooks-trigger:write"
TALKDESK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/talkdesk
TALKDESK_SUBDOMAIN=jiminny-dev
TALKDESK_REGION=us
CHROME_WEB_STORE_EXT_ID=dccmccckblpfjiljnpephmlfhpmiamkd
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.staging.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.staging.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.staging.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/staging-relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-stage.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=staging-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=2044916
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::438740370364:role/medialive-role-jiminny-app-stage-stage
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=stage-jiminny-medialive
MEDIA_STREAMING_AWS_REGION=us-east-2
MEDIA_STREAMING_AWS_ACCOUNT_ID=438740370364
MEDIA_STREAMING_AWS_STATE_MACHINE=msi_state_machine
MEDIA_STREAMING_AWS_API_GATEWAY_ENDPOINT=https://znq8b5kgkd.execute-api.us-east-2.amazonaws.com/staging/
[ENV_SECRET]
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-east-1.recall.ai/api/
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# System Environment Variable defined in AWS
# RECALL_AI_API_KEY=
# RECALL_AI_WEBHOOK_SECRET=
# RECALL_AI_ZOOM_BOT_APP_ID=
# ZOOM_BOT_REDIRECT_URI=
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.qa.jiminny.com,https://app.qai.jiminny.com,https://jupiter.staging.jiminny.com,https://uranus.staging.jiminny.com'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root...
|
PhpStorm
|
faVsco.js – .env.production-eu
|
NULL
|
77115
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=staging
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.staging.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
SECURITY_HEADER_HSTS_ENABLE=true
CONTENT_SECURITY_POLICY_REPORT_URI=https://jmny.report-uri.com/r/d/csp/reportOnly
SECURITY_HEADER_CUSTOM_CSP=null
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-staging
LOGROCKET_APP_ID=ponxaf/platform-staging
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=staging.jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
OUTLOOK_URL=https://outlook.staging.jiminny.com
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
PLANHAT_ENABLED=
PLANHAT_TENANT_UUID=
PLANHAT_JIMINNY_JWT=
SESSION_DOMAIN=app.staging.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38483
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.staging.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
SLACK_APP_ID=A5YBAJ8TA
#SLACK_APP_ID=A1GQA48F9
[ENV_SECRET]
#[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
BULLHORN_CLIENT_ID=29deb258-d44b-426e-a3d1-5ccfb846b07a
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=0
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS=0
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS=0
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=DHU7peAKRKG9YYOzXt_GZg
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
# Talkdesk OAuth configuration
# Basic auth
TALKDESK_APP_ID=d0582f3489224089bbb31be4d54cf49e
[ENV_SECRET]
TALKDESK_SCOPE="openid refresh_token apps:read account:read users:read reports:read recordings:read contacts:read data-reports:read events:read webhooks-trigger:write"
TALKDESK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/talkdesk
TALKDESK_SUBDOMAIN=jiminny-dev
TALKDESK_REGION=us
CHROME_WEB_STORE_EXT_ID=dccmccckblpfjiljnpephmlfhpmiamkd
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.staging.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.staging.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.staging.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/staging-relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-stage.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=staging-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=2044916
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::438740370364:role/medialive-role-jiminny-app-stage-stage
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=stage-jiminny-medialive
MEDIA_STREAMING_AWS_REGION=us-east-2
MEDIA_STREAMING_AWS_ACCOUNT_ID=438740370364
MEDIA_STREAMING_AWS_STATE_MACHINE=msi_state_machine
MEDIA_STREAMING_AWS_API_GATEWAY_ENDPOINT=https://znq8b5kgkd.execute-api.us-east-2.amazonaws.com/staging/
[ENV_SECRET]
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-east-1.recall.ai/api/
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# System Environment Variable defined in AWS
# RECALL_AI_API_KEY=
# RECALL_AI_WEBHOOK_SECRET=
# RECALL_AI_ZOOM_BOT_APP_ID=
# ZOOM_BOT_REDIRECT_URI=
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.qa.jiminny.com,https://app.qai.jiminny.com,https://jupiter.staging.jiminny.com,https://uranus.staging.jiminny.com'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder...
|
PhpStorm
|
faVsco.js – .env.production-eu
|
NULL
|
77116
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=local
[ENV_SECRET]
APP_DEBUG=true
LOG_CHANNEL=single
LOG_LEVEL=info
APP_URL=https://app.dev.jiminny.com
AWS_DEFAULT_REGION=us-east-2
SECURITY_HEADER_CUSTOM_CSP=
DB_CONNECTION=mysql
DB_HOST=mariadb
#DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=jmnyadmin
[ENV_SECRET]
#DB_ADMIN_USERNAME=jmnyadmin
#[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
#CASHIER_MODEL=Jiminny\Models\Userhubs
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
GITHUB_TOKEN=null
#REDIS_CLIENT=predis
REDIS_CLIENT=phpredis
REDIS_HOST=redis
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=
SENTRY_DSN_CONFERENCE=
SENTRY_DSN_FRONT_END=
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=bafe4191da0a8e
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=dev.jiminny.com
[ENV_SECRET]
POSTMARK_RECIPIENT_OVERRIDE=[EMAIL]
#APP_LOCAL_URL=https://lukask.ngrok.io
TUNNEL_HOST=https://qatest:[EMAIL]
OUTLOOK_URL=https://outlook.dev.jiminny.com
SLUG_URL=https://app.dev.jiminny.com
PUSHER_APP_ID=274174
[ENV_SECRET]
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
PUSHER_BOT_APP_ID=1195245
[ENV_SECRET]
[ENV_SECRET]
PUSHER_BOT_APP_CLUSTER=us2
[ENV_SECRET]
[ENV_SECRET]
INTERCOM_TOKEN=qwerty
[ENV_SECRET]
[ENV_SECRET]
LOGROCKET_CONFERENCE_ID=
LOGROCKET_APP_ID=
GA_CONFERENCE_ID=
GA_APP_ID=
GA_EXPORT_ID=
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.dev.jiminny.com
SESSION_SECURE_COOKIE=true
#TWILIO_ACCOUNT_SID=AC8a9a88fe598ee6154f5ed1623dbc9071
#[ENV_SECRET]
TWILIO_ACCOUNT_SID=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_ACCOUNT_SID_JIMINNY=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_CONFERENCE_SID_JIMINNY=AP0a007686d097167aa2824a5e19796d80
TWILIO_SOFTPHONE_SID_JIMINNY=AP2fb6719cbf17337398cf48b4a0f3e17d
[ENV_SECRET]
[ENV_SECRET]
TWILIO_MESSAGING_SERVICE_ID=MG045f4e1b7ff9496254c0085d28ce965b
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://jmny-dev-ed.my.salesforce.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_REDIRECT_URI=https://lukask.ngrok.io/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read oauth"
#HUBSPOT_SCOPE="crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.objects.owners.read crm.schemas.companies.read crm.schemas.contacts.read crm.schemas.deals.read oauth"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
#[ENV_SECRET]
#[ENV_SECRET]
#HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_SCOPE="timeline"
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
#[ENV_SECRET]
#[ENV_SECRET]
#AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
#AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.dev.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,commands,dnd:read,groups:read,im:read,im:write,incoming-webhook,mpim:read,mpim:write,usergroups:read,users.profile:read,users:read,users:read.email"
[ENV_SECRET]
SLACK_APP_ID=A5YUTRUNP
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/google
GOOGLE_SCOPE="email openid profile https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/gmail.readonly"
[ENV_SECRET]
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/office
#MICROSOFT_OFFICE_SCOPE="Calendars.ReadWrite"
MICROSOFT_OFFICE_SCOPE="https://graph.microsoft.com/Calendars.ReadWrite https://graph.microsoft.com/OnlineMeetings.Read openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
[ENV_SECRET]
ZOOM_SCOPE=""
ZOOM_APP_ID=
[ENV_SECRET]
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
#
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&action=Login&username={username}&password=[PASSWORD] redirect_uri}&state={recommended state value}
#https://auth.bullhornstaffing.com/oauth/token?grant_type=authorization_code&code={auth_code}&client_id={client_id}&client_secret={client_secret}&redirect_uri={optional redirect_uri}
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&redirect_uri={optional redirect_uri}&state={recommended state value} *
#The user enters a valid Bullhorn username/password combination and clicks the Login button. A Terms of Service page is displayed. * User clicks the Agree button to accept the terms of service. *
#The page is redirected to the redirect URI with a code query parameter on the URL. The code value is the authorization code required to get an access token, which you use to get a Bullhorn session key required for REST API calls
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
# This ID is unique to the environment and need replacing after unpacking the extension
CHROME_WEB_STORE_EXT_ID=bnmndkpglijpoppflcmccddnacidanap
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=us-east-2
S3_CLIENT_DATA_BUCKET=dev.jiminny.client-data
S3_CLIENT_DATA_CLOUD_FRONT_HOST=media.app.dev.jiminny.com
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://media.app.dev.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.dev.jiminny.com'
#[ENV_SECRET]
#[ENV_SECRET]
#S3_CLIENT_DATA_REGION=eu-central-1
#S3_CLIENT_DATA_BUCKET=https://amazon-connect-b3d2d6755094
PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9080
#PROPHET_AI_WRAPPER_URL=https://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=https://prophet.staging.jiminny.com
PROPHET_AI_WRAPPER_TIMEOUT=600
FILESYSTEM_DRIVER=client-data-cloud
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
SQS_PREFIX=
SQS_QUEUE=
SQS_REGION=
KINESIS_AWS_REGION=
[ENV_SECRET]
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=
GOOGLE_TEXT_RELAY_MAILBOX=
GOOGLE_TEXT_RELAY_HOST=
GOOGLE_TEXT_RELAY_TOPIC=
GOOGLE_TEXT_RELAY_SUBSCRIPTION=
ELASTICSEARCH_HOST=elasticsearch
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://app.dev.jiminny.com/
[ENV_SECRET]
SES_REGION=
BUILD_NUMBER=_BUILD_NUMBER
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
BROWSERSTACK_USERNAME=thomaslavery1
[ENV_SECRET]
BROWSERSTACK_SERVER=hub-cloud.browserstack.com
TRANSCRIPTION_PROVIDER_REMEETING_BASEURL=https://api.remeeting.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_BASEURL=https://enterprise-api.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_AUTH_USERNAME=f414440ba1a9027b0a44dcf22b92ef91
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_BASEURL=https://brain.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_AUTH_USERNAME=[EMAIL]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_SPEECHMATICS_BASEURL=https://asr.api.speechmatics.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_IBM_BASEURL=
[ENV_SECRET]
MEDIA_LIVE_AWS_REGION=
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=
MEDIA_LIVE_ACCESS_ROLE=
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=
MEDIA_LIVE_S3_BUCKET=
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
#[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=arn:aws:iam::438740370364:policy/jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
TRANSCRIPTION_SUMMARY_PROVIDER_WORDCAB_BASEURL=https://wordcab.com/api
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# should be equal accross instances
[ENV_SECRET]
# comma-separated URLs for multiple instances to forward to
# HUBSPOT_WEBHOOK_FORWARD_URLS=nikolayn.ngrok.io
#HUBSPOT_WEBHOOK_FORWARD_URLS=https://app.qai.jiminny.com
HUBSPOT_WEBHOOK_FORWARD_URLS='https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#HUBSPOT_WEBHOOK_FORWARD_URLS='https://qatest:[EMAIL],https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#SAML_ENABLED=false
#
## SAML Contact Information
#SAML2_CONTACT_TECHNICAL_NAME="Technical Support"
#SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
#SAML2_CONTACT_SUPPORT_NAME="Support Team"
#SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
#
## SAML Organization Information
#SAML2_ORGANIZATION_NAME="Jiminny"
#SAML2_ORGANIZATION_URL="https://jiminny.com"
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder
Uploader, folder
UrlGenerator, folder
Utility, folder
Uuid, folder
Waveform, folder
Webhooks, folder
Workflow, folder
Configuration, folder
Console, folder
Commands, folder
Activities, folder
Analytics, folder
Calendars, folder...
|
PhpStorm
|
faVsco.js – .env.staging
|
NULL
|
77117
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=local
[ENV_SECRET]
APP_DEBUG=true
LOG_CHANNEL=single
LOG_LEVEL=info
APP_URL=https://app.dev.jiminny.com
AWS_DEFAULT_REGION=us-east-2
SECURITY_HEADER_CUSTOM_CSP=
DB_CONNECTION=mysql
DB_HOST=mariadb
#DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=jmnyadmin
[ENV_SECRET]
#DB_ADMIN_USERNAME=jmnyadmin
#[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
#CASHIER_MODEL=Jiminny\Models\Userhubs
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
GITHUB_TOKEN=null
#REDIS_CLIENT=predis
REDIS_CLIENT=phpredis
REDIS_HOST=redis
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=
SENTRY_DSN_CONFERENCE=
SENTRY_DSN_FRONT_END=
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=bafe4191da0a8e
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=dev.jiminny.com
[ENV_SECRET]
POSTMARK_RECIPIENT_OVERRIDE=[EMAIL]
#APP_LOCAL_URL=https://lukask.ngrok.io
TUNNEL_HOST=https://qatest:[EMAIL]
OUTLOOK_URL=https://outlook.dev.jiminny.com
SLUG_URL=https://app.dev.jiminny.com
PUSHER_APP_ID=274174
[ENV_SECRET]
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
PUSHER_BOT_APP_ID=1195245
[ENV_SECRET]
[ENV_SECRET]
PUSHER_BOT_APP_CLUSTER=us2
[ENV_SECRET]
[ENV_SECRET]
INTERCOM_TOKEN=qwerty
[ENV_SECRET]
[ENV_SECRET]
LOGROCKET_CONFERENCE_ID=
LOGROCKET_APP_ID=
GA_CONFERENCE_ID=
GA_APP_ID=
GA_EXPORT_ID=
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.dev.jiminny.com
SESSION_SECURE_COOKIE=true
#TWILIO_ACCOUNT_SID=AC8a9a88fe598ee6154f5ed1623dbc9071
#[ENV_SECRET]
TWILIO_ACCOUNT_SID=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_ACCOUNT_SID_JIMINNY=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_CONFERENCE_SID_JIMINNY=AP0a007686d097167aa2824a5e19796d80
TWILIO_SOFTPHONE_SID_JIMINNY=AP2fb6719cbf17337398cf48b4a0f3e17d
[ENV_SECRET]
[ENV_SECRET]
TWILIO_MESSAGING_SERVICE_ID=MG045f4e1b7ff9496254c0085d28ce965b
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://jmny-dev-ed.my.salesforce.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_REDIRECT_URI=https://lukask.ngrok.io/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read oauth"
#HUBSPOT_SCOPE="crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.objects.owners.read crm.schemas.companies.read crm.schemas.contacts.read crm.schemas.deals.read oauth"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
#[ENV_SECRET]
#[ENV_SECRET]
#HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_SCOPE="timeline"
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
#[ENV_SECRET]
#[ENV_SECRET]
#AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
#AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.dev.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,commands,dnd:read,groups:read,im:read,im:write,incoming-webhook,mpim:read,mpim:write,usergroups:read,users.profile:read,users:read,users:read.email"
[ENV_SECRET]
SLACK_APP_ID=A5YUTRUNP
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/google
GOOGLE_SCOPE="email openid profile https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/gmail.readonly"
[ENV_SECRET]
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/office
#MICROSOFT_OFFICE_SCOPE="Calendars.ReadWrite"
MICROSOFT_OFFICE_SCOPE="https://graph.microsoft.com/Calendars.ReadWrite https://graph.microsoft.com/OnlineMeetings.Read openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
[ENV_SECRET]
ZOOM_SCOPE=""
ZOOM_APP_ID=
[ENV_SECRET]
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
#
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&action=Login&username={username}&password=[PASSWORD] redirect_uri}&state={recommended state value}
#https://auth.bullhornstaffing.com/oauth/token?grant_type=authorization_code&code={auth_code}&client_id={client_id}&client_secret={client_secret}&redirect_uri={optional redirect_uri}
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&redirect_uri={optional redirect_uri}&state={recommended state value} *
#The user enters a valid Bullhorn username/password combination and clicks the Login button. A Terms of Service page is displayed. * User clicks the Agree button to accept the terms of service. *
#The page is redirected to the redirect URI with a code query parameter on the URL. The code value is the authorization code required to get an access token, which you use to get a Bullhorn session key required for REST API calls
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
# This ID is unique to the environment and need replacing after unpacking the extension
CHROME_WEB_STORE_EXT_ID=bnmndkpglijpoppflcmccddnacidanap
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=us-east-2
S3_CLIENT_DATA_BUCKET=dev.jiminny.client-data
S3_CLIENT_DATA_CLOUD_FRONT_HOST=media.app.dev.jiminny.com
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://media.app.dev.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.dev.jiminny.com'
#[ENV_SECRET]
#[ENV_SECRET]
#S3_CLIENT_DATA_REGION=eu-central-1
#S3_CLIENT_DATA_BUCKET=https://amazon-connect-b3d2d6755094
PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9080
#PROPHET_AI_WRAPPER_URL=https://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=https://prophet.staging.jiminny.com
PROPHET_AI_WRAPPER_TIMEOUT=600
FILESYSTEM_DRIVER=client-data-cloud
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
SQS_PREFIX=
SQS_QUEUE=
SQS_REGION=
KINESIS_AWS_REGION=
[ENV_SECRET]
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=
GOOGLE_TEXT_RELAY_MAILBOX=
GOOGLE_TEXT_RELAY_HOST=
GOOGLE_TEXT_RELAY_TOPIC=
GOOGLE_TEXT_RELAY_SUBSCRIPTION=
ELASTICSEARCH_HOST=elasticsearch
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://app.dev.jiminny.com/
[ENV_SECRET]
SES_REGION=
BUILD_NUMBER=_BUILD_NUMBER
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
BROWSERSTACK_USERNAME=thomaslavery1
[ENV_SECRET]
BROWSERSTACK_SERVER=hub-cloud.browserstack.com
TRANSCRIPTION_PROVIDER_REMEETING_BASEURL=https://api.remeeting.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_BASEURL=https://enterprise-api.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_AUTH_USERNAME=f414440ba1a9027b0a44dcf22b92ef91
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_BASEURL=https://brain.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_AUTH_USERNAME=[EMAIL]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_SPEECHMATICS_BASEURL=https://asr.api.speechmatics.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_IBM_BASEURL=
[ENV_SECRET]
MEDIA_LIVE_AWS_REGION=
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=
MEDIA_LIVE_ACCESS_ROLE=
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=
MEDIA_LIVE_S3_BUCKET=
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
#[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=arn:aws:iam::438740370364:policy/jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
TRANSCRIPTION_SUMMARY_PROVIDER_WORDCAB_BASEURL=https://wordcab.com/api
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# should be equal accross instances
[ENV_SECRET]
# comma-separated URLs for multiple instances to forward to
# HUBSPOT_WEBHOOK_FORWARD_URLS=nikolayn.ngrok.io
#HUBSPOT_WEBHOOK_FORWARD_URLS=https://app.qai.jiminny.com
HUBSPOT_WEBHOOK_FORWARD_URLS='https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#HUBSPOT_WEBHOOK_FORWARD_URLS='https://qatest:[EMAIL],https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#SAML_ENABLED=false
#
## SAML Contact Information
#SAML2_CONTACT_TECHNICAL_NAME="Technical Support"
#SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
#SAML2_CONTACT_SUPPORT_NAME="Support Team"
#SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
#
## SAML Organization Information
#SAML2_ORGANIZATION_NAME="Jiminny"
#SAML2_ORGANIZATION_URL="https://jiminny.com"
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder...
|
PhpStorm
|
faVsco.js – .env.staging
|
NULL
|
77118
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=local
[ENV_SECRET]
APP_DEBUG=true
LOG_CHANNEL=single
LOG_LEVEL=info
APP_URL=https://app.dev.jiminny.com
AWS_DEFAULT_REGION=us-east-2
SECURITY_HEADER_CUSTOM_CSP=
DB_CONNECTION=mysql
DB_HOST=mariadb
#DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=jmnyadmin
[ENV_SECRET]
#DB_ADMIN_USERNAME=jmnyadmin
#[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
#CASHIER_MODEL=Jiminny\Models\Userhubs
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
GITHUB_TOKEN=null
#REDIS_CLIENT=predis
REDIS_CLIENT=phpredis
REDIS_HOST=redis
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=
SENTRY_DSN_CONFERENCE=
SENTRY_DSN_FRONT_END=
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=bafe4191da0a8e
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=dev.jiminny.com
[ENV_SECRET]
POSTMARK_RECIPIENT_OVERRIDE=[EMAIL]
#APP_LOCAL_URL=https://lukask.ngrok.io
TUNNEL_HOST=https://qatest:[EMAIL]
OUTLOOK_URL=https://outlook.dev.jiminny.com
SLUG_URL=https://app.dev.jiminny.com
PUSHER_APP_ID=274174
[ENV_SECRET]
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
PUSHER_BOT_APP_ID=1195245
[ENV_SECRET]
[ENV_SECRET]
PUSHER_BOT_APP_CLUSTER=us2
[ENV_SECRET]
[ENV_SECRET]
INTERCOM_TOKEN=qwerty
[ENV_SECRET]
[ENV_SECRET]
LOGROCKET_CONFERENCE_ID=
LOGROCKET_APP_ID=
GA_CONFERENCE_ID=
GA_APP_ID=
GA_EXPORT_ID=
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.dev.jiminny.com
SESSION_SECURE_COOKIE=true
#TWILIO_ACCOUNT_SID=AC8a9a88fe598ee6154f5ed1623dbc9071
#[ENV_SECRET]
TWILIO_ACCOUNT_SID=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_ACCOUNT_SID_JIMINNY=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_CONFERENCE_SID_JIMINNY=AP0a007686d097167aa2824a5e19796d80
TWILIO_SOFTPHONE_SID_JIMINNY=AP2fb6719cbf17337398cf48b4a0f3e17d
[ENV_SECRET]
[ENV_SECRET]
TWILIO_MESSAGING_SERVICE_ID=MG045f4e1b7ff9496254c0085d28ce965b
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://jmny-dev-ed.my.salesforce.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_REDIRECT_URI=https://lukask.ngrok.io/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read oauth"
#HUBSPOT_SCOPE="crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.objects.owners.read crm.schemas.companies.read crm.schemas.contacts.read crm.schemas.deals.read oauth"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
#[ENV_SECRET]
#[ENV_SECRET]
#HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_SCOPE="timeline"
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
#[ENV_SECRET]
#[ENV_SECRET]
#AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
#AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.dev.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,commands,dnd:read,groups:read,im:read,im:write,incoming-webhook,mpim:read,mpim:write,usergroups:read,users.profile:read,users:read,users:read.email"
[ENV_SECRET]
SLACK_APP_ID=A5YUTRUNP
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/google
GOOGLE_SCOPE="email openid profile https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/gmail.readonly"
[ENV_SECRET]
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/office
#MICROSOFT_OFFICE_SCOPE="Calendars.ReadWrite"
MICROSOFT_OFFICE_SCOPE="https://graph.microsoft.com/Calendars.ReadWrite https://graph.microsoft.com/OnlineMeetings.Read openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
[ENV_SECRET]
ZOOM_SCOPE=""
ZOOM_APP_ID=
[ENV_SECRET]
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
#
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&action=Login&username={username}&password=[PASSWORD] redirect_uri}&state={recommended state value}
#https://auth.bullhornstaffing.com/oauth/token?grant_type=authorization_code&code={auth_code}&client_id={client_id}&client_secret={client_secret}&redirect_uri={optional redirect_uri}
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&redirect_uri={optional redirect_uri}&state={recommended state value} *
#The user enters a valid Bullhorn username/password combination and clicks the Login button. A Terms of Service page is displayed. * User clicks the Agree button to accept the terms of service. *
#The page is redirected to the redirect URI with a code query parameter on the URL. The code value is the authorization code required to get an access token, which you use to get a Bullhorn session key required for REST API calls
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
# This ID is unique to the environment and need replacing after unpacking the extension
CHROME_WEB_STORE_EXT_ID=bnmndkpglijpoppflcmccddnacidanap
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=us-east-2
S3_CLIENT_DATA_BUCKET=dev.jiminny.client-data
S3_CLIENT_DATA_CLOUD_FRONT_HOST=media.app.dev.jiminny.com
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://media.app.dev.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.dev.jiminny.com'
#[ENV_SECRET]
#[ENV_SECRET]
#S3_CLIENT_DATA_REGION=eu-central-1
#S3_CLIENT_DATA_BUCKET=https://amazon-connect-b3d2d6755094
PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9080
#PROPHET_AI_WRAPPER_URL=https://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=https://prophet.staging.jiminny.com
PROPHET_AI_WRAPPER_TIMEOUT=600
FILESYSTEM_DRIVER=client-data-cloud
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
SQS_PREFIX=
SQS_QUEUE=
SQS_REGION=
KINESIS_AWS_REGION=
[ENV_SECRET]
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=
GOOGLE_TEXT_RELAY_MAILBOX=
GOOGLE_TEXT_RELAY_HOST=
GOOGLE_TEXT_RELAY_TOPIC=
GOOGLE_TEXT_RELAY_SUBSCRIPTION=
ELASTICSEARCH_HOST=elasticsearch
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://app.dev.jiminny.com/
[ENV_SECRET]
SES_REGION=
BUILD_NUMBER=_BUILD_NUMBER
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
BROWSERSTACK_USERNAME=thomaslavery1
[ENV_SECRET]
BROWSERSTACK_SERVER=hub-cloud.browserstack.com
TRANSCRIPTION_PROVIDER_REMEETING_BASEURL=https://api.remeeting.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_BASEURL=https://enterprise-api.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_AUTH_USERNAME=f414440ba1a9027b0a44dcf22b92ef91
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_BASEURL=https://brain.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_AUTH_USERNAME=[EMAIL]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_SPEECHMATICS_BASEURL=https://asr.api.speechmatics.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_IBM_BASEURL=
[ENV_SECRET]
MEDIA_LIVE_AWS_REGION=
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=
MEDIA_LIVE_ACCESS_ROLE=
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=
MEDIA_LIVE_S3_BUCKET=
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
#[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=arn:aws:iam::438740370364:policy/jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
TRANSCRIPTION_SUMMARY_PROVIDER_WORDCAB_BASEURL=https://wordcab.com/api
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# should be equal accross instances
[ENV_SECRET]
# comma-separated URLs for multiple instances to forward to
# HUBSPOT_WEBHOOK_FORWARD_URLS=nikolayn.ngrok.io
#HUBSPOT_WEBHOOK_FORWARD_URLS=https://app.qai.jiminny.com
HUBSPOT_WEBHOOK_FORWARD_URLS='https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#HUBSPOT_WEBHOOK_FORWARD_URLS='https://qatest:[EMAIL],https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#SAML_ENABLED=false
#
## SAML Contact Information
#SAML2_CONTACT_TECHNICAL_NAME="Technical Support"
#SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
#SAML2_CONTACT_SUPPORT_NAME="Support Team"
#SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
#
## SAML Organization Information
#SAML2_ORGANIZATION_NAME="Jiminny"
#SAML2_ORGANIZATION_URL="https://jiminny.com"
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder
Uploader, folder
UrlGenerator, folder
Utility, folder
Uuid, folder
Waveform, folder
Webhooks, folder
Workflow, folder
Configuration, folder
Console, folder
Commands, folder
Activities, folder
Analytics, folder
Calendars, folder
Crm, folder
Hubspot, folder
IntegrationApp, folder
Traits, folder
AddLayoutEntities.php, class
AutologDelayedCommand.php, class
BullhornCommandAbstract.php, abstract class
BullhornPingCommand.php, class
BullhornSearchCommand.php, class
BullhornSessionCommand.php, class
CheckActivityLoggableCommand.php, final class
CleanDuplicateFieldDataCommand.php, class
FullSyncOpportunityCommand.php, class
LogActivitiesCommand.php, final class
ManageSyncStrategyCommand.php, class
MatchCrmObjectsCommand.php, class
MatchOpportunityActivitiesCommand.php, class
MigrateProvider.php, class
ProcessHubspotObjectsSyncBatches.php, class
PurgeDeletedOpportunitiesCommand.php, class
ResetGovernorLimits.php, class
SendNotLogged.php, class
SetupActivityTypeForFollowUp.php, final class
SetupCloseCrm.php, class
SetupCopperCrm.php, class
SetupCrmCommand.php, abstract class
SetupLayouts.php, class...
|
PhpStorm
|
faVsco.js – .env
|
NULL
|
77119
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=local
[ENV_SECRET]
APP_DEBUG=true
LOG_CHANNEL=single
LOG_LEVEL=info
APP_URL=https://app.dev.jiminny.com
AWS_DEFAULT_REGION=us-east-2
SECURITY_HEADER_CUSTOM_CSP=
DB_CONNECTION=mysql
DB_HOST=mariadb
#DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=jmnyadmin
[ENV_SECRET]
#DB_ADMIN_USERNAME=jmnyadmin
#[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
#CASHIER_MODEL=Jiminny\Models\Userhubs
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
GITHUB_TOKEN=null
#REDIS_CLIENT=predis
REDIS_CLIENT=phpredis
REDIS_HOST=redis
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=
SENTRY_DSN_CONFERENCE=
SENTRY_DSN_FRONT_END=
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=bafe4191da0a8e
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=dev.jiminny.com
[ENV_SECRET]
POSTMARK_RECIPIENT_OVERRIDE=[EMAIL]
#APP_LOCAL_URL=https://lukask.ngrok.io
TUNNEL_HOST=https://qatest:[EMAIL]
OUTLOOK_URL=https://outlook.dev.jiminny.com
SLUG_URL=https://app.dev.jiminny.com
PUSHER_APP_ID=274174
[ENV_SECRET]
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
PUSHER_BOT_APP_ID=1195245
[ENV_SECRET]
[ENV_SECRET]
PUSHER_BOT_APP_CLUSTER=us2
[ENV_SECRET]
[ENV_SECRET]
INTERCOM_TOKEN=qwerty
[ENV_SECRET]
[ENV_SECRET]
LOGROCKET_CONFERENCE_ID=
LOGROCKET_APP_ID=
GA_CONFERENCE_ID=
GA_APP_ID=
GA_EXPORT_ID=
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.dev.jiminny.com
SESSION_SECURE_COOKIE=true
#TWILIO_ACCOUNT_SID=AC8a9a88fe598ee6154f5ed1623dbc9071
#[ENV_SECRET]
TWILIO_ACCOUNT_SID=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_ACCOUNT_SID_JIMINNY=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_CONFERENCE_SID_JIMINNY=AP0a007686d097167aa2824a5e19796d80
TWILIO_SOFTPHONE_SID_JIMINNY=AP2fb6719cbf17337398cf48b4a0f3e17d
[ENV_SECRET]
[ENV_SECRET]
TWILIO_MESSAGING_SERVICE_ID=MG045f4e1b7ff9496254c0085d28ce965b
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://jmny-dev-ed.my.salesforce.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_REDIRECT_URI=https://lukask.ngrok.io/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read oauth"
#HUBSPOT_SCOPE="crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.objects.owners.read crm.schemas.companies.read crm.schemas.contacts.read crm.schemas.deals.read oauth"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
#[ENV_SECRET]
#[ENV_SECRET]
#HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_SCOPE="timeline"
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
#[ENV_SECRET]
#[ENV_SECRET]
#AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
#AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.dev.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,commands,dnd:read,groups:read,im:read,im:write,incoming-webhook,mpim:read,mpim:write,usergroups:read,users.profile:read,users:read,users:read.email"
[ENV_SECRET]
SLACK_APP_ID=A5YUTRUNP
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/google
GOOGLE_SCOPE="email openid profile https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/gmail.readonly"
[ENV_SECRET]
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/office
#MICROSOFT_OFFICE_SCOPE="Calendars.ReadWrite"
MICROSOFT_OFFICE_SCOPE="https://graph.microsoft.com/Calendars.ReadWrite https://graph.microsoft.com/OnlineMeetings.Read openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
[ENV_SECRET]
ZOOM_SCOPE=""
ZOOM_APP_ID=
[ENV_SECRET]
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
#
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&action=Login&username={username}&password=[PASSWORD] redirect_uri}&state={recommended state value}
#https://auth.bullhornstaffing.com/oauth/token?grant_type=authorization_code&code={auth_code}&client_id={client_id}&client_secret={client_secret}&redirect_uri={optional redirect_uri}
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&redirect_uri={optional redirect_uri}&state={recommended state value} *
#The user enters a valid Bullhorn username/password combination and clicks the Login button. A Terms of Service page is displayed. * User clicks the Agree button to accept the terms of service. *
#The page is redirected to the redirect URI with a code query parameter on the URL. The code value is the authorization code required to get an access token, which you use to get a Bullhorn session key required for REST API calls
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
# This ID is unique to the environment and need replacing after unpacking the extension
CHROME_WEB_STORE_EXT_ID=bnmndkpglijpoppflcmccddnacidanap
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=us-east-2
S3_CLIENT_DATA_BUCKET=dev.jiminny.client-data
S3_CLIENT_DATA_CLOUD_FRONT_HOST=media.app.dev.jiminny.com
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://media.app.dev.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.dev.jiminny.com'
#[ENV_SECRET]
#[ENV_SECRET]
#S3_CLIENT_DATA_REGION=eu-central-1
#S3_CLIENT_DATA_BUCKET=https://amazon-connect-b3d2d6755094
PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9080
#PROPHET_AI_WRAPPER_URL=https://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=https://prophet.staging.jiminny.com
PROPHET_AI_WRAPPER_TIMEOUT=600
FILESYSTEM_DRIVER=client-data-cloud
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
SQS_PREFIX=
SQS_QUEUE=
SQS_REGION=
KINESIS_AWS_REGION=
[ENV_SECRET]
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=
GOOGLE_TEXT_RELAY_MAILBOX=
GOOGLE_TEXT_RELAY_HOST=
GOOGLE_TEXT_RELAY_TOPIC=
GOOGLE_TEXT_RELAY_SUBSCRIPTION=
ELASTICSEARCH_HOST=elasticsearch
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://app.dev.jiminny.com/
[ENV_SECRET]
SES_REGION=
BUILD_NUMBER=_BUILD_NUMBER
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
BROWSERSTACK_USERNAME=thomaslavery1
[ENV_SECRET]
BROWSERSTACK_SERVER=hub-cloud.browserstack.com
TRANSCRIPTION_PROVIDER_REMEETING_BASEURL=https://api.remeeting.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_BASEURL=https://enterprise-api.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_AUTH_USERNAME=f414440ba1a9027b0a44dcf22b92ef91
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_BASEURL=https://brain.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_AUTH_USERNAME=[EMAIL]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_SPEECHMATICS_BASEURL=https://asr.api.speechmatics.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_IBM_BASEURL=
[ENV_SECRET]
MEDIA_LIVE_AWS_REGION=
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=
MEDIA_LIVE_ACCESS_ROLE=
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=
MEDIA_LIVE_S3_BUCKET=
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
#[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=arn:aws:iam::438740370364:policy/jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
TRANSCRIPTION_SUMMARY_PROVIDER_WORDCAB_BASEURL=https://wordcab.com/api
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# should be equal accross instances
[ENV_SECRET]
# comma-separated URLs for multiple instances to forward to
# HUBSPOT_WEBHOOK_FORWARD_URLS=nikolayn.ngrok.io
#HUBSPOT_WEBHOOK_FORWARD_URLS=https://app.qai.jiminny.com
HUBSPOT_WEBHOOK_FORWARD_URLS='https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#HUBSPOT_WEBHOOK_FORWARD_URLS='https://qatest:[EMAIL],https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#SAML_ENABLED=false
#
## SAML Contact Information
#SAML2_CONTACT_TECHNICAL_NAME="Technical Support"
#SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
#SAML2_CONTACT_SUPPORT_NAME="Support Team"
#SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
#
## SAML Organization Information
#SAML2_ORGANIZATION_NAME="Jiminny"
#SAML2_ORGANIZATION_URL="https://jiminny.com"
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder
Uploader, folder
UrlGenerator, folder
Utility, folder
Uuid, folder
Waveform, folder
Webhooks, folder
Workflow, folder
Configuration, folder
Console, folder
Commands, folder
Activities, folder
Analytics, folder
Calendars, folder
Crm, folder
Hubspot, folder
IntegrationApp, folder
Traits, folder
AddLayoutEntities.php, class
AutologDelayedCommand.php, class
BullhornCommandAbstract.php, abstract class
BullhornPingCommand.php, class
BullhornSearchCommand.php, class
BullhornSessionCommand.php, class
CheckActivityLoggableCommand.php, final class
CleanDuplicateFieldDataCommand.php, class
FullSyncOpportunityCommand.php, class
LogActivitiesCommand.php, final class
ManageSyncStrategyCommand.php, class
MatchCrmObjectsCommand.php, class
MatchOpportunityActivitiesCommand.php, class
MigrateProvider.php, class
ProcessHubspotObjectsSyncBatches.php, class
PurgeDeletedOpportunitiesCommand.php, class
ResetGovernorLimits.php, class
SendNotLogged.php, class
SetupActivityTypeForFollowUp.php, final class
SetupCloseCrm.php, class
SetupCopperCrm.php, class
SetupCrmCommand.php, abstract class
SetupLayouts.php, class
SyncAccount.php, class
SyncContact.php, class
SyncFieldMetadata.php, class
SyncHubspotActiveDeals.php, class
SyncHubspotObjects.php, class
SyncLead.php, class
SyncObjects.php, class
SyncOpportunitiesMissingFieldDataCommand.php, class
SyncOpportunity.php, class
SyncProfileMetadata.php, class
SyncTeamMetadata.php, class
UpdateOpportunitySpecifications.php, class
DealInsights, folder
Dev, folder
Dialers, folder
DTOs, folder
Elasticsearch, folder
EngagementStats, folder
GeckoExport, folder...
|
PhpStorm
|
faVsco.js – .env
|
NULL
|
77120
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=local
[ENV_SECRET]
APP_DEBUG=true
LOG_CHANNEL=single
LOG_LEVEL=info
APP_URL=https://app.dev.jiminny.com
AWS_DEFAULT_REGION=us-east-2
SECURITY_HEADER_CUSTOM_CSP=
DB_CONNECTION=mysql
DB_HOST=mariadb
#DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=jmnyadmin
[ENV_SECRET]
#DB_ADMIN_USERNAME=jmnyadmin
#[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
#CASHIER_MODEL=Jiminny\Models\Userhubs
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
GITHUB_TOKEN=null
#REDIS_CLIENT=predis
REDIS_CLIENT=phpredis
REDIS_HOST=redis
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=
SENTRY_DSN_CONFERENCE=
SENTRY_DSN_FRONT_END=
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=bafe4191da0a8e
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=dev.jiminny.com
[ENV_SECRET]
POSTMARK_RECIPIENT_OVERRIDE=[EMAIL]
#APP_LOCAL_URL=https://lukask.ngrok.io
TUNNEL_HOST=https://qatest:[EMAIL]
OUTLOOK_URL=https://outlook.dev.jiminny.com
SLUG_URL=https://app.dev.jiminny.com
PUSHER_APP_ID=274174
[ENV_SECRET]
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
PUSHER_BOT_APP_ID=1195245
[ENV_SECRET]
[ENV_SECRET]
PUSHER_BOT_APP_CLUSTER=us2
[ENV_SECRET]
[ENV_SECRET]
INTERCOM_TOKEN=qwerty
[ENV_SECRET]
[ENV_SECRET]
LOGROCKET_CONFERENCE_ID=
LOGROCKET_APP_ID=
GA_CONFERENCE_ID=
GA_APP_ID=
GA_EXPORT_ID=
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.dev.jiminny.com
SESSION_SECURE_COOKIE=true
#TWILIO_ACCOUNT_SID=AC8a9a88fe598ee6154f5ed1623dbc9071
#[ENV_SECRET]
TWILIO_ACCOUNT_SID=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_ACCOUNT_SID_JIMINNY=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_CONFERENCE_SID_JIMINNY=AP0a007686d097167aa2824a5e19796d80
TWILIO_SOFTPHONE_SID_JIMINNY=AP2fb6719cbf17337398cf48b4a0f3e17d
[ENV_SECRET]
[ENV_SECRET]
TWILIO_MESSAGING_SERVICE_ID=MG045f4e1b7ff9496254c0085d28ce965b
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://jmny-dev-ed.my.salesforce.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_REDIRECT_URI=https://lukask.ngrok.io/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read oauth"
#HUBSPOT_SCOPE="crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.objects.owners.read crm.schemas.companies.read crm.schemas.contacts.read crm.schemas.deals.read oauth"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
#[ENV_SECRET]
#[ENV_SECRET]
#HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_SCOPE="timeline"
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
#[ENV_SECRET]
#[ENV_SECRET]
#AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
#AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.dev.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,commands,dnd:read,groups:read,im:read,im:write,incoming-webhook,mpim:read,mpim:write,usergroups:read,users.profile:read,users:read,users:read.email"
[ENV_SECRET]
SLACK_APP_ID=A5YUTRUNP
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/google
GOOGLE_SCOPE="email openid profile https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/gmail.readonly"
[ENV_SECRET]
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/office
#MICROSOFT_OFFICE_SCOPE="Calendars.ReadWrite"
MICROSOFT_OFFICE_SCOPE="https://graph.microsoft.com/Calendars.ReadWrite https://graph.microsoft.com/OnlineMeetings.Read openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
[ENV_SECRET]
ZOOM_SCOPE=""
ZOOM_APP_ID=
[ENV_SECRET]
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
#
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&action=Login&username={username}&password=[PASSWORD] redirect_uri}&state={recommended state value}
#https://auth.bullhornstaffing.com/oauth/token?grant_type=authorization_code&code={auth_code}&client_id={client_id}&client_secret={client_secret}&redirect_uri={optional redirect_uri}
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&redirect_uri={optional redirect_uri}&state={recommended state value} *
#The user enters a valid Bullhorn username/password combination and clicks the Login button. A Terms of Service page is displayed. * User clicks the Agree button to accept the terms of service. *
#The page is redirected to the redirect URI with a code query parameter on the URL. The code value is the authorization code required to get an access token, which you use to get a Bullhorn session key required for REST API calls
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
# This ID is unique to the environment and need replacing after unpacking the extension
CHROME_WEB_STORE_EXT_ID=bnmndkpglijpoppflcmccddnacidanap
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=us-east-2
S3_CLIENT_DATA_BUCKET=dev.jiminny.client-data
S3_CLIENT_DATA_CLOUD_FRONT_HOST=media.app.dev.jiminny.com
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://media.app.dev.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.dev.jiminny.com'
#[ENV_SECRET]
#[ENV_SECRET]
#S3_CLIENT_DATA_REGION=eu-central-1
#S3_CLIENT_DATA_BUCKET=https://amazon-connect-b3d2d6755094
PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9080
#PROPHET_AI_WRAPPER_URL=https://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=https://prophet.staging.jiminny.com
PROPHET_AI_WRAPPER_TIMEOUT=600
FILESYSTEM_DRIVER=client-data-cloud
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
SQS_PREFIX=
SQS_QUEUE=
SQS_REGION=
KINESIS_AWS_REGION=
[ENV_SECRET]
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=
GOOGLE_TEXT_RELAY_MAILBOX=
GOOGLE_TEXT_RELAY_HOST=
GOOGLE_TEXT_RELAY_TOPIC=
GOOGLE_TEXT_RELAY_SUBSCRIPTION=
ELASTICSEARCH_HOST=elasticsearch
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://app.dev.jiminny.com/
[ENV_SECRET]
SES_REGION=
BUILD_NUMBER=_BUILD_NUMBER
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
BROWSERSTACK_USERNAME=thomaslavery1
[ENV_SECRET]
BROWSERSTACK_SERVER=hub-cloud.browserstack.com
TRANSCRIPTION_PROVIDER_REMEETING_BASEURL=https://api.remeeting.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_BASEURL=https://enterprise-api.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_AUTH_USERNAME=f414440ba1a9027b0a44dcf22b92ef91
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_BASEURL=https://brain.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_AUTH_USERNAME=[EMAIL]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_SPEECHMATICS_BASEURL=https://asr.api.speechmatics.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_IBM_BASEURL=
[ENV_SECRET]
MEDIA_LIVE_AWS_REGION=
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=
MEDIA_LIVE_ACCESS_ROLE=
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=
MEDIA_LIVE_S3_BUCKET=
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
#[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=arn:aws:iam::438740370364:policy/jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
TRANSCRIPTION_SUMMARY_PROVIDER_WORDCAB_BASEURL=https://wordcab.com/api
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# should be equal accross instances
[ENV_SECRET]
# comma-separated URLs for multiple instances to forward to
# HUBSPOT_WEBHOOK_FORWARD_URLS=nikolayn.ngrok.io
#HUBSPOT_WEBHOOK_FORWARD_URLS=https://app.qai.jiminny.com
HUBSPOT_WEBHOOK_FORWARD_URLS='https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#HUBSPOT_WEBHOOK_FORWARD_URLS='https://qatest:[EMAIL],https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#SAML_ENABLED=false
#
## SAML Contact Information
#SAML2_CONTACT_TECHNICAL_NAME="Technical Support"
#SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
#SAML2_CONTACT_SUPPORT_NAME="Support Team"
#SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
#
## SAML Organization Information
#SAML2_ORGANIZATION_NAME="Jiminny"
#SAML2_ORGANIZATION_URL="https://jiminny.com"
[ENV_SECRET]
[ENV_SECRET]
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder
Uploader, folder
UrlGenerator, folder
Utility, folder
Uuid, folder
Waveform, folder
Webhooks, folder
Workflow, folder
Configuration, folder
Console, folder
Commands, folder
Activities, folder
Analytics, folder
Calendars, folder
Crm, folder
Hubspot, folder
IntegrationApp, folder
Traits, folder
AddLayoutEntities.php, class
AutologDelayedCommand.php, class
BullhornCommandAbstract.php, abstract class
BullhornPingCommand.php, class
BullhornSearchCommand.php, class
BullhornSessionCommand.php, class
CheckActivityLoggableCommand.php, final class
CleanDuplicateFieldDataCommand.php, class
FullSyncOpportunityCommand.php, class
LogActivitiesCommand.php, final class
ManageSyncStrategyCommand.php, class
MatchCrmObjectsCommand.php, class
MatchOpportunityActivitiesCommand.php, class...
|
PhpStorm
|
faVsco.js – UserPilotClient.php
|
NULL
|
77121
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=local
[ENV_SECRET]
APP_DEBUG=true
LOG_CHANNEL=single
LOG_LEVEL=info
APP_URL=https://app.dev.jiminny.com
AWS_DEFAULT_REGION=us-east-2
SECURITY_HEADER_CUSTOM_CSP=
DB_CONNECTION=mysql
DB_HOST=mariadb
#DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=jmnyadmin
[ENV_SECRET]
#DB_ADMIN_USERNAME=jmnyadmin
#[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
#CASHIER_MODEL=Jiminny\Models\Userhubs
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
GITHUB_TOKEN=null
#REDIS_CLIENT=predis
REDIS_CLIENT=phpredis
REDIS_HOST=redis
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=
SENTRY_DSN_CONFERENCE=
SENTRY_DSN_FRONT_END=
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=bafe4191da0a8e
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=dev.jiminny.com
[ENV_SECRET]
POSTMARK_RECIPIENT_OVERRIDE=[EMAIL]
#APP_LOCAL_URL=https://lukask.ngrok.io
TUNNEL_HOST=https://qatest:[EMAIL]
OUTLOOK_URL=https://outlook.dev.jiminny.com
SLUG_URL=https://app.dev.jiminny.com
PUSHER_APP_ID=274174
[ENV_SECRET]
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
PUSHER_BOT_APP_ID=1195245
[ENV_SECRET]
[ENV_SECRET]
PUSHER_BOT_APP_CLUSTER=us2
[ENV_SECRET]
[ENV_SECRET]
INTERCOM_TOKEN=qwerty
[ENV_SECRET]
[ENV_SECRET]
LOGROCKET_CONFERENCE_ID=
LOGROCKET_APP_ID=
GA_CONFERENCE_ID=
GA_APP_ID=
GA_EXPORT_ID=
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.dev.jiminny.com
SESSION_SECURE_COOKIE=true
#TWILIO_ACCOUNT_SID=AC8a9a88fe598ee6154f5ed1623dbc9071
#[ENV_SECRET]
TWILIO_ACCOUNT_SID=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_ACCOUNT_SID_JIMINNY=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_CONFERENCE_SID_JIMINNY=AP0a007686d097167aa2824a5e19796d80
TWILIO_SOFTPHONE_SID_JIMINNY=AP2fb6719cbf17337398cf48b4a0f3e17d
[ENV_SECRET]
[ENV_SECRET]
TWILIO_MESSAGING_SERVICE_ID=MG045f4e1b7ff9496254c0085d28ce965b
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://jmny-dev-ed.my.salesforce.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_REDIRECT_URI=https://lukask.ngrok.io/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read oauth"
#HUBSPOT_SCOPE="crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.objects.owners.read crm.schemas.companies.read crm.schemas.contacts.read crm.schemas.deals.read oauth"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
#[ENV_SECRET]
#[ENV_SECRET]
#HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_SCOPE="timeline"
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
#[ENV_SECRET]
#[ENV_SECRET]
#AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
#AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.dev.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,commands,dnd:read,groups:read,im:read,im:write,incoming-webhook,mpim:read,mpim:write,usergroups:read,users.profile:read,users:read,users:read.email"
[ENV_SECRET]
SLACK_APP_ID=A5YUTRUNP
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/google
GOOGLE_SCOPE="email openid profile https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/gmail.readonly"
[ENV_SECRET]
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/office
#MICROSOFT_OFFICE_SCOPE="Calendars.ReadWrite"
MICROSOFT_OFFICE_SCOPE="https://graph.microsoft.com/Calendars.ReadWrite https://graph.microsoft.com/OnlineMeetings.Read openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
[ENV_SECRET]
ZOOM_SCOPE=""
ZOOM_APP_ID=
[ENV_SECRET]
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
#
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&action=Login&username={username}&password=[PASSWORD] redirect_uri}&state={recommended state value}
#https://auth.bullhornstaffing.com/oauth/token?grant_type=authorization_code&code={auth_code}&client_id={client_id}&client_secret={client_secret}&redirect_uri={optional redirect_uri}
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&redirect_uri={optional redirect_uri}&state={recommended state value} *
#The user enters a valid Bullhorn username/password combination and clicks the Login button. A Terms of Service page is displayed. * User clicks the Agree button to accept the terms of service. *
#The page is redirected to the redirect URI with a code query parameter on the URL. The code value is the authorization code required to get an access token, which you use to get a Bullhorn session key required for REST API calls
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
# This ID is unique to the environment and need replacing after unpacking the extension
CHROME_WEB_STORE_EXT_ID=bnmndkpglijpoppflcmccddnacidanap
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=us-east-2
S3_CLIENT_DATA_BUCKET=dev.jiminny.client-data
S3_CLIENT_DATA_CLOUD_FRONT_HOST=media.app.dev.jiminny.com
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://media.app.dev.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.dev.jiminny.com'
#[ENV_SECRET]
#[ENV_SECRET]
#S3_CLIENT_DATA_REGION=eu-central-1
#S3_CLIENT_DATA_BUCKET=https://amazon-connect-b3d2d6755094
PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9080
#PROPHET_AI_WRAPPER_URL=https://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=https://prophet.staging.jiminny.com
PROPHET_AI_WRAPPER_TIMEOUT=600
FILESYSTEM_DRIVER=client-data-cloud
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
SQS_PREFIX=
SQS_QUEUE=
SQS_REGION=
KINESIS_AWS_REGION=
[ENV_SECRET]
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=
GOOGLE_TEXT_RELAY_MAILBOX=
GOOGLE_TEXT_RELAY_HOST=
GOOGLE_TEXT_RELAY_TOPIC=
GOOGLE_TEXT_RELAY_SUBSCRIPTION=
ELASTICSEARCH_HOST=elasticsearch
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://app.dev.jiminny.com/
[ENV_SECRET]
SES_REGION=
BUILD_NUMBER=_BUILD_NUMBER
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
BROWSERSTACK_USERNAME=thomaslavery1
[ENV_SECRET]
BROWSERSTACK_SERVER=hub-cloud.browserstack.com
TRANSCRIPTION_PROVIDER_REMEETING_BASEURL=https://api.remeeting.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_BASEURL=https://enterprise-api.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_AUTH_USERNAME=f414440ba1a9027b0a44dcf22b92ef91
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_BASEURL=https://brain.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_AUTH_USERNAME=[EMAIL]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_SPEECHMATICS_BASEURL=https://asr.api.speechmatics.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_IBM_BASEURL=
[ENV_SECRET]
MEDIA_LIVE_AWS_REGION=
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=
MEDIA_LIVE_ACCESS_ROLE=
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=
MEDIA_LIVE_S3_BUCKET=
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
#[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=arn:aws:iam::438740370364:policy/jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
TRANSCRIPTION_SUMMARY_PROVIDER_WORDCAB_BASEURL=https://wordcab.com/api
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# should be equal accross instances
[ENV_SECRET]
# comma-separated URLs for multiple instances to forward to
# HUBSPOT_WEBHOOK_FORWARD_URLS=nikolayn.ngrok.io
#HUBSPOT_WEBHOOK_FORWARD_URLS=https://app.qai.jiminny.com
HUBSPOT_WEBHOOK_FORWARD_URLS='https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#HUBSPOT_WEBHOOK_FORWARD_URLS='https://qatest:[EMAIL],https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#SAML_ENABLED=false
#
## SAML Contact Information
#SAML2_CONTACT_TECHNICAL_NAME="Technical Support"
#SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
#SAML2_CONTACT_SUPPORT_NAME="Support Team"
#SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
#
## SAML Organization Information
#SAML2_ORGANIZATION_NAME="Jiminny"
#SAML2_ORGANIZATION_URL="https://jiminny.com"
[ENV_SECRET]
[ENV_SECRET]
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder
Uploader, folder
UrlGenerator, folder
Utility, folder
Uuid, folder
Waveform, folder
Webhooks, folder
Workflow, folder
Configuration, folder
Console, folder
Commands, folder
Activities, folder
Analytics, folder
Calendars, folder
Crm, folder
Hubspot, folder
IntegrationApp, folder
Traits, folder
AddLayoutEntities.php, class
AutologDelayedCommand.php, class
BullhornCommandAbstract.php, abstract class
BullhornPingCommand.php, class
BullhornSearchCommand.php, class
BullhornSessionCommand.php, class
CheckActivityLoggableCommand.php, final class
CleanDuplicateFieldDataCommand.php, class
FullSyncOpportunityCommand.php, class
LogActivitiesCommand.php, final class
ManageSyncStrategyCommand.php, class
MatchCrmObjectsCommand.php, class
MatchOpportunityActivitiesCommand.php, class
MigrateProvider.php, class
ProcessHubspotObjectsSyncBatches.php, class
PurgeDeletedOpportunitiesCommand.php, class
ResetGovernorLimits.php, class...
|
PhpStorm
|
faVsco.js – UserPilotClient.php
|
NULL
|
77122
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=local
[ENV_SECRET]
APP_DEBUG=true
LOG_CHANNEL=single
LOG_LEVEL=info
APP_URL=https://app.dev.jiminny.com
AWS_DEFAULT_REGION=us-east-2
SECURITY_HEADER_CUSTOM_CSP=
DB_CONNECTION=mysql
DB_HOST=mariadb
#DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=jmnyadmin
[ENV_SECRET]
#DB_ADMIN_USERNAME=jmnyadmin
#[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
#CASHIER_MODEL=Jiminny\Models\Userhubs
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
GITHUB_TOKEN=null
#REDIS_CLIENT=predis
REDIS_CLIENT=phpredis
REDIS_HOST=redis
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=
SENTRY_DSN_CONFERENCE=
SENTRY_DSN_FRONT_END=
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=bafe4191da0a8e
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=dev.jiminny.com
[ENV_SECRET]
POSTMARK_RECIPIENT_OVERRIDE=[EMAIL]
#APP_LOCAL_URL=https://lukask.ngrok.io
TUNNEL_HOST=https://qatest:[EMAIL]
OUTLOOK_URL=https://outlook.dev.jiminny.com
SLUG_URL=https://app.dev.jiminny.com
PUSHER_APP_ID=274174
[ENV_SECRET]
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
PUSHER_BOT_APP_ID=1195245
[ENV_SECRET]
[ENV_SECRET]
PUSHER_BOT_APP_CLUSTER=us2
[ENV_SECRET]
[ENV_SECRET]
INTERCOM_TOKEN=qwerty
[ENV_SECRET]
[ENV_SECRET]
LOGROCKET_CONFERENCE_ID=
LOGROCKET_APP_ID=
GA_CONFERENCE_ID=
GA_APP_ID=
GA_EXPORT_ID=
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.dev.jiminny.com
SESSION_SECURE_COOKIE=true
#TWILIO_ACCOUNT_SID=AC8a9a88fe598ee6154f5ed1623dbc9071
#[ENV_SECRET]
TWILIO_ACCOUNT_SID=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_ACCOUNT_SID_JIMINNY=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_CONFERENCE_SID_JIMINNY=AP0a007686d097167aa2824a5e19796d80
TWILIO_SOFTPHONE_SID_JIMINNY=AP2fb6719cbf17337398cf48b4a0f3e17d
[ENV_SECRET]
[ENV_SECRET]
TWILIO_MESSAGING_SERVICE_ID=MG045f4e1b7ff9496254c0085d28ce965b
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://jmny-dev-ed.my.salesforce.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_REDIRECT_URI=https://lukask.ngrok.io/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read oauth"
#HUBSPOT_SCOPE="crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.objects.owners.read crm.schemas.companies.read crm.schemas.contacts.read crm.schemas.deals.read oauth"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
#[ENV_SECRET]
#[ENV_SECRET]
#HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_SCOPE="timeline"
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
#[ENV_SECRET]
#[ENV_SECRET]
#AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
#AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.dev.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,commands,dnd:read,groups:read,im:read,im:write,incoming-webhook,mpim:read,mpim:write,usergroups:read,users.profile:read,users:read,users:read.email"
[ENV_SECRET]
SLACK_APP_ID=A5YUTRUNP
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/google
GOOGLE_SCOPE="email openid profile https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/gmail.readonly"
[ENV_SECRET]
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/office
#MICROSOFT_OFFICE_SCOPE="Calendars.ReadWrite"
MICROSOFT_OFFICE_SCOPE="https://graph.microsoft.com/Calendars.ReadWrite https://graph.microsoft.com/OnlineMeetings.Read openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
[ENV_SECRET]
ZOOM_SCOPE=""
ZOOM_APP_ID=
[ENV_SECRET]
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
#
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&action=Login&username={username}&password=[PASSWORD] redirect_uri}&state={recommended state value}
#https://auth.bullhornstaffing.com/oauth/token?grant_type=authorization_code&code={auth_code}&client_id={client_id}&client_secret={client_secret}&redirect_uri={optional redirect_uri}
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&redirect_uri={optional redirect_uri}&state={recommended state value} *
#The user enters a valid Bullhorn username/password combination and clicks the Login button. A Terms of Service page is displayed. * User clicks the Agree button to accept the terms of service. *
#The page is redirected to the redirect URI with a code query parameter on the URL. The code value is the authorization code required to get an access token, which you use to get a Bullhorn session key required for REST API calls
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
# This ID is unique to the environment and need replacing after unpacking the extension
CHROME_WEB_STORE_EXT_ID=bnmndkpglijpoppflcmccddnacidanap
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=us-east-2
S3_CLIENT_DATA_BUCKET=dev.jiminny.client-data
S3_CLIENT_DATA_CLOUD_FRONT_HOST=media.app.dev.jiminny.com
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://media.app.dev.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.dev.jiminny.com'
#[ENV_SECRET]
#[ENV_SECRET]
#S3_CLIENT_DATA_REGION=eu-central-1
#S3_CLIENT_DATA_BUCKET=https://amazon-connect-b3d2d6755094
PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9080
#PROPHET_AI_WRAPPER_URL=https://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=https://prophet.staging.jiminny.com
PROPHET_AI_WRAPPER_TIMEOUT=600
FILESYSTEM_DRIVER=client-data-cloud
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
SQS_PREFIX=
SQS_QUEUE=
SQS_REGION=
KINESIS_AWS_REGION=
[ENV_SECRET]
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=
GOOGLE_TEXT_RELAY_MAILBOX=
GOOGLE_TEXT_RELAY_HOST=
GOOGLE_TEXT_RELAY_TOPIC=
GOOGLE_TEXT_RELAY_SUBSCRIPTION=
ELASTICSEARCH_HOST=elasticsearch
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://app.dev.jiminny.com/
[ENV_SECRET]
SES_REGION=
BUILD_NUMBER=_BUILD_NUMBER
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
BROWSERSTACK_USERNAME=thomaslavery1
[ENV_SECRET]
BROWSERSTACK_SERVER=hub-cloud.browserstack.com
TRANSCRIPTION_PROVIDER_REMEETING_BASEURL=https://api.remeeting.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_BASEURL=https://enterprise-api.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_AUTH_USERNAME=f414440ba1a9027b0a44dcf22b92ef91
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_BASEURL=https://brain.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_AUTH_USERNAME=[EMAIL]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_SPEECHMATICS_BASEURL=https://asr.api.speechmatics.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_IBM_BASEURL=
[ENV_SECRET]
MEDIA_LIVE_AWS_REGION=
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=
MEDIA_LIVE_ACCESS_ROLE=
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=
MEDIA_LIVE_S3_BUCKET=
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
#[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=arn:aws:iam::438740370364:policy/jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
TRANSCRIPTION_SUMMARY_PROVIDER_WORDCAB_BASEURL=https://wordcab.com/api
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# should be equal accross instances
[ENV_SECRET]
# comma-separated URLs for multiple instances to forward to
# HUBSPOT_WEBHOOK_FORWARD_URLS=nikolayn.ngrok.io
#HUBSPOT_WEBHOOK_FORWARD_URLS=https://app.qai.jiminny.com
HUBSPOT_WEBHOOK_FORWARD_URLS='https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#HUBSPOT_WEBHOOK_FORWARD_URLS='https://qatest:[EMAIL],https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#SAML_ENABLED=false
#
## SAML Contact Information
#SAML2_CONTACT_TECHNICAL_NAME="Technical Support"
#SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
#SAML2_CONTACT_SUPPORT_NAME="Support Team"
#SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
#
## SAML Organization Information
#SAML2_ORGANIZATION_NAME="Jiminny"
#SAML2_ORGANIZATION_URL="https://jiminny.com"
[ENV_SECRET]
[ENV_SECRET]
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder
Uploader, folder
UrlGenerator, folder
Utility, folder
Uuid, folder
Waveform, folder
Webhooks, folder
Workflow, folder
Configuration, folder
Console, folder
Commands, folder
Activities, folder
Analytics, folder
Calendars, folder
Crm, folder
Hubspot, folder
IntegrationApp, folder
Traits, folder
AddLayoutEntities.php, class
AutologDelayedCommand.php, class
BullhornCommandAbstract.php, abstract class
BullhornPingCommand.php, class
BullhornSearchCommand.php, class
BullhornSessionCommand.php, class
CheckActivityLoggableCommand.php, final class
CleanDuplicateFieldDataCommand.php, class
FullSyncOpportunityCommand.php, class
LogActivitiesCommand.php, final class
ManageSyncStrategyCommand.php, class
MatchCrmObjectsCommand.php, class
MatchOpportunityActivitiesCommand.php, class
MigrateProvider.php, class
ProcessHubspotObjectsSyncBatches.php, class
PurgeDeletedOpportunitiesCommand.php, class
ResetGovernorLimits.php, class
SendNotLogged.php, class
SetupActivityTypeForFollowUp.php, final class
SetupCloseCrm.php, class
SetupCopperCrm.php, class
SetupCrmCommand.php, abstract class
SetupLayouts.php, class
SyncAccount.php, class
SyncContact.php, class
SyncFieldMetadata.php, class
SyncHubspotActiveDeals.php, class
SyncHubspotObjects.php, class
SyncLead.php, class
SyncObjects.php, class
SyncOpportunitiesMissingFieldDataCommand.php, class
SyncOpportunity.php, class
SyncProfileMetadata.php, class
SyncTeamMetadata.php, class
UpdateOpportunitySpecifications.php, class
DealInsights, folder
Dev, folder
Dialers, folder
DTOs, folder
Elasticsearch, folder
EngagementStats, folder
GeckoExport, folder
Livestream, folder
Mailboxes, folder
Migrate, folder
PlaybackThemes, folder...
|
PhpStorm
|
faVsco.js – UserPilotClient.php
|
NULL
|
77123
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=local
[ENV_SECRET]
APP_DEBUG=true
LOG_CHANNEL=single
LOG_LEVEL=info
APP_URL=https://app.dev.jiminny.com
AWS_DEFAULT_REGION=us-east-2
SECURITY_HEADER_CUSTOM_CSP=
DB_CONNECTION=mysql
DB_HOST=mariadb
#DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=jmnyadmin
[ENV_SECRET]
#DB_ADMIN_USERNAME=jmnyadmin
#[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
#CASHIER_MODEL=Jiminny\Models\Userhubs
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
GITHUB_TOKEN=null
#REDIS_CLIENT=predis
REDIS_CLIENT=phpredis
REDIS_HOST=redis
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=
SENTRY_DSN_CONFERENCE=
SENTRY_DSN_FRONT_END=
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=bafe4191da0a8e
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=dev.jiminny.com
[ENV_SECRET]
POSTMARK_RECIPIENT_OVERRIDE=[EMAIL]
#APP_LOCAL_URL=https://lukask.ngrok.io
TUNNEL_HOST=https://qatest:[EMAIL]
OUTLOOK_URL=https://outlook.dev.jiminny.com
SLUG_URL=https://app.dev.jiminny.com
PUSHER_APP_ID=274174
[ENV_SECRET]
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
PUSHER_BOT_APP_ID=1195245
[ENV_SECRET]
[ENV_SECRET]
PUSHER_BOT_APP_CLUSTER=us2
[ENV_SECRET]
[ENV_SECRET]
INTERCOM_TOKEN=qwerty
[ENV_SECRET]
[ENV_SECRET]
LOGROCKET_CONFERENCE_ID=
LOGROCKET_APP_ID=
GA_CONFERENCE_ID=
GA_APP_ID=
GA_EXPORT_ID=
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.dev.jiminny.com
SESSION_SECURE_COOKIE=true
#TWILIO_ACCOUNT_SID=AC8a9a88fe598ee6154f5ed1623dbc9071
#[ENV_SECRET]
TWILIO_ACCOUNT_SID=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_ACCOUNT_SID_JIMINNY=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_CONFERENCE_SID_JIMINNY=AP0a007686d097167aa2824a5e19796d80
TWILIO_SOFTPHONE_SID_JIMINNY=AP2fb6719cbf17337398cf48b4a0f3e17d
[ENV_SECRET]
[ENV_SECRET]
TWILIO_MESSAGING_SERVICE_ID=MG045f4e1b7ff9496254c0085d28ce965b
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://jmny-dev-ed.my.salesforce.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_REDIRECT_URI=https://lukask.ngrok.io/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read oauth"
#HUBSPOT_SCOPE="crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.objects.owners.read crm.schemas.companies.read crm.schemas.contacts.read crm.schemas.deals.read oauth"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
#[ENV_SECRET]
#[ENV_SECRET]
#HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_SCOPE="timeline"
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
#[ENV_SECRET]
#[ENV_SECRET]
#AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
#AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.dev.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,commands,dnd:read,groups:read,im:read,im:write,incoming-webhook,mpim:read,mpim:write,usergroups:read,users.profile:read,users:read,users:read.email"
[ENV_SECRET]
SLACK_APP_ID=A5YUTRUNP
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/google
GOOGLE_SCOPE="email openid profile https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/gmail.readonly"
[ENV_SECRET]
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/office
#MICROSOFT_OFFICE_SCOPE="Calendars.ReadWrite"
MICROSOFT_OFFICE_SCOPE="https://graph.microsoft.com/Calendars.ReadWrite https://graph.microsoft.com/OnlineMeetings.Read openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
[ENV_SECRET]
ZOOM_SCOPE=""
ZOOM_APP_ID=
[ENV_SECRET]
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
#
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&action=Login&username={username}&password=[PASSWORD] redirect_uri}&state={recommended state value}
#https://auth.bullhornstaffing.com/oauth/token?grant_type=authorization_code&code={auth_code}&client_id={client_id}&client_secret={client_secret}&redirect_uri={optional redirect_uri}
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&redirect_uri={optional redirect_uri}&state={recommended state value} *
#The user enters a valid Bullhorn username/password combination and clicks the Login button. A Terms of Service page is displayed. * User clicks the Agree button to accept the terms of service. *
#The page is redirected to the redirect URI with a code query parameter on the URL. The code value is the authorization code required to get an access token, which you use to get a Bullhorn session key required for REST API calls
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
# This ID is unique to the environment and need replacing after unpacking the extension
CHROME_WEB_STORE_EXT_ID=bnmndkpglijpoppflcmccddnacidanap
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=us-east-2
S3_CLIENT_DATA_BUCKET=dev.jiminny.client-data
S3_CLIENT_DATA_CLOUD_FRONT_HOST=media.app.dev.jiminny.com
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://media.app.dev.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.dev.jiminny.com'
#[ENV_SECRET]
#[ENV_SECRET]
#S3_CLIENT_DATA_REGION=eu-central-1
#S3_CLIENT_DATA_BUCKET=https://amazon-connect-b3d2d6755094
PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9080
#PROPHET_AI_WRAPPER_URL=https://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=https://prophet.staging.jiminny.com
PROPHET_AI_WRAPPER_TIMEOUT=600
FILESYSTEM_DRIVER=client-data-cloud
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
SQS_PREFIX=
SQS_QUEUE=
SQS_REGION=
KINESIS_AWS_REGION=
[ENV_SECRET]
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=
GOOGLE_TEXT_RELAY_MAILBOX=
GOOGLE_TEXT_RELAY_HOST=
GOOGLE_TEXT_RELAY_TOPIC=
GOOGLE_TEXT_RELAY_SUBSCRIPTION=
ELASTICSEARCH_HOST=elasticsearch
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://app.dev.jiminny.com/
[ENV_SECRET]
SES_REGION=
BUILD_NUMBER=_BUILD_NUMBER
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
BROWSERSTACK_USERNAME=thomaslavery1
[ENV_SECRET]
BROWSERSTACK_SERVER=hub-cloud.browserstack.com
TRANSCRIPTION_PROVIDER_REMEETING_BASEURL=https://api.remeeting.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_BASEURL=https://enterprise-api.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_AUTH_USERNAME=f414440ba1a9027b0a44dcf22b92ef91
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_BASEURL=https://brain.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_AUTH_USERNAME=[EMAIL]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_SPEECHMATICS_BASEURL=https://asr.api.speechmatics.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_IBM_BASEURL=
[ENV_SECRET]
MEDIA_LIVE_AWS_REGION=
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=
MEDIA_LIVE_ACCESS_ROLE=
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=
MEDIA_LIVE_S3_BUCKET=
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
#[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=arn:aws:iam::438740370364:policy/jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
TRANSCRIPTION_SUMMARY_PROVIDER_WORDCAB_BASEURL=https://wordcab.com/api
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# should be equal accross instances
[ENV_SECRET]
# comma-separated URLs for multiple instances to forward to
# HUBSPOT_WEBHOOK_FORWARD_URLS=nikolayn.ngrok.io
#HUBSPOT_WEBHOOK_FORWARD_URLS=https://app.qai.jiminny.com
HUBSPOT_WEBHOOK_FORWARD_URLS='https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#HUBSPOT_WEBHOOK_FORWARD_URLS='https://qatest:[EMAIL],https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#SAML_ENABLED=false
#
## SAML Contact Information
#SAML2_CONTACT_TECHNICAL_NAME="Technical Support"
#SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
#SAML2_CONTACT_SUPPORT_NAME="Support Team"
#SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
#
## SAML Organization Information
#SAML2_ORGANIZATION_NAME="Jiminny"
#SAML2_ORGANIZATION_URL="https://jiminny.com"
[ENV_SECRET]
[ENV_SECRET]
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder
Uploader, folder
UrlGenerator, folder
Utility, folder
Uuid, folder
Waveform, folder
Webhooks, folder
Workflow, folder
Configuration, folder
Console, folder
Commands, folder
Activities, folder
Analytics, folder
Calendars, folder
Crm, folder
Hubspot, folder
IntegrationApp, folder
Traits, folder
AddLayoutEntities.php, class
AutologDelayedCommand.php, class
BullhornCommandAbstract.php, abstract class
BullhornPingCommand.php, class
BullhornSearchCommand.php, class
BullhornSessionCommand.php, class
CheckActivityLoggableCommand.php, final class
CleanDuplicateFieldDataCommand.php, class
FullSyncOpportunityCommand.php, class
LogActivitiesCommand.php, final class
ManageSyncStrategyCommand.php, class
MatchCrmObjectsCommand.php, class
MatchOpportunityActivitiesCommand.php, class
MigrateProvider.php, class
ProcessHubspotObjectsSyncBatches.php, class
PurgeDeletedOpportunitiesCommand.php, class
ResetGovernorLimits.php, class
SendNotLogged.php, class
SetupActivityTypeForFollowUp.php, final class
SetupCloseCrm.php, class
SetupCopperCrm.php, class
SetupCrmCommand.php, abstract class
SetupLayouts.php, class
SyncAccount.php, class
SyncContact.php, class
SyncFieldMetadata.php, class
SyncHubspotActiveDeals.php, class
SyncHubspotObjects.php, class
SyncLead.php, class
SyncObjects.php, class
SyncOpportunitiesMissingFieldDataCommand.php, class
SyncOpportunity.php, class
SyncProfileMetadata.php, class
SyncTeamMetadata.php, class
UpdateOpportunitySpecifications.php, class
DealInsights, folder
Dev, folder
Dialers, folder
DTOs, folder
Elasticsearch, folder
EngagementStats, folder
GeckoExport, folder
Livestream, folder
Mailboxes, folder
Migrate, folder
PlaybackThemes, folder
Playbooks, folder
Playlists, folder
Postmark, folder
ProphetAi, folder
Reports, folder...
|
PhpStorm
|
faVsco.js – UserPilotClient.php
|
NULL
|
77124
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=local
[ENV_SECRET]
APP_DEBUG=true
LOG_CHANNEL=single
LOG_LEVEL=info
APP_URL=https://app.dev.jiminny.com
AWS_DEFAULT_REGION=us-east-2
SECURITY_HEADER_CUSTOM_CSP=
DB_CONNECTION=mysql
DB_HOST=mariadb
#DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=jmnyadmin
[ENV_SECRET]
#DB_ADMIN_USERNAME=jmnyadmin
#[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
#CASHIER_MODEL=Jiminny\Models\Userhubs
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
GITHUB_TOKEN=null
#REDIS_CLIENT=predis
REDIS_CLIENT=phpredis
REDIS_HOST=redis
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=
SENTRY_DSN_CONFERENCE=
SENTRY_DSN_FRONT_END=
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=bafe4191da0a8e
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=dev.jiminny.com
[ENV_SECRET]
POSTMARK_RECIPIENT_OVERRIDE=[EMAIL]
#APP_LOCAL_URL=https://lukask.ngrok.io
TUNNEL_HOST=https://qatest:[EMAIL]
OUTLOOK_URL=https://outlook.dev.jiminny.com
SLUG_URL=https://app.dev.jiminny.com
PUSHER_APP_ID=274174
[ENV_SECRET]
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
PUSHER_BOT_APP_ID=1195245
[ENV_SECRET]
[ENV_SECRET]
PUSHER_BOT_APP_CLUSTER=us2
[ENV_SECRET]
[ENV_SECRET]
INTERCOM_TOKEN=qwerty
[ENV_SECRET]
[ENV_SECRET]
LOGROCKET_CONFERENCE_ID=
LOGROCKET_APP_ID=
GA_CONFERENCE_ID=
GA_APP_ID=
GA_EXPORT_ID=
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.dev.jiminny.com
SESSION_SECURE_COOKIE=true
#TWILIO_ACCOUNT_SID=AC8a9a88fe598ee6154f5ed1623dbc9071
#[ENV_SECRET]
TWILIO_ACCOUNT_SID=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_ACCOUNT_SID_JIMINNY=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_CONFERENCE_SID_JIMINNY=AP0a007686d097167aa2824a5e19796d80
TWILIO_SOFTPHONE_SID_JIMINNY=AP2fb6719cbf17337398cf48b4a0f3e17d
[ENV_SECRET]
[ENV_SECRET]
TWILIO_MESSAGING_SERVICE_ID=MG045f4e1b7ff9496254c0085d28ce965b
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://jmny-dev-ed.my.salesforce.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_REDIRECT_URI=https://lukask.ngrok.io/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read oauth"
#HUBSPOT_SCOPE="crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.objects.owners.read crm.schemas.companies.read crm.schemas.contacts.read crm.schemas.deals.read oauth"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
#[ENV_SECRET]
#[ENV_SECRET]
#HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_SCOPE="timeline"
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
#[ENV_SECRET]
#[ENV_SECRET]
#AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
#AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.dev.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,commands,dnd:read,groups:read,im:read,im:write,incoming-webhook,mpim:read,mpim:write,usergroups:read,users.profile:read,users:read,users:read.email"
[ENV_SECRET]
SLACK_APP_ID=A5YUTRUNP
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/google
GOOGLE_SCOPE="email openid profile https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/gmail.readonly"
[ENV_SECRET]
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/office
#MICROSOFT_OFFICE_SCOPE="Calendars.ReadWrite"
MICROSOFT_OFFICE_SCOPE="https://graph.microsoft.com/Calendars.ReadWrite https://graph.microsoft.com/OnlineMeetings.Read openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
[ENV_SECRET]
ZOOM_SCOPE=""
ZOOM_APP_ID=
[ENV_SECRET]
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
#
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&action=Login&username={username}&password=[PASSWORD] redirect_uri}&state={recommended state value}
#https://auth.bullhornstaffing.com/oauth/token?grant_type=authorization_code&code={auth_code}&client_id={client_id}&client_secret={client_secret}&redirect_uri={optional redirect_uri}
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&redirect_uri={optional redirect_uri}&state={recommended state value} *
#The user enters a valid Bullhorn username/password combination and clicks the Login button. A Terms of Service page is displayed. * User clicks the Agree button to accept the terms of service. *
#The page is redirected to the redirect URI with a code query parameter on the URL. The code value is the authorization code required to get an access token, which you use to get a Bullhorn session key required for REST API calls
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
# This ID is unique to the environment and need replacing after unpacking the extension
CHROME_WEB_STORE_EXT_ID=bnmndkpglijpoppflcmccddnacidanap
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=us-east-2
S3_CLIENT_DATA_BUCKET=dev.jiminny.client-data
S3_CLIENT_DATA_CLOUD_FRONT_HOST=media.app.dev.jiminny.com
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://media.app.dev.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.dev.jiminny.com'
#[ENV_SECRET]
#[ENV_SECRET]
#S3_CLIENT_DATA_REGION=eu-central-1
#S3_CLIENT_DATA_BUCKET=https://amazon-connect-b3d2d6755094
PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9080
#PROPHET_AI_WRAPPER_URL=https://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=https://prophet.staging.jiminny.com
PROPHET_AI_WRAPPER_TIMEOUT=600
FILESYSTEM_DRIVER=client-data-cloud
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
SQS_PREFIX=
SQS_QUEUE=
SQS_REGION=
KINESIS_AWS_REGION=
[ENV_SECRET]
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=
GOOGLE_TEXT_RELAY_MAILBOX=
GOOGLE_TEXT_RELAY_HOST=
GOOGLE_TEXT_RELAY_TOPIC=
GOOGLE_TEXT_RELAY_SUBSCRIPTION=
ELASTICSEARCH_HOST=elasticsearch
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://app.dev.jiminny.com/
[ENV_SECRET]
SES_REGION=
BUILD_NUMBER=_BUILD_NUMBER
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
BROWSERSTACK_USERNAME=thomaslavery1
[ENV_SECRET]
BROWSERSTACK_SERVER=hub-cloud.browserstack.com
TRANSCRIPTION_PROVIDER_REMEETING_BASEURL=https://api.remeeting.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_BASEURL=https://enterprise-api.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_AUTH_USERNAME=f414440ba1a9027b0a44dcf22b92ef91
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_BASEURL=https://brain.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_AUTH_USERNAME=[EMAIL]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_SPEECHMATICS_BASEURL=https://asr.api.speechmatics.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_IBM_BASEURL=
[ENV_SECRET]
MEDIA_LIVE_AWS_REGION=
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=
MEDIA_LIVE_ACCESS_ROLE=
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=
MEDIA_LIVE_S3_BUCKET=
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
#[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=arn:aws:iam::438740370364:policy/jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
TRANSCRIPTION_SUMMARY_PROVIDER_WORDCAB_BASEURL=https://wordcab.com/api
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# should be equal accross instances
[ENV_SECRET]
# comma-separated URLs for multiple instances to forward to
# HUBSPOT_WEBHOOK_FORWARD_URLS=nikolayn.ngrok.io
#HUBSPOT_WEBHOOK_FORWARD_URLS=https://app.qai.jiminny.com
HUBSPOT_WEBHOOK_FORWARD_URLS='https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#HUBSPOT_WEBHOOK_FORWARD_URLS='https://qatest:[EMAIL],https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#SAML_ENABLED=false
#
## SAML Contact Information
#SAML2_CONTACT_TECHNICAL_NAME="Technical Support"
#SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
#SAML2_CONTACT_SUPPORT_NAME="Support Team"
#SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
#
## SAML Organization Information
#SAML2_ORGANIZATION_NAME="Jiminny"
#SAML2_ORGANIZATION_URL="https://jiminny.com"
[ENV_SECRET]
[ENV_SECRET]
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder
Uploader, folder
UrlGenerator, folder
Utility, folder
Uuid, folder
Waveform, folder
Webhooks, folder
Workflow, folder
Configuration, folder
Console, folder
Commands, folder
Activities, folder
Analytics, folder
Calendars, folder
Crm, folder
Hubspot, folder
IntegrationApp, folder
Traits, folder
AddLayoutEntities.php, class
AutologDelayedCommand.php, class
BullhornCommandAbstract.php, abstract class
BullhornPingCommand.php, class
BullhornSearchCommand.php, class
BullhornSessionCommand.php, class
CheckActivityLoggableCommand.php, final class
CleanDuplicateFieldDataCommand.php, class
FullSyncOpportunityCommand.php, class
LogActivitiesCommand.php, final class
ManageSyncStrategyCommand.php, class
MatchCrmObjectsCommand.php, class
MatchOpportunityActivitiesCommand.php, class
MigrateProvider.php, class
ProcessHubspotObjectsSyncBatches.php, class
PurgeDeletedOpportunitiesCommand.php, class
ResetGovernorLimits.php, class...
|
PhpStorm
|
faVsco.js – UserPilotClient.php
|
NULL
|
77125
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=local
[ENV_SECRET]
APP_DEBUG=true
LOG_CHANNEL=single
LOG_LEVEL=info
APP_URL=https://app.dev.jiminny.com
AWS_DEFAULT_REGION=us-east-2
SECURITY_HEADER_CUSTOM_CSP=
DB_CONNECTION=mysql
DB_HOST=mariadb
#DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=jmnyadmin
[ENV_SECRET]
#DB_ADMIN_USERNAME=jmnyadmin
#[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
#CASHIER_MODEL=Jiminny\Models\Userhubs
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
GITHUB_TOKEN=null
#REDIS_CLIENT=predis
REDIS_CLIENT=phpredis
REDIS_HOST=redis
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=
SENTRY_DSN_CONFERENCE=
SENTRY_DSN_FRONT_END=
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=bafe4191da0a8e
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=dev.jiminny.com
[ENV_SECRET]
POSTMARK_RECIPIENT_OVERRIDE=[EMAIL]
#APP_LOCAL_URL=https://lukask.ngrok.io
TUNNEL_HOST=https://qatest:[EMAIL]
OUTLOOK_URL=https://outlook.dev.jiminny.com
SLUG_URL=https://app.dev.jiminny.com
PUSHER_APP_ID=274174
[ENV_SECRET]
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
PUSHER_BOT_APP_ID=1195245
[ENV_SECRET]
[ENV_SECRET]
PUSHER_BOT_APP_CLUSTER=us2
[ENV_SECRET]
[ENV_SECRET]
INTERCOM_TOKEN=qwerty
[ENV_SECRET]
[ENV_SECRET]
LOGROCKET_CONFERENCE_ID=
LOGROCKET_APP_ID=
GA_CONFERENCE_ID=
GA_APP_ID=
GA_EXPORT_ID=
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.dev.jiminny.com
SESSION_SECURE_COOKIE=true
#TWILIO_ACCOUNT_SID=AC8a9a88fe598ee6154f5ed1623dbc9071
#[ENV_SECRET]
TWILIO_ACCOUNT_SID=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_ACCOUNT_SID_JIMINNY=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_CONFERENCE_SID_JIMINNY=AP0a007686d097167aa2824a5e19796d80
TWILIO_SOFTPHONE_SID_JIMINNY=AP2fb6719cbf17337398cf48b4a0f3e17d
[ENV_SECRET]
[ENV_SECRET]
TWILIO_MESSAGING_SERVICE_ID=MG045f4e1b7ff9496254c0085d28ce965b
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://jmny-dev-ed.my.salesforce.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_REDIRECT_URI=https://lukask.ngrok.io/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read oauth"
#HUBSPOT_SCOPE="crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.objects.owners.read crm.schemas.companies.read crm.schemas.contacts.read crm.schemas.deals.read oauth"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
#[ENV_SECRET]
#[ENV_SECRET]
#HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_SCOPE="timeline"
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
#[ENV_SECRET]
#[ENV_SECRET]
#AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
#AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.dev.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,commands,dnd:read,groups:read,im:read,im:write,incoming-webhook,mpim:read,mpim:write,usergroups:read,users.profile:read,users:read,users:read.email"
[ENV_SECRET]
SLACK_APP_ID=A5YUTRUNP
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/google
GOOGLE_SCOPE="email openid profile https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/gmail.readonly"
[ENV_SECRET]
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/office
#MICROSOFT_OFFICE_SCOPE="Calendars.ReadWrite"
MICROSOFT_OFFICE_SCOPE="https://graph.microsoft.com/Calendars.ReadWrite https://graph.microsoft.com/OnlineMeetings.Read openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
[ENV_SECRET]
ZOOM_SCOPE=""
ZOOM_APP_ID=
[ENV_SECRET]
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
#
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&action=Login&username={username}&password=[PASSWORD] redirect_uri}&state={recommended state value}
#https://auth.bullhornstaffing.com/oauth/token?grant_type=authorization_code&code={auth_code}&client_id={client_id}&client_secret={client_secret}&redirect_uri={optional redirect_uri}
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&redirect_uri={optional redirect_uri}&state={recommended state value} *
#The user enters a valid Bullhorn username/password combination and clicks the Login button. A Terms of Service page is displayed. * User clicks the Agree button to accept the terms of service. *
#The page is redirected to the redirect URI with a code query parameter on the URL. The code value is the authorization code required to get an access token, which you use to get a Bullhorn session key required for REST API calls
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
# This ID is unique to the environment and need replacing after unpacking the extension
CHROME_WEB_STORE_EXT_ID=bnmndkpglijpoppflcmccddnacidanap
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=us-east-2
S3_CLIENT_DATA_BUCKET=dev.jiminny.client-data
S3_CLIENT_DATA_CLOUD_FRONT_HOST=media.app.dev.jiminny.com
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://media.app.dev.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.dev.jiminny.com'
#[ENV_SECRET]
#[ENV_SECRET]
#S3_CLIENT_DATA_REGION=eu-central-1
#S3_CLIENT_DATA_BUCKET=https://amazon-connect-b3d2d6755094
PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9080
#PROPHET_AI_WRAPPER_URL=https://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=https://prophet.staging.jiminny.com
PROPHET_AI_WRAPPER_TIMEOUT=600
FILESYSTEM_DRIVER=client-data-cloud
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
SQS_PREFIX=
SQS_QUEUE=
SQS_REGION=
KINESIS_AWS_REGION=
[ENV_SECRET]
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=
GOOGLE_TEXT_RELAY_MAILBOX=
GOOGLE_TEXT_RELAY_HOST=
GOOGLE_TEXT_RELAY_TOPIC=
GOOGLE_TEXT_RELAY_SUBSCRIPTION=
ELASTICSEARCH_HOST=elasticsearch
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://app.dev.jiminny.com/
[ENV_SECRET]
SES_REGION=
BUILD_NUMBER=_BUILD_NUMBER
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
BROWSERSTACK_USERNAME=thomaslavery1
[ENV_SECRET]
BROWSERSTACK_SERVER=hub-cloud.browserstack.com
TRANSCRIPTION_PROVIDER_REMEETING_BASEURL=https://api.remeeting.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_BASEURL=https://enterprise-api.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_AUTH_USERNAME=f414440ba1a9027b0a44dcf22b92ef91
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_BASEURL=https://brain.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_AUTH_USERNAME=[EMAIL]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_SPEECHMATICS_BASEURL=https://asr.api.speechmatics.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_IBM_BASEURL=
[ENV_SECRET]
MEDIA_LIVE_AWS_REGION=
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=
MEDIA_LIVE_ACCESS_ROLE=
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=
MEDIA_LIVE_S3_BUCKET=
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
#[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=arn:aws:iam::438740370364:policy/jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
TRANSCRIPTION_SUMMARY_PROVIDER_WORDCAB_BASEURL=https://wordcab.com/api
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# should be equal accross instances
[ENV_SECRET]
# comma-separated URLs for multiple instances to forward to
# HUBSPOT_WEBHOOK_FORWARD_URLS=nikolayn.ngrok.io
#HUBSPOT_WEBHOOK_FORWARD_URLS=https://app.qai.jiminny.com
HUBSPOT_WEBHOOK_FORWARD_URLS='https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#HUBSPOT_WEBHOOK_FORWARD_URLS='https://qatest:[EMAIL],https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#SAML_ENABLED=false
#
## SAML Contact Information
#SAML2_CONTACT_TECHNICAL_NAME="Technical Support"
#SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
#SAML2_CONTACT_SUPPORT_NAME="Support Team"
#SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
#
## SAML Organization Information
#SAML2_ORGANIZATION_NAME="Jiminny"
#SAML2_ORGANIZATION_URL="https://jiminny.com"
[ENV_SECRET]
[ENV_SECRET]
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder...
|
PhpStorm
|
faVsco.js – UserPilotClient.php
|
NULL
|
77126
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=local
[ENV_SECRET]
APP_DEBUG=true
LOG_CHANNEL=single
LOG_LEVEL=info
APP_URL=https://app.dev.jiminny.com
AWS_DEFAULT_REGION=us-east-2
SECURITY_HEADER_CUSTOM_CSP=
DB_CONNECTION=mysql
DB_HOST=mariadb
#DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=jmnyadmin
[ENV_SECRET]
#DB_ADMIN_USERNAME=jmnyadmin
#[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
#CASHIER_MODEL=Jiminny\Models\Userhubs
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
GITHUB_TOKEN=null
#REDIS_CLIENT=predis
REDIS_CLIENT=phpredis
REDIS_HOST=redis
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=
SENTRY_DSN_CONFERENCE=
SENTRY_DSN_FRONT_END=
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=bafe4191da0a8e
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=dev.jiminny.com
[ENV_SECRET]
POSTMARK_RECIPIENT_OVERRIDE=[EMAIL]
#APP_LOCAL_URL=https://lukask.ngrok.io
TUNNEL_HOST=https://qatest:[EMAIL]
OUTLOOK_URL=https://outlook.dev.jiminny.com
SLUG_URL=https://app.dev.jiminny.com
PUSHER_APP_ID=274174
[ENV_SECRET]
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
PUSHER_BOT_APP_ID=1195245
[ENV_SECRET]
[ENV_SECRET]
PUSHER_BOT_APP_CLUSTER=us2
[ENV_SECRET]
[ENV_SECRET]
INTERCOM_TOKEN=qwerty
[ENV_SECRET]
[ENV_SECRET]
LOGROCKET_CONFERENCE_ID=
LOGROCKET_APP_ID=
GA_CONFERENCE_ID=
GA_APP_ID=
GA_EXPORT_ID=
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.dev.jiminny.com
SESSION_SECURE_COOKIE=true
#TWILIO_ACCOUNT_SID=AC8a9a88fe598ee6154f5ed1623dbc9071
#[ENV_SECRET]
TWILIO_ACCOUNT_SID=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_ACCOUNT_SID_JIMINNY=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_CONFERENCE_SID_JIMINNY=AP0a007686d097167aa2824a5e19796d80
TWILIO_SOFTPHONE_SID_JIMINNY=AP2fb6719cbf17337398cf48b4a0f3e17d
[ENV_SECRET]
[ENV_SECRET]
TWILIO_MESSAGING_SERVICE_ID=MG045f4e1b7ff9496254c0085d28ce965b
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://jmny-dev-ed.my.salesforce.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_REDIRECT_URI=https://lukask.ngrok.io/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read oauth"
#HUBSPOT_SCOPE="crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.objects.owners.read crm.schemas.companies.read crm.schemas.contacts.read crm.schemas.deals.read oauth"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
#[ENV_SECRET]
#[ENV_SECRET]
#HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_SCOPE="timeline"
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
#[ENV_SECRET]
#[ENV_SECRET]
#AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
#AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.dev.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,commands,dnd:read,groups:read,im:read,im:write,incoming-webhook,mpim:read,mpim:write,usergroups:read,users.profile:read,users:read,users:read.email"
[ENV_SECRET]
SLACK_APP_ID=A5YUTRUNP
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/google
GOOGLE_SCOPE="email openid profile https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/gmail.readonly"
[ENV_SECRET]
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/office
#MICROSOFT_OFFICE_SCOPE="Calendars.ReadWrite"
MICROSOFT_OFFICE_SCOPE="https://graph.microsoft.com/Calendars.ReadWrite https://graph.microsoft.com/OnlineMeetings.Read openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
[ENV_SECRET]
ZOOM_SCOPE=""
ZOOM_APP_ID=
[ENV_SECRET]
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
#
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&action=Login&username={username}&password=[PASSWORD] redirect_uri}&state={recommended state value}
#https://auth.bullhornstaffing.com/oauth/token?grant_type=authorization_code&code={auth_code}&client_id={client_id}&client_secret={client_secret}&redirect_uri={optional redirect_uri}
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&redirect_uri={optional redirect_uri}&state={recommended state value} *
#The user enters a valid Bullhorn username/password combination and clicks the Login button. A Terms of Service page is displayed. * User clicks the Agree button to accept the terms of service. *
#The page is redirected to the redirect URI with a code query parameter on the URL. The code value is the authorization code required to get an access token, which you use to get a Bullhorn session key required for REST API calls
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
# This ID is unique to the environment and need replacing after unpacking the extension
CHROME_WEB_STORE_EXT_ID=bnmndkpglijpoppflcmccddnacidanap
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=us-east-2
S3_CLIENT_DATA_BUCKET=dev.jiminny.client-data
S3_CLIENT_DATA_CLOUD_FRONT_HOST=media.app.dev.jiminny.com
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://media.app.dev.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.dev.jiminny.com'
#[ENV_SECRET]
#[ENV_SECRET]
#S3_CLIENT_DATA_REGION=eu-central-1
#S3_CLIENT_DATA_BUCKET=https://amazon-connect-b3d2d6755094
PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9080
#PROPHET_AI_WRAPPER_URL=https://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=https://prophet.staging.jiminny.com
PROPHET_AI_WRAPPER_TIMEOUT=600
FILESYSTEM_DRIVER=client-data-cloud
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
SQS_PREFIX=
SQS_QUEUE=
SQS_REGION=
KINESIS_AWS_REGION=
[ENV_SECRET]
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=
GOOGLE_TEXT_RELAY_MAILBOX=
GOOGLE_TEXT_RELAY_HOST=
GOOGLE_TEXT_RELAY_TOPIC=
GOOGLE_TEXT_RELAY_SUBSCRIPTION=
ELASTICSEARCH_HOST=elasticsearch
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://app.dev.jiminny.com/
[ENV_SECRET]
SES_REGION=
BUILD_NUMBER=_BUILD_NUMBER
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
BROWSERSTACK_USERNAME=thomaslavery1
[ENV_SECRET]
BROWSERSTACK_SERVER=hub-cloud.browserstack.com
TRANSCRIPTION_PROVIDER_REMEETING_BASEURL=https://api.remeeting.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_BASEURL=https://enterprise-api.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_AUTH_USERNAME=f414440ba1a9027b0a44dcf22b92ef91
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_BASEURL=https://brain.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_AUTH_USERNAME=[EMAIL]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_SPEECHMATICS_BASEURL=https://asr.api.speechmatics.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_IBM_BASEURL=
[ENV_SECRET]
MEDIA_LIVE_AWS_REGION=
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=
MEDIA_LIVE_ACCESS_ROLE=
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=
MEDIA_LIVE_S3_BUCKET=
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
#[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=arn:aws:iam::438740370364:policy/jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
TRANSCRIPTION_SUMMARY_PROVIDER_WORDCAB_BASEURL=https://wordcab.com/api
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# should be equal accross instances
[ENV_SECRET]
# comma-separated URLs for multiple instances to forward to
# HUBSPOT_WEBHOOK_FORWARD_URLS=nikolayn.ngrok.io
#HUBSPOT_WEBHOOK_FORWARD_URLS=https://app.qai.jiminny.com
HUBSPOT_WEBHOOK_FORWARD_URLS='https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#HUBSPOT_WEBHOOK_FORWARD_URLS='https://qatest:[EMAIL],https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#SAML_ENABLED=false
#
## SAML Contact Information
#SAML2_CONTACT_TECHNICAL_NAME="Technical Support"
#SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
#SAML2_CONTACT_SUPPORT_NAME="Support Team"
#SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
#
## SAML Organization Information
#SAML2_ORGANIZATION_NAME="Jiminny"
#SAML2_ORGANIZATION_URL="https://jiminny.com"
[ENV_SECRET]
[ENV_SECRET]
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
NULL
|
77127
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=local
[ENV_SECRET]
APP_DEBUG=true
LOG_CHANNEL=single
LOG_LEVEL=info
APP_URL=https://app.dev.jiminny.com
AWS_DEFAULT_REGION=us-east-2
SECURITY_HEADER_CUSTOM_CSP=
DB_CONNECTION=mysql
DB_HOST=mariadb
#DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=jmnyadmin
[ENV_SECRET]
#DB_ADMIN_USERNAME=jmnyadmin
#[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
#CASHIER_MODEL=Jiminny\Models\Userhubs
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
GITHUB_TOKEN=null
#REDIS_CLIENT=predis
REDIS_CLIENT=phpredis
REDIS_HOST=redis
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=
SENTRY_DSN_CONFERENCE=
SENTRY_DSN_FRONT_END=
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=bafe4191da0a8e
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=dev.jiminny.com
[ENV_SECRET]
POSTMARK_RECIPIENT_OVERRIDE=[EMAIL]
#APP_LOCAL_URL=https://lukask.ngrok.io
TUNNEL_HOST=https://qatest:[EMAIL]
OUTLOOK_URL=https://outlook.dev.jiminny.com
SLUG_URL=https://app.dev.jiminny.com
PUSHER_APP_ID=274174
[ENV_SECRET]
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
PUSHER_BOT_APP_ID=1195245
[ENV_SECRET]
[ENV_SECRET]
PUSHER_BOT_APP_CLUSTER=us2
[ENV_SECRET]
[ENV_SECRET]
INTERCOM_TOKEN=qwerty
[ENV_SECRET]
[ENV_SECRET]
LOGROCKET_CONFERENCE_ID=
LOGROCKET_APP_ID=
GA_CONFERENCE_ID=
GA_APP_ID=
GA_EXPORT_ID=
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.dev.jiminny.com
SESSION_SECURE_COOKIE=true
#TWILIO_ACCOUNT_SID=AC8a9a88fe598ee6154f5ed1623dbc9071
#[ENV_SECRET]
TWILIO_ACCOUNT_SID=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_ACCOUNT_SID_JIMINNY=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_CONFERENCE_SID_JIMINNY=AP0a007686d097167aa2824a5e19796d80
TWILIO_SOFTPHONE_SID_JIMINNY=AP2fb6719cbf17337398cf48b4a0f3e17d
[ENV_SECRET]
[ENV_SECRET]
TWILIO_MESSAGING_SERVICE_ID=MG045f4e1b7ff9496254c0085d28ce965b
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://jmny-dev-ed.my.salesforce.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_REDIRECT_URI=https://lukask.ngrok.io/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read oauth"
#HUBSPOT_SCOPE="crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.objects.owners.read crm.schemas.companies.read crm.schemas.contacts.read crm.schemas.deals.read oauth"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
#[ENV_SECRET]
#[ENV_SECRET]
#HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_SCOPE="timeline"
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
#[ENV_SECRET]
#[ENV_SECRET]
#AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
#AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.dev.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,commands,dnd:read,groups:read,im:read,im:write,incoming-webhook,mpim:read,mpim:write,usergroups:read,users.profile:read,users:read,users:read.email"
[ENV_SECRET]
SLACK_APP_ID=A5YUTRUNP
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/google
GOOGLE_SCOPE="email openid profile https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/gmail.readonly"
[ENV_SECRET]
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/office
#MICROSOFT_OFFICE_SCOPE="Calendars.ReadWrite"
MICROSOFT_OFFICE_SCOPE="https://graph.microsoft.com/Calendars.ReadWrite https://graph.microsoft.com/OnlineMeetings.Read openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
[ENV_SECRET]
ZOOM_SCOPE=""
ZOOM_APP_ID=
[ENV_SECRET]
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
#
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&action=Login&username={username}&password=[PASSWORD] redirect_uri}&state={recommended state value}
#https://auth.bullhornstaffing.com/oauth/token?grant_type=authorization_code&code={auth_code}&client_id={client_id}&client_secret={client_secret}&redirect_uri={optional redirect_uri}
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&redirect_uri={optional redirect_uri}&state={recommended state value} *
#The user enters a valid Bullhorn username/password combination and clicks the Login button. A Terms of Service page is displayed. * User clicks the Agree button to accept the terms of service. *
#The page is redirected to the redirect URI with a code query parameter on the URL. The code value is the authorization code required to get an access token, which you use to get a Bullhorn session key required for REST API calls
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
# This ID is unique to the environment and need replacing after unpacking the extension
CHROME_WEB_STORE_EXT_ID=bnmndkpglijpoppflcmccddnacidanap
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=us-east-2
S3_CLIENT_DATA_BUCKET=dev.jiminny.client-data
S3_CLIENT_DATA_CLOUD_FRONT_HOST=media.app.dev.jiminny.com
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://media.app.dev.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.dev.jiminny.com'
#[ENV_SECRET]
#[ENV_SECRET]
#S3_CLIENT_DATA_REGION=eu-central-1
#S3_CLIENT_DATA_BUCKET=https://amazon-connect-b3d2d6755094
PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9080
#PROPHET_AI_WRAPPER_URL=https://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=https://prophet.staging.jiminny.com
PROPHET_AI_WRAPPER_TIMEOUT=600
FILESYSTEM_DRIVER=client-data-cloud
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
SQS_PREFIX=
SQS_QUEUE=
SQS_REGION=
KINESIS_AWS_REGION=
[ENV_SECRET]
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=
GOOGLE_TEXT_RELAY_MAILBOX=
GOOGLE_TEXT_RELAY_HOST=
GOOGLE_TEXT_RELAY_TOPIC=
GOOGLE_TEXT_RELAY_SUBSCRIPTION=
ELASTICSEARCH_HOST=elasticsearch
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://app.dev.jiminny.com/
[ENV_SECRET]
SES_REGION=
BUILD_NUMBER=_BUILD_NUMBER
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
BROWSERSTACK_USERNAME=thomaslavery1
[ENV_SECRET]
BROWSERSTACK_SERVER=hub-cloud.browserstack.com
TRANSCRIPTION_PROVIDER_REMEETING_BASEURL=https://api.remeeting.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_BASEURL=https://enterprise-api.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_AUTH_USERNAME=f414440ba1a9027b0a44dcf22b92ef91
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_BASEURL=https://brain.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_AUTH_USERNAME=[EMAIL]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_SPEECHMATICS_BASEURL=https://asr.api.speechmatics.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_IBM_BASEURL=
[ENV_SECRET]
MEDIA_LIVE_AWS_REGION=
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=
MEDIA_LIVE_ACCESS_ROLE=
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=
MEDIA_LIVE_S3_BUCKET=
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
#[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=arn:aws:iam::438740370364:policy/jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
TRANSCRIPTION_SUMMARY_PROVIDER_WORDCAB_BASEURL=https://wordcab.com/api
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# should be equal accross instances
[ENV_SECRET]
# comma-separated URLs for multiple instances to forward to
# HUBSPOT_WEBHOOK_FORWARD_URLS=nikolayn.ngrok.io
#HUBSPOT_WEBHOOK_FORWARD_URLS=https://app.qai.jiminny.com
HUBSPOT_WEBHOOK_FORWARD_URLS='https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#HUBSPOT_WEBHOOK_FORWARD_URLS='https://qatest:[EMAIL],https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#SAML_ENABLED=false
#
## SAML Contact Information
#SAML2_CONTACT_TECHNICAL_NAME="Technical Support"
#SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
#SAML2_CONTACT_SUPPORT_NAME="Support Team"
#SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
#
## SAML Organization Information
#SAML2_ORGANIZATION_NAME="Jiminny"
#SAML2_ORGANIZATION_URL="https://jiminny.com"
[ENV_SECRET]
[ENV_SECRET]
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
NULL
|
77128
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=local
[ENV_SECRET]
APP_DEBUG=true
LOG_CHANNEL=single
LOG_LEVEL=info
APP_URL=https://app.dev.jiminny.com
AWS_DEFAULT_REGION=us-east-2
SECURITY_HEADER_CUSTOM_CSP=
DB_CONNECTION=mysql
DB_HOST=mariadb
#DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=jmnyadmin
[ENV_SECRET]
#DB_ADMIN_USERNAME=jmnyadmin
#[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
#CASHIER_MODEL=Jiminny\Models\Userhubs
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
GITHUB_TOKEN=null
#REDIS_CLIENT=predis
REDIS_CLIENT=phpredis
REDIS_HOST=redis
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=
SENTRY_DSN_CONFERENCE=
SENTRY_DSN_FRONT_END=
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=bafe4191da0a8e
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=dev.jiminny.com
[ENV_SECRET]
POSTMARK_RECIPIENT_OVERRIDE=[EMAIL]
#APP_LOCAL_URL=https://lukask.ngrok.io
TUNNEL_HOST=https://qatest:[EMAIL]
OUTLOOK_URL=https://outlook.dev.jiminny.com
SLUG_URL=https://app.dev.jiminny.com
PUSHER_APP_ID=274174
[ENV_SECRET]
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
PUSHER_BOT_APP_ID=1195245
[ENV_SECRET]
[ENV_SECRET]
PUSHER_BOT_APP_CLUSTER=us2
[ENV_SECRET]
[ENV_SECRET]
INTERCOM_TOKEN=qwerty
[ENV_SECRET]
[ENV_SECRET]
LOGROCKET_CONFERENCE_ID=
LOGROCKET_APP_ID=
GA_CONFERENCE_ID=
GA_APP_ID=
GA_EXPORT_ID=
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.dev.jiminny.com
SESSION_SECURE_COOKIE=true
#TWILIO_ACCOUNT_SID=AC8a9a88fe598ee6154f5ed1623dbc9071
#[ENV_SECRET]
TWILIO_ACCOUNT_SID=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_ACCOUNT_SID_JIMINNY=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_CONFERENCE_SID_JIMINNY=AP0a007686d097167aa2824a5e19796d80
TWILIO_SOFTPHONE_SID_JIMINNY=AP2fb6719cbf17337398cf48b4a0f3e17d
[ENV_SECRET]
[ENV_SECRET]
TWILIO_MESSAGING_SERVICE_ID=MG045f4e1b7ff9496254c0085d28ce965b
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://jmny-dev-ed.my.salesforce.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_REDIRECT_URI=https://lukask.ngrok.io/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read oauth"
#HUBSPOT_SCOPE="crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.objects.owners.read crm.schemas.companies.read crm.schemas.contacts.read crm.schemas.deals.read oauth"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
#[ENV_SECRET]
#[ENV_SECRET]
#HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_SCOPE="timeline"
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
#[ENV_SECRET]
#[ENV_SECRET]
#AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
#AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.dev.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,commands,dnd:read,groups:read,im:read,im:write,incoming-webhook,mpim:read,mpim:write,usergroups:read,users.profile:read,users:read,users:read.email"
[ENV_SECRET]
SLACK_APP_ID=A5YUTRUNP
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/google
GOOGLE_SCOPE="email openid profile https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/gmail.readonly"
[ENV_SECRET]
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/office
#MICROSOFT_OFFICE_SCOPE="Calendars.ReadWrite"
MICROSOFT_OFFICE_SCOPE="https://graph.microsoft.com/Calendars.ReadWrite https://graph.microsoft.com/OnlineMeetings.Read openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
[ENV_SECRET]
ZOOM_SCOPE=""
ZOOM_APP_ID=
[ENV_SECRET]
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
#
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&action=Login&username={username}&password=[PASSWORD] redirect_uri}&state={recommended state value}
#https://auth.bullhornstaffing.com/oauth/token?grant_type=authorization_code&code={auth_code}&client_id={client_id}&client_secret={client_secret}&redirect_uri={optional redirect_uri}
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&redirect_uri={optional redirect_uri}&state={recommended state value} *
#The user enters a valid Bullhorn username/password combination and clicks the Login button. A Terms of Service page is displayed. * User clicks the Agree button to accept the terms of service. *
#The page is redirected to the redirect URI with a code query parameter on the URL. The code value is the authorization code required to get an access token, which you use to get a Bullhorn session key required for REST API calls
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
# This ID is unique to the environment and need replacing after unpacking the extension
CHROME_WEB_STORE_EXT_ID=bnmndkpglijpoppflcmccddnacidanap
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=us-east-2
S3_CLIENT_DATA_BUCKET=dev.jiminny.client-data
S3_CLIENT_DATA_CLOUD_FRONT_HOST=media.app.dev.jiminny.com
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://media.app.dev.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.dev.jiminny.com'
#[ENV_SECRET]
#[ENV_SECRET]
#S3_CLIENT_DATA_REGION=eu-central-1
#S3_CLIENT_DATA_BUCKET=https://amazon-connect-b3d2d6755094
PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9080
#PROPHET_AI_WRAPPER_URL=https://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=https://prophet.staging.jiminny.com
PROPHET_AI_WRAPPER_TIMEOUT=600
FILESYSTEM_DRIVER=client-data-cloud
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
SQS_PREFIX=
SQS_QUEUE=
SQS_REGION=
KINESIS_AWS_REGION=
[ENV_SECRET]
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=
GOOGLE_TEXT_RELAY_MAILBOX=
GOOGLE_TEXT_RELAY_HOST=
GOOGLE_TEXT_RELAY_TOPIC=
GOOGLE_TEXT_RELAY_SUBSCRIPTION=
ELASTICSEARCH_HOST=elasticsearch
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://app.dev.jiminny.com/
[ENV_SECRET]
SES_REGION=
BUILD_NUMBER=_BUILD_NUMBER
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
BROWSERSTACK_USERNAME=thomaslavery1
[ENV_SECRET]
BROWSERSTACK_SERVER=hub-cloud.browserstack.com
TRANSCRIPTION_PROVIDER_REMEETING_BASEURL=https://api.remeeting.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_BASEURL=https://enterprise-api.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_AUTH_USERNAME=f414440ba1a9027b0a44dcf22b92ef91
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_BASEURL=https://brain.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_AUTH_USERNAME=[EMAIL]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_SPEECHMATICS_BASEURL=https://asr.api.speechmatics.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_IBM_BASEURL=
[ENV_SECRET]
MEDIA_LIVE_AWS_REGION=
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=
MEDIA_LIVE_ACCESS_ROLE=
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=
MEDIA_LIVE_S3_BUCKET=
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
#[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=arn:aws:iam::438740370364:policy/jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
TRANSCRIPTION_SUMMARY_PROVIDER_WORDCAB_BASEURL=https://wordcab.com/api
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# should be equal accross instances
[ENV_SECRET]
# comma-separated URLs for multiple instances to forward to
# HUBSPOT_WEBHOOK_FORWARD_URLS=nikolayn.ngrok.io
#HUBSPOT_WEBHOOK_FORWARD_URLS=https://app.qai.jiminny.com
HUBSPOT_WEBHOOK_FORWARD_URLS='https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#HUBSPOT_WEBHOOK_FORWARD_URLS='https://qatest:[EMAIL],https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#SAML_ENABLED=false
#
## SAML Contact Information
#SAML2_CONTACT_TECHNICAL_NAME="Technical Support"
#SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
#SAML2_CONTACT_SUPPORT_NAME="Support Team"
#SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
#
## SAML Organization Information
#SAML2_ORGANIZATION_NAME="Jiminny"
#SAML2_ORGANIZATION_URL="https://jiminny.com"
[ENV_SECRET]
[ENV_SECRET]
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
21
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder
Uploader, folder
UrlGenerator, folder
Utility, folder
Uuid, folder
Waveform, folder
Webhooks, folder
Workflow, folder
Configuration, folder
Console, folder...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
NULL
|
77129
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=local
[ENV_SECRET]
APP_DEBUG=true
LOG_CHANNEL=single
LOG_LEVEL=info
APP_URL=https://app.dev.jiminny.com
AWS_DEFAULT_REGION=us-east-2
SECURITY_HEADER_CUSTOM_CSP=
DB_CONNECTION=mysql
DB_HOST=mariadb
#DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=jmnyadmin
[ENV_SECRET]
#DB_ADMIN_USERNAME=jmnyadmin
#[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
#CASHIER_MODEL=Jiminny\Models\Userhubs
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
GITHUB_TOKEN=null
#REDIS_CLIENT=predis
REDIS_CLIENT=phpredis
REDIS_HOST=redis
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=
SENTRY_DSN_CONFERENCE=
SENTRY_DSN_FRONT_END=
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=bafe4191da0a8e
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=dev.jiminny.com
[ENV_SECRET]
POSTMARK_RECIPIENT_OVERRIDE=[EMAIL]
#APP_LOCAL_URL=https://lukask.ngrok.io
TUNNEL_HOST=https://qatest:[EMAIL]
OUTLOOK_URL=https://outlook.dev.jiminny.com
SLUG_URL=https://app.dev.jiminny.com
PUSHER_APP_ID=274174
[ENV_SECRET]
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
PUSHER_BOT_APP_ID=1195245
[ENV_SECRET]
[ENV_SECRET]
PUSHER_BOT_APP_CLUSTER=us2
[ENV_SECRET]
[ENV_SECRET]
INTERCOM_TOKEN=qwerty
[ENV_SECRET]
[ENV_SECRET]
LOGROCKET_CONFERENCE_ID=
LOGROCKET_APP_ID=
GA_CONFERENCE_ID=
GA_APP_ID=
GA_EXPORT_ID=
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.dev.jiminny.com
SESSION_SECURE_COOKIE=true
#TWILIO_ACCOUNT_SID=AC8a9a88fe598ee6154f5ed1623dbc9071
#[ENV_SECRET]
TWILIO_ACCOUNT_SID=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_ACCOUNT_SID_JIMINNY=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_CONFERENCE_SID_JIMINNY=AP0a007686d097167aa2824a5e19796d80
TWILIO_SOFTPHONE_SID_JIMINNY=AP2fb6719cbf17337398cf48b4a0f3e17d
[ENV_SECRET]
[ENV_SECRET]
TWILIO_MESSAGING_SERVICE_ID=MG045f4e1b7ff9496254c0085d28ce965b
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://jmny-dev-ed.my.salesforce.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_REDIRECT_URI=https://lukask.ngrok.io/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read oauth"
#HUBSPOT_SCOPE="crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.objects.owners.read crm.schemas.companies.read crm.schemas.contacts.read crm.schemas.deals.read oauth"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
#[ENV_SECRET]
#[ENV_SECRET]
#HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_SCOPE="timeline"
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
#[ENV_SECRET]
#[ENV_SECRET]
#AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
#AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.dev.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,commands,dnd:read,groups:read,im:read,im:write,incoming-webhook,mpim:read,mpim:write,usergroups:read,users.profile:read,users:read,users:read.email"
[ENV_SECRET]
SLACK_APP_ID=A5YUTRUNP
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/google
GOOGLE_SCOPE="email openid profile https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/gmail.readonly"
[ENV_SECRET]
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/office
#MICROSOFT_OFFICE_SCOPE="Calendars.ReadWrite"
MICROSOFT_OFFICE_SCOPE="https://graph.microsoft.com/Calendars.ReadWrite https://graph.microsoft.com/OnlineMeetings.Read openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
[ENV_SECRET]
ZOOM_SCOPE=""
ZOOM_APP_ID=
[ENV_SECRET]
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
#
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&action=Login&username={username}&password=[PASSWORD] redirect_uri}&state={recommended state value}
#https://auth.bullhornstaffing.com/oauth/token?grant_type=authorization_code&code={auth_code}&client_id={client_id}&client_secret={client_secret}&redirect_uri={optional redirect_uri}
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&redirect_uri={optional redirect_uri}&state={recommended state value} *
#The user enters a valid Bullhorn username/password combination and clicks the Login button. A Terms of Service page is displayed. * User clicks the Agree button to accept the terms of service. *
#The page is redirected to the redirect URI with a code query parameter on the URL. The code value is the authorization code required to get an access token, which you use to get a Bullhorn session key required for REST API calls
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
# This ID is unique to the environment and need replacing after unpacking the extension
CHROME_WEB_STORE_EXT_ID=bnmndkpglijpoppflcmccddnacidanap
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=us-east-2
S3_CLIENT_DATA_BUCKET=dev.jiminny.client-data
S3_CLIENT_DATA_CLOUD_FRONT_HOST=media.app.dev.jiminny.com
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://media.app.dev.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.dev.jiminny.com'
#[ENV_SECRET]
#[ENV_SECRET]
#S3_CLIENT_DATA_REGION=eu-central-1
#S3_CLIENT_DATA_BUCKET=https://amazon-connect-b3d2d6755094
PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9080
#PROPHET_AI_WRAPPER_URL=https://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=https://prophet.staging.jiminny.com
PROPHET_AI_WRAPPER_TIMEOUT=600
FILESYSTEM_DRIVER=client-data-cloud
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
SQS_PREFIX=
SQS_QUEUE=
SQS_REGION=
KINESIS_AWS_REGION=
[ENV_SECRET]
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=
GOOGLE_TEXT_RELAY_MAILBOX=
GOOGLE_TEXT_RELAY_HOST=
GOOGLE_TEXT_RELAY_TOPIC=
GOOGLE_TEXT_RELAY_SUBSCRIPTION=
ELASTICSEARCH_HOST=elasticsearch
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://app.dev.jiminny.com/
[ENV_SECRET]
SES_REGION=
BUILD_NUMBER=_BUILD_NUMBER
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
BROWSERSTACK_USERNAME=thomaslavery1
[ENV_SECRET]
BROWSERSTACK_SERVER=hub-cloud.browserstack.com
TRANSCRIPTION_PROVIDER_REMEETING_BASEURL=https://api.remeeting.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_BASEURL=https://enterprise-api.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_AUTH_USERNAME=f414440ba1a9027b0a44dcf22b92ef91
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_BASEURL=https://brain.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_AUTH_USERNAME=[EMAIL]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_SPEECHMATICS_BASEURL=https://asr.api.speechmatics.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_IBM_BASEURL=
[ENV_SECRET]
MEDIA_LIVE_AWS_REGION=
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=
MEDIA_LIVE_ACCESS_ROLE=
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=
MEDIA_LIVE_S3_BUCKET=
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
#[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=arn:aws:iam::438740370364:policy/jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
TRANSCRIPTION_SUMMARY_PROVIDER_WORDCAB_BASEURL=https://wordcab.com/api
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# should be equal accross instances
[ENV_SECRET]
# comma-separated URLs for multiple instances to forward to
# HUBSPOT_WEBHOOK_FORWARD_URLS=nikolayn.ngrok.io
#HUBSPOT_WEBHOOK_FORWARD_URLS=https://app.qai.jiminny.com
HUBSPOT_WEBHOOK_FORWARD_URLS='https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#HUBSPOT_WEBHOOK_FORWARD_URLS='https://qatest:[EMAIL],https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#SAML_ENABLED=false
#
## SAML Contact Information
#SAML2_CONTACT_TECHNICAL_NAME="Technical Support"
#SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
#SAML2_CONTACT_SUPPORT_NAME="Support Team"
#SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
#
## SAML Organization Information
#SAML2_ORGANIZATION_NAME="Jiminny"
#SAML2_ORGANIZATION_URL="https://jiminny.com"
[ENV_SECRET]
[ENV_SECRET]
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
21
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
NULL
|
77130
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=local
[ENV_SECRET]
APP_DEBUG=true
LOG_CHANNEL=single
LOG_LEVEL=info
APP_URL=https://app.dev.jiminny.com
AWS_DEFAULT_REGION=us-east-2
SECURITY_HEADER_CUSTOM_CSP=
DB_CONNECTION=mysql
DB_HOST=mariadb
#DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=jmnyadmin
[ENV_SECRET]
#DB_ADMIN_USERNAME=jmnyadmin
#[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
#CASHIER_MODEL=Jiminny\Models\Userhubs
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
GITHUB_TOKEN=null
#REDIS_CLIENT=predis
REDIS_CLIENT=phpredis
REDIS_HOST=redis
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=
SENTRY_DSN_CONFERENCE=
SENTRY_DSN_FRONT_END=
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=bafe4191da0a8e
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=dev.jiminny.com
[ENV_SECRET]
POSTMARK_RECIPIENT_OVERRIDE=[EMAIL]
#APP_LOCAL_URL=https://lukask.ngrok.io
TUNNEL_HOST=https://qatest:[EMAIL]
OUTLOOK_URL=https://outlook.dev.jiminny.com
SLUG_URL=https://app.dev.jiminny.com
PUSHER_APP_ID=274174
[ENV_SECRET]
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
PUSHER_BOT_APP_ID=1195245
[ENV_SECRET]
[ENV_SECRET]
PUSHER_BOT_APP_CLUSTER=us2
[ENV_SECRET]
[ENV_SECRET]
INTERCOM_TOKEN=qwerty
[ENV_SECRET]
[ENV_SECRET]
LOGROCKET_CONFERENCE_ID=
LOGROCKET_APP_ID=
GA_CONFERENCE_ID=
GA_APP_ID=
GA_EXPORT_ID=
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.dev.jiminny.com
SESSION_SECURE_COOKIE=true
#TWILIO_ACCOUNT_SID=AC8a9a88fe598ee6154f5ed1623dbc9071
#[ENV_SECRET]
TWILIO_ACCOUNT_SID=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_ACCOUNT_SID_JIMINNY=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_CONFERENCE_SID_JIMINNY=AP0a007686d097167aa2824a5e19796d80
TWILIO_SOFTPHONE_SID_JIMINNY=AP2fb6719cbf17337398cf48b4a0f3e17d
[ENV_SECRET]
[ENV_SECRET]
TWILIO_MESSAGING_SERVICE_ID=MG045f4e1b7ff9496254c0085d28ce965b
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://jmny-dev-ed.my.salesforce.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_REDIRECT_URI=https://lukask.ngrok.io/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read oauth"
#HUBSPOT_SCOPE="crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.objects.owners.read crm.schemas.companies.read crm.schemas.contacts.read crm.schemas.deals.read oauth"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
#[ENV_SECRET]
#[ENV_SECRET]
#HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_SCOPE="timeline"
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
#[ENV_SECRET]
#[ENV_SECRET]
#AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
#AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.dev.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,commands,dnd:read,groups:read,im:read,im:write,incoming-webhook,mpim:read,mpim:write,usergroups:read,users.profile:read,users:read,users:read.email"
[ENV_SECRET]
SLACK_APP_ID=A5YUTRUNP
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/google
GOOGLE_SCOPE="email openid profile https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/gmail.readonly"
[ENV_SECRET]
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/office
#MICROSOFT_OFFICE_SCOPE="Calendars.ReadWrite"
MICROSOFT_OFFICE_SCOPE="https://graph.microsoft.com/Calendars.ReadWrite https://graph.microsoft.com/OnlineMeetings.Read openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
[ENV_SECRET]
ZOOM_SCOPE=""
ZOOM_APP_ID=
[ENV_SECRET]
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
#
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&action=Login&username={username}&password=[PASSWORD] redirect_uri}&state={recommended state value}
#https://auth.bullhornstaffing.com/oauth/token?grant_type=authorization_code&code={auth_code}&client_id={client_id}&client_secret={client_secret}&redirect_uri={optional redirect_uri}
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&redirect_uri={optional redirect_uri}&state={recommended state value} *
#The user enters a valid Bullhorn username/password combination and clicks the Login button. A Terms of Service page is displayed. * User clicks the Agree button to accept the terms of service. *
#The page is redirected to the redirect URI with a code query parameter on the URL. The code value is the authorization code required to get an access token, which you use to get a Bullhorn session key required for REST API calls
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
# This ID is unique to the environment and need replacing after unpacking the extension
CHROME_WEB_STORE_EXT_ID=bnmndkpglijpoppflcmccddnacidanap
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=us-east-2
S3_CLIENT_DATA_BUCKET=dev.jiminny.client-data
S3_CLIENT_DATA_CLOUD_FRONT_HOST=media.app.dev.jiminny.com
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://media.app.dev.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.dev.jiminny.com'
#[ENV_SECRET]
#[ENV_SECRET]
#S3_CLIENT_DATA_REGION=eu-central-1
#S3_CLIENT_DATA_BUCKET=https://amazon-connect-b3d2d6755094
PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9080
#PROPHET_AI_WRAPPER_URL=https://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=https://prophet.staging.jiminny.com
PROPHET_AI_WRAPPER_TIMEOUT=600
FILESYSTEM_DRIVER=client-data-cloud
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
SQS_PREFIX=
SQS_QUEUE=
SQS_REGION=
KINESIS_AWS_REGION=
[ENV_SECRET]
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=
GOOGLE_TEXT_RELAY_MAILBOX=
GOOGLE_TEXT_RELAY_HOST=
GOOGLE_TEXT_RELAY_TOPIC=
GOOGLE_TEXT_RELAY_SUBSCRIPTION=
ELASTICSEARCH_HOST=elasticsearch
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://app.dev.jiminny.com/
[ENV_SECRET]
SES_REGION=
BUILD_NUMBER=_BUILD_NUMBER
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
BROWSERSTACK_USERNAME=thomaslavery1
[ENV_SECRET]
BROWSERSTACK_SERVER=hub-cloud.browserstack.com
TRANSCRIPTION_PROVIDER_REMEETING_BASEURL=https://api.remeeting.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_BASEURL=https://enterprise-api.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_AUTH_USERNAME=f414440ba1a9027b0a44dcf22b92ef91
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_BASEURL=https://brain.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_AUTH_USERNAME=[EMAIL]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_SPEECHMATICS_BASEURL=https://asr.api.speechmatics.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_IBM_BASEURL=
[ENV_SECRET]
MEDIA_LIVE_AWS_REGION=
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=
MEDIA_LIVE_ACCESS_ROLE=
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=
MEDIA_LIVE_S3_BUCKET=
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
#[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=arn:aws:iam::438740370364:policy/jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
TRANSCRIPTION_SUMMARY_PROVIDER_WORDCAB_BASEURL=https://wordcab.com/api
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# should be equal accross instances
[ENV_SECRET]
# comma-separated URLs for multiple instances to forward to
# HUBSPOT_WEBHOOK_FORWARD_URLS=nikolayn.ngrok.io
#HUBSPOT_WEBHOOK_FORWARD_URLS=https://app.qai.jiminny.com
HUBSPOT_WEBHOOK_FORWARD_URLS='https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#HUBSPOT_WEBHOOK_FORWARD_URLS='https://qatest:[EMAIL],https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#SAML_ENABLED=false
#
## SAML Contact Information
#SAML2_CONTACT_TECHNICAL_NAME="Technical Support"
#SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
#SAML2_CONTACT_SUPPORT_NAME="Support Team"
#SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
#
## SAML Organization Information
#SAML2_ORGANIZATION_NAME="Jiminny"
#SAML2_ORGANIZATION_URL="https://jiminny.com"
[ENV_SECRET]
[ENV_SECRET]
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
21
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
NULL
|
77131
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=local
[ENV_SECRET]
APP_DEBUG=true
LOG_CHANNEL=single
LOG_LEVEL=info
APP_URL=https://app.dev.jiminny.com
AWS_DEFAULT_REGION=us-east-2
SECURITY_HEADER_CUSTOM_CSP=
DB_CONNECTION=mysql
DB_HOST=mariadb
#DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=jmnyadmin
[ENV_SECRET]
#DB_ADMIN_USERNAME=jmnyadmin
#[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
#CASHIER_MODEL=Jiminny\Models\Userhubs
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
GITHUB_TOKEN=null
#REDIS_CLIENT=predis
REDIS_CLIENT=phpredis
REDIS_HOST=redis
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=
SENTRY_DSN_CONFERENCE=
SENTRY_DSN_FRONT_END=
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=bafe4191da0a8e
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=dev.jiminny.com
[ENV_SECRET]
POSTMARK_RECIPIENT_OVERRIDE=[EMAIL]
#APP_LOCAL_URL=https://lukask.ngrok.io
TUNNEL_HOST=https://qatest:[EMAIL]
OUTLOOK_URL=https://outlook.dev.jiminny.com
SLUG_URL=https://app.dev.jiminny.com
PUSHER_APP_ID=274174
[ENV_SECRET]
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
PUSHER_BOT_APP_ID=1195245
[ENV_SECRET]
[ENV_SECRET]
PUSHER_BOT_APP_CLUSTER=us2
[ENV_SECRET]
[ENV_SECRET]
INTERCOM_TOKEN=qwerty
[ENV_SECRET]
[ENV_SECRET]
LOGROCKET_CONFERENCE_ID=
LOGROCKET_APP_ID=
GA_CONFERENCE_ID=
GA_APP_ID=
GA_EXPORT_ID=
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.dev.jiminny.com
SESSION_SECURE_COOKIE=true
#TWILIO_ACCOUNT_SID=AC8a9a88fe598ee6154f5ed1623dbc9071
#[ENV_SECRET]
TWILIO_ACCOUNT_SID=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_ACCOUNT_SID_JIMINNY=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_CONFERENCE_SID_JIMINNY=AP0a007686d097167aa2824a5e19796d80
TWILIO_SOFTPHONE_SID_JIMINNY=AP2fb6719cbf17337398cf48b4a0f3e17d
[ENV_SECRET]
[ENV_SECRET]
TWILIO_MESSAGING_SERVICE_ID=MG045f4e1b7ff9496254c0085d28ce965b
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://jmny-dev-ed.my.salesforce.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_REDIRECT_URI=https://lukask.ngrok.io/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read oauth"
#HUBSPOT_SCOPE="crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.objects.owners.read crm.schemas.companies.read crm.schemas.contacts.read crm.schemas.deals.read oauth"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
#[ENV_SECRET]
#[ENV_SECRET]
#HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_SCOPE="timeline"
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
#[ENV_SECRET]
#[ENV_SECRET]
#AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
#AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.dev.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,commands,dnd:read,groups:read,im:read,im:write,incoming-webhook,mpim:read,mpim:write,usergroups:read,users.profile:read,users:read,users:read.email"
[ENV_SECRET]
SLACK_APP_ID=A5YUTRUNP
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/google
GOOGLE_SCOPE="email openid profile https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/gmail.readonly"
[ENV_SECRET]
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/office
#MICROSOFT_OFFICE_SCOPE="Calendars.ReadWrite"
MICROSOFT_OFFICE_SCOPE="https://graph.microsoft.com/Calendars.ReadWrite https://graph.microsoft.com/OnlineMeetings.Read openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
[ENV_SECRET]
ZOOM_SCOPE=""
ZOOM_APP_ID=
[ENV_SECRET]
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
#
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&action=Login&username={username}&password=[PASSWORD] redirect_uri}&state={recommended state value}
#https://auth.bullhornstaffing.com/oauth/token?grant_type=authorization_code&code={auth_code}&client_id={client_id}&client_secret={client_secret}&redirect_uri={optional redirect_uri}
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&redirect_uri={optional redirect_uri}&state={recommended state value} *
#The user enters a valid Bullhorn username/password combination and clicks the Login button. A Terms of Service page is displayed. * User clicks the Agree button to accept the terms of service. *
#The page is redirected to the redirect URI with a code query parameter on the URL. The code value is the authorization code required to get an access token, which you use to get a Bullhorn session key required for REST API calls
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
# This ID is unique to the environment and need replacing after unpacking the extension
CHROME_WEB_STORE_EXT_ID=bnmndkpglijpoppflcmccddnacidanap
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=us-east-2
S3_CLIENT_DATA_BUCKET=dev.jiminny.client-data
S3_CLIENT_DATA_CLOUD_FRONT_HOST=media.app.dev.jiminny.com
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://media.app.dev.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.dev.jiminny.com'
#[ENV_SECRET]
#[ENV_SECRET]
#S3_CLIENT_DATA_REGION=eu-central-1
#S3_CLIENT_DATA_BUCKET=https://amazon-connect-b3d2d6755094
PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9080
#PROPHET_AI_WRAPPER_URL=https://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=https://prophet.staging.jiminny.com
PROPHET_AI_WRAPPER_TIMEOUT=600
FILESYSTEM_DRIVER=client-data-cloud
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
SQS_PREFIX=
SQS_QUEUE=
SQS_REGION=
KINESIS_AWS_REGION=
[ENV_SECRET]
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=
GOOGLE_TEXT_RELAY_MAILBOX=
GOOGLE_TEXT_RELAY_HOST=
GOOGLE_TEXT_RELAY_TOPIC=
GOOGLE_TEXT_RELAY_SUBSCRIPTION=
ELASTICSEARCH_HOST=elasticsearch
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://app.dev.jiminny.com/
[ENV_SECRET]
SES_REGION=
BUILD_NUMBER=_BUILD_NUMBER
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
BROWSERSTACK_USERNAME=thomaslavery1
[ENV_SECRET]
BROWSERSTACK_SERVER=hub-cloud.browserstack.com
TRANSCRIPTION_PROVIDER_REMEETING_BASEURL=https://api.remeeting.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_BASEURL=https://enterprise-api.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_AUTH_USERNAME=f414440ba1a9027b0a44dcf22b92ef91
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_BASEURL=https://brain.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_AUTH_USERNAME=[EMAIL]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_SPEECHMATICS_BASEURL=https://asr.api.speechmatics.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_IBM_BASEURL=
[ENV_SECRET]
MEDIA_LIVE_AWS_REGION=
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=
MEDIA_LIVE_ACCESS_ROLE=
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=
MEDIA_LIVE_S3_BUCKET=
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
#[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=arn:aws:iam::438740370364:policy/jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
TRANSCRIPTION_SUMMARY_PROVIDER_WORDCAB_BASEURL=https://wordcab.com/api
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# should be equal accross instances
[ENV_SECRET]
# comma-separated URLs for multiple instances to forward to
# HUBSPOT_WEBHOOK_FORWARD_URLS=nikolayn.ngrok.io
#HUBSPOT_WEBHOOK_FORWARD_URLS=https://app.qai.jiminny.com
HUBSPOT_WEBHOOK_FORWARD_URLS='https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#HUBSPOT_WEBHOOK_FORWARD_URLS='https://qatest:[EMAIL],https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#SAML_ENABLED=false
#
## SAML Contact Information
#SAML2_CONTACT_TECHNICAL_NAME="Technical Support"
#SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
#SAML2_CONTACT_SUPPORT_NAME="Support Team"
#SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
#
## SAML Organization Information
#SAML2_ORGANIZATION_NAME="Jiminny"
#SAML2_ORGANIZATION_URL="https://jiminny.com"
[ENV_SECRET]
[ENV_SECRET]
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
21...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
NULL
|
77132
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=local
[ENV_SECRET]
APP_DEBUG=true
LOG_CHANNEL=single
LOG_LEVEL=info
APP_URL=https://app.dev.jiminny.com
AWS_DEFAULT_REGION=us-east-2
SECURITY_HEADER_CUSTOM_CSP=
DB_CONNECTION=mysql
DB_HOST=mariadb
#DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=jmnyadmin
[ENV_SECRET]
#DB_ADMIN_USERNAME=jmnyadmin
#[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
#CASHIER_MODEL=Jiminny\Models\Userhubs
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
GITHUB_TOKEN=null
#REDIS_CLIENT=predis
REDIS_CLIENT=phpredis
REDIS_HOST=redis
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=
SENTRY_DSN_CONFERENCE=
SENTRY_DSN_FRONT_END=
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=bafe4191da0a8e
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=dev.jiminny.com
[ENV_SECRET]
POSTMARK_RECIPIENT_OVERRIDE=[EMAIL]
#APP_LOCAL_URL=https://lukask.ngrok.io
TUNNEL_HOST=https://qatest:[EMAIL]
OUTLOOK_URL=https://outlook.dev.jiminny.com
SLUG_URL=https://app.dev.jiminny.com
PUSHER_APP_ID=274174
[ENV_SECRET]
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
PUSHER_BOT_APP_ID=1195245
[ENV_SECRET]
[ENV_SECRET]
PUSHER_BOT_APP_CLUSTER=us2
[ENV_SECRET]
[ENV_SECRET]
INTERCOM_TOKEN=qwerty
[ENV_SECRET]
[ENV_SECRET]
LOGROCKET_CONFERENCE_ID=
LOGROCKET_APP_ID=
GA_CONFERENCE_ID=
GA_APP_ID=
GA_EXPORT_ID=
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.dev.jiminny.com
SESSION_SECURE_COOKIE=true
#TWILIO_ACCOUNT_SID=AC8a9a88fe598ee6154f5ed1623dbc9071
#[ENV_SECRET]
TWILIO_ACCOUNT_SID=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_ACCOUNT_SID_JIMINNY=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_CONFERENCE_SID_JIMINNY=AP0a007686d097167aa2824a5e19796d80
TWILIO_SOFTPHONE_SID_JIMINNY=AP2fb6719cbf17337398cf48b4a0f3e17d
[ENV_SECRET]
[ENV_SECRET]
TWILIO_MESSAGING_SERVICE_ID=MG045f4e1b7ff9496254c0085d28ce965b
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://jmny-dev-ed.my.salesforce.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_REDIRECT_URI=https://lukask.ngrok.io/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read oauth"
#HUBSPOT_SCOPE="crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.objects.owners.read crm.schemas.companies.read crm.schemas.contacts.read crm.schemas.deals.read oauth"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
#[ENV_SECRET]
#[ENV_SECRET]
#HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_SCOPE="timeline"
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
#[ENV_SECRET]
#[ENV_SECRET]
#AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
#AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.dev.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,commands,dnd:read,groups:read,im:read,im:write,incoming-webhook,mpim:read,mpim:write,usergroups:read,users.profile:read,users:read,users:read.email"
[ENV_SECRET]
SLACK_APP_ID=A5YUTRUNP
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/google
GOOGLE_SCOPE="email openid profile https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/gmail.readonly"
[ENV_SECRET]
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/office
#MICROSOFT_OFFICE_SCOPE="Calendars.ReadWrite"
MICROSOFT_OFFICE_SCOPE="https://graph.microsoft.com/Calendars.ReadWrite https://graph.microsoft.com/OnlineMeetings.Read openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
[ENV_SECRET]
ZOOM_SCOPE=""
ZOOM_APP_ID=
[ENV_SECRET]
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
#
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&action=Login&username={username}&password=[PASSWORD] redirect_uri}&state={recommended state value}
#https://auth.bullhornstaffing.com/oauth/token?grant_type=authorization_code&code={auth_code}&client_id={client_id}&client_secret={client_secret}&redirect_uri={optional redirect_uri}
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&redirect_uri={optional redirect_uri}&state={recommended state value} *
#The user enters a valid Bullhorn username/password combination and clicks the Login button. A Terms of Service page is displayed. * User clicks the Agree button to accept the terms of service. *
#The page is redirected to the redirect URI with a code query parameter on the URL. The code value is the authorization code required to get an access token, which you use to get a Bullhorn session key required for REST API calls
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
# This ID is unique to the environment and need replacing after unpacking the extension
CHROME_WEB_STORE_EXT_ID=bnmndkpglijpoppflcmccddnacidanap
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=us-east-2
S3_CLIENT_DATA_BUCKET=dev.jiminny.client-data
S3_CLIENT_DATA_CLOUD_FRONT_HOST=media.app.dev.jiminny.com
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://media.app.dev.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.dev.jiminny.com'
#[ENV_SECRET]
#[ENV_SECRET]
#S3_CLIENT_DATA_REGION=eu-central-1
#S3_CLIENT_DATA_BUCKET=https://amazon-connect-b3d2d6755094
PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9080
#PROPHET_AI_WRAPPER_URL=https://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=https://prophet.staging.jiminny.com
PROPHET_AI_WRAPPER_TIMEOUT=600
FILESYSTEM_DRIVER=client-data-cloud
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
SQS_PREFIX=
SQS_QUEUE=
SQS_REGION=
KINESIS_AWS_REGION=
[ENV_SECRET]
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=
GOOGLE_TEXT_RELAY_MAILBOX=
GOOGLE_TEXT_RELAY_HOST=
GOOGLE_TEXT_RELAY_TOPIC=
GOOGLE_TEXT_RELAY_SUBSCRIPTION=
ELASTICSEARCH_HOST=elasticsearch
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://app.dev.jiminny.com/
[ENV_SECRET]
SES_REGION=
BUILD_NUMBER=_BUILD_NUMBER
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
BROWSERSTACK_USERNAME=thomaslavery1
[ENV_SECRET]
BROWSERSTACK_SERVER=hub-cloud.browserstack.com
TRANSCRIPTION_PROVIDER_REMEETING_BASEURL=https://api.remeeting.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_BASEURL=https://enterprise-api.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_AUTH_USERNAME=f414440ba1a9027b0a44dcf22b92ef91
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_BASEURL=https://brain.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_AUTH_USERNAME=[EMAIL]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_SPEECHMATICS_BASEURL=https://asr.api.speechmatics.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_IBM_BASEURL=
[ENV_SECRET]
MEDIA_LIVE_AWS_REGION=
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=
MEDIA_LIVE_ACCESS_ROLE=
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=
MEDIA_LIVE_S3_BUCKET=
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
#[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=arn:aws:iam::438740370364:policy/jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
TRANSCRIPTION_SUMMARY_PROVIDER_WORDCAB_BASEURL=https://wordcab.com/api
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# should be equal accross instances
[ENV_SECRET]
# comma-separated URLs for multiple instances to forward to
# HUBSPOT_WEBHOOK_FORWARD_URLS=nikolayn.ngrok.io
#HUBSPOT_WEBHOOK_FORWARD_URLS=https://app.qai.jiminny.com
HUBSPOT_WEBHOOK_FORWARD_URLS='https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#HUBSPOT_WEBHOOK_FORWARD_URLS='https://qatest:[EMAIL],https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#SAML_ENABLED=false
#
## SAML Contact Information
#SAML2_CONTACT_TECHNICAL_NAME="Technical Support"
#SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
#SAML2_CONTACT_SUPPORT_NAME="Support Team"
#SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
#
## SAML Organization Information
#SAML2_ORGANIZATION_NAME="Jiminny"
#SAML2_ORGANIZATION_URL="https://jiminny.com"
[ENV_SECRET]
[ENV_SECRET]
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
21
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
NULL
|
77133
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=local
[ENV_SECRET]
APP_DEBUG=true
LOG_CHANNEL=single
LOG_LEVEL=info
APP_URL=https://app.dev.jiminny.com
AWS_DEFAULT_REGION=us-east-2
SECURITY_HEADER_CUSTOM_CSP=
DB_CONNECTION=mysql
DB_HOST=mariadb
#DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=jmnyadmin
[ENV_SECRET]
#DB_ADMIN_USERNAME=jmnyadmin
#[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
#CASHIER_MODEL=Jiminny\Models\Userhubs
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
GITHUB_TOKEN=null
#REDIS_CLIENT=predis
REDIS_CLIENT=phpredis
REDIS_HOST=redis
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=
SENTRY_DSN_CONFERENCE=
SENTRY_DSN_FRONT_END=
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=bafe4191da0a8e
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=dev.jiminny.com
[ENV_SECRET]
POSTMARK_RECIPIENT_OVERRIDE=[EMAIL]
#APP_LOCAL_URL=https://lukask.ngrok.io
TUNNEL_HOST=https://qatest:[EMAIL]
OUTLOOK_URL=https://outlook.dev.jiminny.com
SLUG_URL=https://app.dev.jiminny.com
PUSHER_APP_ID=274174
[ENV_SECRET]
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
PUSHER_BOT_APP_ID=1195245
[ENV_SECRET]
[ENV_SECRET]
PUSHER_BOT_APP_CLUSTER=us2
[ENV_SECRET]
[ENV_SECRET]
INTERCOM_TOKEN=qwerty
[ENV_SECRET]
[ENV_SECRET]
LOGROCKET_CONFERENCE_ID=
LOGROCKET_APP_ID=
GA_CONFERENCE_ID=
GA_APP_ID=
GA_EXPORT_ID=
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.dev.jiminny.com
SESSION_SECURE_COOKIE=true
#TWILIO_ACCOUNT_SID=AC8a9a88fe598ee6154f5ed1623dbc9071
#[ENV_SECRET]
TWILIO_ACCOUNT_SID=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_ACCOUNT_SID_JIMINNY=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_CONFERENCE_SID_JIMINNY=AP0a007686d097167aa2824a5e19796d80
TWILIO_SOFTPHONE_SID_JIMINNY=AP2fb6719cbf17337398cf48b4a0f3e17d
[ENV_SECRET]
[ENV_SECRET]
TWILIO_MESSAGING_SERVICE_ID=MG045f4e1b7ff9496254c0085d28ce965b
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://jmny-dev-ed.my.salesforce.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_REDIRECT_URI=https://lukask.ngrok.io/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read oauth"
#HUBSPOT_SCOPE="crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.objects.owners.read crm.schemas.companies.read crm.schemas.contacts.read crm.schemas.deals.read oauth"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
#[ENV_SECRET]
#[ENV_SECRET]
#HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_SCOPE="timeline"
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
#[ENV_SECRET]
#[ENV_SECRET]
#AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
#AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.dev.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,commands,dnd:read,groups:read,im:read,im:write,incoming-webhook,mpim:read,mpim:write,usergroups:read,users.profile:read,users:read,users:read.email"
[ENV_SECRET]
SLACK_APP_ID=A5YUTRUNP
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/google
GOOGLE_SCOPE="email openid profile https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/gmail.readonly"
[ENV_SECRET]
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/office
#MICROSOFT_OFFICE_SCOPE="Calendars.ReadWrite"
MICROSOFT_OFFICE_SCOPE="https://graph.microsoft.com/Calendars.ReadWrite https://graph.microsoft.com/OnlineMeetings.Read openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
[ENV_SECRET]
ZOOM_SCOPE=""
ZOOM_APP_ID=
[ENV_SECRET]
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
#
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&action=Login&username={username}&password=[PASSWORD] redirect_uri}&state={recommended state value}
#https://auth.bullhornstaffing.com/oauth/token?grant_type=authorization_code&code={auth_code}&client_id={client_id}&client_secret={client_secret}&redirect_uri={optional redirect_uri}
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&redirect_uri={optional redirect_uri}&state={recommended state value} *
#The user enters a valid Bullhorn username/password combination and clicks the Login button. A Terms of Service page is displayed. * User clicks the Agree button to accept the terms of service. *
#The page is redirected to the redirect URI with a code query parameter on the URL. The code value is the authorization code required to get an access token, which you use to get a Bullhorn session key required for REST API calls
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
# This ID is unique to the environment and need replacing after unpacking the extension
CHROME_WEB_STORE_EXT_ID=bnmndkpglijpoppflcmccddnacidanap
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=us-east-2
S3_CLIENT_DATA_BUCKET=dev.jiminny.client-data
S3_CLIENT_DATA_CLOUD_FRONT_HOST=media.app.dev.jiminny.com
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://media.app.dev.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.dev.jiminny.com'
#[ENV_SECRET]
#[ENV_SECRET]
#S3_CLIENT_DATA_REGION=eu-central-1
#S3_CLIENT_DATA_BUCKET=https://amazon-connect-b3d2d6755094
PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9080
#PROPHET_AI_WRAPPER_URL=https://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=https://prophet.staging.jiminny.com
PROPHET_AI_WRAPPER_TIMEOUT=600
FILESYSTEM_DRIVER=client-data-cloud
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
SQS_PREFIX=
SQS_QUEUE=
SQS_REGION=
KINESIS_AWS_REGION=
[ENV_SECRET]
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=
GOOGLE_TEXT_RELAY_MAILBOX=
GOOGLE_TEXT_RELAY_HOST=
GOOGLE_TEXT_RELAY_TOPIC=
GOOGLE_TEXT_RELAY_SUBSCRIPTION=
ELASTICSEARCH_HOST=elasticsearch
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://app.dev.jiminny.com/
[ENV_SECRET]
SES_REGION=
BUILD_NUMBER=_BUILD_NUMBER
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
BROWSERSTACK_USERNAME=thomaslavery1
[ENV_SECRET]
BROWSERSTACK_SERVER=hub-cloud.browserstack.com
TRANSCRIPTION_PROVIDER_REMEETING_BASEURL=https://api.remeeting.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_BASEURL=https://enterprise-api.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_AUTH_USERNAME=f414440ba1a9027b0a44dcf22b92ef91
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_BASEURL=https://brain.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_AUTH_USERNAME=[EMAIL]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_SPEECHMATICS_BASEURL=https://asr.api.speechmatics.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_IBM_BASEURL=
[ENV_SECRET]
MEDIA_LIVE_AWS_REGION=
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=
MEDIA_LIVE_ACCESS_ROLE=
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=
MEDIA_LIVE_S3_BUCKET=
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
#[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=arn:aws:iam::438740370364:policy/jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
TRANSCRIPTION_SUMMARY_PROVIDER_WORDCAB_BASEURL=https://wordcab.com/api
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# should be equal accross instances
[ENV_SECRET]
# comma-separated URLs for multiple instances to forward to
# HUBSPOT_WEBHOOK_FORWARD_URLS=nikolayn.ngrok.io
#HUBSPOT_WEBHOOK_FORWARD_URLS=https://app.qai.jiminny.com
HUBSPOT_WEBHOOK_FORWARD_URLS='https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#HUBSPOT_WEBHOOK_FORWARD_URLS='https://qatest:[EMAIL],https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#SAML_ENABLED=false
#
## SAML Contact Information
#SAML2_CONTACT_TECHNICAL_NAME="Technical Support"
#SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
#SAML2_CONTACT_SUPPORT_NAME="Support Team"
#SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
#
## SAML Organization Information
#SAML2_ORGANIZATION_NAME="Jiminny"
#SAML2_ORGANIZATION_URL="https://jiminny.com"
[ENV_SECRET]
[ENV_SECRET]
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
21
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder...
|
PhpStorm
|
faVsco.js – SF [jiminny@localhost]
|
NULL
|
77134
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
->track(
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/1
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
1
1
1
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Listeners\AutomatedReports\UserPilot;
use GuzzleHttp\Exception\GuzzleException;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Queue\InteractsWithQueue;
use Jiminny\Component\Queue\Constants;
use Jiminny\Events\AutomatedReports\AutomatedReportGenerated;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\Contracts\UserContract;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Jiminny\Services\UserPilot\UserPilotClient;
use Illuminate\Support\Facades\Log;
class TrackAutomatedReportGeneratedEvent implements ShouldQueue
{
use InteractsWithQueue;
private const string EVENT_NAME_AUTOMATED_REPORT = 'automated-report-generated';
private const string EVENT_NAME_ASK_JIMINNY_REPORT = 'ask-jiminny-report-generated';
public string $queue = Constants::QUEUE_DELAYABLE;
public function __construct(
private readonly UserPilotClient $userPilotClient,
private readonly AutomatedReportsService $automatedReportsService,
) {
}
public function handle(AutomatedReportGenerated $event): void
{
if (config('services.userpilot.token') === null) {
return;
}
$automatedReport = $event->automatedReport;
$payload = $this->buildPayload($automatedReport);
$eventName = $this->resolveEventName($automatedReport);
$users = $this->resolveUsers($automatedReport);
if (empty($users)) {
Log::warning('[UserPilot] No recipients found for automated report', [
'report_id' => $automatedReport->getId(),
'is_ask_jiminny' => $automatedReport->isAskJiminnyReport(),
]);
return;
}
Log::info('[UserPilot] Sending automated report event', [
'report_id' => $automatedReport->getId(),
'event_name' => $eventName,
'recipient_count' => count($users),
]);
try {
foreach ($users as $user) {
$this->userPilotClient->track($user, $eventName, $payload);
}
} catch (GuzzleException $e) {
Log::error('[UserPilot] Failed to send automated report event', [
'report_id' => $automatedReport->getId(),
'error' => $e->getMessage(),
]);
$this->release(3600);
}
}
/**
* @return array<UserContract>
*/
private function resolveUsers(AutomatedReport $automatedReport): array
{
if ($automatedReport->isAskJiminnyReport()) {
$creator = $automatedReport->getCreator();
return $creator !== null ? [$creator] : [];
}
return $this->automatedReportsService->getRecipientUserObjects($automatedReport);
}
private function buildPayload(AutomatedReport $automatedReport): array
{
return [
'report_type' => $automatedReport->getType(),
'frequency' => $automatedReport->getFrequency(),
];
}
private function resolveEventName(AutomatedReport $automatedReport): string
{
if ($automatedReport->isAskJiminnyReport()) {
return self::EVENT_NAME_ASK_JIMINNY_REPORT;
}
return self::EVENT_NAME_AUTOMATED_REPORT;
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny...
|
PhpStorm
|
faVsco.js – TrackAutomatedReportGeneratedEvent.php
|
NULL
|
77135
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
->track(
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/1
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
1
1
1
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Listeners\AutomatedReports\UserPilot;
use GuzzleHttp\Exception\GuzzleException;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Queue\InteractsWithQueue;
use Jiminny\Component\Queue\Constants;
use Jiminny\Events\AutomatedReports\AutomatedReportGenerated;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\Contracts\UserContract;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Jiminny\Services\UserPilot\UserPilotClient;
use Illuminate\Support\Facades\Log;
class TrackAutomatedReportGeneratedEvent implements ShouldQueue
{
use InteractsWithQueue;
private const string EVENT_NAME_AUTOMATED_REPORT = 'automated-report-generated';
private const string EVENT_NAME_ASK_JIMINNY_REPORT = 'ask-jiminny-report-generated';
public string $queue = Constants::QUEUE_DELAYABLE;
public function __construct(
private readonly UserPilotClient $userPilotClient,
private readonly AutomatedReportsService $automatedReportsService,
) {
}
public function handle(AutomatedReportGenerated $event): void
{
if (config('services.userpilot.token') === null) {
return;
}
$automatedReport = $event->automatedReport;
$payload = $this->buildPayload($automatedReport);
$eventName = $this->resolveEventName($automatedReport);
$users = $this->resolveUsers($automatedReport);
if (empty($users)) {
Log::warning('[UserPilot] No recipients found for automated report', [
'report_id' => $automatedReport->getId(),
'is_ask_jiminny' => $automatedReport->isAskJiminnyReport(),
]);
return;
}
Log::info('[UserPilot] Sending automated report event', [
'report_id' => $automatedReport->getId(),
'event_name' => $eventName,
'recipient_count' => count($users),
]);
try {
foreach ($users as $user) {
$this->userPilotClient->track($user, $eventName, $payload);
}
} catch (GuzzleException $e) {
Log::error('[UserPilot] Failed to send automated report event', [
'report_id' => $automatedReport->getId(),
'error' => $e->getMessage(),
]);
$this->release(3600);
}
}
/**
* @return array<UserContract>
*/
private function resolveUsers(AutomatedReport $automatedReport): array
{
if ($automatedReport->isAskJiminnyReport()) {
$creator = $automatedReport->getCreator();
return $creator !== null ? [$creator] : [];
}
return $this->automatedReportsService->getRecipientUserObjects($automatedReport);
}
private function buildPayload(AutomatedReport $automatedReport): array
{
return [
'report_type' => $automatedReport->getType(),
'frequency' => $automatedReport->getFrequency(),
];
}
private function resolveEventName(AutomatedReport $automatedReport): string
{
if ($automatedReport->isAskJiminnyReport()) {
return self::EVENT_NAME_ASK_JIMINNY_REPORT;
}
return self::EVENT_NAME_AUTOMATED_REPORT;
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
21
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;...
|
PhpStorm
|
faVsco.js – TrackAutomatedReportGeneratedEvent.php
|
NULL
|
77136
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
->track(
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/1
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
1
1
1
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Listeners\AutomatedReports\UserPilot;
use GuzzleHttp\Exception\GuzzleException;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Queue\InteractsWithQueue;
use Jiminny\Component\Queue\Constants;
use Jiminny\Events\AutomatedReports\AutomatedReportGenerated;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\Contracts\UserContract;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Jiminny\Services\UserPilot\UserPilotClient;
use Illuminate\Support\Facades\Log;
class TrackAutomatedReportGeneratedEvent implements ShouldQueue
{
use InteractsWithQueue;
private const string EVENT_NAME_AUTOMATED_REPORT = 'automated-report-generated';
private const string EVENT_NAME_ASK_JIMINNY_REPORT = 'ask-jiminny-report-generated';
public string $queue = Constants::QUEUE_DELAYABLE;
public function __construct(
private readonly UserPilotClient $userPilotClient,
private readonly AutomatedReportsService $automatedReportsService,
) {
}
public function handle(AutomatedReportGenerated $event): void
{
if (config('services.userpilot.token') === null) {
return;
}
$automatedReport = $event->automatedReport;
$payload = $this->buildPayload($automatedReport);
$eventName = $this->resolveEventName($automatedReport);
$users = $this->resolveUsers($automatedReport);
if (empty($users)) {
Log::warning('[UserPilot] No recipients found for automated report', [
'report_id' => $automatedReport->getId(),
'is_ask_jiminny' => $automatedReport->isAskJiminnyReport(),
]);
return;
}
Log::info('[UserPilot] Sending automated report event', [
'report_id' => $automatedReport->getId(),
'event_name' => $eventName,
'recipient_count' => count($users),
]);
try {
foreach ($users as $user) {
$this->userPilotClient->track($user, $eventName, $payload);
}
} catch (GuzzleException $e) {
Log::error('[UserPilot] Failed to send automated report event', [
'report_id' => $automatedReport->getId(),
'error' => $e->getMessage(),
]);
$this->release(3600);
}
}
/**
* @return array<UserContract>
*/
private function resolveUsers(AutomatedReport $automatedReport): array
{
if ($automatedReport->isAskJiminnyReport()) {
$creator = $automatedReport->getCreator();
return $creator !== null ? [$creator] : [];
}
return $this->automatedReportsService->getRecipientUserObjects($automatedReport);
}
private function buildPayload(AutomatedReport $automatedReport): array
{
return [
'report_type' => $automatedReport->getType(),
'frequency' => $automatedReport->getFrequency(),
];
}
private function resolveEventName(AutomatedReport $automatedReport): string
{
if ($automatedReport->isAskJiminnyReport()) {
return self::EVENT_NAME_ASK_JIMINNY_REPORT;
}
return self::EVENT_NAME_AUTOMATED_REPORT;
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
21
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
PhpStorm
|
faVsco.js – TrackAutomatedReportGeneratedEvent.php
|
NULL
|
77137
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
->track(
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/1
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
1
1
1
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Listeners\AutomatedReports\UserPilot;
use GuzzleHttp\Exception\GuzzleException;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Queue\InteractsWithQueue;
use Jiminny\Component\Queue\Constants;
use Jiminny\Events\AutomatedReports\AutomatedReportGenerated;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\Contracts\UserContract;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Jiminny\Services\UserPilot\UserPilotClient;
use Illuminate\Support\Facades\Log;
class TrackAutomatedReportGeneratedEvent implements ShouldQueue
{
use InteractsWithQueue;
private const string EVENT_NAME_AUTOMATED_REPORT = 'automated-report-generated';
private const string EVENT_NAME_ASK_JIMINNY_REPORT = 'ask-jiminny-report-generated';
public string $queue = Constants::QUEUE_DELAYABLE;
public function __construct(
private readonly UserPilotClient $userPilotClient,
private readonly AutomatedReportsService $automatedReportsService,
) {
}
public function handle(AutomatedReportGenerated $event): void
{
if (config('services.userpilot.token') === null) {
return;
}
$automatedReport = $event->automatedReport;
$payload = $this->buildPayload($automatedReport);
$eventName = $this->resolveEventName($automatedReport);
$users = $this->resolveUsers($automatedReport);
if (empty($users)) {
Log::warning('[UserPilot] No recipients found for automated report', [
'report_id' => $automatedReport->getId(),
'is_ask_jiminny' => $automatedReport->isAskJiminnyReport(),
]);
return;
}
Log::info('[UserPilot] Sending automated report event', [
'report_id' => $automatedReport->getId(),
'event_name' => $eventName,
'recipient_count' => count($users),
]);
try {
foreach ($users as $user) {
$this->userPilotClient->track($user, $eventName, $payload);
}
} catch (GuzzleException $e) {
Log::error('[UserPilot] Failed to send automated report event', [
'report_id' => $automatedReport->getId(),
'error' => $e->getMessage(),
]);
$this->release(3600);
}
}
/**
* @return array<UserContract>
*/
private function resolveUsers(AutomatedReport $automatedReport): array
{
if ($automatedReport->isAskJiminnyReport()) {
$creator = $automatedReport->getCreator();
return $creator !== null ? [$creator] : [];
}
return $this->automatedReportsService->getRecipientUserObjects($automatedReport);
}
private function buildPayload(AutomatedReport $automatedReport): array
{
return [
'report_type' => $automatedReport->getType(),
'frequency' => $automatedReport->getFrequency(),
];
}
private function resolveEventName(AutomatedReport $automatedReport): string
{
if ($automatedReport->isAskJiminnyReport()) {
return self::EVENT_NAME_ASK_JIMINNY_REPORT;
}
return self::EVENT_NAME_AUTOMATED_REPORT;
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
21
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
PhpStorm
|
faVsco.js – TrackAutomatedReportGeneratedEvent.php
|
NULL
|
77138
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
->track(
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/1
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
1
1
1
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Listeners\AutomatedReports\UserPilot;
use GuzzleHttp\Exception\GuzzleException;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Queue\InteractsWithQueue;
use Jiminny\Component\Queue\Constants;
use Jiminny\Events\AutomatedReports\AutomatedReportGenerated;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\Contracts\UserContract;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Jiminny\Services\UserPilot\UserPilotClient;
use Illuminate\Support\Facades\Log;
class TrackAutomatedReportGeneratedEvent implements ShouldQueue
{
use InteractsWithQueue;
private const string EVENT_NAME_AUTOMATED_REPORT = 'automated-report-generated';
private const string EVENT_NAME_ASK_JIMINNY_REPORT = 'ask-jiminny-report-generated';
public string $queue = Constants::QUEUE_DELAYABLE;
public function __construct(
private readonly UserPilotClient $userPilotClient,
private readonly AutomatedReportsService $automatedReportsService,
) {
}
public function handle(AutomatedReportGenerated $event): void
{
if (config('services.userpilot.token') === null) {
return;
}
$automatedReport = $event->automatedReport;
$payload = $this->buildPayload($automatedReport);
$eventName = $this->resolveEventName($automatedReport);
$users = $this->resolveUsers($automatedReport);
if (empty($users)) {
Log::warning('[UserPilot] No recipients found for automated report', [
'report_id' => $automatedReport->getId(),
'is_ask_jiminny' => $automatedReport->isAskJiminnyReport(),
]);
return;
}
Log::info('[UserPilot] Sending automated report event', [
'report_id' => $automatedReport->getId(),
'event_name' => $eventName,
'recipient_count' => count($users),
]);
try {
foreach ($users as $user) {
$this->userPilotClient->track($user, $eventName, $payload);
}
} catch (GuzzleException $e) {
Log::error('[UserPilot] Failed to send automated report event', [
'report_id' => $automatedReport->getId(),
'error' => $e->getMessage(),
]);
$this->release(3600);
}
}
/**
* @return array<UserContract>
*/
private function resolveUsers(AutomatedReport $automatedReport): array
{
if ($automatedReport->isAskJiminnyReport()) {
$creator = $automatedReport->getCreator();
return $creator !== null ? [$creator] : [];
}
return $this->automatedReportsService->getRecipientUserObjects($automatedReport);
}
private function buildPayload(AutomatedReport $automatedReport): array
{
return [
'report_type' => $automatedReport->getType(),
'frequency' => $automatedReport->getFrequency(),
];
}
private function resolveEventName(AutomatedReport $automatedReport): string
{
if ($automatedReport->isAskJiminnyReport()) {
return self::EVENT_NAME_ASK_JIMINNY_REPORT;
}
return self::EVENT_NAME_AUTOMATED_REPORT;
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
21
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options...
|
PhpStorm
|
faVsco.js – TrackAutomatedReportGeneratedEvent.php
|
NULL
|
77139
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
->track(
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/1
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
1
DMSActivityMorerireroxToolsHelpcalMistorbookmarksJiminny …..vXStarredi• jiminny-x-integrati..8 platform-inner-teamE) Channels# ai-chapter# ai-team# alerts# backend# c-learning-peoplei confusion-clinic# curiosity_labadeal-insichts-dev# engineering# frontend# general# infra-changes# jiminny-bg8 people-with-copilo...8 people-with-zoom-# platform-team# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the Deople of iimi...ProtllesWindow& platform-inner-...& 10MessagesChannel OverviewMoreYesterdayjinnylaop Aor 22nd Added by GitHubNikolay Ivanov 3:24 PMнякой нещо да е настроивал по githubactions. Почна да прави къмити вместо менбез да съм му разрешевал?https:/github.com/lminnv/app/pull/1200//changes/a68f42f210859f838a4fdced451f750627besoioИли нещо аз не разбирам?0AA0e 20 replies Last reply 18...Nikolay Yankov 3:50PMreplied to a uhread: някои нешо ла е насто..лол. ами предлагам маи ла му заораним лапускам към всички ла вилятNikolav Yankov 9.38 AMЩе се забавя за дейлито. Започнете без Мен.Aneliva Angelova 9:43 AMIДобро утро, няма да успея да вляза влейлито. Пествам ньлжовете.Message & platform-inner-team+ Aa I..•) New TabAl reports promotion pages by nik• JY-9712 | Nuges to expire after on8 Jiminnyu Userpilot Logged-activityJY-20157 add not enough activ XPipelines - jiminny/app+ New Tab©github.com/jimjiminny / app 8<> Code87 Pull requests 31( Agents |© Actions•• Wiki © Security and quality 32 ~ Insights 3 Settings@ On April 24 we'll start using GitHub Copilot interaction data for Al model training unless you opt out. Review this update and manage your preferences in your GitHub account settings.JY-20157 add not enough activities notification #12011 •$1 Open LakyLak wants to merge 2 commits into master from JY-20157-AJ-report-not-send-notification@) Conversation o• Commits 2|- Checks 21E Files changed 13A © All commits +Q Filter files...apo/Console/Commands/Reports/AutomatedReportsCommand.ohp@ -61,21 +61,29 @ public function handle(): intv = Console/Commands/Renorts|Snow = Carbon: : now();E AutomatedReportsCommand...v Jobs/AutomatedReportsE RequestGenerateAskJiminnyR...SendReportNotGeneratedMail...v @ Listeners/AutomatedReports/U….E TrackAutomatedReportGener...v # Mail/ReportsS1sMondav = Snow->1SMonday)S1sr1rstDayUtMonth = Snow->day === 1;ScurrentMonth = Snow->month.// Check if the current month is a quarterly month (January, April, July, October)$isQuarterlyMonth = in_array($currentMonth, [1, 4, 7, 10], true);$this->logger->info(self::LOG_PREFIX . ' Checking conditions', [+ ReportNotGenerated.ohp |"1SMonday' => S1SMonday,~ E Services/Kiosk/AutomatedRepo…..AskJiminnyReportActivityServ…'isFirstDay0fMonth' => SisFirstDay0fMonth,'currentMonth' => ScurrentMonth.E AutomatedReportsService.php'isQuarterlyMonth' => SisQuarterlyMonth,~E resources/views/emails/reportsreport-not-generated.blade.php/I Process dailv revortsl• F tests/UnitSthis->processReports(AutomatedReportsService::FREQUENCYDAILY):~ Jobs/AutomatedReportsE ReguestGenerateAsk JiminnvR....v = listeners/AutomatedRenorts/U.₴ TrackAutomatedReportGener..v E Services/Kiosk/AutomatedRepo…..E AskJiminnyReportActivityServ....AutomatedReportsServiceActi…./ Process weekly renorts on Mondavcif (SisMondav) {64 +67 +74 +86 +@40@ Daily - Platform - nowQ Type to search100% C4 8• Fri 24 Apr 9:46:13• Checks pending Code • (Preview) -+384 -52 9000C 0 I 13 viewedSubmit review+10 -2 mane [ Viewed0 ...Snow = Carhon:.nowdSisMondav = Snow->1SMonday)"Sisweekend = $now->isWeekend():SisFirstDay0fMonth = Snow->day === 1;ScurrentMonth = Snow->month.SisManualTrigger = $this->option('report-id') !== null;// Check if the current month is a quarterly month (January, April, July, October)$isQuarterlyMonth = in_array($currentMonth, [1, 4, 7, 10], true);Sthis->loager->info(self::L0G PREFIX . ' Checkina conditions'. [I"isMonday' => SisMonday,'isweekend' => $isWeekend,'isFirstDay0fMonth' => $isFirstDay0fMonth,'currentMonth' => ScurrentMonth.l'isQuarterlyMonth' => SisQuarterlyMonth,/ Process dailv renorts on weekdavs onlv (skio Saturdav/Sundav)...// Manual triggers via --report-id bypass the weekend skip.if (I Sisweekend || SisManualTriager) {Sthis->processReports(AutomatedReportsService::FREQUENCY_DAILY):} else {ISthis->logger->info(self::L0G PREFIX . ' Skipping daily reports on weekend'):/ Process weekly renorts on Mondavslif (SisMonday) {...
|
PhpStorm
|
faVsco.js – TrackAutomatedReportGeneratedEvent.php
|
NULL
|
77140
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
->track(
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/1
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
1
1
1
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Listeners\AutomatedReports\UserPilot;
use GuzzleHttp\Exception\GuzzleException;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Queue\InteractsWithQueue;
use Jiminny\Component\Queue\Constants;
use Jiminny\Events\AutomatedReports\AutomatedReportGenerated;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\Contracts\UserContract;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Jiminny\Services\UserPilot\UserPilotClient;
use Illuminate\Support\Facades\Log;
class TrackAutomatedReportGeneratedEvent implements ShouldQueue
{
use InteractsWithQueue;
private const string EVENT_NAME_AUTOMATED_REPORT = 'automated-report-generated';
private const string EVENT_NAME_ASK_JIMINNY_REPORT = 'ask-jiminny-report-generated';
public string $queue = Constants::QUEUE_DELAYABLE;
public function __construct(
private readonly UserPilotClient $userPilotClient,
private readonly AutomatedReportsService $automatedReportsService,
) {
}
public function handle(AutomatedReportGenerated $event): void
{
if (config('services.userpilot.token') === null) {
return;
}
$automatedReport = $event->automatedReport;
$payload = $this->buildPayload($automatedReport);
$eventName = $this->resolveEventName($automatedReport);
$users = $this->resolveUsers($automatedReport);
if (empty($users)) {
Log::warning('[UserPilot] No recipients found for automated report', [
'report_id' => $automatedReport->getId(),
'is_ask_jiminny' => $automatedReport->isAskJiminnyReport(),
]);
return;
}
Log::info('[UserPilot] Sending automated report event', [
'report_id' => $automatedReport->getId(),
'event_name' => $eventName,
'recipient_count' => count($users),
]);
try {
foreach ($users as $user) {
$this->userPilotClient->track($user, $eventName, $payload);
}
} catch (GuzzleException $e) {
Log::error('[UserPilot] Failed to send automated report event', [
'report_id' => $automatedReport->getId(),
'error' => $e->getMessage(),
]);
$this->release(3600);
}
}
/**
* @return array<UserContract>
*/
private function resolveUsers(AutomatedReport $automatedReport): array
{
if ($automatedReport->isAskJiminnyReport()) {
$creator = $automatedReport->getCreator();
return $creator !== null ? [$creator] : [];
}
return $this->automatedReportsService->getRecipientUserObjects($automatedReport);
}
private function buildPayload(AutomatedReport $automatedReport): array
{
return [
'report_type' => $automatedReport->getType(),
'frequency' => $automatedReport->getFrequency(),
];
}
private function resolveEventName(AutomatedReport $automatedReport): string
{
if ($automatedReport->isAskJiminnyReport()) {
return self::EVENT_NAME_ASK_JIMINNY_REPORT;
}
return self::EVENT_NAME_AUTOMATED_REPORT;
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
21
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
PhpStorm
|
faVsco.js – TrackAutomatedReportGeneratedEvent.php
|
NULL
|
77143
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
->track(
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/1
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
1
1
1
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Listeners\AutomatedReports\UserPilot;
use GuzzleHttp\Exception\GuzzleException;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Queue\InteractsWithQueue;
use Jiminny\Component\Queue\Constants;
use Jiminny\Events\AutomatedReports\AutomatedReportGenerated;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\Contracts\UserContract;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Jiminny\Services\UserPilot\UserPilotClient;
use Illuminate\Support\Facades\Log;
class TrackAutomatedReportGeneratedEvent implements ShouldQueue
{
use InteractsWithQueue;
private const string EVENT_NAME_AUTOMATED_REPORT = 'automated-report-generated';
private const string EVENT_NAME_ASK_JIMINNY_REPORT = 'ask-jiminny-report-generated';
public string $queue = Constants::QUEUE_DELAYABLE;
public function __construct(
private readonly UserPilotClient $userPilotClient,
private readonly AutomatedReportsService $automatedReportsService,
) {
}
public function handle(AutomatedReportGenerated $event): void
{
if (config('services.userpilot.token') === null) {
return;
}
$automatedReport = $event->automatedReport;
$payload = $this->buildPayload($automatedReport);
$eventName = $this->resolveEventName($automatedReport);
$users = $this->resolveUsers($automatedReport);
if (empty($users)) {
Log::warning('[UserPilot] No recipients found for automated report', [
'report_id' => $automatedReport->getId(),
'is_ask_jiminny' => $automatedReport->isAskJiminnyReport(),
]);
return;
}
Log::info('[UserPilot] Sending automated report event', [
'report_id' => $automatedReport->getId(),
'event_name' => $eventName,
'recipient_count' => count($users),
]);
try {
foreach ($users as $user) {
$this->userPilotClient->track($user, $eventName, $payload);
}
} catch (GuzzleException $e) {
Log::error('[UserPilot] Failed to send automated report event', [
'report_id' => $automatedReport->getId(),
'error' => $e->getMessage(),
]);
$this->release(3600);
}
}
/**
* @return array<UserContract>
*/
private function resolveUsers(AutomatedReport $automatedReport): array
{
if ($automatedReport->isAskJiminnyReport()) {
$creator = $automatedReport->getCreator();
return $creator !== null ? [$creator] : [];
}
return $this->automatedReportsService->getRecipientUserObjects($automatedReport);
}
private function buildPayload(AutomatedReport $automatedReport): array
{
return [
'report_type' => $automatedReport->getType(),
'frequency' => $automatedReport->getFrequency(),
];
}
private function resolveEventName(AutomatedReport $automatedReport): string
{
if ($automatedReport->isAskJiminnyReport()) {
return self::EVENT_NAME_ASK_JIMINNY_REPORT;
}
return self::EVENT_NAME_AUTOMATED_REPORT;
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
21
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
PhpStorm
|
faVsco.js – TrackAutomatedReportGeneratedEvent.php
|
NULL
|
77144
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
2
116
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Console\Commands;
use Carbon\Carbon;
use Illuminate\Console\Command;
use InvalidArgumentException;
use Jiminny\Jobs\AutomatedReports\RequestGenerateAskJiminnyReportJob;
use Jiminny\Jobs\AutomatedReports\SendReportMailJob;
use Jiminny\Jobs\JobDispatcherInterface;
use Jiminny\Models\Activity;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\AutomatedReportResult;
use Jiminny\Models\Team;
use Jiminny\Models\User;
use Jiminny\Repositories\AutomatedReportsRepository;
use Jiminny\Services\Activity\CrmOwnerResolver;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
/**
* Class JiminnyDebugCommand
*
* @package Jiminny\Console\Commands
*/
class JiminnyDebugCommand extends Command
{
public const string FREQUENCY_DAILY = 'daily';
public const string FREQUENCY_WEEKLY = 'weekly';
public const string FREQUENCY_MONTHLY = 'monthly';
public const string FREQUENCY_QUARTERLY = 'quarterly';
public const string FREQUENCY_ONE_OFF = 'one_off';
protected $signature = 'jiminny:debug';
public function handle(
JobDispatcherInterface $jobDispatcher,
AutomatedReportsService $automatedReportsService,
AutomatedReportsRepository $automatedReportsRepository,
): void {
// $user = User::find(143);
// $count = $automatedReportsRepository->countUserReports($user);
// $this->info("Count: {$count}");
// $count = $automatedReportsRepository->countAllUserReports($user);
// $this->info("All count: {$count}");
//
// exit(1);
$now = Carbon::now()->subDay(1);
$this->info("Now: {$now->toDateTimeString()}");
$weekStart = Carbon::getWeekStartsAt();
$this->info("Now: {$weekStart}");
// $from = $now->copy()->previousWeekday()->startOfDay();
// $to = $now->copy()->previousWeekday()->endOfDay();
// $fromOld = $now->copy()->subWeeks(1)->startOfDay();
// $toOld = $now->copy()->subDay()->endOfDay();
// $fromNew = $now->copy()->subWeek()->startOfWeek();
// $toNew = $now->copy()->subWeek()->endOfWeek();
// $fromOld = $now->copy()->subMonths(1)->startOfDay();
// $toOld = $now->copy()->subDay()->endOfDay();
// $fromNew = $now->copy()->subMonthNoOverflow()->startOfMonth();
// $toNew = $now->copy()->subMonthNoOverflow()->endOfMonth();
$fromOld = $now->copy()->subMonths(3)->startOfDay();
$toOld = $now->copy()->subDay()->endOfDay();
$fromNew = $now->copy()->subQuarterNoOverflow()->startOfQuarter();
$toNew = $now->copy()->subQuarterNoOverflow()->endOfQuarter();
$this->info("From old: {$fromOld->toDateTimeString()}");
$this->info("To old: {$toOld->toDateTimeString()}");
$this->info("From new: {$fromNew->toDateTimeString()}");
$this->info("To new: {$toNew->toDateTimeString()}");
exit(1);
$report = AutomatedReport::find(71);
$job = new RequestGenerateAskJiminnyReportJob($report->getUuid());
$jobDispatcher->dispatch($job);
exit(1);
// $this->formatDate($jobDispatcher);
// $this->sendMail($jobDispatcher, $automatedReportsService);
// $this->crmService();
$this->getPayload($automatedReportsService);
exit(1);
}
private function crmService()
{
$activity = Activity::find(418141);
$team = Team::find(19);
$config = $team->getCrmConfiguration();
$crmResolver = app(CrmOwnerResolver::class, [
'team' => $team,
'integrationAdmin' => $team->getOwner(),
'providerSlug' => $config->getProviderName(),
]);
$crmService = $crmResolver->prepareCrmService();
$crmService->createTranscriptNotes($activity);
}
private function sendMail(JobDispatcherInterface $jobDispatcher, AutomatedReportsService $automatedReportsService)
{
$reportUuid = '';
// $report = $automatedReportsService->getReportResult($reportUuid);
$report = AutomatedReportResult::find(275);
$validRecipients = $automatedReportsService->getValidRecipientUsers(
$report->getReport(),
includeJiminny: true,
);
$recipient = $validRecipients[0];
$fileName = $automatedReportsService->getReportFileName($report);
$typeName = $report->getReport()->getCustomName()
?? $automatedReportsService->getReportTypeName($report);
$teamsName = $automatedReportsService->getReportTeamsName($report);
$periodName = $automatedReportsService->getReportPeriodName($report);
$s3Path = $automatedReportsService->getMediaPath($report);
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$fileName ' . PHP_EOL . print_r($fileName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$typeName ' . PHP_EOL . print_r($typeName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$teamsName ' . PHP_EOL . print_r($teamsName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$periodName ' . PHP_EOL . print_r($periodName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$s3Path ' . PHP_EOL . print_r($s3Path, true));
$jobDispatcher->dispatch(
new SendReportMailJob(
reportUuid: $report->getUuid(),
s3Path: $s3Path,
recipientEmail: $recipient['email'],
recipientName: $recipient['name'] ?? null,
fileName: $fileName,
typeName: $typeName,
teamsName: $teamsName,
periodName: $periodName,
isAskJiminny: true,
)
);
exit(1);
}
private function formatDate(JobDispatcherInterface $jobDispatcher): void
{
$customName = 'Custom report name';
// $frequency = self::FREQUENCY_DAILY;
// $frequency = self::FREQUENCY_WEEKLY;
$frequency = self::FREQUENCY_MONTHLY;
// $frequency = self::FREQUENCY_QUARTERLY;
// $frequency = self::FREQUENCY_ONE_OFF;
$period = $this->calculateFromAndToDatePeriod($frequency);
$from = $period['fromDate'];
$to = $period['toDate'];
$periodName = $this->formatReportPeriodName($frequency, $from, $to);
$filenameSuffix = null;
if ($customName) {
if ($filenameSuffix) {
$customName .= " {$filenameSuffix}";
}
$result = $this->sanitizeFileName("{$customName} - {$periodName}");
}
$this->info($result);
}
public function calculateFromAndToDatePeriod(
string $frequency,
?Carbon $fromDate = null,
?Carbon $toDate = null
): array {
if ($frequency === self::FREQUENCY_ONE_OFF) {
return [
'fromDate' => $fromDate,
'toDate' => $toDate,
];
}
$now = Carbon::now();
return match ($frequency) {
self::FREQUENCY_DAILY => [
'fromDate' => $now->copy()->subDay()->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
self::FREQUENCY_WEEKLY => [
'fromDate' => $now->copy()->subWeeks(1)->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
self::FREQUENCY_MONTHLY => [
'fromDate' => $now->copy()->subMonths(1)->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
self::FREQUENCY_QUARTERLY => [
'fromDate' => $now->copy()->subMonths(3)->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
default => throw new InvalidArgumentException("Unsupported frequency: {$frequency}"),
};
}
private function formatReportPeriodName(string $frequency, Carbon $from, Carbon $to): string
{
$fromYear = $from->format('Y');
$toYear = $to->format('Y');
$differentYears = $fromYear !== $toYear;
switch ($frequency) {
case self::FREQUENCY_DAILY:
return $from->format('j M Y');
case self::FREQUENCY_QUARTERLY:
// 'Jan-Mar 2025' or 'Nov 2024-Jan 2025' if years differ
$startMonth = $from->format('M');
$endMonth = $to->copy()->subMonth();
$endMonthName = $endMonth->format('M');
$endMonthYear = $endMonth->format('Y');
if ($differentYears) {
return "{$startMonth} {$fromYear} - {$endMonthName} {$endMonthYear}";
}
return "{$startMonth} - {$endMonthName} {$toYear}";
case self::FREQUENCY_MONTHLY:
// 'May 2025' - monthly reports are always within the same year
return $from->format('M Y');
case self::FREQUENCY_WEEKLY:
// '4 - 8 Aug 2025', '27 Oct - 3 Nov 2025', or '28 Dec 2024 - 3 Jan 2025' if years differ
$startDay = $from->format('j');
$endDay = $to->format('j');
$startMonth = $from->format('M');
$endMonth = $to->format('M');
if ($differentYears) {
return "{$startDay} {$startMonth} {$fromYear} - {$endDay} {$endMonth} {$toYear}";
}
if ($startMonth !== $endMonth) {
return "{$startDay} {$startMonth} - {$endDay} {$endMonth} {$toYear}";
}
return "{$startDay} - {$endDay} {$endMonth} {$toYear}";
case self::FREQUENCY_ONE_OFF:
// '2 May-31 May 2025' or '15 Dec 2024-15 Jan 2025' if years differ
$startDay = $from->format('j');
$startMonth = $from->format('M');
$endDay = $to->format('j');
$endMonth = $to->format('M');
// If same month and year, use a format like '2-31 May 2025'
if ($startMonth === $endMonth && ! $differentYears) {
return "{$startDay} - {$endDay} {$startMonth} {$toYear}";
}
// If different years, include both years
if ($differentYears) {
return "{$startDay} {$startMonth} {$fromYear} - {$endDay} {$endMonth} {$toYear}";
}
// Same year but different months
return "{$startDay} {$startMonth} - {$endDay} {$endMonth} {$toYear}";
default:
// Default format for unknown frequencies
return $from->format('j M Y') . ' - ' . $to->format('j M Y');
}
}
public function sanitizeFileName(string $fileName): string
{
return str_replace(['/', '\\'], '-', $fileName);
}
private function getPayload(AutomatedReportsService $automatedReportsService)
{
$reportResult = AutomatedReportResult::find(269);
$automatedReport = $reportResult->getReport();
$activityIds = [1,2,3];
$payload = $automatedReportsService->getAskJiminnyGenerateReportPayload(
automatedReport: $automatedReport,
reportResult: $reportResult,
activityIds: $activityIds,
);
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$payload ' . PHP_EOL . print_r($payload, true));
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
21
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
PhpStorm
|
faVsco.js – JiminnyDebugCommand.php
|
NULL
|
77145
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
2
116
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Console\Commands;
use Carbon\Carbon;
use Illuminate\Console\Command;
use InvalidArgumentException;
use Jiminny\Jobs\AutomatedReports\RequestGenerateAskJiminnyReportJob;
use Jiminny\Jobs\AutomatedReports\SendReportMailJob;
use Jiminny\Jobs\JobDispatcherInterface;
use Jiminny\Models\Activity;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\AutomatedReportResult;
use Jiminny\Models\Team;
use Jiminny\Models\User;
use Jiminny\Repositories\AutomatedReportsRepository;
use Jiminny\Services\Activity\CrmOwnerResolver;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
/**
* Class JiminnyDebugCommand
*
* @package Jiminny\Console\Commands
*/
class JiminnyDebugCommand extends Command
{
public const string FREQUENCY_DAILY = 'daily';
public const string FREQUENCY_WEEKLY = 'weekly';
public const string FREQUENCY_MONTHLY = 'monthly';
public const string FREQUENCY_QUARTERLY = 'quarterly';
public const string FREQUENCY_ONE_OFF = 'one_off';
protected $signature = 'jiminny:debug';
public function handle(
JobDispatcherInterface $jobDispatcher,
AutomatedReportsService $automatedReportsService,
AutomatedReportsRepository $automatedReportsRepository,
): void {
// $user = User::find(143);
// $count = $automatedReportsRepository->countUserReports($user);
// $this->info("Count: {$count}");
// $count = $automatedReportsRepository->countAllUserReports($user);
// $this->info("All count: {$count}");
//
// exit(1);
$now = Carbon::now()->subDay(1);
$this->info("Now: {$now->toDateTimeString()}");
$weekStart = Carbon::getWeekStartsAt();
$this->info("Now: {$weekStart}");
// $from = $now->copy()->previousWeekday()->startOfDay();
// $to = $now->copy()->previousWeekday()->endOfDay();
// $fromOld = $now->copy()->subWeeks(1)->startOfDay();
// $toOld = $now->copy()->subDay()->endOfDay();
// $fromNew = $now->copy()->subWeek()->startOfWeek();
// $toNew = $now->copy()->subWeek()->endOfWeek();
// $fromOld = $now->copy()->subMonths(1)->startOfDay();
// $toOld = $now->copy()->subDay()->endOfDay();
// $fromNew = $now->copy()->subMonthNoOverflow()->startOfMonth();
// $toNew = $now->copy()->subMonthNoOverflow()->endOfMonth();
$fromOld = $now->copy()->subMonths(3)->startOfDay();
$toOld = $now->copy()->subDay()->endOfDay();
$fromNew = $now->copy()->subQuarterNoOverflow()->startOfQuarter();
$toNew = $now->copy()->subQuarterNoOverflow()->endOfQuarter();
$this->info("From old: {$fromOld->toDateTimeString()}");
$this->info("To old: {$toOld->toDateTimeString()}");
$this->info("From new: {$fromNew->toDateTimeString()}");
$this->info("To new: {$toNew->toDateTimeString()}");
exit(1);
$report = AutomatedReport::find(71);
$job = new RequestGenerateAskJiminnyReportJob($report->getUuid());
$jobDispatcher->dispatch($job);
exit(1);
// $this->formatDate($jobDispatcher);
// $this->sendMail($jobDispatcher, $automatedReportsService);
// $this->crmService();
$this->getPayload($automatedReportsService);
exit(1);
}
private function crmService()
{
$activity = Activity::find(418141);
$team = Team::find(19);
$config = $team->getCrmConfiguration();
$crmResolver = app(CrmOwnerResolver::class, [
'team' => $team,
'integrationAdmin' => $team->getOwner(),
'providerSlug' => $config->getProviderName(),
]);
$crmService = $crmResolver->prepareCrmService();
$crmService->createTranscriptNotes($activity);
}
private function sendMail(JobDispatcherInterface $jobDispatcher, AutomatedReportsService $automatedReportsService)
{
$reportUuid = '';
// $report = $automatedReportsService->getReportResult($reportUuid);
$report = AutomatedReportResult::find(275);
$validRecipients = $automatedReportsService->getValidRecipientUsers(
$report->getReport(),
includeJiminny: true,
);
$recipient = $validRecipients[0];
$fileName = $automatedReportsService->getReportFileName($report);
$typeName = $report->getReport()->getCustomName()
?? $automatedReportsService->getReportTypeName($report);
$teamsName = $automatedReportsService->getReportTeamsName($report);
$periodName = $automatedReportsService->getReportPeriodName($report);
$s3Path = $automatedReportsService->getMediaPath($report);
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$fileName ' . PHP_EOL . print_r($fileName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$typeName ' . PHP_EOL . print_r($typeName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$teamsName ' . PHP_EOL . print_r($teamsName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$periodName ' . PHP_EOL . print_r($periodName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$s3Path ' . PHP_EOL . print_r($s3Path, true));
$jobDispatcher->dispatch(
new SendReportMailJob(
reportUuid: $report->getUuid(),
s3Path: $s3Path,
recipientEmail: $recipient['email'],
recipientName: $recipient['name'] ?? null,
fileName: $fileName,
typeName: $typeName,
teamsName: $teamsName,
periodName: $periodName,
isAskJiminny: true,
)
);
exit(1);
}
private function formatDate(JobDispatcherInterface $jobDispatcher): void
{
$customName = 'Custom report name';
// $frequency = self::FREQUENCY_DAILY;
// $frequency = self::FREQUENCY_WEEKLY;
$frequency = self::FREQUENCY_MONTHLY;
// $frequency = self::FREQUENCY_QUARTERLY;
// $frequency = self::FREQUENCY_ONE_OFF;
$period = $this->calculateFromAndToDatePeriod($frequency);
$from = $period['fromDate'];
$to = $period['toDate'];
$periodName = $this->formatReportPeriodName($frequency, $from, $to);
$filenameSuffix = null;
if ($customName) {
if ($filenameSuffix) {
$customName .= " {$filenameSuffix}";
}
$result = $this->sanitizeFileName("{$customName} - {$periodName}");
}
$this->info($result);
}
public function calculateFromAndToDatePeriod(
string $frequency,
?Carbon $fromDate = null,
?Carbon $toDate = null
): array {
if ($frequency === self::FREQUENCY_ONE_OFF) {
return [
'fromDate' => $fromDate,
'toDate' => $toDate,
];
}
$now = Carbon::now();
return match ($frequency) {
self::FREQUENCY_DAILY => [
'fromDate' => $now->copy()->subDay()->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
self::FREQUENCY_WEEKLY => [
'fromDate' => $now->copy()->subWeeks(1)->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
self::FREQUENCY_MONTHLY => [
'fromDate' => $now->copy()->subMonths(1)->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
self::FREQUENCY_QUARTERLY => [
'fromDate' => $now->copy()->subMonths(3)->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
default => throw new InvalidArgumentException("Unsupported frequency: {$frequency}"),
};
}
private function formatReportPeriodName(string $frequency, Carbon $from, Carbon $to): string
{
$fromYear = $from->format('Y');
$toYear = $to->format('Y');
$differentYears = $fromYear !== $toYear;
switch ($frequency) {
case self::FREQUENCY_DAILY:
return $from->format('j M Y');
case self::FREQUENCY_QUARTERLY:
// 'Jan-Mar 2025' or 'Nov 2024-Jan 2025' if years differ
$startMonth = $from->format('M');
$endMonth = $to->copy()->subMonth();
$endMonthName = $endMonth->format('M');
$endMonthYear = $endMonth->format('Y');
if ($differentYears) {
return "{$startMonth} {$fromYear} - {$endMonthName} {$endMonthYear}";
}
return "{$startMonth} - {$endMonthName} {$toYear}";
case self::FREQUENCY_MONTHLY:
// 'May 2025' - monthly reports are always within the same year
return $from->format('M Y');
case self::FREQUENCY_WEEKLY:
// '4 - 8 Aug 2025', '27 Oct - 3 Nov 2025', or '28 Dec 2024 - 3 Jan 2025' if years differ
$startDay = $from->format('j');
$endDay = $to->format('j');
$startMonth = $from->format('M');
$endMonth = $to->format('M');
if ($differentYears) {
return "{$startDay} {$startMonth} {$fromYear} - {$endDay} {$endMonth} {$toYear}";
}
if ($startMonth !== $endMonth) {
return "{$startDay} {$startMonth} - {$endDay} {$endMonth} {$toYear}";
}
return "{$startDay} - {$endDay} {$endMonth} {$toYear}";
case self::FREQUENCY_ONE_OFF:
// '2 May-31 May 2025' or '15 Dec 2024-15 Jan 2025' if years differ
$startDay = $from->format('j');
$startMonth = $from->format('M');
$endDay = $to->format('j');
$endMonth = $to->format('M');
// If same month and year, use a format like '2-31 May 2025'
if ($startMonth === $endMonth && ! $differentYears) {
return "{$startDay} - {$endDay} {$startMonth} {$toYear}";
}
// If different years, include both years
if ($differentYears) {
return "{$startDay} {$startMonth} {$fromYear} - {$endDay} {$endMonth} {$toYear}";
}
// Same year but different months
return "{$startDay} {$startMonth} - {$endDay} {$endMonth} {$toYear}";
default:
// Default format for unknown frequencies
return $from->format('j M Y') . ' - ' . $to->format('j M Y');
}
}
public function sanitizeFileName(string $fileName): string
{
return str_replace(['/', '\\'], '-', $fileName);
}
private function getPayload(AutomatedReportsService $automatedReportsService)
{
$reportResult = AutomatedReportResult::find(269);
$automatedReport = $reportResult->getReport();
$activityIds = [1,2,3];
$payload = $automatedReportsService->getAskJiminnyGenerateReportPayload(
automatedReport: $automatedReport,
reportResult: $reportResult,
activityIds: $activityIds,
);
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$payload ' . PHP_EOL . print_r($payload, true));
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
21
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
PhpStorm
|
faVsco.js – JiminnyDebugCommand.php
|
NULL
|
77146
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
2
116
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Console\Commands;
use Carbon\Carbon;
use Illuminate\Console\Command;
use InvalidArgumentException;
use Jiminny\Jobs\AutomatedReports\RequestGenerateAskJiminnyReportJob;
use Jiminny\Jobs\AutomatedReports\SendReportMailJob;
use Jiminny\Jobs\JobDispatcherInterface;
use Jiminny\Models\Activity;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\AutomatedReportResult;
use Jiminny\Models\Team;
use Jiminny\Models\User;
use Jiminny\Repositories\AutomatedReportsRepository;
use Jiminny\Services\Activity\CrmOwnerResolver;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
/**
* Class JiminnyDebugCommand
*
* @package Jiminny\Console\Commands
*/
class JiminnyDebugCommand extends Command
{
public const string FREQUENCY_DAILY = 'daily';
public const string FREQUENCY_WEEKLY = 'weekly';
public const string FREQUENCY_MONTHLY = 'monthly';
public const string FREQUENCY_QUARTERLY = 'quarterly';
public const string FREQUENCY_ONE_OFF = 'one_off';
protected $signature = 'jiminny:debug';
public function handle(
JobDispatcherInterface $jobDispatcher,
AutomatedReportsService $automatedReportsService,
AutomatedReportsRepository $automatedReportsRepository,
): void {
$user = User::find(143);
// $count = $automatedReportsRepository->countUserReports($user);
// $this->info("Count: {$count}");
// $count = $automatedReportsRepository->countAllUserReports($user);
// $this->info("All count: {$count}");
//
// exit(1);
$now = Carbon::now()->subDay(1);
$this->info("Now: {$now->toDateTimeString()}");
$weekStart = Carbon::getWeekStartsAt();
$this->info("Now: {$weekStart}");
// $from = $now->copy()->previousWeekday()->startOfDay();
// $to = $now->copy()->previousWeekday()->endOfDay();
// $fromOld = $now->copy()->subWeeks(1)->startOfDay();
// $toOld = $now->copy()->subDay()->endOfDay();
// $fromNew = $now->copy()->subWeek()->startOfWeek();
// $toNew = $now->copy()->subWeek()->endOfWeek();
// $fromOld = $now->copy()->subMonths(1)->startOfDay();
// $toOld = $now->copy()->subDay()->endOfDay();
// $fromNew = $now->copy()->subMonthNoOverflow()->startOfMonth();
// $toNew = $now->copy()->subMonthNoOverflow()->endOfMonth();
$fromOld = $now->copy()->subMonths(3)->startOfDay();
$toOld = $now->copy()->subDay()->endOfDay();
$fromNew = $now->copy()->subQuarterNoOverflow()->startOfQuarter();
$toNew = $now->copy()->subQuarterNoOverflow()->endOfQuarter();
$this->info("From old: {$fromOld->toDateTimeString()}");
$this->info("To old: {$toOld->toDateTimeString()}");
$this->info("From new: {$fromNew->toDateTimeString()}");
$this->info("To new: {$toNew->toDateTimeString()}");
exit(1);
$report = AutomatedReport::find(71);
$job = new RequestGenerateAskJiminnyReportJob($report->getUuid());
$jobDispatcher->dispatch($job);
exit(1);
// $this->formatDate($jobDispatcher);
// $this->sendMail($jobDispatcher, $automatedReportsService);
// $this->crmService();
$this->getPayload($automatedReportsService);
exit(1);
}
private function crmService()
{
$activity = Activity::find(418141);
$team = Team::find(19);
$config = $team->getCrmConfiguration();
$crmResolver = app(CrmOwnerResolver::class, [
'team' => $team,
'integrationAdmin' => $team->getOwner(),
'providerSlug' => $config->getProviderName(),
]);
$crmService = $crmResolver->prepareCrmService();
$crmService->createTranscriptNotes($activity);
}
private function sendMail(JobDispatcherInterface $jobDispatcher, AutomatedReportsService $automatedReportsService)
{
$reportUuid = '';
// $report = $automatedReportsService->getReportResult($reportUuid);
$report = AutomatedReportResult::find(275);
$validRecipients = $automatedReportsService->getValidRecipientUsers(
$report->getReport(),
includeJiminny: true,
);
$recipient = $validRecipients[0];
$fileName = $automatedReportsService->getReportFileName($report);
$typeName = $report->getReport()->getCustomName()
?? $automatedReportsService->getReportTypeName($report);
$teamsName = $automatedReportsService->getReportTeamsName($report);
$periodName = $automatedReportsService->getReportPeriodName($report);
$s3Path = $automatedReportsService->getMediaPath($report);
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$fileName ' . PHP_EOL . print_r($fileName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$typeName ' . PHP_EOL . print_r($typeName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$teamsName ' . PHP_EOL . print_r($teamsName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$periodName ' . PHP_EOL . print_r($periodName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$s3Path ' . PHP_EOL . print_r($s3Path, true));
$jobDispatcher->dispatch(
new SendReportMailJob(
reportUuid: $report->getUuid(),
s3Path: $s3Path,
recipientEmail: $recipient['email'],
recipientName: $recipient['name'] ?? null,
fileName: $fileName,
typeName: $typeName,
teamsName: $teamsName,
periodName: $periodName,
isAskJiminny: true,
)
);
exit(1);
}
private function formatDate(JobDispatcherInterface $jobDispatcher): void
{
$customName = 'Custom report name';
// $frequency = self::FREQUENCY_DAILY;
// $frequency = self::FREQUENCY_WEEKLY;
$frequency = self::FREQUENCY_MONTHLY;
// $frequency = self::FREQUENCY_QUARTERLY;
// $frequency = self::FREQUENCY_ONE_OFF;
$period = $this->calculateFromAndToDatePeriod($frequency);
$from = $period['fromDate'];
$to = $period['toDate'];
$periodName = $this->formatReportPeriodName($frequency, $from, $to);
$filenameSuffix = null;
if ($customName) {
if ($filenameSuffix) {
$customName .= " {$filenameSuffix}";
}
$result = $this->sanitizeFileName("{$customName} - {$periodName}");
}
$this->info($result);
}
public function calculateFromAndToDatePeriod(
string $frequency,
?Carbon $fromDate = null,
?Carbon $toDate = null
): array {
if ($frequency === self::FREQUENCY_ONE_OFF) {
return [
'fromDate' => $fromDate,
'toDate' => $toDate,
];
}
$now = Carbon::now();
return match ($frequency) {
self::FREQUENCY_DAILY => [
'fromDate' => $now->copy()->subDay()->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
self::FREQUENCY_WEEKLY => [
'fromDate' => $now->copy()->subWeeks(1)->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
self::FREQUENCY_MONTHLY => [
'fromDate' => $now->copy()->subMonths(1)->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
self::FREQUENCY_QUARTERLY => [
'fromDate' => $now->copy()->subMonths(3)->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
default => throw new InvalidArgumentException("Unsupported frequency: {$frequency}"),
};
}
private function formatReportPeriodName(string $frequency, Carbon $from, Carbon $to): string
{
$fromYear = $from->format('Y');
$toYear = $to->format('Y');
$differentYears = $fromYear !== $toYear;
switch ($frequency) {
case self::FREQUENCY_DAILY:
return $from->format('j M Y');
case self::FREQUENCY_QUARTERLY:
// 'Jan-Mar 2025' or 'Nov 2024-Jan 2025' if years differ
$startMonth = $from->format('M');
$endMonth = $to->copy()->subMonth();
$endMonthName = $endMonth->format('M');
$endMonthYear = $endMonth->format('Y');
if ($differentYears) {
return "{$startMonth} {$fromYear} - {$endMonthName} {$endMonthYear}";
}
return "{$startMonth} - {$endMonthName} {$toYear}";
case self::FREQUENCY_MONTHLY:
// 'May 2025' - monthly reports are always within the same year
return $from->format('M Y');
case self::FREQUENCY_WEEKLY:
// '4 - 8 Aug 2025', '27 Oct - 3 Nov 2025', or '28 Dec 2024 - 3 Jan 2025' if years differ
$startDay = $from->format('j');
$endDay = $to->format('j');
$startMonth = $from->format('M');
$endMonth = $to->format('M');
if ($differentYears) {
return "{$startDay} {$startMonth} {$fromYear} - {$endDay} {$endMonth} {$toYear}";
}
if ($startMonth !== $endMonth) {
return "{$startDay} {$startMonth} - {$endDay} {$endMonth} {$toYear}";
}
return "{$startDay} - {$endDay} {$endMonth} {$toYear}";
case self::FREQUENCY_ONE_OFF:
// '2 May-31 May 2025' or '15 Dec 2024-15 Jan 2025' if years differ
$startDay = $from->format('j');
$startMonth = $from->format('M');
$endDay = $to->format('j');
$endMonth = $to->format('M');
// If same month and year, use a format like '2-31 May 2025'
if ($startMonth === $endMonth && ! $differentYears) {
return "{$startDay} - {$endDay} {$startMonth} {$toYear}";
}
// If different years, include both years
if ($differentYears) {
return "{$startDay} {$startMonth} {$fromYear} - {$endDay} {$endMonth} {$toYear}";
}
// Same year but different months
return "{$startDay} {$startMonth} - {$endDay} {$endMonth} {$toYear}";
default:
// Default format for unknown frequencies
return $from->format('j M Y') . ' - ' . $to->format('j M Y');
}
}
public function sanitizeFileName(string $fileName): string
{
return str_replace(['/', '\\'], '-', $fileName);
}
private function getPayload(AutomatedReportsService $automatedReportsService)
{
$reportResult = AutomatedReportResult::find(269);
$automatedReport = $reportResult->getReport();
$activityIds = [1,2,3];
$payload = $automatedReportsService->getAskJiminnyGenerateReportPayload(
automatedReport: $automatedReport,
reportResult: $reportResult,
activityIds: $activityIds,
);
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$payload ' . PHP_EOL . print_r($payload, true));
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
21
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
PhpStorm
|
faVsco.js – JiminnyDebugCommand.php
|
NULL
|
77147
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
2
116
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Console\Commands;
use Carbon\Carbon;
use Illuminate\Console\Command;
use InvalidArgumentException;
use Jiminny\Jobs\AutomatedReports\RequestGenerateAskJiminnyReportJob;
use Jiminny\Jobs\AutomatedReports\SendReportMailJob;
use Jiminny\Jobs\JobDispatcherInterface;
use Jiminny\Models\Activity;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\AutomatedReportResult;
use Jiminny\Models\Team;
use Jiminny\Models\User;
use Jiminny\Repositories\AutomatedReportsRepository;
use Jiminny\Services\Activity\CrmOwnerResolver;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
/**
* Class JiminnyDebugCommand
*
* @package Jiminny\Console\Commands
*/
class JiminnyDebugCommand extends Command
{
public const string FREQUENCY_DAILY = 'daily';
public const string FREQUENCY_WEEKLY = 'weekly';
public const string FREQUENCY_MONTHLY = 'monthly';
public const string FREQUENCY_QUARTERLY = 'quarterly';
public const string FREQUENCY_ONE_OFF = 'one_off';
protected $signature = 'jiminny:debug';
public function handle(
JobDispatcherInterface $jobDispatcher,
AutomatedReportsService $automatedReportsService,
AutomatedReportsRepository $automatedReportsRepository,
): void {
$user = User::find(143);
// $count = $automatedReportsRepository->countUserReports($user);
// $this->info("Count: {$count}");
// $count = $automatedReportsRepository->countAllUserReports($user);
// $this->info("All count: {$count}");
//
// exit(1);
$now = Carbon::now()->subDay(1);
$this->info("Now: {$now->toDateTimeString()}");
$weekStart = Carbon::getWeekStartsAt();
$this->info("Now: {$weekStart}");
// $from = $now->copy()->previousWeekday()->startOfDay();
// $to = $now->copy()->previousWeekday()->endOfDay();
// $fromOld = $now->copy()->subWeeks(1)->startOfDay();
// $toOld = $now->copy()->subDay()->endOfDay();
// $fromNew = $now->copy()->subWeek()->startOfWeek();
// $toNew = $now->copy()->subWeek()->endOfWeek();
// $fromOld = $now->copy()->subMonths(1)->startOfDay();
// $toOld = $now->copy()->subDay()->endOfDay();
// $fromNew = $now->copy()->subMonthNoOverflow()->startOfMonth();
// $toNew = $now->copy()->subMonthNoOverflow()->endOfMonth();
$fromOld = $now->copy()->subMonths(3)->startOfDay();
$toOld = $now->copy()->subDay()->endOfDay();
$fromNew = $now->copy()->subQuarterNoOverflow()->startOfQuarter();
$toNew = $now->copy()->subQuarterNoOverflow()->endOfQuarter();
$this->info("From old: {$fromOld->toDateTimeString()}");
$this->info("To old: {$toOld->toDateTimeString()}");
$this->info("From new: {$fromNew->toDateTimeString()}");
$this->info("To new: {$toNew->toDateTimeString()}");
exit(1);
$report = AutomatedReport::find(71);
$job = new RequestGenerateAskJiminnyReportJob($report->getUuid());
$jobDispatcher->dispatch($job);
exit(1);
// $this->formatDate($jobDispatcher);
// $this->sendMail($jobDispatcher, $automatedReportsService);
// $this->crmService();
$this->getPayload($automatedReportsService);
exit(1);
}
private function crmService()
{
$activity = Activity::find(418141);
$team = Team::find(19);
$config = $team->getCrmConfiguration();
$crmResolver = app(CrmOwnerResolver::class, [
'team' => $team,
'integrationAdmin' => $team->getOwner(),
'providerSlug' => $config->getProviderName(),
]);
$crmService = $crmResolver->prepareCrmService();
$crmService->createTranscriptNotes($activity);
}
private function sendMail(JobDispatcherInterface $jobDispatcher, AutomatedReportsService $automatedReportsService)
{
$reportUuid = '';
// $report = $automatedReportsService->getReportResult($reportUuid);
$report = AutomatedReportResult::find(275);
$validRecipients = $automatedReportsService->getValidRecipientUsers(
$report->getReport(),
includeJiminny: true,
);
$recipient = $validRecipients[0];
$fileName = $automatedReportsService->getReportFileName($report);
$typeName = $report->getReport()->getCustomName()
?? $automatedReportsService->getReportTypeName($report);
$teamsName = $automatedReportsService->getReportTeamsName($report);
$periodName = $automatedReportsService->getReportPeriodName($report);
$s3Path = $automatedReportsService->getMediaPath($report);
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$fileName ' . PHP_EOL . print_r($fileName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$typeName ' . PHP_EOL . print_r($typeName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$teamsName ' . PHP_EOL . print_r($teamsName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$periodName ' . PHP_EOL . print_r($periodName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$s3Path ' . PHP_EOL . print_r($s3Path, true));
$jobDispatcher->dispatch(
new SendReportMailJob(
reportUuid: $report->getUuid(),
s3Path: $s3Path,
recipientEmail: $recipient['email'],
recipientName: $recipient['name'] ?? null,
fileName: $fileName,
typeName: $typeName,
teamsName: $teamsName,
periodName: $periodName,
isAskJiminny: true,
)
);
exit(1);
}
private function formatDate(JobDispatcherInterface $jobDispatcher): void
{
$customName = 'Custom report name';
// $frequency = self::FREQUENCY_DAILY;
// $frequency = self::FREQUENCY_WEEKLY;
$frequency = self::FREQUENCY_MONTHLY;
// $frequency = self::FREQUENCY_QUARTERLY;
// $frequency = self::FREQUENCY_ONE_OFF;
$period = $this->calculateFromAndToDatePeriod($frequency);
$from = $period['fromDate'];
$to = $period['toDate'];
$periodName = $this->formatReportPeriodName($frequency, $from, $to);
$filenameSuffix = null;
if ($customName) {
if ($filenameSuffix) {
$customName .= " {$filenameSuffix}";
}
$result = $this->sanitizeFileName("{$customName} - {$periodName}");
}
$this->info($result);
}
public function calculateFromAndToDatePeriod(
string $frequency,
?Carbon $fromDate = null,
?Carbon $toDate = null
): array {
if ($frequency === self::FREQUENCY_ONE_OFF) {
return [
'fromDate' => $fromDate,
'toDate' => $toDate,
];
}
$now = Carbon::now();
return match ($frequency) {
self::FREQUENCY_DAILY => [
'fromDate' => $now->copy()->subDay()->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
self::FREQUENCY_WEEKLY => [
'fromDate' => $now->copy()->subWeeks(1)->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
self::FREQUENCY_MONTHLY => [
'fromDate' => $now->copy()->subMonths(1)->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
self::FREQUENCY_QUARTERLY => [
'fromDate' => $now->copy()->subMonths(3)->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
default => throw new InvalidArgumentException("Unsupported frequency: {$frequency}"),
};
}
private function formatReportPeriodName(string $frequency, Carbon $from, Carbon $to): string
{
$fromYear = $from->format('Y');
$toYear = $to->format('Y');
$differentYears = $fromYear !== $toYear;
switch ($frequency) {
case self::FREQUENCY_DAILY:
return $from->format('j M Y');
case self::FREQUENCY_QUARTERLY:
// 'Jan-Mar 2025' or 'Nov 2024-Jan 2025' if years differ
$startMonth = $from->format('M');
$endMonth = $to->copy()->subMonth();
$endMonthName = $endMonth->format('M');
$endMonthYear = $endMonth->format('Y');
if ($differentYears) {
return "{$startMonth} {$fromYear} - {$endMonthName} {$endMonthYear}";
}
return "{$startMonth} - {$endMonthName} {$toYear}";
case self::FREQUENCY_MONTHLY:
// 'May 2025' - monthly reports are always within the same year
return $from->format('M Y');
case self::FREQUENCY_WEEKLY:
// '4 - 8 Aug 2025', '27 Oct - 3 Nov 2025', or '28 Dec 2024 - 3 Jan 2025' if years differ
$startDay = $from->format('j');
$endDay = $to->format('j');
$startMonth = $from->format('M');
$endMonth = $to->format('M');
if ($differentYears) {
return "{$startDay} {$startMonth} {$fromYear} - {$endDay} {$endMonth} {$toYear}";
}
if ($startMonth !== $endMonth) {
return "{$startDay} {$startMonth} - {$endDay} {$endMonth} {$toYear}";
}
return "{$startDay} - {$endDay} {$endMonth} {$toYear}";
case self::FREQUENCY_ONE_OFF:
// '2 May-31 May 2025' or '15 Dec 2024-15 Jan 2025' if years differ
$startDay = $from->format('j');
$startMonth = $from->format('M');
$endDay = $to->format('j');
$endMonth = $to->format('M');
// If same month and year, use a format like '2-31 May 2025'
if ($startMonth === $endMonth && ! $differentYears) {
return "{$startDay} - {$endDay} {$startMonth} {$toYear}";
}
// If different years, include both years
if ($differentYears) {
return "{$startDay} {$startMonth} {$fromYear} - {$endDay} {$endMonth} {$toYear}";
}
// Same year but different months
return "{$startDay} {$startMonth} - {$endDay} {$endMonth} {$toYear}";
default:
// Default format for unknown frequencies
return $from->format('j M Y') . ' - ' . $to->format('j M Y');
}
}
public function sanitizeFileName(string $fileName): string
{
return str_replace(['/', '\\'], '-', $fileName);
}
private function getPayload(AutomatedReportsService $automatedReportsService)
{
$reportResult = AutomatedReportResult::find(269);
$automatedReport = $reportResult->getReport();
$activityIds = [1,2,3];
$payload = $automatedReportsService->getAskJiminnyGenerateReportPayload(
automatedReport: $automatedReport,
reportResult: $reportResult,
activityIds: $activityIds,
);
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$payload ' . PHP_EOL . print_r($payload, true));
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
21
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
PhpStorm
|
faVsco.js – JiminnyDebugCommand.php
|
NULL
|
77148
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
3
116
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Console\Commands;
use Carbon\Carbon;
use Illuminate\Console\Command;
use InvalidArgumentException;
use Jiminny\Jobs\AutomatedReports\RequestGenerateAskJiminnyReportJob;
use Jiminny\Jobs\AutomatedReports\SendReportMailJob;
use Jiminny\Jobs\JobDispatcherInterface;
use Jiminny\Models\Activity;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\AutomatedReportResult;
use Jiminny\Models\Team;
use Jiminny\Models\User;
use Jiminny\Repositories\AutomatedReportsRepository;
use Jiminny\Services\Activity\CrmOwnerResolver;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
/**
* Class JiminnyDebugCommand
*
* @package Jiminny\Console\Commands
*/
class JiminnyDebugCommand extends Command
{
public const string FREQUENCY_DAILY = 'daily';
public const string FREQUENCY_WEEKLY = 'weekly';
public const string FREQUENCY_MONTHLY = 'monthly';
public const string FREQUENCY_QUARTERLY = 'quarterly';
public const string FREQUENCY_ONE_OFF = 'one_off';
protected $signature = 'jiminny:debug';
public function handle(
JobDispatcherInterface $jobDispatcher,
AutomatedReportsService $automatedReportsService,
AutomatedReportsRepository $automatedReportsRepository,
): void {
$user = User::find(143);
// $count = $automatedReportsRepository->countUserReports($user);
// $this->info("Count: {$count}");
// $count = $automatedReportsRepository->countAllUserReports($user);
// $this->info("All count: {$count}");
//
exit(1);
$now = Carbon::now()->subDay(1);
$this->info("Now: {$now->toDateTimeString()}");
$weekStart = Carbon::getWeekStartsAt();
$this->info("Now: {$weekStart}");
// $from = $now->copy()->previousWeekday()->startOfDay();
// $to = $now->copy()->previousWeekday()->endOfDay();
// $fromOld = $now->copy()->subWeeks(1)->startOfDay();
// $toOld = $now->copy()->subDay()->endOfDay();
// $fromNew = $now->copy()->subWeek()->startOfWeek();
// $toNew = $now->copy()->subWeek()->endOfWeek();
// $fromOld = $now->copy()->subMonths(1)->startOfDay();
// $toOld = $now->copy()->subDay()->endOfDay();
// $fromNew = $now->copy()->subMonthNoOverflow()->startOfMonth();
// $toNew = $now->copy()->subMonthNoOverflow()->endOfMonth();
$fromOld = $now->copy()->subMonths(3)->startOfDay();
$toOld = $now->copy()->subDay()->endOfDay();
$fromNew = $now->copy()->subQuarterNoOverflow()->startOfQuarter();
$toNew = $now->copy()->subQuarterNoOverflow()->endOfQuarter();
$this->info("From old: {$fromOld->toDateTimeString()}");
$this->info("To old: {$toOld->toDateTimeString()}");
$this->info("From new: {$fromNew->toDateTimeString()}");
$this->info("To new: {$toNew->toDateTimeString()}");
exit(1);
$report = AutomatedReport::find(71);
$job = new RequestGenerateAskJiminnyReportJob($report->getUuid());
$jobDispatcher->dispatch($job);
exit(1);
// $this->formatDate($jobDispatcher);
// $this->sendMail($jobDispatcher, $automatedReportsService);
// $this->crmService();
$this->getPayload($automatedReportsService);
exit(1);
}
private function crmService()
{
$activity = Activity::find(418141);
$team = Team::find(19);
$config = $team->getCrmConfiguration();
$crmResolver = app(CrmOwnerResolver::class, [
'team' => $team,
'integrationAdmin' => $team->getOwner(),
'providerSlug' => $config->getProviderName(),
]);
$crmService = $crmResolver->prepareCrmService();
$crmService->createTranscriptNotes($activity);
}
private function sendMail(JobDispatcherInterface $jobDispatcher, AutomatedReportsService $automatedReportsService)
{
$reportUuid = '';
// $report = $automatedReportsService->getReportResult($reportUuid);
$report = AutomatedReportResult::find(275);
$validRecipients = $automatedReportsService->getValidRecipientUsers(
$report->getReport(),
includeJiminny: true,
);
$recipient = $validRecipients[0];
$fileName = $automatedReportsService->getReportFileName($report);
$typeName = $report->getReport()->getCustomName()
?? $automatedReportsService->getReportTypeName($report);
$teamsName = $automatedReportsService->getReportTeamsName($report);
$periodName = $automatedReportsService->getReportPeriodName($report);
$s3Path = $automatedReportsService->getMediaPath($report);
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$fileName ' . PHP_EOL . print_r($fileName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$typeName ' . PHP_EOL . print_r($typeName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$teamsName ' . PHP_EOL . print_r($teamsName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$periodName ' . PHP_EOL . print_r($periodName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$s3Path ' . PHP_EOL . print_r($s3Path, true));
$jobDispatcher->dispatch(
new SendReportMailJob(
reportUuid: $report->getUuid(),
s3Path: $s3Path,
recipientEmail: $recipient['email'],
recipientName: $recipient['name'] ?? null,
fileName: $fileName,
typeName: $typeName,
teamsName: $teamsName,
periodName: $periodName,
isAskJiminny: true,
)
);
exit(1);
}
private function formatDate(JobDispatcherInterface $jobDispatcher): void
{
$customName = 'Custom report name';
// $frequency = self::FREQUENCY_DAILY;
// $frequency = self::FREQUENCY_WEEKLY;
$frequency = self::FREQUENCY_MONTHLY;
// $frequency = self::FREQUENCY_QUARTERLY;
// $frequency = self::FREQUENCY_ONE_OFF;
$period = $this->calculateFromAndToDatePeriod($frequency);
$from = $period['fromDate'];
$to = $period['toDate'];
$periodName = $this->formatReportPeriodName($frequency, $from, $to);
$filenameSuffix = null;
if ($customName) {
if ($filenameSuffix) {
$customName .= " {$filenameSuffix}";
}
$result = $this->sanitizeFileName("{$customName} - {$periodName}");
}
$this->info($result);
}
public function calculateFromAndToDatePeriod(
string $frequency,
?Carbon $fromDate = null,
?Carbon $toDate = null
): array {
if ($frequency === self::FREQUENCY_ONE_OFF) {
return [
'fromDate' => $fromDate,
'toDate' => $toDate,
];
}
$now = Carbon::now();
return match ($frequency) {
self::FREQUENCY_DAILY => [
'fromDate' => $now->copy()->subDay()->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
self::FREQUENCY_WEEKLY => [
'fromDate' => $now->copy()->subWeeks(1)->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
self::FREQUENCY_MONTHLY => [
'fromDate' => $now->copy()->subMonths(1)->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
self::FREQUENCY_QUARTERLY => [
'fromDate' => $now->copy()->subMonths(3)->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
default => throw new InvalidArgumentException("Unsupported frequency: {$frequency}"),
};
}
private function formatReportPeriodName(string $frequency, Carbon $from, Carbon $to): string
{
$fromYear = $from->format('Y');
$toYear = $to->format('Y');
$differentYears = $fromYear !== $toYear;
switch ($frequency) {
case self::FREQUENCY_DAILY:
return $from->format('j M Y');
case self::FREQUENCY_QUARTERLY:
// 'Jan-Mar 2025' or 'Nov 2024-Jan 2025' if years differ
$startMonth = $from->format('M');
$endMonth = $to->copy()->subMonth();
$endMonthName = $endMonth->format('M');
$endMonthYear = $endMonth->format('Y');
if ($differentYears) {
return "{$startMonth} {$fromYear} - {$endMonthName} {$endMonthYear}";
}
return "{$startMonth} - {$endMonthName} {$toYear}";
case self::FREQUENCY_MONTHLY:
// 'May 2025' - monthly reports are always within the same year
return $from->format('M Y');
case self::FREQUENCY_WEEKLY:
// '4 - 8 Aug 2025', '27 Oct - 3 Nov 2025', or '28 Dec 2024 - 3 Jan 2025' if years differ
$startDay = $from->format('j');
$endDay = $to->format('j');
$startMonth = $from->format('M');
$endMonth = $to->format('M');
if ($differentYears) {
return "{$startDay} {$startMonth} {$fromYear} - {$endDay} {$endMonth} {$toYear}";
}
if ($startMonth !== $endMonth) {
return "{$startDay} {$startMonth} - {$endDay} {$endMonth} {$toYear}";
}
return "{$startDay} - {$endDay} {$endMonth} {$toYear}";
case self::FREQUENCY_ONE_OFF:
// '2 May-31 May 2025' or '15 Dec 2024-15 Jan 2025' if years differ
$startDay = $from->format('j');
$startMonth = $from->format('M');
$endDay = $to->format('j');
$endMonth = $to->format('M');
// If same month and year, use a format like '2-31 May 2025'
if ($startMonth === $endMonth && ! $differentYears) {
return "{$startDay} - {$endDay} {$startMonth} {$toYear}";
}
// If different years, include both years
if ($differentYears) {
return "{$startDay} {$startMonth} {$fromYear} - {$endDay} {$endMonth} {$toYear}";
}
// Same year but different months
return "{$startDay} {$startMonth} - {$endDay} {$endMonth} {$toYear}";
default:
// Default format for unknown frequencies
return $from->format('j M Y') . ' - ' . $to->format('j M Y');
}
}
public function sanitizeFileName(string $fileName): string
{
return str_replace(['/', '\\'], '-', $fileName);
}
private function getPayload(AutomatedReportsService $automatedReportsService)
{
$reportResult = AutomatedReportResult::find(269);
$automatedReport = $reportResult->getReport();
$activityIds = [1,2,3];
$payload = $automatedReportsService->getAskJiminnyGenerateReportPayload(
automatedReport: $automatedReport,
reportResult: $reportResult,
activityIds: $activityIds,
);
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$payload ' . PHP_EOL . print_r($payload, true));
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
21
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
PhpStorm
|
faVsco.js – JiminnyDebugCommand.php
|
NULL
|
77149
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
3
116
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Console\Commands;
use Carbon\Carbon;
use Illuminate\Console\Command;
use InvalidArgumentException;
use Jiminny\Jobs\AutomatedReports\RequestGenerateAskJiminnyReportJob;
use Jiminny\Jobs\AutomatedReports\SendReportMailJob;
use Jiminny\Jobs\JobDispatcherInterface;
use Jiminny\Models\Activity;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\AutomatedReportResult;
use Jiminny\Models\Team;
use Jiminny\Models\User;
use Jiminny\Repositories\AutomatedReportsRepository;
use Jiminny\Services\Activity\CrmOwnerResolver;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
/**
* Class JiminnyDebugCommand
*
* @package Jiminny\Console\Commands
*/
class JiminnyDebugCommand extends Command
{
public const string FREQUENCY_DAILY = 'daily';
public const string FREQUENCY_WEEKLY = 'weekly';
public const string FREQUENCY_MONTHLY = 'monthly';
public const string FREQUENCY_QUARTERLY = 'quarterly';
public const string FREQUENCY_ONE_OFF = 'one_off';
protected $signature = 'jiminny:debug';
public function handle(
JobDispatcherInterface $jobDispatcher,
AutomatedReportsService $automatedReportsService,
AutomatedReportsRepository $automatedReportsRepository,
): void {
$user = User::find(143);
// $count = $automatedReportsRepository->countUserReports($user);
// $this->info("Count: {$count}");
// $count = $automatedReportsRepository->countAllUserReports($user);
// $this->info("All count: {$count}");
//
exit(1);
$now = Carbon::now()->subDay(1);
$this->info("Now: {$now->toDateTimeString()}");
$weekStart = Carbon::getWeekStartsAt();
$this->info("Now: {$weekStart}");
// $from = $now->copy()->previousWeekday()->startOfDay();
// $to = $now->copy()->previousWeekday()->endOfDay();
// $fromOld = $now->copy()->subWeeks(1)->startOfDay();
// $toOld = $now->copy()->subDay()->endOfDay();
// $fromNew = $now->copy()->subWeek()->startOfWeek();
// $toNew = $now->copy()->subWeek()->endOfWeek();
// $fromOld = $now->copy()->subMonths(1)->startOfDay();
// $toOld = $now->copy()->subDay()->endOfDay();
// $fromNew = $now->copy()->subMonthNoOverflow()->startOfMonth();
// $toNew = $now->copy()->subMonthNoOverflow()->endOfMonth();
$fromOld = $now->copy()->subMonths(3)->startOfDay();
$toOld = $now->copy()->subDay()->endOfDay();
$fromNew = $now->copy()->subQuarterNoOverflow()->startOfQuarter();
$toNew = $now->copy()->subQuarterNoOverflow()->endOfQuarter();
$this->info("From old: {$fromOld->toDateTimeString()}");
$this->info("To old: {$toOld->toDateTimeString()}");
$this->info("From new: {$fromNew->toDateTimeString()}");
$this->info("To new: {$toNew->toDateTimeString()}");
exit(1);
$report = AutomatedReport::find(71);
$job = new RequestGenerateAskJiminnyReportJob($report->getUuid());
$jobDispatcher->dispatch($job);
exit(1);
// $this->formatDate($jobDispatcher);
// $this->sendMail($jobDispatcher, $automatedReportsService);
// $this->crmService();
$this->getPayload($automatedReportsService);
exit(1);
}
private function crmService()
{
$activity = Activity::find(418141);
$team = Team::find(19);
$config = $team->getCrmConfiguration();
$crmResolver = app(CrmOwnerResolver::class, [
'team' => $team,
'integrationAdmin' => $team->getOwner(),
'providerSlug' => $config->getProviderName(),
]);
$crmService = $crmResolver->prepareCrmService();
$crmService->createTranscriptNotes($activity);
}
private function sendMail(JobDispatcherInterface $jobDispatcher, AutomatedReportsService $automatedReportsService)
{
$reportUuid = '';
// $report = $automatedReportsService->getReportResult($reportUuid);
$report = AutomatedReportResult::find(275);
$validRecipients = $automatedReportsService->getValidRecipientUsers(
$report->getReport(),
includeJiminny: true,
);
$recipient = $validRecipients[0];
$fileName = $automatedReportsService->getReportFileName($report);
$typeName = $report->getReport()->getCustomName()
?? $automatedReportsService->getReportTypeName($report);
$teamsName = $automatedReportsService->getReportTeamsName($report);
$periodName = $automatedReportsService->getReportPeriodName($report);
$s3Path = $automatedReportsService->getMediaPath($report);
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$fileName ' . PHP_EOL . print_r($fileName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$typeName ' . PHP_EOL . print_r($typeName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$teamsName ' . PHP_EOL . print_r($teamsName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$periodName ' . PHP_EOL . print_r($periodName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$s3Path ' . PHP_EOL . print_r($s3Path, true));
$jobDispatcher->dispatch(
new SendReportMailJob(
reportUuid: $report->getUuid(),
s3Path: $s3Path,
recipientEmail: $recipient['email'],
recipientName: $recipient['name'] ?? null,
fileName: $fileName,
typeName: $typeName,
teamsName: $teamsName,
periodName: $periodName,
isAskJiminny: true,
)
);
exit(1);
}
private function formatDate(JobDispatcherInterface $jobDispatcher): void
{
$customName = 'Custom report name';
// $frequency = self::FREQUENCY_DAILY;
// $frequency = self::FREQUENCY_WEEKLY;
$frequency = self::FREQUENCY_MONTHLY;
// $frequency = self::FREQUENCY_QUARTERLY;
// $frequency = self::FREQUENCY_ONE_OFF;
$period = $this->calculateFromAndToDatePeriod($frequency);
$from = $period['fromDate'];
$to = $period['toDate'];
$periodName = $this->formatReportPeriodName($frequency, $from, $to);
$filenameSuffix = null;
if ($customName) {
if ($filenameSuffix) {
$customName .= " {$filenameSuffix}";
}
$result = $this->sanitizeFileName("{$customName} - {$periodName}");
}
$this->info($result);
}
public function calculateFromAndToDatePeriod(
string $frequency,
?Carbon $fromDate = null,
?Carbon $toDate = null
): array {
if ($frequency === self::FREQUENCY_ONE_OFF) {
return [
'fromDate' => $fromDate,
'toDate' => $toDate,
];
}
$now = Carbon::now();
return match ($frequency) {
self::FREQUENCY_DAILY => [
'fromDate' => $now->copy()->subDay()->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
self::FREQUENCY_WEEKLY => [
'fromDate' => $now->copy()->subWeeks(1)->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
self::FREQUENCY_MONTHLY => [
'fromDate' => $now->copy()->subMonths(1)->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
self::FREQUENCY_QUARTERLY => [
'fromDate' => $now->copy()->subMonths(3)->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
default => throw new InvalidArgumentException("Unsupported frequency: {$frequency}"),
};
}
private function formatReportPeriodName(string $frequency, Carbon $from, Carbon $to): string
{
$fromYear = $from->format('Y');
$toYear = $to->format('Y');
$differentYears = $fromYear !== $toYear;
switch ($frequency) {
case self::FREQUENCY_DAILY:
return $from->format('j M Y');
case self::FREQUENCY_QUARTERLY:
// 'Jan-Mar 2025' or 'Nov 2024-Jan 2025' if years differ
$startMonth = $from->format('M');
$endMonth = $to->copy()->subMonth();
$endMonthName = $endMonth->format('M');
$endMonthYear = $endMonth->format('Y');
if ($differentYears) {
return "{$startMonth} {$fromYear} - {$endMonthName} {$endMonthYear}";
}
return "{$startMonth} - {$endMonthName} {$toYear}";
case self::FREQUENCY_MONTHLY:
// 'May 2025' - monthly reports are always within the same year
return $from->format('M Y');
case self::FREQUENCY_WEEKLY:
// '4 - 8 Aug 2025', '27 Oct - 3 Nov 2025', or '28 Dec 2024 - 3 Jan 2025' if years differ
$startDay = $from->format('j');
$endDay = $to->format('j');
$startMonth = $from->format('M');
$endMonth = $to->format('M');
if ($differentYears) {
return "{$startDay} {$startMonth} {$fromYear} - {$endDay} {$endMonth} {$toYear}";
}
if ($startMonth !== $endMonth) {
return "{$startDay} {$startMonth} - {$endDay} {$endMonth} {$toYear}";
}
return "{$startDay} - {$endDay} {$endMonth} {$toYear}";
case self::FREQUENCY_ONE_OFF:
// '2 May-31 May 2025' or '15 Dec 2024-15 Jan 2025' if years differ
$startDay = $from->format('j');
$startMonth = $from->format('M');
$endDay = $to->format('j');
$endMonth = $to->format('M');
// If same month and year, use a format like '2-31 May 2025'
if ($startMonth === $endMonth && ! $differentYears) {
return "{$startDay} - {$endDay} {$startMonth} {$toYear}";
}
// If different years, include both years
if ($differentYears) {
return "{$startDay} {$startMonth} {$fromYear} - {$endDay} {$endMonth} {$toYear}";
}
// Same year but different months
return "{$startDay} {$startMonth} - {$endDay} {$endMonth} {$toYear}";
default:
// Default format for unknown frequencies
return $from->format('j M Y') . ' - ' . $to->format('j M Y');
}
}
public function sanitizeFileName(string $fileName): string
{
return str_replace(['/', '\\'], '-', $fileName);
}
private function getPayload(AutomatedReportsService $automatedReportsService)
{
$reportResult = AutomatedReportResult::find(269);
$automatedReport = $reportResult->getReport();
$activityIds = [1,2,3];
$payload = $automatedReportsService->getAskJiminnyGenerateReportPayload(
automatedReport: $automatedReport,
reportResult: $reportResult,
activityIds: $activityIds,
);
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$payload ' . PHP_EOL . print_r($payload, true));
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
21
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
PhpStorm
|
faVsco.js – JiminnyDebugCommand.php
|
NULL
|
77150
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
2
4
115
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Console\Commands;
use Carbon\Carbon;
use Illuminate\Console\Command;
use InvalidArgumentException;
use Jiminny\Jobs\AutomatedReports\RequestGenerateAskJiminnyReportJob;
use Jiminny\Jobs\AutomatedReports\SendReportMailJob;
use Jiminny\Jobs\JobDispatcherInterface;
use Jiminny\Models\Activity;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\AutomatedReportResult;
use Jiminny\Models\Team;
use Jiminny\Models\User;
use Jiminny\Repositories\AutomatedReportsRepository;
use Jiminny\Services\Activity\CrmOwnerResolver;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
/**
* Class JiminnyDebugCommand
*
* @package Jiminny\Console\Commands
*/
class JiminnyDebugCommand extends Command
{
public const string FREQUENCY_DAILY = 'daily';
public const string FREQUENCY_WEEKLY = 'weekly';
public const string FREQUENCY_MONTHLY = 'monthly';
public const string FREQUENCY_QUARTERLY = 'quarterly';
public const string FREQUENCY_ONE_OFF = 'one_off';
protected $signature = 'jiminny:debug';
public function handle(
JobDispatcherInterface $jobDispatcher,
AutomatedReportsService $automatedReportsService,
AutomatedReportsRepository $automatedReportsRepository,
): void {
$user = User::find(143);
// $count = $automatedReportsRepository->countUserReports($user);
// $this->info("Count: {$count}");
// $count = $automatedReportsRepository->countAllUserReports($user);
// $this->info("All count: {$count}");
$this->userPilotClient->track($user, $eventName, $payload);
exit(1);
$now = Carbon::now()->subDay(1);
$this->info("Now: {$now->toDateTimeString()}");
$weekStart = Carbon::getWeekStartsAt();
$this->info("Now: {$weekStart}");
// $from = $now->copy()->previousWeekday()->startOfDay();
// $to = $now->copy()->previousWeekday()->endOfDay();
// $fromOld = $now->copy()->subWeeks(1)->startOfDay();
// $toOld = $now->copy()->subDay()->endOfDay();
// $fromNew = $now->copy()->subWeek()->startOfWeek();
// $toNew = $now->copy()->subWeek()->endOfWeek();
// $fromOld = $now->copy()->subMonths(1)->startOfDay();
// $toOld = $now->copy()->subDay()->endOfDay();
// $fromNew = $now->copy()->subMonthNoOverflow()->startOfMonth();
// $toNew = $now->copy()->subMonthNoOverflow()->endOfMonth();
$fromOld = $now->copy()->subMonths(3)->startOfDay();
$toOld = $now->copy()->subDay()->endOfDay();
$fromNew = $now->copy()->subQuarterNoOverflow()->startOfQuarter();
$toNew = $now->copy()->subQuarterNoOverflow()->endOfQuarter();
$this->info("From old: {$fromOld->toDateTimeString()}");
$this->info("To old: {$toOld->toDateTimeString()}");
$this->info("From new: {$fromNew->toDateTimeString()}");
$this->info("To new: {$toNew->toDateTimeString()}");
exit(1);
$report = AutomatedReport::find(71);
$job = new RequestGenerateAskJiminnyReportJob($report->getUuid());
$jobDispatcher->dispatch($job);
exit(1);
// $this->formatDate($jobDispatcher);
// $this->sendMail($jobDispatcher, $automatedReportsService);
// $this->crmService();
$this->getPayload($automatedReportsService);
exit(1);
}
private function crmService()
{
$activity = Activity::find(418141);
$team = Team::find(19);
$config = $team->getCrmConfiguration();
$crmResolver = app(CrmOwnerResolver::class, [
'team' => $team,
'integrationAdmin' => $team->getOwner(),
'providerSlug' => $config->getProviderName(),
]);
$crmService = $crmResolver->prepareCrmService();
$crmService->createTranscriptNotes($activity);
}
private function sendMail(JobDispatcherInterface $jobDispatcher, AutomatedReportsService $automatedReportsService)
{
$reportUuid = '';
// $report = $automatedReportsService->getReportResult($reportUuid);
$report = AutomatedReportResult::find(275);
$validRecipients = $automatedReportsService->getValidRecipientUsers(
$report->getReport(),
includeJiminny: true,
);
$recipient = $validRecipients[0];
$fileName = $automatedReportsService->getReportFileName($report);
$typeName = $report->getReport()->getCustomName()
?? $automatedReportsService->getReportTypeName($report);
$teamsName = $automatedReportsService->getReportTeamsName($report);
$periodName = $automatedReportsService->getReportPeriodName($report);
$s3Path = $automatedReportsService->getMediaPath($report);
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$fileName ' . PHP_EOL . print_r($fileName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$typeName ' . PHP_EOL . print_r($typeName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$teamsName ' . PHP_EOL . print_r($teamsName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$periodName ' . PHP_EOL . print_r($periodName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$s3Path ' . PHP_EOL . print_r($s3Path, true));
$jobDispatcher->dispatch(
new SendReportMailJob(
reportUuid: $report->getUuid(),
s3Path: $s3Path,
recipientEmail: $recipient['email'],
recipientName: $recipient['name'] ?? null,
fileName: $fileName,
typeName: $typeName,
teamsName: $teamsName,
periodName: $periodName,
isAskJiminny: true,
)
);
exit(1);
}
private function formatDate(JobDispatcherInterface $jobDispatcher): void
{
$customName = 'Custom report name';
// $frequency = self::FREQUENCY_DAILY;
// $frequency = self::FREQUENCY_WEEKLY;
$frequency = self::FREQUENCY_MONTHLY;
// $frequency = self::FREQUENCY_QUARTERLY;
// $frequency = self::FREQUENCY_ONE_OFF;
$period = $this->calculateFromAndToDatePeriod($frequency);
$from = $period['fromDate'];
$to = $period['toDate'];
$periodName = $this->formatReportPeriodName($frequency, $from, $to);
$filenameSuffix = null;
if ($customName) {
if ($filenameSuffix) {
$customName .= " {$filenameSuffix}";
}
$result = $this->sanitizeFileName("{$customName} - {$periodName}");
}
$this->info($result);
}
public function calculateFromAndToDatePeriod(
string $frequency,
?Carbon $fromDate = null,
?Carbon $toDate = null
): array {
if ($frequency === self::FREQUENCY_ONE_OFF) {
return [
'fromDate' => $fromDate,
'toDate' => $toDate,
];
}
$now = Carbon::now();
return match ($frequency) {
self::FREQUENCY_DAILY => [
'fromDate' => $now->copy()->subDay()->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
self::FREQUENCY_WEEKLY => [
'fromDate' => $now->copy()->subWeeks(1)->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
self::FREQUENCY_MONTHLY => [
'fromDate' => $now->copy()->subMonths(1)->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
self::FREQUENCY_QUARTERLY => [
'fromDate' => $now->copy()->subMonths(3)->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
default => throw new InvalidArgumentException("Unsupported frequency: {$frequency}"),
};
}
private function formatReportPeriodName(string $frequency, Carbon $from, Carbon $to): string
{
$fromYear = $from->format('Y');
$toYear = $to->format('Y');
$differentYears = $fromYear !== $toYear;
switch ($frequency) {
case self::FREQUENCY_DAILY:
return $from->format('j M Y');
case self::FREQUENCY_QUARTERLY:
// 'Jan-Mar 2025' or 'Nov 2024-Jan 2025' if years differ
$startMonth = $from->format('M');
$endMonth = $to->copy()->subMonth();
$endMonthName = $endMonth->format('M');
$endMonthYear = $endMonth->format('Y');
if ($differentYears) {
return "{$startMonth} {$fromYear} - {$endMonthName} {$endMonthYear}";
}
return "{$startMonth} - {$endMonthName} {$toYear}";
case self::FREQUENCY_MONTHLY:
// 'May 2025' - monthly reports are always within the same year
return $from->format('M Y');
case self::FREQUENCY_WEEKLY:
// '4 - 8 Aug 2025', '27 Oct - 3 Nov 2025', or '28 Dec 2024 - 3 Jan 2025' if years differ
$startDay = $from->format('j');
$endDay = $to->format('j');
$startMonth = $from->format('M');
$endMonth = $to->format('M');
if ($differentYears) {
return "{$startDay} {$startMonth} {$fromYear} - {$endDay} {$endMonth} {$toYear}";
}
if ($startMonth !== $endMonth) {
return "{$startDay} {$startMonth} - {$endDay} {$endMonth} {$toYear}";
}
return "{$startDay} - {$endDay} {$endMonth} {$toYear}";
case self::FREQUENCY_ONE_OFF:
// '2 May-31 May 2025' or '15 Dec 2024-15 Jan 2025' if years differ
$startDay = $from->format('j');
$startMonth = $from->format('M');
$endDay = $to->format('j');
$endMonth = $to->format('M');
// If same month and year, use a format like '2-31 May 2025'
if ($startMonth === $endMonth && ! $differentYears) {
return "{$startDay} - {$endDay} {$startMonth} {$toYear}";
}
// If different years, include both years
if ($differentYears) {
return "{$startDay} {$startMonth} {$fromYear} - {$endDay} {$endMonth} {$toYear}";
}
// Same year but different months
return "{$startDay} {$startMonth} - {$endDay} {$endMonth} {$toYear}";
default:
// Default format for unknown frequencies
return $from->format('j M Y') . ' - ' . $to->format('j M Y');
}
}
public function sanitizeFileName(string $fileName): string
{
return str_replace(['/', '\\'], '-', $fileName);
}
private function getPayload(AutomatedReportsService $automatedReportsService)
{
$reportResult = AutomatedReportResult::find(269);
$automatedReport = $reportResult->getReport();
$activityIds = [1,2,3];
$payload = $automatedReportsService->getAskJiminnyGenerateReportPayload(
automatedReport: $automatedReport,
reportResult: $reportResult,
activityIds: $activityIds,
);
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$payload ' . PHP_EOL . print_r($payload, true));
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
21
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
PhpStorm
|
faVsco.js – JiminnyDebugCommand.php
|
NULL
|
77151
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
2
4
115
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Console\Commands;
use Carbon\Carbon;
use Illuminate\Console\Command;
use InvalidArgumentException;
use Jiminny\Jobs\AutomatedReports\RequestGenerateAskJiminnyReportJob;
use Jiminny\Jobs\AutomatedReports\SendReportMailJob;
use Jiminny\Jobs\JobDispatcherInterface;
use Jiminny\Models\Activity;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\AutomatedReportResult;
use Jiminny\Models\Team;
use Jiminny\Models\User;
use Jiminny\Repositories\AutomatedReportsRepository;
use Jiminny\Services\Activity\CrmOwnerResolver;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
/**
* Class JiminnyDebugCommand
*
* @package Jiminny\Console\Commands
*/
class JiminnyDebugCommand extends Command
{
public const string FREQUENCY_DAILY = 'daily';
public const string FREQUENCY_WEEKLY = 'weekly';
public const string FREQUENCY_MONTHLY = 'monthly';
public const string FREQUENCY_QUARTERLY = 'quarterly';
public const string FREQUENCY_ONE_OFF = 'one_off';
protected $signature = 'jiminny:debug';
public function handle(
JobDispatcherInterface $jobDispatcher,
AutomatedReportsService $automatedReportsService,
AutomatedReportsRepository $automatedReportsRepository,
): void {
$user = User::find(143);
// $count = $automatedReportsRepository->countUserReports($user);
// $this->info("Count: {$count}");
// $count = $automatedReportsRepository->countAllUserReports($user);
// $this->info("All count: {$count}");
$this->userPilotClient->track($user, $eventName, $payload);
exit(1);
$now = Carbon::now()->subDay(1);
$this->info("Now: {$now->toDateTimeString()}");
$weekStart = Carbon::getWeekStartsAt();
$this->info("Now: {$weekStart}");
// $from = $now->copy()->previousWeekday()->startOfDay();
// $to = $now->copy()->previousWeekday()->endOfDay();
// $fromOld = $now->copy()->subWeeks(1)->startOfDay();
// $toOld = $now->copy()->subDay()->endOfDay();
// $fromNew = $now->copy()->subWeek()->startOfWeek();
// $toNew = $now->copy()->subWeek()->endOfWeek();
// $fromOld = $now->copy()->subMonths(1)->startOfDay();
// $toOld = $now->copy()->subDay()->endOfDay();
// $fromNew = $now->copy()->subMonthNoOverflow()->startOfMonth();
// $toNew = $now->copy()->subMonthNoOverflow()->endOfMonth();
$fromOld = $now->copy()->subMonths(3)->startOfDay();
$toOld = $now->copy()->subDay()->endOfDay();
$fromNew = $now->copy()->subQuarterNoOverflow()->startOfQuarter();
$toNew = $now->copy()->subQuarterNoOverflow()->endOfQuarter();
$this->info("From old: {$fromOld->toDateTimeString()}");
$this->info("To old: {$toOld->toDateTimeString()}");
$this->info("From new: {$fromNew->toDateTimeString()}");
$this->info("To new: {$toNew->toDateTimeString()}");
exit(1);
$report = AutomatedReport::find(71);
$job = new RequestGenerateAskJiminnyReportJob($report->getUuid());
$jobDispatcher->dispatch($job);
exit(1);
// $this->formatDate($jobDispatcher);
// $this->sendMail($jobDispatcher, $automatedReportsService);
// $this->crmService();
$this->getPayload($automatedReportsService);
exit(1);
}
private function crmService()
{
$activity = Activity::find(418141);
$team = Team::find(19);
$config = $team->getCrmConfiguration();
$crmResolver = app(CrmOwnerResolver::class, [
'team' => $team,
'integrationAdmin' => $team->getOwner(),
'providerSlug' => $config->getProviderName(),
]);
$crmService = $crmResolver->prepareCrmService();
$crmService->createTranscriptNotes($activity);
}
private function sendMail(JobDispatcherInterface $jobDispatcher, AutomatedReportsService $automatedReportsService)
{
$reportUuid = '';
// $report = $automatedReportsService->getReportResult($reportUuid);
$report = AutomatedReportResult::find(275);
$validRecipients = $automatedReportsService->getValidRecipientUsers(
$report->getReport(),
includeJiminny: true,
);
$recipient = $validRecipients[0];
$fileName = $automatedReportsService->getReportFileName($report);
$typeName = $report->getReport()->getCustomName()
?? $automatedReportsService->getReportTypeName($report);
$teamsName = $automatedReportsService->getReportTeamsName($report);
$periodName = $automatedReportsService->getReportPeriodName($report);
$s3Path = $automatedReportsService->getMediaPath($report);
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$fileName ' . PHP_EOL . print_r($fileName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$typeName ' . PHP_EOL . print_r($typeName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$teamsName ' . PHP_EOL . print_r($teamsName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$periodName ' . PHP_EOL . print_r($periodName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$s3Path ' . PHP_EOL . print_r($s3Path, true));
$jobDispatcher->dispatch(
new SendReportMailJob(
reportUuid: $report->getUuid(),
s3Path: $s3Path,
recipientEmail: $recipient['email'],
recipientName: $recipient['name'] ?? null,
fileName: $fileName,
typeName: $typeName,
teamsName: $teamsName,
periodName: $periodName,
isAskJiminny: true,
)
);
exit(1);
}
private function formatDate(JobDispatcherInterface $jobDispatcher): void
{
$customName = 'Custom report name';
// $frequency = self::FREQUENCY_DAILY;
// $frequency = self::FREQUENCY_WEEKLY;
$frequency = self::FREQUENCY_MONTHLY;
// $frequency = self::FREQUENCY_QUARTERLY;
// $frequency = self::FREQUENCY_ONE_OFF;
$period = $this->calculateFromAndToDatePeriod($frequency);
$from = $period['fromDate'];
$to = $period['toDate'];
$periodName = $this->formatReportPeriodName($frequency, $from, $to);
$filenameSuffix = null;
if ($customName) {
if ($filenameSuffix) {
$customName .= " {$filenameSuffix}";
}
$result = $this->sanitizeFileName("{$customName} - {$periodName}");
}
$this->info($result);
}
public function calculateFromAndToDatePeriod(
string $frequency,
?Carbon $fromDate = null,
?Carbon $toDate = null
): array {
if ($frequency === self::FREQUENCY_ONE_OFF) {
return [
'fromDate' => $fromDate,
'toDate' => $toDate,
];
}
$now = Carbon::now();
return match ($frequency) {
self::FREQUENCY_DAILY => [
'fromDate' => $now->copy()->subDay()->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
self::FREQUENCY_WEEKLY => [
'fromDate' => $now->copy()->subWeeks(1)->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
self::FREQUENCY_MONTHLY => [
'fromDate' => $now->copy()->subMonths(1)->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
self::FREQUENCY_QUARTERLY => [
'fromDate' => $now->copy()->subMonths(3)->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
default => throw new InvalidArgumentException("Unsupported frequency: {$frequency}"),
};
}
private function formatReportPeriodName(string $frequency, Carbon $from, Carbon $to): string
{
$fromYear = $from->format('Y');
$toYear = $to->format('Y');
$differentYears = $fromYear !== $toYear;
switch ($frequency) {
case self::FREQUENCY_DAILY:
return $from->format('j M Y');
case self::FREQUENCY_QUARTERLY:
// 'Jan-Mar 2025' or 'Nov 2024-Jan 2025' if years differ
$startMonth = $from->format('M');
$endMonth = $to->copy()->subMonth();
$endMonthName = $endMonth->format('M');
$endMonthYear = $endMonth->format('Y');
if ($differentYears) {
return "{$startMonth} {$fromYear} - {$endMonthName} {$endMonthYear}";
}
return "{$startMonth} - {$endMonthName} {$toYear}";
case self::FREQUENCY_MONTHLY:
// 'May 2025' - monthly reports are always within the same year
return $from->format('M Y');
case self::FREQUENCY_WEEKLY:
// '4 - 8 Aug 2025', '27 Oct - 3 Nov 2025', or '28 Dec 2024 - 3 Jan 2025' if years differ
$startDay = $from->format('j');
$endDay = $to->format('j');
$startMonth = $from->format('M');
$endMonth = $to->format('M');
if ($differentYears) {
return "{$startDay} {$startMonth} {$fromYear} - {$endDay} {$endMonth} {$toYear}";
}
if ($startMonth !== $endMonth) {
return "{$startDay} {$startMonth} - {$endDay} {$endMonth} {$toYear}";
}
return "{$startDay} - {$endDay} {$endMonth} {$toYear}";
case self::FREQUENCY_ONE_OFF:
// '2 May-31 May 2025' or '15 Dec 2024-15 Jan 2025' if years differ
$startDay = $from->format('j');
$startMonth = $from->format('M');
$endDay = $to->format('j');
$endMonth = $to->format('M');
// If same month and year, use a format like '2-31 May 2025'
if ($startMonth === $endMonth && ! $differentYears) {
return "{$startDay} - {$endDay} {$startMonth} {$toYear}";
}
// If different years, include both years
if ($differentYears) {
return "{$startDay} {$startMonth} {$fromYear} - {$endDay} {$endMonth} {$toYear}";
}
// Same year but different months
return "{$startDay} {$startMonth} - {$endDay} {$endMonth} {$toYear}";
default:
// Default format for unknown frequencies
return $from->format('j M Y') . ' - ' . $to->format('j M Y');
}
}
public function sanitizeFileName(string $fileName): string
{
return str_replace(['/', '\\'], '-', $fileName);
}
private function getPayload(AutomatedReportsService $automatedReportsService)
{
$reportResult = AutomatedReportResult::find(269);
$automatedReport = $reportResult->getReport();
$activityIds = [1,2,3];
$payload = $automatedReportsService->getAskJiminnyGenerateReportPayload(
automatedReport: $automatedReport,
reportResult: $reportResult,
activityIds: $activityIds,
);
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$payload ' . PHP_EOL . print_r($payload, true));
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
21
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
PhpStorm
|
faVsco.js – JiminnyDebugCommand.php
|
NULL
|
77152
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
->track(
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/1
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
1
1
1
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Listeners\AutomatedReports\UserPilot;
use GuzzleHttp\Exception\GuzzleException;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Queue\InteractsWithQueue;
use Jiminny\Component\Queue\Constants;
use Jiminny\Events\AutomatedReports\AutomatedReportGenerated;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\Contracts\UserContract;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Jiminny\Services\UserPilot\UserPilotClient;
use Illuminate\Support\Facades\Log;
class TrackAutomatedReportGeneratedEvent implements ShouldQueue
{
use InteractsWithQueue;
private const string EVENT_NAME_AUTOMATED_REPORT = 'automated-report-generated';
private const string EVENT_NAME_ASK_JIMINNY_REPORT = 'ask-jiminny-report-generated';
public string $queue = Constants::QUEUE_DELAYABLE;
public function __construct(
private readonly UserPilotClient $userPilotClient,
private readonly AutomatedReportsService $automatedReportsService,
) {
}
public function handle(AutomatedReportGenerated $event): void
{
if (config('services.userpilot.token') === null) {
return;
}
$automatedReport = $event->automatedReport;
$payload = $this->buildPayload($automatedReport);
$eventName = $this->resolveEventName($automatedReport);
$users = $this->resolveUsers($automatedReport);
if (empty($users)) {
Log::warning('[UserPilot] No recipients found for automated report', [
'report_id' => $automatedReport->getId(),
'is_ask_jiminny' => $automatedReport->isAskJiminnyReport(),
]);
return;
}
Log::info('[UserPilot] Sending automated report event', [
'report_id' => $automatedReport->getId(),
'event_name' => $eventName,
'recipient_count' => count($users),
]);
try {
foreach ($users as $user) {
$this->userPilotClient->track($user, $eventName, $payload);
}
} catch (GuzzleException $e) {
Log::error('[UserPilot] Failed to send automated report event', [
'report_id' => $automatedReport->getId(),
'error' => $e->getMessage(),
]);
$this->release(3600);
}
}
/**
* @return array<UserContract>
*/
private function resolveUsers(AutomatedReport $automatedReport): array
{
if ($automatedReport->isAskJiminnyReport()) {
$creator = $automatedReport->getCreator();
return $creator !== null ? [$creator] : [];
}
return $this->automatedReportsService->getRecipientUserObjects($automatedReport);
}
private function buildPayload(AutomatedReport $automatedReport): array
{
return [
'report_type' => $automatedReport->getType(),
'frequency' => $automatedReport->getFrequency(),
];
}
private function resolveEventName(AutomatedReport $automatedReport): string
{
if ($automatedReport->isAskJiminnyReport()) {
return self::EVENT_NAME_ASK_JIMINNY_REPORT;
}
return self::EVENT_NAME_AUTOMATED_REPORT;
}
}
Execute
Explain Plan
Browse Query History...
|
PhpStorm
|
faVsco.js – TrackAutomatedReportGeneratedEvent.php
|
NULL
|
77153
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
->track(
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/1
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
1
1
1
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Listeners\AutomatedReports\UserPilot;
use GuzzleHttp\Exception\GuzzleException;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Queue\InteractsWithQueue;
use Jiminny\Component\Queue\Constants;
use Jiminny\Events\AutomatedReports\AutomatedReportGenerated;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\Contracts\UserContract;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Jiminny\Services\UserPilot\UserPilotClient;
use Illuminate\Support\Facades\Log;
class TrackAutomatedReportGeneratedEvent implements ShouldQueue
{
use InteractsWithQueue;
private const string EVENT_NAME_AUTOMATED_REPORT = 'automated-report-generated';
private const string EVENT_NAME_ASK_JIMINNY_REPORT = 'ask-jiminny-report-generated';
public string $queue = Constants::QUEUE_DELAYABLE;
public function __construct(
private readonly UserPilotClient $userPilotClient,
private readonly AutomatedReportsService $automatedReportsService,
) {
}
public function handle(AutomatedReportGenerated $event): void
{
if (config('services.userpilot.token') === null) {
return;
}
$automatedReport = $event->automatedReport;
$payload = $this->buildPayload($automatedReport);
$eventName = $this->resolveEventName($automatedReport);
$users = $this->resolveUsers($automatedReport);
if (empty($users)) {
Log::warning('[UserPilot] No recipients found for automated report', [
'report_id' => $automatedReport->getId(),
'is_ask_jiminny' => $automatedReport->isAskJiminnyReport(),
]);
return;
}
Log::info('[UserPilot] Sending automated report event', [
'report_id' => $automatedReport->getId(),
'event_name' => $eventName,
'recipient_count' => count($users),
]);
try {
foreach ($users as $user) {
$this->userPilotClient->track($user, $eventName, $payload);
}
} catch (GuzzleException $e) {
Log::error('[UserPilot] Failed to send automated report event', [
'report_id' => $automatedReport->getId(),
'error' => $e->getMessage(),
]);
$this->release(3600);
}
}
/**
* @return array<UserContract>
*/
private function resolveUsers(AutomatedReport $automatedReport): array
{
if ($automatedReport->isAskJiminnyReport()) {
$creator = $automatedReport->getCreator();
return $creator !== null ? [$creator] : [];
}
return $this->automatedReportsService->getRecipientUserObjects($automatedReport);
}
private function buildPayload(AutomatedReport $automatedReport): array
{
return [
'report_type' => $automatedReport->getType(),
'frequency' => $automatedReport->getFrequency(),
];
}
private function resolveEventName(AutomatedReport $automatedReport): string
{
if ($automatedReport->isAskJiminnyReport()) {
return self::EVENT_NAME_ASK_JIMINNY_REPORT;
}
return self::EVENT_NAME_AUTOMATED_REPORT;
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
21
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
PhpStorm
|
faVsco.js – TrackAutomatedReportGeneratedEvent.php
|
NULL
|
77154
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
->track(
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/1
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
1
1
1
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Listeners\AutomatedReports\UserPilot;
use GuzzleHttp\Exception\GuzzleException;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Queue\InteractsWithQueue;
use Jiminny\Component\Queue\Constants;
use Jiminny\Events\AutomatedReports\AutomatedReportGenerated;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\Contracts\UserContract;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Jiminny\Services\UserPilot\UserPilotClient;
use Illuminate\Support\Facades\Log;
class TrackAutomatedReportGeneratedEvent implements ShouldQueue
{
use InteractsWithQueue;
private const string EVENT_NAME_AUTOMATED_REPORT = 'automated-report-generated';
private const string EVENT_NAME_ASK_JIMINNY_REPORT = 'ask-jiminny-report-generated';
public string $queue = Constants::QUEUE_DELAYABLE;
public function __construct(
private readonly UserPilotClient $userPilotClient,
private readonly AutomatedReportsService $automatedReportsService,
) {
}
public function handle(AutomatedReportGenerated $event): void
{
if (config('services.userpilot.token') === null) {
return;
}
$automatedReport = $event->automatedReport;
$payload = $this->buildPayload($automatedReport);
$eventName = $this->resolveEventName($automatedReport);
$users = $this->resolveUsers($automatedReport);
if (empty($users)) {
Log::warning('[UserPilot] No recipients found for automated report', [
'report_id' => $automatedReport->getId(),
'is_ask_jiminny' => $automatedReport->isAskJiminnyReport(),
]);
return;
}
Log::info('[UserPilot] Sending automated report event', [
'report_id' => $automatedReport->getId(),
'event_name' => $eventName,
'recipient_count' => count($users),
]);
try {
foreach ($users as $user) {
$this->userPilotClient->track($user, $eventName, $payload);
}
} catch (GuzzleException $e) {
Log::error('[UserPilot] Failed to send automated report event', [
'report_id' => $automatedReport->getId(),
'error' => $e->getMessage(),
]);
$this->release(3600);
}
}
/**
* @return array<UserContract>
*/
private function resolveUsers(AutomatedReport $automatedReport): array
{
if ($automatedReport->isAskJiminnyReport()) {
$creator = $automatedReport->getCreator();
return $creator !== null ? [$creator] : [];
}
return $this->automatedReportsService->getRecipientUserObjects($automatedReport);
}
private function buildPayload(AutomatedReport $automatedReport): array
{
return [
'report_type' => $automatedReport->getType(),
'frequency' => $automatedReport->getFrequency(),
];
}
private function resolveEventName(AutomatedReport $automatedReport): string
{
if ($automatedReport->isAskJiminnyReport()) {
return self::EVENT_NAME_ASK_JIMINNY_REPORT;
}
return self::EVENT_NAME_AUTOMATED_REPORT;
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
21
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
PhpStorm
|
faVsco.js – TrackAutomatedReportGeneratedEvent.php
|
NULL
|
77155
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
->track(
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/1
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
1
1
1
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Listeners\AutomatedReports\UserPilot;
use GuzzleHttp\Exception\GuzzleException;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Queue\InteractsWithQueue;
use Jiminny\Component\Queue\Constants;
use Jiminny\Events\AutomatedReports\AutomatedReportGenerated;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\Contracts\UserContract;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Jiminny\Services\UserPilot\UserPilotClient;
use Illuminate\Support\Facades\Log;
class TrackAutomatedReportGeneratedEvent implements ShouldQueue
{
use InteractsWithQueue;
private const string EVENT_NAME_AUTOMATED_REPORT = 'automated-report-generated';
private const string EVENT_NAME_ASK_JIMINNY_REPORT = 'ask-jiminny-report-generated';
public string $queue = Constants::QUEUE_DELAYABLE;
public function __construct(
private readonly UserPilotClient $userPilotClient,
private readonly AutomatedReportsService $automatedReportsService,
) {
}
public function handle(AutomatedReportGenerated $event): void
{
if (config('services.userpilot.token') === null) {
return;
}
$automatedReport = $event->automatedReport;
$payload = $this->buildPayload($automatedReport);
$eventName = $this->resolveEventName($automatedReport);
$users = $this->resolveUsers($automatedReport);
if (empty($users)) {
Log::warning('[UserPilot] No recipients found for automated report', [
'report_id' => $automatedReport->getId(),
'is_ask_jiminny' => $automatedReport->isAskJiminnyReport(),
]);
return;
}
Log::info('[UserPilot] Sending automated report event', [
'report_id' => $automatedReport->getId(),
'event_name' => $eventName,
'recipient_count' => count($users),
]);
try {
foreach ($users as $user) {
$this->userPilotClient->track($user, $eventName, $payload);
}
} catch (GuzzleException $e) {
Log::error('[UserPilot] Failed to send automated report event', [
'report_id' => $automatedReport->getId(),
'error' => $e->getMessage(),
]);
$this->release(3600);
}
}
/**
* @return array<UserContract>
*/
private function resolveUsers(AutomatedReport $automatedReport): array
{
if ($automatedReport->isAskJiminnyReport()) {
$creator = $automatedReport->getCreator();
return $creator !== null ? [$creator] : [];
}
return $this->automatedReportsService->getRecipientUserObjects($automatedReport);
}
private function buildPayload(AutomatedReport $automatedReport): array
{
return [
'report_type' => $automatedReport->getType(),
'frequency' => $automatedReport->getFrequency(),
];
}
private function resolveEventName(AutomatedReport $automatedReport): string
{
if ($automatedReport->isAskJiminnyReport()) {
return self::EVENT_NAME_ASK_JIMINNY_REPORT;
}
return self::EVENT_NAME_AUTOMATED_REPORT;
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
21
1
17
2
4
Previous Highlighted Error
Next Highlighted Error
SELECT a.id, a.uuid, a.actual_start_time, o.id, o.uuid FROM opportunities o
JOIN activities a ON o.id = a.opportunity_id
WHERE a.crm_configuration_id = 39
AND a.actual_start_time > '2025-10-13'
AND a.type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM activities
WHERE crm_configuration_id = 39 and user_id = 143
and actual_start_time >= '2025-10-13'
AND type IN ('conference', 'softphone-inbound', 'softphone-outbound')
;
SELECT * FROM opportunities WHERE account_id IN (178);
select * from activities where id IN (620137, 620187, 620188, 620189, 620230);
# HS
SELECT * FROM opportunities WHERE id IN (238);
select * from activities where id IN (477,2076);
select * from users;
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM activities;
SELECT COUNT(*) FROM opportunities;
UPDATE activities
SET
actual_start_time = '2025-12-19 09:00:00',
actual_end_time = '2025-12-19 10:30:00',
scheduled_start_time = '2025-12-19 09:00:00',
scheduled_end_time = '2025-12-19 10:30:00'
WHERE id IN (407509,407375);
select * from partners;
SELECT id, uuid, type, actual_start_time, user_id, crm_configuration_id
FROM activities
WHERE user_id = 143
AND actual_start_time >= '2025-10-13 00:00:00'
AND actual_start_time <= '2026-01-13 23:59:59'
ORDER BY actual_start_time DESC;
SELECT * FROM activities WHERE uuid_to_bin('78eda160-3086-435f-88a5-bb0c71b6008d') = uuid;
SELECT * FROM crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 282;
# lead_id
# account_id 177
# contact_id 3969
# opportunity_id
# stage_id 203
SELECT * FROM opportunities WHERE opportunities.crm_configuration_id = id = 282;
SELECT * FROM activities where crm_configuration_id = 39 AND type = 'conference'
AND user_id = 143 and actual_start_time >= '2025-10-13';
SELECT * FROM activities a
# JOIN opportunities o ON a.opportunity_id = o.id
WHERE a.crm_configuration_id = 39 AND a.type = 'conference'
and status = 'completed' and recording_state = 'recorded'
and a.actual_start_time >= '2025-10-13'
AND a.user_id = 143
;
select * from leads
where crm_configuration_id = 39; # 112 -> ac. 178, 109 => op. 1707
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310,407509,407375,356001,356008);
SELECT * FROM activities WHERE id IN (356013,616188,616202,616310);
SELECT * FROM activities WHERE id IN (407509,407375); # leads: 112, 109 | status - 198
SELECT * FROM activities WHERE id IN (356001, 356008); # contacts:
SELECT * FROM opportunities WHERE id IN (1707);
SELECT * FROM stages where id IN (204, 198);
SELECT * FROM opportunities WHERE account_id IN (178);
SELECT * FROM opportunities WHERE crm_configuration_id = 39 AND created_at > '2025-01-01';
SELECT * FROM contacts WHERE account_id IN (178); # 4118 Musaibe, 4448 Ceco Personal
SELECT * FROM activities where crm_configuration_id = 39
AND opportunity_id IS NULL
AND is_internal = false
and status = 'completed' and recording_state = 'recorded'
AND actual_start_time >= '2025-10-13'
AND (lead_id IS NOT NULL OR contact_id IS NOT NULL OR account_id IS NOT NULL)
# AND lead_id IN (112, 109)
;
SELECT * FROM crm_profiles WHERE user_id = 143;
select * from inboxes; # 212
select * from users where id = 143; # 143
select * from inbox_email_batches where inbox_id = 212
and updated_at >= '2026-01-28 00:00:00' order by id desc;
select * from inbox_emails where inbox_id = 212
and batch_id = 95885 order by id desc;
select * from email_messages where origin_user_id = 143;
select * from activities where user_id = 143 and updated_at >= '2026-01-28 00:00:00';
select * from participants where activity_id = 620247;
select * from crm_profiles where user_id = 143;
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid; # 356001
select * from transcription where activity_id = 356001; # 6943
select * from ai_prompts where transcription_id = 6943;
SELECT * FROM activity_summary_logs where activity_id = 356001;
SELECT * FROM social_accounts WHERE sociable_id = 143;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('0164a4fb-cb95-454e-9edd-4d804e4999bd') = uuid;
# 422515 softphone tr. 8100
SELECT * FROM activities WHERE uuid_to_bin('7520add8-8d87-41a5-98e5-fc4edf96f21e') = uuid;
# 407509 conference tr. 7670 crmId: 00UD1000002J9aTMAS
select * from ai_prompts where transcription_id IN (8100, 7670);
select * from activity_summary_logs where activity_id = 407509;
select * from sidekick_settings;
select * from default_activity_types;
SELECT * FROM contacts WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM leads WHERE crm_configuration_id = 39 and email = '[EMAIL]';
SELECT * FROM activity_searches where user_id = 143;
SELECT * FROM groups where team_id = 1;
select * from teams where id = 1;
select * from groups where team_id = 1; # 1150 - 7e75f8025c22
select id, name, group_id, status, deleted_at, email
from users where team_id = 1 order by group_id desc ;
select * from activity_searches where id in (1977, 1978, 1979);
select * from activity_search_filters where activity_search_id IN (1977, 1978, 1979);
select * from activity_search_filters where filter = 'group_id' and value = '443f26b8-8512-437e-a9f9-7e75f8025c22'; # 10268, 10272, 10277
select * from nudges where activity_search_id IN (1977, 1978, 1979); # 877, 878, 879
INSERT INTO `activity_search_filters`
(`activity_search_id`, `filter`, `value`) VALUES
(1977, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1978, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22'),
(1979, 'group_id', '443f26b8-8512-437e-a9f9-7e75f8025c22')
;
select * from crm_configurations where id = 39;
select sa.* from users u JOIN social_accounts sa on u.id = sa.sociable_id
where u.team_id = 1;
SELECT * FROM social_accounts WHERE sociable_id = 1635;
SELECT * FROM users WHERE id = 1635;
select * from teams where id = 1;
select * from users where team_id = 1;
select * from team_features where team_id = 1;
select * from features;
SELECT * FROM activity_searches where id = 1982; # 1981
SELECT * FROM activity_search_filters WHERE activity_search_id = 1982;
SELECT * FROM activities WHERE uuid_to_bin('e916569b-086c-4bd1-94d7-5e3802c27ccf') = uuid;
SELECT * FROM automated_reports where id = 71;
SELECT * FROM automated_report_results where report_id = 71;
UPDATE automated_reports set playbook_categories = NULL where id = 68;
SELECT * FROM automated_report_results where id = 275;
SELECT * FROM automated_reports order by id desc;
SELECT * FROM automated_report_results order by id desc;
select * from activity_searches where user_id = 143;
select * from ask_anything_prompts;
SELECT * FROM groups WHERE id = 1439;
SELECT * FROM users WHERE group_id = 1439;
select * from permissions; # 158
select * from roles;
select * from permission_role
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 28;
select * from playbooks where team_id = 1;
select * from playbooks where id = 179;
select * from playbook_categories where id = 1391;
select * from users where id = 143;
select * from crm_profiles where user_id = 143;
select * from activities where crm_configuration_id = 39 and type = 'conference'
and crm_provider_id IS NOT NULL ORDER by id desc;
select * from activities where id = 422003; # 00UO400000pB6fpMAC
SELECT ar.id, ar.uuid, ar.media_type, ar.status, a.type
FROM automated_report_results ar
JOIN automated_reports a ON a.id = ar.report_id
WHERE a.type = 'ask_jiminny'
LIMIT 10;
SELECT `automated_report_results`.* FROM `automated_report_results`
INNER JOIN `automated_reports`
ON `automated_report_results`.`report_id` = `automated_reports`.`id`
WHERE 1=1
AND `automated_report_results`.`generated_at` IS NOT NULL
# AND `automated_report_results`.`sent_at` IS NOT NULL
AND `automated_reports`.`team_id` = 1
AND JSON_CONTAINS(`automated_reports`.`recipients`, 143, '$."users"')
;
SELECT * FROM automated_reports where id = 67;
SELECT * FROM automated_reports where id = 42;
SELECT * FROM users WHERE id = 143; # group 28
select * from teams where id = 3143;
select * from crm_configurations where id = 500;
select * from users where name = 'Integration Account'; # 1695
SELECT * FROM social_accounts WHERE sociable_id = 1695;
select * from activities where crm_configuration_id = 39
and recording_state = 'recorded' and duration > 60
and status = 'completed' and actual_start_time >= '2025-12-01';
SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;
select * from leads;
Project...
|
PhpStorm
|
faVsco.js – TrackAutomatedReportGeneratedEvent.php
|
NULL
|
77156
|