From bba06511ce257edab011fedaf9a8628647e5b180 Mon Sep 17 00:00:00 2001 From: Ajay Date: Fri, 17 Jan 2025 04:38:08 -0500 Subject: [PATCH] Remove unnecessary parts of video labels request --- src/routes/getVideoLabel.ts | 34 +++++++++++++++---------------- test/cases/getVideoLabelByHash.ts | 16 --------------- test/cases/getVideoLabels.ts | 16 --------------- 3 files changed, 17 insertions(+), 49 deletions(-) diff --git a/src/routes/getVideoLabel.ts b/src/routes/getVideoLabel.ts index a5dacdf..c7784bc 100644 --- a/src/routes/getVideoLabel.ts +++ b/src/routes/getVideoLabel.ts @@ -2,26 +2,26 @@ import { Request, Response } from "express"; import { db } from "../databases/databases"; import { videoLabelsHashKey, videoLabelsKey } from "../utils/redisKeys"; import { SBRecord } from "../types/lib.model"; -import { DBSegment, Segment, Service, VideoData, VideoID, VideoIDHash } from "../types/segments.model"; +import { Category, DBSegment, Segment, Service, VideoData, VideoID, VideoIDHash } from "../types/segments.model"; import { Logger } from "../utils/logger"; import { QueryCacher } from "../utils/queryCacher"; import { getService } from "../utils/getService"; -function transformDBSegments(segments: DBSegment[]): Segment[] { +interface FullVideoSegment { + category: Category; +} + +interface FullVideoSegmentVideoData { + segments: FullVideoSegment[]; +} + +function transformDBSegments(segments: DBSegment[]): FullVideoSegment[] { return segments.map((chosenSegment) => ({ - category: chosenSegment.category, - actionType: chosenSegment.actionType, - segment: [chosenSegment.startTime, chosenSegment.endTime], - UUID: chosenSegment.UUID, - locked: chosenSegment.locked, - votes: chosenSegment.votes, - videoDuration: chosenSegment.videoDuration, - userID: chosenSegment.userID, - description: chosenSegment.description + category: chosenSegment.category })); } -async function getLabelsByVideoID(videoID: VideoID, service: Service): Promise { +async function getLabelsByVideoID(videoID: VideoID, service: Service): Promise { try { const segments: DBSegment[] = await getSegmentsFromDBByVideoID(videoID, service); return chooseSegment(segments); @@ -33,8 +33,8 @@ async function getLabelsByVideoID(videoID: VideoID, service: Service): Promise> { - const segments: SBRecord = {}; +async function getLabelsByHash(hashedVideoIDPrefix: VideoIDHash, service: Service): Promise> { + const segments: SBRecord = {}; try { type SegmentWithHashPerVideoID = SBRecord; @@ -53,7 +53,7 @@ async function getLabelsByHash(hashedVideoIDPrefix: VideoIDHash, service: Servic }, {}); for (const [videoID, videoData] of Object.entries(segmentPerVideoID)) { - const data: VideoData = { + const data: FullVideoSegmentVideoData = { segments: chooseSegment(videoData.segments), }; @@ -97,7 +97,7 @@ async function getSegmentsFromDBByVideoID(videoID: VideoID, service: Service): P return await QueryCacher.get(fetchFromDB, videoLabelsKey(videoID, service)); } -function chooseSegment(choices: T[]): Segment[] { +function chooseSegment(choices: T[]): FullVideoSegment[] { // filter out -2 segments choices = choices.filter((segment) => segment.votes > -2); const results = []; @@ -125,7 +125,7 @@ function chooseSegment(choices: T[]): Segment[] { return transformDBSegments(results); } -async function handleGetLabel(req: Request, res: Response): Promise { +async function handleGetLabel(req: Request, res: Response): Promise { const videoID = req.query.videoID as VideoID; if (!videoID) { res.status(400).send("videoID not specified"); diff --git a/test/cases/getVideoLabelByHash.ts b/test/cases/getVideoLabelByHash.ts index 650867e..dd95055 100644 --- a/test/cases/getVideoLabelByHash.ts +++ b/test/cases/getVideoLabelByHash.ts @@ -33,10 +33,6 @@ describe("getVideoLabelHash", () => { function validateLabel(data: any, videoID: string) { assert.strictEqual(data[0].videoID, videoID); assert.strictEqual(data[0].segments.length, 1); - assert.strictEqual(data[0].segments[0].segment[0], 0); - assert.strictEqual(data[0].segments[0].segment[1], 0); - assert.strictEqual(data[0].segments[0].actionType, "full"); - assert.strictEqual(data[0].segments[0].userID, "labeluser"); } const get = (videoID: string) => client.get(`${endpoint}/${getHash(videoID, 1).substring(0, 4)}`); @@ -50,8 +46,6 @@ describe("getVideoLabelHash", () => { validateLabel(data, videoID); const result = data[0].segments[0]; assert.strictEqual(result.category, "sponsor"); - assert.strictEqual(result.UUID, "labelhash01"); - assert.strictEqual(result.locked, 0); done(); }) .catch(err => done(err)); @@ -66,8 +60,6 @@ describe("getVideoLabelHash", () => { validateLabel(data, videoID); const result = data[0].segments[0]; assert.strictEqual(result.category, "exclusive_access"); - assert.strictEqual(result.UUID, "labelhash02"); - assert.strictEqual(result.locked, 0); done(); }) .catch(err => done(err)); @@ -82,8 +74,6 @@ describe("getVideoLabelHash", () => { validateLabel(data, videoID); const result = data[0].segments[0]; assert.strictEqual(result.category, "selfpromo"); - assert.strictEqual(result.UUID, "labelhash03"); - assert.strictEqual(result.locked, 0); done(); }) .catch(err => done(err)); @@ -98,8 +88,6 @@ describe("getVideoLabelHash", () => { validateLabel(data, videoID); const result = data[0].segments[0]; assert.strictEqual(result.category, "sponsor"); - assert.strictEqual(result.UUID, "labelhash04"); - assert.strictEqual(result.locked, 0); done(); }) .catch(err => done(err)); @@ -114,8 +102,6 @@ describe("getVideoLabelHash", () => { validateLabel(data, videoID); const result = data[0].segments[0]; assert.strictEqual(result.category, "selfpromo"); - assert.strictEqual(result.UUID, "labelhash09"); - assert.strictEqual(result.locked, 1); done(); }) .catch(err => done(err)); @@ -130,8 +116,6 @@ describe("getVideoLabelHash", () => { validateLabel(data, videoID); const result = data[0].segments[0]; assert.strictEqual(result.category, "exclusive_access"); - assert.strictEqual(result.UUID, "labelhash14"); - assert.strictEqual(result.locked, 0); done(); }) .catch(err => done(err)); diff --git a/test/cases/getVideoLabels.ts b/test/cases/getVideoLabels.ts index 7202d2c..4f86c1d 100644 --- a/test/cases/getVideoLabels.ts +++ b/test/cases/getVideoLabels.ts @@ -31,10 +31,6 @@ describe("getVideoLabels", () => { function validateLabel(result: any) { assert.strictEqual(result.length, 1); - assert.strictEqual(result[0].segment[0], 0); - assert.strictEqual(result[0].segment[1], 0); - assert.strictEqual(result[0].actionType, "full"); - assert.strictEqual(result[0].userID, "labeluser"); } const get = (videoID: string) => client.get(endpoint, { params: { videoID } }); @@ -46,8 +42,6 @@ describe("getVideoLabels", () => { const data = res.data; validateLabel(data); assert.strictEqual(data[0].category, "sponsor"); - assert.strictEqual(data[0].UUID, "label01"); - assert.strictEqual(data[0].locked, 0); done(); }) .catch(err => done(err)); @@ -60,8 +54,6 @@ describe("getVideoLabels", () => { const data = res.data; validateLabel(data); assert.strictEqual(data[0].category, "exclusive_access"); - assert.strictEqual(data[0].UUID, "label02"); - assert.strictEqual(data[0].locked, 0); done(); }) .catch(err => done(err)); @@ -74,8 +66,6 @@ describe("getVideoLabels", () => { const data = res.data; validateLabel(data); assert.strictEqual(data[0].category, "selfpromo"); - assert.strictEqual(data[0].UUID, "label03"); - assert.strictEqual(data[0].locked, 0); done(); }) .catch(err => done(err)); @@ -88,8 +78,6 @@ describe("getVideoLabels", () => { const data = res.data; validateLabel(data); assert.strictEqual(data[0].category, "sponsor"); - assert.strictEqual(data[0].UUID, "label04"); - assert.strictEqual(data[0].locked, 0); done(); }) .catch(err => done(err)); @@ -102,8 +90,6 @@ describe("getVideoLabels", () => { const data = res.data; validateLabel(data); assert.strictEqual(data[0].category, "selfpromo"); - assert.strictEqual(data[0].UUID, "label09"); - assert.strictEqual(data[0].locked, 1); done(); }) .catch(err => done(err)); @@ -116,8 +102,6 @@ describe("getVideoLabels", () => { const data = res.data; validateLabel(data); assert.strictEqual(data[0].category, "exclusive_access"); - assert.strictEqual(data[0].UUID, "label14"); - assert.strictEqual(data[0].locked, 0); done(); }) .catch(err => done(err));