import { createRoute } from "../../../modules/api-utils/createRoute"; import { procurement } from "../../../managers/procurement"; import { apiResponse } from "../../../modules/api-utils/apiResponse"; import { ContentfulStatusCode } from "hono/utils/http-status"; import { authMiddleware } from "../../middleware/authorization"; /* /v1/procurement/items/:identifier */ export default createRoute( "get", ["/items/:identifier"], async (c) => { const identifier = c.req.param("identifier"); const includeLinkedItems = c.req.query("includeLinkedItems") === "true"; const item = await procurement.fetchItem(identifier); const response = apiResponse.successful( "Catalog item fetched successfully!", item.toJson({ includeLinkedItems }), ); return c.json(response, response.status as ContentfulStatusCode); }, authMiddleware({ permissions: ["procurement.catalog.fetch"] }), );