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-11 20:57:00 +03:00
committed by GitHub
co-authored by Alexandr
parent 6d6b87c359
commit 0849165c6e
6 changed files with 105 additions and 10 deletions
+18 -2
View File
@@ -11,7 +11,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,
@@ -89,10 +91,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,10 +8,12 @@ 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 { fetchStats } from "../src/fetchers/stats.js";
import { isLocaleAvailable } from "../src/translations.js";
// @ts-ignore
export default async (req, res) => {
const {
username,
@@ -127,10 +129,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,10 +8,12 @@ import {
setCacheHeaders,
setErrorCacheHeaders,
} from "../src/common/cache.js";
import { retrieveSecondaryMessage } from "../src/common/error.js";
import { parseBoolean, renderError } from "../src/common/utils.js";
import { fetchRepo } from "../src/fetchers/repo.js";
import { isLocaleAvailable } from "../src/translations.js";
// @ts-ignore
export default async (req, res) => {
const {
username,
@@ -92,10 +94,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,10 +8,12 @@ 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";
// @ts-ignore
export default async (req, res) => {
const {
username,
@@ -150,10 +152,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
@@ -11,7 +11,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,
@@ -108,10 +110,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
/**
* @type {string} A general message to ask user to try again later.
*/
@@ -61,9 +63,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,
};