From ead8f0b581570c3405a964cf579249e94e5ed868 Mon Sep 17 00:00:00 2001 From: ndaemy Date: Thu, 31 Aug 2023 01:08:56 +0900 Subject: [PATCH 1/3] =?UTF-8?q?fix:=20=EC=97=90=EB=9F=AC=20=EB=AC=B8?= =?UTF-8?q?=EA=B5=AC=20=EC=A0=81=EC=A0=88=ED=95=98=EB=8F=84=EB=A1=9D=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/rooms/rooms.service.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/api/rooms/rooms.service.ts b/src/api/rooms/rooms.service.ts index f84a04d..cff4ee2 100644 --- a/src/api/rooms/rooms.service.ts +++ b/src/api/rooms/rooms.service.ts @@ -229,7 +229,9 @@ export class RoomsService { firstDate.getMonth() < nowKoreanDate.getMonth() || firstDate.getDate() < nowKoreanDate.getDate() ) { - errors.push('first date must be today no matter how early it is.'); + errors.push( + 'first date must be later than today no matter how early it is.' + ); } if (sortedDates.at(-1) > maxDateString) { From c0869d4516d7ab80e1eb3a35064c46e2bd59d7e2 Mon Sep 17 00:00:00 2001 From: ndaemy Date: Thu, 31 Aug 2023 01:09:20 +0900 Subject: [PATCH 2/3] =?UTF-8?q?chore:=20date-fns=20=EC=84=A4=EC=B9=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + yarn.lock | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/package.json b/package.json index e90a559..500f2e4 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ "bcrypt": "^5.1.0", "class-transformer": "^0.5.1", "class-validator": "^0.14.0", + "date-fns": "^2.30.0", "lodash": "^4.17.21", "nanoid": "^3.3.6", "passport": "^0.6.0", diff --git a/yarn.lock b/yarn.lock index 9068ef1..eefe98a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -294,6 +294,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.20.2" +"@babel/runtime@^7.21.0": + version "7.22.11" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.11.tgz#7a9ba3bbe406ad6f9e8dd4da2ece453eb23a77a4" + integrity sha512-ee7jVNlWN09+KftVOu9n7S8gQzD/Z6hN/I8VBRXW4P1+Xe7kJGXMwu8vds4aGIMHZnNbdpSWCfZZtinytpcAvA== + dependencies: + regenerator-runtime "^0.14.0" + "@babel/template@^7.20.7", "@babel/template@^7.3.3": version "7.21.9" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.21.9.tgz#bf8dad2859130ae46088a99c1f265394877446fb" @@ -2143,6 +2150,13 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" +date-fns@^2.30.0: + version "2.30.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz#f367e644839ff57894ec6ac480de40cae4b0f4d0" + integrity sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw== + dependencies: + "@babel/runtime" "^7.21.0" + debug@2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -4885,6 +4899,11 @@ reflect-metadata@^0.1.13: resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz#67ae3ca57c972a2aa1642b10fe363fe32d49dc08" integrity sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg== +regenerator-runtime@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45" + integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== + regexp.prototype.flags@^1.4.3: version "1.5.0" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz#fe7ce25e7e4cca8db37b6634c8a2c7009199b9cb" From fa1f49fe6056719daf620e16f4c29d0bbacd8482 Mon Sep 17 00:00:00 2001 From: ndaemy Date: Thu, 31 Aug 2023 01:12:13 +0900 Subject: [PATCH 3/3] =?UTF-8?q?fix:=20=EC=98=A4=EB=8A=98=20=EB=82=A0?= =?UTF-8?q?=EC=A7=9C=EA=B0=80=20=EC=A0=9C=EB=8C=80=EB=A1=9C=20=EB=8B=B4?= =?UTF-8?q?=EA=B8=B0=EC=A7=80=20=EC=95=8A=EB=8D=98=20=EB=AC=B8=EC=A0=9C=20?= =?UTF-8?q?=ED=94=BD=EC=8A=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/rooms/rooms.service.ts | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/src/api/rooms/rooms.service.ts b/src/api/rooms/rooms.service.ts index cff4ee2..e800c30 100644 --- a/src/api/rooms/rooms.service.ts +++ b/src/api/rooms/rooms.service.ts @@ -4,6 +4,7 @@ import { NotFoundException, } from '@nestjs/common'; import { Room } from '@prisma/client'; +import { add } from 'date-fns'; import uniq from 'lodash/uniq'; import { customAlphabet } from 'nanoid'; @@ -198,14 +199,9 @@ export class RoomsService { const dates = createRoomDto.dates; const firstDate = this.convertStringToDate(dates[0]); - const now = new Date(); - const utc = now.getTime() + now.getTimezoneOffset() * 60 * 1000; - const koreaTimeDiff = 9 * 60 * 60 * 1000; - const nowKoreanDate = new Date(utc + koreaTimeDiff); + const nowKoreanDate = add(new Date(), { hours: 9 }); - const maxDate = new Date( - nowKoreanDate.setMonth(nowKoreanDate.getMonth() + 6) - ); + const maxDate = add(nowKoreanDate, { months: 6 }); const maxDateString = `${maxDate.getFullYear()}-${( '0' + (maxDate.getMonth() + 1) @@ -225,10 +221,7 @@ export class RoomsService { errors.push('dates must be sorted'); } - if ( - firstDate.getMonth() < nowKoreanDate.getMonth() || - firstDate.getDate() < nowKoreanDate.getDate() - ) { + if (firstDate < nowKoreanDate) { errors.push( 'first date must be later than today no matter how early it is.' );