Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 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
1 change: 0 additions & 1 deletion services/api/app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@
"@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",
Expand Down
41 changes: 0 additions & 41 deletions services/api/app/pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

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