2023-10-16 05:51:29 +02:00
|
|
|
import { getConfig } from "@config";
|
2023-11-23 05:10:37 +01:00
|
|
|
import type { APIRouteMeta } from "~types/api";
|
2023-10-16 05:51:29 +02:00
|
|
|
|
|
|
|
|
export const applyConfig = (routeMeta: APIRouteMeta) => {
|
|
|
|
|
const config = getConfig();
|
|
|
|
|
const newMeta = routeMeta;
|
|
|
|
|
|
|
|
|
|
// Apply ratelimits from config
|
|
|
|
|
newMeta.ratelimits.duration *= config.ratelimits.duration_coeff;
|
|
|
|
|
newMeta.ratelimits.max *= config.ratelimits.max_coeff;
|
|
|
|
|
|
|
|
|
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
|
|
|
if (config.custom_ratelimits[routeMeta.route]) {
|
|
|
|
|
newMeta.ratelimits = config.custom_ratelimits[routeMeta.route];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return newMeta;
|
|
|
|
|
};
|