/
githubmirror
/
novu
Обзор
Документация
Войти
/
githubmirror
/
novu
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
next
libs/application-generic/src/usecases/trigger-event/trigger-event.command.ts
82 строки
2 KB
Nikita Grossman
feat(dashboard,api-service): add workflow agent assignment fixes NV-8422 (#12139)
03 авг 2026, 11:04
Не верифицирован
03 авг 2026, 11:04
4d89e07
Код
Авторство
О чём код?
import { DiscoverWorkflowOutput } from '@novu/framework/internal'; import { AddressingTypeEnum, ContextPayload, StatelessControls, TriggerOverrides, TriggerRecipientSubscriber, TriggerRecipientsPayload, TriggerRequestCategoryEnum, TriggerTenantContext, } from '@novu/shared'; import { IsDefined, IsEnum, IsOptional, IsString, ValidateIf, ValidateNested } from 'class-validator'; import { EnvironmentWithUserCommand } from '../../commands'; import { IsValidContextPayload } from '../../decorators'; export class TriggerEventBaseCommand extends EnvironmentWithUserCommand { @IsDefined() @IsString() identifier: string; @IsDefined() payload: any; @IsDefined() overrides: TriggerOverrides; @IsOptional() @ValidateIf((_, value) => value !== null) @IsString() _agentId?: string | null; @IsString() @IsDefined() transactionId: string; // TODO: remove optional flag after all the workers are migrated to use requestId NV-6475 @IsString() @IsOptional() requestId?: string; @IsOptional() @ValidateIf((_, value) => typeof value !== 'string') @ValidateNested() actor?: TriggerRecipientSubscriber | null; @IsOptional() @ValidateIf((_, value) => typeof value !== 'string') @ValidateNested() tenant?: TriggerTenantContext | null; @IsOptional() @IsEnum(TriggerRequestCategoryEnum) requestCategory?: TriggerRequestCategoryEnum; @IsOptional() @IsString() bridgeUrl?: string; @IsOptional() bridgeWorkflow?: DiscoverWorkflowOutput; controls?: StatelessControls; @IsOptional() @IsValidContextPayload({ maxCount: 5 }) context?: ContextPayload; } export class TriggerEventMulticastCommand extends TriggerEventBaseCommand { @IsDefined() to: TriggerRecipientsPayload; @IsEnum(AddressingTypeEnum) addressingType: AddressingTypeEnum.MULTICAST; } export class TriggerEventBroadcastCommand extends TriggerEventBaseCommand { @IsEnum(AddressingTypeEnum) addressingType: AddressingTypeEnum.BROADCAST; } export type TriggerEventCommand = TriggerEventMulticastCommand | TriggerEventBroadcastCommand;