diff --git a/src/ai/ai.module.ts b/src/ai/ai.module.ts new file mode 100644 index 0000000..562dac9 --- /dev/null +++ b/src/ai/ai.module.ts @@ -0,0 +1,19 @@ +import { Module } from '@nestjs/common'; +import { TypeOrmModule } from '@nestjs/typeorm'; +import { QuestionEntity } from './entities/ai.question.entity'; +import { AnswerEntity } from './entities/ai.answer.entity'; +import { DiaryQuestionEntity } from './entities/ai.diary.question.entity'; + +@Module({ + imports: [ + TypeOrmModule.forFeature([ + QuestionEntity, + AnswerEntity, + DiaryQuestionEntity, + ]), + ], + controllers: [], + providers: [], + exports: [TypeOrmModule], +}) +export class AiModule {} diff --git a/src/ai/entities/ai-answer.entity.ts b/src/ai/entities/ai-answer.entity.ts new file mode 100644 index 0000000..35fe3da --- /dev/null +++ b/src/ai/entities/ai-answer.entity.ts @@ -0,0 +1,23 @@ +import { + Column, + CreateDateColumn, + Entity, + PrimaryGeneratedColumn, +} from 'typeorm'; + +@Entity('Answer') +export class AnswerEntity { + @PrimaryGeneratedColumn({ name: 'answer_id', type: 'int' }) + answerId: number; + + @Column({ name: 'answer', type: 'text' }) + answer: string; + + @CreateDateColumn({ + name: 'created_at', + type: 'timestamp', + nullable: false, + comment: '생성일', + }) + createdAt: Date; +} diff --git a/src/ai/entities/ai-diary.question.entity.ts b/src/ai/entities/ai-diary.question.entity.ts new file mode 100644 index 0000000..888d6c6 --- /dev/null +++ b/src/ai/entities/ai-diary.question.entity.ts @@ -0,0 +1,31 @@ +import { + Column, + CreateDateColumn, + Entity, + PrimaryGeneratedColumn, +} from 'typeorm'; + +@Entity('DiaryQuestion') +export class DiaryQuestionEntity { + @PrimaryGeneratedColumn({ + name: 'diary_question_id', + type: 'int', + comment: '일기-질문 아이디', + }) + diaryQuestionId: number; + + @Column({ + name: 'is_written', + type: 'boolean', + nullable: false, + default: false, + }) + isWritten: boolean; + + @CreateDateColumn({ + name: 'created_at', + type: 'timestamp', + comment: '생성일자', + }) + createdAt: Date; +} diff --git a/src/ai/entities/ai-question.entity.ts b/src/ai/entities/ai-question.entity.ts new file mode 100644 index 0000000..02a4dc0 --- /dev/null +++ b/src/ai/entities/ai-question.entity.ts @@ -0,0 +1,27 @@ +import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm'; + +@Entity('Question') +export class QuestionEntity { + @PrimaryGeneratedColumn({ + name: 'question_id', + type: 'int', + comment: '질문ID', + }) + questionId: number; + + @Column({ + name: 'content', + type: 'text', + nullable: false, + comment: '질문내용', + }) + content: string; + + @Column({ + name: 'target_date', + type: 'date', + nullable: false, + comment: '질문 날짜', + }) + targetDate: string; +} diff --git a/src/ai/entities/ai-recommend.entitiy.ts b/src/ai/entities/ai-recommend.entitiy.ts new file mode 100644 index 0000000..9c0ea64 --- /dev/null +++ b/src/ai/entities/ai-recommend.entitiy.ts @@ -0,0 +1,42 @@ +import { + Column, + CreateDateColumn, + Entity, + PrimaryGeneratedColumn, +} from 'typeorm'; + +@Entity('Recommend') +export class RecommendEntity { + @PrimaryGeneratedColumn({ + name: 'recommend_id', + type: 'int', + comment: '추천ID', + }) + recommendId: number; + + @Column({ + name: 'title', + type: 'varchar', + length: 500, + nullable: false, + comment: '추천 일정 제목', + }) + title: string; + + @Column({ + name: 'is_added', + type: 'boolean', + nullable: false, + default: false, + comment: '일정 추가 여부', + }) + isAdded: boolean; + + @CreateDateColumn({ + name: 'created_at', + type: 'timestamp', + nullable: false, + comment: '생성일자', + }) + createdAt: Date; +} diff --git a/src/app.module.ts b/src/app.module.ts index 4bde96e..0b5078b 100644 --- a/src/app.module.ts +++ b/src/app.module.ts @@ -7,7 +7,7 @@ import { AlarmsModule } from './alarms/alarms.module'; import { ScheduleModule } from './schedules/schedule.module'; import { UserModule } from './users/user.module'; import { DiariesModule } from './diaries/diary.module'; -import { AuthModule } from './auth/auth.module'; +import { AiModule } from './ai/ai.module'; @Module({ imports: [ @@ -32,7 +32,7 @@ import { AuthModule } from './auth/auth.module'; ScheduleModule, UserModule, DiariesModule, - AuthModule, + AiModule, ], controllers: [AppController], providers: [],