File size: 1,387 Bytes
c09f67c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | import {
deleteTrackerProjectSchema,
getTrackerProjectByIdSchema,
getTrackerProjectsSchema,
upsertTrackerProjectSchema,
} from "@api/schemas/tracker-projects";
import { createTRPCRouter, protectedProcedure } from "@api/trpc/init";
import {
deleteTrackerProject,
getTrackerProjectById,
getTrackerProjects,
upsertTrackerProject,
} from "@midday/db/queries";
export const trackerProjectsRouter = createTRPCRouter({
get: protectedProcedure
.input(getTrackerProjectsSchema.optional())
.query(async ({ input, ctx: { db, teamId } }) => {
return getTrackerProjects(db, {
...input,
teamId: teamId!,
});
}),
upsert: protectedProcedure
.input(upsertTrackerProjectSchema)
.mutation(async ({ input, ctx: { db, teamId, session } }) => {
return upsertTrackerProject(db, {
...input,
teamId: teamId!,
userId: session.user.id,
});
}),
delete: protectedProcedure
.input(deleteTrackerProjectSchema)
.mutation(async ({ input, ctx: { db, teamId } }) => {
return deleteTrackerProject(db, {
...input,
teamId: teamId!,
});
}),
getById: protectedProcedure
.input(getTrackerProjectByIdSchema)
.query(async ({ input, ctx: { db, teamId } }) => {
return getTrackerProjectById(db, {
...input,
teamId: teamId!,
});
}),
});
|