feat(SPG-760) Validasi Bundling dan Item active inactive

fix/data
Aswin Ashar Abdullah 2024-08-02 17:12:12 +07:00
parent cc01b23e2a
commit 239e2d778a
5 changed files with 28 additions and 9 deletions

View File

@ -36,7 +36,12 @@ export class ActiveItemManager extends BaseUpdateStatusManager<ItemEntity> {
{ {
relation: 'tenant', relation: 'tenant',
singleQuery: ['status', '!=', STATUS.ACTIVE], singleQuery: ['status', '!=', STATUS.ACTIVE],
message: `Gagal! Belum ada item yang aktif`, message: `Gagal! tenant tidak aktif`,
},
{
relation: 'bundling_items',
singleQuery: ['status', '!=', STATUS.ACTIVE],
message: `Gagal! Terdapat item yang belum aktif`,
}, },
]; ];
} }

View File

@ -7,11 +7,7 @@ import {
import { ItemModel } from '../../../data/models/item.model'; import { ItemModel } from '../../../data/models/item.model';
import { ItemChangeStatusEvent } from '../../entities/event/item-change-status.event'; import { ItemChangeStatusEvent } from '../../entities/event/item-change-status.event';
import { BatchResult } from 'src/core/response/domain/ok-response.interface'; import { BatchResult } from 'src/core/response/domain/ok-response.interface';
import { import { Injectable } from '@nestjs/common';
HttpStatus,
Injectable,
UnprocessableEntityException,
} from '@nestjs/common';
import { STATUS } from 'src/core/strings/constants/base.constants'; import { STATUS } from 'src/core/strings/constants/base.constants';
@Injectable() @Injectable()
@ -33,7 +29,12 @@ export class BatchActiveItemManager extends BaseBatchUpdateStatusManager<ItemEnt
{ {
relation: 'tenant', relation: 'tenant',
singleQuery: ['status', '!=', STATUS.ACTIVE], singleQuery: ['status', '!=', STATUS.ACTIVE],
message: `Gagal! Belum ada item yang aktif`, message: `Gagal! tenant tidak aktif`,
},
{
relation: 'bundling_items',
singleQuery: ['status', '!=', STATUS.ACTIVE],
message: `Gagal! Terdapat item yang belum aktif`,
}, },
]; ];
} }

View File

@ -29,7 +29,12 @@ export class BatchConfirmItemManager extends BaseBatchUpdateStatusManager<ItemEn
{ {
relation: 'tenant', relation: 'tenant',
singleQuery: ['status', '!=', STATUS.ACTIVE], singleQuery: ['status', '!=', STATUS.ACTIVE],
message: `Gagal! Belum ada item yang aktif`, message: `Gagal! tenant tidak aktif`,
},
{
relation: 'bundling_items',
singleQuery: ['status', '!=', STATUS.ACTIVE],
message: `Gagal! Terdapat item yang belum aktif`,
}, },
]; ];
} }

View File

@ -32,7 +32,12 @@ export class ConfirmItemManager extends BaseUpdateStatusManager<ItemEntity> {
{ {
relation: 'tenant', relation: 'tenant',
singleQuery: ['status', '!=', STATUS.ACTIVE], singleQuery: ['status', '!=', STATUS.ACTIVE],
message: `Gagal! Belum ada item yang aktif`, message: `Gagal! tenant tidak aktif`,
},
{
relation: 'bundling_items',
singleQuery: ['status', '!=', STATUS.ACTIVE],
message: `Gagal! Terdapat item yang belum aktif`,
}, },
]; ];
} }

View File

@ -1,8 +1,11 @@
import { HttpStatus, UnprocessableEntityException } from '@nestjs/common'; import { HttpStatus, UnprocessableEntityException } from '@nestjs/common';
import { STATUS } from 'src/core/strings/constants/base.constants';
import { In } from 'typeorm';
export async function validateRelation(dataService, id) { export async function validateRelation(dataService, id) {
const haveRelation = await dataService.getOneByOptions({ const haveRelation = await dataService.getOneByOptions({
where: { where: {
status: In([STATUS.ACTIVE]),
bundling_items: { bundling_items: {
id: id, id: id,
}, },