fix
This commit is contained in:
@@ -32,6 +32,7 @@ enum AuthProvider {
|
||||
GOOGLE
|
||||
FACEBOOK
|
||||
TWITTER
|
||||
APPLE
|
||||
}
|
||||
|
||||
enum FieldType {
|
||||
@@ -110,6 +111,7 @@ model User {
|
||||
googleId String? @unique
|
||||
facebookId String? @unique
|
||||
twitterId String? @unique
|
||||
appleId String? @unique
|
||||
|
||||
// Two-Factor Authentication
|
||||
twoFactorEnabled Boolean @default(false)
|
||||
|
||||
@@ -227,6 +227,8 @@ export class AuthService {
|
||||
? 'googleId'
|
||||
: dto.provider === 'facebook'
|
||||
? 'facebookId'
|
||||
: dto.provider === 'apple'
|
||||
? 'appleId'
|
||||
: 'twitterId';
|
||||
|
||||
// Check if user exists with this provider ID
|
||||
@@ -262,6 +264,8 @@ export class AuthService {
|
||||
? AuthProvider.GOOGLE
|
||||
: dto.provider === 'facebook'
|
||||
? AuthProvider.FACEBOOK
|
||||
: dto.provider === 'apple'
|
||||
? AuthProvider.APPLE
|
||||
: AuthProvider.TWITTER;
|
||||
|
||||
// Parse name
|
||||
@@ -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