refactor: filter by adminId

This commit is contained in:
Mauricio Siu
2024-10-03 00:45:46 -06:00
parent 600f4b2106
commit 5c72e5a452
11 changed files with 3938 additions and 49 deletions

View File

@@ -23,6 +23,7 @@ import {
lucia,
validateRequest,
luciaToken,
IS_CLOUD,
} from "@dokploy/builders";
import {
adminProcedure,
@@ -36,15 +37,15 @@ export const authRouter = createTRPCRouter({
.input(apiCreateAdmin)
.mutation(async ({ ctx, input }) => {
try {
// if (!IS_CLOUD) {
const admin = await db.query.admins.findFirst({});
if (admin) {
throw new TRPCError({
code: "BAD_REQUEST",
message: "Admin already exists",
});
if (!IS_CLOUD) {
const admin = await db.query.admins.findFirst({});
if (admin) {
throw new TRPCError({
code: "BAD_REQUEST",
message: "Admin already exists",
});
}
}
// }
const newAdmin = await createAdmin(input);
const session = await lucia.createSession(newAdmin.id || "", {});

View File

@@ -6,6 +6,7 @@ import {
apiGenerateSSHKey,
apiRemoveSshKey,
apiUpdateSshKey,
sshKeys,
} from "@/server/db/schema";
import { TRPCError } from "@trpc/server";
import {
@@ -15,13 +16,17 @@ import {
removeSSHKeyById,
updateSSHKeyById,
} from "@dokploy/builders";
import { eq } from "drizzle-orm";
export const sshRouter = createTRPCRouter({
create: protectedProcedure
.input(apiCreateSshKey)
.mutation(async ({ input }) => {
.mutation(async ({ input, ctx }) => {
try {
await createSshKey(input);
await createSshKey({
...input,
adminId: ctx.user.adminId,
});
} catch (error) {
throw new TRPCError({
code: "BAD_REQUEST",
@@ -46,8 +51,10 @@ export const sshRouter = createTRPCRouter({
const sshKey = await findSSHKeyById(input.sshKeyId);
return sshKey;
}),
all: protectedProcedure.query(async () => {
return await db.query.sshKeys.findMany({});
all: protectedProcedure.query(async ({ ctx }) => {
return await db.query.sshKeys.findMany({
where: eq(sshKeys.adminId, ctx.user.adminId),
});
}),
generate: protectedProcedure
.input(apiGenerateSSHKey)

View File

@@ -1,11 +1,10 @@
import { apiFindOneUser, apiFindOneUserByAuth } from "@/server/db/schema";
import { adminProcedure, createTRPCRouter, protectedProcedure } from "../trpc";
import { findUserByAuthId, findUserById, findUsers } from "@dokploy/builders";
export const userRouter = createTRPCRouter({
all: adminProcedure.query(async () => {
return await findUsers();
all: adminProcedure.query(async ({ ctx }) => {
return await findUsers(ctx.user.adminId);
}),
byAuthId: protectedProcedure
.input(apiFindOneUserByAuth)