fix: resolve vscode type errors in API endpoints files (#4555)

Co-authored-by: Alexandr <qwerty541zxc@gmail.com>
This commit is contained in:
Ophelia Goldstein
2025-10-25 18:27:41 +02:00
committed by martin-mfg
co-authored by Alexandr
parent 0cdf899b6f
commit 1ac197ceae
5 changed files with 87 additions and 8 deletions
+18 -2
View File
@@ -12,7 +12,9 @@ import {
setErrorCacheHeaders,
} from "../src/common/cache.js";
import { guardAccess } from "../src/common/access.js";
import { retrieveSecondaryMessage } from "../src/common/error.js";
// @ts-ignore
export default async (req, res) => {
const {
id,
@@ -91,10 +93,24 @@ export default async (req, res) => {
);
} catch (err) {
setErrorCacheHeaders(res);
if (err instanceof Error) {
return res.send(
renderError({
message: err.message,
secondaryMessage: retrieveSecondaryMessage(err),
renderOptions: {
title_color,
text_color,
bg_color,
border_color,
theme,
},
}),
);
}
return res.send(
renderError({
message: err.message,
secondaryMessage: err.secondaryMessage,
message: "An unknown error occurred",
renderOptions: {
title_color,
text_color,
+18 -2
View File
@@ -8,11 +8,13 @@ import {
setCacheHeaders,
setErrorCacheHeaders,
} from "../src/common/cache.js";
import { retrieveSecondaryMessage } from "../src/common/error.js";
import { parseArray, parseBoolean, renderError } from "../src/common/utils.js";
import { fetchRepo } from "../src/fetchers/repo.js";
import { isLocaleAvailable } from "../src/translations.js";
import { storeRequest } from "../src/common/database.js";
// @ts-ignore
export default async (req, res) => {
const {
username,
@@ -138,10 +140,24 @@ export default async (req, res) => {
);
} catch (err) {
setErrorCacheHeaders(res);
if (err instanceof Error) {
return res.send(
renderError({
message: err.message,
secondaryMessage: retrieveSecondaryMessage(err),
renderOptions: {
title_color,
text_color,
bg_color,
border_color,
theme,
},
}),
);
}
return res.send(
renderError({
message: err.message,
secondaryMessage: err.secondaryMessage,
message: "An unknown error occurred",
renderOptions: {
title_color,
text_color,
+18 -2
View File
@@ -8,11 +8,13 @@ import {
setCacheHeaders,
setErrorCacheHeaders,
} from "../src/common/cache.js";
import { retrieveSecondaryMessage } from "../src/common/error.js";
import { parseArray, parseBoolean, renderError } from "../src/common/utils.js";
import { fetchTopLanguages } from "../src/fetchers/top-languages.js";
import { isLocaleAvailable } from "../src/translations.js";
import { storeRequest } from "../src/common/database.js";
// @ts-ignore
export default async (req, res) => {
const {
username,
@@ -154,10 +156,24 @@ export default async (req, res) => {
);
} catch (err) {
setErrorCacheHeaders(res);
if (err instanceof Error) {
return res.send(
renderError({
message: err.message,
secondaryMessage: retrieveSecondaryMessage(err),
renderOptions: {
title_color,
text_color,
bg_color,
border_color,
theme,
},
}),
);
}
return res.send(
renderError({
message: err.message,
secondaryMessage: err.secondaryMessage,
message: "An unknown error occurred",
renderOptions: {
title_color,
text_color,
+18 -2
View File
@@ -12,7 +12,9 @@ import {
setErrorCacheHeaders,
} from "../src/common/cache.js";
import { guardAccess } from "../src/common/access.js";
import { retrieveSecondaryMessage } from "../src/common/error.js";
// @ts-ignore
export default async (req, res) => {
const {
username,
@@ -110,10 +112,24 @@ export default async (req, res) => {
);
} catch (err) {
setErrorCacheHeaders(res);
if (err instanceof Error) {
return res.send(
renderError({
message: err.message,
secondaryMessage: retrieveSecondaryMessage(err),
renderOptions: {
title_color,
text_color,
bg_color,
border_color,
theme,
},
}),
);
}
return res.send(
renderError({
message: err.message,
secondaryMessage: err.secondaryMessage,
message: "An unknown error occurred",
renderOptions: {
title_color,
text_color,
+15
View File
@@ -1,3 +1,5 @@
// @ts-check
import { OWNER_AFFILIATIONS } from "./utils.js";
/**
@@ -67,9 +69,22 @@ class MissingParamError extends Error {
}
}
/**
* Retrieve secondary message from an error object.
*
* @param {Error} err The error object.
* @returns {string|undefined} The secondary message if available, otherwise undefined.
*/
const retrieveSecondaryMessage = (err) => {
return "secondaryMessage" in err && typeof err.secondaryMessage === "string"
? err.secondaryMessage
: undefined;
};
export {
CustomError,
MissingParamError,
SECONDARY_ERROR_MESSAGES,
TRY_AGAIN_LATER,
retrieveSecondaryMessage,
};