fix
This commit is contained in:
@@ -227,7 +227,9 @@ export class AuthService {
|
||||
? 'googleId'
|
||||
: dto.provider === 'facebook'
|
||||
? 'facebookId'
|
||||
: 'twitterId';
|
||||
: dto.provider === 'apple'
|
||||
? 'appleId'
|
||||
: 'twitterId';
|
||||
|
||||
// Check if user exists with this provider ID
|
||||
let user = await this.prisma.user.findFirst({
|
||||
@@ -262,7 +264,9 @@ export class AuthService {
|
||||
? AuthProvider.GOOGLE
|
||||
: dto.provider === 'facebook'
|
||||
? AuthProvider.FACEBOOK
|
||||
: AuthProvider.TWITTER;
|
||||
: dto.provider === 'apple'
|
||||
? AuthProvider.APPLE
|
||||
: AuthProvider.TWITTER;
|
||||
|
||||
// Parse name
|
||||
const nameParts = dto.name?.split(' ') || [];
|
||||
@@ -304,6 +308,7 @@ export class AuthService {
|
||||
firstName,
|
||||
lastName,
|
||||
avatar: dto.avatar,
|
||||
agentTypeId: dto.agentTypeId || undefined,
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
@@ -11,12 +11,12 @@ export class SocialAuthDto {
|
||||
@ApiProperty({
|
||||
example: 'google',
|
||||
description: 'OAuth provider',
|
||||
enum: ['google', 'facebook'],
|
||||
enum: ['google', 'facebook', 'twitter', 'apple'],
|
||||
})
|
||||
@IsEnum(['google', 'facebook'], {
|
||||
message: 'Provider must be either google or facebook',
|
||||
@IsEnum(['google', 'facebook', 'twitter', 'apple'], {
|
||||
message: 'Provider must be google, facebook, twitter, or apple',
|
||||
})
|
||||
provider: 'google' | 'facebook';
|
||||
provider: 'google' | 'facebook' | 'twitter' | 'apple';
|
||||
|
||||
@ApiProperty({
|
||||
example: '123456789',
|
||||
@@ -57,4 +57,12 @@ export class SocialAuthDto {
|
||||
@IsOptional()
|
||||
@IsEnum(['USER', 'AGENT'], { message: 'Role must be either USER or AGENT' })
|
||||
role?: 'USER' | 'AGENT';
|
||||
|
||||
@ApiPropertyOptional({
|
||||
example: 'uuid-of-agent-type',
|
||||
description: 'Agent type ID (required when role is AGENT)',
|
||||
})
|
||||
@IsOptional()
|
||||
@IsString()
|
||||
agentTypeId?: string;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user