From f451306c908eca0e3ac191d6ac40dc0945b0cd3d Mon Sep 17 00:00:00 2001 From: Hyang-Dan Date: Tue, 9 Dec 2025 22:00:46 +0900 Subject: [PATCH] =?UTF-8?q?issue=20#62=20-=20=EC=9D=BC=EC=A0=95=20?= =?UTF-8?q?=EA=B4=80=EB=A0=A8=20=EA=B8=B0=EB=8A=A5=20=EA=B5=AC=ED=98=84=20?= =?UTF-8?q?=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../schedule/dto/create/create-request.dto.ts | 36 ++++++++++++++++ .../dto/create/create-response.dto.ts | 0 src/modules/schedule/schedule.controller.ts | 0 src/modules/schedule/schedule.module.ts | 0 src/modules/schedule/schedule.repo.ts | 43 +++++++++++++++++++ src/modules/schedule/schedule.service.ts | 0 6 files changed, 79 insertions(+) create mode 100644 src/modules/schedule/dto/create/create-request.dto.ts create mode 100644 src/modules/schedule/dto/create/create-response.dto.ts create mode 100644 src/modules/schedule/schedule.controller.ts create mode 100644 src/modules/schedule/schedule.module.ts create mode 100644 src/modules/schedule/schedule.repo.ts create mode 100644 src/modules/schedule/schedule.service.ts diff --git a/src/modules/schedule/dto/create/create-request.dto.ts b/src/modules/schedule/dto/create/create-request.dto.ts new file mode 100644 index 0000000..ef39092 --- /dev/null +++ b/src/modules/schedule/dto/create/create-request.dto.ts @@ -0,0 +1,36 @@ +import { IsArray, IsDate, IsString } from '@nestjs/class-validator'; + +export class CreateRequestDto { + @IsString() + name: string; + + @IsDate() + startDate: Date; + + @IsDate() + endDate: Date; + + @IsString() + status: string; + + @IsString() + content: string; + + @IsString() + type: string; + + @IsString() + style: string; + + @IsString() + startTime: string; + + @IsString() + endTime: string; + + @IsString() + dayList: string; + + @IsArray() + participantList: string[]; +} \ No newline at end of file diff --git a/src/modules/schedule/dto/create/create-response.dto.ts b/src/modules/schedule/dto/create/create-response.dto.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/modules/schedule/schedule.controller.ts b/src/modules/schedule/schedule.controller.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/modules/schedule/schedule.module.ts b/src/modules/schedule/schedule.module.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/modules/schedule/schedule.repo.ts b/src/modules/schedule/schedule.repo.ts new file mode 100644 index 0000000..a18e179 --- /dev/null +++ b/src/modules/schedule/schedule.repo.ts @@ -0,0 +1,43 @@ +import { Inject, Injectable } from '@nestjs/common'; +import * as schema from 'drizzle/schema'; +import { countDistinct, and, eq } from 'drizzle-orm'; +import { NodePgDatabase } from 'drizzle-orm/node-postgres'; + +@Injectable() +export class ScheduleRepo { + constructor(@Inject('DRIZZLE') private readonly db: NodePgDatabase) {} + + async getList(accountId: string) { + const result = await this + .db + .select() + .from(schema.schedule) + .where( + and( + eq(schema.schedule.owner, accountId), + eq(schema.schedule.isDeleted, false) + ) + ); + + return result; + } + + async getDetail(id: string) { + const result = await this + .db + .select() + .from(schema.schedule) + .where( + and( + eq(schema.schedule.id, id), + eq(schema.schedule.isDeleted, false) + ) + ); + + return result[0]; + } + + async create() { + + } +} \ No newline at end of file diff --git a/src/modules/schedule/schedule.service.ts b/src/modules/schedule/schedule.service.ts new file mode 100644 index 0000000..e69de29