Update prisma migration

This commit is contained in:
Douglas Barone 2020-12-15 16:01:39 -04:00
parent 9c1c78a4b3
commit f7cc0f3f07
14 changed files with 115 additions and 1771 deletions

View File

@ -7,7 +7,7 @@
"start": "node --tls-min-v1.0 dist/index.js", "start": "node --tls-min-v1.0 dist/index.js",
"dev": "nodemon --tls-min-v1.0 --ext js,graphql src/index.js --exec 'babel-node'", "dev": "nodemon --tls-min-v1.0 --ext js,graphql src/index.js --exec 'babel-node'",
"babel-node": "babel-node --presets='@babel/preset-env'", "babel-node": "babel-node --presets='@babel/preset-env'",
"prisma-deploy": "prisma migrate up --experimental", "prisma-deploy": "prisma migrate deploy --preview-feature",
"prisma-generate": "prisma generate", "prisma-generate": "prisma generate",
"build": "babel src --out-dir dist --copy-files" "build": "babel src --out-dir dist --copy-files"
}, },

View File

@ -1,206 +0,0 @@
# Migration `20201110194349-init`
This migration has been generated by Douglas Barone at 11/10/2020, 3:43:49 PM.
You can check out the [state of the schema](./schema.prisma) after the migration.
## Database Steps
```sql
CREATE TABLE "public"."ResetToken" (
"id" SERIAL,
"token" text NOT NULL ,
"expiration" timestamp(3) NOT NULL ,
"usedAt" timestamp(3) ,
"createdAt" timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" timestamp(3) NOT NULL ,
"userId" integer NOT NULL ,
"creatorId" integer NOT NULL ,
PRIMARY KEY ("id")
)
CREATE TABLE "public"."User" (
"id" SERIAL,
"lastLogin" timestamp(3) ,
"lastLoginPrior" timestamp(3) ,
"roles" jsonb ,
"groups" jsonb ,
"createdAt" timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" timestamp(3) NOT NULL ,
"accountExpires" text ,
"badPasswordTime" text ,
"badPwdCount" text ,
"cn" text ,
"department" text ,
"description" text ,
"displayName" text ,
"distinguishedName" text ,
"dn" text ,
"extensionAttribute1" text ,
"extensionAttribute10" text ,
"extensionAttribute2" text ,
"extensionAttribute6" text ,
"extensionAttribute7" text ,
"givenName" text ,
"homeDirectory" text ,
"homeDrive" text ,
"lastLogoff" text ,
"lastLogon" text ,
"lastLogonTimestamp" text ,
"lockoutTime" text ,
"logonCount" text ,
"mail" text ,
"name" text ,
"objectCategory" text ,
"objectGUID" text ,
"objectSid" text ,
"primaryGroupID" text ,
"pwdLastSet" timestamp(3) ,
"sAMAccountName" text NOT NULL ,
"sAMAccountType" text ,
"sn" text ,
"thumbnailPhoto" text ,
"title" text ,
"userAccountControl" text ,
"userPrincipalName" text ,
"whenChanged" text ,
"whenCreated" text ,
PRIMARY KEY ("id")
)
CREATE TABLE "public"."WifiDevice" (
"id" SERIAL,
"oui" text ,
"mac" text NOT NULL ,
"hostname" text ,
"firstSeen" timestamp(3) ,
"lastSeen" timestamp(3) ,
"essid" text ,
"ip" text ,
"uptime" text ,
"apName" text ,
"status" "Status" ,
"createdAt" timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" timestamp(3) NOT NULL ,
"userId" integer ,
PRIMARY KEY ("id")
)
CREATE UNIQUE INDEX "ResetToken.token_unique" ON "public"."ResetToken"("token")
CREATE UNIQUE INDEX "User.sAMAccountName_unique" ON "public"."User"("sAMAccountName")
CREATE UNIQUE INDEX "WifiDevice.mac_unique" ON "public"."WifiDevice"("mac")
ALTER TABLE "public"."ResetToken" ADD FOREIGN KEY("userId")REFERENCES "public"."User"("id") ON DELETE CASCADE ON UPDATE CASCADE
ALTER TABLE "public"."ResetToken" ADD FOREIGN KEY("creatorId")REFERENCES "public"."User"("id") ON DELETE CASCADE ON UPDATE CASCADE
ALTER TABLE "public"."WifiDevice" ADD FOREIGN KEY("userId")REFERENCES "public"."User"("id") ON DELETE SET NULL ON UPDATE CASCADE
```
## Changes
```diff
diff --git schema.prisma schema.prisma
migration ..20201110194349-init
--- datamodel.dml
+++ datamodel.dml
@@ -1,0 +1,95 @@
+generator client {
+ provider = "prisma-client-js"
+}
+
+datasource db {
+ provider = "postgresql"
+ url = "***"
+}
+
+model ResetToken {
+ id Int @id @default(autoincrement())
+ token String @unique
+ expiration DateTime
+ usedAt DateTime?
+ createdAt DateTime @default(now())
+ updatedAt DateTime @updatedAt
+ user User @relation(fields: [userId], references: [id], name: "resettoken_to_user")
+ userId Int
+ creator User @relation(fields: [creatorId], references: [id], name: "resettoken_to_creator")
+ creatorId Int
+}
+
+model User {
+ id Int @id @default(autoincrement())
+ lastLogin DateTime?
+ lastLoginPrior DateTime?
+ roles Json?
+ groups Json?
+ createdAt DateTime @default(now())
+ updatedAt DateTime @updatedAt
+ accountExpires String?
+ badPasswordTime String?
+ badPwdCount String?
+ cn String?
+ department String?
+ description String?
+ displayName String?
+ distinguishedName String?
+ dn String?
+ extensionAttribute1 String?
+ extensionAttribute10 String?
+ extensionAttribute2 String?
+ extensionAttribute6 String?
+ extensionAttribute7 String?
+ givenName String?
+ homeDirectory String?
+ homeDrive String?
+ lastLogoff String?
+ lastLogon String?
+ lastLogonTimestamp String?
+ lockoutTime String?
+ logonCount String?
+ mail String?
+ name String?
+ objectCategory String?
+ objectGUID String?
+ objectSid String?
+ primaryGroupID String?
+ pwdLastSet DateTime?
+ sAMAccountName String @unique
+ sAMAccountType String?
+ sn String?
+ thumbnailPhoto String?
+ title String?
+ userAccountControl String?
+ userPrincipalName String?
+ whenChanged String?
+ whenCreated String?
+ createdTokens ResetToken[] @relation("resettoken_to_user")
+ tokens ResetToken[] @relation("resettoken_to_creator")
+ WifiDevice WifiDevice[] @relation("wifidevice_to_user")
+}
+
+model WifiDevice {
+ id Int @id @default(autoincrement())
+ oui String?
+ mac String @unique
+ hostname String?
+ firstSeen DateTime?
+ lastSeen DateTime?
+ essid String?
+ ip String?
+ uptime String?
+ apName String?
+ status Status?
+ createdAt DateTime @default(now())
+ updatedAt DateTime @updatedAt
+ userId Int?
+ user User? @relation(fields: [userId], references: [id], name: "wifidevice_to_user")
+}
+
+enum Status {
+ ONLINE
+ OFFLINE
+}
```

View File

@ -1,95 +0,0 @@
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
url = "***"
}
model ResetToken {
id Int @id @default(autoincrement())
token String @unique
expiration DateTime
usedAt DateTime?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
user User @relation(fields: [userId], references: [id], name: "resettoken_to_user")
userId Int
creator User @relation(fields: [creatorId], references: [id], name: "resettoken_to_creator")
creatorId Int
}
model User {
id Int @id @default(autoincrement())
lastLogin DateTime?
lastLoginPrior DateTime?
roles Json?
groups Json?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
accountExpires String?
badPasswordTime String?
badPwdCount String?
cn String?
department String?
description String?
displayName String?
distinguishedName String?
dn String?
extensionAttribute1 String?
extensionAttribute10 String?
extensionAttribute2 String?
extensionAttribute6 String?
extensionAttribute7 String?
givenName String?
homeDirectory String?
homeDrive String?
lastLogoff String?
lastLogon String?
lastLogonTimestamp String?
lockoutTime String?
logonCount String?
mail String?
name String?
objectCategory String?
objectGUID String?
objectSid String?
primaryGroupID String?
pwdLastSet DateTime?
sAMAccountName String @unique
sAMAccountType String?
sn String?
thumbnailPhoto String?
title String?
userAccountControl String?
userPrincipalName String?
whenChanged String?
whenCreated String?
createdTokens ResetToken[] @relation("resettoken_to_user")
tokens ResetToken[] @relation("resettoken_to_creator")
WifiDevice WifiDevice[] @relation("wifidevice_to_user")
}
model WifiDevice {
id Int @id @default(autoincrement())
oui String?
mac String @unique
hostname String?
firstSeen DateTime?
lastSeen DateTime?
essid String?
ip String?
uptime String?
apName String?
status Status?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
userId Int?
user User? @relation(fields: [userId], references: [id], name: "wifidevice_to_user")
}
enum Status {
ONLINE
OFFLINE
}

File diff suppressed because it is too large Load Diff

View File

@ -1,68 +0,0 @@
# Migration `20201119134248-add-controller-to-wifi-device`
This migration has been generated by Douglas Barone at 11/19/2020, 9:42:48 AM.
You can check out the [state of the schema](./schema.prisma) after the migration.
## Database Steps
```sql
ALTER TABLE "WifiDevice" ADD COLUMN "controller" TEXT NOT NULL DEFAULT E'unknown'
```
## Changes
```diff
diff --git schema.prisma schema.prisma
migration 20201110194349-init..20201119134248-add-controller-to-wifi-device
--- datamodel.dml
+++ datamodel.dml
@@ -3,9 +3,9 @@
}
datasource db {
provider = "postgresql"
- url = "***"
+ url = "***"
}
model ResetToken {
id Int @id @default(autoincrement())
@@ -71,23 +71,24 @@
WifiDevice WifiDevice[] @relation("wifidevice_to_user")
}
model WifiDevice {
- id Int @id @default(autoincrement())
- oui String?
- mac String @unique
- hostname String?
- firstSeen DateTime?
- lastSeen DateTime?
- essid String?
- ip String?
- uptime String?
- apName String?
- status Status?
- createdAt DateTime @default(now())
- updatedAt DateTime @updatedAt
- userId Int?
- user User? @relation(fields: [userId], references: [id], name: "wifidevice_to_user")
+ id Int @id @default(autoincrement())
+ mac String @unique
+ controller String @default("unknown")
+ createdAt DateTime @default(now())
+ updatedAt DateTime @updatedAt
+ oui String?
+ hostname String?
+ firstSeen DateTime?
+ lastSeen DateTime?
+ essid String?
+ ip String?
+ uptime String?
+ apName String?
+ status Status?
+ userId Int?
+ user User? @relation(fields: [userId], references: [id], name: "wifidevice_to_user")
}
enum Status {
ONLINE
```

View File

@ -1,96 +0,0 @@
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
url = "***"
}
model ResetToken {
id Int @id @default(autoincrement())
token String @unique
expiration DateTime
usedAt DateTime?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
user User @relation(fields: [userId], references: [id], name: "resettoken_to_user")
userId Int
creator User @relation(fields: [creatorId], references: [id], name: "resettoken_to_creator")
creatorId Int
}
model User {
id Int @id @default(autoincrement())
lastLogin DateTime?
lastLoginPrior DateTime?
roles Json?
groups Json?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
accountExpires String?
badPasswordTime String?
badPwdCount String?
cn String?
department String?
description String?
displayName String?
distinguishedName String?
dn String?
extensionAttribute1 String?
extensionAttribute10 String?
extensionAttribute2 String?
extensionAttribute6 String?
extensionAttribute7 String?
givenName String?
homeDirectory String?
homeDrive String?
lastLogoff String?
lastLogon String?
lastLogonTimestamp String?
lockoutTime String?
logonCount String?
mail String?
name String?
objectCategory String?
objectGUID String?
objectSid String?
primaryGroupID String?
pwdLastSet DateTime?
sAMAccountName String @unique
sAMAccountType String?
sn String?
thumbnailPhoto String?
title String?
userAccountControl String?
userPrincipalName String?
whenChanged String?
whenCreated String?
createdTokens ResetToken[] @relation("resettoken_to_user")
tokens ResetToken[] @relation("resettoken_to_creator")
WifiDevice WifiDevice[] @relation("wifidevice_to_user")
}
model WifiDevice {
id Int @id @default(autoincrement())
mac String @unique
controller String @default("unknown")
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
oui String?
hostname String?
firstSeen DateTime?
lastSeen DateTime?
essid String?
ip String?
uptime String?
apName String?
status Status?
userId Int?
user User? @relation(fields: [userId], references: [id], name: "wifidevice_to_user")
}
enum Status {
ONLINE
OFFLINE
}

View File

@ -1,37 +0,0 @@
{
"version": "0.3.14-fixed",
"steps": [
{
"tag": "CreateField",
"model": "WifiDevice",
"field": "controller",
"type": "String",
"arity": "Required"
},
{
"tag": "CreateDirective",
"location": {
"path": {
"tag": "Field",
"model": "WifiDevice",
"field": "controller"
},
"directive": "default"
}
},
{
"tag": "CreateArgument",
"location": {
"tag": "Directive",
"path": {
"tag": "Field",
"model": "WifiDevice",
"field": "controller"
},
"directive": "default"
},
"argument": "",
"value": "\"unknown\""
}
]
}

View File

@ -1,44 +0,0 @@
# Migration `20201120191035-fix-relations`
This migration has been generated by Douglas Barone at 11/20/2020, 3:10:35 PM.
You can check out the [state of the schema](./schema.prisma) after the migration.
## Database Steps
```sql
```
## Changes
```diff
diff --git schema.prisma schema.prisma
migration 20201119134248-add-controller-to-wifi-device..20201120191035-fix-relations
--- datamodel.dml
+++ datamodel.dml
@@ -3,9 +3,9 @@
}
datasource db {
provider = "postgresql"
- url = "***"
+ url = "***"
}
model ResetToken {
id Int @id @default(autoincrement())
@@ -65,11 +65,11 @@
userAccountControl String?
userPrincipalName String?
whenChanged String?
whenCreated String?
- createdTokens ResetToken[] @relation("resettoken_to_user")
- tokens ResetToken[] @relation("resettoken_to_creator")
- WifiDevice WifiDevice[] @relation("wifidevice_to_user")
+ createdTokens ResetToken[] @relation("resettoken_to_creator")
+ tokens ResetToken[] @relation("resettoken_to_user")
+ wifiDevices WifiDevice[] @relation("wifidevice_to_user")
}
model WifiDevice {
id Int @id @default(autoincrement())
```

View File

@ -1,96 +0,0 @@
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
url = "***"
}
model ResetToken {
id Int @id @default(autoincrement())
token String @unique
expiration DateTime
usedAt DateTime?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
user User @relation(fields: [userId], references: [id], name: "resettoken_to_user")
userId Int
creator User @relation(fields: [creatorId], references: [id], name: "resettoken_to_creator")
creatorId Int
}
model User {
id Int @id @default(autoincrement())
lastLogin DateTime?
lastLoginPrior DateTime?
roles Json?
groups Json?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
accountExpires String?
badPasswordTime String?
badPwdCount String?
cn String?
department String?
description String?
displayName String?
distinguishedName String?
dn String?
extensionAttribute1 String?
extensionAttribute10 String?
extensionAttribute2 String?
extensionAttribute6 String?
extensionAttribute7 String?
givenName String?
homeDirectory String?
homeDrive String?
lastLogoff String?
lastLogon String?
lastLogonTimestamp String?
lockoutTime String?
logonCount String?
mail String?
name String?
objectCategory String?
objectGUID String?
objectSid String?
primaryGroupID String?
pwdLastSet DateTime?
sAMAccountName String @unique
sAMAccountType String?
sn String?
thumbnailPhoto String?
title String?
userAccountControl String?
userPrincipalName String?
whenChanged String?
whenCreated String?
createdTokens ResetToken[] @relation("resettoken_to_creator")
tokens ResetToken[] @relation("resettoken_to_user")
wifiDevices WifiDevice[] @relation("wifidevice_to_user")
}
model WifiDevice {
id Int @id @default(autoincrement())
mac String @unique
controller String @default("unknown")
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
oui String?
hostname String?
firstSeen DateTime?
lastSeen DateTime?
essid String?
ip String?
uptime String?
apName String?
status Status?
userId Int?
user User? @relation(fields: [userId], references: [id], name: "wifidevice_to_user")
}
enum Status {
ONLINE
OFFLINE
}

View File

@ -1,70 +0,0 @@
{
"version": "0.3.14-fixed",
"steps": [
{
"tag": "CreateField",
"model": "User",
"field": "wifiDevices",
"type": "WifiDevice",
"arity": "List"
},
{
"tag": "CreateDirective",
"location": {
"path": {
"tag": "Field",
"model": "User",
"field": "wifiDevices"
},
"directive": "relation"
}
},
{
"tag": "CreateArgument",
"location": {
"tag": "Directive",
"path": {
"tag": "Field",
"model": "User",
"field": "wifiDevices"
},
"directive": "relation"
},
"argument": "",
"value": "\"wifidevice_to_user\""
},
{
"tag": "DeleteField",
"model": "User",
"field": "WifiDevice"
},
{
"tag": "UpdateArgument",
"location": {
"tag": "Directive",
"path": {
"tag": "Field",
"model": "User",
"field": "createdTokens"
},
"directive": "relation"
},
"argument": "",
"newValue": "\"resettoken_to_creator\""
},
{
"tag": "UpdateArgument",
"location": {
"tag": "Directive",
"path": {
"tag": "Field",
"model": "User",
"field": "tokens"
},
"directive": "relation"
},
"argument": "",
"newValue": "\"resettoken_to_user\""
}
]
}

View File

@ -0,0 +1,106 @@
-- CreateEnum
CREATE TYPE "public"."Status" AS ENUM ('ONLINE', 'OFFLINE');
-- CreateTable
CREATE TABLE "ResetToken" (
"id" SERIAL,
"token" TEXT NOT NULL,
"expiration" TIMESTAMP(3) NOT NULL,
"usedAt" TIMESTAMP(3),
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" TIMESTAMP(3) NOT NULL,
"userId" INTEGER NOT NULL,
"creatorId" INTEGER NOT NULL,
PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "User" (
"id" SERIAL,
"lastLogin" TIMESTAMP(3),
"lastLoginPrior" TIMESTAMP(3),
"roles" JSONB,
"groups" JSONB,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" TIMESTAMP(3) NOT NULL,
"accountExpires" TEXT,
"badPasswordTime" TEXT,
"badPwdCount" TEXT,
"cn" TEXT,
"department" TEXT,
"description" TEXT,
"displayName" TEXT,
"distinguishedName" TEXT,
"dn" TEXT,
"extensionAttribute1" TEXT,
"extensionAttribute10" TEXT,
"extensionAttribute2" TEXT,
"extensionAttribute6" TEXT,
"extensionAttribute7" TEXT,
"givenName" TEXT,
"homeDirectory" TEXT,
"homeDrive" TEXT,
"lastLogoff" TEXT,
"lastLogon" TEXT,
"lastLogonTimestamp" TEXT,
"lockoutTime" TEXT,
"logonCount" TEXT,
"mail" TEXT,
"name" TEXT,
"objectCategory" TEXT,
"objectGUID" TEXT,
"objectSid" TEXT,
"primaryGroupID" TEXT,
"pwdLastSet" TIMESTAMP(3),
"sAMAccountName" TEXT NOT NULL,
"sAMAccountType" TEXT,
"sn" TEXT,
"thumbnailPhoto" TEXT,
"title" TEXT,
"userAccountControl" TEXT,
"userPrincipalName" TEXT,
"whenChanged" TEXT,
"whenCreated" TEXT,
PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "WifiDevice" (
"id" SERIAL,
"oui" TEXT,
"mac" TEXT NOT NULL,
"hostname" TEXT,
"firstSeen" TIMESTAMP(3),
"lastSeen" TIMESTAMP(3),
"essid" TEXT,
"ip" TEXT,
"uptime" TEXT,
"apName" TEXT,
"status" "Status",
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" TIMESTAMP(3) NOT NULL,
"userId" INTEGER,
"controller" TEXT NOT NULL DEFAULT E'unknown',
PRIMARY KEY ("id")
);
-- CreateIndex
CREATE UNIQUE INDEX "ResetToken.token_unique" ON "ResetToken"("token");
-- CreateIndex
CREATE UNIQUE INDEX "User.sAMAccountName_unique" ON "User"("sAMAccountName");
-- CreateIndex
CREATE UNIQUE INDEX "WifiDevice.mac_unique" ON "WifiDevice"("mac");
-- AddForeignKey
ALTER TABLE "ResetToken" ADD FOREIGN KEY("creatorId")REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "ResetToken" ADD FOREIGN KEY("userId")REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "WifiDevice" ADD FOREIGN KEY("userId")REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE;

View File

@ -1,5 +0,0 @@
# Prisma Migrate lockfile v1
20201110194349-init
20201119134248-add-controller-to-wifi-device
20201120191035-fix-relations

View File

@ -14,10 +14,10 @@ model ResetToken {
usedAt DateTime? usedAt DateTime?
createdAt DateTime @default(now()) createdAt DateTime @default(now())
updatedAt DateTime @updatedAt updatedAt DateTime @updatedAt
user User @relation(fields: [userId], references: [id], name: "resettoken_to_user")
userId Int userId Int
creator User @relation(fields: [creatorId], references: [id], name: "resettoken_to_creator")
creatorId Int creatorId Int
creator User @relation("resettoken_to_creator", fields: [creatorId], references: [id])
user User @relation("resettoken_to_user", fields: [userId], references: [id])
} }
model User { model User {
@ -73,11 +73,8 @@ model User {
model WifiDevice { model WifiDevice {
id Int @id @default(autoincrement()) id Int @id @default(autoincrement())
mac String @unique
controller String @default("unknown")
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
oui String? oui String?
mac String @unique
hostname String? hostname String?
firstSeen DateTime? firstSeen DateTime?
lastSeen DateTime? lastSeen DateTime?
@ -86,8 +83,11 @@ model WifiDevice {
uptime String? uptime String?
apName String? apName String?
status Status? status Status?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
userId Int? userId Int?
user User? @relation(fields: [userId], references: [id], name: "wifidevice_to_user") controller String @default("unknown")
user User? @relation("wifidevice_to_user", fields: [userId], references: [id])
} }
enum Status { enum Status {

View File

@ -236,11 +236,6 @@ class User {
) )
return oldUserData return oldUserData
await prisma.user.update({
data: { updatedAt: now },
where: { sAMAccountName: username }
})
const adUser = await ad.findUser(username) const adUser = await ad.findUser(username)
if (!adUser) throw new Error('Usuário não encontrado') if (!adUser) throw new Error('Usuário não encontrado')
@ -250,6 +245,7 @@ class User {
const user = { const user = {
...adUser, ...adUser,
updatedAt: now,
roles, roles,
groups groups
} }