webpage start

This commit is contained in:
2026-03-02 14:47:14 +01:00
parent 0856e154b9
commit 65d5ab71d7
59 changed files with 1889 additions and 1309 deletions

View File

@@ -1,28 +1,28 @@
{
"name": "@kk/api",
"type": "module",
"exports": {
".": {
"default": "./src/index.ts"
},
"./*": {
"default": "./src/*.ts"
}
},
"scripts": {},
"dependencies": {
"@kk/auth": "workspace:*",
"@kk/db": "workspace:*",
"@kk/env": "workspace:*",
"@orpc/client": "catalog:",
"@orpc/openapi": "catalog:",
"@orpc/server": "catalog:",
"@orpc/zod": "catalog:",
"dotenv": "catalog:",
"zod": "catalog:"
},
"devDependencies": {
"@kk/config": "workspace:*",
"typescript": "catalog:"
}
"name": "@kk/api",
"type": "module",
"exports": {
".": {
"default": "./src/index.ts"
},
"./*": {
"default": "./src/*.ts"
}
},
"scripts": {},
"dependencies": {
"@kk/auth": "workspace:*",
"@kk/db": "workspace:*",
"@kk/env": "workspace:*",
"@orpc/client": "catalog:",
"@orpc/openapi": "catalog:",
"@orpc/server": "catalog:",
"@orpc/zod": "catalog:",
"dotenv": "catalog:",
"zod": "catalog:"
},
"devDependencies": {
"@kk/config": "workspace:*",
"typescript": "catalog:"
}
}

View File

@@ -1,12 +1,12 @@
import { auth } from "@kk/auth";
export async function createContext({ req }: { req: Request }) {
const session = await auth.api.getSession({
headers: req.headers,
});
return {
session,
};
const session = await auth.api.getSession({
headers: req.headers,
});
return {
session,
};
}
export type Context = Awaited<ReturnType<typeof createContext>>;

View File

@@ -7,14 +7,14 @@ export const o = os.$context<Context>();
export const publicProcedure = o;
const requireAuth = o.middleware(async ({ context, next }) => {
if (!context.session?.user) {
throw new ORPCError("UNAUTHORIZED");
}
return next({
context: {
session: context.session,
},
});
if (!context.session?.user) {
throw new ORPCError("UNAUTHORIZED");
}
return next({
context: {
session: context.session,
},
});
});
export const protectedProcedure = publicProcedure.use(requireAuth);

View File

@@ -3,15 +3,15 @@ import type { RouterClient } from "@orpc/server";
import { protectedProcedure, publicProcedure } from "../index";
export const appRouter = {
healthCheck: publicProcedure.handler(() => {
return "OK";
}),
privateData: protectedProcedure.handler(({ context }) => {
return {
message: "This is private",
user: context.session?.user,
};
}),
healthCheck: publicProcedure.handler(() => {
return "OK";
}),
privateData: protectedProcedure.handler(({ context }) => {
return {
message: "This is private",
user: context.session?.user,
};
}),
};
export type AppRouter = typeof appRouter;
export type AppRouterClient = RouterClient<typeof appRouter>;

View File

@@ -1,10 +1,10 @@
{
"extends": "@kk/config/tsconfig.base.json",
"compilerOptions": {
"declaration": true,
"declarationMap": true,
"sourceMap": true,
"outDir": "dist",
"composite": true
}
"extends": "@kk/config/tsconfig.base.json",
"compilerOptions": {
"declaration": true,
"declarationMap": true,
"sourceMap": true,
"outDir": "dist",
"composite": true
}
}