feat: implement user impersonation feature (#976)
* feat: wip impersonate user * feat: add ability to impersonate an user * fix: remove console.log * fix: unused import
This commit is contained in:
@ -65,39 +65,42 @@ generator nestgraphql {
|
||||
model User {
|
||||
/// @Validator.IsString()
|
||||
/// @Validator.IsOptional()
|
||||
id String @id @default(uuid())
|
||||
id String @id @default(uuid())
|
||||
/// @Validator.IsString()
|
||||
/// @Validator.IsOptional()
|
||||
firstName String?
|
||||
firstName String?
|
||||
/// @Validator.IsString()
|
||||
/// @Validator.IsOptional()
|
||||
lastName String?
|
||||
lastName String?
|
||||
/// @Validator.IsEmail()
|
||||
/// @Validator.IsOptional()
|
||||
email String @unique
|
||||
email String @unique
|
||||
/// @Validator.IsBoolean()
|
||||
/// @Validator.IsOptional()
|
||||
emailVerified Boolean @default(false)
|
||||
emailVerified Boolean @default(false)
|
||||
/// @Validator.IsString()
|
||||
/// @Validator.IsOptional()
|
||||
avatarUrl String?
|
||||
avatarUrl String?
|
||||
/// @Validator.IsString()
|
||||
/// @Validator.IsOptional()
|
||||
locale String
|
||||
locale String
|
||||
/// @Validator.IsString()
|
||||
/// @Validator.IsOptional()
|
||||
phoneNumber String?
|
||||
phoneNumber String?
|
||||
/// @Validator.IsDate()
|
||||
/// @Validator.IsOptional()
|
||||
lastSeen DateTime?
|
||||
lastSeen DateTime?
|
||||
/// @Validator.IsBoolean()
|
||||
/// @Validator.IsOptional()
|
||||
disabled Boolean @default(false)
|
||||
disabled Boolean @default(false)
|
||||
/// @TypeGraphQL.omit(input: true, output: true)
|
||||
passwordHash String?
|
||||
passwordHash String?
|
||||
/// @Validator.IsJSON()
|
||||
/// @Validator.IsOptional()
|
||||
metadata Json?
|
||||
metadata Json?
|
||||
/// @Validator.IsBoolean()
|
||||
/// @Validator.IsOptional()
|
||||
canImpersonate Boolean @default(false)
|
||||
|
||||
/// @TypeGraphQL.omit(input: true)
|
||||
workspaceMember WorkspaceMember?
|
||||
@ -106,17 +109,17 @@ model User {
|
||||
refreshTokens RefreshToken[]
|
||||
comments Comment[]
|
||||
|
||||
authoredActivities Activity[] @relation(name: "authoredActivities")
|
||||
assignedActivities Activity[] @relation(name: "assignedActivities")
|
||||
settings UserSettings @relation(fields: [settingsId], references: [id])
|
||||
settingsId String @unique
|
||||
authoredActivities Activity[] @relation(name: "authoredActivities")
|
||||
assignedActivities Activity[] @relation(name: "assignedActivities")
|
||||
authoredAttachments Attachment[] @relation(name: "authoredAttachments")
|
||||
settings UserSettings @relation(fields: [settingsId], references: [id])
|
||||
settingsId String @unique
|
||||
|
||||
/// @TypeGraphQL.omit(input: true, output: true)
|
||||
deletedAt DateTime?
|
||||
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
authoredAttachments Attachment[] @relation(name: "authoredAttachments")
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
@@map("users")
|
||||
}
|
||||
@ -185,7 +188,10 @@ model Workspace {
|
||||
model WorkspaceMember {
|
||||
/// @Validator.IsString()
|
||||
/// @Validator.IsOptional()
|
||||
id String @id @default(uuid())
|
||||
id String @id @default(uuid())
|
||||
/// @Validator.IsBoolean()
|
||||
/// @Validator.IsOptional()
|
||||
allowImpersonation Boolean @default(true)
|
||||
|
||||
user User @relation(fields: [userId], references: [id])
|
||||
userId String @unique
|
||||
|
||||
Reference in New Issue
Block a user