server/utils/api.ts

22 lines
656 B
TypeScript
Raw Normal View History

2024-04-07 06:16:54 +02:00
import { config } from "config-manager";
import type { RouteHandler } from "~server/api/routes.type";
import type { APIRouteMeta } from "~types/api";
export const applyConfig = (routeMeta: APIRouteMeta) => {
2024-04-07 07:30:49 +02:00
const newMeta = routeMeta;
2024-04-07 07:30:49 +02:00
// Apply ratelimits from config
newMeta.ratelimits.duration *= config.ratelimits.duration_coeff;
newMeta.ratelimits.max *= config.ratelimits.max_coeff;
2024-04-07 07:30:49 +02:00
if (config.custom_ratelimits[routeMeta.route]) {
newMeta.ratelimits = config.custom_ratelimits[routeMeta.route];
}
2024-04-07 07:30:49 +02:00
return newMeta;
};
export const apiRoute = <T>(routeFunction: RouteHandler<T>) => {
2024-04-07 07:30:49 +02:00
return routeFunction;
};