177 lines
4.0 KiB
TypeScript
177 lines
4.0 KiB
TypeScript
/** Stable request contracts shared by the channel controller and R5 domains. */
|
|
|
|
export interface CreateChannelDto {
|
|
code: string;
|
|
name: string;
|
|
carrier?: string;
|
|
carriers?: string[];
|
|
sendRegion?: string;
|
|
protocol?: string;
|
|
gatewayHost: string;
|
|
gatewayPort?: number;
|
|
enterpriseCode?: string;
|
|
account: string;
|
|
passwordCipher: string;
|
|
srcId: string;
|
|
cmppVersion?: string;
|
|
rateLimitPerSecond?: number;
|
|
unitPrice?: number;
|
|
status?: string;
|
|
desiredConnections?: number;
|
|
windowSize?: number;
|
|
heartbeatIntervalSeconds?: number;
|
|
heartbeatMissThreshold?: number;
|
|
config?: Record<string, unknown>;
|
|
}
|
|
|
|
export type UpdateChannelDto = Partial<CreateChannelDto>;
|
|
|
|
export interface CreateChannelGroupDto {
|
|
code: string;
|
|
name: string;
|
|
carrier: string;
|
|
description?: string;
|
|
status?: string;
|
|
retryEnabled?: boolean;
|
|
retryTimeLimitHours?: number;
|
|
retryTimeLimitMinutes?: number;
|
|
}
|
|
|
|
export interface CreateChannelGroupItemDto {
|
|
groupId: string;
|
|
channelId: string;
|
|
carrier?: string;
|
|
province?: string;
|
|
priority?: number;
|
|
weight?: number;
|
|
isBackup?: boolean;
|
|
}
|
|
|
|
export interface UpdateChannelGroupDto {
|
|
code?: string;
|
|
name?: string;
|
|
carrier?: string;
|
|
description?: string;
|
|
status?: string;
|
|
retryEnabled?: boolean;
|
|
retryTimeLimitHours?: number;
|
|
retryTimeLimitMinutes?: number;
|
|
items?: Array<Omit<CreateChannelGroupItemDto, 'groupId'>>;
|
|
}
|
|
|
|
export interface CreateRouteRuleDto {
|
|
tenantId?: string;
|
|
applicationId?: string;
|
|
groupId: string;
|
|
channelId?: string;
|
|
carrier?: string;
|
|
province?: string;
|
|
priority?: number;
|
|
status?: string;
|
|
}
|
|
|
|
export interface CreateReportFieldDto {
|
|
channelId: string;
|
|
drainageFieldId: string;
|
|
reportType: 'signature' | 'drainage' | 'both';
|
|
code?: string;
|
|
name?: string;
|
|
fieldType?: string;
|
|
required?: boolean;
|
|
description?: string;
|
|
sortOrder?: number;
|
|
exportName?: string;
|
|
columnWidth?: number;
|
|
imageWidth?: number;
|
|
imageHeight?: number;
|
|
defaultValue?: string;
|
|
transform?: string;
|
|
status?: string;
|
|
}
|
|
|
|
export interface ReplaceReportFieldsDto {
|
|
fields: Array<Omit<CreateReportFieldDto, 'channelId' | 'reportType'>>;
|
|
}
|
|
|
|
export interface CreateReportMaterialDto {
|
|
signatureId: string;
|
|
channelId: string;
|
|
fieldCode: string;
|
|
fieldValue?: string;
|
|
fileObjectId?: string;
|
|
}
|
|
|
|
export interface CreateReportTaskDto {
|
|
tenantId: string;
|
|
signatureId: string;
|
|
channelId: string;
|
|
carrier?: string;
|
|
reportType?: 'signature' | 'drainage';
|
|
drainageItemId?: string;
|
|
createdById?: string;
|
|
}
|
|
|
|
export interface ChangeReportTaskStatusesDto {
|
|
items: Array<{ signatureId: string; channelId: string; carrier?: string; status: string; reportType?: 'signature' | 'drainage'; drainageItemId?: string }>;
|
|
reason?: string;
|
|
operatorId?: string;
|
|
sourceEntry?: 'enterprise_signature' | 'report_task' | 'channel_report';
|
|
}
|
|
|
|
export interface CreateReportExportDto {
|
|
fileObjectId?: string;
|
|
fileName: string;
|
|
rowCount?: number;
|
|
}
|
|
|
|
export interface CreateReceiptImportDto {
|
|
fileObjectId?: string;
|
|
fileName: string;
|
|
fileContent?: string;
|
|
delimiter?: ',' | '\t';
|
|
rowCount?: number;
|
|
successCount?: number;
|
|
failedCount?: number;
|
|
statusAfter?: string;
|
|
reason?: string;
|
|
result?: Record<string, unknown>;
|
|
}
|
|
|
|
export interface UpsertConnectionStateDto {
|
|
tenantId?: string;
|
|
applicationId?: string;
|
|
channelId: string;
|
|
connectionId: string;
|
|
status: string;
|
|
desiredConnections?: number;
|
|
currentConnections?: number;
|
|
lastConnectedAt?: string;
|
|
lastDisconnectedAt?: string;
|
|
lastHeartbeatAt?: string;
|
|
reconnectCount?: number;
|
|
lastReconnectAttemptAt?: string;
|
|
nextReconnectAt?: string;
|
|
lastErrorCategory?: string;
|
|
lastError?: string;
|
|
}
|
|
|
|
export interface ChangeChannelStatusDto {
|
|
status: string;
|
|
operatorId?: string;
|
|
reason?: string;
|
|
}
|
|
|
|
export interface CopyChannelDto {
|
|
name?: string;
|
|
code?: string;
|
|
operatorId?: string;
|
|
}
|
|
|
|
export interface TestChannelDto {
|
|
phoneNumber?: string;
|
|
phones?: string[] | string;
|
|
content?: string;
|
|
accessNo?: string;
|
|
operatorId?: string;
|
|
}
|