From 892ca297470d7ae031fce61f7f44aab0f3f72ea3 Mon Sep 17 00:00:00 2001
From: steel <mael.acier@ensiie.fr>
Date: Mon, 6 May 2024 14:10:39 +0200
Subject: [PATCH] refactor: getUserId

---
 src/lib/default.ts | 13 ++++---------
 src/lib/index.ts   |  6 +++---
 src/lib/lucia.ts   |  4 +---
 3 files changed, 8 insertions(+), 15 deletions(-)

diff --git a/src/lib/default.ts b/src/lib/default.ts
index d1192a7..82fc0e6 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 f44afbf..a567f98 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 e4c54d9..9dcc1ec 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,
-- 
GitLab