UNPKG

@gsb-core/core

Version:

GSB core services and classes for platform-independent web applications

336 lines (335 loc) 8.45 kB
import { GsbPermission, GsbUser } from './gsb-user.model'; import { GsbDocTemplate } from './gsb-doc-template.model'; import { GsbContact, GsbGroup, GsbRole } from './gsb-user.model'; import { GsbEntityDef } from './gsb-entity-def.model'; import { QueryDto } from '../types/query-dto'; import { GsbModule } from './gsb-module.model'; import { GsbRecurringJob } from './gsb-recurring-job.model'; import { GsbWorkflowInstance } from './gsb-workflow.model'; import { GsbDtoBase, Variation } from './gsb-dto-base.model'; import { GsbFile } from './gsb-file.model'; /** * Notification channel enum */ export declare enum NotificationChannel { StandardInterface = 1, Email = 2, SMS = 4, PushNotify = 8 } /** * Notification type enum */ export declare enum NotificationType { Info = 0, Success = 1, Warning = 2, Error = 3 } /** * Permission type enum */ export declare enum PermissionType { None = 0, View = 1, Edit = 2, Delete = 4, All = 7 } /** * Represents a GSB Notification entity */ export declare class GsbNotification { _entDefName?: string; id?: string; name?: string; title?: string; message?: string; category?: string; priority?: number; eventType?: string; templateId?: string; description?: string; expiryDate?: Date; createDate?: Date; lastUpdateDate?: Date; createdBy_id?: string; lastUpdatedBy_id?: string; channel?: NotificationChannel; permissionType?: PermissionType; actions?: any[]; data?: any; dataStr?: string; content?: string; type?: NotificationType; image?: GsbFile; entity_id?: string; entityDefinition_id?: string; clickAction?: any; variation?: Variation; constructor(obj?: Partial<GsbNotification>); } /** * Operation types for workflow functions */ export declare enum OperationType { SetProperties = 1, SendSms = 2, CallGSBAPI = 3, CallExternalAPI = 4, SendEmail = 5, SendEmailAdvanced = 6, RunScriptCode = 7, CommitChanges = 8, GetEntity = 9, SetEntity = 10, DeleteEntity = 11, CreatePDFDocument = 12, SendNotification = 13, SaveEntity = 14 } /** * Operation enum for entity operations */ export declare enum Operation { Read = 4, Execute = 16, Create = 1, Delete = 32, List = 8, Update = 2, Associate = 64, Disassociate = 128 } /** * Property value for setting entity properties */ export declare class EntPropertyValue { _entDefName?: string; name?: string; value?: any; constructor(obj?: Partial<EntPropertyValue>); } /** * Dynamic attachment for email operations */ export declare class GsbDynamicAttachment { _entDefName?: string; template?: string; fileName?: string; constructor(obj?: Partial<GsbDynamicAttachment>); } /** * Email message operation configuration */ export declare class GsbMailMessageOp { _entDefName?: string; toAddresses?: any[]; ccAddresses?: any[]; bccAddresses?: any[]; subject?: string; distinct?: boolean; messageBody?: GsbDocTemplate; attachments?: GsbDocTemplate[]; constructor(obj?: Partial<GsbMailMessageOp>); } /** * Notification operation recipients configuration */ export declare class GsbNotificationOpRecipients { _entDefName?: string; contacts?: GsbContact[]; users?: GsbUser[]; roles?: GsbRole[]; groups?: GsbGroup[]; excludeUsers?: GsbUser[]; excludeSender?: boolean; constructor(obj?: Partial<GsbNotificationOpRecipients>); } /** * Advanced email message operation configuration */ export declare class GsbAdvancedMailMessageOp { _entDefName?: string; toAddresses?: string; ccAddresses?: string; attachments?: string; subject?: string; messageBody?: string; constructor(obj?: Partial<GsbAdvancedMailMessageOp>); } /** * Document generation operation configuration */ export declare class GsbDocumentGenerateOp { _entDefName?: string; docTemplate?: GsbDocTemplate; propertyName?: string; urlParam?: string; htmlWfParam?: string; htmlEntityParam?: string; template?: string; byteArrParam?: string; fileNameProp?: string; usePuppeteer?: boolean; constructor(obj?: Partial<GsbDocumentGenerateOp>); } /** * Get entity operation options */ export declare class GsbGetEntityOptions { _entDefName?: string; query?: QueryDto; constructor(obj?: Partial<GsbGetEntityOptions>); } /** * Set entity operation options */ export declare class GsbSetEntityOptions { _entDefName?: string; setProps?: EntPropertyValue[]; entityDef?: GsbEntityDef; constructor(obj?: Partial<GsbSetEntityOptions>); } /** * Notification data for notification operations */ export declare class NotificationDto extends GsbDtoBase { title?: string; message?: string; recipients?: GsbNotificationOpRecipients; priority?: number; category?: string; expiryDate?: Date; notification?: GsbNotification; mailMessage?: GsbMailMessageOp; transformScript?: string; entity?: any; tEntity?: any; allUsers?: GsbUser[]; modelInstance?: GsbWorkflowInstance; users?: GsbUser[]; roles?: GsbRole[]; groups?: GsbGroup[]; } /** * Represents a workflow operation */ export declare class GsbWfOperation { _entDefName?: string; id?: string; title?: string; operationType?: OperationType; scriptCode?: string; scriptCodeStr?: string; docTemplate?: GsbDocumentGenerateOp; getEntityOptions?: GsbGetEntityOptions; setEntityOptions?: GsbSetEntityOptions; notification?: NotificationDto; createDate?: Date; lastUpdateDate?: Date; createdBy_id?: string; lastUpdatedBy_id?: string; constructor(obj?: Partial<GsbWfOperation>); } /** * Represents a GSB WF Function entity */ export declare class GsbWfFunction { _entDefName?: string; id?: string; name?: string; title?: string; code?: string; references?: GsbWfCodeLibrary[]; imports?: GsbModule[]; permissions?: GsbPermission[]; createDate?: Date; lastUpdateDate?: Date; createdBy_id?: string; lastUpdatedBy_id?: string; orderNumber?: number; wfLogs?: GsbWfLog[]; createdBy?: GsbUser; activities?: GsbWfActivity[]; module?: GsbModule; afterActivities?: GsbWfActivity[]; lastUpdatedBy?: GsbUser; currentVersion?: string; bgTasks?: GsbRecurringJob[]; standalone?: boolean; limits?: GsbUsageLimit[]; operations?: string; operationsObj?: GsbWfOperation[]; testInstance?: string; prevActivities?: GsbWfActivity[]; module_id?: string; constructor(obj?: Partial<GsbWfFunction>); } /** * Represents a GSB WF Code Library */ export declare class GsbWfCodeLibrary { _entDefName?: string; id?: string; name?: string; code?: string; codeText?: string; references?: GsbWfCodeLibrary[]; createDate?: Date; lastUpdateDate?: Date; createdBy_id?: string; lastUpdatedBy_id?: string; constructor(obj?: Partial<GsbWfCodeLibrary>); } /** * Represents a GSB WF Log */ export declare class GsbWfLog { _entDefName?: string; id?: string; name?: string; createDate?: Date; lastUpdateDate?: Date; createdBy_id?: string; lastUpdatedBy_id?: string; constructor(obj?: Partial<GsbWfLog>); } /** * Represents a GSB WF Activity */ export declare class GsbWfActivity { _entDefName?: string; id?: string; name?: string; createDate?: Date; lastUpdateDate?: Date; createdBy_id?: string; lastUpdatedBy_id?: string; constructor(obj?: Partial<GsbWfActivity>); } /** * Represents a GSB Usage Limit */ export declare class GsbUsageLimit { _entDefName?: string; id?: string; name?: string; createDate?: Date; lastUpdateDate?: Date; createdBy_id?: string; lastUpdatedBy_id?: string; constructor(obj?: Partial<GsbUsageLimit>); } /** * Helper function to check if a function is empty */ export declare function isGsbFunctionEmpty(func: GsbWfFunction): boolean; /** * Helper functions for copying and serializing DTOs */ export declare function copySettingsFrom(target: GsbDtoBase, source: GsbDtoBase): void; /** * Creates a serializable copy of a notification DTO */ export declare function copyNotificationSerializable(source: NotificationDto): NotificationDto;