handle error on create user
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
import { Injectable } from '@nestjs/common';
|
||||
import { Injectable, Logger } from '@nestjs/common';
|
||||
|
||||
import { PrismaService } from '../Prisma/prisma.service';
|
||||
import { clerkClient } from '@clerk/express';
|
||||
|
||||
@Injectable()
|
||||
export class ClerkService {
|
||||
constructor(private readonly prisma: PrismaService) {}
|
||||
@@ -51,7 +53,6 @@ export class ClerkService {
|
||||
}
|
||||
}
|
||||
async eventUserCreated(data: any) {
|
||||
console.log(data);
|
||||
const primary_email_address_id = data.primary_email_address_id;
|
||||
// get primary email address on email_addresses by querying email_addresses with primary_email_address_id
|
||||
let primary_email_address = data.email_addresses.find(
|
||||
@@ -70,16 +71,20 @@ export class ClerkService {
|
||||
const role = 'CUSTOMER';
|
||||
const phoneNumber = '';
|
||||
// create user in database
|
||||
await this.prisma.user.create({
|
||||
data: {
|
||||
id: user_id,
|
||||
email: primary_email_address.email_address ?? '',
|
||||
name: name ?? '',
|
||||
role: role ?? '',
|
||||
createdAt: created_at,
|
||||
phoneNumber: phoneNumber ?? '',
|
||||
},
|
||||
});
|
||||
try {
|
||||
await this.prisma.user.create({
|
||||
data: {
|
||||
id: user_id,
|
||||
email: primary_email_address.email_address ?? '',
|
||||
name: name ?? '',
|
||||
role: role ?? '',
|
||||
createdAt: created_at,
|
||||
phoneNumber: phoneNumber ?? '',
|
||||
},
|
||||
});
|
||||
} catch (err) {
|
||||
Logger.error(err);
|
||||
}
|
||||
}
|
||||
|
||||
async eventUserUpdated(data: any) {
|
||||
@@ -102,14 +107,18 @@ export class ClerkService {
|
||||
// get user info from clerk
|
||||
const userInfo = await clerkClient.users.getUser(data.user_id);
|
||||
console.log(userInfo);
|
||||
await this.prisma.user.create({
|
||||
data: {
|
||||
id: data.user_id,
|
||||
email: userInfo.emailAddresses[0].emailAddress,
|
||||
name: `${userInfo.firstName} ${userInfo.lastName}`,
|
||||
avatarUrl: userInfo.imageUrl,
|
||||
},
|
||||
});
|
||||
try {
|
||||
await this.prisma.user.create({
|
||||
data: {
|
||||
id: data.user_id,
|
||||
email: userInfo.emailAddresses[0].emailAddress,
|
||||
name: `${userInfo.firstName} ${userInfo.lastName}`,
|
||||
avatarUrl: userInfo.imageUrl,
|
||||
},
|
||||
});
|
||||
} catch (err) {
|
||||
Logger.error(err);
|
||||
}
|
||||
}
|
||||
// to do: get session info
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user