import { Injectable } from '@nestjs/common'; import { BaseUpdateManager } from 'src/core/modules/domain/usecase/managers/base-update.manager'; import { ItemQueueEntity } from '../../entities/item-queue.entity'; import { ItemQueueModel } from '../../../data/models/item-queue.model'; import { EventTopics, columnUniques, validateRelations, } from 'src/core/strings/constants/interface.constants'; @Injectable() export class UpdateItemQueueManager extends BaseUpdateManager { async validateProcess(): Promise { Object.assign(this.data, { item_type: this.data.item_type.toLowerCase(), }); return; } async beforeProcess(): Promise { return; } async afterProcess(): Promise { return; } get validateRelations(): validateRelations[] { if (this.data.item_type != this.oldData.item_type) { return [ { relation: 'items', message: 'Gagal! tidak dapat mengubah tipe item karena sudah berelasi dengan item', }, ]; } else { return []; } } get uniqueColumns(): columnUniques[] { return [{ column: 'name' }]; } get entityTarget(): any { return ItemQueueModel; } get eventTopics(): EventTopics[] { return []; } }