update
This commit is contained in:
@@ -345,68 +345,6 @@
|
|||||||
},
|
},
|
||||||
"nativeEnums": {}
|
"nativeEnums": {}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"columns": {
|
|
||||||
"id": {
|
|
||||||
"name": "id",
|
|
||||||
"type": "char(26)",
|
|
||||||
"unsigned": false,
|
|
||||||
"autoincrement": false,
|
|
||||||
"primary": false,
|
|
||||||
"nullable": false,
|
|
||||||
"length": 26,
|
|
||||||
"mappedType": "character"
|
|
||||||
},
|
|
||||||
"created_at": {
|
|
||||||
"name": "created_at",
|
|
||||||
"type": "timestamptz",
|
|
||||||
"unsigned": false,
|
|
||||||
"autoincrement": false,
|
|
||||||
"primary": false,
|
|
||||||
"nullable": false,
|
|
||||||
"length": 6,
|
|
||||||
"default": "now()",
|
|
||||||
"mappedType": "datetime"
|
|
||||||
},
|
|
||||||
"deleted_at": {
|
|
||||||
"name": "deleted_at",
|
|
||||||
"type": "timestamptz",
|
|
||||||
"unsigned": false,
|
|
||||||
"autoincrement": false,
|
|
||||||
"primary": false,
|
|
||||||
"nullable": true,
|
|
||||||
"length": 6,
|
|
||||||
"mappedType": "datetime"
|
|
||||||
},
|
|
||||||
"title": {
|
|
||||||
"name": "title",
|
|
||||||
"type": "varchar(255)",
|
|
||||||
"unsigned": false,
|
|
||||||
"autoincrement": false,
|
|
||||||
"primary": false,
|
|
||||||
"nullable": false,
|
|
||||||
"length": 255,
|
|
||||||
"mappedType": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"name": "order_types",
|
|
||||||
"schema": "public",
|
|
||||||
"indexes": [
|
|
||||||
{
|
|
||||||
"keyName": "order_types_pkey",
|
|
||||||
"columnNames": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"composite": false,
|
|
||||||
"constraint": true,
|
|
||||||
"primary": true,
|
|
||||||
"unique": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"checks": [],
|
|
||||||
"foreignKeys": {},
|
|
||||||
"nativeEnums": {}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"columns": {
|
"columns": {
|
||||||
"phone": {
|
"phone": {
|
||||||
@@ -2723,6 +2661,26 @@
|
|||||||
"primary": false,
|
"primary": false,
|
||||||
"nullable": false,
|
"nullable": false,
|
||||||
"mappedType": "json"
|
"mappedType": "json"
|
||||||
|
},
|
||||||
|
"printery": {
|
||||||
|
"name": "printery",
|
||||||
|
"type": "varchar(255)",
|
||||||
|
"unsigned": false,
|
||||||
|
"autoincrement": false,
|
||||||
|
"primary": false,
|
||||||
|
"nullable": true,
|
||||||
|
"length": 255,
|
||||||
|
"mappedType": "string"
|
||||||
|
},
|
||||||
|
"lithography": {
|
||||||
|
"name": "lithography",
|
||||||
|
"type": "varchar(255)",
|
||||||
|
"unsigned": false,
|
||||||
|
"autoincrement": false,
|
||||||
|
"primary": false,
|
||||||
|
"nullable": true,
|
||||||
|
"length": 255,
|
||||||
|
"mappedType": "string"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "orders",
|
"name": "orders",
|
||||||
@@ -2786,7 +2744,7 @@
|
|||||||
"referencedColumnNames": [
|
"referencedColumnNames": [
|
||||||
"id"
|
"id"
|
||||||
],
|
],
|
||||||
"referencedTableName": "public.order_types",
|
"referencedTableName": "public.categories",
|
||||||
"updateRule": "cascade"
|
"updateRule": "cascade"
|
||||||
},
|
},
|
||||||
"orders_user_id_foreign": {
|
"orders_user_id_foreign": {
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
import { Migration } from '@mikro-orm/migrations';
|
||||||
|
|
||||||
|
export class Migration20260221130421 extends Migration {
|
||||||
|
|
||||||
|
override async up(): Promise<void> {
|
||||||
|
this.addSql(`alter table "orders" drop constraint "orders_type_id_foreign";`);
|
||||||
|
|
||||||
|
this.addSql(`alter table "orders" add column "printery" varchar(255) null, add column "lithography" varchar(255) null;`);
|
||||||
|
this.addSql(`alter table "orders" add constraint "orders_type_id_foreign" foreign key ("type_id") references "categories" ("id") on update cascade;`);
|
||||||
|
}
|
||||||
|
|
||||||
|
override async down(): Promise<void> {
|
||||||
|
this.addSql(`create table "order_types" ("id" char(26) not null, "created_at" timestamptz not null default now(), "deleted_at" timestamptz null, "title" varchar(255) not null, constraint "order_types_pkey" primary key ("id"));`);
|
||||||
|
|
||||||
|
this.addSql(`alter table "orders" drop constraint "orders_type_id_foreign";`);
|
||||||
|
|
||||||
|
this.addSql(`alter table "orders" add constraint "orders_type_id_foreign" foreign key ("type_id") references "order_types" ("id") on update cascade;`);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -19,6 +19,7 @@ import { PrintModule } from './modules/print/print.module';
|
|||||||
import { FormBuilderModule } from './modules/form-builder/form-builder.module';
|
import { FormBuilderModule } from './modules/form-builder/form-builder.module';
|
||||||
import { RequestModule } from './modules/request/request.module';
|
import { RequestModule } from './modules/request/request.module';
|
||||||
import { InvoiceModule } from './modules/invoice/invoice.module';
|
import { InvoiceModule } from './modules/invoice/invoice.module';
|
||||||
|
import { OrderModule } from './modules/order/order.module';
|
||||||
|
|
||||||
@Module({
|
@Module({
|
||||||
imports: [
|
imports: [
|
||||||
@@ -46,6 +47,7 @@ import { InvoiceModule } from './modules/invoice/invoice.module';
|
|||||||
FormBuilderModule,
|
FormBuilderModule,
|
||||||
RequestModule,
|
RequestModule,
|
||||||
InvoiceModule,
|
InvoiceModule,
|
||||||
|
OrderModule
|
||||||
],
|
],
|
||||||
controllers: [],
|
controllers: [],
|
||||||
providers: [],
|
providers: [],
|
||||||
|
|||||||
@@ -1,15 +0,0 @@
|
|||||||
import {
|
|
||||||
Entity,
|
|
||||||
Property,
|
|
||||||
OptionalProps,
|
|
||||||
} from '@mikro-orm/core';
|
|
||||||
import { BaseEntity } from 'src/common/entities/base.entity';
|
|
||||||
|
|
||||||
@Entity({ tableName: 'order_types' })
|
|
||||||
export class OrderType extends BaseEntity {
|
|
||||||
[OptionalProps]?: 'createdAt' | 'deletedAt'
|
|
||||||
|
|
||||||
@Property({ type: 'string' })
|
|
||||||
title: string
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -15,7 +15,7 @@ import { IAttachment, OrderStatusEnum } from '../interface/order.interface';
|
|||||||
import { InvoiceItem } from 'src/modules/invoice/entities/invoice-item.entity';
|
import { InvoiceItem } from 'src/modules/invoice/entities/invoice-item.entity';
|
||||||
import { IField } from 'src/modules/request/interface/request.interface';
|
import { IField } from 'src/modules/request/interface/request.interface';
|
||||||
import { Product } from 'src/modules/product/entities/product.entity';
|
import { Product } from 'src/modules/product/entities/product.entity';
|
||||||
import { OrderType } from './order-type.entity';
|
import { Category } from 'src/modules/product/entities/category.entity';
|
||||||
|
|
||||||
@Entity({ tableName: 'orders' })
|
@Entity({ tableName: 'orders' })
|
||||||
@Index({ properties: ['user'] })
|
@Index({ properties: ['user'] })
|
||||||
@@ -34,8 +34,8 @@ export class Order extends BaseEntity {
|
|||||||
@Property({ type: 'string', nullable: true })
|
@Property({ type: 'string', nullable: true })
|
||||||
title?: string
|
title?: string
|
||||||
|
|
||||||
@ManyToOne(() => OrderType)
|
@ManyToOne(() => Category)
|
||||||
type: OrderType
|
type: Category
|
||||||
|
|
||||||
@ManyToOne(() => User)
|
@ManyToOne(() => User)
|
||||||
user!: User;
|
user!: User;
|
||||||
|
|||||||
@@ -15,11 +15,10 @@ import { UserModule } from '../user/user.module';
|
|||||||
import { UtilsModule } from '../util/utils.module';
|
import { UtilsModule } from '../util/utils.module';
|
||||||
import { ProductModule } from '../product/product.module';
|
import { ProductModule } from '../product/product.module';
|
||||||
import { TicketModule } from '../ticket/ticket.module';
|
import { TicketModule } from '../ticket/ticket.module';
|
||||||
import { OrderType } from './entities/order-type.entity';
|
|
||||||
|
|
||||||
@Module({
|
@Module({
|
||||||
imports: [
|
imports: [
|
||||||
MikroOrmModule.forFeature([Order, OrderType]),
|
MikroOrmModule.forFeature([Order]),
|
||||||
AuthModule,
|
AuthModule,
|
||||||
forwardRef(() => PaymentModule),
|
forwardRef(() => PaymentModule),
|
||||||
JwtModule,
|
JwtModule,
|
||||||
|
|||||||
@@ -3,10 +3,7 @@ import { EntityManager } from '@mikro-orm/postgresql';
|
|||||||
import { OrderRepository } from '../repositories/order.repository';
|
import { OrderRepository } from '../repositories/order.repository';
|
||||||
import { FindOrdersDto } from '../dto/find-orders.dto';
|
import { FindOrdersDto } from '../dto/find-orders.dto';
|
||||||
import { EventEmitter2 } from '@nestjs/event-emitter';
|
import { EventEmitter2 } from '@nestjs/event-emitter';
|
||||||
import {
|
import { CreateOrderAsAdminDto } from '../dto/create-order.dto';
|
||||||
CreateOrderAsAdminDto,
|
|
||||||
CreateOrderItemDtoAsAdmin,
|
|
||||||
} from '../dto/create-order.dto';
|
|
||||||
import { UserService } from 'src/modules/user/providers/user.service';
|
import { UserService } from 'src/modules/user/providers/user.service';
|
||||||
import { OrderStatusEnum } from '../interface/order.interface';
|
import { OrderStatusEnum } from '../interface/order.interface';
|
||||||
import { ProductService } from 'src/modules/product/providers/product.service';
|
import { ProductService } from 'src/modules/product/providers/product.service';
|
||||||
@@ -18,16 +15,15 @@ import { Order } from '../entities/order.entity';
|
|||||||
import { PaymentRepository } from 'src/modules/payment/repositories/payment.repository';
|
import { PaymentRepository } from 'src/modules/payment/repositories/payment.repository';
|
||||||
import { AdminService } from 'src/modules/admin/providers/admin.service';
|
import { AdminService } from 'src/modules/admin/providers/admin.service';
|
||||||
import { UpdateOrderAsAdminDto } from '../dto/update-order.dto';
|
import { UpdateOrderAsAdminDto } from '../dto/update-order.dto';
|
||||||
import { FindOrderItemsDto } from '../dto/find-order-items.dto';
|
|
||||||
import { PermissionService } from 'src/modules/roles/providers/permissions.service';
|
import { PermissionService } from 'src/modules/roles/providers/permissions.service';
|
||||||
import { PermissionEnum } from 'src/common/enums/permission.enum';
|
import { PermissionEnum } from 'src/common/enums/permission.enum';
|
||||||
import { User } from 'src/modules/user/entities/user.entity';
|
import { User } from 'src/modules/user/entities/user.entity';
|
||||||
import { OrderType } from '../entities/order-type.entity';
|
|
||||||
import { Product } from 'src/modules/product/entities/product.entity';
|
import { Product } from 'src/modules/product/entities/product.entity';
|
||||||
import { InvoiceItem } from 'src/modules/invoice/entities/invoice-item.entity';
|
import { InvoiceItem } from 'src/modules/invoice/entities/invoice-item.entity';
|
||||||
import { PaginatedResult } from 'src/common/interfaces/pagination.interface';
|
import { PaginatedResult } from 'src/common/interfaces/pagination.interface';
|
||||||
import { UpdateStatusAsDesignerDto } from '../dto/update-status-as-designer.dto';
|
import { UpdateStatusAsDesignerDto } from '../dto/update-status-as-designer.dto';
|
||||||
import { UpdateStatusDto } from '../dto/update-status.dto';
|
import { UpdateStatusDto } from '../dto/update-status.dto';
|
||||||
|
import { Category } from 'src/modules/product/entities/category.entity';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class OrderService {
|
export class OrderService {
|
||||||
@@ -79,7 +75,7 @@ export class OrderService {
|
|||||||
|
|
||||||
const creator = await this.adminService.findOrFail(adminId);
|
const creator = await this.adminService.findOrFail(adminId);
|
||||||
|
|
||||||
const type = await this.em.findOne(OrderType, { id: dto.typeId });
|
const type = await this.em.findOne(Category, { id: dto.typeId });
|
||||||
if (!type) {
|
if (!type) {
|
||||||
throw new NotFoundException(`Order type with ID ${dto.typeId} not found.`);
|
throw new NotFoundException(`Order type with ID ${dto.typeId} not found.`);
|
||||||
}
|
}
|
||||||
@@ -157,7 +153,7 @@ export class OrderService {
|
|||||||
order.user = user as User;
|
order.user = user as User;
|
||||||
}
|
}
|
||||||
if (dto.typeId !== undefined) {
|
if (dto.typeId !== undefined) {
|
||||||
const type = await this.em.findOne(OrderType, { id: dto.typeId });
|
const type = await this.em.findOne(Category, { id: dto.typeId });
|
||||||
if (!type) {
|
if (!type) {
|
||||||
throw new NotFoundException(`Order type with ID ${dto.typeId} not found.`);
|
throw new NotFoundException(`Order type with ID ${dto.typeId} not found.`);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user