From 5795a6df61e9c91ea7d62d13814e81d0f71f3d12 Mon Sep 17 00:00:00 2001 From: "jeanchristophe.mqt@gmail.com" Date: Sat, 23 Mar 2024 00:37:12 +0100 Subject: [PATCH] Replaced any by inferred interfaces --- .../1.0.0/index.js | 41 +++++------ .../1.0.0/index.ts | 70 ++++++++++++------- 2 files changed, 64 insertions(+), 47 deletions(-) diff --git a/FlowPlugins/CommunityFlowPlugins/tools/applyRadarrOrSonarrNamingPolicy/1.0.0/index.js b/FlowPlugins/CommunityFlowPlugins/tools/applyRadarrOrSonarrNamingPolicy/1.0.0/index.js index feff620..2476099 100644 --- a/FlowPlugins/CommunityFlowPlugins/tools/applyRadarrOrSonarrNamingPolicy/1.0.0/index.js +++ b/FlowPlugins/CommunityFlowPlugins/tools/applyRadarrOrSonarrNamingPolicy/1.0.0/index.js @@ -134,7 +134,7 @@ var plugin = function (args) { return __awaiter(void 0, void 0, void 0, function currentFileName: (0, fileUtils_1.getFileName)((_g = (_f = args.inputFileObj) === null || _f === void 0 ? void 0 : _f._id) !== null && _g !== void 0 ? _g : ''), }; getNewPath = function (getNewPathType) { return __awaiter(void 0, void 0, void 0, function () { - var output, headers, getParseRequestResult, fileName, parseRequestResult, previewRenameRequestConfig, previewRenameRequestResult, fileToRename, _a; + var output, headers, getParseRequestResultWrapper, fileName, parseRequestResultWrapper, previewRenameRequestConfig, previewRenameRequestResult, fileToRename, _a; return __generator(this, function (_b) { switch (_b.label) { case 0: @@ -149,7 +149,7 @@ var plugin = function (args) { return __awaiter(void 0, void 0, void 0, function 'X-Api-Key': arr_api_key, Accept: 'application/json', }; - getParseRequestResult = function (fileName) { return __awaiter(void 0, void 0, void 0, function () { + getParseRequestResultWrapper = function (fileName) { return __awaiter(void 0, void 0, void 0, function () { var parseRequestConfig, parseRequestResult, id; return __generator(this, function (_a) { switch (_a.label) { @@ -166,25 +166,25 @@ var plugin = function (args) { return __awaiter(void 0, void 0, void 0, function args.jobLog(id !== '-1' ? "Found ".concat(getNewPathType.contentName, " ").concat(id, " with a file named '").concat(fileName, "'") : "Didn't find ".concat(getNewPathType.contentName, " with a file named '").concat(fileName, "' in ").concat(arrHost, ".")); - return [2 /*return*/, { requestResult: parseRequestResult, id: id }]; + return [2 /*return*/, { parseRequestResult: parseRequestResult, id: id }]; } }); }); }; fileName = fileNames.originalFileName; - return [4 /*yield*/, getParseRequestResult(fileName)]; + return [4 /*yield*/, getParseRequestResultWrapper(fileName)]; case 1: - parseRequestResult = _b.sent(); - if (!(parseRequestResult.id === '-1' && fileNames.currentFileName !== fileNames.originalFileName)) return [3 /*break*/, 3]; + parseRequestResultWrapper = _b.sent(); + if (!(parseRequestResultWrapper.id === '-1' && fileNames.currentFileName !== fileNames.originalFileName)) return [3 /*break*/, 3]; fileName = fileNames.currentFileName; - return [4 /*yield*/, getParseRequestResult(fileName)]; + return [4 /*yield*/, getParseRequestResultWrapper(fileName)]; case 2: - parseRequestResult = _b.sent(); + parseRequestResultWrapper = _b.sent(); _b.label = 3; case 3: - if (!(parseRequestResult.id !== '-1')) return [3 /*break*/, 7]; + if (!(parseRequestResultWrapper.id !== '-1')) return [3 /*break*/, 7]; previewRenameRequestConfig = { method: 'get', - url: getNewPathType.delegates.buildPreviewRenameResquestUrl(parseRequestResult), + url: getNewPathType.delegates.buildPreviewRenameResquestUrl(parseRequestResultWrapper), headers: headers, }; return [4 /*yield*/, args.deps.axios(previewRenameRequestConfig)]; @@ -203,7 +203,7 @@ var plugin = function (args) { return __awaiter(void 0, void 0, void 0, function })]; case 5: _a.isSuccessful = _b.sent(); - args.jobLog("\u2714 Renamed ".concat(getNewPathType.contentName, " ").concat(parseRequestResult.id, " : ") + args.jobLog("\u2714 Renamed ".concat(getNewPathType.contentName, " ").concat(parseRequestResultWrapper.id, " : ") + "'".concat(filePath, "' => '").concat(output.newPath, "'.")); return [3 /*break*/, 7]; case 6: @@ -221,7 +221,7 @@ var plugin = function (args) { return __awaiter(void 0, void 0, void 0, function contentName: 'movie', delegates: { getIdFromParseRequestResult: function (parseRequestResult) { var _a, _b, _c, _d; return String((_d = (_c = (_b = (_a = parseRequestResult.data) === null || _a === void 0 ? void 0 : _a.movie) === null || _b === void 0 ? void 0 : _b.movieFile) === null || _c === void 0 ? void 0 : _c.movieId) !== null && _d !== void 0 ? _d : -1); }, - buildPreviewRenameResquestUrl: function (parseRequestResult) { return "".concat(arrHost, "/api/v3/rename?movieId=").concat(parseRequestResult.id); }, + buildPreviewRenameResquestUrl: function (parseRequestResultWrapper) { return "".concat(arrHost, "/api/v3/rename?movieId=").concat(parseRequestResultWrapper.id); }, getFileToRenameFromPreviewRenameRequestResult: function (previewRenameRequestResult) { var _a, _b; return ((((_b = (_a = previewRenameRequestResult.data) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) > 0) @@ -235,21 +235,16 @@ var plugin = function (args) { return __awaiter(void 0, void 0, void 0, function contentName: 'serie', delegates: { getIdFromParseRequestResult: function (parseRequestResult) { var _a, _b, _c; return String((_c = (_b = (_a = parseRequestResult.data) === null || _a === void 0 ? void 0 : _a.series) === null || _b === void 0 ? void 0 : _b.id) !== null && _c !== void 0 ? _c : -1); }, - buildPreviewRenameResquestUrl: function (parseRequestResult) { - episodeNumber = parseRequestResult.requestResult.data.parsedEpisodeInfo.episodeNumbers[0]; - return "".concat(arrHost, "/api/v3/rename?") - + "seriesId=".concat(parseRequestResult.id) - + "&seasonNumber=".concat(parseRequestResult.requestResult.data.parsedEpisodeInfo.seasonNumber); + buildPreviewRenameResquestUrl: function (parseRequestResultWrapper) { + var _a, _b, _c, _d; + episodeNumber = ((_b = (_a = parseRequestResultWrapper.parseRequestResult.data.parsedEpisodeInfo) === null || _a === void 0 ? void 0 : _a.episodeNumbers) !== null && _b !== void 0 ? _b : [1])[0]; + return "".concat(arrHost, "/api/v3/rename?seriesId=").concat(parseRequestResultWrapper.id, "&seasonNumber=") + + "".concat((_d = (_c = parseRequestResultWrapper.parseRequestResult.data.parsedEpisodeInfo) === null || _c === void 0 ? void 0 : _c.seasonNumber) !== null && _d !== void 0 ? _d : 1); }, getFileToRenameFromPreviewRenameRequestResult: function (previewRenameRequestResult) { var _a, _b; return ((((_b = (_a = previewRenameRequestResult.data) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) > 0) - ? previewRenameRequestResult.data.find(function (episodeFile) { - var _a, _b; - return ((((_b = (_a = episodeFile.episodeNumbers) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) > 0) - ? episodeFile.episodeNumbers[0] === episodeNumber - : false); - }) + ? previewRenameRequestResult.data.find(function (episodeFile) { var _a; return ((_a = episodeFile.episodeNumbers) === null || _a === void 0 ? void 0 : _a.at(0)) === episodeNumber; }) : undefined); }, }, diff --git a/FlowPluginsTs/CommunityFlowPlugins/tools/applyRadarrOrSonarrNamingPolicy/1.0.0/index.ts b/FlowPluginsTs/CommunityFlowPlugins/tools/applyRadarrOrSonarrNamingPolicy/1.0.0/index.ts index 2937157..c571892 100644 --- a/FlowPluginsTs/CommunityFlowPlugins/tools/applyRadarrOrSonarrNamingPolicy/1.0.0/index.ts +++ b/FlowPluginsTs/CommunityFlowPlugins/tools/applyRadarrOrSonarrNamingPolicy/1.0.0/index.ts @@ -77,13 +77,39 @@ interface IFileNames { currentFileName: string } interface IParseRequestResult { - requestResult: any, + data: { + movie?: { + movieFile: { + movieId: number + }, + }, + series?: { + id: number + }, + parsedEpisodeInfo?: { + episodeNumbers: number[], + seasonNumber: number + }, + }, +} +interface IParseRequestResultWrapper { + parseRequestResult: IParseRequestResult, id: string } +interface IFileToRename { + newPath: string + episodeNumbers?: number[] +} +interface IPreviewRenameRequestResult { + data: IFileToRename[] +} interface IGetNewPathDelegates { - getIdFromParseRequestResult: (parseRequestResult: any) => string, - buildPreviewRenameResquestUrl: (parseRequestResult: IParseRequestResult) => string, - getFileToRenameFromPreviewRenameRequestResult: (previewRenameRequestResult: any) => any + getIdFromParseRequestResult: + (parseRequestResult: IParseRequestResult) => string, + buildPreviewRenameResquestUrl: + (parseRequestResult: IParseRequestResultWrapper) => string, + getFileToRenameFromPreviewRenameRequestResult: + (previewRenameRequestResult: IPreviewRenameRequestResult) => IFileToRename | undefined } interface IGetNewPathType { appName: string, @@ -128,8 +154,8 @@ const plugin = async (args: IpluginInputArgs): Promise => { Accept: 'application/json', }; - const getParseRequestResult = async (fileName: string) - : Promise => { + const getParseRequestResultWrapper = async (fileName: string) + : Promise => { // Using parse endpoint to get the movie/serie's id. const parseRequestConfig = { method: 'get', @@ -141,23 +167,23 @@ const plugin = async (args: IpluginInputArgs): Promise => { args.jobLog(id !== '-1' ? `Found ${getNewPathType.contentName} ${id} with a file named '${fileName}'` : `Didn't find ${getNewPathType.contentName} with a file named '${fileName}' in ${arrHost}.`); - return { requestResult: parseRequestResult, id }; + return { parseRequestResult, id }; }; let fileName = fileNames.originalFileName; - let parseRequestResult = await getParseRequestResult(fileName); + let parseRequestResultWrapper = await getParseRequestResultWrapper(fileName); // In case there has been a name change and the arr app already noticed it. - if (parseRequestResult.id === '-1' && fileNames.currentFileName !== fileNames.originalFileName) { + if (parseRequestResultWrapper.id === '-1' && fileNames.currentFileName !== fileNames.originalFileName) { fileName = fileNames.currentFileName; - parseRequestResult = await getParseRequestResult(fileName); + parseRequestResultWrapper = await getParseRequestResultWrapper(fileName); } // Checking that the file has been found. - if (parseRequestResult.id !== '-1') { + if (parseRequestResultWrapper.id !== '-1') { // Using rename endpoint to get ids of all the files that need renaming. const previewRenameRequestConfig = { method: 'get', - url: getNewPathType.delegates.buildPreviewRenameResquestUrl(parseRequestResult), + url: getNewPathType.delegates.buildPreviewRenameResquestUrl(parseRequestResultWrapper), headers, }; const previewRenameRequestResult = await args.deps.axios(previewRenameRequestConfig); @@ -176,7 +202,7 @@ const plugin = async (args: IpluginInputArgs): Promise => { destinationPath: output.newPath, args, }); - args.jobLog(`✔ Renamed ${getNewPathType.contentName} ${parseRequestResult.id} : ` + args.jobLog(`✔ Renamed ${getNewPathType.contentName} ${parseRequestResultWrapper.id} : ` + `'${filePath}' => '${output.newPath}'.`); } else { output.isSuccessful = true; @@ -196,7 +222,7 @@ const plugin = async (args: IpluginInputArgs): Promise => { getIdFromParseRequestResult: (parseRequestResult) => String(parseRequestResult.data?.movie?.movieFile?.movieId ?? -1), buildPreviewRenameResquestUrl: - (parseRequestResult) => `${arrHost}/api/v3/rename?movieId=${parseRequestResult.id}`, + (parseRequestResultWrapper) => `${arrHost}/api/v3/rename?movieId=${parseRequestResultWrapper.id}`, getFileToRenameFromPreviewRenameRequestResult: (previewRenameRequestResult) => (((previewRenameRequestResult.data?.length ?? 0) > 0) ? previewRenameRequestResult.data[0] @@ -210,19 +236,15 @@ const plugin = async (args: IpluginInputArgs): Promise => { getIdFromParseRequestResult: (parseRequestResult) => String(parseRequestResult.data?.series?.id ?? -1), buildPreviewRenameResquestUrl: - (parseRequestResult) => { - [episodeNumber] = parseRequestResult.requestResult.data.parsedEpisodeInfo.episodeNumbers; - return `${arrHost}/api/v3/rename?` - + `seriesId=${parseRequestResult.id}` - + `&seasonNumber=${parseRequestResult.requestResult.data.parsedEpisodeInfo.seasonNumber}`; + (parseRequestResultWrapper) => { + [episodeNumber] = parseRequestResultWrapper.parseRequestResult.data.parsedEpisodeInfo?.episodeNumbers + ?? [1]; + return `${arrHost}/api/v3/rename?seriesId=${parseRequestResultWrapper.id}&seasonNumber=` + + `${parseRequestResultWrapper.parseRequestResult.data.parsedEpisodeInfo?.seasonNumber ?? 1}`; }, getFileToRenameFromPreviewRenameRequestResult: (previewRenameRequestResult) => (((previewRenameRequestResult.data?.length ?? 0) > 0) - ? previewRenameRequestResult.data.find( - (episodeFile: { episodeNumbers: number[]; }) => (((episodeFile.episodeNumbers?.length ?? 0) > 0) - ? episodeFile.episodeNumbers[0] === episodeNumber - : false), - ) + ? previewRenameRequestResult.data.find((episodeFile) => episodeFile.episodeNumbers?.at(0) === episodeNumber) : undefined), }, },