src/api/v2/projects/assettypes/asset.types.controller.tsmodifiedimport { Request, Response } from "express";
import { LoggerFactory } from "../../../../util/logger";
import { createApiErrorResponse } from "../../../../util/errorFormatter";
import * as service from "../../../../services/asset.types.service";
const logger = LoggerFactory("AssetTypesController");
export const listAssetTypes = async (req: Request, res: Response) => {
const { projectId } = req.params;
try {
const assetTypes = await service.listAssetTypes(projectId);
return res.status(200).json(assetTypes);
} catch (err) {
logger.error("Error listing asset types", err);
return createApiErrorResponse(err, res);
}
};
export const getAssetType = async (req: Request, res: Response) => {
const { projectId, assetTypeId } = req.params;
try {
const assetType = await service.getAssetTypeById(projectId, assetTypeId);
return res.status(200).json(assetType);
} catch (err) {
logger.error("Error getting asset type", err);
return createApiErrorResponse(err, res);
}
};
export const createAssetType = async (req: Request, res: Response) => {
const { projectId } = req.params;
const { name, description = null } = req.body;
try {
const assetType = await service.createAssetType(projectId, name, description);
return res.status(201).json(assetType);
} catch (err) {
logger.error("Error creating asset type", err);
return createApiErrorResponse(err, res);
}
};