add rts routes
This commit is contained in:
88
src/rts/rts.controller.ts
Normal file
88
src/rts/rts.controller.ts
Normal file
@@ -0,0 +1,88 @@
|
||||
import { FastifyReply, FastifyRequest } from "fastify";
|
||||
import { CreateRtsInput, UpdateRtsInput, UploadRtsInput } from "./rts.schema";
|
||||
import {
|
||||
createRts,
|
||||
deleteRts,
|
||||
getRts,
|
||||
listRts,
|
||||
newUpload,
|
||||
updateRts,
|
||||
} from "./rts.service";
|
||||
import { PageQueryParams } from "../pagination";
|
||||
|
||||
export async function createRtsHandler(req: FastifyRequest, res: FastifyReply) {
|
||||
const input = req.body as CreateRtsInput;
|
||||
|
||||
try {
|
||||
const rts = await createRts(input, req.user);
|
||||
return res.code(201).send(rts);
|
||||
} catch (err) {
|
||||
return err;
|
||||
}
|
||||
}
|
||||
|
||||
export async function getRtsHandler(req: FastifyRequest, res: FastifyReply) {
|
||||
const { rtsId } = req.params as { rtsId: string };
|
||||
|
||||
try {
|
||||
const rts = await getRts(rtsId, req.user.tenantId);
|
||||
if (rts == null) return res.code(404).send({ error: "resource not found" });
|
||||
|
||||
return res.code(200).send(rts);
|
||||
} catch (err) {
|
||||
return err;
|
||||
}
|
||||
}
|
||||
|
||||
export async function listRtsHandler(req: FastifyRequest, res: FastifyReply) {
|
||||
const queryParams = req.query as PageQueryParams;
|
||||
|
||||
try {
|
||||
const rtsList = await listRts(queryParams, req.user.tenantId);
|
||||
return res.code(200).send(rtsList);
|
||||
} catch (err) {
|
||||
return err;
|
||||
}
|
||||
}
|
||||
|
||||
export async function updateRtsHandler(req: FastifyRequest, res: FastifyReply) {
|
||||
const input = req.body as UpdateRtsInput;
|
||||
const { rtsId } = req.params as { rtsId: string };
|
||||
|
||||
try {
|
||||
const updatedRts = await updateRts(rtsId, input, req.user.tenantId);
|
||||
if (!updatedRts) return res.code(404).send({ error: "resource not found" });
|
||||
|
||||
return res.code(200).send(updateRts);
|
||||
} catch (err) {
|
||||
return err;
|
||||
}
|
||||
}
|
||||
|
||||
export async function deleteRtsHandler(req: FastifyRequest, res: FastifyReply) {
|
||||
const { rtsId } = req.params as { rtsId: string };
|
||||
|
||||
try {
|
||||
const deleteResult = await deleteRts(rtsId, req.user.tenantId);
|
||||
if (deleteResult.deletedCount == 0)
|
||||
return res.code(404).send({ error: "resource not found" });
|
||||
|
||||
return res.code(204).send();
|
||||
} catch (err) {
|
||||
return err;
|
||||
}
|
||||
}
|
||||
|
||||
export async function newFilesHandler(req: FastifyRequest, res: FastifyReply) {
|
||||
const input = req.body as UploadRtsInput;
|
||||
const { rtsId } = req.params as { rtsId: string };
|
||||
|
||||
try {
|
||||
const updatedRts = await newUpload(rtsId, input, req.user);
|
||||
if (!updatedRts) return res.code(404).send({ error: "resource not found" });
|
||||
|
||||
return res.code(200).send(updateRts);
|
||||
} catch (err) {
|
||||
return err;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user