Skip to content

Commit 6de407b

Browse files
authored
Update adapter.ts
1 parent c907daa commit 6de407b

File tree

1 file changed

+20
-8
lines changed

1 file changed

+20
-8
lines changed

src/backend/auth/adapter.ts

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ const mapStoredUserToAdapterUser = (
2424
id: user.user_id,
2525
email: user.email,
2626
emailVerified: user.email_verified_at,
27+
//Ensure name always has placeholder for last_name
2728
name: `${user.first_name} ${user.last_name}`,
2829
image: user.image_url,
2930
profile: { role: user.role as UserType }, // Add the role to the profile
@@ -59,10 +60,10 @@ export const createPersistedAuthAdapter = (
5960
const role =
6061
Number(numOfUsers.count) === 0 ? UserType.Admin : UserType.User;
6162

62-
const [first_name, last_name] = user.name?.split(" ") ?? [
63-
user.email?.split("@")[0],
64-
"",
65-
];
63+
//fallback for last_name if not provided
64+
let first_name = user.name?.split(" ")[0] ?? user.email?.split("@")[0] ?? "User";
65+
let last_name = user.name?.split(" ")[1] ?? "."; // placeholder
66+
6667
const createdUser = await db
6768
.insertInto("user")
6869
.values({
@@ -79,6 +80,7 @@ export const createPersistedAuthAdapter = (
7980

8081
return mapStoredUserToAdapterUser(createdUser);
8182
},
83+
8284
async getUser(id) {
8385
const user = await db
8486
.selectFrom("user")
@@ -87,6 +89,7 @@ export const createPersistedAuthAdapter = (
8789
.executeTakeFirstOrThrow();
8890
return mapStoredUserToAdapterUser(user);
8991
},
92+
9093
async getUserByEmail(email) {
9194
const user = await db
9295
.selectFrom("user")
@@ -95,6 +98,7 @@ export const createPersistedAuthAdapter = (
9598
.executeTakeFirst();
9699
return user ? mapStoredUserToAdapterUser(user) : null;
97100
},
101+
98102
async getUserByAccount({ providerAccountId, provider }) {
99103
const user = await db
100104
.selectFrom("user")
@@ -105,13 +109,14 @@ export const createPersistedAuthAdapter = (
105109
.executeTakeFirst();
106110
return user ? mapStoredUserToAdapterUser(user) : null;
107111
},
112+
108113
async updateUser(user) {
109-
const [first_name, last_name] = user.name?.split(" ") ?? [
110-
user.email?.split("@")[0],
111-
"",
112-
];
114+
//FIXED: fallback for last_name if not provided
115+
let first_name = user.name?.split(" ")[0] ?? user.email?.split("@")[0] ?? "User";
116+
let last_name = user.name?.split(" ")[1] ?? "."; // placeholder
113117

114118
let updatedUser: Selectable<ZapatosTableNameToKyselySchema<"user">>;
119+
115120
if (user.id) {
116121
updatedUser = await db
117122
.updateTable("user")
@@ -143,9 +148,11 @@ export const createPersistedAuthAdapter = (
143148

144149
return mapStoredUserToAdapterUser(updatedUser);
145150
},
151+
146152
async deleteUser(userId) {
147153
await db.deleteFrom("user").where("user_id", "=", userId).execute();
148154
},
155+
149156
async linkAccount(account) {
150157
const data: InsertObject<KyselySchema, "account"> = {
151158
user_id: account.userId,
@@ -168,6 +175,7 @@ export const createPersistedAuthAdapter = (
168175
)
169176
.execute();
170177
},
178+
171179
async unlinkAccount({
172180
providerAccountId,
173181
provider,
@@ -178,6 +186,7 @@ export const createPersistedAuthAdapter = (
178186
.where("provider_name", "=", provider)
179187
.execute();
180188
},
189+
181190
async createSession({ sessionToken, userId, expires }) {
182191
const session = await db
183192
.insertInto("session")
@@ -191,6 +200,7 @@ export const createPersistedAuthAdapter = (
191200

192201
return mapStoredSessionToAdapterSession(session);
193202
},
203+
194204
async getSessionAndUser(sessionToken) {
195205
const sessionAndUser = await db
196206
.selectFrom("session")
@@ -208,6 +218,7 @@ export const createPersistedAuthAdapter = (
208218

209219
return null;
210220
},
221+
211222
async updateSession(session) {
212223
const updatedSession = await db
213224
.updateTable("session")
@@ -220,6 +231,7 @@ export const createPersistedAuthAdapter = (
220231

221232
return mapStoredSessionToAdapterSession(updatedSession);
222233
},
234+
223235
async deleteSession(sessionToken) {
224236
await db
225237
.deleteFrom("session")

0 commit comments

Comments
 (0)