SYMBOL INDEX (18882 symbols across 4582 files) FILE: .github/workflows/scripts/add-triage-label.js function start (line 10) | async function start() { FILE: apps/api/admin/connect-to-dal.ts function connect (line 5) | async function connect(databaseQuery: () => Promise) { FILE: apps/api/admin/make-json-backup.ts function makeJsonBackup (line 6) | async function makeJsonBackup(folder: string, fileName: string, obj: unk... FILE: apps/api/admin/remove-organization.ts constant ORG_ID (line 28) | const ORG_ID = args[0]; function removeData (line 31) | async function removeData { method getRecordedRequests (line 81) | getRecordedRequests(): Array<{ request: Request; response: Response }> { type MockConfig (line 86) | interface MockConfig { FILE: apps/api/e2e/retry.e2e.ts function getIdempotencyKeys (line 8) | function getIdempotencyKeys(mockHTTPClient: MockHTTPClient) { constant BACKEND_URL (line 257) | const BACKEND_URL = 'http://example.com'; constant TOPICS_PATH (line 258) | const TOPICS_PATH = '/v1/topics'; constant TRIGGER_PATH (line 259) | const TRIGGER_PATH = '/v1/events/trigger'; function buildErrorDto (line 266) | function buildErrorDto(path: string, message: string, status: number): E... constant IDEMPOTENCY_HEADER_KEY (line 275) | const IDEMPOTENCY_HEADER_KEY = 'idempotency-key'; function getIdempotencyRequestKeys (line 277) | function getIdempotencyRequestKeys(mockHTTPClient: MockHTTPClient) { FILE: apps/api/e2e/setup.ts function getDatabaseConnection (line 34) | async function getDatabaseConnection(): Promise { function dropDatabase (line 42) | async function dropDatabase(): Promise { function ensureIndexes (line 51) | async function ensureIndexes(conn: Connection): Promise { function closeDatabaseConnection (line 68) | async function closeDatabaseConnection(): Promise { function getClickHouseConnection (line 74) | async function getClickHouseConnection(): Promise { function closeClickHouseConnection (line 162) | async function closeClickHouseConnection(): Promise { function waitForHealthCheck (line 171) | async function waitForHealthCheck(): Promise { function formatZodError (line 205) | function formatZodError(err: ZodError, level = 0): string { function isResponseValidationError (line 264) | function isResponseValidationError(error: unknown): error is { function isValidationErrorDto (line 283) | function isValidationErrorDto(error: unknown): error is Error & { function logE2EFailure (line 307) | function logE2EFailure(error: unknown): void { function getFailedHookError (line 385) | function getFailedHookError(test: Mocha.Test | undefined): unknown { FILE: apps/api/e2e/test-bridge-server.ts class TestBridgeServer (line 5) | class TestBridgeServer { method constructor (line 12) | constructor(port = 49999) { method log (line 16) | private log(level: 'info' | 'error' | 'warn', message: string, ...args... method serverPath (line 20) | get serverPath() { method start (line 24) | async start(options) { method stop (line 95) | async stop() { FILE: apps/api/exportOpenAPIJSON.ts function exportOpenAPIJSON (line 4) | async function exportOpenAPIJSON() { FILE: apps/api/migrations/001-add-default-identifier-to-topic-subscribers/add-default-identifier-to-topic-subscribers-migration.ts function run (line 8) | async function run() { FILE: apps/api/migrations/002-remove-duplicate-identifiers/remove-duplicate-identifiers.ts type DuplicateGroup (line 8) | interface DuplicateGroup { constant BATCH_SIZE (line 17) | const BATCH_SIZE = 500; function run (line 19) | async function run() { FILE: apps/api/migrations/add-layout-id-to-email-controls/add-layout-id-to-email-controls-migration.ts function run (line 10) | async function run() { FILE: apps/api/migrations/changes-migration.ts function run (line 20) | async function run(): Promise { FILE: apps/api/migrations/clickhouse-migrations/1_initial_schema.sql type step_runs (line 7) | CREATE TABLE IF NOT EXISTS step_runs ( type traces (line 40) | CREATE TABLE IF NOT EXISTS traces ( type requests (line 65) | CREATE TABLE IF NOT EXISTS requests ( type workflow_runs (line 93) | CREATE TABLE IF NOT EXISTS workflow_runs ( FILE: apps/api/migrations/clickhouse-migrations/3_analytics_tables.sql type delivery_trend_counts (line 5) | CREATE TABLE IF NOT EXISTS delivery_trend_counts ( type trace_rollup (line 41) | CREATE TABLE IF NOT EXISTS trace_rollup ( FILE: apps/api/migrations/clickhouse-migrations/4_refactor_traces_schema.sql type traces_temp (line 25) | CREATE TABLE IF NOT EXISTS traces_temp ( type delivery_trend_counts_temp (line 127) | CREATE TABLE IF NOT EXISTS delivery_trend_counts_temp ( type workflow_run_count (line 160) | CREATE TABLE IF NOT EXISTS workflow_run_count ( FILE: apps/api/migrations/email-step-ui-schema-html-editor/email-step-ui-schema-html-editor-migration.ts function run (line 8) | async function run() { FILE: apps/api/migrations/encrypt-api-keys/encrypt-api-keys-migration.spec.ts function pruneIntegration (line 11) | async function pruneIntegration({ environmentRepository }: { environment... FILE: apps/api/migrations/encrypt-api-keys/encrypt-api-keys-migration.ts function encryptApiKeysMigration (line 11) | async function encryptApiKeysMigration() { function encryptApiKeysWithGuard (line 56) | function encryptApiKeysWithGuard(apiKeys: IApiKey[]): IEncryptedApiKey[] { function isEncrypted (line 70) | function isEncrypted(apiKey: string): apiKey is EncryptedSecret { type IEncryptedApiKey (line 74) | interface IEncryptedApiKey { FILE: apps/api/migrations/encrypt-credentials/encrypt-credentials-migration.spec.ts function pruneIntegration (line 85) | async function pruneIntegration(integrationRepository) { FILE: apps/api/migrations/encrypt-credentials/encrypt-credentials-migration.ts function encryptOldCredentialsMigration (line 7) | async function encryptOldCredentialsMigration() { function encryptCredentialsWithGuard (line 43) | function encryptCredentialsWithGuard(integration: IntegrationEntity): IC... function needEncryption (line 60) | function needEncryption(key: string, credential: string, integration: In... function secureKey (line 64) | function secureKey(key: string): boolean { function alreadyEncrypted (line 68) | function alreadyEncrypted(credential: string, integration: IntegrationEn... FILE: apps/api/migrations/expire-at/expire-at-delay.migration.spec.ts function createDelayTemplate (line 106) | async function createDelayTemplate(session) { function createDigestTemplate (line 129) | async function createDigestTemplate(session) { FILE: apps/api/migrations/expire-at/expire-at.migration.spec.ts function createTemplate (line 81) | async function createTemplate(session) { FILE: apps/api/migrations/expire-at/expire-at.migration.ts function createExpireAt (line 25) | async function createExpireAt() { function messagesSetExpireAt (line 63) | async function messagesSetExpireAt(query) { function notificationExpireAt (line 81) | async function notificationExpireAt(query) { function getExcludedNotificationIds (line 100) | async function getExcludedNotificationIds(query) { FILE: apps/api/migrations/fcm-credentials/fcm-credentials-migration.spec.ts function pruneIntegration (line 53) | async function pruneIntegration(integrationRepository: IntegrationReposi... FILE: apps/api/migrations/fcm-credentials/fcm-credentials-migration.ts function updateFcmCredentials (line 4) | async function updateFcmCredentials() { FILE: apps/api/migrations/in-app-integration/in-app-integration.migration.ts function createInAppIntegration (line 12) | async function createInAppIntegration() { FILE: apps/api/migrations/integration-scheme-update/add-integration-identifier-migration.spec.ts function pruneIntegration (line 128) | async function pruneIntegration(integrationRepository) { FILE: apps/api/migrations/integration-scheme-update/add-integration-identifier-migration.ts constant ENVIRONMENT_NAME_TO_SHORT_NAME (line 7) | const ENVIRONMENT_NAME_TO_SHORT_NAME = { Development: 'dev', Production:... function addIntegrationIdentifierMigrationBatched (line 9) | async function addIntegrationIdentifierMigrationBatched() { function addIntegrationIdentifierMigration (line 36) | async function addIntegrationIdentifierMigration() { function getUpdatePayload (line 64) | async function getUpdatePayload(integration: IntegrationEntity, environm... function genIntegrationIdentificationDetails (line 79) | function genIntegrationIdentificationDetails({ FILE: apps/api/migrations/integration-scheme-update/add-primary-priority-migration.ts function run (line 11) | async function run() { FILE: apps/api/migrations/integration-scheme-update/update-primary-for-disabled-novu-integrations.ts function run (line 11) | async function run() { FILE: apps/api/migrations/layout-identifier-update/add-layout-identifier-migration.spec.ts function pruneLayouts (line 104) | async function pruneLayouts(layoutRepository) { FILE: apps/api/migrations/layout-identifier-update/add-layout-identifier-migration.ts function addLayoutIdentifierMigration (line 7) | async function addLayoutIdentifierMigration() { FILE: apps/api/migrations/normalize-message-template-cta-action/normalize-message-cta-action-migration.ts function normalizeMessageCtaAction (line 3) | async function normalizeMessageCtaAction() { FILE: apps/api/migrations/normalize-message-template-cta-action/normalize-message-template-cta-action-migration.ts function normalizeMessageTemplateCtaAction (line 3) | async function normalizeMessageTemplateCtaAction() { FILE: apps/api/migrations/normalize-users-email/normalize-users-email.migration.ts function run (line 9) | async function run() { FILE: apps/api/migrations/novu-integrations/novu-integrations.migration.ts function createNovuIntegrations (line 56) | async function createNovuIntegrations() { FILE: apps/api/migrations/preference-centralization/preference-centralization-migration.ts function preferenceCentralization (line 22) | async function preferenceCentralization() { FILE: apps/api/migrations/preferences-uniqueness/preferences-uniqueness-migration.spec.ts function cleanupPreferences (line 19) | async function cleanupPreferences() { function cleanupSubscribers (line 23) | async function cleanupSubscribers() { FILE: apps/api/migrations/preferences-uniqueness/preferences-uniqueness-migration.ts function run (line 10) | async function run() { function deletePreferenceDuplicates (line 88) | async function deletePreferenceDuplicates({ FILE: apps/api/migrations/secure-to-boolean/secure-to-boolean-migration.spec.ts constant STR_FALSE_AMOUNT (line 8) | const STR_FALSE_AMOUNT = 10; constant FALSE_AMOUNT (line 9) | const FALSE_AMOUNT = 12; constant STR_TRUE_AMOUNT (line 11) | const STR_TRUE_AMOUNT = 15; constant TRUE_AMOUNT (line 12) | const TRUE_AMOUNT = 10; function clearIntegrationCollection (line 42) | async function clearIntegrationCollection() { function seedIntegrationCollection (line 46) | async function seedIntegrationCollection(secureValue: any, amount: numbe... function countAfterChange (line 64) | async function countAfterChange(secureValue: boolean) { FILE: apps/api/migrations/secure-to-boolean/secure-to-boolean-migration.ts function run (line 9) | async function run() { type UpdateResult (line 30) | type UpdateResult = { matchedCount: number; modifiedCount: number }; function updateTrueValues (line 32) | function updateTrueValues() { function updateFalseValues (line 43) | function updateFalseValues() { FILE: apps/api/migrations/seen-read-support/seen-read-support.migration.spec.ts function createTemplate (line 58) | async function createTemplate(session) { FILE: apps/api/migrations/seen-read-support/seen-read-support.migration.ts function updateSeenRead (line 5) | async function updateSeenRead() { function seenToRead (line 23) | async function seenToRead() { function inAppAsSeen (line 27) | async function inAppAsSeen() { function notInAppAsUnseen (line 37) | async function notInAppAsUnseen() { FILE: apps/api/migrations/subscribers/remove-duplicated-subscribers/remove-duplicated-subscribers.migration.ts function removeDuplicatedSubscribers (line 7) | async function removeDuplicatedSubscribers() { function mergeSubscribers (line 112) | function mergeSubscribers(subscribers) { function mergeChannels (line 157) | function mergeChannels(existingChannel: IChannelSettings, newChannel: IC... function mergeSubscriberChannels (line 174) | function mergeSubscriberChannels(subscriber: ISubscriber, mergedChannels... FILE: apps/api/migrations/topic-subscriber-normalize/topic-subscriber-normalize.migration.spec.ts constant TOPIC_PATH (line 11) | const TOPIC_PATH = '/v1/topics'; FILE: apps/api/migrations/topic-subscriber-normalize/topic-subscriber-normalize.migration.ts function topicSubscriberNormalize (line 11) | async function topicSubscriberNormalize() { FILE: apps/api/scripts/check-api-property-optionality.ts constant REPORT_VERSION (line 18) | const REPORT_VERSION = 1 as const; type IssueKind (line 20) | type IssueKind = 'ts_optional_openapi_required' | 'ts_required_openapi_o... type Issue (line 22) | type Issue = { type Report (line 30) | type Report = { constant REPO_ROOT (line 36) | const REPO_ROOT = path.resolve(__dirname, '../../..'); constant DTO_GLOBS (line 38) | const DTO_GLOBS = ['apps/api/**/*.dto.ts', 'libs/application-generic/**/... constant SWAGGER_DECORATORS (line 40) | const SWAGGER_DECORATORS = new Set(['ApiProperty', 'ApiPropertyOptional']); function getRequiredFromDecoratorOptions (line 42) | function getRequiredFromDecoratorOptions(decorator: Decorator): boolean ... function effectiveOpenApiRequired (line 86) | function effectiveOpenApiRequired(decorator: Decorator): boolean { function collectIssuesForFile (line 105) | function collectIssuesForFile(sourceFile: SourceFile): Issue[] { function buildReport (line 152) | function buildReport(issues: Issue[]): Report { function printHelp (line 160) | function printHelp(): void { type ParsedArgs (line 170) | type ParsedArgs = { function parseArgs (line 177) | function parseArgs(argv: string[]): ParsedArgs { function resolveReportPath (line 228) | function resolveReportPath(reportPath: string): string { function isUnderNodeModules (line 236) | function isUnderNodeModules(filePath: string): boolean { function main (line 240) | async function main(): Promise { FILE: apps/api/scripts/clickhouse-seeder/config.ts type SingleEnvironmentConfig (line 1) | interface SingleEnvironmentConfig { type SeederConfig (line 12) | interface SeederConfig { type OrganizationProfile (line 21) | interface OrganizationProfile { constant ORGANIZATION_PROFILES (line 33) | const ORGANIZATION_PROFILES: Record = { constant ENTERPRISE_HEAVY_DISTRIBUTION (line 69) | const ENTERPRISE_HEAVY_DISTRIBUTION = { type WorkflowTemplate (line 75) | interface WorkflowTemplate { constant WORKFLOW_TEMPLATES (line 82) | const WORKFLOW_TEMPLATES: WorkflowTemplate[] = [ constant WORKFLOW_RUN_STATUS_DISTRIBUTION (line 89) | const WORKFLOW_RUN_STATUS_DISTRIBUTION = { constant STEP_RUN_STATUS_DISTRIBUTION (line 95) | const STEP_RUN_STATUS_DISTRIBUTION = { constant DELIVERY_LIFECYCLE_STATUS_DISTRIBUTION (line 102) | const DELIVERY_LIFECYCLE_STATUS_DISTRIBUTION = { constant TRACE_EVENT_TYPES (line 111) | const TRACE_EVENT_TYPES = { constant DEFAULT_SINGLE_ENV_CONFIG (line 117) | const DEFAULT_SINGLE_ENV_CONFIG: SingleEnvironmentConfig = { constant DEFAULT_CONFIG (line 124) | const DEFAULT_CONFIG: SeederConfig = { function parseCliArgs (line 131) | function parseCliArgs(): SeederConfig { function printHelp (line 226) | function printHelp() { FILE: apps/api/scripts/clickhouse-seeder/generators.ts type Organization (line 17) | interface Organization { type Environment (line 24) | interface Environment { type Workflow (line 32) | interface Workflow { type Subscriber (line 42) | interface Subscriber { type WorkflowRunRecord (line 49) | interface WorkflowRunRecord { type StepRunRecord (line 79) | interface StepRunRecord { type TraceRecord (line 107) | interface TraceRecord { function generateId (line 129) | function generateId(): string { function randomInt (line 133) | function randomInt(min: number, max: number): number { function randomChoice (line 137) | function randomChoice(items: T[]): T { function weightedRandomChoice (line 141) | function weightedRandomChoice(distribution: Record): str... function generateOrganizations (line 155) | function generateOrganizations(config: SeederConfig): Organization[] { function generateSingleEnvironment (line 229) | function generateSingleEnvironment(singleEnvConfig: SingleEnvironmentCon... function selectWorkflowTemplate (line 288) | function selectWorkflowTemplate(): WorkflowTemplate { function generateWorkflowRuns (line 302) | function generateWorkflowRuns(organizations: Organization[], config: See... type GenerationProgress (line 330) | interface GenerationProgress { type ProgressCallback (line 337) | type ProgressCallback = (progress: GenerationProgress) => void; type DataBatch (line 339) | interface DataBatch { function estimateTotalWorkflowRuns (line 345) | function estimateTotalWorkflowRuns(organizations: Organization[], config... function generateStepRunsForWorkflow (line 441) | function generateStepRunsForWorkflow(workflowRun: WorkflowRunRecord, wor... function generateTracesForStepRun (line 456) | function generateTracesForStepRun(stepRun: StepRunRecord): TraceRecord[] { function createWorkflowRunRecord (line 471) | function createWorkflowRunRecord( function generateStepRuns (line 517) | function generateStepRuns(workflowRuns: WorkflowRunRecord[], organizatio... function createStepRunRecord (line 552) | function createStepRunRecord( function generateTraces (line 604) | function generateTraces(stepRuns: StepRunRecord[]): TraceRecord[] { function selectTraceEventType (line 622) | function selectTraceEventType(index: number, total: number, stepStatus: ... function createTraceRecord (line 656) | function createTraceRecord(stepRun: StepRunRecord, eventType: string, cr... function formatEventTitle (line 698) | function formatEventTitle(eventType: string): string { FILE: apps/api/scripts/clickhouse-seeder/inserter.ts type InsertStats (line 3) | interface InsertStats { function formatDateForClickHouse (line 10) | function formatDateForClickHouse(date: Date): string { function transformRecordDates (line 22) | function transformRecordDates(record: any): any { class ClickHouseInserter (line 33) | class ClickHouseInserter { method constructor (line 41) | constructor( method insertWorkflowRuns (line 46) | async insertWorkflowRuns(records: any[]): Promise { method insertStepRuns (line 53) | async insertStepRuns(records: any[]): Promise { method insertTraces (line 60) | async insertTraces(records: any[]): Promise { method insertWorkflowRunsSilent (line 67) | async insertWorkflowRunsSilent(records: any[]): Promise { method insertStepRunsSilent (line 76) | async insertStepRunsSilent(records: any[]): Promise { method insertTracesSilent (line 85) | async insertTracesSilent(records: any[]): Promise { method insertDirect (line 94) | private async insertDirect(table: string, records: any[]): Promise { function triggerBatch (line 192) | async function triggerBatch( function main (line 231) | async function main() { FILE: apps/api/src/app.module.ts class AppModule (line 216) | class AppModule {} FILE: apps/api/src/app/activity/activity.controller.ts class ActivityController (line 30) | class ActivityController { method constructor (line 31) | constructor( method getLogs (line 47) | async getLogs(@UserSession() user: UserSessionData, @Query() query: Ge... method getRequestTraces (line 66) | async getRequestTraces(@UserSession() user, @Param('requestId') reques... method getWorkflowRuns (line 84) | async getWorkflowRuns( method getWorkflowRun (line 107) | async getWorkflowRun( method getCharts (line 129) | async getCharts( FILE: apps/api/src/app/activity/activity.module.ts constant USE_CASES (line 23) | const USE_CASES = [ class ActivityModule (line 49) | class ActivityModule {} FILE: apps/api/src/app/activity/dtos/get-charts.request.dto.ts class GetChartsRequestDto (line 4) | class GetChartsRequestDto { FILE: apps/api/src/app/activity/dtos/get-charts.response.dto.ts class ChartDataPointDto (line 5) | class ChartDataPointDto { class InteractionTrendDataPointDto (line 31) | class InteractionTrendDataPointDto { class WorkflowVolumeDataPointDto (line 53) | class WorkflowVolumeDataPointDto { class ProviderVolumeDataPointDto (line 63) | class ProviderVolumeDataPointDto { class MessagesDeliveredDataPointDto (line 73) | class MessagesDeliveredDataPointDto { class ActiveSubscribersDataPointDto (line 83) | class ActiveSubscribersDataPointDto { class AvgMessagesPerSubscriberDataPointDto (line 93) | class AvgMessagesPerSubscriberDataPointDto { class WorkflowRunsMetricDataPointDto (line 103) | class WorkflowRunsMetricDataPointDto { class TotalInteractionsDataPointDto (line 113) | class TotalInteractionsDataPointDto { class WorkflowRunsTrendDataPointDto (line 123) | class WorkflowRunsTrendDataPointDto { class ActiveSubscribersTrendDataPointDto (line 141) | class ActiveSubscribersTrendDataPointDto { class WorkflowRunsCountDataPointDto (line 151) | class WorkflowRunsCountDataPointDto { class GetChartsResponseDto (line 157) | class GetChartsResponseDto { FILE: apps/api/src/app/activity/dtos/get-request.request.dto.ts class GetRequestRequestDto (line 4) | class GetRequestRequestDto { FILE: apps/api/src/app/activity/dtos/get-request.response.dto.ts class TraceResponseDto (line 6) | class TraceResponseDto { class GetRequestResponseDto (line 69) | class GetRequestResponseDto { FILE: apps/api/src/app/activity/dtos/get-requests.dto.ts class GetRequestsDto (line 33) | class GetRequestsDto { FILE: apps/api/src/app/activity/dtos/get-requests.response.dto.ts class RequestLogResponseDto (line 5) | class RequestLogResponseDto { class GetRequestsResponseDto (line 80) | class GetRequestsResponseDto { FILE: apps/api/src/app/activity/dtos/shared.dto.ts type WorkflowRunStatusDtoEnum (line 5) | enum WorkflowRunStatusDtoEnum { class TopicResponseDto (line 11) | class TopicResponseDto { class GetWorkflowRunResponseBaseDto (line 20) | class GetWorkflowRunResponseBaseDto { type ReportTypeEnum (line 106) | enum ReportTypeEnum { FILE: apps/api/src/app/activity/dtos/workflow-run-response.dto.ts class StepExecutionDetailDto (line 10) | class StepExecutionDetailDto { class StepRunDto (line 43) | class StepRunDto { class GetWorkflowRunResponseDto (line 103) | class GetWorkflowRunResponseDto extends GetWorkflowRunResponseBaseDto { FILE: apps/api/src/app/activity/dtos/workflow-runs-request.dto.ts class GetWorkflowRunsRequestDto (line 6) | class GetWorkflowRunsRequestDto { FILE: apps/api/src/app/activity/dtos/workflow-runs-response.dto.ts class WorkflowRunStepsDetailsDto (line 7) | class WorkflowRunStepsDetailsDto { class GetWorkflowRunsDto (line 47) | class GetWorkflowRunsDto extends GetWorkflowRunResponseBaseDto { class GetWorkflowRunsResponseDto (line 53) | class GetWorkflowRunsResponseDto { FILE: apps/api/src/app/activity/e2e/get-requests.e2e.ts function normalizeRequestLogForTesting (line 214) | function normalizeRequestLogForTesting(requestLog: RequestLogResponseDto... FILE: apps/api/src/app/activity/e2e/get-workflow-runs.e2e.ts function createMultipleWorkflowRuns (line 25) | async function createMultipleWorkflowRuns(options: { function createMultipleWorkflowRunsByDb (line 46) | async function createMultipleWorkflowRunsByDb(options: { FILE: apps/api/src/app/activity/shared/mappers.ts function mapWorkflowRunStatusToDto (line 7) | function mapWorkflowRunStatusToDto(workflowRunStatus: WorkflowRunStatusE... function mapTraceToResponseDto (line 22) | function mapTraceToResponseDto({ function mapTraceToExecutionDetailDto (line 71) | function mapTraceToExecutionDetailDto( function mapTraceStatusToExecutionDetailsStatus (line 84) | function mapTraceStatusToExecutionDetailsStatus(traceStatus: TraceStatus... FILE: apps/api/src/app/activity/shared/select.const.ts type GetTraceFetchResult (line 19) | type GetTraceFetchResult = Pick { method validateRetentionLimitForTier (line 319) | private async validateRetentionLimitForTier(organizationId: string, cr... method validateDateRange (line 342) | private validateDateRange(earliestAllowedDate: Date, startDate: Date, ... method getMaxRetentionPeriodByOrganization (line 371) | private getMaxRetentionPeriodByOrganization(organization: Organization... FILE: apps/api/src/app/activity/usecases/get-request/get-request.command.ts class GetRequestCommand (line 4) | class GetRequestCommand extends EnvironmentCommand { FILE: apps/api/src/app/activity/usecases/get-request/get-request.usecase.ts class GetRequest (line 9) | class GetRequest { method constructor (line 10) | constructor( method execute (line 15) | async execute(command: GetRequestCommand): Promise; type IStepRunWithDetails (line 69) | interface IStepRunWithDetails extends StepRunFetchResult { class GetWorkflowRun (line 74) | class GetWorkflowRun { method constructor (line 75) | constructor( method execute (line 85) | async execute(command: GetWorkflowRunCommand): Promise { method isAuthenticatedForOrganization (line 31) | isAuthenticatedForOrganization(userId: string, organizationId: string)... method getUserByApiKey (line 35) | getUserByApiKey(apiKey: string): Promise { method getSubscriberWidgetToken (line 39) | getSubscriberWidgetToken(subscriber: SubscriberEntity, contextKeys: st... method generateUserToken (line 43) | generateUserToken(user: UserEntity): Promise { method getSignedToken (line 47) | getSignedToken( method validateUser (line 56) | validateUser(payload: UserSessionData): Promise { method validateSubscriber (line 60) | validateSubscriber(payload: ISubscriberJwt): Promise { FILE: apps/api/src/app/auth/services/community.auth.service.ts class CommunityAuthService (line 47) | class CommunityAuthService implements IAuthService { method constructor (line 48) | constructor( method authenticate (line 61) | public async authenticate( method updateUserUsername (line 127) | private async updateUserUsername( method refreshToken (line 163) | public async refreshToken(userId: string) { method isAuthenticatedForOrganization (line 171) | public async isAuthenticatedForOrganization(userId: string, organizati... method getUserByApiKey (line 176) | public async getUserByApiKey(apiKey: string): Promise { method getSubscriberWidgetToken (line 199) | public async getSubscriberWidgetToken(subscriber: SubscriberEntity, co... method generateUserToken (line 219) | public async generateUserToken(user: UserEntity) { method getSignedToken (line 236) | public async getSignedToken( method validateUser (line 270) | public async validateUser(payload: UserSessionData): Promise { FILE: apps/api/src/app/auth/services/passport/github.strategy.ts class GitHubStrategy (line 9) | class GitHubStrategy extends PassportStrategy(githubPassport.Strategy, '... method constructor (line 10) | constructor(private authService: AuthService) { method validate (line 28) | async validate(req, accessToken: string, refreshToken: string, githubP... method parseState (line 51) | private parseState(req) { FILE: apps/api/src/app/auth/services/passport/jwt.strategy.ts class JwtStrategy (line 12) | class JwtStrategy extends PassportStrategy(Strategy) { method constructor (line 13) | constructor( method validate (line 24) | async validate(req: http.IncomingMessage, session: UserSessionData) { method resolveEnvironmentId (line 57) | resolveEnvironmentId(req: http.IncomingMessage, session: UserSessionDa... FILE: apps/api/src/app/auth/services/passport/newrelic.util.ts function addNewRelicTraceAttributes (line 11) | function addNewRelicTraceAttributes(session: UserSessionData) { FILE: apps/api/src/app/auth/services/passport/subscriber-jwt.strategy.ts class JwtSubscriberStrategy (line 9) | class JwtSubscriberStrategy extends PassportStrategy(Strategy, 'subscrib... method constructor (line 10) | constructor(private readonly authService: AuthService) { method validate (line 17) | async validate(payload: ISubscriberJwt): Promise { FILE: apps/api/src/app/auth/usecases/index.ts constant USE_CASES (line 12) | const USE_CASES = [ FILE: apps/api/src/app/auth/usecases/login/login.command.ts class LoginCommand (line 4) | class LoginCommand extends BaseCommand { FILE: apps/api/src/app/auth/usecases/login/login.usecase.ts class Login (line 11) | class Login { method constructor (line 14) | constructor( method execute (line 21) | async execute(command: LoginCommand) { method isAccountBlocked (line 83) | private isAccountBlocked(user: UserEntity) { method updateFailedAttempts (line 94) | private async updateFailedAttempts(user: UserEntity) { method resetFailedAttempts (line 121) | private async resetFailedAttempts(user: UserEntity) { method getTimeDiffForAttempt (line 134) | private getTimeDiffForAttempt(lastFailedAttempt: string) { method getBlockedMinutesLeft (line 142) | private getBlockedMinutesLeft(lastFailedAttempt: string) { FILE: apps/api/src/app/auth/usecases/password-reset-request/password-reset-request.command.ts class PasswordResetRequestCommand (line 5) | class PasswordResetRequestCommand extends BaseCommand { FILE: apps/api/src/app/auth/usecases/password-reset-request/password-reset-request.usecase.ts class PasswordResetRequest (line 10) | class PasswordResetRequest { method constructor (line 15) | constructor( method execute (line 20) | async execute(command: PasswordResetRequestCommand): Promise<{ success... method getResetRedirectLink (line 49) | private static getResetRedirectLink(token: string, user: UserEntity, s... method isRequestBlocked (line 64) | private isRequestBlocked(user: UserEntity) { method getUpdatedRequestCount (line 105) | private getUpdatedRequestCount(user: UserEntity): IUserResetTokenCount { FILE: apps/api/src/app/auth/usecases/password-reset/password-reset.command.ts class PasswordResetCommand (line 4) | class PasswordResetCommand extends BaseCommand { FILE: apps/api/src/app/auth/usecases/password-reset/password-reset.usecase.ts class PasswordReset (line 10) | class PasswordReset { method constructor (line 11) | constructor( method execute (line 17) | async execute(command: PasswordResetCommand): Promise<{ token: string ... FILE: apps/api/src/app/auth/usecases/register/user-register.command.ts class UserRegisterCommand (line 6) | class UserRegisterCommand extends BaseCommand { FILE: apps/api/src/app/auth/usecases/register/user-register.usecase.ts class UserRegister (line 12) | class UserRegister { method constructor (line 13) | constructor( method execute (line 20) | async execute(command: UserRegisterCommand) { FILE: apps/api/src/app/auth/usecases/switch-environment/switch-environment.command.ts class SwitchEnvironmentCommand (line 4) | class SwitchEnvironmentCommand extends OrganizationCommand { FILE: apps/api/src/app/auth/usecases/switch-environment/switch-environment.usecase.ts class SwitchEnvironment (line 7) | class SwitchEnvironment { method constructor (line 8) | constructor( method execute (line 15) | async execute(command: SwitchEnvironmentCommand) { FILE: apps/api/src/app/auth/usecases/switch-organization/switch-organization.command.ts class SwitchOrganizationCommand (line 4) | class SwitchOrganizationCommand extends AuthenticatedCommand { FILE: apps/api/src/app/auth/usecases/switch-organization/switch-organization.usecase.ts class SwitchOrganization (line 7) | class SwitchOrganization { method constructor (line 8) | constructor( method execute (line 14) | async execute(command: SwitchOrganizationCommand) { FILE: apps/api/src/app/auth/usecases/update-password/update-password.command.ts class UpdatePasswordCommand (line 5) | class UpdatePasswordCommand extends EnvironmentWithUserCommand { FILE: apps/api/src/app/auth/usecases/update-password/update-password.usecase.ts class UpdatePassword (line 9) | class UpdatePassword { method constructor (line 10) | constructor( method execute (line 15) | async execute(command: UpdatePasswordCommand) { method setNewPassword (line 43) | private async setNewPassword(userId: string, newPassword: string) { FILE: apps/api/src/app/billing/e2e/get-subscription.e2e-ee.ts type DeepPartial (line 7) | type DeepPartial = T extends object ? { [P in keyof T]?: DeepPartial<... FILE: apps/api/src/app/blueprint/blueprint.controller.ts class BlueprintController (line 16) | class BlueprintController { method constructor (line 17) | constructor( method getGroupedBlueprints (line 24) | async getGroupedBlueprints(): Promise { method getProdEnvironmentId (line 32) | private async getProdEnvironmentId() { method getBlueprintById (line 47) | getBlueprintById(@Param('templateIdOrIdentifier') templateIdOrIdentifi... FILE: apps/api/src/app/blueprint/blueprint.module.ts class BlueprintModule (line 14) | class BlueprintModule implements NestModule { method configure (line 15) | configure(consumer: MiddlewareConsumer): MiddlewareConsumer | void {} FILE: apps/api/src/app/blueprint/dtos/get-blueprint.response.dto.ts class GetBlueprintResponse (line 3) | class GetBlueprintResponse { FILE: apps/api/src/app/blueprint/dtos/grouped-blueprint.response.dto.ts class GroupedBlueprintResponse (line 3) | class GroupedBlueprintResponse { FILE: apps/api/src/app/blueprint/e2e/get-blueprints-by-id.e2e.ts function getProductionEnvironment (line 86) | async function getProductionEnvironment() { function createTemplateFromBlueprint (line 93) | async function createTemplateFromBlueprint({ FILE: apps/api/src/app/blueprint/e2e/get-grouped-blueprints.e2e.ts function updateBlueprintCategory (line 141) | async function updateBlueprintCategory({ categoryName }: { categoryName:... function getProductionEnvironment (line 155) | async function getProductionEnvironment() { function createTemplateFromBlueprint (line 162) | async function createTemplateFromBlueprint({ FILE: apps/api/src/app/blueprint/usecases/get-blueprint/get-blueprint.command.ts class GetBlueprintCommand (line 4) | class GetBlueprintCommand extends BaseCommand { FILE: apps/api/src/app/blueprint/usecases/get-blueprint/get-blueprint.usecase.ts class GetBlueprint (line 8) | class GetBlueprint { method constructor (line 9) | constructor(private notificationTemplateRepository: NotificationTempla... method execute (line 11) | async execute(command: GetBlueprintCommand): Promise { FILE: apps/api/src/app/bridge/usecases/index.ts constant USECASES (line 6) | const USECASES = [GetBridgeStatus, PreviewStep, StoreControlValuesUseCas... FILE: apps/api/src/app/bridge/usecases/store-control-values/store-control-values.command.ts class StoreControlValuesCommand (line 3) | class StoreControlValuesCommand extends EnvironmentWithUserCommand { FILE: apps/api/src/app/bridge/usecases/store-control-values/store-control-values.usecase.ts class StoreControlValuesUseCase (line 8) | class StoreControlValuesUseCase { method constructor (line 9) | constructor( method execute (line 14) | async execute(command: StoreControlValuesCommand) { FILE: apps/api/src/app/bridge/usecases/sync/sync.command.ts type IStepOutput (line 6) | interface IStepOutput { type IWorkflowDefineStep (line 10) | interface IWorkflowDefineStep { type IStepDefineOptions (line 26) | interface IStepDefineOptions { class WorkflowDefineStep (line 33) | class WorkflowDefineStep implements IWorkflowDefineStep { type IWorkflowDefine (line 50) | interface IWorkflowDefine { class WorkflowDefine (line 60) | class WorkflowDefine implements IWorkflowDefine { type ICreateBridges (line 73) | interface ICreateBridges { class SyncCommand (line 77) | class SyncCommand extends EnvironmentWithUserCommand implements ICreateB... FILE: apps/api/src/app/bridge/usecases/sync/sync.usecase.ts class Sync (line 43) | class Sync { method constructor (line 44) | constructor( method execute (line 56) | async execute(command: SyncCommand): Promise { method sendAnalytics (line 68) | private sendAnalytics(command: SyncCommand, environment: EnvironmentEn... method executeDiscover (line 81) | private async executeDiscover(command: SyncCommand): Promise { method disposeOldWorkflows (line 132) | private async disposeOldWorkflows( method findAllWorkflowsWithOtherIds (line 152) | private async findAllWorkflowsWithOtherIds( method processWorkflows (line 168) | private async processWorkflows( method upsertWorkflow (line 199) | private async upsertWorkflow( method createWorkflow (line 215) | private async createWorkflow( method mapDiscoverWorkflowToUpdateWorkflowCommand (line 259) | private async mapDiscoverWorkflowToUpdateWorkflowCommand( method mapSteps (line 290) | private async mapSteps( method getNotificationGroup (line 347) | private async getNotificationGroup( method getWorkflowPreferences (line 368) | private getWorkflowPreferences(workflow: DiscoverWorkflowOutput): Work... method getWorkflowName (line 372) | private getWorkflowName(workflow: DiscoverWorkflowOutput): string { method getWorkflowDescription (line 376) | private getWorkflowDescription(workflow: DiscoverWorkflowOutput): stri... method getWorkflowTags (line 380) | private getWorkflowTags(workflow: DiscoverWorkflowOutput): string[] { method buildRawData (line 384) | private buildRawData(workflow: DiscoverWorkflowOutput): Record { FILE: apps/api/src/app/change/e2e/promote-layout-changes.e2e.ts function createLayout (line 329) | async function createLayout( function getProductionEnvironment (line 357) | async function getProductionEnvironment() { FILE: apps/api/src/app/change/usecases/apply-change/apply-change.command.ts class ApplyChangeCommand (line 4) | class ApplyChangeCommand extends EnvironmentWithUserCommand { FILE: apps/api/src/app/change/usecases/apply-change/apply-change.usecase.ts class ApplyChange (line 9) | class ApplyChange { method constructor (line 10) | constructor( method execute (line 15) | async execute(command: ApplyChangeCommand): Promise { method applyChange (line 41) | async applyChange(change, command: ApplyChangeCommand): Promise { FILE: apps/api/src/app/change/usecases/get-changes/get-changes.command.ts class GetChangesCommand (line 4) | class GetChangesCommand extends EnvironmentWithUserCommand { FILE: apps/api/src/app/change/usecases/get-changes/get-changes.usecase.ts type IViewEntity (line 18) | interface IViewEntity { type IChangeViewEntity (line 24) | interface IChangeViewEntity extends ChangeEntity { class GetChanges (line 31) | class GetChanges { method constructor (line 32) | constructor( method execute (line 45) | async execute(command: GetChangesCommand): Promise { method getTemplateDataForMessageTemplate (line 93) | private async getTemplateDataForMessageTemplate( method getTemplateDataForNotificationTemplate (line 120) | private async getTemplateDataForNotificationTemplate( method getTemplateDataForTranslationGroup (line 149) | private async getTemplateDataForTranslationGroup( method getTemplateDataForTranslation (line 173) | private async getTemplateDataForTranslation( method getTemplateDataForNotificationGroup (line 197) | private async getTemplateDataForNotificationGroup( method getTemplateDataForFeed (line 217) | private async getTemplateDataForFeed( method getTemplateDataForLayout (line 241) | private async getTemplateDataForLayout( method getTemplateDataForDefaultLayout (line 264) | private async getTemplateDataForDefaultLayout( FILE: apps/api/src/app/change/usecases/index.ts constant USE_CASES (line 25) | const USE_CASES = [ FILE: apps/api/src/app/change/usecases/promote-change-to-environment/promote-change-to-environment.command.ts class PromoteChangeToEnvironmentCommand (line 5) | class PromoteChangeToEnvironmentCommand extends EnvironmentWithUserComma... FILE: apps/api/src/app/change/usecases/promote-change-to-environment/promote-change-to-environment.usecase.ts function sanitizeDiff (line 16) | function sanitizeDiff(diff: unknown): rdiffResult[] { class PromoteChangeToEnvironment (line 23) | class PromoteChangeToEnvironment { method constructor (line 24) | constructor( method execute (line 40) | async execute(command: PromoteChangeToEnvironmentCommand) { FILE: apps/api/src/app/change/usecases/promote-feed-change/promote-feed-change.ts class PromoteFeedChange (line 6) | class PromoteFeedChange { method constructor (line 7) | constructor(private feedRepository: FeedRepository) {} method execute (line 9) | async execute(command: PromoteTypeChangeCommand) { FILE: apps/api/src/app/change/usecases/promote-layout-change/promote-layout-change.use-case.ts class PromoteLayoutChange (line 7) | class PromoteLayoutChange { method constructor (line 8) | constructor(private layoutRepository: LayoutRepository) {} method execute (line 10) | async execute(command: PromoteTypeChangeCommand) { FILE: apps/api/src/app/change/usecases/promote-message-template-change/promote-message-template-change.ts class PromoteMessageTemplateChange (line 6) | class PromoteMessageTemplateChange { method constructor (line 7) | constructor( method execute (line 13) | async execute(command: PromoteTypeChangeCommand) { FILE: apps/api/src/app/change/usecases/promote-notification-group-change/promote-notification-group-change.ts class PromoteNotificationGroupChange (line 6) | class PromoteNotificationGroupChange { method constructor (line 7) | constructor(private notificationGroupRepository: NotificationGroupRepo... method execute (line 9) | async execute(command: PromoteTypeChangeCommand) { FILE: apps/api/src/app/change/usecases/promote-notification-template-change/promote-notification-template-change.usecase.ts class PromoteNotificationTemplateChange (line 44) | class PromoteNotificationTemplateChange implements INotificationTemplate... method constructor (line 45) | constructor( method execute (line 60) | async execute(command: PromoteTypeChangeCommand) { method updateWorkflowPreferences (line 243) | private async updateWorkflowPreferences( method deleteWorkflowPreferences (line 269) | private async deleteWorkflowPreferences(workflowId: string, command: P... method getProductionEnvironmentId (line 291) | private async getProductionEnvironmentId(organizationId: string) { method blueprintOrganizationId (line 303) | private get blueprintOrganizationId() { method invalidateBlueprints (line 307) | private async invalidateBlueprints(command: PromoteTypeChangeCommand) { FILE: apps/api/src/app/change/usecases/promote-translation-change/promote-translation-change.usecase.ts class PromoteTranslationChange (line 10) | class PromoteTranslationChange { method constructor (line 11) | constructor( method execute (line 20) | async execute(command: PromoteTypeChangeCommand) { method applyGroupChange (line 36) | private async applyGroupChange(command: PromoteTypeChangeCommand) { FILE: apps/api/src/app/change/usecases/promote-translation-group-change/promote-translation-group-change.usecase.ts class PromoteTranslationGroupChange (line 10) | class PromoteTranslationGroupChange { method constructor (line 11) | constructor( method execute (line 20) | async execute(command: PromoteTypeChangeCommand) { method applyDefaultTranslationChange (line 36) | private async applyDefaultTranslationChange(command: PromoteTypeChange... FILE: apps/api/src/app/change/usecases/shared/notification-template-change.interface.ts type INotificationTemplateChangeService (line 3) | interface INotificationTemplateChangeService { FILE: apps/api/src/app/channel-connections/channel-connections.controller.ts class ChannelConnectionsController (line 47) | class ChannelConnectionsController { method constructor (line 48) | constructor( method checkFeatureEnabled (line 57) | private async checkFeatureEnabled(user: UserSessionData) { method listChannelConnections (line 78) | async listChannelConnections( method createChannelConnection (line 119) | async createChannelConnection( method getChannelConnectionByIdentifier (line 151) | async getChannelConnectionByIdentifier( method updateChannelConnection (line 178) | async updateChannelConnection( method deleteChannelConnection (line 208) | async deleteChannelConnection( FILE: apps/api/src/app/channel-connections/channel-connections.module.ts constant USE_CASES (line 18) | const USE_CASES = [ constant DAL_MODELS (line 26) | const DAL_MODELS = [ class ChannelConnectionsModule (line 40) | class ChannelConnectionsModule {} FILE: apps/api/src/app/channel-connections/dtos/create-channel-connection-request.dto.ts class CreateChannelConnectionRequestDto (line 8) | class CreateChannelConnectionRequestDto { FILE: apps/api/src/app/channel-connections/dtos/cursor-pagination-query.dto.ts class CursorPaginationQueryDto (line 6) | class CursorPaginationQueryDto { FILE: apps/api/src/app/channel-connections/dtos/dto.mapper.ts function mapChannelConnectionEntityToDto (line 4) | function mapChannelConnectionEntityToDto( FILE: apps/api/src/app/channel-connections/dtos/get-channel-connection-response.dto.ts class GetChannelConnectionResponseDto (line 5) | class GetChannelConnectionResponseDto { FILE: apps/api/src/app/channel-connections/dtos/list-channel-connections-query.dto.ts class ListChannelConnectionsQueryDto (line 8) | class ListChannelConnectionsQueryDto extends CursorPaginationQueryDto< FILE: apps/api/src/app/channel-connections/dtos/list-channel-connections-response.dto.ts class ListChannelConnectionsResponseDto (line 4) | class ListChannelConnectionsResponseDto extends withCursorPagination(Get... FILE: apps/api/src/app/channel-connections/dtos/shared.dto.ts class WorkspaceDto (line 4) | class WorkspaceDto { class AuthDto (line 16) | class AuthDto { FILE: apps/api/src/app/channel-connections/dtos/update-channel-connection-request.dto.ts class UpdateChannelConnectionRequestDto (line 6) | class UpdateChannelConnectionRequestDto { FILE: apps/api/src/app/channel-connections/e2e/helpers/channel-helpers.ts function createSlackIntegration (line 14) | async function createSlackIntegration(session: UserSession) { function createSubscribersService (line 26) | function createSubscribersService(session: UserSession) { function createConnection (line 30) | async function createConnection( function createSlackChannelEndpoint (line 53) | async function createSlackChannelEndpoint( function createWebhookEndpoint (line 73) | async function createWebhookEndpoint( function setupChannelTests (line 93) | function setupChannelTests(session: UserSession) { FILE: apps/api/src/app/channel-connections/usecases/create-channel-connection/create-channel-connection.command.ts class CreateChannelConnectionCommand (line 8) | class CreateChannelConnectionCommand extends EnvironmentCommand { FILE: apps/api/src/app/channel-connections/usecases/create-channel-connection/create-channel-connection.usecase.ts class CreateChannelConnection (line 14) | class CreateChannelConnection { method constructor (line 15) | constructor( method execute (line 23) | async execute(command: CreateChannelConnectionCommand): Promise { FILE: apps/api/src/app/channel-connections/usecases/get-channel-connection/get-channel-connection.command.ts class GetChannelConnectionCommand (line 4) | class GetChannelConnectionCommand extends EnvironmentCommand { FILE: apps/api/src/app/channel-connections/usecases/get-channel-connection/get-channel-connection.usecase.ts class GetChannelConnection (line 13) | class GetChannelConnection { method constructor (line 14) | constructor(private readonly channelConnectionRepository: ChannelConne... method execute (line 17) | async execute(command: GetChannelConnectionCommand): Promise { FILE: apps/api/src/app/channel-endpoints/dtos/dto.mapper.ts function mapChannelEndpointEntityToDto (line 4) | function mapChannelEndpointEntityToDto(channelEndpoint: ChannelEndpointE... FILE: apps/api/src/app/channel-endpoints/dtos/endpoint-types.dto.ts class SlackChannelEndpointDto (line 4) | class SlackChannelEndpointDto { class SlackUserEndpointDto (line 14) | class SlackUserEndpointDto { class WebhookEndpointDto (line 24) | class WebhookEndpointDto { class PhoneEndpointDto (line 41) | class PhoneEndpointDto { class MsTeamsChannelEndpointDto (line 51) | class MsTeamsChannelEndpointDto { class MsTeamsUserEndpointDto (line 69) | class MsTeamsUserEndpointDto { FILE: apps/api/src/app/channel-endpoints/dtos/get-channel-endpoint-response.dto.ts class GetChannelEndpointResponseDto (line 16) | class GetChannelEndpointResponseDto { FILE: apps/api/src/app/channel-endpoints/dtos/list-channel-endpoints-query.dto.ts class ListChannelEndpointsQueryDto (line 8) | class ListChannelEndpointsQueryDto extends CursorPaginationQueryDto< FILE: apps/api/src/app/channel-endpoints/dtos/list-channel-endpoints-response.dto.ts class ListChannelEndpointsResponseDto (line 4) | class ListChannelEndpointsResponseDto extends withCursorPagination(GetCh... FILE: apps/api/src/app/channel-endpoints/dtos/update-channel-endpoint-request.dto.ts class UpdateChannelEndpointRequestDto (line 10) | class UpdateChannelEndpointRequestDto { FILE: apps/api/src/app/channel-endpoints/usecases/create-channel-endpoint/create-channel-endpoint.command.ts class CreateChannelEndpointCommand (line 8) | class CreateChannelEndpointCommand< method create (line 39) | static create(data: { FILE: apps/api/src/app/channel-endpoints/usecases/create-channel-endpoint/create-channel-endpoint.usecase.ts class CreateChannelEndpoint (line 17) | class CreateChannelEndpoint { method constructor (line 18) | constructor( method execute (line 27) | async execute(command: CreateChannelEndpointCommand): Promise { FILE: apps/api/src/app/channel-endpoints/usecases/get-channel-endpoint/get-channel-endpoint.command.ts class GetChannelEndpointCommand (line 4) | class GetChannelEndpointCommand extends EnvironmentCommand { FILE: apps/api/src/app/channel-endpoints/usecases/get-channel-endpoint/get-channel-endpoint.usecase.ts class GetChannelEndpoint (line 7) | class GetChannelEndpoint { method constructor (line 8) | constructor(private readonly channelEndpointRepository: ChannelEndpoin... method execute (line 11) | async execute(command: GetChannelEndpointCommand): Promise(data: { FILE: apps/api/src/app/channel-endpoints/usecases/update-channel-endpoint/update-channel-endpoint.usecase.ts class UpdateChannelEndpoint (line 7) | class UpdateChannelEndpoint { method constructor (line 8) | constructor(private readonly channelEndpointRepository: ChannelEndpoin... method execute (line 11) | async execute(command: UpdateChannelEndpointCommand): Promise { FILE: apps/api/src/app/contexts/dtos/dto.mapper.ts function mapContextEntityToDto (line 4) | function mapContextEntityToDto(context: ContextEntity): GetContextRespon... FILE: apps/api/src/app/contexts/dtos/get-context-response.dto.ts class GetContextResponseDto (line 4) | class GetContextResponseDto { FILE: apps/api/src/app/contexts/dtos/list-contexts-query.dto.ts class ListContextsQueryDto (line 7) | class ListContextsQueryDto extends CursorPaginationQueryDto { FILE: apps/api/src/app/contexts/usecases/create-context/create-context.command.ts class CreateContextCommand (line 5) | class CreateContextCommand extends EnvironmentWithUserCommand { FILE: apps/api/src/app/contexts/usecases/create-context/create-context.usecase.ts class CreateContext (line 7) | class CreateContext { method constructor (line 8) | constructor(private contextRepository: ContextRepository) {} method execute (line 10) | async execute(command: CreateContextCommand): Promise { FILE: apps/api/src/app/contexts/usecases/delete-context/delete-context.command.ts class DeleteContextCommand (line 5) | class DeleteContextCommand extends EnvironmentCommand { FILE: apps/api/src/app/contexts/usecases/delete-context/delete-context.usecase.ts class DeleteContext (line 6) | class DeleteContext { method constructor (line 7) | constructor(private contextRepository: ContextRepository) {} method execute (line 9) | async execute(command: DeleteContextCommand) { FILE: apps/api/src/app/contexts/usecases/get-context/get-context.command.ts class GetContextCommand (line 5) | class GetContextCommand extends EnvironmentCommand { FILE: apps/api/src/app/contexts/usecases/get-context/get-context.usecase.ts class GetContext (line 6) | class GetContext { method constructor (line 7) | constructor(private contextRepository: ContextRepository) {} method execute (line 9) | async execute(command: GetContextCommand): Promise { FILE: apps/api/src/app/contexts/usecases/list-contexts/list-contexts.command.ts class ListContextsCommand (line 5) | class ListContextsCommand extends CursorBasedPaginatedCommand { FILE: apps/api/src/app/environment-variables/dtos/create-environment-variable-request.dto.ts class EnvironmentVariableValueDto (line 16) | class EnvironmentVariableValueDto implements IEnvironmentVariableValueDto { class CreateEnvironmentVariableRequestDto (line 27) | class CreateEnvironmentVariableRequestDto implements ICreateEnvironmentV... FILE: apps/api/src/app/environment-variables/dtos/environment-variable-response.dto.ts constant SECRET_MASK (line 4) | const SECRET_MASK = '••••••••'; class EnvironmentVariableValueResponseDto (line 6) | class EnvironmentVariableValueResponseDto { class EnvironmentVariableResponseDto (line 14) | class EnvironmentVariableResponseDto { FILE: apps/api/src/app/environment-variables/dtos/get-environment-variable-usage-response.dto.ts class EnvironmentVariableWorkflowInfoDto (line 3) | class EnvironmentVariableWorkflowInfoDto { class GetEnvironmentVariableUsageResponseDto (line 17) | class GetEnvironmentVariableUsageResponseDto { FILE: apps/api/src/app/environment-variables/dtos/get-environment-variables-request.dto.ts class GetEnvironmentVariablesRequestDto (line 4) | class GetEnvironmentVariablesRequestDto { FILE: apps/api/src/app/environment-variables/dtos/update-environment-variable-request.dto.ts class UpdateEnvironmentVariableRequestDto (line 7) | class UpdateEnvironmentVariableRequestDto implements IUpdateEnvironmentV... FILE: apps/api/src/app/environment-variables/environment-variables.controller.ts class EnvironmentVariablesController (line 60) | class EnvironmentVariablesController { method constructor (line 61) | constructor( method listEnvironmentVariables (line 78) | async listEnvironmentVariables( method getEnvironmentVariableUsage (line 102) | async getEnvironmentVariableUsage( method getEnvironmentVariable (line 125) | async getEnvironmentVariable( method createEnvironmentVariable (line 149) | async createEnvironmentVariable( method updateEnvironmentVariable (line 175) | async updateEnvironmentVariable( method deleteEnvironmentVariable (line 203) | async deleteEnvironmentVariable( FILE: apps/api/src/app/environment-variables/environment-variables.module.ts class EnvironmentVariablesModule (line 14) | class EnvironmentVariablesModule {} FILE: apps/api/src/app/environment-variables/usecases/create-environment-variable/create-environment-variable.command.ts class EnvironmentVariableValueCommand (line 6) | class EnvironmentVariableValueCommand { class CreateEnvironmentVariableCommand (line 15) | class CreateEnvironmentVariableCommand extends OrganizationLevelWithUser... FILE: apps/api/src/app/environment-variables/usecases/create-environment-variable/create-environment-variable.usecase.ts class CreateEnvironmentVariable (line 10) | class CreateEnvironmentVariable { method constructor (line 11) | constructor( method execute (line 16) | async execute(command: CreateEnvironmentVariableCommand): Promise { FILE: apps/api/src/app/environment-variables/usecases/get-environment-variable-usage/get-environment-variable-usage.command.ts class GetEnvironmentVariableUsageCommand (line 4) | class GetEnvironmentVariableUsageCommand extends OrganizationLevelWithUs... FILE: apps/api/src/app/environment-variables/usecases/get-environment-variable-usage/get-environment-variable-usage.usecase.ts constant CONTROL_VALUES_SELECT (line 17) | const CONTROL_VALUES_SELECT = ['_workflowId', '_environmentId', 'control... type ControlValuesUsageFetchResult (line 18) | type ControlValuesUsageFetchResult = Pick { FILE: apps/api/src/app/environments-v1/usecases/generate-unique-api-key/generate-unique-api-key.usecase.ts constant API_KEY_GENERATION_MAX_RETRIES (line 5) | const API_KEY_GENERATION_MAX_RETRIES = 3; class GenerateUniqueApiKey (line 8) | class GenerateUniqueApiKey { method constructor (line 9) | constructor(private environmentRepository: EnvironmentRepository) {} method execute (line 11) | async execute(): Promise { method validateIsApiKeyUsed (line 29) | private async validateIsApiKeyUsed(apiKey: string) { method generateApiKey (line 39) | private generateApiKey(): string { FILE: apps/api/src/app/environments-v1/usecases/get-api-keys/get-api-keys.command.ts class GetApiKeysCommand (line 3) | class GetApiKeysCommand extends EnvironmentWithUserCommand {} FILE: apps/api/src/app/environments-v1/usecases/get-api-keys/get-api-keys.usecase.ts class GetApiKeys (line 8) | class GetApiKeys { method constructor (line 9) | constructor(private environmentRepository: EnvironmentRepository) {} method execute (line 11) | async execute(command: GetApiKeysCommand): Promise { FILE: apps/api/src/app/environments-v1/usecases/get-environment/get-environment.command.ts class GetEnvironmentCommand (line 3) | class GetEnvironmentCommand extends EnvironmentWithUserCommand {} FILE: apps/api/src/app/environments-v1/usecases/get-environment/get-environment.usecase.ts class GetEnvironment (line 8) | class GetEnvironment { method constructor (line 9) | constructor(private environmentRepository: EnvironmentRepository) {} method execute (line 11) | async execute(command: GetEnvironmentCommand): Promise[number]; class EmailOutputRendererCommand (line 61) | class EmailOutputRendererCommand extends RenderCommand { function isJsonString (line 70) | function isJsonString(str: string): boolean { class EmailOutputRendererUsecase (line 81) | class EmailOutputRendererUsecase extends BaseTranslationRendererUsecase { method constructor (line 84) | constructor( method execute (line 126) | async execute(renderCommand: EmailOutputRendererCommand): Promise { FILE: apps/api/src/app/environments-v1/usecases/update-environment/update-environment.command.ts class UpdateEnvironmentCommand (line 4) | class UpdateEnvironmentCommand extends OrganizationCommand { FILE: apps/api/src/app/environments-v1/usecases/update-environment/update-environment.usecase.ts class UpdateEnvironment (line 7) | class UpdateEnvironment { method constructor (line 8) | constructor(private environmentRepository: EnvironmentRepository) {} method execute (line 10) | async execute(command: UpdateEnvironmentCommand) { FILE: apps/api/src/app/environments-v2/dtos/diff-environment.dto.ts class DiffEnvironmentRequestDto (line 6) | class DiffEnvironmentRequestDto { class UserInfoDto (line 16) | class UserInfoDto { class ResourceInfoDto (line 36) | class ResourceInfoDto { class ResourceDiffDto (line 77) | class ResourceDiffDto { class DiffSummaryDto (line 154) | class DiffSummaryDto { class ResourceDependencyDto (line 172) | class ResourceDependencyDto { class ResourceDiffResultDto (line 208) | class ResourceDiffResultDto { class EnvironmentDiffSummaryDto (line 259) | class EnvironmentDiffSummaryDto { class DiffEnvironmentResponseDto (line 273) | class DiffEnvironmentResponseDto { FILE: apps/api/src/app/environments-v2/dtos/publish-environment.dto.ts class ResourceToPublishDto (line 6) | class ResourceToPublishDto { class PublishEnvironmentRequestDto (line 23) | class PublishEnvironmentRequestDto { class SyncedWorkflowDto (line 51) | class SyncedWorkflowDto { class FailedWorkflowDto (line 73) | class FailedWorkflowDto { class SkippedWorkflowDto (line 94) | class SkippedWorkflowDto { class SyncResultDto (line 112) | class SyncResultDto { class PublishSummaryDto (line 133) | class PublishSummaryDto { class PublishEnvironmentResponseDto (line 147) | class PublishEnvironmentResponseDto { FILE: apps/api/src/app/environments-v2/e2e/environments-v2-diff.e2e.ts function getProductionEnvironment (line 21) | async function getProductionEnvironment() { FILE: apps/api/src/app/environments-v2/e2e/environments-v2-publish.e2e.ts function createWorkflow (line 488) | async function createWorkflow(workflow: CreateWorkflowDto): Promise { method constructor (line 10) | constructor(private readonly layoutComparator: LayoutComparator) {} method compareResources (line 12) | async compareResources( FILE: apps/api/src/app/environments-v2/usecases/sync-strategies/adapters/layout-delete.adapter.ts class LayoutDeleteAdapter (line 11) | class LayoutDeleteAdapter implements IBaseDeleteService { method constructor (line 12) | constructor(private readonly deleteLayoutUseCase: DeleteLayoutUseCase) {} method deleteResourceFromTarget (line 14) | async deleteResourceFromTarget(context: ISyncContext, resource: Layout... FILE: apps/api/src/app/environments-v2/usecases/sync-strategies/adapters/layout-repository.adapter.ts class LayoutRepositoryAdapter (line 7) | class LayoutRepositoryAdapter implements IBaseRepositoryService { method getResourceIdentifier (line 18) | getResourceIdentifier(resource: LayoutEntity): string { FILE: apps/api/src/app/environments-v2/usecases/sync-strategies/adapters/layout-sync.adapter.ts class LayoutSyncAdapter (line 11) | class LayoutSyncAdapter implements IBaseSyncService { method constructor (line 12) | constructor(private readonly layoutSyncToEnvironmentUseCase: LayoutSyn... method syncResourceToTarget (line 14) | async syncResourceToTarget(context: ISyncContext, resource: LayoutEnti... FILE: apps/api/src/app/environments-v2/usecases/sync-strategies/adapters/workflow-comparator.adapter.ts class WorkflowComparatorAdapter (line 10) | class WorkflowComparatorAdapter implements IBaseComparator( FILE: apps/api/src/app/environments-v2/usecases/sync-strategies/base/interfaces/base-comparator.interface.ts type IBaseComparator (line 5) | interface IBaseComparator { FILE: apps/api/src/app/environments-v2/usecases/sync-strategies/base/interfaces/base-delete.interface.ts type IBaseDeleteService (line 3) | interface IBaseDeleteService { FILE: apps/api/src/app/environments-v2/usecases/sync-strategies/base/interfaces/base-repository.interface.ts type IBaseRepositoryService (line 1) | interface IBaseRepositoryService { FILE: apps/api/src/app/environments-v2/usecases/sync-strategies/base/interfaces/base-sync.interface.ts type IBaseSyncService (line 3) | interface IBaseSyncService { FILE: apps/api/src/app/environments-v2/usecases/sync-strategies/base/operations/base-diff.operation.ts method constructor (line 10) | constructor( method getStartingDiffMessage (line 21) | private getStartingDiffMessage(sourceEnvId: string, targetEnvId: string)... method getDiffCompleteFailedMessage (line 25) | private getDiffCompleteFailedMessage(error: string): string { method execute (line 30) | async execute( method processResourceDiffs (line 63) | private async processResourceDiffs( method processBatch (line 86) | private async processBatch( method createBatches (line 137) | private createBatches(items: U[], batchSize: number): U[][] { method processDeletedResources (line 147) | private async processDeletedResources( method handleNewResource (line 167) | protected async handleNewResource( method createResourceDiffs (line 180) | private createResourceDiffs( FILE: apps/api/src/app/environments-v2/usecases/sync-strategies/base/operations/base-sync.operation.ts type IResourceSyncDecision (line 13) | interface IResourceSyncDecision { method constructor (line 24) | constructor( method getAvailableResourceIds (line 36) | async getAvailableResourceIds(sourceEnvironmentId: string, organizationI... method getResourceTypeMessage (line 42) | private getResourceTypeMessage(): string { method getStartingSyncMessage (line 46) | private getStartingSyncMessage(sourceEnvId: string, targetEnvId: string)... method getFoundResourcesMessage (line 50) | private getFoundResourcesMessage(count: number): string { method getDryRunMessage (line 54) | private getDryRunMessage(): string { method getSyncCompleteFailedMessage (line 58) | private getSyncCompleteFailedMessage(error: string): string { method getSyncSuccessMessage (line 62) | private getSyncSuccessMessage(resourceName: string, action: string): str... method getSyncSkipMessage (line 66) | private getSyncSkipMessage(resourceName: string, action: string): string { method getSyncFailedMessage (line 70) | private getSyncFailedMessage(resourceName: string, error: string): string { method getDeleteSuccessMessage (line 74) | private getDeleteSuccessMessage(resourceName: string): string { method getDeleteFailedMessage (line 78) | private getDeleteFailedMessage(resourceName: string, error: string): str... method execute (line 83) | async execute(context: ISyncContext): Promise { method filterResourcesForSelectiveSync (line 125) | private filterResourcesForSelectiveSync(sourceResources: T[], resources:... method syncResources (line 144) | private async syncResources( method determineSyncDecisions (line 194) | private async determineSyncDecisions( method processSyncDecisionBatch (line 218) | private async processSyncDecisionBatch( method createBatches (line 241) | private createBatches(items: U[], batchSize: number): U[][] { method handleDeletedResources (line 251) | private async handleDeletedResources( method shouldSyncResource (line 292) | private async shouldSyncResource( FILE: apps/api/src/app/environments-v2/usecases/sync-strategies/builders/diff-result.builder.ts class DiffResultBuilder (line 10) | class DiffResultBuilder { method constructor (line 13) | constructor(private readonly resourceType: ResourceTypeEnum) {} method addResourceDiff (line 15) | addResourceDiff( method addResourceAdded (line 33) | addResourceAdded(sourceResource: IResourceInfo): this { method addResourceDeleted (line 52) | addResourceDeleted(targetResource: IResourceInfo): this { method addWorkflowDiff (line 72) | addWorkflowDiff( method addWorkflowAdded (line 106) | addWorkflowAdded( method addWorkflowDeleted (line 122) | addWorkflowDeleted( method build (line 138) | build(): IDiffResult[] { method getStats (line 142) | getStats() { method calculateSummaryForResource (line 161) | private calculateSummaryForResource( method calculateSummary (line 185) | private calculateSummary(diffs: IResourceDiff[]) { FILE: apps/api/src/app/environments-v2/usecases/sync-strategies/builders/sync-result.builder.ts class SyncResultBuilder (line 10) | class SyncResultBuilder { method constructor (line 15) | constructor(private readonly resourceType: ResourceTypeEnum) {} method addSuccess (line 17) | addSuccess(resourceId: string, resourceName: string, action: SyncActio... method addFailure (line 28) | addFailure(resourceId: string, resourceName: string, error: string, st... method addSkipped (line 40) | addSkipped(resourceId: string, resourceName: string, reason: string): ... method addSuccessfulEntities (line 51) | addSuccessfulEntities(entities: ISyncedEntity[]): this { method addFailedEntities (line 57) | addFailedEntities(entities: IFailedEntity[]): this { method addSkippedEntities (line 63) | addSkippedEntities(entities: ISkippedEntity[]): this { method build (line 69) | build(): ISyncResult { method getStats (line 79) | getStats() { FILE: apps/api/src/app/environments-v2/usecases/sync-strategies/comparators/layout.comparator.ts class LayoutComparator (line 9) | class LayoutComparator { method constructor (line 10) | constructor( method compareLayouts (line 16) | async compareLayouts(sourceLayout: LayoutEntity, targetLayout: LayoutE... FILE: apps/api/src/app/environments-v2/usecases/sync-strategies/comparators/workflow.comparator.ts class WorkflowComparator (line 19) | class WorkflowComparator { method constructor (line 20) | constructor( method compareWorkflows (line 28) | async compareWorkflows( method getLocalizationDiffs (line 102) | private async getLocalizationDiffs( method compareStepsAsEntities (line 134) | compareStepsAsEntities(sourceSteps: INormalizedStep[], targetSteps: IN... method compareIndividualStep (line 179) | private compareIndividualStep( method createStepAddedDiff (line 198) | private createStepAddedDiff(sourceStep: INormalizedStep, sourceIndex: ... method createStepModifiedDiff (line 218) | private createStepModifiedDiff( method createStepMovedDiff (line 250) | private createStepMovedDiff( method createStepDeletedDiff (line 277) | private createStepDeletedDiff(targetStep: INormalizedStep, targetIndex... FILE: apps/api/src/app/environments-v2/usecases/sync-strategies/constants/sync.constants.ts constant SYNC_ACTIONS (line 3) | const SYNC_ACTIONS = { constant SKIP_REASONS (line 10) | const SKIP_REASONS = { FILE: apps/api/src/app/environments-v2/usecases/sync-strategies/layout-sync.strategy.ts class LayoutSyncStrategy (line 10) | class LayoutSyncStrategy extends BaseSyncStrategy { method constructor (line 11) | constructor( method getResourceType (line 19) | getResourceType(): ResourceTypeEnum { method execute (line 23) | async execute(context: ISyncContext): Promise { method diff (line 27) | async diff( method getAvailableResourceIds (line 36) | async getAvailableResourceIds(sourceEnvironmentId: string, organizatio... FILE: apps/api/src/app/environments-v2/usecases/sync-strategies/normalizers/layout.normalizer.ts class LayoutNormalizer (line 6) | class LayoutNormalizer { method normalizeLayout (line 11) | normalizeLayout(layout: LayoutResponseDto): INormalizedLayout { FILE: apps/api/src/app/environments-v2/usecases/sync-strategies/normalizers/workflow.normalizer.ts class WorkflowNormalizer (line 6) | class WorkflowNormalizer { method normalizeWorkflow (line 11) | normalizeWorkflow(workflow: WorkflowResponseDto): INormalizedWorkflow { method normalizeStep (line 36) | normalizeStep(step: StepResponseDto): INormalizedStep { FILE: apps/api/src/app/environments-v2/usecases/sync-strategies/operations/layout-diff.operation.ts class LayoutDiffOperation (line 10) | class LayoutDiffOperation extends BaseDiffOperation { method constructor (line 11) | constructor( method getResourceType (line 19) | protected getResourceType(): ResourceTypeEnum { method getResourceName (line 23) | protected getResourceName(resource: LayoutEntity): string { method extractUpdatedByInfo (line 27) | protected extractUpdatedByInfo(resource: LayoutEntity): IUserInfo | nu... method extractUpdatedAtInfo (line 40) | protected extractUpdatedAtInfo(resource: LayoutEntity): string | null { FILE: apps/api/src/app/environments-v2/usecases/sync-strategies/operations/layout-repository.service.ts class LayoutRepositoryService (line 5) | class LayoutRepositoryService { method constructor (line 6) | constructor(private layoutRepository: LayoutRepository) {} method fetchSyncableLayouts (line 8) | async fetchSyncableLayouts(environmentId: string, organizationId: stri... method getLayoutIdentifier (line 12) | getLayoutIdentifier(layout: LayoutEntity): string { method createLayoutMap (line 16) | createLayoutMap(layouts: LayoutEntity[]): Map { FILE: apps/api/src/app/environments-v2/usecases/sync-strategies/operations/layout-sync.operation.ts class LayoutSyncOperation (line 12) | class LayoutSyncOperation extends BaseSyncOperation { method constructor (line 13) | constructor( method getResourceType (line 23) | protected getResourceType(): ResourceTypeEnum { method getResourceName (line 27) | protected getResourceName(resource: LayoutEntity): string { FILE: apps/api/src/app/environments-v2/usecases/sync-strategies/operations/workflow-diff.operation.ts class WorkflowDiffOperation (line 12) | class WorkflowDiffOperation extends BaseDiffOperation(items: U[], batchSize: number): U[][] { method handleNewWorkflowResource (line 165) | private async handleNewWorkflowResource( method createWorkflowResourceDiffs (line 198) | private createWorkflowResourceDiffs( method processDeletedWorkflowResources (line 252) | private async processDeletedWorkflowResources( method getResourceName (line 272) | protected getResourceName(resource: NotificationTemplateEntity): string { method extractUpdatedByInfo (line 276) | protected extractUpdatedByInfo(resource: NotificationTemplateEntity): ... method extractUpdatedAtInfo (line 289) | protected extractUpdatedAtInfo(resource: NotificationTemplateEntity): ... method extractStepsFromNewWorkflow (line 297) | private async extractStepsFromNewWorkflow( FILE: apps/api/src/app/environments-v2/usecases/sync-strategies/operations/workflow-repository.service.ts class WorkflowRepositoryService (line 5) | class WorkflowRepositoryService { method constructor (line 6) | constructor(private notificationTemplateRepository: NotificationTempla... method fetchSyncableWorkflows (line 8) | async fetchSyncableWorkflows(environmentId: string, organizationId: st... method getWorkflowIdentifier (line 12) | getWorkflowIdentifier(workflow: NotificationTemplateEntity): string { method createWorkflowMap (line 16) | createWorkflowMap(workflows: NotificationTemplateEntity[]): Map { method diff (line 27) | async diff( method getAvailableResourceIds (line 47) | async getAvailableResourceIds(sourceEnvironmentId: string, organizatio... FILE: apps/api/src/app/events/dtos/test-email-request.dto.ts class TestSendEmailRequestDto (line 4) | class TestSendEmailRequestDto { FILE: apps/api/src/app/events/dtos/trigger-event-request.dto.ts class WorkflowToStepControlValuesDto (line 27) | class WorkflowToStepControlValuesDto { class SubscriberPayloadDto (line 47) | class SubscriberPayloadDto extends CreateSubscriberRequestDto {} class TenantPayloadDto (line 48) | class TenantPayloadDto extends UpdateTenantRequestDto {} class TopicPayloadDto (line 50) | class TopicPayloadDto { class StepsOverrides (line 71) | class StepsOverrides { class EmailChannelOverrides (line 98) | class EmailChannelOverrides { class ChannelOverrides (line 110) | class ChannelOverrides { class TriggerOverrides (line 118) | class TriggerOverrides { class TriggerEventRequestDto (line 219) | class TriggerEventRequestDto { class BulkTriggerEventDto (line 356) | class BulkTriggerEventDto { FILE: apps/api/src/app/events/dtos/trigger-event-response.dto.ts class TriggerEventResponseDto (line 6) | class TriggerEventResponseDto { FILE: apps/api/src/app/events/dtos/trigger-event-to-all-request.dto.ts class TriggerEventToAllRequestDto (line 8) | class TriggerEventToAllRequestDto { FILE: apps/api/src/app/events/e2e/bridge-trigger.e2e.ts type Context (line 30) | type Context = { name: string; isStateful: boolean }; function syncWorkflow (line 2129) | async function syncWorkflow( function triggerEvent (line 2145) | async function triggerEvent( function discoverAndSyncBridge (line 2179) | async function discoverAndSyncBridge( function saveControlValues (line 2203) | async function saveControlValues( function markAllSubscriberMessagesAs (line 2212) | async function markAllSubscriberMessagesAs(session: UserSession, subscri... FILE: apps/api/src/app/events/e2e/cancel-event.e2e.ts function cancelEvent (line 20) | async function cancelEvent(transactionId: string) { FILE: apps/api/src/app/events/e2e/context-events.e2e.ts function sendTrigger (line 79) | async function sendTrigger( FILE: apps/api/src/app/events/e2e/process-subscriber.e2e.ts function triggerEvent (line 201) | async function triggerEvent(session: UserSession, template: Notification... function updateSubscriberPreference (line 212) | async function updateSubscriberPreference( FILE: apps/api/src/app/events/e2e/send-message-push.e2e.ts function triggerEvent (line 316) | async function triggerEvent(template2) { function updateCredentials (line 323) | async function updateCredentials(subscriberId: string, providerId: PushP... FILE: apps/api/src/app/events/e2e/trigger-event-to-all.e2e.ts constant TOPIC_PATH (line 32) | const TOPIC_PATH = '/v1/topics'; constant TOPIC_KEY_PREFIX (line 33) | const TOPIC_KEY_PREFIX = 'topic-key-trigger-event_'; constant TOPIC_NAME_PREFIX (line 34) | const TOPIC_NAME_PREFIX = 'topic-name-trigger-event_'; class MockSubscriberProcessQueueService (line 50) | class MockSubscriberProcessQueueService { method addBulk (line 51) | addBulk(data: IProcessSubscriberBulkJobDto[]) {} function mapSubscriberToSubscriberDefine (line 54) | function mapSubscriberToSubscriberDefine(firstTopicSubscribers: Subscrib... function expectBulkTopicStub (line 58) | function expectBulkTopicStub(secondCallStubArgs: IProcessSubscriberBulkJ... function expectBulkSingleSubscriberStub (line 78) | function expectBulkSingleSubscriberStub( function initializeTopic (line 138) | async function initializeTopic(subscribersToAdd: SubscriberEntity[], top... type TriggerMulticastCommandOverrides (line 445) | type TriggerMulticastCommandOverrides = Partial... FILE: apps/api/src/app/events/e2e/trigger-event.e2e.ts function sendTrigger (line 3272) | async function sendTrigger( function createScheduleOutsideCurrentTime (line 4000) | function createScheduleOutsideCurrentTime(timezone: string = 'America/Ne... function createScheduleIncludingCurrentTime (line 4034) | function createScheduleIncludingCurrentTime(timezone: string = 'America/... function createTemplate (line 4903) | async function createTemplate(session, channelType) { function createSimpleWorkflow (line 4913) | async function createSimpleWorkflow(session) { function simpleTrigger (line 4924) | function simpleTrigger(novuClient: Novu, template, subscriberID: string) { FILE: apps/api/src/app/events/e2e/utils/poll-for-job-status-change.util.ts type EnforceEnvOrOrgIds (line 4) | type EnforceEnvOrOrgIds = { _environmentId: string } | { _organizationId... type IPollForJobOptions (line 6) | interface IPollForJobOptions { function pollForJobStatusChange (line 22) | async function pollForJobStatusChange({ FILE: apps/api/src/app/events/e2e/utils/sleep.util.ts function sleep (line 1) | function sleep(ms: number): Promise { FILE: apps/api/src/app/events/events.controller.ts function RequestAnalytics (line 42) | function RequestAnalytics(strategy: AnalyticsStrategyEnum = AnalyticsStr... class EventsController (line 61) | class EventsController { method constructor (line 62) | constructor( method checkKillSwitch (line 71) | private async checkKillSwitch(user: UserSessionData): Promise { method trigger (line 104) | async trigger( method triggerBulk (line 155) | async triggerBulk( method broadcastEventToAll (line 195) | async broadcastEventToAll( method testEmailMessage (line 222) | async testEmailMessage(@UserSession() user: UserSessionData, @Body() b... method cancel (line 259) | async cancel(@UserSession() user: UserSessionData, @Param('transaction... FILE: apps/api/src/app/events/events.module.ts constant PROVIDERS (line 20) | const PROVIDERS = [GetNovuProviderCredentials, StorageHelperService, Com... class EventsModule (line 39) | class EventsModule {} FILE: apps/api/src/app/events/exceptions/payload-validation-exception.ts type IPayloadValidationError (line 4) | interface IPayloadValidationError { class PayloadValidationException (line 11) | class PayloadValidationException extends BadRequestException { method constructor (line 12) | constructor( method fromAjvErrors (line 26) | static fromAjvErrors(ajvErrors: ErrorObject[], payload: any, schema: a... FILE: apps/api/src/app/events/usecases/cancel-delayed/cancel-delayed.command.ts class CancelDelayedCommand (line 4) | class CancelDelayedCommand extends EnvironmentWithUserCommand { FILE: apps/api/src/app/events/usecases/cancel-delayed/cancel-delayed.usecase.ts class CancelDelayed (line 18) | class CancelDelayed { method constructor (line 19) | constructor( method execute (line 28) | public async execute(command: CancelDelayedCommand): Promise { method assignNextDigestJob (line 82) | private async assignNextDigestJob(job: JobEntity) { method recordCancellationTraces (line 145) | private async recordCancellationTraces(jobs: JobEntity[]): Promise { FILE: apps/api/src/app/feeds/usecases/delete-feed/delete-feed.command.ts class DeleteFeedCommand (line 4) | class DeleteFeedCommand extends EnvironmentWithUserCommand { FILE: apps/api/src/app/feeds/usecases/delete-feed/delete-feed.usecase.ts class DeleteFeed (line 8) | class DeleteFeed { method constructor (line 9) | constructor( method execute (line 15) | async execute(command: DeleteFeedCommand) { FILE: apps/api/src/app/feeds/usecases/get-feeds/get-feeds.command.ts class GetFeedsCommand (line 3) | class GetFeedsCommand extends EnvironmentWithUserCommand {} FILE: apps/api/src/app/feeds/usecases/get-feeds/get-feeds.usecase.ts class GetFeeds (line 6) | class GetFeeds { method constructor (line 7) | constructor(private feedsRepository: FeedRepository) {} method execute (line 9) | async execute(command: GetFeedsCommand): Promise { FILE: apps/api/src/app/feeds/usecases/index.ts constant USE_CASES (line 5) | const USE_CASES = [CreateFeed, GetFeeds, DeleteFeed]; FILE: apps/api/src/app/health/health.controller.ts class HealthController (line 24) | class HealthController { method constructor (line 25) | constructor( method healthCheck (line 34) | healthCheck(): Promise { method testIdempotency (line 61) | async testIdempotency(@Body() body: IdempotencyTestingDto): Promise { FILE: apps/api/src/app/health/health.module.ts class HealthModule (line 11) | class HealthModule {} FILE: apps/api/src/app/inbound-parse/dtos/get-mx-record.dto.ts class GetMxRecordResponseDto (line 3) | class GetMxRecordResponseDto { FILE: apps/api/src/app/inbound-parse/inbound-parse.controller.ts class InboundParseController (line 19) | class InboundParseController { method constructor (line 20) | constructor( method getMxRecordStatus (line 33) | async getMxRecordStatus(@UserSession() user: UserSessionData): Promise... FILE: apps/api/src/app/inbound-parse/inbound-parse.module.ts constant PROVIDERS (line 8) | const PROVIDERS = [CompileTemplate]; class InboundParseModule (line 26) | class InboundParseModule implements NestModule, OnApplicationShutdown { method constructor (line 27) | constructor(private workflowInMemoryProviderService: WorkflowInMemoryP... method configure (line 28) | configure(consumer: MiddlewareConsumer): MiddlewareConsumer | void {} method onApplicationShutdown (line 30) | async onApplicationShutdown() { FILE: apps/api/src/app/inbound-parse/usecases/get-mx-record/get-mx-record.command.ts class GetMxRecordCommand (line 3) | class GetMxRecordCommand extends EnvironmentCommand {} FILE: apps/api/src/app/inbound-parse/usecases/get-mx-record/get-mx-record.usecase.ts class GetMxRecord (line 10) | class GetMxRecord { method constructor (line 11) | constructor(private environmentRepository: EnvironmentRepository) {} method execute (line 13) | async execute(command: GetMxRecordCommand): Promise { FILE: apps/api/src/app/inbound-parse/usecases/index.ts constant USE_CASES (line 3) | const USE_CASES = [GetMxRecord]; FILE: apps/api/src/app/inbox/dtos/action-type-request.dto.ts class ActionTypeRequestDto (line 4) | class ActionTypeRequestDto { FILE: apps/api/src/app/inbox/dtos/bulk-update-preferences-request.dto.ts class BulkUpdatePreferenceItemDto (line 6) | class BulkUpdatePreferenceItemDto extends UpdatePreferencesRequestDto { class BulkUpdatePreferencesRequestDto (line 16) | class BulkUpdatePreferencesRequestDto { FILE: apps/api/src/app/inbox/dtos/create-topic-subscription-request.dto.ts class TopicIdentifierDto (line 9) | class TopicIdentifierDto { class CreateTopicSubscriptionRequestDto (line 20) | class CreateTopicSubscriptionRequestDto { FILE: apps/api/src/app/inbox/dtos/get-notifications-count-request.dto.ts class NotificationsFilter (line 17) | class NotificationsFilter implements NotificationFilter { class GetNotificationsCountRequestDto (line 44) | class GetNotificationsCountRequestDto { FILE: apps/api/src/app/inbox/dtos/get-notifications-count-response.dto.ts class GetNotificationsCountResponseDto (line 3) | class GetNotificationsCountResponseDto { FILE: apps/api/src/app/inbox/dtos/get-notifications-request.dto.ts constant LIMIT (line 10) | const LIMIT = { class GetNotificationsRequestDto (line 15) | class GetNotificationsRequestDto FILE: apps/api/src/app/inbox/dtos/get-notifications-response.dto.ts class GetNotificationsResponseDto (line 4) | class GetNotificationsResponseDto { FILE: apps/api/src/app/inbox/dtos/get-preferences-request.dto.ts class GetPreferencesRequestDto (line 5) | class GetPreferencesRequestDto { FILE: apps/api/src/app/inbox/dtos/get-preferences-response.dto.ts class GetPreferencesResponseDto (line 9) | class GetPreferencesResponseDto { FILE: apps/api/src/app/inbox/dtos/inbox-notification.dto.ts class InboxSubscriberResponseDto (line 4) | class InboxSubscriberResponseDto { class RedirectDto (line 21) | class RedirectDto { class InboxActionDto (line 33) | class InboxActionDto { class NotificationWorkflowDto (line 44) | class NotificationWorkflowDto { class InboxNotificationDto (line 75) | class InboxNotificationDto { FILE: apps/api/src/app/inbox/dtos/mark-notifications-as-seen-request.dto.ts class MarkNotificationsAsSeenRequestDto (line 3) | class MarkNotificationsAsSeenRequestDto { FILE: apps/api/src/app/inbox/dtos/snooze-notification-request.dto.ts function IsFutureDate (line 4) | function IsFutureDate( class SnoozeNotificationRequestDto (line 37) | class SnoozeNotificationRequestDto { FILE: apps/api/src/app/inbox/dtos/subscriber-session-request.dto.ts class SubscriberSessionRequestDto (line 7) | class SubscriberSessionRequestDto { class SubscriberDto (line 42) | class SubscriberDto { FILE: apps/api/src/app/inbox/dtos/subscriber-session-response.dto.ts type SeverityCounts (line 3) | type SeverityCounts = { type UnreadCount (line 10) | type UnreadCount = { class SubscriberSessionResponseDto (line 15) | class SubscriberSessionResponseDto { FILE: apps/api/src/app/inbox/dtos/update-all-notifications-request.dto.ts class UpdateAllNotificationsRequestDto (line 3) | class UpdateAllNotificationsRequestDto { FILE: apps/api/src/app/inbox/dtos/update-preferences-request.dto.ts class UpdatePreferencesRequestDto (line 7) | class UpdatePreferencesRequestDto { FILE: apps/api/src/app/inbox/dtos/workflow.dto.ts class WorkflowDto (line 5) | class WorkflowDto { FILE: apps/api/src/app/inbox/e2e/context-aware-topic-subscriptions.e2e.ts constant CONTEXT_A (line 13) | const CONTEXT_A: ContextPayload = { tenant: 'tenant-a', project: 'projec... constant CONTEXT_B (line 14) | const CONTEXT_B: ContextPayload = { tenant: 'tenant-b', project: 'projec... function generateUniqueId (line 379) | function generateUniqueId(prefix: string): string { function initializeSessionWithContext (line 383) | async function initializeSessionWithContext(session: UserSession, contex... function setIntegrationConfig (line 391) | async function setIntegrationConfig(environmentId: string, organizationI... function createSubscription (line 409) | async function createSubscription( function getSubscription (line 421) | async function getSubscription(session: UserSession, topicKey: string, i... function getTopicSubscriptions (line 427) | async function getTopicSubscriptions(session: UserSession, topicKey: str... function updateSubscription (line 433) | async function updateSubscription( function deleteSubscription (line 446) | async function deleteSubscription(session: UserSession, topicKey: string... function updateSubscriptionPreferences (line 452) | async function updateSubscriptionPreferences( FILE: apps/api/src/app/inbox/e2e/create-topic-subscription.e2e.ts function createSubscription (line 126) | async function createSubscription({ FILE: apps/api/src/app/inbox/e2e/get-topic-subscription.e2e.ts function extractWorkflowIdentifiers (line 280) | function extractWorkflowIdentifiers(preferences: Array<{ workflow: { ide... function createSubscription (line 284) | async function createSubscription({ function getSubscription (line 299) | async function getSubscription( FILE: apps/api/src/app/inbox/e2e/session.e2e.ts function setIntegrationConfig (line 1296) | async function setIntegrationConfig({ FILE: apps/api/src/app/inbox/e2e/update-subscription-workflow-preferences.e2e.ts function updateSubscriptionPreferences (line 228) | async function updateSubscriptionPreferences( function getTopicSubscriptions (line 240) | async function getTopicSubscriptions(session: UserSession, topicKey: str... function createSubscription (line 246) | async function createSubscription({ FILE: apps/api/src/app/inbox/inbox.controller.ts class InboxController (line 89) | class InboxController { method constructor (line 90) | constructor( method sessionInitialize (line 111) | async sessionInitialize( method getNotifications (line 125) | async getNotifications( method getNotificationsCount (line 153) | async getNotificationsCount( method getAllPreferences (line 172) | async getAllPreferences( method getSchedule (line 191) | async getSchedule(@SubscriberSession() subscriberSession: SubscriberSe... method markNotificationAsRead (line 211) | async markNotificationAsRead( method markNotificationAsUnread (line 229) | async markNotificationAsUnread( method markNotificationAsArchived (line 247) | async markNotificationAsArchived( method markNotificationAsUnarchived (line 265) | async markNotificationAsUnarchived( method snoozeNotification (line 283) | async snoozeNotification( method unsnoozeNotification (line 302) | async unsnoozeNotification( method deleteNotification (line 320) | async deleteNotification( method completeAction (line 337) | async completeAction( method revertAction (line 357) | async revertAction( method updateGlobalPreference (line 377) | async updateGlobalPreference( method bulkUpdateWorkflowPreferences (line 405) | async bulkUpdateWorkflowPreferences( method updateWorkflowPreference (line 422) | async updateWorkflowPreference( method updateSubscriptionWorkflowPreference (line 453) | async updateSubscriptionWorkflowPreference( method markNotificationsAsSeen (line 486) | async markNotificationsAsSeen( method markAllAsRead (line 506) | async markAllAsRead( method markAllAsArchived (line 530) | async markAllAsArchived( method markAllAsReadArchived (line 554) | async markAllAsReadArchived( method deleteAllNotifications (line 579) | async deleteAllNotifications( method keylessEvents (line 600) | async keylessEvents( FILE: apps/api/src/app/inbox/inbox.module.ts class InboxModule (line 53) | class InboxModule {} FILE: apps/api/src/app/inbox/inbox.topic.controller.ts class InboxTopicController (line 44) | class InboxTopicController { method constructor (line 45) | constructor( method getTopicSubscriptions (line 55) | async getTopicSubscriptions( method getTopicSubscription (line 73) | async getTopicSubscription( method createTopicSubscription (line 107) | async createTopicSubscription( method updateTopicSubscription (line 151) | async updateTopicSubscription( method deleteTopicSubscription (line 180) | async deleteTopicSubscription( method convertPreferencesToGroupFilters (line 198) | private convertPreferencesToGroupFilters( method isGroupPreferenceFilter (line 224) | private isGroupPreferenceFilter( FILE: apps/api/src/app/inbox/interceptors/context-compatibility.interceptor.ts function parseClientVersion (line 8) | function parseClientVersion(clientVersion?: string): string | null { function isContextAwareVersion (line 18) | function isContextAwareVersion(version: string): boolean { function shouldDisableContextForOldClient (line 34) | function shouldDisableContextForOldClient(clientVersion?: string): boole... class ContextCompatibilityInterceptor (line 56) | class ContextCompatibilityInterceptor implements NestInterceptor { method intercept (line 57) | intercept(context: ExecutionContext, next: CallHandler): Observable { method sendWebhookEvents (line 99) | private async sendWebhookEvents(command: DeleteAllNotificationsCommand... method processWebhooksInBatches (line 113) | private async processWebhooksInBatches( method chunkArray (line 133) | private chunkArray(array: T[], chunkSize: number): T[][] { method createWebhookPromises (line 142) | private createWebhookPromises( FILE: apps/api/src/app/inbox/usecases/delete-many-notifications/delete-many-notifications.command.ts class DeleteManyNotificationsCommand (line 5) | class DeleteManyNotificationsCommand extends EnvironmentWithSubscriber { FILE: apps/api/src/app/inbox/usecases/delete-many-notifications/delete-many-notifications.usecase.ts class DeleteManyNotifications (line 23) | class DeleteManyNotifications { method constructor (line 24) | constructor( method execute (line 37) | async execute(command: DeleteManyNotificationsCommand): Promise { method processWebhooksInBatches (line 91) | private async processWebhooksInBatches( method chunkArray (line 111) | private chunkArray(array: T[], chunkSize: number): T[][] { method sendWebhookEvents (line 120) | private sendWebhookEvents( method logTraces (line 140) | private async logTraces({ function createTraceLog (line 181) | function createTraceLog({ FILE: apps/api/src/app/inbox/usecases/delete-notification/delete-notification.command.ts class DeleteNotificationCommand (line 5) | class DeleteNotificationCommand extends EnvironmentWithSubscriber { FILE: apps/api/src/app/inbox/usecases/delete-notification/delete-notification.usecase.ts class DeleteNotification (line 12) | class DeleteNotification { method constructor (line 13) | constructor( method execute (line 20) | async execute(command: DeleteNotificationCommand): Promise { FILE: apps/api/src/app/inbox/usecases/delete-subscription/delete-subscription.command.ts class DeleteTopicSubscriptionCommand (line 4) | class DeleteTopicSubscriptionCommand extends EnvironmentWithSubscriber { FILE: apps/api/src/app/inbox/usecases/delete-subscription/delete-subscription.usecase.ts class DeleteTopicSubscription (line 9) | class DeleteTopicSubscription { method constructor (line 10) | constructor( method execute (line 18) | async execute(command: DeleteTopicSubscriptionCommand): Promise<{ succ... FILE: apps/api/src/app/inbox/usecases/get-inbox-preferences/get-inbox-preferences.command.ts class GetInboxPreferencesCommand (line 6) | class GetInboxPreferencesCommand extends EnvironmentWithSubscriber { FILE: apps/api/src/app/inbox/usecases/get-inbox-preferences/get-inbox-preferences.usecase.ts class GetInboxPreferences (line 18) | class GetInboxPreferences { method constructor (line 19) | constructor( method execute (line 27) | async execute(command: GetInboxPreferencesCommand): Promise { method processWebhooksInBatches (line 113) | private async processWebhooksInBatches( method chunkArray (line 133) | private chunkArray(array: T[], chunkSize: number): T[][] { method sendWebhookEvents (line 142) | private sendWebhookEvents( method logTraces (line 162) | private async logTraces({ function createTraceLog (line 229) | function createTraceLog({ FILE: apps/api/src/app/inbox/usecases/mark-notification-as/mark-notification-as.command.ts class MarkNotificationAsCommand (line 5) | class MarkNotificationAsCommand extends EnvironmentWithSubscriber { FILE: apps/api/src/app/inbox/usecases/mark-notification-as/mark-notification-as.usecase.ts class MarkNotificationAs (line 14) | class MarkNotificationAs { method constructor (line 15) | constructor( method execute (line 22) | async execute(command: MarkNotificationAsCommand): Promise { method processWebhooksInBatches (line 168) | private async processWebhooksInBatches( method chunkArray (line 195) | private chunkArray(array: T[], chunkSize: number): T[][] { method logTraces (line 204) | private async logTraces({ method createTraceLog (line 243) | private createTraceLog({ FILE: apps/api/src/app/inbox/usecases/noop-send-webhook-message.usecase.ts class NoopSendWebhookMessage (line 5) | class NoopSendWebhookMessage { method execute (line 6) | async execute(_command: SendWebhookMessageCommand): Promise<{ eventId:... FILE: apps/api/src/app/inbox/usecases/notifications-count/notifications-count.command.ts class NotificationsFilter (line 8) | class NotificationsFilter implements NotificationFilter { class NotificationsCountCommand (line 35) | class NotificationsCountCommand extends EnvironmentWithSubscriber { FILE: apps/api/src/app/inbox/usecases/notifications-count/notifications-count.usecase.ts constant MAX_NOTIFICATIONS_COUNT (line 8) | const MAX_NOTIFICATIONS_COUNT = 100; class NotificationsCount (line 11) | class NotificationsCount { method constructor (line 12) | constructor( method execute (line 31) | async execute( FILE: apps/api/src/app/inbox/usecases/session/session.command.ts class SessionCommand (line 7) | class SessionCommand extends BaseCommand { FILE: apps/api/src/app/inbox/usecases/session/session.usecase.ts constant ALLOWED_ORIGINS_REGEX (line 76) | const ALLOWED_ORIGINS_REGEX = new RegExp(process.env.FRONT_BASE_URL || ''); constant KEYLESS_RETENTION_TIME_IN_HOURS (line 77) | const KEYLESS_RETENTION_TIME_IN_HOURS = parseInt(process.env.KEYLESS_RET... constant MAX_NOTIFICATIONS_COUNT (line 78) | const MAX_NOTIFICATIONS_COUNT = 100; class Session (line 81) | class Session { method constructor (line 84) | constructor( method execute (line 113) | async execute(command: SessionCommand): Promise { method createWorkflowsUsecase (line 531) | async createWorkflowsUsecase(environmentId: string, organizationId: st... method convertEnvironmentEntityToDto (line 828) | private convertEnvironmentEntityToDto(environment: EnvironmentEntity) { function timestampHexToDate (line 849) | function timestampHexToDate(timestampHex) { FILE: apps/api/src/app/inbox/usecases/snooze-notification/snooze-notification.command.ts class SnoozeNotificationCommand (line 5) | class SnoozeNotificationCommand extends EnvironmentWithSubscriber { FILE: apps/api/src/app/inbox/usecases/snooze-notification/snooze-notification.spec.ts function createCommand (line 238) | function createCommand(days: number): SnoozeNotificationCommand { FILE: apps/api/src/app/inbox/usecases/snooze-notification/snooze-notification.usecase.ts class SnoozeNotification (line 35) | class SnoozeNotification { method constructor (line 38) | constructor( method execute (line 49) | public async execute(command: SnoozeNotificationCommand): Promise { method sendWebhookEvents (line 101) | private async sendWebhookEvents(command: UpdateAllNotificationsCommand... method processWebhooksInBatches (line 129) | private async processWebhooksInBatches( method chunkArray (line 149) | private chunkArray(array: T[], chunkSize: number): T[][] { method createWebhookPromises (line 158) | private createWebhookPromises( FILE: apps/api/src/app/inbox/usecases/update-notification-action/update-notification-action.command.ts class UpdateNotificationActionCommand (line 6) | class UpdateNotificationActionCommand extends EnvironmentWithSubscriber { FILE: apps/api/src/app/inbox/usecases/update-notification-action/update-notification-action.usecase.ts class UpdateNotificationAction (line 13) | class UpdateNotificationAction { method constructor (line 14) | constructor( method execute (line 21) | async execute(command: UpdateNotificationActionCommand): Promise { FILE: apps/api/src/app/integrations/usecases/chat-oauth-callback/slack-oauth-callback/slack-oauth-callback.command.ts class SlackOauthCallbackCommand (line 4) | class SlackOauthCallbackCommand extends BaseCommand { FILE: apps/api/src/app/integrations/usecases/chat-oauth-callback/slack-oauth-callback/slack-oauth-callback.usecase.ts class SlackOauthCallback (line 28) | class SlackOauthCallback { method constructor (line 32) | constructor( method execute (line 40) | async execute(command: SlackOauthCallbackCommand): Promise { FILE: apps/api/src/app/integrations/usecases/check-integration/check-integration-email.usecase.ts class CheckIntegrationEMail (line 7) | class CheckIntegrationEMail { method execute (line 8) | public async execute(command: CheckIntegrationCommand) { FILE: apps/api/src/app/integrations/usecases/check-integration/check-integration.command.ts class CheckIntegrationCommand (line 5) | class CheckIntegrationCommand extends EnvironmentCommand { FILE: apps/api/src/app/integrations/usecases/check-integration/check-integration.usecase.ts class CheckIntegration (line 7) | class CheckIntegration { method constructor (line 8) | constructor(private checkIntegrationEmail: CheckIntegrationEMail) {} method execute (line 10) | public async execute(command: CheckIntegrationCommand) { FILE: apps/api/src/app/integrations/usecases/create-integration/create-integration.command.ts class CreateIntegrationCommand (line 7) | class CreateIntegrationCommand extends EnvironmentCommand { FILE: apps/api/src/app/integrations/usecases/create-integration/create-integration.usecase.ts class CreateIntegration (line 26) | class CreateIntegration { method constructor (line 29) | constructor( method calculatePriorityAndPrimary (line 34) | private async calculatePriorityAndPrimary(command: CreateIntegrationCo... method validate (line 68) | private async validate(command: CreateIntegrationCommand): Promise { FILE: apps/api/src/app/integrations/usecases/generate-chat-oath-url/chat-oauth.constants.ts constant CHAT_OAUTH_CALLBACK_PATH (line 1) | const CHAT_OAUTH_CALLBACK_PATH = '/v1/integrations/chat/oauth/callback'; FILE: apps/api/src/app/integrations/usecases/generate-chat-oath-url/generate-chat-oauth-url.command.ts class GenerateChatOauthUrlCommand (line 6) | class GenerateChatOauthUrlCommand extends EnvironmentCommand { FILE: apps/api/src/app/integrations/usecases/generate-chat-oath-url/generate-chat-oauth-url.usecase.ts class GenerateChatOauthUrl (line 11) | class GenerateChatOauthUrl { method constructor (line 12) | constructor( method execute (line 18) | async execute(command: GenerateChatOauthUrlCommand): Promise { method getIntegration (line 53) | private async getIntegration(command: GenerateChatOauthUrlCommand): Pr... FILE: apps/api/src/app/integrations/usecases/generate-chat-oath-url/generate-msteams-oath-url/generate-msteams-oauth-url.command.ts class GenerateMsTeamsOauthUrlCommand (line 7) | class GenerateMsTeamsOauthUrlCommand extends EnvironmentCommand { FILE: apps/api/src/app/integrations/usecases/generate-chat-oath-url/generate-msteams-oath-url/generate-msteams-oauth-url.usecase.ts type StateData (line 8) | type StateData = { class GenerateMsTeamsOauthUrl (line 20) | class GenerateMsTeamsOauthUrl { method constructor (line 33) | constructor( method execute (line 38) | async execute(command: GenerateMsTeamsOauthUrlCommand): Promise { method validateSubscriberIdOrContext (line 58) | private validateSubscriberIdOrContext(command: GenerateMsTeamsOauthUrl... method assertResourceExists (line 66) | private async assertResourceExists(command: GenerateMsTeamsOauthUrlCom... method getOAuthUrl (line 84) | private async getOAuthUrl(clientId: string, secureState: string): Prom... method createSecureState (line 95) | private async createSecureState( method validateAndDecodeState (line 125) | static async validateAndDecodeState(state: string, environmentApiKey: ... method buildRedirectUri (line 149) | static buildRedirectUri(): string { method getIntegrationCredentials (line 158) | private async getIntegrationCredentials(integration: IntegrationEntity... method getEnvironmentApiKey (line 170) | private async getEnvironmentApiKey(environmentId: string): Promise { method validateSubscriberIdOrContext (line 53) | private validateSubscriberIdOrContext(command: GenerateSlackOauthUrlCo... method assertResourceExists (line 67) | private async assertResourceExists(command: GenerateSlackOauthUrlComma... method getOAuthUrl (line 85) | private async getOAuthUrl(clientId: string, secureState: string, scope... method createSecureState (line 96) | private async createSecureState( method validateAndDecodeState (line 126) | static async validateAndDecodeState(state: string, environmentApiKey: ... method buildRedirectUri (line 150) | static buildRedirectUri(): string { method getIntegrationCredentials (line 159) | private async getIntegrationCredentials(integration: IntegrationEntity... method getDemoNovuSlackCredentials (line 175) | private async getDemoNovuSlackCredentials(integration: IntegrationEnti... method getEnvironmentApiKey (line 187) | private async getEnvironmentApiKey(environmentId: string): Promise { method sendInviterAcceptedEmail (line 54) | async sendInviterAcceptedEmail(inviter: UserEntity, member: MemberEnti... FILE: apps/api/src/app/invites/usecases/bulk-invite/bulk-invite.command.ts class BulkInviteCommand (line 4) | class BulkInviteCommand extends OrganizationCommand { FILE: apps/api/src/app/invites/usecases/bulk-invite/bulk-invite.usecase.ts type IBulkInviteResponse (line 9) | interface IBulkInviteResponse { class BulkInvite (line 18) | class BulkInvite { method constructor (line 19) | constructor( method execute (line 26) | async execute(command: BulkInviteCommand): Promise { FILE: apps/api/src/app/layouts-v1/usecases/create-default-layout-change/create-default-layout-change.command.ts class CreateDefaultLayoutChangeCommand (line 5) | class CreateDefaultLayoutChangeCommand extends EnvironmentWithUserCommand { FILE: apps/api/src/app/layouts-v1/usecases/create-default-layout-change/create-default-layout-change.usecase.ts type GetChangeId (line 8) | type GetChangeId = { class CreateDefaultLayoutChangeUseCase (line 14) | class CreateDefaultLayoutChangeUseCase { method constructor (line 15) | constructor( method execute (line 22) | async execute(command: CreateDefaultLayoutChangeCommand): Promise { method getChangeId (line 50) | private async getChangeId(command: GetChangeId) { FILE: apps/api/src/app/layouts-v1/usecases/create-default-layout/create-default-layout.command.ts class CreateDefaultLayoutCommand (line 3) | class CreateDefaultLayoutCommand extends EnvironmentWithUserCommand {} FILE: apps/api/src/app/layouts-v1/usecases/create-default-layout/create-default-layout.usecase.ts class CreateDefaultLayout (line 9) | class CreateDefaultLayout { method constructor (line 10) | constructor( method execute (line 17) | async execute(command: CreateDefaultLayoutCommand): Promise { method createChange (line 57) | private async createChange(command: DeleteLayoutCommand, origin?: Reso... FILE: apps/api/src/app/layouts-v1/usecases/filter-layouts/filter-layouts.command.ts class FilterLayoutsCommand (line 7) | class FilterLayoutsCommand extends EnvironmentCommand { FILE: apps/api/src/app/layouts-v1/usecases/filter-layouts/filter-layouts.use-case.ts constant DEFAULT_LAYOUT_LIMIT (line 6) | const DEFAULT_LAYOUT_LIMIT = 10; constant MAX_LAYOUT_LIMIT (line 7) | const MAX_LAYOUT_LIMIT = 1000; class FilterLayoutsUseCase (line 10) | class FilterLayoutsUseCase { method constructor (line 11) | constructor(private layoutRepository: LayoutRepository) {} method execute (line 13) | async execute(command: FilterLayoutsCommand) { method mapFromCommandToEntity (line 42) | private mapFromCommandToEntity( method mapFromEntityToDto (line 51) | private mapFromEntityToDto(layout: LayoutEntity): LayoutDtoV0 { FILE: apps/api/src/app/layouts-v1/usecases/find-deleted-layout/find-deleted-layout.command.ts class FindDeletedLayoutCommand (line 5) | class FindDeletedLayoutCommand extends EnvironmentWithUserCommand { FILE: apps/api/src/app/layouts-v1/usecases/find-deleted-layout/find-deleted-layout.use-case.ts class FindDeletedLayoutUseCase (line 8) | class FindDeletedLayoutUseCase { method constructor (line 9) | constructor(private layoutRepository: LayoutRepository) {} method execute (line 11) | async execute(command: FindDeletedLayoutCommand): Promise { method mapFromEntity (line 23) | private mapFromEntity(layout: LayoutEntity): LayoutDtoV0 { method mapVariablesFromEntity (line 38) | private mapVariablesFromEntity(variables?: ITemplateVariable[]): ITemp... method mapContentFromEntity (line 55) | private mapContentFromEntity(blocks: IEmailBlock[]): IEmailBlock[] { FILE: apps/api/src/app/layouts-v1/usecases/index.ts constant USE_CASES (line 23) | const USE_CASES = [ FILE: apps/api/src/app/layouts-v1/usecases/set-default-layout/set-default-layout.command.ts class SetDefaultLayoutCommand (line 6) | class SetDefaultLayoutCommand extends EnvironmentWithUserCommand { FILE: apps/api/src/app/layouts-v1/usecases/set-default-layout/set-default-layout.use-case.ts class SetDefaultLayoutUseCase (line 12) | class SetDefaultLayoutUseCase { method constructor (line 13) | constructor( method execute (line 24) | async execute(command: SetDefaultLayoutCommand) { method createLayoutChangeForPreviousDefault (line 84) | private async createLayoutChangeForPreviousDefault( method findExistingDefaultLayoutId (line 93) | private async findExistingDefaultLayoutId( method setIsDefaultForLayout (line 113) | private async setIsDefaultForLayout( method createDefaultChange (line 122) | private async createDefaultChange(command: CreateDefaultLayoutChangeCo... method getParentChangeId (line 139) | private async getParentChangeId(environmentId: string, layoutId: strin... FILE: apps/api/src/app/layouts-v1/usecases/update-layout/update-layout.command.ts class UpdateLayoutCommand (line 6) | class UpdateLayoutCommand extends EnvironmentWithUserCommand { FILE: apps/api/src/app/layouts-v1/usecases/update-layout/update-layout.use-case.ts class UpdateLayoutUseCase (line 16) | class UpdateLayoutUseCase { method constructor (line 17) | constructor( method execute (line 25) | async execute(command: UpdateLayoutCommand): Promise { method createChange (line 89) | private async createChange(command: UpdateLayoutCommand, isV2Layout: b... method applyUpdatesToEntity (line 104) | private applyUpdatesToEntity(layout: LayoutEntity, updates: UpdateLayo... method mapFromEntity (line 117) | private mapFromEntity(layout: LayoutEntity): LayoutDtoV0 { method mapToEntity (line 132) | private mapToEntity(layout: LayoutDtoV0): LayoutEntity { FILE: apps/api/src/app/layouts-v2/dtos/duplicate-layout.dto.ts class DuplicateLayoutDto (line 4) | class DuplicateLayoutDto { FILE: apps/api/src/app/layouts-v2/dtos/generate-layout-preview-response.dto.ts class EmailLayoutRenderOutput (line 8) | class EmailLayoutRenderOutput { class GenerateLayoutPreviewResponseDto (line 15) | class GenerateLayoutPreviewResponseDto { FILE: apps/api/src/app/layouts-v2/dtos/get-layout-list-query-params.dto.ts class GetLayoutListQueryParamsDto (line 6) | class GetLayoutListQueryParamsDto extends LimitOffsetPaginationQueryDto(... FILE: apps/api/src/app/layouts-v2/dtos/get-layout-usage-response.dto.ts class WorkflowInfoDto (line 3) | class WorkflowInfoDto { class GetLayoutUsageResponseDto (line 17) | class GetLayoutUsageResponseDto { FILE: apps/api/src/app/layouts-v2/dtos/layout-preview-payload.dto.ts class LayoutPreviewPayloadDto (line 6) | class LayoutPreviewPayloadDto { FILE: apps/api/src/app/layouts-v2/dtos/layout-preview-request.dto.ts class LayoutPreviewRequestDto (line 7) | class LayoutPreviewRequestDto { FILE: apps/api/src/app/layouts-v2/dtos/list-layout-response.dto.ts class ListLayoutResponseDto (line 6) | class ListLayoutResponseDto { FILE: apps/api/src/app/layouts-v2/layouts.controller.ts class LayoutsController (line 54) | class LayoutsController { method constructor (line 55) | constructor( method create (line 74) | async create( method update (line 105) | async update( method get (line 131) | async get( method delete (line 154) | async delete( method duplicate (line 179) | async duplicate( method list (line 203) | async list( method generatePreview (line 229) | async generatePreview( method getUsage (line 253) | async getUsage( FILE: apps/api/src/app/layouts-v2/layouts.module.ts constant MODULES (line 21) | const MODULES = [SharedModule, AuthModule, LayoutsV1Module]; class LayoutsV2Module (line 42) | class LayoutsV2Module {} FILE: apps/api/src/app/layouts-v2/usecases/build-layout-issues/build-layout-issues.command.ts class BuildLayoutIssuesCommand (line 5) | class BuildLayoutIssuesCommand extends EnvironmentWithUserCommand { FILE: apps/api/src/app/layouts-v2/usecases/build-layout-issues/build-layout-issues.usecase.ts class BuildLayoutIssuesUsecase (line 20) | class BuildLayoutIssuesUsecase { method constructor (line 21) | constructor( method execute (line 27) | async execute(command: BuildLayoutIssuesCommand): Promise { method removeLayoutReferencesFromStepControls (line 67) | private async removeLayoutReferencesFromStepControls({ method deleteTranslationGroup (line 87) | private async deleteTranslationGroup(layout: LayoutResponseDto, comman... FILE: apps/api/src/app/layouts-v2/usecases/duplicate-layout/duplicate-layout.command.ts class DuplicateLayoutCommand (line 6) | class DuplicateLayoutCommand extends EnvironmentWithUserCommand { FILE: apps/api/src/app/layouts-v2/usecases/duplicate-layout/duplicate-layout.use-case.ts class DuplicateLayoutUseCase (line 16) | class DuplicateLayoutUseCase { method constructor (line 17) | constructor( method execute (line 26) | async execute(command: DuplicateLayoutCommand): Promise) { class LayoutSyncToEnvironmentUseCase (line 31) | class LayoutSyncToEnvironmentUseCase { method constructor (line 32) | constructor( method execute (line 39) | async execute(command: LayoutSyncToEnvironmentCommand): Promise { method validateLayout (line 128) | private async validateLayout({ method upsertControlValues (line 177) | private async upsertControlValues(command: UpsertLayoutCommand, layout... method mixpanelTrack (line 209) | private mixpanelTrack(command: UpsertLayoutCommand, eventName: string) { method toggleTranslationsForLayout (line 217) | private async toggleTranslationsForLayout(command: UpsertLayoutCommand... FILE: apps/api/src/app/layouts-v2/utils/layout-templates.ts constant EMPTY_LAYOUT (line 1) | const EMPTY_LAYOUT = { FILE: apps/api/src/app/message-template/message-template.controller.ts class MessageTemplateController (line 5) | class MessageTemplateController {} FILE: apps/api/src/app/message-template/message-template.module.ts class MessageTemplateModule (line 13) | class MessageTemplateModule {} FILE: apps/api/src/app/message-template/usecases/find-message-templates-by-layout/find-message-templates-by-layout.command.ts class FindMessageTemplatesByLayoutCommand (line 6) | class FindMessageTemplatesByLayoutCommand extends EnvironmentCommand { FILE: apps/api/src/app/message-template/usecases/find-message-templates-by-layout/find-message-templates-by-layout.use-case.ts constant DEFAULT_PAGE_SIZE (line 6) | const DEFAULT_PAGE_SIZE = 100; class FindMessageTemplatesByLayoutUseCase (line 9) | class FindMessageTemplatesByLayoutUseCase { method constructor (line 10) | constructor(private messageTemplateRepository: MessageTemplateReposito... method execute (line 12) | async execute(command: FindMessageTemplatesByLayoutCommand): Promise; class GetActivityFeed (line 34) | class GetActivityFeed { method constructor (line 35) | constructor( method execute (line 44) | async execute(command: GetActivityFeedCommand): Promise { method isMember (line 21) | private async isMember(organizationId: string, userId: string): Promis... FILE: apps/api/src/app/organization/usecases/membership/change-member-role/change-member-role.command.ts class ChangeMemberRoleCommand (line 5) | class ChangeMemberRoleCommand extends OrganizationCommand { FILE: apps/api/src/app/organization/usecases/membership/change-member-role/change-member-role.usecase.ts class ChangeMemberRole (line 8) | class ChangeMemberRole { method constructor (line 9) | constructor( method execute (line 14) | async execute(command: ChangeMemberRoleCommand) { FILE: apps/api/src/app/organization/usecases/membership/get-members/get-members.command.ts class GetMembersCommand (line 5) | class GetMembersCommand extends OrganizationCommand { FILE: apps/api/src/app/organization/usecases/membership/get-members/get-members.usecase.ts class GetMembers (line 9) | class GetMembers { method constructor (line 10) | constructor(private membersRepository: MemberRepository) {} method execute (line 12) | async execute(command: GetMembersCommand) { FILE: apps/api/src/app/organization/usecases/membership/remove-member/remove-member.command.ts class RemoveMemberCommand (line 4) | class RemoveMemberCommand extends OrganizationCommand { FILE: apps/api/src/app/organization/usecases/membership/remove-member/remove-member.usecase.ts class RemoveMember (line 8) | class RemoveMember { method constructor (line 9) | constructor( method execute (line 14) | async execute(command: RemoveMemberCommand) { FILE: apps/api/src/app/organization/usecases/rename-organization/rename-organization-command.ts class RenameOrganizationCommand (line 4) | class RenameOrganizationCommand extends AuthenticatedCommand { FILE: apps/api/src/app/organization/usecases/rename-organization/rename-organization.usecase.ts class RenameOrganization (line 6) | class RenameOrganization { method constructor (line 7) | constructor(private organizationRepository: OrganizationRepository) {} method execute (line 9) | async execute(command: RenameOrganizationCommand) { FILE: apps/api/src/app/organization/usecases/update-branding-details/update-branding-details.command.ts class UpdateBrandingDetailsCommand (line 4) | class UpdateBrandingDetailsCommand extends AuthenticatedCommand { FILE: apps/api/src/app/organization/usecases/update-branding-details/update-branding-details.usecase.ts class UpdateBrandingDetails (line 6) | class UpdateBrandingDetails { method constructor (line 7) | constructor(private organizationRepository: OrganizationRepository) {} method execute (line 9) | async execute(command: UpdateBrandingDetailsCommand) { FILE: apps/api/src/app/organization/usecases/update-organization-settings/update-organization-settings.command.ts class UpdateOrganizationSettingsCommand (line 4) | class UpdateOrganizationSettingsCommand extends AuthenticatedCommand { FILE: apps/api/src/app/organization/usecases/update-organization-settings/update-organization-settings.usecase.ts class UpdateOrganizationSettings (line 9) | class UpdateOrganizationSettings { method constructor (line 10) | constructor( method execute (line 15) | async execute(command: UpdateOrganizationSettingsCommand): Promise; class WebhookUpdatedWorkflowDto (line 15) | class WebhookUpdatedWorkflowDto { class WebhookCreatedWorkflowDto (line 23) | class WebhookCreatedWorkflowDto { class WebhookDeletedWorkflowDto (line 28) | class WebhookDeletedWorkflowDto { class WebhookMessageDto (line 33) | class WebhookMessageDto { type MessageFailedErrorCodeEnum (line 38) | enum MessageFailedErrorCodeEnum { class MessageFailedWebhookDto (line 42) | class MessageFailedWebhookDto { class MessageFailedPushDto (line 50) | class MessageFailedPushDto { class MessageFailedErrorDto (line 58) | class MessageFailedErrorDto { class WebhookMessageFailedDto (line 66) | class WebhookMessageFailedDto { class WebhookPreferenceDto (line 74) | class WebhookPreferenceDto { function createWebhookEvents (line 167) | function createWebhookEvents(record: T): W... FILE: apps/api/src/app/partner-integrations/dtos/create-vercel-integration-request.dto.ts class CreateVercelIntegrationRequestDto (line 3) | class CreateVercelIntegrationRequestDto { FILE: apps/api/src/app/partner-integrations/dtos/create-vercel-integration-response.dto.ts class CreateVercelIntegrationResponseDto (line 3) | class CreateVercelIntegrationResponseDto { FILE: apps/api/src/app/partner-integrations/dtos/update-vercel-integration-request.dto.ts class UpdateVercelIntegrationRequestDto (line 3) | class UpdateVercelIntegrationRequestDto { FILE: apps/api/src/app/partner-integrations/partner-integrations.controller.ts class PartnerIntegrationsController (line 36) | class PartnerIntegrationsController { method constructor (line 37) | constructor( method createVercelIntegration (line 48) | async createVercelIntegration( method updateVercelIntegration (line 66) | async updateVercelIntegration(@UserSession() user: UserSessionData, @B... method getVercelIntegration (line 81) | async getVercelIntegration(@UserSession() user: UserSessionData, @Para... method getVercelProjects (line 95) | async getVercelProjects( method webhook (line 112) | async webhook(@Body() body: any, @Headers('x-vercel-signature') signat... FILE: apps/api/src/app/partner-integrations/partner-integrations.module.ts class PartnerIntegrationsModule (line 15) | class PartnerIntegrationsModule {} FILE: apps/api/src/app/partner-integrations/usecases/create-vercel-integration/create-vercel-integration.command.ts class CreateVercelIntegrationCommand (line 4) | class CreateVercelIntegrationCommand extends EnvironmentWithUserCommand { FILE: apps/api/src/app/partner-integrations/usecases/create-vercel-integration/create-vercel-integration.usecase.ts class CreateVercelIntegration (line 11) | class CreateVercelIntegration { method constructor (line 12) | constructor( method execute (line 18) | async execute(command: CreateVercelIntegrationCommand): Promise { method shouldSkip (line 71) | protected async shouldSkip(context: ExecutionContext): Promise { method handleRequest (line 130) | protected async handleRequest({ context, throttler }: ThrottlerRequest... method createPolicyHeader (line 278) | private createPolicyHeader( method isAllowedAuthScheme (line 302) | private isAllowedAuthScheme(context: ExecutionContext): boolean { method isAllowedEnvironment (line 308) | private isAllowedEnvironment(context: ExecutionContext): boolean { method isAllowedRoute (line 319) | private isAllowedRoute(context: ExecutionContext): boolean { method isKeylessRoute (line 323) | private isKeylessRoute(context: ExecutionContext): boolean { method getReqUser (line 329) | private getReqUser(context: ExecutionContext): UserSessionData | undef... function getKeylessCost (line 336) | function getKeylessCost() { FILE: apps/api/src/app/rate-limiting/rate-limiting.module.ts class RateLimitingModule (line 22) | class RateLimitingModule {} FILE: apps/api/src/app/rate-limiting/usecases/evaluate-api-rate-limit/evaluate-api-rate-limit.command.ts class EvaluateApiRateLimitCommand (line 5) | class EvaluateApiRateLimitCommand extends BaseCommand { FILE: apps/api/src/app/rate-limiting/usecases/evaluate-api-rate-limit/evaluate-api-rate-limit.types.ts type EvaluateApiRateLimitResponseDto (line 1) | type EvaluateApiRateLimitResponseDto = { FILE: apps/api/src/app/rate-limiting/usecases/evaluate-api-rate-limit/evaluate-api-rate-limit.usecase.ts class EvaluateApiRateLimit (line 19) | class EvaluateApiRateLimit { method constructor (line 20) | constructor( method execute (line 28) | async execute(command: EvaluateApiRateLimitCommand): Promise[0]['re... type EvaluateTokenBucketRateLimitResponseDto (line 5) | type EvaluateTokenBucketRateLimitResponseDto = { type RegionLimiter (line 24) | type RegionLimiter = ReturnType; type CostLimiter (line 39) | type CostLimiter = ( FILE: apps/api/src/app/rate-limiting/usecases/evaluate-token-bucket-rate-limit/evaluate-token-bucket-rate-limit.usecase.ts constant LOG_CONTEXT (line 11) | const LOG_CONTEXT = 'EvaluateTokenBucketRateLimit'; class EvaluateTokenBucketRateLimit (line 14) | class EvaluateTokenBucketRateLimit { method constructor (line 18) | constructor( method execute (line 26) | async execute(command: EvaluateTokenBucketRateLimitCommand): Promise { type KeysOfT (line 61) | type KeysOfT = keyof T; class CursorPaginationQueryDto (line 63) | class CursorPaginationQueryDto { class LimitOffsetPaginationDto (line 89) | class LimitOffsetPaginationDto> { class PaginationParams (line 115) | class PaginationParams { class PaginationWithQueryParams (line 129) | class PaginationWithQueryParams extends PaginationParams { type OrderDirectionEnum (line 138) | enum OrderDirectionEnum { type OrderByEnum (line 143) | enum OrderByEnum { FILE: apps/api/src/app/shared/dtos/base-subscriber-fields.dto.ts class BaseSubscriberFieldsDto (line 5) | class BaseSubscriberFieldsDto { FILE: apps/api/src/app/shared/dtos/channel-preference.ts class ChannelPreference (line 5) | class ChannelPreference { FILE: apps/api/src/app/shared/dtos/cursor-paginated-response.ts type Constructor (line 6) | type Constructor = new (...args: any[]) => T; function withCursorPagination (line 8) | function withCursorPagination(Base: TBase, op... FILE: apps/api/src/app/shared/dtos/cursor-pagination-request.ts function CursorPaginationRequestDto (line 7) | function CursorPaginationRequestDto(defaultLimit = 10, maxLimit = 100): ... FILE: apps/api/src/app/shared/dtos/data-wrapper-dto.ts class DataWrapperDto (line 3) | class DataWrapperDto { class DataBooleanDto (line 8) | class DataBooleanDto { class DataNumberDto (line 13) | class DataNumberDto { FILE: apps/api/src/app/shared/dtos/limit-offset-pagination.dto.ts type DirectionEnum (line 6) | enum DirectionEnum { function LimitOffsetPaginationQueryDto (line 11) | function LimitOffsetPaginationQueryDto( FILE: apps/api/src/app/shared/dtos/message-template.ts class MessageTemplate (line 12) | class MessageTemplate { FILE: apps/api/src/app/shared/dtos/message.template.dto.ts class MessageTemplateDto (line 10) | class MessageTemplateDto { FILE: apps/api/src/app/shared/dtos/notification-step-dto.ts class TimedConfig (line 24) | class TimedConfig implements ITimedConfig { class AmountAndUnit (line 44) | class AmountAndUnit { class DigestBaseMetadata (line 54) | class DigestBaseMetadata extends AmountAndUnit implements IDigestBaseMet... class DigestRegularMetadata (line 59) | class DigestRegularMetadata extends DigestBaseMetadata implements IDiges... class DigestTimedMetadata (line 78) | class DigestTimedMetadata extends DigestBaseMetadata implements IDigestT... class DelayRegularMetadata (line 89) | class DelayRegularMetadata extends AmountAndUnit implements IDelayRegula... class DelayScheduledMetadata (line 96) | class DelayScheduledMetadata implements IDelayScheduledMetadata { class ReplyCallback (line 107) | class ReplyCallback { class NotificationStepData (line 124) | class NotificationStepData implements StepVariantDto { class NotificationStepDto (line 200) | class NotificationStepDto extends NotificationStepData { FILE: apps/api/src/app/shared/dtos/pagination-request.ts function PaginationRequestDto (line 8) | function PaginationRequestDto(defaultLimit = 10, maxLimit = 100): Constr... FILE: apps/api/src/app/shared/dtos/pagination-response.ts class PaginatedResponseDto (line 4) | class PaginatedResponseDto implements IPaginatedResponseDto { FILE: apps/api/src/app/shared/dtos/pagination-with-filters-request.ts function PaginationWithFiltersRequestDto (line 8) | function PaginationWithFiltersRequestDto({ FILE: apps/api/src/app/shared/dtos/preference-channels.ts class SubscriberPreferenceChannels (line 4) | class SubscriberPreferenceChannels { FILE: apps/api/src/app/shared/dtos/schedule.ts class TimeRangeDto (line 7) | class TimeRangeDto { class DayScheduleDto (line 26) | class DayScheduleDto { class WeeklyScheduleDto (line 46) | class WeeklyScheduleDto { class ScheduleDto (line 139) | class ScheduleDto { FILE: apps/api/src/app/shared/dtos/subscription-details-response.dto.ts class SubscriptionDetailsResponseDto (line 6) | class SubscriptionDetailsResponseDto { FILE: apps/api/src/app/shared/dtos/subscriptions/create-subscriptions-response.dto.ts class TopicDto (line 7) | class TopicDto { class SubscriberDto (line 31) | class SubscriberDto { class SubscriptionPreferenceDto (line 95) | class SubscriptionPreferenceDto { class SubscriptionResponseDto (line 133) | class SubscriptionResponseDto { class SubscriptionErrorDto (line 198) | class SubscriptionErrorDto { class MetaDto (line 218) | class MetaDto { class CreateSubscriptionsResponseDto (line 238) | class CreateSubscriptionsResponseDto { FILE: apps/api/src/app/shared/dtos/subscriptions/create-subscriptions.dto.ts class TopicSubscriberIdentifierDto (line 15) | class TopicSubscriberIdentifierDto { class BasePreferenceDto (line 41) | class BasePreferenceDto { class WorkflowPreferenceRequestDto (line 63) | class WorkflowPreferenceRequestDto extends BasePreferenceDto { class GroupPreferenceFilterDetailsDto (line 73) | class GroupPreferenceFilterDetailsDto { class GroupPreferenceFilterDto (line 95) | class GroupPreferenceFilterDto extends BasePreferenceDto { class CreateSubscriptionsRequestDto (line 107) | class CreateSubscriptionsRequestDto { FILE: apps/api/src/app/shared/dtos/subscriptions/update-subscription.dto.ts class UpdateSubscriptionRequestDto (line 6) | class UpdateSubscriptionRequestDto { FILE: apps/api/src/app/shared/framework/analytics-logs.guard.ts constant LOG_ANALYTICS_KEY (line 4) | const LOG_ANALYTICS_KEY = 'logAnalytics'; class AnalyticsLogsGuard (line 27) | class AnalyticsLogsGuard implements CanActivate { method constructor (line 28) | constructor(private reflector: Reflector) {} method canActivate (line 30) | canActivate(context: ExecutionContext): boolean { method shouldLogAnalytics (line 42) | private shouldLogAnalytics(context: ExecutionContext): boolean { FILE: apps/api/src/app/shared/framework/analytics-logs.interceptor.ts constant LOG_ANALYTICS_KEY (line 17) | const LOG_ANALYTICS_KEY = 'logAnalytics'; type AnalyticsStrategyEnum (line 19) | enum AnalyticsStrategyEnum { function LogAnalytics (line 25) | function LogAnalytics(strategy: AnalyticsStrategyEnum = AnalyticsStrateg... class AnalyticsLogsInterceptor (line 30) | class AnalyticsLogsInterceptor implements NestInterceptor { method constructor (line 31) | constructor( method shouldLogAnalytics (line 39) | private shouldLogAnalytics(context: ExecutionContext): boolean { method getAnalyticsStrategy (line 47) | private getAnalyticsStrategy(context: ExecutionContext): AnalyticsStra... method intercept (line 60) | async intercept(context: ExecutionContext, next: CallHandler): Promise... method shouldRun (line 103) | private async shouldRun(context: ExecutionContext): Promise { method buildLogByStrategy (line 119) | private buildLogByStrategy( FILE: apps/api/src/app/shared/framework/constants/headers.schema.ts constant COMMON_RESPONSE_HEADERS (line 3) | const COMMON_RESPONSE_HEADERS: Array = [ constant RESPONSE_HEADER_CONFIG (line 13) | const RESPONSE_HEADER_CONFIG: Record { method intercept (line 78) | async intercept(context: ExecutionContext, next: CallHandler): Promise... method getIdempotencyKey (line 125) | private getIdempotencyKey(context: ExecutionContext): string | undefin... method getReqUser (line 131) | private getReqUser(context: ExecutionContext): UserSessionData { method isAllowedAuthScheme (line 137) | private isAllowedAuthScheme(context: ExecutionContext): boolean { method getCacheKey (line 144) | private getCacheKey(context: ExecutionContext): string { method setCache (line 156) | async setCache( method setHeaders (line 174) | private setHeaders(response: any, headers: Record) { method hashRequestBody (line 182) | private hashRequestBody(body: object): string { method handlerDuplicateRequest (line 196) | private async handlerDuplicateRequest(context: ExecutionContext, bodyH... method handleNewRequest (line 239) | private async handleNewRequest( FILE: apps/api/src/app/shared/framework/response.decorator.ts function buildEnvelopeProperties (line 95) | function buildEnvelopeProperties>(isRespon... function buildSchema (line 108) | function buildSchema>( FILE: apps/api/src/app/shared/framework/response.interceptor.ts type Response (line 7) | interface Response { class ResponseInterceptor (line 12) | class ResponseInterceptor implements NestInterceptor> { method intercept (line 13) | intercept(context, next: CallHandler): Observable> { method returnWholeObject (line 39) | private returnWholeObject(data) { method transformResponse (line 46) | private transformResponse(response) { method transformToPlain (line 54) | private transformToPlain(plainOrClass) { FILE: apps/api/src/app/shared/framework/swagger/keyless.security.ts constant KEYLESS_ACCESSIBLE (line 3) | const KEYLESS_ACCESSIBLE = 'keyless_accessible'; function KeylessAccessible (line 5) | function KeylessAccessible() { FILE: apps/api/src/app/shared/framework/swagger/open.api.manipulation.component.ts function liftDataProperty (line 11) | function liftDataProperty(scope) { function removeEndpointsWithoutApiKey (line 38) | function removeEndpointsWithoutApiKey(openApiDocument: T): T { function unwrapDataAttribute (line 69) | function unwrapDataAttribute(inputDocument: OpenAPIObject) { function filterBearerOnlyIfExternal (line 75) | function filterBearerOnlyIfExternal(isForInternalSdk: boolean, inputDocu... function overloadDocumentForSdkGeneration (line 84) | function overloadDocumentForSdkGeneration(inputDocument: OpenAPIObject, ... function addIdempotencyKeyHeader (line 91) | function addIdempotencyKeyHeader(openApiDocument: T): T { function sortOpenAPIDocument (line 130) | function sortOpenAPIDocument(openApiDoc: OpenAPIObject): OpenAPIObject { FILE: apps/api/src/app/shared/framework/swagger/sdk.decorators.ts function SdkMethodName (line 12) | function SdkMethodName(methodName: string) { function SdkGroupName (line 22) | function SdkGroupName(methodName: string) { function DocumentationIgnore (line 33) | function DocumentationIgnore() { function SdkIgnorePath (line 43) | function SdkIgnorePath(methodName: string) { function SdkUsageExample (line 55) | function SdkUsageExample(title?: string, description?: string, position?... function SdkMethodMaxParamsOverride (line 65) | function SdkMethodMaxParamsOverride(maxParamsBeforeCollapseToObject?: nu... class SDKOverrideOptions (line 69) | class SDKOverrideOptions { function SdkApiParam (line 73) | function SdkApiParam(options: ApiParamOptions, sdkOverrideOptions?: SDKO... function SdkApiProperty (line 85) | function SdkApiProperty(options: ApiPropertyOptions, sdkOverrideOptions?... function SdkUsePagination (line 103) | function SdkUsePagination(override?: string) { FILE: apps/api/src/app/shared/framework/swagger/swagger.controller.ts constant API_KEY_SECURITY_DEFINITIONS (line 15) | const API_KEY_SECURITY_DEFINITIONS: SecuritySchemeObject = { constant BEARER_SECURITY_DEFINITIONS (line 22) | const BEARER_SECURITY_DEFINITIONS: SecuritySchemeObject = { function buildBaseOptions (line 28) | function buildBaseOptions() { function buildOpenApiBaseDocument (line 86) | function buildOpenApiBaseDocument(internalSdkGeneration: boolean | undef... function buildFullDocumentWithPath (line 96) | function buildFullDocumentWithPath(app: INestApplication, baseDocum... function publishDeprecatedDocument (line 113) | function publishDeprecatedDocument(app: INestApplication, document:... function publishLegacyOpenApiDoc (line 123) | function publishLegacyOpenApiDoc(app: INestApplication, document: O... function generateWebhookDefinitions (line 135) | function generateWebhookDefinitions(document: OpenAPIObject) { function overloadNamingGuidelines (line 216) | function overloadNamingGuidelines(document: OpenAPIObject) { function overloadGlobalSdkRetrySettings (line 228) | function overloadGlobalSdkRetrySettings(document: OpenAPIObject) { function patchOpenEnumSchemas (line 242) | function patchOpenEnumSchemas(document: OpenAPIObject) { function publishSdkSpecificDocumentAndReturnDocument (line 252) | function publishSdkSpecificDocumentAndReturnDocument( FILE: apps/api/src/app/shared/framework/user.decorator.ts type SubscriberSession (line 9) | interface SubscriberSession extends SubscriberEntity { FILE: apps/api/src/app/shared/helpers/e2e/sdk/e2e-sdk.helper.ts function initNovuClassSdk (line 10) | function initNovuClassSdk(session: UserSession, shouldRetry: boolean = f... function initNovuClassSdkInternalAuth (line 22) | function initNovuClassSdkInternalAuth(session: UserSession, shouldRetry:... function initNovuFunctionSdk (line 37) | function initNovuFunctionSdk(session: UserSession): NovuCore { function isErrorDto (line 41) | function isErrorDto(error: unknown): error is ErrorDto { function isValidationErrorDto (line 44) | function isValidationErrorDto(error: unknown): error is ValidationErrorD... function isSDKValidationError (line 48) | function isSDKValidationError(error: unknown): error is SDKValidationErr... function handleSdkError (line 58) | function handleSdkError(error: unknown): ErrorDto { function handleSdkZodFailure (line 67) | function handleSdkZodFailure(error: unknown): SDKValidationError { function handleValidationErrorDto (line 75) | function handleValidationErrorDto(error: unknown): ValidationErrorDto { type AsyncAction (line 85) | type AsyncAction = () => Promise; function expectSdkExceptionGeneric (line 87) | async function expectSdkExceptionGeneric( function expectSdkZodError (line 98) | async function expectSdkZodError( function expectSdkValidationExceptionGeneric (line 110) | async function expectSdkValidationExceptionGeneric( class CustomHeaderHTTPClient (line 121) | class CustomHeaderHTTPClient extends HTTPClient { method constructor (line 124) | constructor(defaultHeaders: HeadersInit = {}, options: HTTPClientOptio... method request (line 129) | async request(request: Request): Promise { FILE: apps/api/src/app/shared/helpers/generate-transaction-id.ts function generateTransactionId (line 3) | function generateTransactionId() { FILE: apps/api/src/app/shared/helpers/is-valid-hmac.ts function isHmacValid (line 4) | function isHmacValid(secretKey: string, subscriberId: string, hmacHash: ... function isContextHmacValid (line 15) | function isContextHmacValid( FILE: apps/api/src/app/shared/helpers/utils/mapMarkMessageToWebSocketEvent.ts function mapMarkMessageToWebSocketEvent (line 3) | function mapMarkMessageToWebSocketEvent(markAs: MessagesStatusEnum): Web... FILE: apps/api/src/app/shared/interceptors/product-feature.interceptor.ts class ProductFeatureInterceptor (line 21) | class ProductFeatureInterceptor implements NestInterceptor { method constructor (line 22) | constructor( method intercept (line 27) | async intercept(context: ExecutionContext, next: CallHandler): Promise... method getReqUser (line 61) | private getReqUser(context: ExecutionContext): UserSessionData { FILE: apps/api/src/app/shared/middleware/request-id.middleware.ts type RequestWithReqId (line 5) | interface RequestWithReqId extends Request { class RequestIdMiddleware (line 10) | class RequestIdMiddleware implements NestMiddleware { method use (line 11) | use(req: RequestWithReqId, _res: Response, next: NextFunction) { FILE: apps/api/src/app/shared/shared.module.ts function getDynamicAuthProviders (line 64) | function getDynamicAuthProviders() { constant DAL_MODELS (line 89) | const DAL_MODELS = [ constant ANALYTICS_PROVIDERS (line 126) | const ANALYTICS_PROVIDERS = [ constant PROVIDERS (line 140) | const PROVIDERS = [ constant IMPORTS (line 162) | const IMPORTS = [ class SharedModule (line 203) | class SharedModule {} FILE: apps/api/src/app/shared/types.ts type Constructor (line 1) | type Constructor = new (...args: any[]) => I; type CursorPaginationParams (line 3) | type CursorPaginationParams = { FILE: apps/api/src/app/shared/utils/auth.utils.ts function checkIsKeylessHeader (line 6) | function checkIsKeylessHeader(authorizationHeader: string | undefined): ... FILE: apps/api/src/app/shared/utils/mappers.ts function extractTransactionIdFromBody (line 9) | function extractTransactionIdFromBody(body: unknown): string | undefined { function buildLog (line 24) | function buildLog( FILE: apps/api/src/app/shared/utils/request-transaction.util.ts function getRequestId (line 7) | function getRequestId(req: RequestWithReqId): string | undefined { FILE: apps/api/src/app/shared/validators/image.validator.ts function IsImageUrl (line 3) | function IsImageUrl(validationOptions?: ValidationOptions) { FILE: apps/api/src/app/shared/validators/is-enum-or-array.ts function IsEnumOrArray (line 3) | function IsEnumOrArray(enumObj: object, options?: ValidationOptions) { FILE: apps/api/src/app/shared/validators/is-mongo-id-or-array-of-ids.validator.ts function IsMongoIdOrArrayOfMongoIds (line 3) | function IsMongoIdOrArrayOfMongoIds(validationOptions: ValidationOptions... FILE: apps/api/src/app/shared/validators/is-time-12-hour-format.validator.ts function IsTime12HourFormat (line 3) | function IsTime12HourFormat(validationOptions?: ValidationOptions) { FILE: apps/api/src/app/shared/validators/json-schema.validator.ts function IsValidJsonSchema (line 5) | function IsValidJsonSchema(validationOptions?: ValidationOptions & { nul... FILE: apps/api/src/app/shared/validators/weekly-schedule-disabled.validator.ts function WeeklyScheduleValidation (line 5) | function WeeklyScheduleValidation(validationOptions?: ValidationOptions) { FILE: apps/api/src/app/step-resolvers/dtos/deploy-step-resolver-request.dto.ts class DeployStepResolverManifestStepDto (line 16) | class DeployStepResolverManifestStepDto { class DeployStepResolverManifestDto (line 53) | class DeployStepResolverManifestDto { class DeployStepResolverRequestDto (line 65) | class DeployStepResolverRequestDto { FILE: apps/api/src/app/step-resolvers/dtos/deploy-step-resolver-response.dto.ts class SkippedStepDto (line 3) | class SkippedStepDto { class DeployStepResolverResponseDto (line 23) | class DeployStepResolverResponseDto { FILE: apps/api/src/app/step-resolvers/dtos/disconnect-step-resolver-request.dto.ts class DisconnectStepResolverRequestDto (line 4) | class DisconnectStepResolverRequestDto { FILE: apps/api/src/app/step-resolvers/dtos/step-resolvers-count-response.dto.ts class StepResolversCountResponseDto (line 3) | class StepResolversCountResponseDto { FILE: apps/api/src/app/step-resolvers/e2e/step-resolvers.e2e.ts function deployStep (line 69) | async function deployStep( function createActionWorkflow (line 97) | async function createActionWorkflow(actionStepType: StepTypeEnum.DELAY |... function seedControlValues (line 125) | async function seedControlValues(controls: Record) { function isolatedCount (line 357) | async function isolatedCount(): Promise { function createWorkflowInIsolatedSession (line 364) | async function createWorkflowInIsolatedSession() { function getProdEnv (line 409) | async function getProdEnv() { function publish (line 419) | async function publish(targetEnvId: string) { FILE: apps/api/src/app/step-resolvers/services/cloudflare-step-resolver-deploy.service.ts constant CF_COMPATIBILITY_DATE (line 4) | const CF_COMPATIBILITY_DATE = '2025-11-18'; constant WORKER_SCRIPT_NAME (line 5) | const WORKER_SCRIPT_NAME = 'worker.js'; constant DEPLOY_TIMEOUT_MS (line 6) | const DEPLOY_TIMEOUT_MS = 30_000; type DeployStepResolverToCloudflareCommand (line 8) | interface DeployStepResolverToCloudflareCommand { type CloudflareDeploymentConfig (line 15) | interface CloudflareDeploymentConfig { type CloudflareDeploymentError (line 22) | interface CloudflareDeploymentError { type CloudflareDeploymentResponse (line 26) | interface CloudflareDeploymentResponse { class CloudflareStepResolverDeployService (line 32) | class CloudflareStepResolverDeployService { method constructor (line 33) | constructor(private logger: PinoLogger) { method deploy (line 37) | async deploy(command: DeployStepResolverToCloudflareCommand): Promise<... method buildLogContext (line 90) | private buildLogContext(command: DeployStepResolverToCloudflareCommand) { method sendDeployRequest (line 98) | private async sendDeployRequest( method getConfigOrThrow (line 127) | private getConfigOrThrow(): CloudflareDeploymentConfig { method buildDeployUrl (line 154) | private buildDeployUrl(config: CloudflareDeploymentConfig, workerId: s... method buildTags (line 162) | private buildTags(organizationId: string, stepResolverHash: string): s... method toServiceUnavailableException (line 166) | private toServiceUnavailableException(statusCode: number, message: str... method extractCloudflareErrorMessage (line 178) | private extractCloudflareErrorMessage( method safeJsonParse (line 190) | private safeJsonParse(raw: string): T | undefined { method formatUnknownError (line 202) | private formatUnknownError(error: unknown): string { FILE: apps/api/src/app/step-resolvers/step-resolvers.controller.ts type UploadedBundleFile (line 37) | interface UploadedBundleFile { class StepResolversController (line 49) | class StepResolversController { method constructor (line 50) | constructor( method getCount (line 59) | async getCount(@UserSession() user: UserSessionData): Promise { FILE: apps/api/src/app/step-resolvers/usecases/get-step-resolvers-count/get-step-resolvers-count.usecase.ts class GetStepResolversCountUsecase (line 6) | class GetStepResolversCountUsecase { method constructor (line 7) | constructor(private messageTemplateRepository: MessageTemplateReposito... method execute (line 10) | async execute(environmentId: string): Promise<{ count: number }> { FILE: apps/api/src/app/step-resolvers/usecases/sync-step-resolver-to-environment/sync-step-resolver-to-environment.command.ts class StepResolverSourceData (line 7) | class StepResolverSourceData { class StepResolverTargetData (line 23) | class StepResolverTargetData { class SyncStepResolverToEnvironmentCommand (line 37) | class SyncStepResolverToEnvironmentCommand extends EnvironmentWithUserOb... FILE: apps/api/src/app/step-resolvers/usecases/sync-step-resolver-to-environment/sync-step-resolver-to-environment.usecase.ts class SyncStepResolverToEnvironmentUsecase (line 17) | class SyncStepResolverToEnvironmentUsecase { method constructor (line 18) | constructor( method execute (line 24) | async execute(command: SyncStepResolverToEnvironmentCommand): Promise<... method countNewResolverAssignments (line 79) | private countNewResolverAssignments(command: SyncStepResolverToEnviron... method promoteStepResolver (line 104) | private async promoteStepResolver( method clearStepResolver (line 123) | private async clearStepResolver( FILE: apps/api/src/app/step-resolvers/utils/generate-step-resolver-worker-id.ts function generateStepResolverWorkerId (line 1) | function generateStepResolverWorkerId(organizationId: string, stepResolv... FILE: apps/api/src/app/storage/dtos/upload-url-response.dto.ts class UploadUrlResponse (line 3) | class UploadUrlResponse { FILE: apps/api/src/app/storage/storage.controller.ts class StorageController (line 18) | class StorageController { method constructor (line 19) | constructor(private getSignedUrlUsecase: GetSignedUrl) {} method signedUrl (line 27) | async signedUrl( FILE: apps/api/src/app/storage/storage.module.ts class StorageModule (line 11) | class StorageModule {} FILE: apps/api/src/app/storage/usecases/get-signed-url/get-signed-url.command.ts class GetSignedUrlCommand (line 6) | class GetSignedUrlCommand extends EnvironmentWithUserCommand { FILE: apps/api/src/app/storage/usecases/get-signed-url/get-signed-url.usecase.ts class GetSignedUrl (line 10) | class GetSignedUrl { method constructor (line 11) | constructor(private storageService: StorageService) {} method mapTypeToPath (line 13) | private mapTypeToPath(command: GetSignedUrlCommand) { method execute (line 24) | async execute(command: GetSignedUrlCommand): Promise { FILE: apps/api/src/app/storage/usecases/index.ts constant USE_CASES (line 3) | const USE_CASES = [GetSignedUrl]; FILE: apps/api/src/app/subscribers-v2/dtos/bulk-update-subscriber-preferences.dto.ts class BulkUpdateSubscriberPreferenceItemDto (line 8) | class BulkUpdateSubscriberPreferenceItemDto { class BulkUpdateSubscriberPreferencesDto (line 22) | class BulkUpdateSubscriberPreferencesDto { FILE: apps/api/src/app/subscribers-v2/dtos/context-keys-query.dto.ts class ContextKeysQueryDto (line 5) | class ContextKeysQueryDto { FILE: apps/api/src/app/subscribers-v2/dtos/create-subscriber.dto.ts class CreateSubscriberRequestDto (line 6) | class CreateSubscriberRequestDto extends BaseSubscriberFieldsDto { FILE: apps/api/src/app/subscribers-v2/dtos/cursor-pagination-query.dto.ts class CursorPaginationQueryDto (line 6) | class CursorPaginationQueryDto { FILE: apps/api/src/app/subscribers-v2/dtos/get-subscriber-notifications-count-query.dto.ts class SubscriberNotificationsFilter (line 9) | class SubscriberNotificationsFilter implements NotificationFilter { class GetSubscriberNotificationsCountQueryDto (line 41) | class GetSubscriberNotificationsCountQueryDto { FILE: apps/api/src/app/subscribers-v2/dtos/get-subscriber-notifications-count-response.dto.ts class GetSubscriberNotificationsCountResponseDto (line 3) | class GetSubscriberNotificationsCountResponseDto { FILE: apps/api/src/app/subscribers-v2/dtos/get-subscriber-notifications-query.dto.ts constant LIMIT (line 9) | const LIMIT = { class GetSubscriberNotificationsQueryDto (line 14) | class GetSubscriberNotificationsQueryDto FILE: apps/api/src/app/subscribers-v2/dtos/get-subscriber-notifications-response.dto.ts class GetSubscriberNotificationsResponseDto (line 5) | class GetSubscriberNotificationsResponseDto { FILE: apps/api/src/app/subscribers-v2/dtos/get-subscriber-preferences-request.dto.ts class GetSubscriberPreferencesRequestDto (line 6) | class GetSubscriberPreferencesRequestDto { FILE: apps/api/src/app/subscribers-v2/dtos/get-subscriber-preferences.dto.ts class GetSubscriberPreferencesDto (line 6) | class GetSubscriberPreferencesDto { FILE: apps/api/src/app/subscribers-v2/dtos/list-subscribers-query.dto.ts class ListSubscribersQueryDto (line 6) | class ListSubscribersQueryDto extends CursorPaginationQueryDto { method hmacValidation (line 29) | private async hmacValidation({ method getOAuthUrl (line 57) | private getOAuthUrl( method getCredentials (line 76) | private async getCredentials(command: ChatOauthCommand): Promise { method fetchSubscriber (line 41) | private async fetchSubscriber({ method fetchSubscriberTopics (line 51) | private async fetchSubscriberTopics({ FILE: apps/api/src/app/subscribers/usecases/get-subscribers/get-subscribers.command.ts class GetSubscribersCommand (line 4) | class GetSubscribersCommand extends EnvironmentCommand { FILE: apps/api/src/app/subscribers/usecases/get-subscribers/get-subscribers.usecase.ts class GetSubscribers (line 6) | class GetSubscribers { method constructor (line 7) | constructor(private subscriberRepository: SubscriberRepository) {} method execute (line 9) | async execute(command: GetSubscribersCommand) { FILE: apps/api/src/app/subscribers/usecases/index.ts constant USE_CASES (line 30) | const USE_CASES = [ FILE: apps/api/src/app/subscribers/usecases/remove-subscriber/remove-subscriber.command.ts class RemoveSubscriberCommand (line 4) | class RemoveSubscriberCommand extends EnvironmentCommand { FILE: apps/api/src/app/subscribers/usecases/remove-subscriber/remove-subscriber.usecase.ts class RemoveSubscriber (line 13) | class RemoveSubscriber { method constructor (line 14) | constructor( method execute (line 21) | async execute({ environmentId: _environmentId, subscriberId }: RemoveS... FILE: apps/api/src/app/subscribers/usecases/search-by-external-subscriber-ids/search-by-external-subscriber-ids.command.ts class SearchByExternalSubscriberIdsCommand (line 6) | class SearchByExternalSubscriberIdsCommand extends EnvironmentCommand { FILE: apps/api/src/app/subscribers/usecases/search-by-external-subscriber-ids/search-by-external-subscriber-ids.use-case.ts class SearchByExternalSubscriberIds (line 8) | class SearchByExternalSubscriberIds { method constructor (line 9) | constructor(private subscriberRepository: SubscriberRepository) {} method execute (line 11) | async execute(command: SearchByExternalSubscriberIdsCommand): Promise<... method mapToEntity (line 19) | private mapToEntity(command: SearchByExternalSubscriberIdsCommand): IE... method mapFromEntity (line 27) | private mapFromEntity(entity: SubscriberEntity): SubscriberDto { FILE: apps/api/src/app/subscribers/usecases/update-subscriber-online-flag/update-subscriber-online-flag.command.ts class UpdateSubscriberOnlineFlagCommand (line 5) | class UpdateSubscriberOnlineFlagCommand extends EnvironmentWithSubscriber { FILE: apps/api/src/app/subscribers/usecases/update-subscriber-online-flag/update-subscriber-online-flag.usecase.ts class UpdateSubscriberOnlineFlag (line 8) | class UpdateSubscriberOnlineFlag { method constructor (line 9) | constructor( method getUpdatedFields (line 15) | private getUpdatedFields(isOnline: boolean) { method execute (line 22) | async execute(command: UpdateSubscriberOnlineFlagCommand) { FILE: apps/api/src/app/subscriptions/subscriptions.module.ts class SubscriptionsModule (line 12) | class SubscriptionsModule {} FILE: apps/api/src/app/subscriptions/usecases/create-subscription-preferences/create-subscription-preferences.command.ts class CreateSubscriptionPreferencesCommand (line 7) | class CreateSubscriptionPreferencesCommand extends EnvironmentWithUserCo... FILE: apps/api/src/app/subscriptions/usecases/create-subscription-preferences/create-subscription-preferences.usecase.ts type CreateSubscriptionPreferencesBatchCommand (line 21) | type CreateSubscriptionPreferencesBatchCommand = Omit< class CreateSubscriptionPreferencesUsecase (line 27) | class CreateSubscriptionPreferencesUsecase { method constructor (line 28) | constructor( method execute (line 37) | async execute(command: CreateSubscriptionPreferencesCommand): Promise<... method executeBatch (line 106) | async executeBatch( method buildPreferencesToCreate (line 160) | private async buildPreferencesToCreate( method getWorkflowPreferencesForBatch (line 224) | private async getWorkflowPreferencesForBatch( method getWorkflowPreferences (line 258) | private async getWorkflowPreferences( method findPreferenceFilterDefinition (line 291) | private findPreferenceFilterDefinition( FILE: apps/api/src/app/subscriptions/usecases/create-subscriptions/create-subscriptions.command.ts class TopicSubscriberIdentifier (line 8) | class TopicSubscriberIdentifier { class CreateSubscriptionsCommand (line 22) | class CreateSubscriptionsCommand extends EnvironmentWithUserCommand { FILE: apps/api/src/app/subscriptions/usecases/create-subscriptions/create-subscriptions.usecase.ts class CreateSubscriptionsUsecase (line 43) | class CreateSubscriptionsUsecase { method constructor (line 44) | constructor( method execute (line 59) | async execute(command: CreateSubscriptionsCommand): Promise | O... FILE: apps/api/src/app/support/support.controller.ts class SupportController (line 16) | class SupportController { method constructor (line 17) | constructor( method fetchUserOrganizations (line 24) | async fetchUserOrganizations(@Body() body: PlainCardRequestDto) { method createThread (line 30) | async createThread(@Body() body: CreateSupportThreadDto, @UserSession(... method mobileSetup (line 44) | async mobileSetup(@UserSession() user: UserSessionData) { FILE: apps/api/src/app/support/support.module.ts class SupportModule (line 21) | class SupportModule {} FILE: apps/api/src/app/support/usecases/create-thread.command.ts class CreateSupportThreadCommand (line 4) | class CreateSupportThreadCommand extends BaseCommand { FILE: apps/api/src/app/support/usecases/create-thread.usecase.ts class CreateSupportThreadUsecase (line 6) | class CreateSupportThreadUsecase { method constructor (line 7) | constructor(private supportService: SupportService) {} method execute (line 9) | async execute(command: CreateSupportThreadCommand) { FILE: apps/api/src/app/support/usecases/plain-cards.command.ts class PlainCardsCommand (line 5) | class PlainCardsCommand extends BaseCommand { FILE: apps/api/src/app/support/usecases/plain-cards.usecase.ts class PlainCardsUsecase (line 8) | class PlainCardsUsecase { method constructor (line 9) | constructor( method fetchCustomerDetails (line 13) | async fetchCustomerDetails(command: PlainCardsCommand) { FILE: apps/api/src/app/tenant/dtos/create-tenant-request.dto.ts class CreateTenantRequestDto (line 4) | class CreateTenantRequestDto implements ICreateTenantDto { FILE: apps/api/src/app/tenant/dtos/create-tenant-response.dto.ts class CreateTenantResponseDto (line 5) | class CreateTenantResponseDto { FILE: apps/api/src/app/tenant/dtos/get-tenant-response.dto.ts class GetTenantResponseDto (line 4) | class GetTenantResponseDto { FILE: apps/api/src/app/tenant/dtos/get-tenants-request.dto.ts constant LIMIT (line 3) | const LIMIT = { class GetTenantsRequestDto (line 8) | class GetTenantsRequestDto extends PaginationRequestDto(LIMIT.DEFAULT, L... FILE: apps/api/src/app/tenant/dtos/update-tenant-request.dto.ts class UpdateTenantRequestDto (line 5) | class UpdateTenantRequestDto implements IUpdateTenantDto { FILE: apps/api/src/app/tenant/dtos/update-tenant-response.dto.ts class UpdateTenantResponseDto (line 5) | class UpdateTenantResponseDto { FILE: apps/api/src/app/tenant/e2e/create-tenant.e2e.ts function assertValidationMessages (line 9) | function assertValidationMessages(e: AxiosError, field: string... function createTenant (line 86) | async function createTenant({ FILE: apps/api/src/app/tenant/e2e/delete-tenant.e2e.ts function deleteTenant (line 63) | async function deleteTenant({ session, identifier }: { session; identifi... FILE: apps/api/src/app/tenant/e2e/get-tenant.e2e.ts function getTenant (line 46) | async function getTenant({ session, identifier }: { session; identifier:... FILE: apps/api/src/app/tenant/e2e/get-tenants.e2e.ts function getTenants (line 102) | async function getTenants({ function timeout (line 124) | function timeout(ms) { FILE: apps/api/src/app/tenant/e2e/update-tenant.e2e.ts function updateTenant (line 137) | async function updateTenant({ FILE: apps/api/src/app/tenant/tenant.controller.ts class TenantController (line 65) | class TenantController { method constructor (line 66) | constructor( method listTenants (line 85) | async listTenants( method getTenantById (line 111) | async getTenantById( method createTenant (line 136) | async createTenant( method updateTenant (line 164) | async updateTenant( method removeTenant (line 197) | async removeTenant(@UserSession() user: UserSessionData, @Param('ident... method verifyTenantsApiAvailability (line 210) | private async verifyTenantsApiAvailability(user: UserSessionData) { FILE: apps/api/src/app/tenant/tenant.module.ts class TenantModule (line 13) | class TenantModule {} FILE: apps/api/src/app/tenant/usecases/delete-tenant/delete-tenant.command.ts class DeleteTenantCommand (line 4) | class DeleteTenantCommand extends EnvironmentWithUserCommand { FILE: apps/api/src/app/tenant/usecases/delete-tenant/delete-tenant.usecase.ts class DeleteTenant (line 9) | class DeleteTenant { method constructor (line 10) | constructor( method execute (line 15) | async execute(command: DeleteTenantCommand) { FILE: apps/api/src/app/tenant/usecases/get-tenants/get-tenants.command.ts class GetTenantsCommand (line 4) | class GetTenantsCommand extends EnvironmentCommand { FILE: apps/api/src/app/tenant/usecases/get-tenants/get-tenants.usecase.ts class GetTenants (line 6) | class GetTenants { method constructor (line 7) | constructor(private tenantRepository: TenantRepository) {} method execute (line 9) | async execute(command: GetTenantsCommand) { method getTenants (line 20) | private async getTenants(command: GetTenantsCommand) { FILE: apps/api/src/app/tenant/usecases/index.ts constant USE_CASES (line 5) | const USE_CASES = [CreateTenant, GetTenant, UpdateTenant, DeleteTenant, ... FILE: apps/api/src/app/testing/auth.controller.ts class TestApiAuthController (line 11) | class TestApiAuthController { method userRoute (line 14) | userRoute() { method userInaccessibleRoute (line 19) | userInaccessibleRoute() { method permissionRoute (line 26) | permissionRoute() { method noPermissionRoute (line 32) | noPermissionRoute() { method allPermissionsRoute (line 37) | allPermissionsRoute() { FILE: apps/api/src/app/testing/dtos/idempotency.dto.ts type IdempotencyBehaviorEnum (line 3) | enum IdempotencyBehaviorEnum { class IdempotencyTestingDto (line 9) | class IdempotencyTestingDto { class IdempotenceTestingResponse (line 17) | class IdempotenceTestingResponse { FILE: apps/api/src/app/testing/rate-limiting.controller.ts class TestApiRateLimitController (line 11) | class TestApiRateLimitController { method noCategoryNoCost (line 14) | noCategoryNoCost() { method noCategorySingleCost (line 21) | noCategorySingleCost() { method globalCategoryNoCost (line 28) | globalCategoryNoCost() { method globalCategorySingleCost (line 36) | globalCategorySingleCost() { method global (line 44) | global() { method triggerCategoryNoCost (line 51) | triggerCategoryNoCost() { method triggerCategorySingleCost (line 59) | triggerCategorySingleCost() { method triggerCategoryBulkCost (line 67) | triggerCategoryBulkCost() { class TestApiRateLimitBulkController (line 76) | class TestApiRateLimitBulkController { method noCategoryNoCostOverride (line 79) | noCategoryNoCostOverride() { method noCategorySingleCostOverride (line 86) | noCategorySingleCostOverride() { method globalCategoryNoCostOverride (line 93) | globalCategoryNoCostOverride() { FILE: apps/api/src/app/testing/testing.controller.ts class TestingController (line 11) | class TestingController { method productFeatureGet (line 15) | async productFeatureGet(): Promise<{ number: number }> { method resourceLimitingDefaultGet (line 23) | async resourceLimitingDefaultGet(): Promise<{ number: number }> { method resourceLimitingEventsGet (line 32) | async resourceLimitingEventsGet(): Promise<{ number: number }> { FILE: apps/api/src/app/testing/testing.module.ts class TestingModule (line 13) | class TestingModule {} FILE: apps/api/src/app/topics-v1/dtos/add-subscribers.dto.ts class AddSubscribersRequestDto (line 6) | class AddSubscribersRequestDto { FILE: apps/api/src/app/topics-v1/dtos/assignSubscriberToTopicDto.ts class FailedAssignmentsDto (line 4) | class FailedAssignmentsDto { class AssignSubscriberToTopicDto (line 13) | class AssignSubscriberToTopicDto { FILE: apps/api/src/app/topics-v1/dtos/create-topic.dto.ts class CreateTopicResponseDto (line 4) | class CreateTopicResponseDto { class CreateTopicRequestDto (line 17) | class CreateTopicRequestDto { FILE: apps/api/src/app/topics-v1/dtos/filter-topics.dto.ts class FilterTopicsRequestDto (line 6) | class FilterTopicsRequestDto { class FilterTopicsResponseDto (line 48) | class FilterTopicsResponseDto { FILE: apps/api/src/app/topics-v1/dtos/get-topic.dto.ts class GetTopicResponseDto (line 3) | class GetTopicResponseDto extends TopicDto {} FILE: apps/api/src/app/topics-v1/dtos/remove-subscribers.dto.ts class RemoveSubscribersRequestDto (line 6) | class RemoveSubscribersRequestDto { FILE: apps/api/src/app/topics-v1/dtos/rename-topic.dto.ts class RenameTopicResponseDto (line 6) | class RenameTopicResponseDto extends TopicDto {} class RenameTopicRequestDto (line 8) | class RenameTopicRequestDto { FILE: apps/api/src/app/topics-v1/dtos/topic-subscriber.dto.ts class TopicSubscriberDto (line 4) | class TopicSubscriberDto implements ITopicSubscriber { FILE: apps/api/src/app/topics-v1/dtos/topic.dto.ts class TopicDto (line 4) | class TopicDto { FILE: apps/api/src/app/topics-v1/topics-v1.controller.ts class TopicsV1Controller (line 52) | class TopicsV1Controller { method constructor (line 53) | constructor( method createTopic (line 69) | async createTopic( method assign (line 98) | async assign( method getTopicSubscriber (line 131) | async getTopicSubscriber( method removeSubscribers (line 155) | async removeSubscribers( method listTopics (line 182) | async listTopics( method deleteTopic (line 207) | async deleteTopic(@UserSession() user: UserSessionData, @Param('topicK... method getTopic (line 223) | async getTopic( method renameTopic (line 243) | async renameTopic( FILE: apps/api/src/app/topics-v1/topics-v1.module.ts class TopicsV1Module (line 17) | class TopicsV1Module {} FILE: apps/api/src/app/topics-v1/use-cases/add-subscribers/add-subscribers.command.ts class AddSubscribersCommand (line 5) | class AddSubscribersCommand extends EnvironmentWithUserCommand { FILE: apps/api/src/app/topics-v1/use-cases/add-subscribers/add-subscribers.use-case.ts type ISubscriberGroups (line 10) | interface ISubscriberGroups { class AddSubscribersUseCase (line 17) | class AddSubscribersUseCase { method constructor (line 18) | constructor( method execute (line 25) | async execute(command: AddSubscribersCommand): Promise { FILE: apps/api/src/app/topics-v1/use-cases/filter-topics/filter-topics.command.ts class FilterTopicsCommand (line 5) | class FilterTopicsCommand extends EnvironmentCommand { FILE: apps/api/src/app/topics-v1/use-cases/filter-topics/filter-topics.use-case.ts constant DEFAULT_TOPIC_LIMIT (line 7) | const DEFAULT_TOPIC_LIMIT = 10; class FilterTopicsUseCase (line 10) | class FilterTopicsUseCase { method constructor (line 11) | constructor(private topicRepository: TopicRepository) {} method execute (line 13) | async execute(command: FilterTopicsCommand) { method mapFromCommandToEntity (line 40) | private mapFromCommandToEntity( method mapFromEntityToDto (line 51) | private mapFromEntityToDto(topic: TopicEntity & { subscribers: Externa... FILE: apps/api/src/app/topics-v1/use-cases/get-topic-subscriber/get-topic-subscriber.command.ts class GetTopicSubscriberCommand (line 5) | class GetTopicSubscriberCommand extends EnvironmentCommand { FILE: apps/api/src/app/topics-v1/use-cases/get-topic-subscriber/get-topic-subscriber.use-case.ts class GetTopicSubscriberUseCase (line 7) | class GetTopicSubscriberUseCase { method constructor (line 8) | constructor(private topicSubscribersRepository: TopicSubscribersReposi... method execute (line 10) | async execute(command: GetTopicSubscriberCommand): Promise { FILE: apps/api/src/app/topics-v1/use-cases/rename-topic/rename-topic.command.ts class RenameTopicCommand (line 5) | class RenameTopicCommand extends EnvironmentCommand { FILE: apps/api/src/app/topics-v1/use-cases/rename-topic/rename-topic.use-case.ts class RenameTopicUseCase (line 9) | class RenameTopicUseCase { method constructor (line 10) | constructor( method execute (line 15) | async execute(command: RenameTopicCommand): Promise { method mapToQuery (line 27) | private mapToQuery(domainEntity: RenameTopicCommand): Pick { FILE: apps/api/src/app/topics-v2/dtos/delete-topic-response.dto.ts class DeleteTopicResponseDto (line 3) | class DeleteTopicResponseDto { FILE: apps/api/src/app/topics-v2/dtos/delete-topic-subscriptions-response.dto.ts class TopicDto (line 4) | class TopicDto { class SubscriberDto (line 25) | class SubscriberDto { class SubscriptionDto (line 81) | class SubscriptionDto { class SubscriptionsDeleteErrorDto (line 130) | class SubscriptionsDeleteErrorDto { class MetaDto (line 150) | class MetaDto { class DeleteTopicSubscriptionsResponseDto (line 170) | class DeleteTopicSubscriptionsResponseDto { FILE: apps/api/src/app/topics-v2/dtos/delete-topic-subscriptions.dto.ts class DeleteTopicSubscriberIdentifierDto (line 5) | class DeleteTopicSubscriberIdentifierDto { class DeleteTopicSubscriptionsRequestDto (line 27) | class DeleteTopicSubscriptionsRequestDto { FILE: apps/api/src/app/topics-v2/dtos/list-subscriber-subscriptions-query.dto.ts class ListSubscriberSubscriptionsQueryDto (line 7) | class ListSubscriberSubscriptionsQueryDto extends CursorPaginationQueryD... FILE: apps/api/src/app/topics-v2/dtos/list-topic-subscriptions-query.dto.ts class ListTopicSubscriptionsQueryDto (line 7) | class ListTopicSubscriptionsQueryDto extends CursorPaginationQueryDto { FILE: apps/api/src/app/topics-v2/usecases/get-topic/get-topic.command.ts class GetTopicCommand (line 4) | class GetTopicCommand extends EnvironmentCommand { FILE: apps/api/src/app/topics-v2/usecases/get-topic/get-topic.usecase.ts class GetTopicUseCase (line 9) | class GetTopicUseCase { method constructor (line 10) | constructor(private topicRepository: TopicRepository) {} method execute (line 13) | async execute(command: GetTopicCommand): Promise { FILE: apps/api/src/app/topics-v2/usecases/index.ts constant USE_CASES (line 11) | const USE_CASES = [ FILE: apps/api/src/app/topics-v2/usecases/list-subscriber-subscriptions/list-subscriber-subscriptions.command.ts class ListSubscriberSubscriptionsCommand (line 4) | class ListSubscriberSubscriptionsCommand extends EnvironmentCommand { FILE: apps/api/src/app/topics-v2/usecases/list-subscriber-subscriptions/list-subscriber-subscriptions.usecase.ts class ListSubscriberSubscriptionsUseCase (line 11) | class ListSubscriberSubscriptionsUseCase { method constructor (line 12) | constructor( method execute (line 18) | async execute(command: ListSubscriberSubscriptionsCommand): Promise { FILE: apps/api/src/app/topics-v2/usecases/upsert-topic/upsert-topic.command.ts class UpsertTopicCommand (line 4) | class UpsertTopicCommand extends EnvironmentCommand { FILE: apps/api/src/app/topics-v2/usecases/upsert-topic/upsert-topic.usecase.ts class UpsertTopicUseCase (line 10) | class UpsertTopicUseCase { method constructor (line 11) | constructor(private topicRepository: TopicRepository) {} method execute (line 14) | async execute(command: UpsertTopicCommand): Promise<{ topic: TopicResp... method isValidTopicKey (line 62) | private isValidTopicKey(key: string): void { method isDuplicateKeyError (line 72) | private isDuplicateKeyError(error: unknown): boolean { FILE: apps/api/src/app/user/dtos/change-profile-email.dto.ts class ChangeProfileEmailDto (line 3) | class ChangeProfileEmailDto { FILE: apps/api/src/app/user/dtos/update-profile-request.dto.ts class UpdateProfileRequestDto (line 9) | class UpdateProfileRequestDto implements IUpdateUserProfile { FILE: apps/api/src/app/user/dtos/user-onboarding-request.dto.ts class UserOnboardingRequestDto (line 3) | class UserOnboardingRequestDto { FILE: apps/api/src/app/user/dtos/user-onboarding-tour-request.dto.ts class UserOnboardingTourRequestDto (line 3) | class UserOnboardingTourRequestDto { FILE: apps/api/src/app/user/dtos/user-response.dto.ts class ServicesHashesDto (line 4) | class ServicesHashesDto { class UserResponseDto (line 9) | class UserResponseDto implements IUserEntity { FILE: apps/api/src/app/user/usecases/base-user-profile.usecase.ts class BaseUserProfileUsecase (line 4) | class BaseUserProfileUsecase { method mapToDto (line 5) | protected mapToDto(user: UserEntity): UserResponseDto { FILE: apps/api/src/app/user/usecases/create-user/create-user.command.ts class CreateUserCommand (line 4) | class CreateUserCommand extends BaseCommand { FILE: apps/api/src/app/user/usecases/create-user/create-user.usecase.ts class CreateUser (line 6) | class CreateUser { method constructor (line 7) | constructor(private readonly userRepository: UserRepository) {} method execute (line 9) | async execute(data: CreateUserCommand): Promise { FILE: apps/api/src/app/user/usecases/get-my-profile/get-my-profile.dto.ts class GetMyProfileCommand (line 3) | class GetMyProfileCommand extends AuthenticatedCommand {} FILE: apps/api/src/app/user/usecases/get-my-profile/get-my-profile.usecase.ts class GetMyProfileUsecase (line 9) | class GetMyProfileUsecase extends BaseUserProfileUsecase { method constructor (line 10) | constructor( method execute (line 18) | async execute(command: GetMyProfileCommand): Promise { FILE: apps/api/src/app/user/usecases/index.ts constant USE_CASES (line 8) | const USE_CASES = [ FILE: apps/api/src/app/user/usecases/update-name-and-profile-picture/update-name-and-profile-picture.command.ts class UpdateNameAndProfilePictureCommand (line 4) | class UpdateNameAndProfilePictureCommand extends EnvironmentWithUserComm... FILE: apps/api/src/app/user/usecases/update-name-and-profile-picture/update-name-and-profile-picture.usecase.ts class UpdateNameAndProfilePicture (line 9) | class UpdateNameAndProfilePicture extends BaseUserProfileUsecase { method constructor (line 10) | constructor( method execute (line 17) | async execute(command: UpdateNameAndProfilePictureCommand) { FILE: apps/api/src/app/user/usecases/update-on-boarding-tour/update-on-boarding-tour.command.ts class UpdateOnBoardingTourCommand (line 4) | class UpdateOnBoardingTourCommand extends AuthenticatedCommand { FILE: apps/api/src/app/user/usecases/update-on-boarding-tour/update-on-boarding-tour.usecase.ts class UpdateOnBoardingTourUsecase (line 9) | class UpdateOnBoardingTourUsecase extends BaseUserProfileUsecase { method constructor (line 10) | constructor( method execute (line 17) | async execute(command: UpdateOnBoardingTourCommand): Promise { FILE: apps/api/src/app/widgets/usecases/get-notifications-feed/get-notifications-feed.command.ts class GetNotificationsFeedCommand (line 6) | class GetNotificationsFeedCommand extends EnvironmentWithSubscriber { FILE: apps/api/src/app/widgets/usecases/get-notifications-feed/get-notifications-feed.usecase.ts class GetNotificationsFeed (line 16) | class GetNotificationsFeed { method constructor (line 17) | constructor( method getPayloadObject (line 23) | private getPayloadObject(payload?: string): object | undefined { method execute (line 36) | async execute(command: GetNotificationsFeedCommand): Promise { FILE: apps/api/src/app/widgets/usecases/mark-message-as-by-mark/mark-message-as-by-mark.command.ts class MarkMessageAsByMarkCommand (line 5) | class MarkMessageAsByMarkCommand extends EnvironmentWithSubscriber { FILE: apps/api/src/app/widgets/usecases/mark-message-as-by-mark/mark-message-as-by-mark.usecase.ts class MarkMessageAsByMark (line 26) | class MarkMessageAsByMark { method constructor (line 27) | constructor( method execute (line 37) | async execute(command: MarkMessageAsByMarkCommand): Promise { method prepareTrace (line 118) | private prepareTrace(messages: MessageEntity[], eventType: EventType, ... method updateServices (line 148) | private async updateServices(command: MarkMessageAsCommand, subscriber... method updateSocketCount (line 160) | private updateSocketCount(subscriber: SubscriberEntity, mark: MarkEnum) { method sendWebhookForMessages (line 175) | private async sendWebhookForMessages( method fetchSubscriber (line 204) | private async fetchSubscriber({ FILE: apps/api/src/app/widgets/usecases/remove-message/remove-message.command.ts class RemoveMessageCommand (line 4) | class RemoveMessageCommand extends EnvironmentWithSubscriber { FILE: apps/api/src/app/widgets/usecases/remove-message/remove-message.usecase.ts class RemoveMessage (line 16) | class RemoveMessage { method constructor (line 17) | constructor( method execute (line 25) | async execute(command: RemoveMessageCommand): Promise { method updateServices (line 58) | private async updateServices(command: RemoveMessageCommand, subscriber... method updateSocketCount (line 68) | private async updateSocketCount(subscriber: SubscriberEntity, mark: Ma... FILE: apps/api/src/app/widgets/usecases/remove-messages-bulk/remove-messages-bulk.command.ts class RemoveMessagesBulkCommand (line 4) | class RemoveMessagesBulkCommand extends EnvironmentWithSubscriber { FILE: apps/api/src/app/widgets/usecases/remove-messages-bulk/remove-messages-bulk.usecase.ts class RemoveMessagesBulk (line 16) | class RemoveMessagesBulk { method constructor (line 17) | constructor( method execute (line 25) | async execute(command: RemoveMessagesBulkCommand): Promise { method updateServices (line 58) | private async updateServices(subscriber: SubscriberEntity, marked: Mar... FILE: apps/api/src/app/widgets/usecases/remove-messages/remove-all-messages.command.ts class RemoveAllMessagesCommand (line 4) | class RemoveAllMessagesCommand extends EnvironmentWithSubscriber { FILE: apps/api/src/app/widgets/usecases/remove-messages/remove-all-messages.usecase.ts class RemoveAllMessages (line 23) | class RemoveAllMessages { method constructor (line 24) | constructor( method execute (line 33) | async execute(command: RemoveAllMessagesCommand): Promise { method updateServices (line 85) | private async updateServices(command: RemoveAllMessagesCommand, subscr... method updateSocketCount (line 89) | private async updateSocketCount(subscriber: SubscriberEntity, mark: st... FILE: apps/api/src/app/widgets/widgets.controller.ts class WidgetsController (line 83) | class WidgetsController { method constructor (line 84) | constructor( method sessionInitialize (line 104) | async sessionInitialize(@Body() body: SessionInitializeRequestDto): Pr... method getNotificationsFeed (line 125) | async getNotificationsFeed( method getUnseenCount (line 150) | async getUnseenCount( method getUnreadCount (line 173) | async getUnreadCount( method getCount (line 196) | async getCount( method markMessageAs (line 228) | async markMessageAs( method markMessagesAs (line 256) | async markMessagesAs( method removeMessage (line 280) | async removeMessage( method removeAllMessages (line 305) | async removeAllMessages( method removeMessagesBulk (line 325) | async removeMessagesBulk( method markAllUnreadAsRead (line 344) | async markAllUnreadAsRead( method markAllUnseenAsSeen (line 366) | async markAllUnseenAsSeen( method markActionAsSeen (line 385) | async markActionAsSeen( method getOrganizationData (line 406) | async getOrganizationData( method getSubscriberPreference (line 420) | async getSubscriberPreference(@SubscriberSession() subscriberSession: ... method getSubscriberPreferenceByLevel (line 434) | async getSubscriberPreferenceByLevel( method updateSubscriberPreference (line 451) | async updateSubscriberPreference( method updateSubscriberGlobalPreference (line 494) | async updateSubscriberGlobalPreference( method logUsage (line 525) | async logUsage( method toArray (line 540) | private toArray(param: string[] | string | undefined): string[] | unde... FILE: apps/api/src/app/widgets/widgets.module.ts class WidgetsModule (line 24) | class WidgetsModule {} FILE: apps/api/src/app/workflow-overrides/dtos/create-workflow-override-request.dto.ts class CreateWorkflowOverrideRequestDto (line 8) | class CreateWorkflowOverrideRequestDto implements ICreateWorkflowOverrid... FILE: apps/api/src/app/workflow-overrides/dtos/create-workflow-override-response.dto.ts class CreateWorkflowOverrideResponseDto (line 4) | class CreateWorkflowOverrideResponseDto FILE: apps/api/src/app/workflow-overrides/dtos/get-workflow-override-response.dto.ts class GetWorkflowOverrideResponseDto (line 4) | class GetWorkflowOverrideResponseDto extends OverrideResponseDto impleme... FILE: apps/api/src/app/workflow-overrides/dtos/get-workflow-overrides-request.dto.ts class GetWorkflowOverridesRequestDto (line 3) | class GetWorkflowOverridesRequestDto extends PaginationRequestDto(10, 10... FILE: apps/api/src/app/workflow-overrides/dtos/get-workflow-overrides-response.dto.ts class GetWorkflowOverridesResponseDto (line 5) | class GetWorkflowOverridesResponseDto implements IWorkflowOverridesRespo... FILE: apps/api/src/app/workflow-overrides/dtos/shared.ts class OverrideResponseDto (line 11) | class OverrideResponseDto implements IWorkflowOverride { FILE: apps/api/src/app/workflow-overrides/dtos/update-workflow-override-request.dto.ts class UpdateWorkflowOverrideRequestDto (line 8) | class UpdateWorkflowOverrideRequestDto implements IUpdateWorkflowOverrid... FILE: apps/api/src/app/workflow-overrides/dtos/update-workflow-override-response.dto.ts class UpdateWorkflowOverrideResponseDto (line 4) | class UpdateWorkflowOverrideResponseDto FILE: apps/api/src/app/workflow-overrides/e2e/update-workflow-override.e2e.ts function initializeOverrides (line 137) | async function initializeOverrides() { FILE: apps/api/src/app/workflow-overrides/usecases/create-workflow-override/create-workflow-override.command.ts class CreateWorkflowOverrideCommand (line 6) | class CreateWorkflowOverrideCommand extends EnvironmentWithUserCommand { FILE: apps/api/src/app/workflow-overrides/usecases/create-workflow-override/create-workflow-override.usecase.ts class CreateWorkflowOverride (line 14) | class CreateWorkflowOverride { method constructor (line 15) | constructor( method execute (line 21) | async execute(command: CreateWorkflowOverrideCommand): Promise { FILE: apps/api/src/app/workflow-overrides/usecases/get-workflow-override-by-id/get-workflow-override-by-id.command.ts class GetWorkflowOverrideByIdCommand (line 5) | class GetWorkflowOverrideByIdCommand extends EnvironmentWithUserCommand { FILE: apps/api/src/app/workflow-overrides/usecases/get-workflow-override-by-id/get-workflow-override-by-id.usecase.ts class GetWorkflowOverrideById (line 9) | class GetWorkflowOverrideById { method constructor (line 10) | constructor(private workflowOverrideRepository: WorkflowOverrideReposi... method execute (line 12) | async execute(command: GetWorkflowOverrideByIdCommand): Promise { method deleteRelatedEntities (line 60) | private async deleteRelatedEntities(command: DeleteWorkflowCommand, wo... method deleteTranslationGroup (line 122) | private async deleteTranslationGroup(command: DeleteWorkflowCommand, s... FILE: apps/api/src/app/workflows-v1/usecases/get-active-integrations-status/get-active-integrations-status.command.ts class GetActiveIntegrationsStatusCommand (line 7) | class GetActiveIntegrationsStatusCommand extends EnvironmentWithUserComm... FILE: apps/api/src/app/workflows-v1/usecases/get-active-integrations-status/get-active-integrations-status.usecase.ts class GetActiveIntegrationsStatus (line 25) | class GetActiveIntegrationsStatus { method constructor (line 26) | constructor( method execute (line 31) | async execute(command: GetActiveIntegrationsStatusCommand): Promise = { class TestHttpEndpointUsecase (line 34) | class TestHttpEndpointUsecase { method constructor (line 37) | constructor( method execute (line 45) | async execute(command: TestHttpEndpointCommand): Promise = {}): In... function buildDigestStep (line 55) | function buildDigestStep(overrides: Partial = {}): ... function buildEmailStep (line 67) | function buildEmailStep(overrides: Partial = {}): Em... function buildWorkflow (line 81) | function buildWorkflow(overrides: Partial = {}): Crea... function buildHeaders (line 98) | function buildHeaders(overrideEnv?: string): HeadersInit { function createWorkflowAndExpectError (line 105) | async function createWorkflowAndExpectError( function createWorkflowAndExpectValidationError (line 118) | async function createWorkflowAndExpectValidationError( function createWorkflow (line 131) | async function createWorkflow(apiClient: Novu, createWorkflowDto: Create... function createV0Workflow (line 541) | async function createV0Workflow(id: number) { function searchWorkflowsV0 (line 551) | async function searchWorkflowsV0(workflowId?: string) { function getV2WorkflowIdAndExternalId (line 555) | async function getV2WorkflowIdAndExternalId(prefix: string) { function getWorkflow (line 1260) | async function getWorkflow(id: string): Promise { function patchWorkflow (line 1266) | async function patchWorkflow(workflowId: string, active: boolean) { function updateWorkflow (line 1277) | async function updateWorkflow(id: string, workflow: UpdateWorkflowDto): ... function syncWorkflow (line 1283) | async function syncWorkflow(devWorkflow: WorkflowResponseDto, prodEnviro... function getStepData (line 1294) | async function getStepData(workflowId: string, stepId: string, envId?: s... function updateWorkflowAndValidate (line 1302) | async function updateWorkflowAndValidate( function create10Workflows (line 1330) | async function create10Workflows(prefix: string = 'Test Workflow') { function createWorkflowAndValidate (line 1336) | async function createWorkflowAndValidate(name: string = 'Test Workflow')... function getWorkflowAndValidate (line 1344) | async function getWorkflowAndValidate(workflowCreated: WorkflowResponseD... function listWorkflows (line 1349) | async function listWorkflows(query: string, offset: number, limit: numbe... function getAllAndValidate (line 1353) | async function getAllAndValidate({ function stringify (line 1375) | function stringify(obj: unknown) { function mapResponseToUpdateDto (line 1379) | function mapResponseToUpdateDto(workflowResponse: WorkflowResponseDto): ... function assertWorkflowResponseBodyData (line 1394) | function assertWorkflowResponseBodyData(workflowResponseDto: WorkflowRes... function assertStepResponse (line 1405) | function assertStepResponse(workflowResponseDto: WorkflowResponseDto, cr... function validateCreateWorkflowResponse (line 1416) | function validateCreateWorkflowResponse( function getJsonSchemaPrimitiveProperties (line 1424) | function getJsonSchemaPrimitiveProperties(schema: JSONSchemaDto, prefix:... function isJSONSchemaDto (line 1461) | function isJSONSchemaDto(obj: any): obj is JSONSchemaDto { function isPrimitiveType (line 1466) | function isPrimitiveType(schema: JSONSchemaDto): boolean { FILE: apps/api/src/app/workflows-v2/workflow.controller.ts class WorkflowController (line 81) | class WorkflowController { method constructor (line 82) | constructor( method create (line 105) | async create( method sync (line 134) | async sync( method update (line 157) | async update( method normalizeSteps (line 176) | private normalizeSteps(steps: StepUpsertDto[]): UpsertStepDataCommand[] { method getWorkflow (line 197) | async getWorkflow( method removeWorkflow (line 220) | async removeWorkflow( method searchWorkflows (line 243) | async searchWorkflows( method duplicateWorkflow (line 271) | async duplicateWorkflow( method generatePreview (line 296) | async generatePreview( method testHttpEndpoint (line 325) | async testHttpEndpoint( method getWorkflowStepData (line 348) | async getWorkflowStepData( method patchWorkflow (line 368) | async patchWorkflow( method getWorkflowTestData (line 387) | async getWorkflowTestData( FILE: apps/api/src/app/workflows-v2/workflow.module.ts constant DAL_REPOSITORIES (line 49) | const DAL_REPOSITORIES = [CommunityOrganizationRepository]; constant MODULES (line 51) | const MODULES = [ class WorkflowModule (line 100) | class WorkflowModule implements NestModule { method configure (line 101) | configure(consumer: MiddlewareConsumer): MiddlewareConsumer | void {} FILE: apps/api/src/bootstrap.ts class BootstrapOptions (line 41) | class BootstrapOptions { function bootstrap (line 45) | async function bootstrap( FILE: apps/api/src/config/cors.config.ts constant ALLOWED_ORIGINS_REGEX (line 4) | const ALLOWED_ORIGINS_REGEX = new RegExp(process.env.FRONT_BASE_URL || ''); function enableWildcard (line 38) | function enableWildcard(req: Request): boolean { function isBetterAuthRoute (line 46) | function isBetterAuthRoute(url: string): boolean { function isWidgetRoute (line 50) | function isWidgetRoute(url: string): boolean { function isInboxRoute (line 54) | function isInboxRoute(url: string): boolean { function isBlueprintRoute (line 58) | function isBlueprintRoute(url: string): boolean { function isDevelopmentEnvironment (line 62) | function isDevelopmentEnvironment(): boolean { function origin (line 66) | function origin(req: Request): string { FILE: apps/api/src/config/env.config.ts constant CONTEXT_PATH (line 7) | const CONTEXT_PATH = getContextPath(NovuComponentEnum.API); FILE: apps/api/src/config/env.validators.ts function validateEnv (line 4) | function validateEnv() { type ValidatedEnv (line 8) | type ValidatedEnv = StringifyEnv>; function getFeatureFlagValidator (line 11) | function getFeatureFlagValidator(key: FeatureFlagsKeysEnum): ValidatorSp... FILE: apps/api/src/error-dto.ts class ErrorDto (line 4) | class ErrorDto { class PayloadValidationErrorDto (line 71) | class PayloadValidationErrorDto { class PayloadValidationExceptionDto (line 117) | class PayloadValidationExceptionDto extends ErrorDto { class ValidationErrorDto (line 155) | class ValidationErrorDto extends ErrorDto { FILE: apps/api/src/exception-filter.ts constant ERROR_MSG_500 (line 14) | const ERROR_MSG_500 = `Internal server error, contact support and provid... class ValidationPipeError (line 16) | class ValidationPipeError { class AllExceptionsFilter (line 20) | class AllExceptionsFilter implements ExceptionFilter { method constructor (line 21) | constructor( method catch (line 25) | async catch(exception: unknown, host: ArgumentsHost) { method createAnalyticsLog (line 45) | private async createAnalyticsLog( method shouldRun (line 72) | private async shouldRun(ctx: HttpArgumentsHost): Promise { method logError (line 83) | private logError(errorDto: ErrorDto, exception: unknown) { method buildErrorDto (line 96) | private buildErrorDto( method buildErrorResponse (line 111) | private buildErrorResponse(exception: unknown, request: RequestWithReq... method isPayloadTooLargeError (line 137) | private isPayloadTooLargeError(exception: unknown) { method isBadRequestWithMultipleExceptions (line 141) | private isBadRequestWithMultipleExceptions(exception: unknown): except... method buildA5xxError (line 151) | private buildA5xxError(request: RequestWithReqId, exception: unknown) { method handleOtherHttpExceptions (line 160) | private handleOtherHttpExceptions(exception: HttpException, request: R... method buildMsgAndContextForHttpError (line 168) | private buildMsgAndContextForHttpError(response: string | object | { m... method handleCommandValidation (line 185) | private handleCommandValidation( method getUuid (line 194) | private getUuid(exception: unknown) { method handleZod (line 205) | private handleZod(exception: ZodError, request: RequestWithReqId): Err... method handleValidationPipeValidation (line 216) | private handleValidationPipeValidation(exception: ValidationPipeError,... method handlerThrottlerException (line 222) | private handlerThrottlerException(request: RequestWithReqId) { function safeHasProperty (line 227) | function safeHasProperty(obj: unknown, property: string): boolean { FILE: apps/api/src/types/env.d.ts type ApiRateLimitEnvVars (line 4) | type ApiRateLimitEnvVars = Record; type TypedEnvVars (line 6) | type TypedEnvVars = ValidatedEnv & ApiRateLimitEnvVars; type ProcessEnv (line 10) | interface ProcessEnv extends TypedEnvVars { FILE: apps/api/src/utils/payload-sanitizer.ts constant SENSITIVE_KEYS (line 1) | const SENSITIVE_KEYS = ['password', 'token', 'secret', 'apikey', 'email'... constant MAX_PAYLOAD_SIZE (line 2) | const MAX_PAYLOAD_SIZE = 51200; function sanitizePayload (line 4) | function sanitizePayload(payload: Record): string { function retryWithBackoff (line 19) | async function retryWithBackoff(fn: () => Promise, maxAttempts = 3... FILE: apps/dashboard/src/api/activity.ts type ActivityFilters (line 4) | type ActivityFilters = { type ActivityResponse (line 17) | interface ActivityResponse { type StepRunDto (line 25) | interface StepRunDto { type GetWorkflowRunsDto (line 38) | interface GetWorkflowRunsDto { type GetWorkflowRunResponse (line 59) | type GetWorkflowRunResponse = GetWorkflowRunsDto & { type GetWorkflowRunsResponseDto (line 64) | interface GetWorkflowRunsResponseDto { function mapWorkflowRunToActivity (line 70) | function mapWorkflowRunToActivity(workflowRun: GetWorkflowRunResponse | ... function mapWorkflowRunsToActivity (line 170) | function mapWorkflowRunsToActivity(workflowRun: GetWorkflowRunsDto): IAc... function getActivityList (line 181) | function getActivityList({ type StepRunStatus (line 266) | type StepRunStatus = type GetWorkflowRunResponseDto (line 277) | type GetWorkflowRunResponseDto = { function getWorkflowRunsList (line 281) | async function getWorkflowRunsList({ function getNotification (line 380) | async function getNotification(notificationId: string, environment: IEnv... function getWorkflowRun (line 388) | async function getWorkflowRun(workflowRunId: string, environment: IEnvir... type WorkflowRunsCountPeriod (line 396) | type WorkflowRunsCountPeriod = { function getWorkflowRunsCount (line 401) | async function getWorkflowRunsCount({ type ReportTypeEnum (line 469) | enum ReportTypeEnum { type ChartDataPoint (line 484) | type ChartDataPoint = { type InteractionTrendDataPoint (line 493) | type InteractionTrendDataPoint = { type WorkflowVolumeDataPoint (line 501) | type WorkflowVolumeDataPoint = { type ProviderVolumeDataPoint (line 506) | type ProviderVolumeDataPoint = { type MessagesDeliveredDataPoint (line 511) | type MessagesDeliveredDataPoint = { type ActiveSubscribersDataPoint (line 516) | type ActiveSubscribersDataPoint = { type AvgMessagesPerSubscriberDataPoint (line 521) | type AvgMessagesPerSubscriberDataPoint = { type WorkflowRunsMetricDataPoint (line 526) | type WorkflowRunsMetricDataPoint = { type TotalInteractionsDataPoint (line 531) | type TotalInteractionsDataPoint = { type WorkflowRunsTrendDataPoint (line 536) | type WorkflowRunsTrendDataPoint = { type ActiveSubscribersTrendDataPoint (line 543) | type ActiveSubscribersTrendDataPoint = { type WorkflowRunsCountDataPoint (line 548) | type WorkflowRunsCountDataPoint = { type GetChartsRequest (line 552) | type GetChartsRequest = { type GetChartsResponse (line 564) | type GetChartsResponse = { function getCharts (line 582) | async function getCharts({ FILE: apps/dashboard/src/api/ai.ts type GenerateWorkflowRequest (line 11) | type GenerateWorkflowRequest = { type AiMessage (line 15) | type AiMessage = { type ChannelRecommendation (line 21) | type ChannelRecommendation = { type WorkflowReasoning (line 27) | type WorkflowReasoning = { type GenerateWorkflowResponse (line 33) | type GenerateWorkflowResponse = { type AiChatSnapshotRef (line 40) | type AiChatSnapshotRef = { type AiChatResponseDto (line 46) | type AiChatResponseDto = { function createAiChat (line 65) | async function createAiChat({ function fetchLatestChat (line 82) | async function fetchLatestChat({ function fetchChat (line 99) | async function fetchChat({ function getChatStreamUrl (line 111) | function getChatStreamUrl(): string { function keepAiChanges (line 115) | async function keepAiChanges({ function revertMessage (line 132) | async function revertMessage({ function cancelStream (line 149) | async function cancelStream({ FILE: apps/dashboard/src/api/api.client.ts class NovuApiError (line 15) | class NovuApiError extends Error { method constructor (line 16) | constructor( type HttpMethod (line 25) | type HttpMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; type RequestOptions (line 90) | type RequestOptions = { body?: unknown; environment?: IEnvironment; sign... function parseErrorMessage (line 114) | function parseErrorMessage(errorData: any): string { function getApiBaseUrl (line 138) | function getApiBaseUrl(): string { FILE: apps/dashboard/src/api/billing.ts function getSubscription (line 4) | async function getSubscription({ environment }: { environment: IEnvironm... FILE: apps/dashboard/src/api/environment-variables.ts type EnvironmentVariableValueDto (line 3) | type EnvironmentVariableValueDto = { type EnvironmentVariableResponseDto (line 8) | type EnvironmentVariableResponseDto = { type CreateEnvironmentVariableDto (line 20) | type CreateEnvironmentVariableDto = { type UpdateEnvironmentVariableDto (line 28) | type UpdateEnvironmentVariableDto = { type GetEnvironmentVariableUsageResponse (line 84) | type GetEnvironmentVariableUsageResponse = { FILE: apps/dashboard/src/api/environments.ts type IDiffSummary (line 4) | interface IDiffSummary { type IUserInfo (line 11) | interface IUserInfo { type IResourceInfo (line 18) | interface IResourceInfo { type IResourceDependency (line 25) | interface IResourceDependency { type IResourceDiffResult (line 33) | interface IResourceDiffResult { type IEnvironmentDiffResponse (line 42) | interface IEnvironmentDiffResponse { type IEnvironmentPublishResponse (line 53) | interface IEnvironmentPublishResponse { type ResourceToPublish (line 86) | type ResourceToPublish = { function getEnvironments (line 91) | async function getEnvironments() { function updateEnvironment (line 96) | async function updateEnvironment({ function updateBridgeUrl (line 108) | async function updateBridgeUrl({ environment, url }: { environment: IEnv... function getApiKeys (line 112) | async function getApiKeys({ environment }: { environment: IEnvironment }... function getTags (line 118) | async function getTags({ environment }: { environment: IEnvironment }): ... function createEnvironment (line 123) | async function createEnvironment(payload: { name: string; color: string ... function deleteEnvironment (line 129) | async function deleteEnvironment({ environment }: { environment: IEnviro... function regenerateApiKeys (line 133) | async function regenerateApiKeys({ environment }: { environment: IEnviro... function diffEnvironments (line 137) | async function diffEnvironments({ function publishEnvironments (line 150) | async function publishEnvironments({ FILE: apps/dashboard/src/api/integrations.ts type CreateIntegrationData (line 4) | type CreateIntegrationData = { type CheckIntegrationResponseEnum (line 16) | enum CheckIntegrationResponseEnum { type UpdateIntegrationData (line 23) | type UpdateIntegrationData = { function getIntegrations (line 33) | async function getIntegrations({ environment }: { environment: IEnvironm... function deleteIntegration (line 41) | async function deleteIntegration({ id, environment }: { id: string; envi... function createIntegration (line 47) | async function createIntegration(data: CreateIntegrationData, environmen... function setAsPrimaryIntegration (line 54) | async function setAsPrimaryIntegration(integrationId: string, environmen... type AutoConfigureIntegrationResponse (line 60) | type AutoConfigureIntegrationResponse = { function autoConfigureIntegration (line 66) | async function autoConfigureIntegration(integrationId: string, environme... function updateIntegration (line 77) | async function updateIntegration(integrationId: string, data: UpdateInte... FILE: apps/dashboard/src/api/layouts.ts type WorkflowInfo (line 11) | type WorkflowInfo = { type GetLayoutUsageResponse (line 16) | type GetLayoutUsageResponse = { FILE: apps/dashboard/src/api/logs.ts type GetRequestLogsParams (line 5) | interface GetRequestLogsParams { type GetRequestLogsResponse (line 17) | interface GetRequestLogsResponse { function getRequestLogs (line 24) | async function getRequestLogs(params: GetRequestLogsParams): Promise & { type ChainOfThoughtHeaderProps (line 54) | type ChainOfThoughtHeaderProps = ComponentProps & { type ChainOfThoughtSearchResultsProps (line 175) | type ChainOfThoughtSearchResultsProps = ComponentProps<'div'>; type ChainOfThoughtSearchResultProps (line 181) | type ChainOfThoughtSearchResultProps = ComponentProps; type ChainOfThoughtContentProps (line 189) | type ChainOfThoughtContentProps = ComponentProps & { FILE: apps/dashboard/src/components/ai-elements/conversation.tsx type ConversationProps (line 10) | type ConversationProps = ComponentProps; type ConversationContentProps (line 22) | type ConversationContentProps = ComponentProps & { type ConversationScrollButtonProps (line 58) | type ConversationScrollButtonProps = ComponentProps; FILE: apps/dashboard/src/components/ai-elements/message.tsx type MessageProps (line 17) | type MessageProps = HTMLAttributes & { type MessageContentProps (line 34) | type MessageContentProps = HTMLAttributes; type MessageActionsProps (line 50) | type MessageActionsProps = ComponentProps<'div'>; type MessageActionProps (line 58) | type MessageActionProps = ComponentProps & { type MessageBranchContextType (line 95) | interface MessageBranchContextType { type MessageBranchProps (line 116) | type MessageBranchProps = HTMLAttributes & { type MessageBranchContentProps (line 156) | type MessageBranchContentProps = HTMLAttributes; type MessageBranchSelectorProps (line 180) | type MessageBranchSelectorProps = HTMLAttributes & { type MessageBranchPreviousProps (line 197) | type MessageBranchPreviousProps = ComponentProps; type MessageBranchNextProps (line 218) | type MessageBranchNextProps = ComponentProps; type MessageBranchPageProps (line 239) | type MessageBranchPageProps = HTMLAttributes; type MessageResponseProps (line 254) | type MessageResponseProps = ComponentProps; type MessageToolbarProps (line 269) | type MessageToolbarProps = ComponentProps<'div'>; FILE: apps/dashboard/src/components/ai-elements/prompt-input.tsx type AttachmentsContext (line 51) | interface AttachmentsContext { type TextInputContext (line 60) | interface TextInputContext { type PromptInputControllerProps (line 66) | interface PromptInputControllerProps { type PromptInputProviderProps (line 97) | type PromptInputProviderProps = PropsWithChildren<{ function PromptInputProvider (line 105) | function PromptInputProvider({ initialInput: initialTextInput = '', chil... type ReferencedSourcesContext (line 233) | interface ReferencedSourcesContext { type PromptInputActionAddAttachmentsProps (line 250) | type PromptInputActionAddAttachmentsProps = ComponentProps, 'onSubmit' |... type PromptInputBodyProps (line 703) | type PromptInputBodyProps = HTMLAttributes; type PromptInputTextareaProps (line 709) | type PromptInputTextareaProps = ComponentProps; type PromptInputHeaderProps (line 815) | type PromptInputHeaderProps = Omit; type PromptInputButtonProps (line 833) | type PromptInputButtonProps = ComponentProps; type PromptInputActionMenuProps (line 849) | type PromptInputActionMenuProps = ComponentProps; type PromptInputActionMenuTriggerProps (line 852) | type PromptInputActionMenuTriggerProps = PromptInputButtonProps; type PromptInputActionMenuContentProps (line 862) | type PromptInputActionMenuContentProps = ComponentProps & { type PromptInputSelectProps (line 928) | type PromptInputSelectProps = ComponentProps; type PromptInputSelectTriggerProps (line 932) | type PromptInputSelectTriggerProps = ComponentProps; type PromptInputSelectContentProps (line 945) | type PromptInputSelectContentProps = ComponentProps; type PromptInputSelectItemProps (line 951) | type PromptInputSelectItemProps = ComponentProps; type PromptInputSelectValueProps (line 957) | type PromptInputSelectValueProps = ComponentProps; type PromptInputHoverCardProps (line 963) | type PromptInputHoverCardProps = ComponentProps; type PromptInputHoverCardTriggerProps (line 969) | type PromptInputHoverCardTriggerProps = ComponentProps; type PromptInputTabProps (line 985) | type PromptInputTabProps = HTMLAttributes; type PromptInputTabLabelProps (line 991) | type PromptInputTabLabelProps = HTMLAttributes; type PromptInputTabBodyProps (line 997) | type PromptInputTabBodyProps = HTMLAttributes; type PromptInputTabItemProps (line 1003) | type PromptInputTabItemProps = HTMLAttributes; type PromptInputCommandProps (line 1009) | type PromptInputCommandProps = ComponentProps; type PromptInputCommandInputProps (line 1015) | type PromptInputCommandInputProps = ComponentProps; type PromptInputCommandListProps (line 1021) | type PromptInputCommandListProps = ComponentProps; type PromptInputCommandEmptyProps (line 1027) | type PromptInputCommandEmptyProps = ComponentProps; type PromptInputCommandGroupProps (line 1033) | type PromptInputCommandGroupProps = ComponentProps; type PromptInputCommandItemProps (line 1039) | type PromptInputCommandItemProps = ComponentProps; type PromptInputCommandSeparatorProps (line 1045) | type PromptInputCommandSeparatorProps = ComponentProps(output: unknown): T | undefined { FILE: apps/dashboard/src/components/ai-sidekick/novu-copilot-panel.tsx constant FADE_TRANSITION (line 7) | const FADE_TRANSITION = { duration: 0.4, ease: 'easeInOut' } as const; function NovuCopilotPanel (line 9) | function NovuCopilotPanel({ hideHeader }: { hideHeader?: boolean }) { FILE: apps/dashboard/src/components/ai-sidekick/sidekick-toast.tsx type SidekickToastProps (line 8) | type SidekickToastProps = { function SidekickToast (line 17) | function SidekickToast({ FILE: apps/dashboard/src/components/ai-sidekick/user-message.tsx function extractMessageContent (line 9) | function extractMessageContent(message: UIMessage): string { FILE: apps/dashboard/src/components/amount-input.tsx constant HEIGHT (line 10) | const HEIGHT = { type InputWithSelectProps (line 21) | type InputWithSelectProps = { FILE: apps/dashboard/src/components/analytics/charts/active-subscribers-tooltip.tsx constant ACTIVE_SUBSCRIBERS_COLOR (line 4) | const ACTIVE_SUBSCRIBERS_COLOR = '#818cf8'; function ActiveSubscribersTooltip (line 6) | function ActiveSubscribersTooltip(props: TooltipProps) { FILE: apps/dashboard/src/components/analytics/charts/active-subscribers-trend-chart.tsx type CustomTickProps (line 21) | type CustomTickProps = { function CustomTick (line 29) | function CustomTick({ x, y, payload, index, visibleTicksCount }: CustomT... type ActiveSubscribersTrendChartProps (line 52) | type ActiveSubscribersTrendChartProps = { function ActiveSubscribersTrendChart (line 58) | function ActiveSubscribersTrendChart({ data, isLoading, error }: ActiveS... FILE: apps/dashboard/src/components/analytics/charts/chart-dummy-data.tsx function generateDummyDeliveryData (line 10) | function generateDummyDeliveryData(): DeliveryChartData[] { function generateDummyWorkflowData (line 35) | function generateDummyWorkflowData(): WorkflowChartData[] { function generateDummyProviderData (line 46) | function generateDummyProviderData(): ProviderChartData[] { function generateDummyInteractionData (line 57) | function generateDummyInteractionData(): InteractionChartData[] { function generateDummyWorkflowRunsData (line 86) | function generateDummyWorkflowRunsData(): WorkflowRunsChartData[] { function generateDummyActiveSubscribersData (line 113) | function generateDummyActiveSubscribersData(): ActiveSubscribersChartDat... FILE: apps/dashboard/src/components/analytics/charts/chart-empty-state.tsx type ChartEmptyStateProps (line 4) | type ChartEmptyStateProps = { function ChartEmptyState (line 10) | function ChartEmptyState({ title = 'Not enough data to show', children, ... FILE: apps/dashboard/src/components/analytics/charts/chart-types.ts type DeliveryChartData (line 1) | type DeliveryChartData = { type WorkflowChartData (line 11) | type WorkflowChartData = { type ProviderChartData (line 18) | type ProviderChartData = { type InteractionChartData (line 25) | type InteractionChartData = { type WorkflowRunsChartData (line 34) | type WorkflowRunsChartData = { type ActiveSubscribersChartData (line 42) | type ActiveSubscribersChartData = { FILE: apps/dashboard/src/components/analytics/charts/chart-wrapper.tsx type ChartDataPoint (line 7) | type ChartDataPoint = Record; type ChartWrapperProps (line 9) | type ChartWrapperProps = { function ChartWrapper (line 31) | function ChartWrapper({ FILE: apps/dashboard/src/components/analytics/charts/delivery-trends-chart.tsx constant SEGMENT_GAP (line 14) | const SEGMENT_GAP = 2; constant STEP_TYPE_BY_KEY (line 24) | const STEP_TYPE_BY_KEY: Record = { constant CHANNELS (line 32) | const CHANNELS = (Object.keys(chartConfig) as (keyof typeof chartConfig)... type DeliveryTickProps (line 39) | type DeliveryTickProps = { function DeliveryTick (line 46) | function DeliveryTick({ x, y, payload, index }: DeliveryTickProps) { type DeliveryTooltipProps (line 65) | type DeliveryTooltipProps = { function DeliveryTooltip (line 85) | function DeliveryTooltip(props: DeliveryTooltipProps) { type DeliveryTrendsChartProps (line 99) | type DeliveryTrendsChartProps = { type ChartContentProps (line 105) | type ChartContentProps = { constant BAR_RADIUS (line 110) | const BAR_RADIUS = 2; type StackedBarSegmentShapeProps (line 112) | type StackedBarSegmentShapeProps = { function StackedBarSegmentShape (line 122) | function StackedBarSegmentShape(props: StackedBarSegmentShapeProps) { function createStackedBarShape (line 154) | function createStackedBarShape(segmentIndex: number, totalSegments: numb... function ChartContent (line 160) | function ChartContent({ data, includeTooltip = true }: ChartContentProps) { function DeliveryTrendsChart (line 216) | function DeliveryTrendsChart({ data, isLoading }: DeliveryTrendsChartPro... FILE: apps/dashboard/src/components/analytics/charts/flickering-grid.tsx type AreaClipData (line 5) | type AreaClipData = { type FlickeringGridProps (line 9) | type FlickeringGridProps = { constant DEFAULT_MARGIN (line 24) | const DEFAULT_MARGIN = { top: 4, right: 2, bottom: 0, left: 2 }; constant CLIP_SAFETY_PX (line 25) | const CLIP_SAFETY_PX = 1; constant OPACITY_LEVELS (line 26) | const OPACITY_LEVELS = 4; constant UPDATES_PER_FRAME (line 27) | const UPDATES_PER_FRAME = 2; constant UPDATE_EVERY_N_FRAMES (line 28) | const UPDATE_EVERY_N_FRAMES = 16; constant TARGET_FPS (line 29) | const TARGET_FPS = 24; constant BITS_16 (line 30) | const BITS_16 = 0xffff; constant FRAME_INTERVAL_MS (line 31) | const FRAME_INTERVAL_MS = 1000 / TARGET_FPS; constant ANIMATION_LEVEL_MIN (line 32) | const ANIMATION_LEVEL_MIN = 1; constant ANIMATION_LEVEL_MAX (line 33) | const ANIMATION_LEVEL_MAX = 2; function getLineYAtPixel (line 35) | function getLineYAtPixel( constant FLICKER_CHANCE (line 60) | const FLICKER_CHANCE = 0.04; function FlickeringGrid (line 62) | function FlickeringGrid({ FILE: apps/dashboard/src/components/analytics/charts/interaction-trend-chart.tsx constant FUNNEL (line 19) | const FUNNEL = (['messageSeen', 'messageRead', 'messageSnoozed', 'messag... type InteractionTooltipProps (line 25) | type InteractionTooltipProps = { function InteractionTrendTooltip (line 37) | function InteractionTrendTooltip({ active, payload, label }: Interaction... type CustomTickProps (line 99) | type CustomTickProps = { function CustomTick (line 106) | function CustomTick({ x, y, payload, index }: CustomTickProps) { type InteractionTrendChartProps (line 125) | type InteractionTrendChartProps = { type InteractionTrendChartContentProps (line 131) | type InteractionTrendChartContentProps = { function InteractionTrendChartContent (line 136) | function InteractionTrendChartContent({ data, includeTooltip }: Interact... function InteractionTrendChart (line 231) | function InteractionTrendChart({ data, isLoading, error }: InteractionTr... FILE: apps/dashboard/src/components/analytics/charts/providers-by-volume.tsx type ProviderVolumeTooltipProps (line 22) | type ProviderVolumeTooltipProps = { function ProviderVolumeTooltip (line 39) | function ProviderVolumeTooltip(props: ProviderVolumeTooltipProps) { function CustomTick (line 58) | function CustomTick({ x, y, payload }: { x: number; y: number; payload: ... type ProvidersByVolumeProps (line 79) | type ProvidersByVolumeProps = { function ProvidersByVolume (line 85) | function ProvidersByVolume({ data, isLoading }: ProvidersByVolumeProps) { FILE: apps/dashboard/src/components/analytics/charts/workflow-runs-trend-chart.tsx type WorkflowRunsChartDataWithTotal (line 17) | type WorkflowRunsChartDataWithTotal = WorkflowRunsChartData & { total: n... constant CHART_HEIGHT (line 19) | const CHART_HEIGHT = 180; constant WORKFLOW_RUNS_GRID_CLIP_MARGIN (line 20) | const WORKFLOW_RUNS_GRID_CLIP_MARGIN = { left: 2, right: 2, top: 4, bott... constant FLICKERING_GRID_PROPS (line 21) | const FLICKERING_GRID_PROPS = { constant LEGACY_CHART_CONFIG (line 28) | const LEGACY_CHART_CONFIG = { constant FINAL_STATUS_CHART_CONFIG (line 34) | const FINAL_STATUS_CHART_CONFIG = { constant LEGACY_SERIES_KEYS (line 39) | const LEGACY_SERIES_KEYS = ['completed', 'processing', 'error'] as const; constant FINAL_STATUS_SERIES_KEYS (line 40) | const FINAL_STATUS_SERIES_KEYS = ['completed', 'error'] as const; constant GRADIENT_STOPS (line 42) | const GRADIENT_STOPS: Record = { type CustomTickProps (line 48) | type CustomTickProps = { function CustomTick (line 55) | function CustomTick({ x, y, payload, index }: CustomTickProps) { function BillingNudge (line 74) | function BillingNudge() { type WorkflowRunsTrendChartProps (line 89) | type WorkflowRunsTrendChartProps = { type ChartContentParams (line 97) | type ChartContentParams = { function renderWorkflowRunsChartContent (line 105) | function renderWorkflowRunsChartContent({ data, includeTooltip, config, ... type Variant (line 176) | type Variant = 'legacy' | 'finalStatus'; constant VARIANT_CONFIG (line 178) | const VARIANT_CONFIG: Record< function WorkflowRunsTrendChartInner (line 217) | function WorkflowRunsTrendChartInner({ function WorkflowRunsTrendChart (line 284) | function WorkflowRunsTrendChart(props: WorkflowRunsTrendChartProps) { FILE: apps/dashboard/src/components/analytics/charts/workflows-by-volume.tsx type WorkflowVolumeTooltipProps (line 23) | type WorkflowVolumeTooltipProps = { function WorkflowVolumeTooltip (line 40) | function WorkflowVolumeTooltip(props: WorkflowVolumeTooltipProps) { function CustomTick (line 59) | function CustomTick({ x, y, payload }: { x: number; y: number; payload: ... type WorkflowsByVolumeProps (line 73) | type WorkflowsByVolumeProps = { function WorkflowsByVolume (line 79) | function WorkflowsByVolume({ data, isLoading }: WorkflowsByVolumeProps) { FILE: apps/dashboard/src/components/analytics/components/analytics-page-skeleton.tsx constant ROW_STAGGER (line 11) | const ROW_STAGGER = 0.32; constant CARD_STAGGER (line 12) | const CARD_STAGGER = 0.1; constant REVEAL_EASE (line 13) | const REVEAL_EASE = [0.22, 1, 0.36, 1] as const; constant METRIC_CARDS (line 54) | const METRIC_CARDS = [ function MetricCardSkeleton (line 61) | function MetricCardSkeleton({ constant CHART_TITLES_ROW_2 (line 83) | const CHART_TITLES_ROW_2 = ['Delivery trend', 'Top workflows by volume',... constant CHART_TITLE_ROW_3 (line 84) | const CHART_TITLE_ROW_3 = 'Workflow runs'; constant CHART_TITLES_ROW_4 (line 85) | const CHART_TITLES_ROW_4 = ['Active subscribers', 'Top providers by volu... constant X_AXIS_LABELS (line 87) | const X_AXIS_LABELS = ['Feb 26', 'Mar 26', 'Apr 26', 'May 26', 'Jun 26']... constant X_AXIS_MASK_GRADIENT (line 89) | const X_AXIS_MASK_GRADIENT = function ChartSkeletonCard (line 92) | function ChartSkeletonCard({ constant SHIMMER_DURATION_MS (line 156) | const SHIMMER_DURATION_MS = 2200; function useShimmerSyncToXAxisStrips (line 158) | function useShimmerSyncToXAxisStrips( function AnalyticsPageSkeleton (line 202) | function AnalyticsPageSkeleton() { FILE: apps/dashboard/src/components/analytics/components/analytics-section.tsx type AnalyticsSectionProps (line 9) | type AnalyticsSectionProps = { function AnalyticsSection (line 17) | function AnalyticsSection({ FILE: apps/dashboard/src/components/analytics/components/analytics-upgrade-cta-icon.tsx function AnalyticsUpgradeCtaIcon (line 6) | function AnalyticsUpgradeCtaIcon() { FILE: apps/dashboard/src/components/analytics/components/charts-section.tsx type ChartsSectionProps (line 11) | type ChartsSectionProps = { function ChartsSection (line 19) | function ChartsSection({ FILE: apps/dashboard/src/components/analytics/components/flickering-grid-placeholder.tsx type FlickeringGridPlaceholderProps (line 5) | type FlickeringGridPlaceholderProps = { function FlickeringGridPlaceholder (line 12) | function FlickeringGridPlaceholder({ FILE: apps/dashboard/src/components/analytics/constants/analytics-page.consts.ts constant CONTENT_EASE (line 1) | const CONTENT_EASE = [0.16, 1, 0.3, 1] as const; constant EXIT_EASE (line 2) | const EXIT_EASE = [0.4, 0, 1, 1] as const; constant ANIMATION_VARIANTS (line 4) | const ANIMATION_VARIANTS = { constant SKELETON_TO_CONTENT_TRANSITION (line 28) | const SKELETON_TO_CONTENT_TRANSITION = { constant CHART_CONFIG (line 66) | const CHART_CONFIG = { FILE: apps/dashboard/src/components/analytics/constants/analytics-tooltips.ts constant ANALYTICS_TOOLTIPS (line 1) | const ANALYTICS_TOOLTIPS = { FILE: apps/dashboard/src/components/analytics/hooks/use-analytics-page-date-filter.ts type OrganizationLike (line 12) | type OrganizationLike = { createdAt: Date }; type DateRangeOption (line 14) | type DateRangeOption = { type DateFilterOption (line 20) | type DateFilterOption = { constant HOME_PAGE_DATE_RANGE_OPTIONS (line 28) | const HOME_PAGE_DATE_RANGE_OPTIONS: DateRangeOption[] = [ function buildDateFilterOptions (line 35) | function buildDateFilterOptions({ function getDefaultDateRange (line 72) | function getDefaultDateRange({ function getChartsDateRange (line 113) | function getChartsDateRange(selectedDateRange: string) { type UseHomepageDateFilterParams (line 122) | type UseHomepageDateFilterParams = { function useHomepageDateFilter (line 128) | function useHomepageDateFilter({ organization, subscription, upgradeCtaI... FILE: apps/dashboard/src/components/analytics/utils/chart-validation.ts type DateBasedChartData (line 1) | type DateBasedChartData = { function hasMinimumDateRange (line 5) | function hasMinimumDateRange(data: T[], mi... function hasMinimumDaysWithData (line 20) | function hasMinimumDaysWithData( function createDateBasedHasDataChecker (line 54) | function createDateBasedHasDataChecker( function hasMinimumEntries (line 63) | function hasMinimumEntries( function createVolumeBasedHasDataChecker (line 77) | function createVolumeBasedHasDataChecker(hasDataForItem: (item: T) =>... FILE: apps/dashboard/src/components/auth/auth-card.tsx function AuthCard (line 4) | function AuthCard({ children, className }: { children: React.ReactNode; ... FILE: apps/dashboard/src/components/auth/auth-feature-row.tsx type AuthFeatureRowProps (line 3) | interface AuthFeatureRowProps { function AuthFeatureRow (line 9) | function AuthFeatureRow({ icon, title, description }: AuthFeatureRowProp... FILE: apps/dashboard/src/components/auth/auth-side-banner.tsx function AuthSideBanner (line 11) | function AuthSideBanner() { FILE: apps/dashboard/src/components/auth/create-organization.tsx constant HEADER_CONFIG (line 12) | const HEADER_CONFIG = { constant ORGANIZATION_FORM_CONFIG (line 22) | const ORGANIZATION_FORM_CONFIG = { constant FORM_APPEARANCE (line 29) | const FORM_APPEARANCE = { constant ILLUSTRATION_CONFIG (line 37) | const ILLUSTRATION_CONFIG = { type FormContainerProps (line 44) | interface FormContainerProps { type IllustrationProps (line 48) | interface IllustrationProps { function FormContainer (line 55) | function FormContainer({ children }: FormContainerProps) { function OrganizationForm (line 63) | function OrganizationForm() { function OrganizationFormSection (line 101) | function OrganizationFormSection() { function Illustration (line 111) | function Illustration({ src, alt, className }: IllustrationProps) { function IllustrationSection (line 119) | function IllustrationSection() { function MainContent (line 127) | function MainContent() { function PageHeader (line 136) | function PageHeader() { function PageContent (line 140) | function PageContent() { function OrganizationCreate (line 149) | function OrganizationCreate() { FILE: apps/dashboard/src/components/auth/inbox-playground.tsx constant PLAYGROUND_CONFIG (line 21) | const PLAYGROUND_CONFIG = { function showCustomToast (line 28) | function showCustomToast( function InboxPlayground (line 50) | function InboxPlayground({ appId, subscriberId }: { appId: string; subsc... FILE: apps/dashboard/src/components/auth/inbox-preview-content.tsx function InboxPreviewContent (line 22) | function InboxPreviewContent() { FILE: apps/dashboard/src/components/auth/mobile-message.tsx constant MOBILE_WIDTH_THRESHOLD (line 6) | const MOBILE_WIDTH_THRESHOLD = 768; constant ONE_HOUR_MS (line 7) | const ONE_HOUR_MS = 60 * 60 * 1000; constant MOBILE_SETUP_STORAGE_KEY (line 8) | const MOBILE_SETUP_STORAGE_KEY = 'mobileSetupEmailSentAt'; function MobileMessage (line 10) | function MobileMessage() { FILE: apps/dashboard/src/components/auth/questionnaire-form.tsx type QuestionnaireFormData (line 27) | interface QuestionnaireFormData { type SubmitQuestionnaireData (line 33) | interface SubmitQuestionnaireData { function QuestionnaireForm (line 41) | function QuestionnaireForm() { function useSubmitQuestionnaire (line 237) | function useSubmitQuestionnaire() { FILE: apps/dashboard/src/components/auth/region-picker.tsx constant REGION_MAP (line 8) | const REGION_MAP = { type RegionType (line 13) | type RegionType = (typeof REGION_MAP)[keyof typeof REGION_MAP]; function getDefaultRegion (line 15) | function getDefaultRegion(): RegionType { function RegionPicker (line 21) | function RegionPicker() { FILE: apps/dashboard/src/components/auth/shared.tsx type StepIndicatorProps (line 5) | interface StepIndicatorProps { function StepIndicator (line 11) | function StepIndicator({ step, className, hideBackButton }: StepIndicato... FILE: apps/dashboard/src/components/auth/trusted-companies.tsx function TrustedCompanies (line 1) | function TrustedCompanies() { type CompanyLogoProps (line 30) | interface CompanyLogoProps { function CompanyLogo (line 34) | function CompanyLogo({ name }: CompanyLogoProps) { FILE: apps/dashboard/src/components/auth/usecase-selector.tsx type UsecaseSelectOnboardingProps (line 6) | interface UsecaseSelectOnboardingProps { function UsecaseSelectOnboarding (line 13) | function UsecaseSelectOnboarding({ FILE: apps/dashboard/src/components/auth/usecases-list.utils.tsx type Usecase (line 6) | interface Usecase { FILE: apps/dashboard/src/components/billing/active-plan-banner.tsx type ActivePlanBannerProps (line 24) | interface ActivePlanBannerProps { type UsageMetric (line 28) | interface UsageMetric { constant USAGE_METRICS (line 34) | const USAGE_METRICS: UsageMetric[] = [ function formatDate (line 40) | function formatDate(date: string | number): string { function formatLimit (line 48) | function formatLimit(limit: number): string { function getEventsTooltipContent (line 52) | function getEventsTooltipContent( function formatDateRange (line 66) | function formatDateRange( function getPlanBadgeText (line 80) | function getPlanBadgeText(subscription: ReturnType = { function getOperatorsForFieldType (line 85) | function getOperatorsForFieldType(dataType: FieldDataType): Operator[] { constant RELATIVE_DATE_OPERATORS (line 89) | const RELATIVE_DATE_OPERATORS = [ function isRelativeDateOperator (line 97) | function isRelativeDateOperator(operator: string): boolean { FILE: apps/dashboard/src/components/conditions-editor/help-icon.tsx type HelpIconProps (line 6) | type HelpIconProps = { function HelpIcon (line 13) | function HelpIcon({ hasError, errorMessage, helpText, contentWidth = 'w-... FILE: apps/dashboard/src/components/conditions-editor/select-option-utils.tsx constant EMPTY_SELECT_VALUE (line 6) | const EMPTY_SELECT_VALUE = '__empty__'; function toSafeValue (line 8) | function toSafeValue(value: string | null | undefined): string { function fromSafeValue (line 14) | function fromSafeValue(value: string): string { FILE: apps/dashboard/src/components/conditions-editor/types.ts type ConditionsEditorContextType (line 3) | interface ConditionsEditorContextType { type VariablesListProps (line 9) | interface VariablesListProps { FILE: apps/dashboard/src/components/conditions-editor/value-editor.tsx type RelativeDateValue (line 11) | type RelativeDateValue = { type ExtendedContext (line 16) | type ExtendedContext = { constant TIME_UNITS (line 23) | const TIME_UNITS = [ type BaseEditorProps (line 32) | type BaseEditorProps = { function SingleValueEditor (line 104) | function SingleValueEditor({ function BetweenValueEditor (line 133) | function BetweenValueEditor({ function RelativeDateEditor (line 186) | function RelativeDateEditor({ FILE: apps/dashboard/src/components/conditions-editor/variable-select.tsx type VariableSelectProps (line 9) | type VariableSelectProps = Omit, 'onChang... FILE: apps/dashboard/src/components/confirmation-modal.tsx type ConfirmationModalProps (line 17) | type ConfirmationModalProps = { FILE: apps/dashboard/src/components/context-search-editor.tsx type ContextSearchEditorProps (line 10) | type ContextSearchEditorProps = { function ContextSearchEditor (line 17) | function ContextSearchEditor({ value, onUpdate, schema, error }: Context... FILE: apps/dashboard/src/components/contexts/context-drawer.tsx type ContextTabsProps (line 17) | type ContextTabsProps = { function ContextTabs (line 23) | function ContextTabs(props: ContextTabsProps) { type ContextDrawerProps (line 75) | type ContextDrawerProps = { type ContextDrawerButtonProps (line 105) | type ContextDrawerButtonProps = React.ButtonHTMLAttributes; type ContextListFiltersProps (line 117) | type ContextListFiltersProps = HTMLAttributes & type ContextListTableProps (line 123) | type ContextListTableProps = HTMLAttributes & { FILE: apps/dashboard/src/components/contexts/context-overview.tsx type ContextOverviewProps (line 47) | type ContextOverviewProps = { FILE: apps/dashboard/src/components/contexts/context-row.tsx type ContextRowProps (line 26) | type ContextRowProps = { type ContextTableCellProps (line 30) | type ContextTableCellProps = ComponentProps & { FILE: apps/dashboard/src/components/contexts/contexts-filters.tsx type FilterFormValues (line 12) | type FilterFormValues = { type ContextsFiltersProps (line 16) | type ContextsFiltersProps = HTMLAttributes & { FILE: apps/dashboard/src/components/contexts/create-context-drawer.tsx type CreateContextDrawerProps (line 21) | type CreateContextDrawerProps = { FILE: apps/dashboard/src/components/contexts/create-context-form.tsx type CreateContextFormProps (line 37) | type CreateContextFormProps = { FILE: apps/dashboard/src/components/contexts/hooks/use-contexts-url-state.ts constant CONTEXTS_TABLE_ID (line 6) | const CONTEXTS_TABLE_ID = 'contexts-list'; type ContextsSortableColumn (line 8) | type ContextsSortableColumn = 'createdAt' | 'updatedAt'; type ContextsFilter (line 10) | type ContextsFilter = { type ContextsUrlState (line 21) | interface ContextsUrlState { constant DEFAULT_LIMIT (line 32) | const DEFAULT_LIMIT = getPersistedPageSize(CONTEXTS_TABLE_ID, 10); FILE: apps/dashboard/src/components/contexts/schema.ts constant CONTEXT_IDENTIFIER_REGEX (line 3) | const CONTEXT_IDENTIFIER_REGEX = /^[a-zA-Z0-9_-]+$/; FILE: apps/dashboard/src/components/create-workflow-modal.tsx type WorkflowCreatedEvent (line 55) | type WorkflowCreatedEvent = { type CreateWorkflowTab (line 62) | type CreateWorkflowTab = 'guided' | 'manual'; constant WORKFLOW_SUGGESTIONS (line 64) | const WORKFLOW_SUGGESTIONS = [ function CreateWorkflowModal (line 71) | function CreateWorkflowModal({ mode, workflowId }: { mode: 'create' | 'd... type GuidedModeContentProps (line 332) | type GuidedModeContentProps = { constant STEP_DELAY_MS (line 338) | const STEP_DELAY_MS = 2000; constant GENERATION_STEPS (line 340) | const GENERATION_STEPS = [ type GenerationStepStatus (line 355) | type GenerationStepStatus = 'success' | 'progress' | 'pending'; type GenerationStep (line 357) | type GenerationStep = { function GuidedModeContent (line 363) | function GuidedModeContent({ onSubmit, isGenerating, error }: GuidedMode... type ManualModeContentProps (line 542) | type ManualModeContentProps = { function ManualModeContent (line 547) | function ManualModeContent({ onSubmit, template }: ManualModeContentProp... function ManualModeContentSkeleton (line 555) | function ManualModeContentSkeleton() { FILE: apps/dashboard/src/components/default-pagination.tsx type DefaultPaginationProps (line 13) | type DefaultPaginationProps = { FILE: apps/dashboard/src/components/delete-resource-confirmation-dialog.tsx type WorkflowReference (line 8) | type WorkflowReference = { type DeleteResourceConfirmationDialogProps (line 13) | type DeleteResourceConfirmationDialogProps = { FILE: apps/dashboard/src/components/delete-workflow-dialog.tsx type DeleteWorkflowDialogProps (line 5) | type DeleteWorkflowDialogProps = { FILE: apps/dashboard/src/components/editor-overlays.tsx type EditorOverlaysProps (line 10) | type EditorOverlaysProps = { function EditorOverlays (line 36) | function EditorOverlays({ FILE: apps/dashboard/src/components/environments/create-environment-button.tsx constant ENVIRONMENT_COLORS (line 23) | const ENVIRONMENT_COLORS = [ function getRandomColor (line 36) | function getRandomColor(existingEnvironments: IEnvironment[] = []) { type CreateEnvironmentButtonProps (line 46) | type CreateEnvironmentButtonProps = ComponentProps; FILE: apps/dashboard/src/components/environments/delete-environment-dialog.tsx type DeleteEnvironmentDialogProps (line 17) | interface DeleteEnvironmentDialogProps { FILE: apps/dashboard/src/components/environments/edit-environment-sheet.tsx type EditEnvironmentSheetProps (line 26) | interface EditEnvironmentSheetProps { FILE: apps/dashboard/src/components/environments/environment-form.tsx type EnvironmentFormData (line 11) | type EnvironmentFormData = z.infer; type EnvironmentFormFieldsProps (line 13) | type EnvironmentFormFieldsProps = { function EnvironmentFormFields (line 19) | function EnvironmentFormFields({ form, colorHelperText, autoFocusName = ... FILE: apps/dashboard/src/components/environments/environments-free-state.tsx function FreeTierState (line 20) | function FreeTierState() { function EmptyStateSvg (line 121) | function EmptyStateSvg() { FILE: apps/dashboard/src/components/environments/environments-list.tsx function EnvironmentsList (line 78) | function EnvironmentsList({ environments, isLoading }: { environments: I... FILE: apps/dashboard/src/components/flag-circle.tsx function getLocaleFlag (line 7) | function getLocaleFlag(localeCode: string) { type FlagCircleProps (line 12) | type FlagCircleProps = { function FlagCircle (line 20) | function FlagCircle({ locale, size = 'md', className, showBorder = false... type StackedFlagCirclesProps (line 42) | type StackedFlagCirclesProps = { function StackedFlagCircles (line 49) | function StackedFlagCircles({ locales, maxVisible = 4, size = 'md', clas... FILE: apps/dashboard/src/components/header-navigation/header-navigation.tsx type HeaderNavigationProps (line 19) | type HeaderNavigationProps = HTMLAttributes & { FILE: apps/dashboard/src/components/header-navigation/layout-usage-indicator.tsx type LayoutUsageIndicatorProps (line 6) | type LayoutUsageIndicatorProps = { function LayoutUsageIndicator (line 12) | function LayoutUsageIndicator({ layoutResource, allWorkflows, dependenci... FILE: apps/dashboard/src/components/header-navigation/no-changes-modal.tsx type NoChangesModalProps (line 6) | type NoChangesModalProps = { function NoChangesModal (line 12) | function NoChangesModal({ isOpen, onClose }: NoChangesModalProps) { FILE: apps/dashboard/src/components/header-navigation/publish-button.tsx type ModalState (line 25) | type ModalState = 'closed' | 'publish' | 'success' | 'no-changes'; type PublishState (line 27) | type PublishState = { type ChangeIndicatorProps (line 290) | type ChangeIndicatorProps = { type EnvironmentOptionProps (line 337) | type EnvironmentOptionProps = { FILE: apps/dashboard/src/components/header-navigation/publish-modal.tsx type PublishModalProps (line 27) | type PublishModalProps = { type ResourceSelection (line 36) | type ResourceSelection = { function PublishModal (line 44) | function PublishModal({ type ResourceGroupProps (line 224) | type ResourceGroupProps = { function ResourceGroupCompact (line 235) | function ResourceGroupCompact({ type SelectableResourceRowProps (line 286) | type SelectableResourceRowProps = { function CompactResourceRow (line 296) | function CompactResourceRow({ function ResourceStatusBadge (line 399) | function ResourceStatusBadge({ resource }: { resource: IResourceDiffResu... function PublishModalHeader (line 438) | function PublishModalHeader() { function PublishModalContent (line 448) | function PublishModalContent({ environment }: { environment: IEnvironmen... function PublishModalActions (line 464) | function PublishModalActions({ FILE: apps/dashboard/src/components/header-navigation/publish-success-modal.tsx type PublishSuccessModalProps (line 9) | type PublishSuccessModalProps = { function PublishSuccessModal (line 17) | function PublishSuccessModal({ FILE: apps/dashboard/src/components/header-navigation/support-drawer-components.tsx type SuggestionCardProps (line 6) | type SuggestionCardProps = { function SuggestionCard (line 12) | function SuggestionCard({ item, onOpenDocs, onTrack }: SuggestionCardPro... type DocsIframeViewProps (line 36) | type DocsIframeViewProps = { function DocsIframeView (line 43) | function DocsIframeView({ url, onBack, onTrackBack, onTrackExternal }: D... type FooterLinkProps (line 120) | type FooterLinkProps = { function FooterLink (line 126) | function FooterLink({ icon: Icon, children, onClick }: FooterLinkProps) { FILE: apps/dashboard/src/components/header-navigation/support-drawer-constants.ts constant DRAWER_WIDTH_DEFAULT (line 19) | const DRAWER_WIDTH_DEFAULT = 350; constant DRAWER_WIDTH_EXPANDED (line 20) | const DRAWER_WIDTH_EXPANDED = 700; constant DOCS_BASE_URL (line 22) | const DOCS_BASE_URL = 'https://docs.novu.co'; constant UTM_SUFFIX (line 23) | const UTM_SUFFIX = '?utm_campaign=support_drawer'; constant BOOK_DEMO_URL (line 25) | const BOOK_DEMO_URL = `https://cal.com/team/novu/intro${UTM_SUFFIX}`; constant CHANGELOG_URL (line 26) | const CHANGELOG_URL = `https://go.novu.co/changelog${UTM_SUFFIX}`; constant ROADMAP_URL (line 27) | const ROADMAP_URL = `https://roadmap.novu.co/roadmap${UTM_SUFFIX}`; function docsUrl (line 29) | function docsUrl(path = '') { function toEmbedUrl (line 36) | function toEmbedUrl(url: string) { type SuggestionItem (line 43) | type SuggestionItem = { constant DEFAULT_SUGGESTIONS (line 50) | const DEFAULT_SUGGESTIONS: SuggestionItem[] = [ type RouteContext (line 65) | type RouteContext = constant CONTEXTUAL_SUGGESTIONS (line 82) | const CONTEXTUAL_SUGGESTIONS: Record = { function getRouteContext (line 249) | function getRouteContext(pathname: string): RouteContext { function useContextualSuggestions (line 268) | function useContextualSuggestions(): SuggestionItem[] { constant GETTING_STARTED (line 278) | const GETTING_STARTED: SuggestionItem[] = [ FILE: apps/dashboard/src/components/header-navigation/support-drawer.tsx type SupportDrawerContentProps (line 22) | type SupportDrawerContentProps = { function SupportDrawerContent (line 29) | function SupportDrawerContent({ type SupportDrawerProps (line 251) | type SupportDrawerProps = { function SupportDrawer (line 255) | function SupportDrawer({ children }: SupportDrawerProps) { FILE: apps/dashboard/src/components/header-navigation/workflow-hover-card.tsx type WorkflowChangeType (line 7) | type WorkflowChangeType = { type WorkflowHoverCardProps (line 14) | type WorkflowHoverCardProps = { function WorkflowHoverCard (line 19) | function WorkflowHoverCard({ workflowResource, children }: WorkflowHover... FILE: apps/dashboard/src/components/html-editor.tsx type HtmlEditorProps (line 17) | type HtmlEditorProps = { function HtmlEditor (line 46) | function HtmlEditor({ FILE: apps/dashboard/src/components/http-logs/api-traces-content.tsx type ApiTracesContentProps (line 10) | type ApiTracesContentProps = { function mapTraceStatusToBadgeStatus (line 14) | function mapTraceStatusToBadgeStatus(traceStatus: ApiTrace['status']) { function getStatusIcon (line 29) | function getStatusIcon(status: ApiTrace['status']) { function formatRawData (line 44) | function formatRawData(rawData: string): string { function TraceEventSkeleton (line 52) | function TraceEventSkeleton() { function TraceEvent (line 74) | function TraceEvent({ trace }: { trace: ApiTrace }) { function ApiTracesContent (line 132) | function ApiTracesContent({ log }: ApiTracesContentProps) { FILE: apps/dashboard/src/components/http-logs/hooks/use-workflow-runs-url-state.ts type WorkflowRunsUrlState (line 13) | type WorkflowRunsUrlState = { function useWorkflowRunsUrlState (line 19) | function useWorkflowRunsUrlState(): WorkflowRunsUrlState { FILE: apps/dashboard/src/components/http-logs/http-status-badge.tsx type HttpStatusBadgeProps (line 4) | type HttpStatusBadgeProps = { function getStatusBadgeProps (line 9) | function getStatusBadgeProps(statusCode: number) { function getStatusText (line 25) | function getStatusText(statusCode: number): string { function HttpStatusBadge (line 52) | function HttpStatusBadge({ statusCode, className }: HttpStatusBadgeProps) { FILE: apps/dashboard/src/components/http-logs/logs-detail-content.tsx type LogsDetailContentProps (line 12) | type LogsDetailContentProps = { function JsonDisplay (line 16) | function JsonDisplay({ content }: { content: string | object }) { function CollapsibleSection (line 43) | function CollapsibleSection({ function LogsDetailContent (line 135) | function LogsDetailContent({ log }: LogsDetailContentProps) { FILE: apps/dashboard/src/components/http-logs/logs-detail-empty.tsx function RequestLogDetailEmptyState (line 3) | function RequestLogDetailEmptyState() { FILE: apps/dashboard/src/components/http-logs/logs-detail-error.tsx function LogsDetailError (line 3) | function LogsDetailError() { FILE: apps/dashboard/src/components/http-logs/logs-detail-header.tsx type LogsDetailHeaderProps (line 1) | type LogsDetailHeaderProps = { function LogsDetailHeader (line 5) | function LogsDetailHeader({ className }: LogsDetailHeaderProps) { FILE: apps/dashboard/src/components/http-logs/logs-detail-panel.tsx type LogsDetailPanelProps (line 10) | type LogsDetailPanelProps = { function LogsDetailPanel (line 16) | function LogsDetailPanel({ log, isLoading, error }: LogsDetailPanelProps) { FILE: apps/dashboard/src/components/http-logs/logs-detail-skeleton.tsx function LogsDetailSkeleton (line 3) | function LogsDetailSkeleton() { FILE: apps/dashboard/src/components/http-logs/logs-filters.tsx type RequestsFiltersProps (line 15) | interface RequestsFiltersProps { constant STATUS_OPTIONS (line 22) | const STATUS_OPTIONS = [ constant URL_PATTERN_OPTIONS (line 37) | const URL_PATTERN_OPTIONS = [ function RequestsFilters (line 63) | function RequestsFilters({ filters, onFiltersChange, onClearFilters, has... FILE: apps/dashboard/src/components/http-logs/logs-table-row.tsx type LogsTableRowProps (line 8) | type LogsTableRowProps = { function LogsTableRow (line 14) | function LogsTableRow({ log, onClick, isSelected }: LogsTableRowProps) { FILE: apps/dashboard/src/components/http-logs/logs-table-skeleton-row.tsx function LogsTableSkeletonRow (line 4) | function LogsTableSkeletonRow() { FILE: apps/dashboard/src/components/http-logs/logs-table.tsx type RequestsTableProps (line 27) | type RequestsTableProps = { function RequestsTable (line 31) | function RequestsTable({ onLogClick }: RequestsTableProps) { FILE: apps/dashboard/src/components/http-logs/method-badge.tsx type MethodBadgeProps (line 3) | type MethodBadgeProps = { function MethodBadge (line 8) | function MethodBadge({ method, className }: MethodBadgeProps) { FILE: apps/dashboard/src/components/http-logs/transaction-id-display.tsx type TransactionIdDisplayProps (line 5) | type TransactionIdDisplayProps = { function TransactionIdDisplay (line 10) | function TransactionIdDisplay({ transactionId, className }: TransactionI... FILE: apps/dashboard/src/components/http-logs/workflow-run-activity-drawer.tsx type WorkflowRunActivityDrawerProps (line 10) | type WorkflowRunActivityDrawerProps = { FILE: apps/dashboard/src/components/http-logs/workflow-runs-content.tsx type WorkflowRunsContentProps (line 21) | type WorkflowRunsContentProps = { constant ITEMS_PER_PAGE (line 25) | const ITEMS_PER_PAGE = 10; function WorkflowRunsContent (line 27) | function WorkflowRunsContent({ log }: WorkflowRunsContentProps) { FILE: apps/dashboard/src/components/http-logs/workflow-runs-filters.tsx type WorkflowRunsFiltersProps (line 12) | type WorkflowRunsFiltersProps = HTMLAttributes & { function WorkflowRunsFilters (line 19) | function WorkflowRunsFilters(props: WorkflowRunsFiltersProps) { FILE: apps/dashboard/src/components/icons/add-subscriber-illustration.tsx type AddSubscriberIllustrationProps (line 3) | type AddSubscriberIllustrationProps = HTMLAttributes; FILE: apps/dashboard/src/components/icons/arrow-right.tsx function ArrowRight (line 3) | function ArrowRight(props: React.ComponentPropsWithoutRef<'svg'>) { FILE: apps/dashboard/src/components/icons/cards-blocks.tsx function CardBlocks (line 3) | function CardBlocks(props: React.ComponentPropsWithoutRef<'svg'>) { FILE: apps/dashboard/src/components/icons/email-footer-logo-with-text-stacked.tsx function EmailFooterLogoWithTextStacked (line 3) | function EmailFooterLogoWithTextStacked(props: React.ComponentPropsWitho... FILE: apps/dashboard/src/components/icons/email-footer-plain-text.tsx function EmailFooterPlainText (line 3) | function EmailFooterPlainText(props: React.ComponentPropsWithoutRef<'svg... FILE: apps/dashboard/src/components/icons/email-footer.tsx function EmailFooter (line 3) | function EmailFooter(props: React.ComponentPropsWithoutRef<'svg'>) { FILE: apps/dashboard/src/components/icons/email-header-centered-logo-with-border.tsx function EmailHeaderCenteredLogoWithBorder (line 3) | function EmailHeaderCenteredLogoWithBorder(props: React.ComponentPropsWi... FILE: apps/dashboard/src/components/icons/email-header-logo-with-cover-image.tsx function EmailHeaderLogoWithCoverImage (line 3) | function EmailHeaderLogoWithCoverImage(props: React.ComponentPropsWithou... FILE: apps/dashboard/src/components/icons/email-header-logo-with-text.tsx function EmailHeaderLogoWithText (line 3) | function EmailHeaderLogoWithText(props: React.ComponentPropsWithoutRef<'... FILE: apps/dashboard/src/components/icons/email-header.tsx function EmailHeader (line 3) | function EmailHeader(props: React.ComponentPropsWithoutRef<'svg'>) { FILE: apps/dashboard/src/components/icons/enter-line.tsx function EnterLineIcon (line 3) | function EnterLineIcon({ className, ...props }: SVGProps) { FILE: apps/dashboard/src/components/icons/flags/eu.tsx function EuFlag (line 1) | function EuFlag(props: React.SVGProps) { FILE: apps/dashboard/src/components/icons/flags/us.tsx function USFlag (line 1) | function USFlag(props: React.SVGProps) { FILE: apps/dashboard/src/components/icons/horizontal-card-with-image.tsx function HorizontalCardWithImage (line 3) | function HorizontalCardWithImage(props: React.ComponentPropsWithoutRef<'... FILE: apps/dashboard/src/components/icons/inbox-arrow-down.tsx function InboxArrowDown (line 3) | function InboxArrowDown(props: React.ComponentPropsWithoutRef<'svg'>) { FILE: apps/dashboard/src/components/icons/inbox-bell-filled-dev.tsx type InboxBellFilledProps (line 3) | type InboxBellFilledProps = { function InboxBellFilledDev (line 9) | function InboxBellFilledDev(props: HTMLAttributes & In... FILE: apps/dashboard/src/components/icons/inbox-bell-filled.tsx type InboxBellFilledProps (line 3) | type InboxBellFilledProps = { function InboxBellFilled (line 8) | function InboxBellFilled({ className, style }: InboxBellFilledProps) { FILE: apps/dashboard/src/components/icons/inbox-bell.tsx function InboxBell (line 4) | function InboxBell(props: React.ComponentPropsWithoutRef<'svg'>) { FILE: apps/dashboard/src/components/icons/inbox-ellipsis.tsx function InboxEllipsis (line 3) | function InboxEllipsis(props: React.ComponentPropsWithoutRef<'svg'>) { FILE: apps/dashboard/src/components/icons/inbox-settings.tsx function InboxSettings (line 3) | function InboxSettings(props: React.ComponentPropsWithoutRef<'svg'>) { FILE: apps/dashboard/src/components/icons/information-card-with-logo.tsx function InformationCardWithLogo (line 3) | function InformationCardWithLogo(props: React.ComponentPropsWithoutRef<'... FILE: apps/dashboard/src/components/icons/novu-icon.tsx function NovuIcon (line 1) | function NovuIcon(props: React.ComponentPropsWithoutRef<'svg'>) { FILE: apps/dashboard/src/components/icons/onboarding-arrow-left.tsx function OnboardingArrowLeft (line 1) | function OnboardingArrowLeft(props: React.SVGProps) { FILE: apps/dashboard/src/components/icons/paragraph-with-image.tsx function ParagraphWithImage (line 3) | function ParagraphWithImage(props: React.ComponentPropsWithoutRef<'svg'>) { FILE: apps/dashboard/src/components/icons/plug.tsx function Plug (line 1) | function Plug(props: React.ComponentPropsWithoutRef<'svg'>) { FILE: apps/dashboard/src/components/icons/repeat-play.tsx function RepeatPlay (line 3) | function RepeatPlay(props: React.ComponentPropsWithoutRef<'svg'>) { FILE: apps/dashboard/src/components/icons/route-fill.tsx function RouteFill (line 3) | function RouteFill(props: React.ComponentPropsWithoutRef<'svg'>) { FILE: apps/dashboard/src/components/icons/shield-zap.tsx function ShieldZap (line 1) | function ShieldZap(props: React.ComponentPropsWithoutRef<'svg'>) { FILE: apps/dashboard/src/components/icons/sparkling.tsx function Sparkling (line 1) | function Sparkling(props: React.ComponentPropsWithoutRef<'svg'>) { FILE: apps/dashboard/src/components/icons/stacked-dots.tsx function StackedDots (line 1) | function StackedDots(props: React.ComponentPropsWithoutRef<'svg'>) { FILE: apps/dashboard/src/components/icons/stacked-plus-line.tsx function StackedPlusLine (line 3) | function StackedPlusLine(props: React.ComponentPropsWithoutRef<'svg'>) { FILE: apps/dashboard/src/components/icons/target-arrow.tsx function TargetArrow (line 1) | function TargetArrow(props: React.ComponentPropsWithoutRef<'svg'>) { FILE: apps/dashboard/src/components/icons/trend-line-down.tsx function TrendLineDown (line 1) | function TrendLineDown(props: React.ComponentPropsWithoutRef<'svg'>) { FILE: apps/dashboard/src/components/icons/trend-line-up.tsx function TrendLineUp (line 1) | function TrendLineUp(props: React.ComponentPropsWithoutRef<'svg'>) { FILE: apps/dashboard/src/components/icons/utils.ts constant STEP_TYPE_TO_ICON (line 17) | const STEP_TYPE_TO_ICON: Record = { FILE: apps/dashboard/src/components/icons/version-control-dev.tsx type VersionControlDevProps (line 3) | type VersionControlDevProps = HTMLAttributes; FILE: apps/dashboard/src/components/icons/version-control-prod.tsx type VersionControlProdProps (line 3) | type VersionControlProdProps = HTMLAttributes; FILE: apps/dashboard/src/components/icons/workflow-trigger-inbox.tsx function WorkflowTriggerInboxIllustration (line 1) | function WorkflowTriggerInboxIllustration() { FILE: apps/dashboard/src/components/inbox-button.tsx type Window (line 14) | interface Window { FILE: apps/dashboard/src/components/integrations/components/channel-tabs.tsx type ChannelTabsProps (line 7) | type ChannelTabsProps = { function ChannelTabs (line 13) | function ChannelTabs({ integrationsByChannel, searchQuery, onIntegration... function EmptyState (line 45) | function EmptyState({ channel, searchQuery }: { channel: string; searchQ... FILE: apps/dashboard/src/components/integrations/components/configuration-group.tsx function ConfigurationGroup (line 8) | function ConfigurationGroup({ FILE: apps/dashboard/src/components/integrations/components/create-integration-sidebar.tsx type CreateIntegrationSidebarProps (line 22) | type CreateIntegrationSidebarProps = { function CreateIntegrationSidebar (line 26) | function CreateIntegrationSidebar({ isOpened }: CreateIntegrationSidebar... FILE: apps/dashboard/src/components/integrations/components/credential-section.tsx constant SECURE_CREDENTIALS (line 23) | const SECURE_CREDENTIALS = [ function FormLabel (line 32) | function FormLabel({ credential, tooltip }: { credential: IConfigCredent... function SwitchInput (line 40) | function SwitchInput({ constant NULL_DROPDOWN_VALUE (line 86) | const NULL_DROPDOWN_VALUE = '__null__'; function toSelectValue (line 88) | function toSelectValue(value: string | null | undefined): string { function fromSelectValue (line 94) | function fromSelectValue(value: string): string { function DropdownInput (line 100) | function DropdownInput({ function TextareaInput (line 138) | function TextareaInput({ function SecretInputControl (line 166) | function SecretInputControl({ function TextInputControl (line 193) | function TextInputControl({ function PushResources (line 227) | function PushResources({ credential, integrationId }: { credential: ICon... function InputControl (line 290) | function InputControl({ function CredentialSection (line 341) | function CredentialSection({ FILE: apps/dashboard/src/components/integrations/components/cross-channel-configs-group.tsx type CrossChannelConfigsGroupProps (line 7) | type CrossChannelConfigsGroupProps = { function CrossChannelConfigsGroup (line 14) | function CrossChannelConfigsGroup({ integrationId, control, isReadOnly, ... FILE: apps/dashboard/src/components/integrations/components/description-with-links.tsx type Link (line 1) | type Link = { type DescriptionWithLinksProps (line 6) | type DescriptionWithLinksProps = { function DescriptionWithLinks (line 31) | function DescriptionWithLinks({ description, links }: DescriptionWithLin... function processTextWithLinks (line 58) | function processTextWithLinks( FILE: apps/dashboard/src/components/integrations/components/hooks/use-integration-list.ts function useIntegrationList (line 14) | function useIntegrationList(searchQuery: string = '') { FILE: apps/dashboard/src/components/integrations/components/hooks/use-integration-primary-modal.tsx type SetPrimaryIntegrationParams (line 9) | type SetPrimaryIntegrationParams = { type UseIntegrationPrimaryModalProps (line 13) | type UseIntegrationPrimaryModalProps = { function useIntegrationPrimaryModal (line 22) | function useIntegrationPrimaryModal({ FILE: apps/dashboard/src/components/integrations/components/hooks/use-sidebar-navigation-manager.ts type UseSidebarNavigationManagerProps (line 4) | type UseSidebarNavigationManagerProps = { function useSidebarNavigationManager (line 11) | function useSidebarNavigationManager({ FILE: apps/dashboard/src/components/integrations/components/inbound-webhook-group.tsx type InboundWebhookGroupProps (line 13) | type InboundWebhookGroupProps = { function AutoConfigureStatus (line 23) | function AutoConfigureStatus({ state, message }: { state: 'idle' | 'load... function InboundWebhookGroup (line 66) | function InboundWebhookGroup({ FILE: apps/dashboard/src/components/integrations/components/inbound-webhook-url.tsx function generateInboundWebhookUrl (line 11) | function generateInboundWebhookUrl(environmentId: string, integrationId?... type InboundWebhookUrlProps (line 16) | interface InboundWebhookUrlProps { function InboundWebhookUrl (line 23) | function InboundWebhookUrl({ integrationId, autoConfigureState, provider... FILE: apps/dashboard/src/components/integrations/components/integration-card.tsx type IntegrationCardProps (line 29) | type IntegrationCardProps = { function IntegrationCard (line 36) | function IntegrationCard({ integration, provider, environment, onClick }... FILE: apps/dashboard/src/components/integrations/components/integration-channel-group.tsx type IntegrationChannelGroupProps (line 6) | type IntegrationChannelGroupProps = { function IntegrationChannelGroup (line 14) | function IntegrationChannelGroup({ FILE: apps/dashboard/src/components/integrations/components/integration-general-settings.tsx type GeneralSettingsProps (line 18) | type GeneralSettingsProps = { function GeneralSettings (line 32) | function GeneralSettings({ FILE: apps/dashboard/src/components/integrations/components/integration-list-item.tsx type IntegrationListItemProps (line 6) | type IntegrationListItemProps = { function IntegrationListItem (line 11) | function IntegrationListItem({ integration, onClick }: IntegrationListIt... FILE: apps/dashboard/src/components/integrations/components/integration-settings.tsx type IntegrationFormData (line 28) | type IntegrationFormData = { type IntegrationConfigurationProps (line 39) | type IntegrationConfigurationProps = { function generateSlug (line 50) | function generateSlug(name: string): string { function IntegrationSettings (line 59) | function IntegrationSettings({ FILE: apps/dashboard/src/components/integrations/components/integration-sheet-header.tsx type IntegrationSheetHeaderProps (line 7) | type IntegrationSheetHeaderProps = { function IntegrationSheetHeader (line 14) | function IntegrationSheetHeader({ provider, mode, onBack, step }: Integr... FILE: apps/dashboard/src/components/integrations/components/integration-sheet.tsx type IntegrationSheetProps (line 6) | type IntegrationSheetProps = { function IntegrationSheet (line 16) | function IntegrationSheet({ isOpened, onClose, provider, mode, step, onB... FILE: apps/dashboard/src/components/integrations/components/integrations-list.tsx type IntegrationsListProps (line 9) | type IntegrationsListProps = { function IntegrationCardSkeleton (line 13) | function IntegrationCardSkeleton() { function IntegrationChannelGroupSkeleton (line 36) | function IntegrationChannelGroupSkeleton() { function IntegrationsList (line 52) | function IntegrationsList({ onItemClick }: IntegrationsListProps) { FILE: apps/dashboard/src/components/integrations/components/modals/delete-integration-modal.tsx type DeleteIntegrationModalProps (line 6) | type DeleteIntegrationModalProps = { function DeleteIntegrationModal (line 14) | function DeleteIntegrationModal({ FILE: apps/dashboard/src/components/integrations/components/modals/select-primary-integration-modal.tsx type SelectPrimaryIntegrationModalProps (line 6) | type SelectPrimaryIntegrationModalProps = { function SelectPrimaryIntegrationModal (line 17) | function SelectPrimaryIntegrationModal({ FILE: apps/dashboard/src/components/integrations/components/provider-icon.tsx type ProviderIconProps (line 3) | interface ProviderIconProps { function ProviderIcon (line 9) | function ProviderIcon({ providerId, providerDisplayName, className }: Pr... FILE: apps/dashboard/src/components/integrations/components/update-integration-sidebar.tsx type UpdateIntegrationSidebarProps (line 22) | type UpdateIntegrationSidebarProps = { function UpdateIntegrationSidebar (line 26) | function UpdateIntegrationSidebar({ isOpened }: UpdateIntegrationSidebar... FILE: apps/dashboard/src/components/integrations/components/utils/handle-integration-error.ts function extractCheckIntegrationCode (line 5) | function extractCheckIntegrationCode(rawError: unknown): string | undefi... function formatValidationMessages (line 18) | function formatValidationMessages(rawError: unknown): string | undefined { function handleIntegrationError (line 43) | function handleIntegrationError(error: any, operation: 'update' | 'creat... FILE: apps/dashboard/src/components/integrations/components/utils/helpers.ts function isDemoIntegration (line 10) | function isDemoIntegration(providerId: string) { function configurationToCredential (line 18) | function configurationToCredential(config: ConfigConfiguration): IConfig... constant OBJECT_CREDENTIAL_KEYS (line 35) | const OBJECT_CREDENTIAL_KEYS = new Set([CredentialsKeyEnum.TlsOp... function cleanCredentials (line 37) | function cleanCredentials(credentials: Record): Record<... FILE: apps/dashboard/src/components/integrations/types.ts type TableIntegration (line 3) | type TableIntegration = { type IntegrationFormData (line 16) | type IntegrationFormData = { type IntegrationStep (line 27) | type IntegrationStep = 'select' | 'configure'; FILE: apps/dashboard/src/components/integrations/utils/channels.ts constant INTEGRATION_CHANNELS (line 3) | const INTEGRATION_CHANNELS = [ type IntegrationChannel (line 10) | type IntegrationChannel = (typeof INTEGRATION_CHANNELS)[number]; FILE: apps/dashboard/src/components/issues-panel.tsx type IssuesPanelProps (line 8) | type IssuesPanelProps = { function IssuesPanel (line 19) | function IssuesPanel({ FILE: apps/dashboard/src/components/layouts/create-layout-form.tsx type CreateLayoutFormProps (line 20) | interface CreateLayoutFormProps { function CreateLayoutForm (line 28) | function CreateLayoutForm({ onSubmit, template }: CreateLayoutFormProps) { FILE: apps/dashboard/src/components/layouts/delete-layout-dialog.tsx type DeleteLayoutDialogProps (line 6) | type DeleteLayoutDialogProps = { FILE: apps/dashboard/src/components/layouts/hooks/use-layouts-url-state.tsx constant LAYOUTS_TABLE_ID (line 6) | const LAYOUTS_TABLE_ID = 'layouts-list'; type LayoutsSortableColumn (line 8) | type LayoutsSortableColumn = 'name' | 'createdAt' | 'updatedAt'; type LayoutsFilter (line 10) | type LayoutsFilter = { type LayoutsUrlState (line 26) | type LayoutsUrlState = { FILE: apps/dashboard/src/components/layouts/layout-breadcrumbs.tsx type BreadcrumbData (line 19) | type BreadcrumbData = { FILE: apps/dashboard/src/components/layouts/layout-control-input.tsx type LayoutControlInputProps (line 26) | type LayoutControlInputProps = { function LayoutControlInput (line 43) | function LayoutControlInput({ FILE: apps/dashboard/src/components/layouts/layout-editor-factory.tsx function NoEditorAvailable (line 4) | function NoEditorAvailable({ message }: { message: string }) { function LayoutEditorFactory (line 8) | function LayoutEditorFactory() { FILE: apps/dashboard/src/components/layouts/layout-editor-provider.tsx type ParsedData (line 37) | type ParsedData = { subscriber: Partial; context: Context... function parseJsonValue (line 39) | function parseJsonValue(value: string): ParsedData { function usePrevious (line 56) | function usePrevious(value: T): T | undefined { function useLocaleSynchronization (line 64) | function useLocaleSynchronization({ type LayoutContextType (line 121) | type LayoutContextType = { FILE: apps/dashboard/src/components/layouts/layout-editor-settings-drawer.tsx type LayoutSettingsFormData (line 52) | type LayoutSettingsFormData = z.infer; type LayoutEditorSettingsDrawerProps (line 61) | type LayoutEditorSettingsDrawerProps = { FILE: apps/dashboard/src/components/layouts/layout-email-editor.tsx type EmailEditorProps (line 5) | type EmailEditorProps = { uiSchema: UiSchema }; FILE: apps/dashboard/src/components/layouts/layout-list.tsx constant LAYOUTS_TABLE_ID (line 11) | const LAYOUTS_TABLE_ID = 'layouts-list'; type LayoutListFiltersProps (line 33) | type LayoutListFiltersProps = HTMLAttributes & type LayoutListTableProps (line 58) | type LayoutListTableProps = HTMLAttributes & { type LayoutListProps (line 129) | type LayoutListProps = HTMLAttributes; FILE: apps/dashboard/src/components/layouts/layout-row.tsx type LayoutRowProps (line 39) | type LayoutRowProps = { FILE: apps/dashboard/src/components/layouts/layouts-filters.tsx type LayoutsFiltersProps (line 10) | type LayoutsFiltersProps = HTMLAttributes & { function LayoutsFilters (line 17) | function LayoutsFilters(props: LayoutsFiltersProps) { FILE: apps/dashboard/src/components/layouts/schema.ts constant MAX_NAME_LENGTH (line 3) | const MAX_NAME_LENGTH = 64; constant MAX_DESCRIPTION_LENGTH (line 4) | const MAX_DESCRIPTION_LENGTH = 256; FILE: apps/dashboard/src/components/maily/blocks/block-custom-preview.tsx function BlockCustomPreview (line 1) | function BlockCustomPreview({ src, description, alt }: { src: string; de... FILE: apps/dashboard/src/components/maily/maily-config.tsx constant VARIABLE_TRIGGER_CHARACTER (line 66) | const VARIABLE_TRIGGER_CHARACTER = '{{'; type BlockType (line 68) | type BlockType = type BlockConfig (line 91) | type BlockConfig = { constant DEFAULT_BLOCK_CONFIG (line 113) | const DEFAULT_BLOCK_CONFIG: BlockConfig = { type ButtonAttributes (line 156) | interface ButtonAttributes extends MailyButtonAttributes { type ImageAttributes (line 160) | interface ImageAttributes extends MailyImageAttributes { type InlineImageAttributes (line 164) | interface InlineImageAttributes extends MailyInlineImageAttributes { type LogoAttributes (line 168) | interface LogoAttributes extends MailyLogoAttributes { type LinkAttributes (line 172) | interface LinkAttributes extends MailyLinkAttributes { constant MAILY_EMAIL_WIDTH (line 183) | const MAILY_EMAIL_WIDTH = 600; constant DEFAULT_EDITOR_CONFIG (line 185) | const DEFAULT_EDITOR_CONFIG = { method addNodeView (line 370) | addNodeView() { method addAttributes (line 375) | addAttributes() { method addNodeView (line 397) | addNodeView() { method addAttributes (line 407) | addAttributes() { method addNodeView (line 449) | addNodeView() { method addAttributes (line 463) | addAttributes() { method addCommands (line 474) | addCommands() { method addAttributes (line 496) | addAttributes() { method addCommands (line 507) | addCommands() { method addAttributes (line 529) | addAttributes() { method addCommands (line 540) | addCommands() { method addAttributes (line 562) | addAttributes() { method addCommands (line 573) | addCommands() { FILE: apps/dashboard/src/components/maily/maily.tsx type MailyProps (line 20) | type MailyProps = HTMLAttributes & { FILE: apps/dashboard/src/components/maily/repeat-block-aliases.ts constant REPEAT_BLOCK_ITERABLE_ALIAS (line 4) | const REPEAT_BLOCK_ITERABLE_ALIAS = 'current'; constant ALLOWED_ALIASES (line 5) | const ALLOWED_ALIASES = [REPEAT_BLOCK_ITERABLE_ALIAS]; function isAllowedAlias (line 7) | function isAllowedAlias(variableName: string): boolean { FILE: apps/dashboard/src/components/maily/repeat-menu-description.tsx function RepeatMenuDescription (line 8) | function RepeatMenuDescription({ editor }: { editor: Editor }) { FILE: apps/dashboard/src/components/maily/types.ts type VariableFrom (line 1) | enum VariableFrom { FILE: apps/dashboard/src/components/maily/variables.ts function addContextVariableSuggestions (line 15) | function addContextVariableSuggestions( type CalculateVariablesProps (line 50) | type CalculateVariablesProps = { FILE: apps/dashboard/src/components/maily/views/for-view.tsx function ForView (line 7) | function ForView(props: NodeViewProps) { FILE: apps/dashboard/src/components/maily/views/html-view.tsx type HtmlCodeBlockAttributes (line 7) | type HtmlCodeBlockAttributes = { type NodeContent (line 13) | type NodeContent = { constant EMAIL_RESET_MARGIN_STYLES (line 31) | const EMAIL_RESET_MARGIN_STYLES = ` function CodeView (line 41) | function CodeView() { function PreviewView (line 51) | function PreviewView(props: { node: NodeViewRendererProps['node']; onCli... function HTMLCodeBlockView (line 115) | function HTMLCodeBlockView(props: NodeViewProps) { FILE: apps/dashboard/src/components/maily/views/maily-variables-list-view.tsx type ExtendedVariable (line 14) | interface ExtendedVariable extends Variable { type VariableSuggestionsPopoverProps (line 19) | type VariableSuggestionsPopoverProps = { type VariableSuggestionsPopoverRef (line 25) | type VariableSuggestionsPopoverRef = { function isNewVariable (line 134) | function isNewVariable(item: Variable): item is ExtendedVariable { function hasDisplayLabel (line 138) | function hasDisplayLabel(item: Variable): item is ExtendedVariable { FILE: apps/dashboard/src/components/maily/views/variable-view.tsx type ParsedVariableData (line 16) | interface ParsedVariableData { function parseVariableWithFallback (line 23) | function parseVariableWithFallback(variable: string, fallbackName?: stri... function createLiquidVariable (line 54) | function createLiquidVariable(fullLiquidExpression: string, aliasFor?: s... function NodeVariablePill (line 62) | function NodeVariablePill( function BubbleMenuVariablePill (line 159) | function BubbleMenuVariablePill({ function createVariableNodeView (line 289) | function createVariableNodeView(variables: LiquidVariable[], isAllowedVa... FILE: apps/dashboard/src/components/mobile-desktop-prompt.tsx constant MOBILE_PROMPT_DISMISSED_KEY (line 6) | const MOBILE_PROMPT_DISMISSED_KEY = 'novu-mobile-prompt-dismissed'; function MobileDesktopPrompt (line 8) | function MobileDesktopPrompt() { FILE: apps/dashboard/src/components/onboarding/animated-page.tsx type AnimatedPageProps (line 5) | interface AnimatedPageProps { function AnimatedPage (line 10) | function AnimatedPage({ children, className }: AnimatedPageProps) { FILE: apps/dashboard/src/components/onboarding/stepper.tsx type StepperProps (line 1) | interface StepperProps { function Stepper (line 6) | function Stepper({ currentStep, totalSteps }: StepperProps) { FILE: apps/dashboard/src/components/page-meta.tsx constant DEFAULT_DESCRIPTION (line 3) | const DEFAULT_DESCRIPTION = type Props (line 6) | type Props = { function PageMeta (line 11) | function PageMeta({ title, description }: Props) { FILE: apps/dashboard/src/components/pause-workflow-dialog.tsx constant PAUSE_MODAL_TITLE (line 10) | const PAUSE_MODAL_TITLE = 'Proceeding will pause the workflow'; FILE: apps/dashboard/src/components/preview-context-section.tsx function PreviewContextSection (line 10) | function PreviewContextSection({ FILE: apps/dashboard/src/components/preview-env-section.tsx function PreviewEnvSection (line 14) | function PreviewEnvSection({ schema, env, onUpdate }: EnvSectionProps) { FILE: apps/dashboard/src/components/preview-subscriber-section.tsx function PreviewSubscriberSection (line 11) | function PreviewSubscriberSection({ FILE: apps/dashboard/src/components/primitives/accordion.tsx type AccordionTriggerProps (line 21) | type AccordionTriggerProps = React.ComponentPropsWithoutRef { function Autocomplete (line 37) | function Autocomplete({ FILE: apps/dashboard/src/components/primitives/badge.tsx constant BADGE_ROOT_NAME (line 10) | const BADGE_ROOT_NAME = 'BadgeRoot'; constant BADGE_ICON_NAME (line 11) | const BADGE_ICON_NAME = 'BadgeIcon'; constant BADGE_DOT_NAME (line 12) | const BADGE_DOT_NAME = 'BadgeDot'; type BadgeSharedProps (line 398) | type BadgeSharedProps = VariantProps; type BadgeRootProps (line 400) | type BadgeRootProps = VariantProps & function BadgeIcon (line 434) | function BadgeIcon({ type BadgeDotProps (line 450) | type BadgeDotProps = BadgeSharedProps & Omit & function CompactButtonIcon (line 120) | function CompactButtonIcon({ FILE: apps/dashboard/src/components/primitives/button-group.tsx constant BUTTON_GROUP_ROOT_NAME (line 9) | const BUTTON_GROUP_ROOT_NAME = 'ButtonGroupRoot'; constant BUTTON_GROUP_ITEM_NAME (line 10) | const BUTTON_GROUP_ITEM_NAME = 'ButtonGroupItem'; constant BUTTON_GROUP_ICON_NAME (line 11) | const BUTTON_GROUP_ICON_NAME = 'ButtonGroupIcon'; type ButtonGroupSharedProps (line 79) | type ButtonGroupSharedProps = VariantProps; type ButtonGroupRootProps (line 81) | type ButtonGroupRootProps = VariantProps & type ButtonGroupItemProps (line 113) | type ButtonGroupItemProps = ButtonGroupSharedProps & function ButtonGroupIcon (line 132) | function ButtonGroupIcon({ function ButtonGroupText (line 146) | function ButtonGroupText({ FILE: apps/dashboard/src/components/primitives/button-link.tsx constant LINK_BUTTON_ROOT_NAME (line 10) | const LINK_BUTTON_ROOT_NAME = 'LinkButtonRoot'; constant LINK_BUTTON_ICON_NAME (line 11) | const LINK_BUTTON_ICON_NAME = 'LinkButtonIcon'; type LinkButtonSharedProps (line 82) | type LinkButtonSharedProps = VariantProps; type LinkButtonProps (line 84) | type LinkButtonProps = VariantProps & function LinkButtonIcon (line 117) | function LinkButtonIcon({ FILE: apps/dashboard/src/components/primitives/button.tsx constant BUTTON_ROOT_NAME (line 11) | const BUTTON_ROOT_NAME = 'ButtonRoot'; constant BUTTON_ICON_NAME (line 12) | const BUTTON_ICON_NAME = 'ButtonIcon'; type ButtonSharedProps (line 300) | type ButtonSharedProps = VariantProps; type ButtonRootProps (line 302) | type ButtonRootProps = VariantProps & type ButtonProps (line 354) | type ButtonProps = React.ComponentPropsWithoutRef & { function ButtonIcon (line 378) | function ButtonIcon({ FILE: apps/dashboard/src/components/primitives/chart.tsx constant THEMES (line 8) | const THEMES = { light: '', dark: '.dark' } as const; type ChartConfig (line 10) | type ChartConfig = { type ChartContextProps (line 17) | type ChartContextProps = { function useChart (line 23) | function useChart() { function getPayloadConfigFromPayload (line 277) | function getPayloadConfigFromPayload(config: ChartConfig, payload: unkno... type NovuTooltipRow (line 302) | type NovuTooltipRow = { type TooltipPayloadItem (line 310) | type TooltipPayloadItem = { type NovuTooltipProps (line 319) | type NovuTooltipProps = { FILE: apps/dashboard/src/components/primitives/checkbox.tsx function IconCheck (line 7) | function IconCheck({ ...rest }: React.SVGProps) { function IconIndeterminate (line 15) | function IconIndeterminate({ ...rest }: React.SVGProps) { FILE: apps/dashboard/src/components/primitives/code-block.tsx type Language (line 28) | type Language = keyof typeof languageMap; type CodeBlockProps (line 88) | interface CodeBlockProps { function CodeBlock (line 139) | function CodeBlock({ FILE: apps/dashboard/src/components/primitives/color-picker.tsx type ColorPickerProps (line 6) | interface ColorPickerProps { function ColorPicker (line 13) | function ColorPicker({ value, onChange, className, pureInput = true }: C... FILE: apps/dashboard/src/components/primitives/command.tsx type CommandDialogProps (line 25) | type CommandDialogProps = DialogProps; FILE: apps/dashboard/src/components/primitives/copy-button.tsx type CopyButtonProps (line 7) | type CopyButtonProps = { FILE: apps/dashboard/src/components/primitives/copy-to-clipboard.tsx type CopyToClipboardProps (line 6) | interface CopyToClipboardProps { function CopyToClipboard (line 14) | function CopyToClipboard({ FILE: apps/dashboard/src/components/primitives/dialog.tsx type DialogFooterProps (line 80) | type DialogFooterProps = React.HTMLAttributes & VariantP... FILE: apps/dashboard/src/components/primitives/editor.tsx type EditorProps (line 284) | type EditorProps = { FILE: apps/dashboard/src/components/primitives/environment-branch-icon.tsx type EnvironmentBranchIconProps (line 36) | interface EnvironmentBranchIconProps { function EnvironmentBranchIcon (line 43) | function EnvironmentBranchIcon({ FILE: apps/dashboard/src/components/primitives/form/avatar-picker.tsx type AvatarPickerProps (line 18) | type AvatarPickerProps = { FILE: apps/dashboard/src/components/primitives/form/faceted-filter/components/base-filter-content.tsx type BaseFilterContentProps (line 8) | interface BaseFilterContentProps { function BaseFilterContent (line 23) | function BaseFilterContent({ FILE: apps/dashboard/src/components/primitives/form/faceted-filter/components/clear-button.tsx type ClearButtonProps (line 6) | interface ClearButtonProps { function ClearButton (line 14) | function ClearButton({ onClick, size, label = 'Clear filter', className ... FILE: apps/dashboard/src/components/primitives/form/faceted-filter/components/filter-badge.tsx type FilterBadgeProps (line 6) | interface FilterBadgeProps { function FilterBadge (line 12) | function FilterBadge({ content, size, className }: FilterBadgeProps) { FILE: apps/dashboard/src/components/primitives/form/faceted-filter/components/filter-input.tsx type FilterInputProps (line 7) | interface FilterInputProps { function FilterInput (line 16) | function FilterInput({ inputRef, value, onChange, placeholder, size, sho... FILE: apps/dashboard/src/components/primitives/form/faceted-filter/components/multi-filter-content.tsx type MultiFilterContentProps (line 7) | type MultiFilterContentProps = { function MultiFilterContent (line 22) | function MultiFilterContent({ FILE: apps/dashboard/src/components/primitives/form/faceted-filter/components/single-filter-content.tsx type SingleFilterContentProps (line 8) | interface SingleFilterContentProps { function SingleFilterContent (line 22) | function SingleFilterContent({ FILE: apps/dashboard/src/components/primitives/form/faceted-filter/components/text-filter-content.tsx type TextFilterContentProps (line 4) | interface TextFilterContentProps { function TextFilterContent (line 16) | function TextFilterContent({ FILE: apps/dashboard/src/components/primitives/form/faceted-filter/facated-form-filter.tsx function FacetedFormFilter (line 13) | function FacetedFormFilter({ FILE: apps/dashboard/src/components/primitives/form/faceted-filter/hooks/use-keyboard-navigation.ts type UseKeyboardNavigationProps (line 4) | interface UseKeyboardNavigationProps { function useKeyboardNavigation (line 10) | function useKeyboardNavigation({ options, onSelect, initialSelectedValue... FILE: apps/dashboard/src/components/primitives/form/faceted-filter/styles.ts constant STYLES (line 1) | const STYLES = { FILE: apps/dashboard/src/components/primitives/form/faceted-filter/types.ts type ValueType (line 3) | type ValueType = 'single' | 'multi' | 'text'; type SizeType (line 4) | type SizeType = 'default' | 'small'; type FilterOption (line 6) | interface FilterOption { type FacetedFilterProps (line 13) | interface FacetedFilterProps { FILE: apps/dashboard/src/components/primitives/form/form-context.ts type FormFieldContextValue (line 4) | type FormFieldContextValue< type FormItemContextValue (line 13) | type FormItemContextValue = { FILE: apps/dashboard/src/components/primitives/form/form.tsx type FormMessagePureProps (line 126) | type FormMessagePureProps = React.HTMLAttributes &... FILE: apps/dashboard/src/components/primitives/help-tooltip-indicator.tsx type HelpTooltipIndicatorProps (line 5) | interface HelpTooltipIndicatorProps { function HelpTooltipIndicator (line 11) | function HelpTooltipIndicator({ text, className, size = '4' }: HelpToolt... FILE: apps/dashboard/src/components/primitives/hint.tsx constant HINT_ROOT_NAME (line 7) | const HINT_ROOT_NAME = 'HintRoot'; constant HINT_ICON_NAME (line 8) | const HINT_ICON_NAME = 'HintIcon'; type HintSharedProps (line 31) | type HintSharedProps = VariantProps; type HintRootProps (line 33) | type HintRootProps = VariantProps & React.HTMLAttri... function HintRoot (line 35) | function HintRoot({ children, hasError, disabled, className, ...rest }: ... function HintIcon (line 60) | function HintIcon({ FILE: apps/dashboard/src/components/primitives/inline-toast.tsx constant VARIANT_COLORS (line 21) | const VARIANT_COLORS = { constant BUTTON_COLORS (line 29) | const BUTTON_COLORS = { type InlineToastProps (line 37) | interface InlineToastProps function InlineToast (line 48) | function InlineToast({ FILE: apps/dashboard/src/components/primitives/input-group.tsx function InputGroup (line 8) | function InputGroup({ className, ...props }: React.ComponentProps<'div'>) { function InputGroupAddon (line 54) | function InputGroupAddon({ function InputGroupButton (line 90) | function InputGroupButton({ function InputGroupText (line 110) | function InputGroupText({ className, ...props }: React.ComponentProps<'s... function InputGroupInput (line 122) | function InputGroupInput({ function InputGroupTextarea (line 140) | function InputGroupTextarea({ FILE: apps/dashboard/src/components/primitives/input.tsx constant INPUT_ROOT_NAME (line 9) | const INPUT_ROOT_NAME = 'InputRoot'; constant INPUT_WRAPPER_NAME (line 10) | const INPUT_WRAPPER_NAME = 'InputWrapper'; constant INPUT_EL_NAME (line 11) | const INPUT_EL_NAME = 'InputEl'; constant INPUT_ICON_NAME (line 12) | const INPUT_ICON_NAME = 'InputIcon'; constant INPUT_AFFIX_NAME (line 13) | const INPUT_AFFIX_NAME = 'InputAffixButton'; constant INPUT_INLINE_AFFIX_NAME (line 14) | const INPUT_INLINE_AFFIX_NAME = 'InputInlineAffixButton'; type InputSharedProps (line 168) | type InputSharedProps = VariantProps; function InputWrapper (line 206) | function InputWrapper({ type InputProps (line 260) | type InputProps = Omit, 'onChange'> & function InputIcon (line 306) | function InputIcon({ function InputAffix (line 321) | function InputAffix({ function InputInlineAffix (line 342) | function InputInlineAffix({ FILE: apps/dashboard/src/components/primitives/kbd.tsx function Kbd (line 4) | function Kbd({ className, ...rest }: React.HTMLAttributes) { FILE: apps/dashboard/src/components/primitives/label.tsx function LabelAsterisk (line 28) | function LabelAsterisk({ className, children, ...rest }: React.HTMLAttri... function LabelSub (line 44) | function LabelSub({ children, className, ...rest }: React.HTMLAttributes... FILE: apps/dashboard/src/components/primitives/loading-indicator.tsx type LoadingIndicatorProps (line 3) | type LoadingIndicatorProps = { function LoadingIndicator (line 8) | function LoadingIndicator({ className, size = 'sm' }: LoadingIndicatorPr... FILE: apps/dashboard/src/components/primitives/locale-select.tsx type BaseLocaleSelectProps (line 11) | type BaseLocaleSelectProps = { type SingleSelectProps (line 19) | type SingleSelectProps = BaseLocaleSelectProps & { type MultiSelectProps (line 25) | type MultiSelectProps = BaseLocaleSelectProps & { type LocaleSelectProps (line 31) | type LocaleSelectProps = SingleSelectProps | MultiSelectProps; constant COMMON_LOCALES (line 34) | const COMMON_LOCALES = getCommonLocales(); function useLocaleFiltering (line 37) | function useLocaleFiltering(availableLocales?: string[], searchValue: st... function SingleSelectTrigger (line 83) | function SingleSelectTrigger({ value, placeholder }: { value?: string; p... function MultiSelectTrigger (line 105) | function MultiSelectTrigger({ value, placeholder }: { value?: string[]; ... function LocaleSelect (line 148) | function LocaleSelect(props: LocaleSelectProps) { FILE: apps/dashboard/src/components/primitives/pagination.tsx type PaginationLinkProps (line 39) | type PaginationLinkProps = { FILE: apps/dashboard/src/components/primitives/permission-button.tsx type PermissionButtonProps (line 7) | interface PermissionButtonProps extends ButtonProps { FILE: apps/dashboard/src/components/primitives/permission-switch.tsx type PermissionSwitchProps (line 6) | interface PermissionSwitchProps { FILE: apps/dashboard/src/components/primitives/phone-input.tsx type PhoneInputProps (line 11) | type PhoneInputProps = Omit, 'onChange' | ... constant E164_REGEX (line 16) | const E164_REGEX = /^\+[1-9]\d{1,14}$/; function sanitizePhoneValue (line 18) | function sanitizePhoneValue(value: RPNInput.Value | string | undefined):... type CountryEntry (line 52) | type CountryEntry = { label: string; value: RPNInput.Country | undefined }; type CountrySelectProps (line 54) | type CountrySelectProps = { type CountrySelectOptionProps (line 137) | interface CountrySelectOptionProps extends RPNInput.FlagProps { FILE: apps/dashboard/src/components/primitives/popover.tsx constant DEFAULT_SIDE_OFFSET (line 18) | const DEFAULT_SIDE_OFFSET = 4; FILE: apps/dashboard/src/components/primitives/progress.tsx type ProgressProps (line 20) | type ProgressProps = React.ComponentPropsWithoutRef { function SecretInput (line 12) | function SecretInput({ className, value, onChange, copyButton = false, .... FILE: apps/dashboard/src/components/primitives/select.tsx type SelectTriggerProps (line 31) | type SelectTriggerProps = React.ComponentPropsWithoutRef; type ToastProps (line 35) | type ToastProps = React.HTMLAttributes & VariantProps; type StatusBadgeRootProps (line 92) | type StatusBadgeRootProps = React.HTMLAttributes & function StatusBadgeIcon (line 125) | function StatusBadgeIcon({ function StatusBadgeDot (line 139) | function StatusBadgeDot({ FILE: apps/dashboard/src/components/primitives/step.tsx type StepProps (line 33) | interface StepProps extends React.HTMLAttributes, Varian... function Step (line 35) | function Step({ className, variant, ...props }: StepProps) { FILE: apps/dashboard/src/components/primitives/table-pagination-footer.tsx type PaginationGroupProps (line 8) | type PaginationGroupProps = { function PaginationGroup (line 12) | function PaginationGroup({ children }: PaginationGroupProps) { type PaginationNavButtonProps (line 18) | type PaginationNavButtonProps = { function PaginationNavButton (line 25) | function PaginationNavButton({ children, disabled, onClick, 'aria-label'... type TablePaginationFooterProps (line 41) | type TablePaginationFooterProps = { function TablePaginationFooter (line 56) | function TablePaginationFooter({ FILE: apps/dashboard/src/components/primitives/table.tsx type TableProps (line 7) | interface TableProps extends React.HTMLAttributes { type TableHeadSortDirection (line 14) | type TableHeadSortDirection = DirectionEnum | false; type TableHeadProps (line 15) | interface TableHeadProps extends React.ThHTMLAttributes; type TableBodyProps (line 22) | type TableBodyProps = React.HTMLAttributes; type TableFooterProps (line 23) | type TableFooterProps = React.HTMLAttributes; type TableRowProps (line 24) | type TableRowProps = React.HTMLAttributes; type TableCellProps (line 25) | type TableCellProps = React.TdHTMLAttributes; FILE: apps/dashboard/src/components/primitives/tabs.tsx type TabsListProps (line 28) | type TabsListProps = React.ComponentPropsWithoutRef, '... FILE: apps/dashboard/src/components/primitives/tag.tsx constant TAG_ROOT_NAME (line 10) | const TAG_ROOT_NAME = 'TagRoot'; constant TAG_ICON_NAME (line 11) | const TAG_ICON_NAME = 'TagIcon'; constant TAG_DISMISS_BUTTON_NAME (line 12) | const TAG_DISMISS_BUTTON_NAME = 'TagDismissButton'; constant TAG_DISMISS_ICON_NAME (line 13) | const TAG_DISMISS_ICON_NAME = 'TagDismissIcon'; type TagSharedProps (line 76) | type TagSharedProps = VariantProps; type TagRootProps (line 78) | type TagRootProps = VariantProps & function TagIcon (line 111) | function TagIcon({ type TagDismissButtonProps (line 126) | type TagDismissButtonProps = TagSharedProps & function TagDismissIcon (line 145) | function TagDismissIcon({ type TagProps (line 160) | type TagProps = { FILE: apps/dashboard/src/components/primitives/text-separator.tsx type TextSeparatorProps (line 5) | interface TextSeparatorProps extends React.HTMLAttributes { function TextSeparator (line 9) | function TextSeparator({ text, className, ...props }: TextSeparatorProps) { FILE: apps/dashboard/src/components/primitives/textarea.tsx constant TEXTAREA_ROOT_NAME (line 6) | const TEXTAREA_ROOT_NAME = 'TextareaRoot'; constant TEXTAREA_NAME (line 7) | const TEXTAREA_NAME = 'Textarea'; constant TEXTAREA_RESIZE_HANDLE_NAME (line 8) | const TEXTAREA_RESIZE_HANDLE_NAME = 'TextareaResizeHandle'; constant TEXTAREA_COUNTER_NAME (line 9) | const TEXTAREA_COUNTER_NAME = 'TextareaCounter'; function ResizeHandle (line 72) | function ResizeHandle() { type TextareaProps (line 84) | type TextareaProps = React.TextareaHTMLAttributes & function CharCounter (line 157) | function CharCounter({ FILE: apps/dashboard/src/components/primitives/timeline.tsx function TimelineStepNumber (line 3) | function TimelineStepNumber({ index }: { index: number }) { function TimelineLine (line 11) | function TimelineLine({ variant = 'default' }: { variant?: 'default' | '... type TimelineStepProps (line 32) | interface TimelineStepProps { function TimelineStep (line 42) | function TimelineStep({ type TimelineContainerProps (line 87) | interface TimelineContainerProps { function TimelineContainer (line 93) | function TimelineContainer({ children, variant = 'default', className = ... FILE: apps/dashboard/src/components/primitives/tooltip.tsx type TooltipContentProps (line 36) | type TooltipContentProps = React.ComponentPropsWithoutRef) { FILE: apps/dashboard/src/components/schema-editor/hooks/use-schema-property-type.ts function useSchemaPropertyType (line 10) | function useSchemaPropertyType(definition?: JSONSchema7): JSONSchema7Typ... FILE: apps/dashboard/src/components/schema-editor/schema-editor.tsx type SchemaEditorProps (line 12) | interface SchemaEditorProps { function SchemaEditor (line 26) | function SchemaEditor({ FILE: apps/dashboard/src/components/schema-editor/schema-property-row.tsx type SchemaPropertyRowProps (line 21) | interface SchemaPropertyRowProps { FILE: apps/dashboard/src/components/schema-editor/schema-property-settings-popover.tsx type SchemaPropertySettingsPopoverProps (line 18) | interface SchemaPropertySettingsPopoverProps { function parseDefaultValue (line 29) | function parseDefaultValue(value: string | undefined, type: JSONSchema7T... constant NONE_FORMAT_VALUE (line 59) | const NONE_FORMAT_VALUE = '_NONE_'; constant JSON_SCHEMA_FORMATS (line 61) | const JSON_SCHEMA_FORMATS = [ FILE: apps/dashboard/src/components/schema-editor/types/schema-form.types.ts type SchemaFormPath (line 5) | type SchemaFormPath = type UseSchemaFormProps (line 11) | interface UseSchemaFormProps { type UseSchemaFormReturn (line 17) | interface UseSchemaFormReturn { FILE: apps/dashboard/src/components/schema-editor/use-schema-form.ts constant DEBOUNCE_DELAY (line 24) | const DEBOUNCE_DELAY = 300; function useSchemaForm (line 26) | function useSchemaForm({ initialSchema, onChange, onValidityChange }: Us... function createSchemaFromPropertyList (line 148) | function createSchemaFromPropertyList(propertyList: PropertyListItem[]):... function appendRootProperty (line 158) | function appendRootProperty( function addRootLevelProperty (line 167) | function addRootLevelProperty( function addNestedProperty (line 185) | function addNestedProperty( FILE: apps/dashboard/src/components/schema-editor/utils/check-variable-usage.ts function extractVariablesFromContent (line 7) | function extractVariablesFromContent(content: string): string[] { function extractVariablesFromMailyNode (line 25) | function extractVariablesFromMailyNode(node: any): string[] { function extractVariablesFromValue (line 107) | function extractVariablesFromValue(value: unknown): string[] { function buildFullPropertyPath (line 147) | function buildFullPropertyPath(parentPath: string, propertyKey: string):... function isVariableUsedInStep (line 162) | function isVariableUsedInStep(variableKey: string, step: StepResponseDto... type VariableUsageInfo (line 188) | interface VariableUsageInfo { function checkVariableUsageInWorkflow (line 203) | function checkVariableUsageInWorkflow( FILE: apps/dashboard/src/components/schema-editor/utils/json-helpers.ts function carryOverCommonKeywords (line 4) | function carryOverCommonKeywords(originalSchema: JSONSchema7, newSchema:... function newProperty (line 30) | function newProperty(type: JSONSchema7TypeName = 'string'): JSONSchema7 { function ensureObject (line 44) | function ensureObject(schema: JSONSchema7): JSONSchema7 { function ensureArray (line 60) | function ensureArray(schema: JSONSchema7): JSONSchema7 { function ensureString (line 84) | function ensureString(schema: JSONSchema7): JSONSchema7 { function ensureNumberOrInteger (line 103) | function ensureNumberOrInteger(schema: JSONSchema7, newType: 'number' | ... function ensureBoolean (line 122) | function ensureBoolean(schema: JSONSchema7): JSONSchema7 { function ensureNull (line 137) | function ensureNull(schema: JSONSchema7): JSONSchema7 { function ensureEnum (line 152) | function ensureEnum(schema: JSONSchema7): JSONSchema7 { FILE: apps/dashboard/src/components/schema-editor/utils/property-manager.ts type PropertyPath (line 6) | interface PropertyPath { type PropertyData (line 12) | interface PropertyData { function parsePropertyPath (line 20) | function parsePropertyPath(fullPath: string): PropertyPath | null { function createPropertyItem (line 37) | function createPropertyItem( function findOrCreatePropertyPath (line 50) | function findOrCreatePropertyPath(propertyList: PropertyListItem[], path... function createObjectProperty (line 75) | function createObjectProperty(keyName: string): PropertyListItem { function convertToObjectProperty (line 89) | function convertToObjectProperty(item: PropertyListItem): void { function propertyExists (line 105) | function propertyExists(propertyList: PropertyListItem[], keyName: strin... FILE: apps/dashboard/src/components/schema-editor/utils/schema-change-detection.ts type SchemaChange (line 4) | interface SchemaChange { type SchemaChanges (line 15) | interface SchemaChanges { function getSchemaProperties (line 23) | function getSchemaProperties(schema?: JSONSchema7): Record; type SchemaEditorFormValues (line 97) | type SchemaEditorFormValues = z.infer; FILE: apps/dashboard/src/components/settings/novu-branding-switch.tsx type NovuBrandingSwitchProps (line 7) | type NovuBrandingSwitchProps = { function NovuBrandingSwitch (line 14) | function NovuBrandingSwitch({ id, value, onChange, isReadOnly }: NovuBra... FILE: apps/dashboard/src/components/settings/organization-settings.tsx function OrganizationSettings (line 14) | function OrganizationSettings({ clerkAppearance }: { clerkAppearance: Ap... FILE: apps/dashboard/src/components/shared/external-link.tsx type ExternalLinkProps (line 8) | interface ExternalLinkProps extends Omit; type SidebarContentProps (line 24) | type SidebarContentProps = HTMLAttributes & VariantProps... type SidebarFooterProps (line 31) | type SidebarFooterProps = HTMLAttributes; FILE: apps/dashboard/src/components/side-navigation/usage-card.tsx type UsageStatus (line 11) | type UsageStatus = { type UsageCardProps (line 16) | type UsageCardProps = { function UsageCard (line 20) | function UsageCard({ subscription }: UsageCardProps) { type CardContentProps (line 70) | type CardContentProps = { function CardContent (line 76) | function CardContent({ currentEvents, maxEvents, resetDate }: CardConten... FILE: apps/dashboard/src/components/step-preview-hover-card.tsx type StepType (line 16) | type StepType = StepTypeEnum; type StepPreviewProps (line 18) | interface StepPreviewProps { function StepPreview (line 23) | function StepPreview({ type, controlValues }: StepPreviewProps) { FILE: apps/dashboard/src/components/subscribers/hooks/use-subscriber-search.ts type SearchField (line 5) | type SearchField = 'subscriberId' | 'email' | 'phone' | 'name'; function useSubscriberSearch (line 7) | function useSubscriberSearch(searchQuery: string, searchField: SearchFie... FILE: apps/dashboard/src/components/subscribers/hooks/use-subscribers-url-state.ts constant SUBSCRIBERS_TABLE_ID (line 11) | const SUBSCRIBERS_TABLE_ID = 'subscribers-list'; type SubscribersSortableColumn (line 13) | type SubscribersSortableColumn = '_id' | 'updatedAt'; type SubscribersFilter (line 14) | interface SubscribersFilter { type SubscribersUrlState (line 38) | interface SubscribersUrlState { type UseSubscribersUrlStateProps (line 50) | type UseSubscribersUrlStateProps = { function useSubscribersUrlState (line 56) | function useSubscribersUrlState(props: UseSubscribersUrlStateProps = {})... FILE: apps/dashboard/src/components/subscribers/preferences/day-schedule-copy.tsx type DayScheduleCopyProps (line 13) | type DayScheduleCopyProps = { FILE: apps/dashboard/src/components/subscribers/preferences/preferences-blank.tsx function PreferencesBlank (line 10) | function PreferencesBlank() { FILE: apps/dashboard/src/components/subscribers/preferences/preferences-item.tsx constant CHANNEL_LABELS_LOOKUP (line 8) | const CHANNEL_LABELS_LOOKUP: Record<`${ChannelTypeEnum}`, string> = { type PreferencesItemProps (line 16) | type PreferencesItemProps = { function PreferencesItem (line 23) | function PreferencesItem(props: PreferencesItemProps) { FILE: apps/dashboard/src/components/subscribers/preferences/preferences-skeleton.tsx function PreferencesSkeleton (line 3) | function PreferencesSkeleton() { FILE: apps/dashboard/src/components/subscribers/preferences/preferences.tsx type PreferencesProps (line 20) | type PreferencesProps = { FILE: apps/dashboard/src/components/subscribers/preferences/schedule-table.tsx type ScheduleTableHeaderProps (line 20) | type ScheduleTableHeaderProps = { type ScheduleTableHeaderColumnProps (line 28) | type ScheduleTableHeaderColumnProps = { type ScheduleTableBodyProps (line 37) | type ScheduleTableBodyProps = { type ScheduleTableRowProps (line 45) | type ScheduleTableRowProps = { type ScheduleTableCellProps (line 53) | type ScheduleTableCellProps = { type ScheduleTableProps (line 61) | type ScheduleTableProps = { FILE: apps/dashboard/src/components/subscribers/preferences/subscribers-schedule.tsx constant DEFAULT_HOURS (line 20) | const DEFAULT_HOURS = [{ start: '09:00 AM', end: '05:00 PM' }]; constant DEFAULT_WEEKLY_SCHEDULE (line 21) | const DEFAULT_WEEKLY_SCHEDULE: WeeklySchedule = { type SubscribersScheduleProps (line 44) | type SubscribersScheduleProps = { FILE: apps/dashboard/src/components/subscribers/preferences/workflow-preferences.tsx type WorkflowPreferencesProps (line 14) | type WorkflowPreferencesProps = { function WorkflowPreferences (line 20) | function WorkflowPreferences(props: WorkflowPreferencesProps) { function StepIcons (line 91) | function StepIcons({ steps }: { steps: ChannelTypeEnum[] }) { FILE: apps/dashboard/src/components/subscribers/subscriber-activity-drawer.tsx type ActivityPanelDrawerProps (line 13) | type ActivityPanelDrawerProps = { function handleTransactionIdChange (line 23) | function handleTransactionIdChange(_newTransactionId: string, activityId... FILE: apps/dashboard/src/components/subscribers/subscriber-activity-list.tsx constant DEFAULT_EMPTY_DESCRIPTION (line 25) | const DEFAULT_EMPTY_DESCRIPTION = FILE: apps/dashboard/src/components/subscribers/subscriber-autocomplete.tsx type SubscriberAutocompleteItem (line 12) | interface SubscriberAutocompleteItem extends AutocompleteItem, ISubscrib... type SubscriberAutocompleteProps (line 16) | type SubscriberAutocompleteProps = { function SubscriberAutocomplete (line 31) | function SubscriberAutocomplete({ FILE: apps/dashboard/src/components/subscribers/subscriber-drawer.tsx type SubscriberDrawerProps (line 9) | type SubscriberDrawerProps = { type SubscriberDrawerButtonProps (line 60) | type SubscriberDrawerButtonProps = React.ButtonHTMLAttributes & type SubscriberListTableProps (line 65) | type SubscriberListTableProps = HTMLAttributes & { type SubscriberListProps (line 133) | type SubscriberListProps = HTMLAttributes; FILE: apps/dashboard/src/components/subscribers/subscriber-overview-form.tsx type SubscriberOverviewFormProps (line 46) | type SubscriberOverviewFormProps = { function SubscriberOverviewForm (line 64) | function SubscriberOverviewForm(props: SubscriberOverviewFormProps) { FILE: apps/dashboard/src/components/subscribers/subscriber-overview-skeleton.tsx function SubscriberOverviewSkeleton (line 4) | function SubscriberOverviewSkeleton() { FILE: apps/dashboard/src/components/subscribers/subscriber-row.tsx type SubscriberRowProps (line 42) | type SubscriberRowProps = { type SubscriberLinkTableCellProps (line 48) | type SubscriberLinkTableCellProps = ComponentProps & { FILE: apps/dashboard/src/components/subscribers/subscriber-tabs.tsx type SubscriberOverviewProps (line 16) | type SubscriberOverviewProps = { type SubscriberPreferencesProps (line 43) | type SubscriberPreferencesProps = { type SubscriberTabsProps (line 75) | type SubscriberTabsProps = { function SubscriberTabs (line 82) | function SubscriberTabs(props: SubscriberTabsProps) { FILE: apps/dashboard/src/components/subscribers/subscribers-filters.tsx type SubscribersFiltersProps (line 10) | type SubscribersFiltersProps = HTMLAttributes & { function SubscribersFilters (line 17) | function SubscribersFilters(props: SubscribersFiltersProps) { FILE: apps/dashboard/src/components/subscribers/subscriptions/subscriber-subscriptions.tsx type SubscriberSubscriptionsProps (line 19) | type SubscriberSubscriptionsProps = { function SubscriberSubscriptions (line 23) | function SubscriberSubscriptions({ subscriberId }: SubscriberSubscriptio... FILE: apps/dashboard/src/components/subscribers/subscriptions/subscription-item.tsx type SubscriptionItemProps (line 23) | type SubscriptionItemProps = { function SubscriptionItem (line 30) | function SubscriptionItem({ FILE: apps/dashboard/src/components/subscribers/subscriptions/subscription-preferences-drawer.tsx type SubscriptionPreferencesDrawerProps (line 8) | type SubscriptionPreferencesDrawerProps = { FILE: apps/dashboard/src/components/subscribers/subscriptions/subscription-preferences.tsx type SubscriptionPreferencesProps (line 14) | type SubscriptionPreferencesProps = { type SubscriptionOverviewProps (line 21) | interface SubscriptionOverviewProps { FILE: apps/dashboard/src/components/subscribers/subscriptions/subscriptions-empty-state.tsx function SubscriptionsEmptyState (line 3) | function SubscriptionsEmptyState() { FILE: apps/dashboard/src/components/subscribers/timezone-select.tsx type TimezoneSelectProps (line 10) | type TimezoneSelectProps = ButtonProps & { function TimezoneSelect (line 17) | function TimezoneSelect(props: TimezoneSelectProps) { FILE: apps/dashboard/src/components/success-button-toast.tsx type SuccessToastProps (line 6) | interface SuccessToastProps { function SuccessButtonToast (line 14) | function SuccessButtonToast({ title, description, actionLabel, onAction,... FILE: apps/dashboard/src/components/template-store/components/workflow-results.tsx type WorkflowResultsProps (line 4) | type WorkflowResultsProps = { function WorkflowResults (line 9) | function WorkflowResults({ suggestions, onClick }: WorkflowResultsProps) { FILE: apps/dashboard/src/components/template-store/featured.ts constant POPULAR_TEMPLATE_IDS (line 1) | const POPULAR_TEMPLATE_IDS: string[] = ['welcome', 'upcoming-renewal']; function selectPopularByIdStrict (line 3) | function selectPopularByIdStrict(items: T[], getId: (item: T) => stri... FILE: apps/dashboard/src/components/template-store/types.ts type IWorkflowSuggestion (line 3) | type IWorkflowSuggestion = { type TemplateCategory (line 11) | type TemplateCategory = { FILE: apps/dashboard/src/components/template-store/workflow-card.tsx type WorkflowCardProps (line 8) | type WorkflowCardProps = { function WorkflowCard (line 15) | function WorkflowCard({ FILE: apps/dashboard/src/components/template-store/workflow-sidebar.tsx type WorkflowSidebarProps (line 26) | interface WorkflowSidebarProps { type SidebarButtonProps (line 31) | interface SidebarButtonProps { function SidebarButton (line 51) | function SidebarButton({ function getTagCategoryConfig (line 91) | function getTagCategoryConfig(tag: string): TemplateCategory { function WorkflowSidebar (line 184) | function WorkflowSidebar({ selectedCategory, onCategorySelect }: Workflo... FILE: apps/dashboard/src/components/template-store/workflow-template-modal.tsx function mapTemplateStepsToSteps (line 35) | function mapTemplateStepsToSteps(templateSteps: StepCreateDto[]): Step[] { type WorkflowTemplateModalProps (line 53) | type WorkflowTemplateModalProps = { function WorkflowTemplateModal (line 59) | function WorkflowTemplateModal(props: WorkflowTemplateModalProps) { FILE: apps/dashboard/src/components/time-display-hover-card.tsx type TimeDisplayHoverCardProps (line 5) | interface TimeDisplayHoverCardProps { constant DATE_TIME_FORMAT_OPTIONS (line 11) | const DATE_TIME_FORMAT_OPTIONS: Intl.DateTimeFormatOptions = Object.free... constant LOCAL_TIME_FORMATTER (line 20) | const LOCAL_TIME_FORMATTER = new Intl.DateTimeFormat('default', DATE_TIM... constant UTC_TIME_FORMATTER (line 21) | const UTC_TIME_FORMATTER = new Intl.DateTimeFormat('default', { function TimeDisplayHoverCard (line 26) | function TimeDisplayHoverCard({ date, children, className }: TimeDisplay... FILE: apps/dashboard/src/components/topics/add-subscriber-form.tsx type AddSubscriberFormProps (line 7) | type AddSubscriberFormProps = { function AddSubscriberForm (line 13) | function AddSubscriberForm({ topicKey, contextKeys, onSuccess }: AddSubs... FILE: apps/dashboard/src/components/topics/create-topic-drawer.tsx type CreateTopicDrawerProps (line 21) | type CreateTopicDrawerProps = { FILE: apps/dashboard/src/components/topics/create-topic-form.tsx type CreateTopicFormProps (line 38) | type CreateTopicFormProps = { FILE: apps/dashboard/src/components/topics/hooks/use-topic-subscribers.ts function useTopicSubscriptions (line 7) | function useTopicSubscriptions( function useAddTopicSubscribers (line 53) | function useAddTopicSubscribers() { function useRemoveTopicSubscriber (line 123) | function useRemoveTopicSubscriber() { FILE: apps/dashboard/src/components/topics/hooks/use-topic.ts function useTopic (line 5) | function useTopic(topicKey: string) { FILE: apps/dashboard/src/components/topics/hooks/use-topics-url-state.ts constant TOPICS_TABLE_ID (line 6) | const TOPICS_TABLE_ID = 'topics-list'; type TopicsSortableColumn (line 8) | type TopicsSortableColumn = '_id' | 'updatedAt' | 'name'; type TopicsFilter (line 10) | interface TopicsFilter { type TopicsUrlState (line 23) | interface TopicsUrlState { constant DEFAULT_LIMIT (line 34) | const DEFAULT_LIMIT = getPersistedPageSize(TOPICS_TABLE_ID, 10); FILE: apps/dashboard/src/components/topics/subscription-count-badge.tsx type SubscriptionCountBadgeProps (line 5) | type SubscriptionCountBadgeProps = { function SubscriptionCountBadge (line 10) | function SubscriptionCountBadge({ count, isCapped }: SubscriptionCountBa... FILE: apps/dashboard/src/components/topics/topic-drawer.tsx type TopicOverviewProps (line 30) | type TopicOverviewProps = { type TopicSubscribersProps (line 68) | type TopicSubscribersProps = { type TopicTabsProps (line 183) | type TopicTabsProps = { function TopicTabs (line 188) | function TopicTabs(props: TopicTabsProps) { type TopicDrawerProps (line 311) | type TopicDrawerProps = { type TopicDrawerButtonProps (line 352) | type TopicDrawerButtonProps = React.ButtonHTMLAttributes; type TopicListFiltersProps (line 136) | type TopicListFiltersProps = HTMLAttributes & type TopicListTableProps (line 142) | type TopicListTableProps = HTMLAttributes & { FILE: apps/dashboard/src/components/topics/topic-overview-form.tsx type TopicOverviewFormProps (line 49) | interface TopicOverviewFormProps { function TopicOverviewForm (line 54) | function TopicOverviewForm({ topic, readOnly = false }: TopicOverviewFor... function TopicOverviewSkeleton (line 260) | function TopicOverviewSkeleton() { FILE: apps/dashboard/src/components/topics/topic-row.tsx type TopicRowProps (line 29) | type TopicRowProps = { type TopicTableCellProps (line 33) | type TopicTableCellProps = ComponentProps & { FILE: apps/dashboard/src/components/topics/topic-subscriber-filter.tsx type TopicSubscriberFilterProps (line 11) | type TopicSubscriberFilterProps = { function TopicSubscriberFilter (line 22) | function TopicSubscriberFilter({ FILE: apps/dashboard/src/components/topics/topic-subscriber-item.tsx type TopicSubscriberItemProps (line 25) | interface TopicSubscriberItemProps { function TopicSubscriberItem (line 31) | function TopicSubscriberItem({ topicKey, subscription, readOnly = false ... FILE: apps/dashboard/src/components/topics/topics-filters.tsx type FilterFormValues (line 12) | type FilterFormValues = { type TopicsFiltersProps (line 17) | type TopicsFiltersProps = HTMLAttributes & { FILE: apps/dashboard/src/components/topics/types.ts type Topic (line 1) | interface Topic { FILE: apps/dashboard/src/components/translations/constants.ts constant DEFAULT_TRANSLATIONS_LIMIT (line 2) | const DEFAULT_TRANSLATIONS_LIMIT = 10; constant DEFAULT_TRANSLATIONS_OFFSET (line 3) | const DEFAULT_TRANSLATIONS_OFFSET = 0; constant ACCEPTED_FILE_EXTENSION (line 6) | const ACCEPTED_FILE_EXTENSION = '.json'; constant DATE_FORMAT_OPTIONS (line 9) | const DATE_FORMAT_OPTIONS = { constant TIME_FORMAT_OPTIONS (line 15) | const TIME_FORMAT_OPTIONS = { FILE: apps/dashboard/src/components/translations/delete-translation-modal.tsx type DeleteTranslationGroupDialogProps (line 4) | type DeleteTranslationGroupDialogProps = { function DeleteTranslationGroupDialog (line 12) | function DeleteTranslationGroupDialog({ FILE: apps/dashboard/src/components/translations/hooks/use-delete-translation-modal.ts function useDeleteTranslationModal (line 5) | function useDeleteTranslationModal() { FILE: apps/dashboard/src/components/translations/hooks/use-translation-list-logic.ts type UseTranslationListLogicOptions (line 4) | interface UseTranslationListLogicOptions { function useTranslationListLogic (line 8) | function useTranslationListLogic(options: UseTranslationListLogicOptions... FILE: apps/dashboard/src/components/translations/hooks/use-translations-url-state.tsx type TranslationsUrlState (line 12) | type TranslationsUrlState = { type UseTranslationsUrlStateProps (line 21) | type UseTranslationsUrlStateProps = { function useTranslationsUrlState (line 26) | function useTranslationsUrlState({ FILE: apps/dashboard/src/components/translations/translation-drawer/editor-actions.tsx function UploadButton (line 15) | function UploadButton({ type EditorActionsProps (line 98) | type EditorActionsProps = { function EditorActions (line 104) | function EditorActions({ selectedTranslation, modifiedContent, isReadOnl... FILE: apps/dashboard/src/components/translations/translation-drawer/editor-panel.tsx function EditorPanelSkeleton (line 13) | function EditorPanelSkeleton() { type JSONEditorProps (line 62) | type JSONEditorProps = { constant JSON_EXTENSIONS (line 71) | const JSON_EXTENSIONS = [loadLanguage('json')?.extension ?? []]; constant BASIC_SETUP (line 72) | const BASIC_SETUP = { lineNumbers: true, defaultKeymap: true }; function JSONEditor (line 74) | function JSONEditor({ content, onChange, error, updatedAt, isOutdated, i... type EditorPanelProps (line 132) | type EditorPanelProps = { function EditorPanel (line 144) | function EditorPanel({ FILE: apps/dashboard/src/components/translations/translation-drawer/hooks/use-translation-editor.ts function escapeControlCharsInJsonStrings (line 4) | function escapeControlCharsInJsonStrings(jsonString: string): string { function useTranslationEditor (line 52) | function useTranslationEditor(selectedTranslation: TranslationResponseDt... FILE: apps/dashboard/src/components/translations/translation-drawer/hooks/use-translation-file-operations.ts function useTranslationFileOperations (line 3) | function useTranslationFileOperations() { FILE: apps/dashboard/src/components/translations/translation-drawer/locale-list.tsx function LocaleListSkeleton (line 16) | function LocaleListSkeleton() { type TranslationStatusSectionProps (line 57) | type TranslationStatusSectionProps = { function TranslationStatusSection (line 62) | function TranslationStatusSection({ updatedAt, outdatedLocales }: Transl... type LocaleButtonProps (line 80) | type LocaleButtonProps = { function LocaleButton (line 88) | function LocaleButton({ locale, isSelected, isDefault, isOutdated, onCli... type LocaleListProps (line 136) | type LocaleListProps = { function LocaleList (line 146) | function LocaleList({ FILE: apps/dashboard/src/components/translations/translation-drawer/translation-drawer-content.tsx type TranslationDrawerContentRef (line 14) | type TranslationDrawerContentRef = { type TranslationDrawerContentProps (line 18) | type TranslationDrawerContentProps = { FILE: apps/dashboard/src/components/translations/translation-drawer/translation-drawer.tsx function TranslationDrawerSkeleton (line 12) | function TranslationDrawerSkeleton() { type TranslationDrawerProps (line 37) | type TranslationDrawerProps = { FILE: apps/dashboard/src/components/translations/translation-drawer/translation-header.tsx type TranslationHeaderProps (line 3) | type TranslationHeaderProps = { function TranslationHeader (line 7) | function TranslationHeader({ resourceName }: TranslationHeaderProps) { FILE: apps/dashboard/src/components/translations/translation-drawer/use-translation-drawer-logic.tsx function useTranslationDrawerLogic (line 7) | function useTranslationDrawerLogic( FILE: apps/dashboard/src/components/translations/translation-import-trigger.tsx type TranslationImportTriggerProps (line 6) | type TranslationImportTriggerProps = { function TranslationImportTrigger (line 12) | function TranslationImportTrigger({ resource, onSuccess, children }: Tra... FILE: apps/dashboard/src/components/translations/translation-list.tsx type TranslationListHeaderProps (line 33) | type TranslationListHeaderProps = HTMLAttributes & function TranslationListHeader (line 38) | function TranslationListHeader({ type TranslationTableProps (line 58) | type TranslationTableProps = HTMLAttributes & { function TranslationTable (line 67) | function TranslationTable({ children, data, ...props }: TranslationTable... type TranslationSkeletonListProps (line 118) | type TranslationSkeletonListProps = { function TranslationSkeletonList (line 122) | function TranslationSkeletonList({ count }: TranslationSkeletonListProps) { type TranslationListContentProps (line 132) | type TranslationListContentProps = { function TranslationListContent (line 138) | function TranslationListContent({ translations, onTranslationClick, onDe... type TranslationListContainerProps (line 153) | type TranslationListContainerProps = HTMLAttributes & { function TranslationListContainer (line 161) | function TranslationListContainer({ type TranslationListProps (line 183) | type TranslationListProps = HTMLAttributes; function TranslationList (line 185) | function TranslationList(props: TranslationListProps) { FILE: apps/dashboard/src/components/translations/translation-onboarding-page.tsx type TranslationOnboardingFormData (line 18) | type TranslationOnboardingFormData = { FILE: apps/dashboard/src/components/translations/translation-row.tsx type TranslationTableCellProps (line 29) | type TranslationTableCellProps = ComponentProps; function TranslationTableCell (line 31) | function TranslationTableCell({ className, children, ...props }: Transla... type ResourceInfoProps (line 40) | type ResourceInfoProps = { function ResourceInfo (line 46) | function ResourceInfo({ resourceId, resourceType, resourceName }: Resour... type TranslationActionsMenuProps (line 84) | type TranslationActionsMenuProps = { function TranslationActionsMenu (line 92) | function TranslationActionsMenu({ function useTranslationRowLogic (line 134) | function useTranslationRowLogic(translation: TranslationGroupDto) { function TranslationRowSkeleton (line 164) | function TranslationRowSkeleton() { type TranslationRowProps (line 196) | type TranslationRowProps = { function TranslationRow (line 202) | function TranslationRow({ translation, onTranslationClick, onDeleteClick... FILE: apps/dashboard/src/components/translations/translation-settings-drawer.tsx type TranslationSettingsFormData (line 20) | interface TranslationSettingsFormData { type TranslationSettingsDrawerProps (line 25) | interface TranslationSettingsDrawerProps { FILE: apps/dashboard/src/components/translations/translation-status.tsx type TranslationStatusProps (line 5) | type TranslationStatusProps = { function TranslationStatus (line 10) | function TranslationStatus({ outdatedLocales, className }: TranslationSt... FILE: apps/dashboard/src/components/translations/translation-switch.tsx type TranslationSwitchProps (line 8) | type TranslationSwitchProps = { function TranslationSwitch (line 15) | function TranslationSwitch({ id, value, onChange, isReadOnly }: Translat... FILE: apps/dashboard/src/components/translations/translations-filters.tsx type SearchFilterProps (line 29) | type SearchFilterProps = { function SearchFilter (line 34) | function SearchFilter({ value, onChange }: SearchFilterProps) { type FilterResetButtonProps (line 47) | type FilterResetButtonProps = { function FilterResetButton (line 53) | function FilterResetButton({ isVisible, isFetching, onReset }: FilterRes... type DefaultLocaleButtonProps (line 66) | type DefaultLocaleButtonProps = { function DefaultLocaleButton (line 71) | function DefaultLocaleButton({ locale, onClick }: DefaultLocaleButtonPro... function AnimatedImportButton (line 87) | function AnimatedImportButton({ function ActionButtons (line 171) | function ActionButtons() { function useTranslationsFiltersLogic (line 271) | function useTranslationsFiltersLogic( type TranslationsFiltersProps (line 306) | type TranslationsFiltersProps = HTMLAttributes & { function TranslationsFilters (line 313) | function TranslationsFilters({ FILE: apps/dashboard/src/components/translations/utils.ts function getLocaleDisplayName (line 8) | function getLocaleDisplayName(localeCode: string): string { function formatTranslationDate (line 31) | function formatTranslationDate(date: Date | string, options: Intl.DateTi... function formatTranslationTime (line 42) | function formatTranslationTime(date: Date | string, options: Intl.DateTi... FILE: apps/dashboard/src/components/truncated-text.tsx type TruncatedTextProps (line 6) | type TruncatedTextProps = SlotProps & { asChild?: boolean }; function TruncatedText (line 8) | function TruncatedText(props: TruncatedTextProps) { FILE: apps/dashboard/src/components/unsaved-changes-alert-dialog.tsx type UnsavedChangesAlertDialogProps (line 15) | type UnsavedChangesAlertDialogProps = { FILE: apps/dashboard/src/components/updated-ago.tsx type UpdatedAgoProps (line 5) | type UpdatedAgoProps = { function UpdatedAgo (line 10) | function UpdatedAgo({ lastUpdated, onRefresh }: UpdatedAgoProps) { FILE: apps/dashboard/src/components/upgrade-cta-tooltip.tsx type UpgradeCTATooltipProps (line 9) | type UpgradeCTATooltipProps = { function UpgradeCTATooltip (line 20) | function UpgradeCTATooltip({ FILE: apps/dashboard/src/components/usecase-playground-header.tsx type UsecasePlaygroundHeaderProps (line 7) | interface UsecasePlaygroundHeaderProps { function UsecasePlaygroundHeader (line 20) | function UsecasePlaygroundHeader({ FILE: apps/dashboard/src/components/user-profile.tsx function UserProfile (line 9) | function UserProfile() { FILE: apps/dashboard/src/components/variable/components/digest-count-summary-preview.tsx function DigestCountSummaryPreview (line 3) | function DigestCountSummaryPreview() { FILE: apps/dashboard/src/components/variable/components/digest-sentence-summary-preview.tsx function DigestSentenceSummaryPreview (line 3) | function DigestSentenceSummaryPreview() { FILE: apps/dashboard/src/components/variable/components/filter-item.tsx type FilterItemProps (line 4) | type FilterItemProps = { function FilterItem (line 8) | function FilterItem({ filter }: FilterItemProps) { FILE: apps/dashboard/src/components/variable/components/new-variable-preview.tsx type INewVariablePreviewProps (line 4) | interface INewVariablePreviewProps { function NewVariablePreview (line 8) | function NewVariablePreview({ onCreateClick }: INewVariablePreviewProps) { FILE: apps/dashboard/src/components/variable/components/reorder-filter-item.tsx type ReorderFilterItemProps (line 20) | type ReorderFilterItemProps = ComponentProps; type SystemVariableSubRowProps (line 19) | type SystemVariableSubRowProps = { type SystemVariableRowProps (line 44) | type SystemVariableRowProps = { FILE: apps/dashboard/src/components/variables/upsert-variable-drawer.tsx type UpsertVariableDrawerProps (line 14) | type UpsertVariableDrawerProps = { FILE: apps/dashboard/src/components/variables/upsert-variable-form.tsx constant VARIABLE_KEY_REGEX (line 27) | const VARIABLE_KEY_REGEX = /^[A-Za-z][A-Za-z0-9_]*$/; type VariableFormValues (line 49) | type VariableFormValues = z.infer; type UpsertVariableFormProps (line 51) | type UpsertVariableFormProps = { FILE: apps/dashboard/src/components/variables/variable-row.tsx constant SECRET_MASK (line 36) | const SECRET_MASK = '••••••••'; type VariableRowProps (line 38) | type VariableRowProps = { type CellProps (line 44) | type CellProps = React.TdHTMLAttributes; function CoverageBadge (line 52) | function CoverageBadge({ filledCount, totalCount }: { filledCount: numbe... function EnvironmentSubRow (line 69) | function EnvironmentSubRow({ FILE: apps/dashboard/src/components/vercel-integration-form.tsx type ProjectLinkFormValues (line 13) | type ProjectLinkFormValues = { type Option (line 17) | type Option = { FILE: apps/dashboard/src/components/webhooks/webhooks-empty-state-svg.tsx function WebhooksEmptyStateSvg (line 3) | function WebhooksEmptyStateSvg() { function EmptyStateSvg (line 220) | function EmptyStateSvg() { FILE: apps/dashboard/src/components/webhooks/webhooks-paywall-state.tsx function WebhooksPaywallState (line 13) | function WebhooksPaywallState() { FILE: apps/dashboard/src/components/welcome/ai-prompts/framework-prompts/angular-prompt.ts constant KITCHEN_SINK_INBOX_SNIPPET (line 3) | const KITCHEN_SINK_INBOX_SNIPPET = `import { Component, OnInit } from '@... constant ANGULAR_PROMPT (line 78) | const ANGULAR_PROMPT = `You are an AI agent specialized in integrating t... function getAngularPromptString (line 390) | function getAngularPromptString(config: PromptConfig): string { FILE: apps/dashboard/src/components/welcome/ai-prompts/framework-prompts/javascript-prompt.ts constant KITCHEN_SINK_INBOX_SNIPPET (line 3) | const KITCHEN_SINK_INBOX_SNIPPET = `import { NovuUI } from '@novu/js/ui'; constant JAVASCRIPT_PROMPT (line 20) | const JAVASCRIPT_PROMPT = `You are an AI agent specialized in integratin... function getJavaScriptPromptString (line 315) | function getJavaScriptPromptString(config: PromptConfig): string { FILE: apps/dashboard/src/components/welcome/ai-prompts/framework-prompts/nextjs-prompt.ts constant KITCHEN_SINK_INBOX_SNIPPET (line 3) | const KITCHEN_SINK_INBOX_SNIPPET = `'use client'; constant NEXTJS_PROMPT (line 57) | const NEXTJS_PROMPT = `You are an AI agent specialized in integrating th... function getNextJsPromptString (line 325) | function getNextJsPromptString(config: PromptConfig): string { FILE: apps/dashboard/src/components/welcome/ai-prompts/framework-prompts/react-native-prompt.ts constant KITCHEN_SINK_INBOX_SNIPPET (line 1) | const KITCHEN_SINK_INBOX_SNIPPET = `import React from 'react'; constant REACT_NATIVE_PROMPT (line 70) | const REACT_NATIVE_PROMPT = `You are an AI agent specialized in integrat... type PromptConfig (line 360) | interface PromptConfig { function getReactNativePromptString (line 370) | function getReactNativePromptString(config: PromptConfig): string { FILE: apps/dashboard/src/components/welcome/ai-prompts/framework-prompts/react-prompt.ts constant KITCHEN_SINK_INBOX_SNIPPET (line 3) | const KITCHEN_SINK_INBOX_SNIPPET = `import { Inbox } from '@novu/react'; constant REACT_PROMPT (line 63) | const REACT_PROMPT = `You are an AI agent specialized in integrating the... function getReactPromptString (line 342) | function getReactPromptString(config: PromptConfig): string { FILE: apps/dashboard/src/components/welcome/ai-prompts/framework-prompts/remix-prompt.ts constant KITCHEN_SINK_INBOX_SNIPPET (line 3) | const KITCHEN_SINK_INBOX_SNIPPET = `import { useLoaderData, Outlet } fro... constant REMIX_PROMPT (line 68) | const REMIX_PROMPT = `You are an AI agent specialized in integrating the... function getRemixPromptString (line 378) | function getRemixPromptString(config: PromptConfig): string { FILE: apps/dashboard/src/components/welcome/ai-prompts/framework-prompts/types.ts type PromptConfig (line 4) | interface PromptConfig { function replaceConfigVariables (line 14) | function replaceConfigVariables(prompt: string, config: PromptConfig): s... FILE: apps/dashboard/src/components/welcome/ai-prompts/framework-prompts/vue-prompt.ts constant KITCHEN_SINK_INBOX_SNIPPET (line 3) | const KITCHEN_SINK_INBOX_SNIPPET = `