Merge branch 'transactions-in-procedure'

This commit is contained in:
igm
2026-01-12 15:53:41 +08:00
9 changed files with 241 additions and 110 deletions

View File

@@ -269,13 +269,34 @@ export const signup = os.auth.signup.handler(async ({ input, context }) => {
});
}
// Create session (7 days, trusted mode false initially, no device)
const session = await createSession(context.db, {
userId,
deviceId: null,
trustedMode: false,
geo,
userAgent,
// Generate verification token
const verificationToken = generateSecureBase58Token();
const verificationExpiresAt = generateExpiry(
TOKEN_DURATIONS.EMAIL_VERIFICATION,
);
// Create session and email verification in transaction
const session = await context.db.transaction().execute(async (trx) => {
// Create session (7 days, trusted mode false initially, no device)
const newSession = await createSession(trx, {
userId,
deviceId: null,
trustedMode: false,
geo,
userAgent,
});
// Store verification token (store raw token, not hash - it's already high-entropy)
await trx
.insertInto("email_verifications")
.values({
user_id: userId,
token: verificationToken,
expires_at: verificationExpiresAt,
})
.execute();
return newSession;
});
// Set session cookie