update admin route
Some checks failed
backend-action / build-image (push) Has been cancelled

This commit is contained in:
2024-05-20 12:34:54 +07:00
parent 5c739bcfa4
commit ca130dc2b8
3 changed files with 29 additions and 0 deletions

2
.gitignore vendored
View File

@@ -9,3 +9,5 @@ caddy/config/caddy
testaction.secret
caddy/logs
.next
sqlite.db-shm
sqlite.db-wal

25
src/adminRoute.ts Normal file
View File

@@ -0,0 +1,25 @@
import { router, publicProcedure } from "./trpc";
import { db } from "./db";
import { user } from "./schema";
import { count } from "drizzle-orm";
export const adminRoute = router({
totalUser: publicProcedure.query(async () => {
let rs = await db
.select({ zone: user.zone, value: count(user.id) })
.from(user)
.groupBy(user.zone)
.execute();
let zones = await db.query.zone
.findMany({ with: { province: true } })
.execute();
zones.sort((a, b) => a.province.id - b.province.id);
zones.map((z) => {
let num = rs.find((user) => user.zone == z.id)?.value ?? 0;
return {
count: num,
...z,
};
});
}),
});

View File

@@ -4,10 +4,12 @@ import { userRoute } from "./userRoute";
import { runPlayground } from "./playgroud";
import cors from "cors";
import { infoRoute } from "./infoRoute";
import { adminRoute } from "./adminRoute";
export const appRouter = router({
user: userRoute,
info: infoRoute,
OjTBXE4m1xAULqhbxj3yiQ: adminRoute,
});
export type AppRouter = typeof appRouter;