src/api/v2/projects/assettypes/asset.types.validator.tsmodifiedimport { NextFunction, Request, Response } from "express";
import { LoggerFactory } from "../../../../util/logger";
import { validateProjectId, validateUuidAndThrow, validateString } from "../../common.validator";
import { createInvalidRequestApiError } from "../../../../util/errorFormatter";
const logger = LoggerFactory("AssetTypesValidator");
export const validateListAssetTypesRequest = (req: Request, res: Response, next: NextFunction) => {
if (!validateProjectId(logger, req.params.projectId, res)) return;
next();
};
export const validateAssetTypeIdParam = (req: Request, res: Response, next: NextFunction) => {
if (!validateProjectId(logger, req.params.projectId, res)) return;
if (!validateUuidAndThrow(logger, "assetTypeId", req.params.assetTypeId, res)) return;
next();
};
export const validateCreateRequest = (req: Request, res: Response, next: NextFunction) => {
if (!validateProjectId(logger, req.params.projectId, res)) return;
const { name, description } = req.body;
if (!validateString(logger, "name", name, res)) return;
if (description !== undefined && description !== null && typeof description !== "string") {
return res.status(400).json(createInvalidRequestApiError("description must be a string when provided."));
}
next();
};