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