fix
This commit is contained in:
@@ -32,6 +32,7 @@ enum AuthProvider {
|
|||||||
GOOGLE
|
GOOGLE
|
||||||
FACEBOOK
|
FACEBOOK
|
||||||
TWITTER
|
TWITTER
|
||||||
|
APPLE
|
||||||
}
|
}
|
||||||
|
|
||||||
enum FieldType {
|
enum FieldType {
|
||||||
@@ -110,6 +111,7 @@ model User {
|
|||||||
googleId String? @unique
|
googleId String? @unique
|
||||||
facebookId String? @unique
|
facebookId String? @unique
|
||||||
twitterId String? @unique
|
twitterId String? @unique
|
||||||
|
appleId String? @unique
|
||||||
|
|
||||||
// Two-Factor Authentication
|
// Two-Factor Authentication
|
||||||
twoFactorEnabled Boolean @default(false)
|
twoFactorEnabled Boolean @default(false)
|
||||||
|
|||||||
@@ -227,6 +227,8 @@ export class AuthService {
|
|||||||
? 'googleId'
|
? 'googleId'
|
||||||
: dto.provider === 'facebook'
|
: dto.provider === 'facebook'
|
||||||
? 'facebookId'
|
? 'facebookId'
|
||||||
|
: dto.provider === 'apple'
|
||||||
|
? 'appleId'
|
||||||
: 'twitterId';
|
: 'twitterId';
|
||||||
|
|
||||||
// Check if user exists with this provider ID
|
// Check if user exists with this provider ID
|
||||||
@@ -262,6 +264,8 @@ export class AuthService {
|
|||||||
? AuthProvider.GOOGLE
|
? AuthProvider.GOOGLE
|
||||||
: dto.provider === 'facebook'
|
: dto.provider === 'facebook'
|
||||||
? AuthProvider.FACEBOOK
|
? AuthProvider.FACEBOOK
|
||||||
|
: dto.provider === 'apple'
|
||||||
|
? AuthProvider.APPLE
|
||||||
: AuthProvider.TWITTER;
|
: AuthProvider.TWITTER;
|
||||||
|
|
||||||
// Parse name
|
// Parse name
|
||||||
@@ -304,6 +308,7 @@ export class AuthService {
|
|||||||
firstName,
|
firstName,
|
||||||
lastName,
|
lastName,
|
||||||
avatar: dto.avatar,
|
avatar: dto.avatar,
|
||||||
|
agentTypeId: dto.agentTypeId || undefined,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,12 +11,12 @@ export class SocialAuthDto {
|
|||||||
@ApiProperty({
|
@ApiProperty({
|
||||||
example: 'google',
|
example: 'google',
|
||||||
description: 'OAuth provider',
|
description: 'OAuth provider',
|
||||||
enum: ['google', 'facebook'],
|
enum: ['google', 'facebook', 'twitter', 'apple'],
|
||||||
})
|
})
|
||||||
@IsEnum(['google', 'facebook'], {
|
@IsEnum(['google', 'facebook', 'twitter', 'apple'], {
|
||||||
message: 'Provider must be either google or facebook',
|
message: 'Provider must be google, facebook, twitter, or apple',
|
||||||
})
|
})
|
||||||
provider: 'google' | 'facebook';
|
provider: 'google' | 'facebook' | 'twitter' | 'apple';
|
||||||
|
|
||||||
@ApiProperty({
|
@ApiProperty({
|
||||||
example: '123456789',
|
example: '123456789',
|
||||||
@@ -57,4 +57,12 @@ export class SocialAuthDto {
|
|||||||
@IsOptional()
|
@IsOptional()
|
||||||
@IsEnum(['USER', 'AGENT'], { message: 'Role must be either USER or AGENT' })
|
@IsEnum(['USER', 'AGENT'], { message: 'Role must be either USER or AGENT' })
|
||||||
role?: 'USER' | '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