From 577f8ea9ea22e191a29d24c2a20f8b94b600b752 Mon Sep 17 00:00:00 2001 From: shancheas Date: Wed, 13 Nov 2024 14:30:23 +0700 Subject: [PATCH] feat: login by receipt --- ...26542-add-transaction-and-item-relation.ts | 50 +++++++++++++++++++ .../controllers/dto/login-receipt.dto.ts | 9 ++++ 2 files changed, 59 insertions(+) create mode 100644 src/database/migrations/1731383726542-add-transaction-and-item-relation.ts create mode 100644 src/modules/queue/infrastructure/controllers/dto/login-receipt.dto.ts diff --git a/src/database/migrations/1731383726542-add-transaction-and-item-relation.ts b/src/database/migrations/1731383726542-add-transaction-and-item-relation.ts new file mode 100644 index 0000000..4f9e288 --- /dev/null +++ b/src/database/migrations/1731383726542-add-transaction-and-item-relation.ts @@ -0,0 +1,50 @@ +import { MigrationInterface, QueryRunner } from 'typeorm'; + +export class AddTransactionAndItemRelation1731383726542 + implements MigrationInterface +{ + name = 'AddTransactionAndItemRelation1731383726542'; + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `ALTER TABLE "transaction_items" DROP COLUMN "item_id"`, + ); + await queryRunner.query( + `ALTER TABLE "transaction_items" ADD "item_id" uuid`, + ); + await queryRunner.query( + `ALTER TABLE "transactions" DROP COLUMN "customer_category_id"`, + ); + await queryRunner.query( + `ALTER TABLE "transactions" ADD "customer_category_id" uuid`, + ); + + await queryRunner.query( + `ALTER TABLE "transaction_items" ADD CONSTRAINT "FK_edb934ab033f847e3f7ed4fc0fc" FOREIGN KEY ("item_id") REFERENCES "items"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "transactions" ADD CONSTRAINT "FK_08dc8138714894a66e94820766d" FOREIGN KEY ("customer_category_id") REFERENCES "vip_categories"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`, + ); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `ALTER TABLE "transactions" DROP CONSTRAINT "FK_08dc8138714894a66e94820766d"`, + ); + await queryRunner.query( + `ALTER TABLE "transaction_items" DROP CONSTRAINT "FK_edb934ab033f847e3f7ed4fc0fc"`, + ); + await queryRunner.query( + `ALTER TABLE "transactions" DROP COLUMN "customer_category_id"`, + ); + await queryRunner.query( + `ALTER TABLE "transactions" ADD "customer_category_id" character varying`, + ); + await queryRunner.query( + `ALTER TABLE "transaction_items" DROP COLUMN "item_id"`, + ); + await queryRunner.query( + `ALTER TABLE "transaction_items" ADD "item_id" character varying`, + ); + } +} diff --git a/src/modules/queue/infrastructure/controllers/dto/login-receipt.dto.ts b/src/modules/queue/infrastructure/controllers/dto/login-receipt.dto.ts new file mode 100644 index 0000000..298fc1f --- /dev/null +++ b/src/modules/queue/infrastructure/controllers/dto/login-receipt.dto.ts @@ -0,0 +1,9 @@ +import { ApiProperty } from '@nestjs/swagger'; +import { IsNotEmpty, IsString } from 'class-validator'; + +export class LoginReceiptDto { + @ApiProperty({ name: 'id', required: true }) + @IsString() + @IsNotEmpty() + id: string; +}