From 7f5667c0b083fa6fa2f30f9a48eca8b4fa20a94b Mon Sep 17 00:00:00 2001 From: niamu01 <niamu01@naver.com> Date: Wed, 10 Jan 2024 11:29:51 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=20:recycle:=20evalLog=EC=9D=98=20fiel?= =?UTF-8?q?dExtractor=EC=9D=98=20=EC=BB=A4=EC=84=9C=20=EA=B2=80=EC=82=AC?= =?UTF-8?q?=20=EC=82=AC=ED=95=AD=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/page/evalLog/evalLog.service.ts | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/app/src/page/evalLog/evalLog.service.ts b/app/src/page/evalLog/evalLog.service.ts index 38bdf8c5..4b1477f5 100644 --- a/app/src/page/evalLog/evalLog.service.ts +++ b/app/src/page/evalLog/evalLog.service.ts @@ -1,4 +1,4 @@ -import { Injectable } from '@nestjs/common'; +import { BadRequestException, Injectable } from '@nestjs/common'; import { FilterQuery } from 'mongoose'; import { scale_team } from 'src/api/scaleTeam/db/scaleTeam.database.schema'; import { @@ -143,7 +143,20 @@ const cursorExtractor: CursorExtractor<EvalLog> = (doc) => doc.id.toString() + '_' + doc.header.beginAt.toISOString(); const fieldExtractor: FieldExtractor<EvalLogCursorField> = (cursor: string) => { - const [idString, dateString] = cursor.split('_'); + const cursorDataList = cursor.split('_'); + if (cursorDataList.length !== 2) { + throw new BadRequestException('Invalid Cursor'); + } + + const userId = parseInt(cursorDataList[0]); + if (isNaN(userId)) { + throw new BadRequestException('Invalid Cursor'); + } + + const date = new Date(cursorDataList[1]).getTime(); + if (isNaN(date)) { + throw new BadRequestException('Invalid Cursor'); + } - return [parseInt(idString), new Date(dateString)]; + return [userId, new Date(date)]; };