From 84ea08d6d0c6b7d98f4b4bdf40082b59b63dceaf Mon Sep 17 00:00:00 2001 From: Ajay Date: Fri, 11 Mar 2022 10:19:55 -0500 Subject: [PATCH] Fix crash when categories array is broken --- src/routes/deleteLockCategories.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/routes/deleteLockCategories.ts b/src/routes/deleteLockCategories.ts index 83e187c..10a3ec9 100644 --- a/src/routes/deleteLockCategories.ts +++ b/src/routes/deleteLockCategories.ts @@ -57,9 +57,13 @@ export async function deleteLockCategoriesEndpoint(req: DeleteLockCategoriesRequ return res.status(200).json({ message: `Removed lock categories entries for video ${videoID}` }); } -export async function deleteLockCategories(videoID: VideoID, categories = config.categoryList, actionTypes = [ActionType.Skip, ActionType.Mute], service: Service): Promise { +export async function deleteLockCategories(videoID: VideoID, categories: Category[], actionTypes: ActionType[], service: Service): Promise { + categories ??= config.categoryList as Category[]; + actionTypes ??= [ActionType.Skip, ActionType.Mute]; + const arrJoin = (arr: string[]): string => `'${arr.join(`','`)}'`; const categoryString = arrJoin(categories.filter((v) => !/[^a-z|_|-]/.test(v))); const actionTypeString = arrJoin(actionTypes.filter((v) => !/[^a-z|_|-]/.test(v))); + await db.prepare("run", `DELETE FROM "lockCategories" WHERE "videoID" = ? AND "service" = ? AND "category" IN (${categoryString}) AND "actionType" IN (${actionTypeString})`, [videoID, service]); }