diff --git a/src/lib/default.ts b/src/lib/default.ts index d1192a7e55730fa56cd1720d998b1539aafacbbc..82fc0e6c297db83f087c2521a8ba38ce5df27172 100644 --- a/src/lib/default.ts +++ b/src/lib/default.ts @@ -48,16 +48,11 @@ class DefaultLucia< )`); } - getUser(subject: string): DatabaseUser<UserInfo> | undefined { + getUserId(subject: string) { const user = this.db - .prepare("SELECT * FROM user WHERE subject = ?") - .get(subject) as InternalUser | undefined; - if (!user) return undefined; - return { - id: user.id, - subject: user.subject, - claims: JSON.parse(user.claims), - }; + .prepare("SELECT id FROM user WHERE subject = ?") + .get(subject) as { id: string } | undefined; + return user?.id; } createUser(subject: string, userId: string, claims: IdTokenClaims) { diff --git a/src/lib/index.ts b/src/lib/index.ts index f44afbf6a7401f67a79ab29a281c1ac87aab33ea..a567f984f622a328d374ad47ab677c7fb7948414 100644 --- a/src/lib/index.ts +++ b/src/lib/index.ts @@ -149,11 +149,11 @@ export class AriseIdConnect { const claims = tokenSet.claims(); const { sub } = claims; const { wrapper } = this.config; - const existingUser = await wrapper.getUser(sub); + const existingUserId = await wrapper.getUserId(sub); - const userId = existingUser ? existingUser.id : generateId(15); + const userId = existingUserId ?? generateId(15); - if (!existingUser) { + if (existingUserId === undefined) { await wrapper.createUser(sub, userId, claims); } diff --git a/src/lib/lucia.ts b/src/lib/lucia.ts index e4c54d92feb703bf13d0fed0a1c4e4759b4548eb..9dcc1ec87aad9757744bb2dff75e57b81c605712 100644 --- a/src/lib/lucia.ts +++ b/src/lib/lucia.ts @@ -68,9 +68,7 @@ export abstract class LuciaWrapper< } abstract initDatabase(): MaybePromise<void>; - abstract getUser( - subject: string, - ): MaybePromise<(_UserAttributes & { id: string }) | undefined>; + abstract getUserId(subject: string): MaybePromise<string | undefined>; abstract createUser( subject: string, userId: string,