import { Injectable } from '@nestjs/common'; import { EventTopics, columnUniques, validateRelations, } from 'src/core/strings/constants/interface.constants'; import { BaseCreateManager } from 'src/core/modules/domain/usecase/managers/base-create.manager'; import { Queue } from '../entities/queue.entity'; import { STATUS } from 'src/core/strings/constants/base.constants'; import { QueueModel } from '../../data/models/queue.model'; import { generateRandom } from 'src/modules/transaction/vip-code/domain/usecases/managers/helpers/generate-random.helper'; @Injectable() export class RegisterQueueManager extends BaseCreateManager { async beforeProcess(): Promise { Object.assign(this.data, { status: STATUS.WAITING, time: new Date().getTime(), vip: false, code: `Q${generateRandom(4, true)}`, }); return; } async afterProcess(): Promise { return; } get validateRelations(): validateRelations[] { return []; } get uniqueColumns(): columnUniques[] { return []; } get eventTopics(): EventTopics[] { return []; } get entityTarget(): any { return QueueModel; } }