Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 0 additions & 14 deletions services/api/app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,44 +28,32 @@
"db:seed": "psql postgresql://postgres:postgres@localhost:54322/postgres -f supabase/seeds/seed.sql"
},
"dependencies": {
"@nestjs/axios": "^3.1.3",
"@nestjs/cache-manager": "^2.3.0",
"@nestjs/common": "^9.4.3",
"@nestjs/config": "^3.2.3",
"@nestjs/core": "^9.4.3",
"@nestjs/platform-express": "^9.0.0",
"@nestjs/schedule": "4.1.2",
"@nestjs/swagger": "^7.4.0",
"@nestjs/typeorm": "^10.0.2",
"@sentry/browser": "^10.43.0",
"@sentry/nestjs": "^10.43.0",
"@sentry/node": "^10.43.0",
"@sentry/node-native": "^10.43.0",
"@sentry/profiling-node": "^10.43.0",
"@supabase/supabase-js": "^2.45.1",
"@willsoto/nestjs-prometheus": "^6.0.2",
"axios": "^1.7.9",
"cache-manager": "^5.7.6",
"class-transformer": "^0.5.1",
"class-validator": "^0.14.1",
"dotenv": "^16.4.5",
"joi": "^17.13.3",
"nest-winston": "^1.10.2",
"pg": "^8.12.0",
"postgres": "^3.4.4",
"prom-client": "^15.1.3",
"reflect-metadata": "^0.1.13",
"rxjs": "^7.2.0",
"typeorm": "^0.3.20",
"typeorm-transactional": "^0.5.0",
"winston": "^3.17.0"
},
"devDependencies": {
"@nestjs/cli": "^9.0.0",
"@nestjs/schematics": "^9.2.0",
"@nestjs/testing": "^9.0.0",
"@snaplet/copycat": "^5.1.0",
"@snaplet/seed": "0.98.0",
"@types/express": "^4.17.13",
"@types/jest": "29.5.1",
"@types/node": "18.16.12",
Expand All @@ -78,11 +66,9 @@
"eslint-plugin-prettier": "^4.0.0",
"jest": "29.5.0",
"prettier": "^2.3.2",
"source-map-support": "^0.5.20",
"supabase": "^2.78.1",
"supertest": "^6.1.3",
"ts-jest": "29.1.0",
"ts-loader": "^9.2.3",
"ts-node": "^10.0.0",
"tsconfig-paths": "4.2.0",
"typescript": "=5.5.3"
Expand Down
1,946 changes: 9 additions & 1,937 deletions services/api/app/pnpm-lock.yaml

Large diffs are not rendered by default.

11 changes: 0 additions & 11 deletions services/api/app/src/api/internal/warmup/warmup.module.ts

This file was deleted.

120 changes: 0 additions & 120 deletions services/api/app/src/api/internal/warmup/warmup.service.ts

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -52,30 +52,21 @@ export class CafeteriaMessageFactory {
}

public createCafeteriaDietListCard(result: CafeteriaDietResult): SkillTemplate {
const { cafeteria, date, time, diets } = result;
const { cafeteria, date, time, menuGroups } = result;
const title = `🍱 ${cafeteria.name}(${cafeteria.campus.name.slice(0, 2)})`;
const year = date.getFullYear();
const month = date.getMonth() + 1;
const day = date.getDate();

let description = `${year}-${month}-${day}(${getDayWeek(date)}) ${time} 메뉴\n\n`;

if (diets.length > 0) {
// dishCategory 또는 dishType 별로 그룹화
const grouped: Record<string, string[]> = {};
diets.forEach(diet => {
const type = diet.dishCategory || diet.dishType || '';
if (!grouped[type]) grouped[type] = [];
grouped[type].push(diet.dishName);
});

// 출력
description += Object.entries(grouped)
.map(([type, names]) => {
if (type) {
return `[${type}]\n${names.join('\n')}`;
if (menuGroups.length > 0) {
description += menuGroups
.map(({ category, items }) => {
if (category) {
return `[${category}]\n${items.join('\n')}`;
} else {
return names.join('\n');
return items.join('\n');
}
})
.join('\n\n');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,10 @@ import { Controller, Get, Param, ParseIntPipe, Query, UseGuards } from '@nestjs/
import { ApiOkResponse, ApiTags } from '@nestjs/swagger';
import { NativeResponseDto } from 'src/api/common/dtos/native-response.dto';
import { JwtAuthGuard } from 'src/api/public/users/guards/jwt-auth.guard';
import { getDietTime } from 'src/api/public/cafeterias/utils/time';
import { GetCafeteriaDietQueryDto } from './dtos/requests/get-cafeteria-diet-query.dto';
import { GetCafeteriasQueryDto } from './dtos/requests/get-cafeterias-query.dto';
import {
CafeteriaDietResponseDto,
MenuCategoryDto,
} from './dtos/responses/cafeteria-diet-response.dto';
import { CafeteriaDietResponseDto } from './dtos/responses/cafeteria-diet-response.dto';
import { CafeteriaResponseDto } from './dtos/responses/cafeteria-response.dto';
import { CafeteriasService } from './cafeterias.service';

Expand Down Expand Up @@ -43,26 +41,8 @@ export class CafeteriasNativeController {
@Query() query: GetCafeteriaDietQueryDto,
): Promise<NativeResponseDto<CafeteriaDietResponseDto>> {
const date = query.date ? new Date(query.date) : new Date();
const result = await this.cafeteriasService.getCafeteriaDietByDate(
cafeteriaId,
date,
query.time,
);

const grouped = new Map<string, string[]>();
for (const diet of result.diets) {
const key = diet.dishCategory || diet.dishType || '';
let items = grouped.get(key);
if (!items) {
items = [];
grouped.set(key, items);
}
items.push(diet.dishName);
}
const menus: MenuCategoryDto[] = Array.from(grouped.entries()).map(([category, items]) => ({
category,
items,
}));
const time = query.time ?? getDietTime(date);
const result = await this.cafeteriasService.getCafeteriaDiet(cafeteriaId, date, time);
Comment thread
JangDongHo marked this conversation as resolved.
Resolved

const data: CafeteriaDietResponseDto = {
cafeteria: {
Expand All @@ -77,7 +57,7 @@ export class CafeteriasNativeController {
},
date: result.date.toISOString().slice(0, 10),
time: result.time,
menus,
menus: result.menuGroups,
};

return new NativeResponseDto(data);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import { FetchCurrentUser } from 'src/api/public/users/decorators/fetch-current-
import { BlockId } from 'src/api/common/utils/constants';
import { User } from 'src/type-orm/entities/users/users.entity';
import { KakaoAuthGuard } from 'src/api/public/users/guards/kakao-auth.guard';
import { getDietTime, getTodayOrTomorrow } from 'src/api/public/cafeterias/utils/time';
import { CafeteriasService } from './cafeterias.service';

@ApiTags('cafeterias')
Expand Down Expand Up @@ -60,7 +61,9 @@ export class CafeteriasController {
@ClientExtra(ListCafeteriaDietExtraRequestDto)
extra: ListCafeteriaDietExtraRequestDto,
) {
const { cafeteriaId, date, time } = extra;
const { cafeteriaId } = extra;
const date = getTodayOrTomorrow(extra.date);
const time = extra.time ?? getDietTime(date);
const result = await this.cafeteriasService.getCafeteriaDiet(cafeteriaId, date, time);
const template = this.cafeteriaMessageFactory.createCafeteriaDietListCard(result);
return new ResponseDTO(template);
Expand Down
Loading
Loading