Skip to content

Commit

Permalink
refactor: 라이브 / 다시보기가 각각 시작 날짜, 종료 날짜 순으로 정렬되도록 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
i3kae committed Dec 3, 2024
1 parent a410a7a commit 835058b
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 8 deletions.
8 changes: 2 additions & 6 deletions backend/mainServer/src/memory-db/memory-db.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -67,12 +67,8 @@ export class MemoryDBService {
return getRandomElementsFromArray(liveSession, count);
}

getBroadcastInfo<T>(size: number, dtoTransformer: (info: MemoryDbDto) => T, checker: (item: MemoryDbDto) => boolean, appender: number = 0) {
const findSession = this.db.filter(item => checker(item)).sort((a: MemoryDbDto, b: MemoryDbDto) => {
const aDate = a.endDate ? a.endDate.getTime() : 0;
const bDate = b.endDate ? b.endDate.getTime() : 0;
return aDate - bDate;
});
getBroadcastInfo<T>(size: number, dtoTransformer: (info: MemoryDbDto) => T, checker: (item: MemoryDbDto) => boolean, compare: (a: MemoryDbDto, b: MemoryDbDto) => number, appender: number = 0) {
const findSession = this.db.filter(item => checker(item)).sort((a: MemoryDbDto, b: MemoryDbDto) => compare(a, b));
if (findSession.length < size) {
const findSessionRev = findSession.reverse().map((info) => dtoTransformer(info));
return [[...findSessionRev], []];
Expand Down
7 changes: 6 additions & 1 deletion backend/mainServer/src/replay/replay.controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,12 @@ export class ReplayController {
async getLatestReplay(@Res() res: Response) {
try {
const replayChecker = (item: MemoryDbDto) => { return item.replay && !item.state; };
const [serchedData, appendData] = this.memoryDBService.getBroadcastInfo<ReplayVideoDto>(8, memoryDbDtoToReplayVideoDto, replayChecker, 8);
const compare = (a: MemoryDbDto, b: MemoryDbDto) => {
const aTime = a.startDate ? a.startDate.getTime() : 0;
const bTime = b.startDate ? b.startDate.getTime() : 0;
return aTime - bTime;
};
const [serchedData, appendData] = this.memoryDBService.getBroadcastInfo<ReplayVideoDto>(8, memoryDbDtoToReplayVideoDto, replayChecker, compare, 8);
res.status(HttpStatus.OK).json({info: serchedData, appendInfo: appendData});
} catch (error) {
if ((error as { status: number }).status === 400) {
Expand Down
7 changes: 6 additions & 1 deletion backend/mainServer/src/streams/streams.controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,12 @@ export class StreamsController {
async getLatestSession(@Res() res: Response) {
try {
const streamChecker = (item: MemoryDbDto) => item.state;
const [serchedData, appendData] = this.memoryDBService.getBroadcastInfo<LiveSessionResponseDto>(8, fromLiveSessionDto, streamChecker, 8);
const compare = (a: MemoryDbDto, b: MemoryDbDto) => {
const aTime = a.startDate ? a.startDate.getTime() : 0;
const bTime = b.startDate ? b.startDate.getTime() : 0;
return aTime - bTime;
};
const [serchedData, appendData] = this.memoryDBService.getBroadcastInfo<LiveSessionResponseDto>(8, fromLiveSessionDto, streamChecker, compare, 8);
res.status(HttpStatus.OK).json({info: serchedData, appendInfo: appendData});
} catch (error) {
if ((error as { status: number }).status === 400) {
Expand Down

0 comments on commit 835058b

Please sign in to comment.