Trần Viết Sơn commited on
Commit
7fc5ddf
·
unverified ·
2 Parent(s): ddd07cb 4ef06a6

Merge pull request #23 from PBL6-team-CATS/fix/menu-items

Browse files
backend/src/common/enums/MenuItemType.enum.ts ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ export enum MenuItemType {
2
+ MON_CHINH = 'monchinh', // món chính
3
+ TRANG_MIENG = 'trangmieng', // tráng miệng
4
+ GIAI_KHAT = 'giaikhat', // giải khát
5
+ KHAC = 'khac', // khác
6
+ }
backend/src/entities/menu-item.entity.ts CHANGED
@@ -2,12 +2,12 @@ import {
2
  BaseEntity,
3
  Column,
4
  Entity,
5
- ManyToOne,
6
  OneToMany,
7
  PrimaryColumn,
8
  Relation,
9
  } from 'typeorm';
10
  import { BranchMenuEntity } from './branch-menu.entity.js';
 
11
 
12
  @Entity('menu_items')
13
  export class MenuItemEntity extends BaseEntity {
@@ -20,8 +20,8 @@ export class MenuItemEntity extends BaseEntity {
20
  @Column({ nullable: true })
21
  image_url: string;
22
 
23
- @Column({ nullable: true })
24
- item_group_id: string;
25
 
26
  @Column()
27
  description: string;
 
2
  BaseEntity,
3
  Column,
4
  Entity,
 
5
  OneToMany,
6
  PrimaryColumn,
7
  Relation,
8
  } from 'typeorm';
9
  import { BranchMenuEntity } from './branch-menu.entity.js';
10
+ import { MenuItemType } from '../common/enums/MenuItemType.enum.js';
11
 
12
  @Entity('menu_items')
13
  export class MenuItemEntity extends BaseEntity {
 
20
  @Column({ nullable: true })
21
  image_url: string;
22
 
23
+ @Column({ type: 'enum', enum: MenuItemType, default: 'khac' })
24
+ item_type: MenuItemType;
25
 
26
  @Column()
27
  description: string;
backend/src/migrations/1729877042750-MoveMenuItemType.ts ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { MigrationInterface, QueryRunner } from "typeorm";
2
+
3
+ export class MoveMenuItemType1729877042750 implements MigrationInterface {
4
+ name = 'MoveMenuItemType1729877042750'
5
+
6
+ public async up(queryRunner: QueryRunner): Promise<void> {
7
+ await queryRunner.query(`ALTER TABLE "menu_items" RENAME COLUMN "item_group_id" TO "item_type"`);
8
+ await queryRunner.query(`ALTER TABLE "menu_items" DROP COLUMN "item_type"`);
9
+ await queryRunner.query(`CREATE TYPE "public"."menu_items_item_type_enum" AS ENUM('monchinh', 'trangmieng', 'giaikhat', 'khac')`);
10
+ await queryRunner.query(`ALTER TABLE "menu_items" ADD "item_type" "public"."menu_items_item_type_enum" NOT NULL DEFAULT 'khac'`);
11
+ }
12
+
13
+ public async down(queryRunner: QueryRunner): Promise<void> {
14
+ await queryRunner.query(`ALTER TABLE "menu_items" DROP COLUMN "item_type"`);
15
+ await queryRunner.query(`DROP TYPE "public"."menu_items_item_type_enum"`);
16
+ await queryRunner.query(`ALTER TABLE "menu_items" ADD "item_type" character varying`);
17
+ await queryRunner.query(`ALTER TABLE "menu_items" RENAME COLUMN "item_type" TO "item_group_id"`);
18
+ }
19
+
20
+ }
backend/src/modules/menu-item/menu-item.service.ts CHANGED
@@ -20,13 +20,7 @@ export class MenuItemService {
20
 
21
  async findAll(query: PaginateQuery) {
22
  const paginateConfig: PaginateConfig<MenuItemEntity> = {
23
- sortableColumns: [
24
- 'id',
25
- 'item_group_id',
26
- 'item_name',
27
- 'price',
28
- 'create_at',
29
- ],
30
  nullSort: 'last',
31
  defaultSortBy: [['id', 'DESC']],
32
  searchableColumns: ['item_name'],
@@ -37,6 +31,7 @@ export class MenuItemService {
37
  FilterOperator.GT,
38
  FilterOperator.GTE,
39
  ],
 
40
  },
41
  };
42
  return paginate(query, MenuItemEntity.createQueryBuilder(), paginateConfig);
 
20
 
21
  async findAll(query: PaginateQuery) {
22
  const paginateConfig: PaginateConfig<MenuItemEntity> = {
23
+ sortableColumns: ['id', 'item_type', 'item_name', 'price', 'create_at'],
 
 
 
 
 
 
24
  nullSort: 'last',
25
  defaultSortBy: [['id', 'DESC']],
26
  searchableColumns: ['item_name'],
 
31
  FilterOperator.GT,
32
  FilterOperator.GTE,
33
  ],
34
+ item_type: [FilterOperator.EQ]
35
  },
36
  };
37
  return paginate(query, MenuItemEntity.createQueryBuilder(), paginateConfig);