Restructure passkey routes to me.passkeys namespace

- Remove createPasskey since verifyRegistration handles adding passkeys
- Move listPasskeys → me.passkeys.list
- Move renamePasskey → me.passkeys.rename
- Move deletePasskey → me.passkeys.delete

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
RevIQ
2026-01-09 12:38:07 +08:00
parent 8de88472b1
commit 30ee35b25c
3 changed files with 18 additions and 37 deletions

View File

@@ -137,7 +137,7 @@ const setPassword = os.me.setPassword.handler(async () => {
throw new Error("Not implemented");
});
const listPasskeys = os.me.listPasskeys.handler(async ({ context }) => {
const passkeysList = os.me.passkeys.list.handler(async ({ context }) => {
const ctx = context as AuthenticatedContext;
const passkeys = await getUserPasskeys(ctx.db, ctx.user.id);
@@ -150,23 +150,7 @@ const listPasskeys = os.me.listPasskeys.handler(async ({ context }) => {
}));
});
const createPasskey = os.me.createPasskey.handler(
async ({ input, context }) => {
const ctx = context as AuthenticatedContext;
const { name: _name } = input;
const rpInfo = getRPInfo(ctx.origin, ctx.allowedOrigins, ctx.rpName);
const result = await createRegOptions(ctx.db, rpInfo, {
id: ctx.user.id,
email: ctx.user.email,
displayName: ctx.user.displayName,
});
return result;
},
);
const renamePasskey = os.me.renamePasskey.handler(
const passkeysRename = os.me.passkeys.rename.handler(
async ({ input, context }) => {
const ctx = context as AuthenticatedContext;
const { passkeyId, name } = input;
@@ -180,7 +164,7 @@ const renamePasskey = os.me.renamePasskey.handler(
},
);
const deletePasskey = os.me.deletePasskey.handler(
const passkeysDelete = os.me.passkeys.delete.handler(
async ({ input, context }) => {
const ctx = context as AuthenticatedContext;
const { passkeyId } = input;
@@ -391,10 +375,11 @@ export const router = os.router({
updateProfile,
delete: meDelete,
setPassword,
listPasskeys,
createPasskey,
renamePasskey,
deletePasskey,
passkeys: {
list: passkeysList,
rename: passkeysRename,
delete: passkeysDelete,
},
listSessions,
revokeSession,
revokeAllSessions,

View File

@@ -3,6 +3,7 @@
*/
import type { Database } from "@reviq/db-schema";
import type { VerifiedRegistrationResponse } from "@simplewebauthn/server";
import type {
AuthenticationResponseJSON,
PublicKeyCredentialCreationOptionsJSON,
@@ -11,7 +12,6 @@ import type {
} from "@simplewebauthn/types";
import type { Kysely } from "kysely";
import type { ParsedPasskey, PasskeyRow } from "./passkey-helpers.js";
import type { VerifiedRegistrationResponse } from "@simplewebauthn/server";
import {
generateAuthenticationOptions,
generateRegistrationOptions,