- Add authedProcedure, superuserProcedure, loginRequestProcedure, orgMemberProcedure in base.ts - Create procedures/me/_base.ts with meRoute = authedProcedure.me - Update all me procedures to use meRoute.X.handler() - Update auth/logout and auth/resend-verification to use authedProcedure - Update all admin procedures to use superuserProcedure - Update all orgs procedures to use authedProcedure This reduces boilerplate and makes middleware usage consistent. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
37 lines
846 B
TypeScript
37 lines
846 B
TypeScript
/**
|
|
* Get current user profile
|
|
*/
|
|
|
|
import { meRoute } from "./_base.js";
|
|
|
|
export const meGet = meRoute.get.handler(async ({ context }) => {
|
|
const user = await context.db
|
|
.selectFrom("users")
|
|
.select([
|
|
"id",
|
|
"email",
|
|
"display_name",
|
|
"full_name",
|
|
"phone_number",
|
|
"avatar_url",
|
|
"email_verified_at",
|
|
"is_superuser",
|
|
"password_hash",
|
|
])
|
|
.where("id", "=", context.user.id)
|
|
.executeTakeFirstOrThrow();
|
|
|
|
return {
|
|
id: user.id,
|
|
email: user.email,
|
|
displayName: user.display_name,
|
|
fullName: user.full_name,
|
|
phoneNumber: user.phone_number,
|
|
avatarUrl: user.avatar_url,
|
|
emailVerified: user.email_verified_at !== null,
|
|
needsSetup: user.display_name === null,
|
|
isSuperuser: user.is_superuser,
|
|
hasPassword: user.password_hash !== null,
|
|
};
|
|
});
|