admin dashbaord; started member managment ui

This commit is contained in:
2025-03-07 20:18:00 +01:00
parent 4a1397651f
commit 5c09688f1a
24 changed files with 1466 additions and 29 deletions
+2
View File
@@ -1,6 +1,7 @@
import { articleRouter } from "./routers/article";
import { categoryRouter } from "@/server/api/routers/category";
import { createCallerFactory, createTRPCRouter } from "@/server/api/trpc";
import { usersRouter } from "./routers/users";
/**
* This is the primary router for your server.
@@ -10,6 +11,7 @@ import { createCallerFactory, createTRPCRouter } from "@/server/api/trpc";
export const appRouter = createTRPCRouter({
article: articleRouter,
category: categoryRouter,
users: usersRouter,
});
// export type definition of API
+1 -1
View File
@@ -8,7 +8,7 @@ import {
import { articles } from "@/server/db/schema";
import { articleSchema } from "@/lib/validation/zod/article";
import { eq } from "drizzle-orm";
import { hasPermission, Role } from "@/lib/validation/has-permission";
import { hasPermission, Role } from "@/lib/validation/permissions";
import { generateSlug } from "@/lib/utils";
export const articleRouter = createTRPCRouter({
+1 -1
View File
@@ -7,7 +7,7 @@ import {
import { categories } from "@/server/db/schema";
import { eq } from "drizzle-orm";
import { hasPermission, Role } from "@/lib/validation/has-permission";
import { hasPermission, Role } from "@/lib/validation/permissions";
import { categorySchema } from "@/lib/validation/zod/category";
import { generateSlug } from "@/lib/utils";
+10
View File
@@ -0,0 +1,10 @@
import { hasPermission, Role } from "@/lib/validation/permissions";
import { createTRPCRouter, protectedProcedure } from "../trpc";
export const usersRouter = createTRPCRouter({
getAll: protectedProcedure.query(async ({ ctx }) => {
const isAdmin = hasPermission(ctx.session.user.role, Role.ADMIN);
if (!isAdmin) throw new Error("You are not allowed to get all users");
return await ctx.db.query.users.findMany();
}),
});