From 94c7127a5593de637d3098538b5cb83966018bc3 Mon Sep 17 00:00:00 2001 From: Akhil Meka Date: Fri, 28 Mar 2025 16:42:16 +0530 Subject: [PATCH] add get processed route --- src/processed/processed.route.ts | 25 +++++++++++++++++++++++++ src/processed/processed.service.ts | 6 ++++++ 2 files changed, 31 insertions(+) diff --git a/src/processed/processed.route.ts b/src/processed/processed.route.ts index ced04bc..35de4af 100644 --- a/src/processed/processed.route.ts +++ b/src/processed/processed.route.ts @@ -1,6 +1,7 @@ import { FastifyInstance, FastifyReply, FastifyRequest } from "fastify"; import { PageQueryParams } from "../pagination"; import { + getProcessedPermit, getUniqueValuesProcessed, listProcessedPermits, } from "./processed.service"; @@ -28,6 +29,30 @@ export async function processedRoutes(fastify: FastifyInstance) { } ); + fastify.get( + "/:permitId", + { + schema: { + params: { + type: "object", + properties: { permitId: { type: "string" } }, + }, + }, + config: { requiredClaims: ["permit:read"] }, + preHandler: [fastify.authorize], + }, + async (req: FastifyRequest, res: FastifyReply) => { + const { permitId } = req.params as { permitId: string }; + + try { + const permit = await getProcessedPermit(permitId, req.user.tenantId); + return res.code(200).send(permit); + } catch (err) { + return err; + } + } + ); + fastify.get( "/fields/:field", { diff --git a/src/processed/processed.service.ts b/src/processed/processed.service.ts index 98a0695..d70e706 100644 --- a/src/processed/processed.service.ts +++ b/src/processed/processed.service.ts @@ -3,6 +3,12 @@ import { getFilterObject, getSortObject, PageQueryParams } from "../pagination"; import { userModel } from "../user/user.schema"; import { processedFields, processedModel } from "./processed.schema"; +export async function getProcessedPermit(permitId: String, tenantId: String) { + return await processedModel.findOne({ + $and: [{ tenantId: tenantId }, { pid: permitId }], + }); +} + export async function listProcessedPermits( params: PageQueryParams, tenantId: string