@@ -15,6 +15,11 @@ export class CreateOrderAsAdminDto {
|
|||||||
@IsOptional()
|
@IsOptional()
|
||||||
userId?: string;
|
userId?: string;
|
||||||
|
|
||||||
|
@ApiPropertyOptional({ example: '' })
|
||||||
|
@IsString()
|
||||||
|
@IsOptional()
|
||||||
|
designerId?: string;
|
||||||
|
|
||||||
@ApiPropertyOptional({ example: '' })
|
@ApiPropertyOptional({ example: '' })
|
||||||
@IsString()
|
@IsString()
|
||||||
@IsOptional()
|
@IsOptional()
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import { OrderPrintRepository } from '../repositories/order-print.repository';
|
|||||||
import { Request } from 'src/modules/request/entities/request.entity';
|
import { Request } from 'src/modules/request/entities/request.entity';
|
||||||
import { Invoice } from 'src/modules/invoice/entities/invoice.entity';
|
import { Invoice } from 'src/modules/invoice/entities/invoice.entity';
|
||||||
import { OrderCreatedEvent } from '../events/order.events';
|
import { OrderCreatedEvent } from '../events/order.events';
|
||||||
|
import { InvoiceConfirmStatusEnum } from 'src/modules/invoice/enum/invoice-confirm-status.enum';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class OrderService {
|
export class OrderService {
|
||||||
@@ -48,6 +49,10 @@ export class OrderService {
|
|||||||
throw new NotFoundException(`Invoice item with ID ${dto.invoiceItemId} not found.`);
|
throw new NotFoundException(`Invoice item with ID ${dto.invoiceItemId} not found.`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!invoiceItem.confirmedAt ) {
|
||||||
|
throw new BadRequestException(`Invoice item is not confirmed`);
|
||||||
|
}
|
||||||
|
|
||||||
user = invoiceItem.invoice.user
|
user = invoiceItem.invoice.user
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -83,9 +88,15 @@ export class OrderService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let designer = null;
|
||||||
|
if (dto.designerId) {
|
||||||
|
designer = await this.adminService.findOrFail(dto.designerId);
|
||||||
|
}
|
||||||
|
|
||||||
const order = this.em.create(Order, {
|
const order = this.em.create(Order, {
|
||||||
user,
|
user,
|
||||||
creator,
|
creator,
|
||||||
|
designer,
|
||||||
type,
|
type,
|
||||||
product: product ?? null,
|
product: product ?? null,
|
||||||
title: dto.title,
|
title: dto.title,
|
||||||
|
|||||||
Reference in New Issue
Block a user