import { EActionStatus } from "../enum/EActionStatus"; import { EActionType } from "../enum/EActionType"; import { IAction } from "../interface/IAction"; import { ActionParams } from "../type/ActionParams"; import { v4 as uuidv4 } from "uuid"; import { EActionPriorityType } from "../enum/EActionPriorityType"; import { TConfirmMessages } from "../type/TConfirmMessages"; export class BaseAction implements IAction { public id!: string; public type!: EActionType public status!: EActionStatus; public datetime!: number; public params!: ActionParams; public requiredConfirm:boolean = false; public requiredReintent:boolean = false; public intent: number = 0; public priority: EActionPriorityType = EActionPriorityType.FIFO; public messageConfirm: Array = []; constructor(params : ActionParams){ this.params = params; this.datetime = Date.now(); this.id = uuidv4(); this.status=EActionStatus.INIT; } public getParams() : ActionParams{ return this.params; } public setParams(value : ActionParams){ this.params = value; } }