@appweaver/core 1.4.1 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -24,7 +24,7 @@ function createModel(config, override = false) {
24
24
  function buildModel(config) {
25
25
  const name = (0, common_1.capitalize)(config.name || node_path_1.default.basename(node_path_1.default.dirname(__dirname)));
26
26
  const idSchema = (0, resource_1.idSchema)(config?.id);
27
- const auditSchema = buildAuditSchema(config?.audit);
27
+ const auditSchema = buildAuditSchema(config?.audit, (0, common_1.hasSoftDelete)(config));
28
28
  const scalarsSchema = buildScalarsSchema(config?.scalars);
29
29
  const virtualSchema = buildScalarsSchema(config?.virtual);
30
30
  const filesSchema = buildFilesSchema(config?.files);
@@ -89,14 +89,17 @@ function referencedIdField(modelName) {
89
89
  }
90
90
  return context_1.context.resource.models.get((0, common_1.capitalize)(modelName))?.config?.id;
91
91
  }
92
- function authIdField() {
92
+ function authModel() {
93
93
  for (const model of context_1.context.resource.models.values()) {
94
94
  if ((0, common_1.isResourceAuthModel)(model)) {
95
- return model.config?.id;
95
+ return model;
96
96
  }
97
97
  }
98
98
  }
99
- function buildAuditSchema(audit = {}) {
99
+ function authIdField() {
100
+ return authModel()?.config?.id;
101
+ }
102
+ function buildAuditSchema(audit = {}, softDelete = false) {
100
103
  const defaultAudit = {
101
104
  updatedAt: true,
102
105
  createdAt: true,
@@ -109,7 +112,24 @@ function buildAuditSchema(audit = {}) {
109
112
  fields.push(name);
110
113
  }
111
114
  }
112
- return typebox_1.Type.Pick((0, resource_1.auditSchema)(authIdField()), fields);
115
+ const auditSchema = typebox_1.Type.Pick((0, resource_1.auditSchema)(authIdField()), fields);
116
+ if (!softDelete) {
117
+ return auditSchema;
118
+ }
119
+ // The soft delete columns are typed on the model, but hidden like any hidden
120
+ // field, so no request or response carries them
121
+ return typebox_1.Type.Object({
122
+ ...auditSchema.properties,
123
+ deletedAt: (0, common_1.Nullable)((0, common_1.StringDate)({ hidden: true })),
124
+ ...(authModel()
125
+ ? {
126
+ deletedById: (0, common_1.Nullable)({
127
+ ...(0, resource_1.idValueSchema)(authIdField()),
128
+ hidden: true
129
+ })
130
+ }
131
+ : {})
132
+ });
113
133
  }
114
134
  function buildScalarsSchema(fields = {}) {
115
135
  const properties = {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appweaver/core",
3
- "version": "1.4.1",
3
+ "version": "1.5.1",
4
4
  "description": "Appweaver - the backend framework for AI-first development (@core)",
5
5
  "author": "Luka Matosevic",
6
6
  "license": "MIT",
@@ -51,7 +51,7 @@ const config = {
51
51
  "clientVersion": "7.9.1",
52
52
  "engineVersion": "e922089b7d7502aff4249d5da3420f6fa55fc6ad",
53
53
  "activeProvider": "sqlite",
54
- "inlineSchema": "// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\n// Generated by Appweaver. Please do not edit this file manually.\n\ndatasource db {\n provider = \"sqlite\"\n}\n\ngenerator client {\n provider = \"prisma-client\"\n output = \"./client\"\n}\n\nmodel ApiKey {\n id Int @id @default(autoincrement())\n key String\n keyHash String @unique\n name String?\n description String?\n enabled Boolean @default(true)\n expiresAt DateTime?\n\n /// Audit columns\n updatedAt DateTime @updatedAt\n createdAt DateTime @default(now())\n}\n\nmodel ConnectedAccount {\n id Int @id @default(autoincrement())\n provider String\n providerAccountId String\n scope String?\n lastLoginAt DateTime\n\n /// Audit columns\n updatedAt DateTime @updatedAt\n createdAt DateTime @default(now())\n\n @@index([provider, providerAccountId])\n}\n\nmodel OneTimeToken {\n id Int @id @default(autoincrement())\n tokenHash String\n purpose String\n expiresAt DateTime\n data Json\n\n /// Audit columns\n updatedAt DateTime @updatedAt\n createdAt DateTime @default(now())\n\n @@index([tokenHash, purpose])\n}\n\nmodel Permission {\n id Int @id @default(autoincrement())\n name String @unique\n\n /// Related columns\n roles Role[] @relation(\"RolePermissionsPermission\")\n\n /// Audit columns\n updatedAt DateTime @updatedAt\n createdAt DateTime @default(now())\n}\n\nmodel Role {\n id Int @id @default(autoincrement())\n name String @unique\n\n /// Related columns\n permissions Permission[] @relation(\"RolePermissionsPermission\")\n\n /// Audit columns\n updatedAt DateTime @updatedAt\n createdAt DateTime @default(now())\n}\n\nmodel Seeder {\n id String @id @default(uuid())\n checksum String\n seederName String @unique\n startedAt DateTime\n finishedAt DateTime\n logs String?\n\n @@map(\"_seeders\")\n}\n\nmodel File {\n id Int @id @default(autoincrement())\n name String @unique\n originalName String\n mimeType String\n sizeBytes Int\n checksum String\n title String?\n description String?\n resourceField String?\n resourceName String?\n resourceId String?\n\n /// Audit columns\n updatedAt DateTime @updatedAt\n createdAt DateTime @default(now())\n\n @@index([resourceField, resourceName, resourceId])\n}\n",
54
+ "inlineSchema": "// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\n// Generated by Appweaver. Please do not edit this file manually.\n\ndatasource db {\n provider = \"sqlite\"\n}\n\ngenerator client {\n provider = \"prisma-client\"\n output = \"./client\"\n}\n\nmodel ApiKey {\n id Int @id @default(autoincrement())\n key String\n keyHash String @unique\n name String?\n description String?\n enabled Boolean @default(true)\n expiresAt DateTime?\n\n /// Audit columns\n updatedAt DateTime @updatedAt\n createdAt DateTime @default(now())\n}\n\nmodel ConnectedAccount {\n id Int @id @default(autoincrement())\n provider String\n providerAccountId String\n scope String?\n lastLoginAt DateTime\n\n /// Audit columns\n updatedAt DateTime @updatedAt\n createdAt DateTime @default(now())\n\n @@unique([provider, providerAccountId])\n}\n\nmodel OneTimeToken {\n id Int @id @default(autoincrement())\n tokenHash String\n purpose String\n expiresAt DateTime\n data Json\n\n /// Audit columns\n updatedAt DateTime @updatedAt\n createdAt DateTime @default(now())\n\n @@index([tokenHash, purpose])\n}\n\nmodel Permission {\n id Int @id @default(autoincrement())\n name String @unique\n\n /// Related columns\n roles Role[] @relation(\"RolePermissionsPermission\")\n\n /// Audit columns\n updatedAt DateTime @updatedAt\n createdAt DateTime @default(now())\n}\n\nmodel Role {\n id Int @id @default(autoincrement())\n name String @unique\n\n /// Related columns\n permissions Permission[] @relation(\"RolePermissionsPermission\")\n\n /// Audit columns\n updatedAt DateTime @updatedAt\n createdAt DateTime @default(now())\n}\n\nmodel Seeder {\n id String @id @default(uuid())\n checksum String\n seederName String @unique\n startedAt DateTime\n finishedAt DateTime\n logs String?\n\n @@map(\"_seeders\")\n}\n\nmodel File {\n id Int @id @default(autoincrement())\n name String @unique\n originalName String\n mimeType String\n sizeBytes Int\n checksum String\n title String?\n description String?\n resourceField String?\n resourceName String?\n resourceId String?\n\n /// Audit columns\n updatedAt DateTime @updatedAt\n createdAt DateTime @default(now())\n deletedAt DateTime?\n\n @@index([resourceName, resourceId, resourceField])\n}\n",
55
55
  "runtimeDataModel": {
56
56
  "models": {},
57
57
  "enums": {},
@@ -62,10 +62,10 @@ const config = {
62
62
  "graph": ""
63
63
  }
64
64
  };
65
- config.runtimeDataModel = JSON.parse("{\"models\":{\"ApiKey\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"keyHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"enabled\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ConnectedAccount\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"provider\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"providerAccountId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scope\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lastLoginAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"OneTimeToken\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"tokenHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"purpose\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"data\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Permission\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"roles\",\"kind\":\"object\",\"type\":\"Role\",\"relationName\":\"RolePermissionsPermission\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Role\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"permissions\",\"kind\":\"object\",\"type\":\"Permission\",\"relationName\":\"RolePermissionsPermission\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Seeder\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"checksum\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"seederName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"startedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"finishedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"logs\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":\"_seeders\"},\"File\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"originalName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mimeType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sizeBytes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"checksum\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resourceField\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resourceName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resourceId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}");
65
+ config.runtimeDataModel = JSON.parse("{\"models\":{\"ApiKey\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"keyHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"enabled\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ConnectedAccount\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"provider\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"providerAccountId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scope\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lastLoginAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"OneTimeToken\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"tokenHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"purpose\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"data\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Permission\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"roles\",\"kind\":\"object\",\"type\":\"Role\",\"relationName\":\"RolePermissionsPermission\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Role\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"permissions\",\"kind\":\"object\",\"type\":\"Permission\",\"relationName\":\"RolePermissionsPermission\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Seeder\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"checksum\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"seederName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"startedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"finishedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"logs\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":\"_seeders\"},\"File\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"originalName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mimeType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sizeBytes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"checksum\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resourceField\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resourceName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resourceId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"deletedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}");
66
66
  config.parameterizationSchema = {
67
- strings: JSON.parse("[\"where\",\"ApiKey.findUnique\",\"ApiKey.findUniqueOrThrow\",\"orderBy\",\"cursor\",\"ApiKey.findFirst\",\"ApiKey.findFirstOrThrow\",\"ApiKey.findMany\",\"data\",\"ApiKey.createOne\",\"ApiKey.createMany\",\"ApiKey.createManyAndReturn\",\"ApiKey.updateOne\",\"ApiKey.updateMany\",\"ApiKey.updateManyAndReturn\",\"create\",\"update\",\"ApiKey.upsertOne\",\"ApiKey.deleteOne\",\"ApiKey.deleteMany\",\"having\",\"_count\",\"_avg\",\"_sum\",\"_min\",\"_max\",\"ApiKey.groupBy\",\"ApiKey.aggregate\",\"ConnectedAccount.findUnique\",\"ConnectedAccount.findUniqueOrThrow\",\"ConnectedAccount.findFirst\",\"ConnectedAccount.findFirstOrThrow\",\"ConnectedAccount.findMany\",\"ConnectedAccount.createOne\",\"ConnectedAccount.createMany\",\"ConnectedAccount.createManyAndReturn\",\"ConnectedAccount.updateOne\",\"ConnectedAccount.updateMany\",\"ConnectedAccount.updateManyAndReturn\",\"ConnectedAccount.upsertOne\",\"ConnectedAccount.deleteOne\",\"ConnectedAccount.deleteMany\",\"ConnectedAccount.groupBy\",\"ConnectedAccount.aggregate\",\"OneTimeToken.findUnique\",\"OneTimeToken.findUniqueOrThrow\",\"OneTimeToken.findFirst\",\"OneTimeToken.findFirstOrThrow\",\"OneTimeToken.findMany\",\"OneTimeToken.createOne\",\"OneTimeToken.createMany\",\"OneTimeToken.createManyAndReturn\",\"OneTimeToken.updateOne\",\"OneTimeToken.updateMany\",\"OneTimeToken.updateManyAndReturn\",\"OneTimeToken.upsertOne\",\"OneTimeToken.deleteOne\",\"OneTimeToken.deleteMany\",\"OneTimeToken.groupBy\",\"OneTimeToken.aggregate\",\"permissions\",\"roles\",\"Permission.findUnique\",\"Permission.findUniqueOrThrow\",\"Permission.findFirst\",\"Permission.findFirstOrThrow\",\"Permission.findMany\",\"Permission.createOne\",\"Permission.createMany\",\"Permission.createManyAndReturn\",\"Permission.updateOne\",\"Permission.updateMany\",\"Permission.updateManyAndReturn\",\"Permission.upsertOne\",\"Permission.deleteOne\",\"Permission.deleteMany\",\"Permission.groupBy\",\"Permission.aggregate\",\"Role.findUnique\",\"Role.findUniqueOrThrow\",\"Role.findFirst\",\"Role.findFirstOrThrow\",\"Role.findMany\",\"Role.createOne\",\"Role.createMany\",\"Role.createManyAndReturn\",\"Role.updateOne\",\"Role.updateMany\",\"Role.updateManyAndReturn\",\"Role.upsertOne\",\"Role.deleteOne\",\"Role.deleteMany\",\"Role.groupBy\",\"Role.aggregate\",\"Seeder.findUnique\",\"Seeder.findUniqueOrThrow\",\"Seeder.findFirst\",\"Seeder.findFirstOrThrow\",\"Seeder.findMany\",\"Seeder.createOne\",\"Seeder.createMany\",\"Seeder.createManyAndReturn\",\"Seeder.updateOne\",\"Seeder.updateMany\",\"Seeder.updateManyAndReturn\",\"Seeder.upsertOne\",\"Seeder.deleteOne\",\"Seeder.deleteMany\",\"Seeder.groupBy\",\"Seeder.aggregate\",\"File.findUnique\",\"File.findUniqueOrThrow\",\"File.findFirst\",\"File.findFirstOrThrow\",\"File.findMany\",\"File.createOne\",\"File.createMany\",\"File.createManyAndReturn\",\"File.updateOne\",\"File.updateMany\",\"File.updateManyAndReturn\",\"File.upsertOne\",\"File.deleteOne\",\"File.deleteMany\",\"File.groupBy\",\"File.aggregate\",\"AND\",\"OR\",\"NOT\",\"id\",\"name\",\"originalName\",\"mimeType\",\"sizeBytes\",\"checksum\",\"title\",\"description\",\"resourceField\",\"resourceName\",\"resourceId\",\"updatedAt\",\"createdAt\",\"equals\",\"in\",\"notIn\",\"lt\",\"lte\",\"gt\",\"gte\",\"not\",\"contains\",\"startsWith\",\"endsWith\",\"seederName\",\"startedAt\",\"finishedAt\",\"logs\",\"every\",\"some\",\"none\",\"tokenHash\",\"purpose\",\"expiresAt\",\"string_contains\",\"string_starts_with\",\"string_ends_with\",\"array_starts_with\",\"array_ends_with\",\"provider\",\"providerAccountId\",\"scope\",\"lastLoginAt\",\"key\",\"keyHash\",\"enabled\",\"connectOrCreate\",\"upsert\",\"set\",\"disconnect\",\"delete\",\"connect\",\"updateMany\",\"deleteMany\",\"increment\",\"decrement\",\"multiply\",\"divide\"]"),
68
- graph: "pAJHcAx-AADeAQAwfwAABAAQgAEAAN4BADCBAQIAAAABggEBAMYBACGIAQEAxgEAIYwBQADHAQAhjQFAAMcBACGiAUAA4AEAIawBAQDFAQAhrQEBAAAAAa4BIADfAQAhAQAAAAEAIAEAAAABACAMfgAA3gEAMH8AAAQAEIABAADeAQAwgQECAMQBACGCAQEAxgEAIYgBAQDGAQAhjAFAAMcBACGNAUAAxwEAIaIBQADgAQAhrAEBAMUBACGtAQEAxQEAIa4BIADfAQAhA4IBAADhAQAgiAEAAOEBACCiAQAA4QEAIAMAAAAEACADAAAFADAEAAABACADAAAABAAgAwAABQAwBAAAAQAgAwAAAAQAIAMAAAUAMAQAAAEAIAmBAQIAAAABggEBAAAAAYgBAQAAAAGMAUAAAAABjQFAAAAAAaIBQAAAAAGsAQEAAAABrQEBAAAAAa4BIAAAAAEBCAAACQAgCYEBAgAAAAGCAQEAAAABiAEBAAAAAYwBQAAAAAGNAUAAAAABogFAAAAAAawBAQAAAAGtAQEAAAABrgEgAAAAAQEIAAALADABCAAACwAwCYEBAgDoAQAhggEBAOkBACGIAQEA6QEAIYwBQADqAQAhjQFAAOoBACGiAUAApAIAIawBAQDnAQAhrQEBAOcBACGuASAAowIAIQIAAAABACAIAAAOACAJgQECAOgBACGCAQEA6QEAIYgBAQDpAQAhjAFAAOoBACGNAUAA6gEAIaIBQACkAgAhrAEBAOcBACGtAQEA5wEAIa4BIACjAgAhAgAAAAQAIAgAABAAIAIAAAAEACAIAAAQACADAAAAAQAgDwAACQAgEAAADgAgAQAAAAEAIAEAAAAEACAIFQAAngIAIBYAAJ8CACAXAACiAgAgGAAAoQIAIBkAAKACACCCAQAA4QEAIIgBAADhAQAgogEAAOEBACAMfgAA1wEAMH8AABcAEIABAADXAQAwgQECALUBACGCAQEAtwEAIYgBAQC3AQAhjAFAALgBACGNAUAAuAEAIaIBQADZAQAhrAEBALYBACGtAQEAtgEAIa4BIADYAQAhAwAAAAQAIAMAABYAMBQAABcAIAMAAAAEACADAAAFADAEAAABACAKfgAA1gEAMH8AAB0AEIABAADWAQAwgQECAAAAAYwBQADHAQAhjQFAAMcBACGoAQEAxQEAIakBAQDFAQAhqgEBAMYBACGrAUAAxwEAIQEAAAAaACABAAAAGgAgCn4AANYBADB_AAAdABCAAQAA1gEAMIEBAgDEAQAhjAFAAMcBACGNAUAAxwEAIagBAQDFAQAhqQEBAMUBACGqAQEAxgEAIasBQADHAQAhAaoBAADhAQAgAwAAAB0AIAMAAB4AMAQAABoAIAMAAAAdACADAAAeADAEAAAaACADAAAAHQAgAwAAHgAwBAAAGgAgB4EBAgAAAAGMAUAAAAABjQFAAAAAAagBAQAAAAGpAQEAAAABqgEBAAAAAasBQAAAAAEBCAAAIgAgB4EBAgAAAAGMAUAAAAABjQFAAAAAAagBAQAAAAGpAQEAAAABqgEBAAAAAasBQAAAAAEBCAAAJAAwAQgAACQAMAeBAQIA6AEAIYwBQADqAQAhjQFAAOoBACGoAQEA5wEAIakBAQDnAQAhqgEBAOkBACGrAUAA6gEAIQIAAAAaACAIAAAnACAHgQECAOgBACGMAUAA6gEAIY0BQADqAQAhqAEBAOcBACGpAQEA5wEAIaoBAQDpAQAhqwFAAOoBACECAAAAHQAgCAAAKQAgAgAAAB0AIAgAACkAIAMAAAAaACAPAAAiACAQAAAnACABAAAAGgAgAQAAAB0AIAYVAACZAgAgFgAAmgIAIBcAAJ0CACAYAACcAgAgGQAAmwIAIKoBAADhAQAgCn4AANUBADB_AAAwABCAAQAA1QEAMIEBAgC1AQAhjAFAALgBACGNAUAAuAEAIagBAQC2AQAhqQEBALYBACGqAQEAtwEAIasBQAC4AQAhAwAAAB0AIAMAAC8AMBQAADAAIAMAAAAdACADAAAeADAEAAAaACAKCAAA1AEAIH4AANMBADB_AAA2ABCAAQAA0wEAMIEBAgAAAAGMAUAAxwEAIY0BQADHAQAhoAEBAMUBACGhAQEAxQEAIaIBQADHAQAhAQAAADMAIAEAAAAzACAKCAAA1AEAIH4AANMBADB_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_AAB_ABCAAQAAygEAMIEBAgC1AQAhggEBALYBACGMAUAAuAEAIY0BQAC4AQAhAwAAAE4AIAMAAH4AMBQAAH8AIAMAAABOACADAABPADAEAABQACAJfgAAyQEAMH8AAIUBABCAAQAAyQEAMIEBAQAAAAGGAQEAxQEAIZkBAQAAAAGaAUAAxwEAIZsBQADHAQAhnAEBAMYBACEBAAAAggEAIAEAAACCAQAgCX4AAMkBADB_AACFAQAQgAEAAMkBADCBAQEAxQEAIYYBAQDFAQAhmQEBAMUBACGaAUAAxwEAIZsBQADHAQAhnAEBAMYBACEBnAEAAOEBACADAAAAhQEAIAMAAIYBADAEAACCAQAgAwAAAIUBACADAACGAQAwBAAAggEAIAMAAACFAQAgAwAAhgEAMAQAAIIBACAGgQEBAAAAAYYBAQAAAAGZAQEAAAABmgFAAAAAAZsBQAAAAAGcAQEAAAABAQgAAIoBACAGgQEBAAAAAYYBAQAAAAGZAQEAAAABmgFAAAAAAZsBQAAAAAGcAQEAAAABAQgAAIwBADABCAAAjAEAMAaBAQEA5wEAIYYBAQDnAQAhmQEBAOcBACGaAUAA6gEAIZsBQADqAQAhnAEBAOkBACECAAAAggEAIAgAAI8BACAGgQEBAOcBACGGAQEA5wEAIZkBAQDnAQAhmgFAAOoBACGbAUAA6gEAIZwBAQDpAQAhAgAAAIUBACAIAACRAQAgAgAAAIUBACAIAACRAQAgAwAAAIIBACAPAACKAQAgEAAAjwEAIAEAAACCAQAgAQAAAIUBACAEFQAA6wEAIBgAAO0BACAZAADsAQAgnAEAAOEBACAJfgAAyAEAMH8AAJgBABCAAQAAyAEAMIEBAQC2AQAhhgEBALYBACGZAQEAtgEAIZoBQAC4AQAhmwFAALgBACGcAQEAtwEAIQMAAACFAQAgAwAAlwEAMBQAAJgBACADAAAAhQEAIAMAAIYBADAEAACCAQAgEH4AAMMBADB_AACeAQAQgAEAAMMBADCBAQIAAAABggEBAAAAAYMBAQDFAQAhhAEBAMUBACGFAQIAxAEAIYYBAQDFAQAhhwEBAMYBACGIAQEAxgEAIYkBAQDGAQAhigEBAMYBACGLAQEAxgEAIYwBQADHAQAhjQFAAMcBACEBAAAAmwEAIAEAAACbAQAgEH4AAMMBADB_AACeAQAQgAEAAMMBADCBAQIAxAEAIYIBAQDFAQAhgwEBAMUBACGEAQEAxQEAIYUBAgDEAQAhhgEBAMUBACGHAQEAxgEAIYgBAQDGAQAhiQEBAMYBACGKAQEAxgEAIYsBAQDGAQAhjAFAAMcBACGNAUAAxwEAIQWHAQAA4QEAIIgBAADhAQAgiQEAAOEBACCKAQAA4QEAIIsBAADhAQAgAwAAAJ4BACADAACfAQAwBAAAmwEAIAMAAACeAQAgAwAAnwEAMAQAAJsBACADAAAAngEAIAMAAJ8BADAEAACbAQAgDYEBAgAAAAGCAQEAAAABgwEBAAAAAYQBAQAAAAGFAQIAAAABhgEBAAAAAYcBAQAAAAGIAQEAAAABiQEBAAAAAYoBAQAAAAGLAQEAAAABjAFAAAAAAY0BQAAAAAEBCAAAowEAIA2BAQIAAAABggEBAAAAAYMBAQAAAAGEAQEAAAABhQECAAAAAYYBAQAAAAGHAQEAAAABiAEBAAAAAYkBAQAAAAGKAQEAAAABiwEBAAAAAYwBQAAAAAGNAUAAAAABAQgAAKUBADABCAAApQEAMA2BAQIA6AEAIYIBAQDnAQAhgwEBAOcBACGEAQEA5wEAIYUBAgDoAQAhhgEBAOcBACGHAQEA6QEAIYgBAQDpAQAhiQEBAOkBACGKAQEA6QEAIYsBAQDpAQAhjAFAAOoBACGNAUAA6gEAIQIAAACbAQAgCAAAqAEAIA2BAQIA6AEAIYIBAQDnAQAhgwEBAOcBACGEAQEA5wEAIYUBAgDoAQAhhgEBAOcBACGHAQEA6QEAIYgBAQDpAQAhiQEBAOkBACGKAQEA6QEAIYsBAQDpAQAhjAFAAOoBACGNAUAA6gEAIQIAAACeAQAgCAAAqgEAIAIAAACeAQAgCAAAqgEAIAMAAACbAQAgDwAAowEAIBAAAKgBACABAAAAmwEAIAEAAACeAQAgChUAAOIBACAWAADjAQAgFwAA5gEAIBgAAOUBACAZAADkAQAghwEAAOEBACCIAQAA4QEAIIkBAADhAQAgigEAAOEBACCLAQAA4QEAIBB-AAC0AQAwfwAAsQEAEIABAAC0AQAwgQECALUBACGCAQEAtgEAIYMBAQC2AQAhhAEBALYBACGFAQIAtQEAIYYBAQC2AQAhhwEBALcBACGIAQEAtwEAIYkBAQC3AQAhigEBALcBACGLAQEAtwEAIYwBQAC4AQAhjQFAALgBACEDAAAAngEAIAMAALABADAUAACxAQAgAwAAAJ4BACADAACfAQAwBAAAmwEAIBB-AAC0AQAwfwAAsQEAEIABAAC0AQAwgQECALUBACGCAQEAtgEAIYMBAQC2AQAhhAEBALYBACGFAQIAtQEAIYYBAQC2AQAhhwEBALcBACGIAQEAtwEAIYkBAQC3AQAhigEBALcBACGLAQEAtwEAIYwBQAC4AQAhjQFAALgBACENFQAAugEAIBYAAMIBACAXAAC6AQAgGAAAugEAIBkAALoBACCOAQIAAAABjwECAAAABJABAgAAAASRAQIAAAABkgECAAAAAZMBAgAAAAGUAQIAAAABlQECAMEBACEOFQAAugEAIBgAAMABACAZAADAAQAgjgEBAAAAAY8BAQAAAASQAQEAAAAEkQEBAAAAAZIBAQAAAAGTAQEAAAABlAEBAAAAAZUBAQC_AQAhlgEBAAAAAZcBAQAAAAGYAQEAAAABDhUAAL0BACAYAAC-AQAgGQAAvgEAII4BAQAAAAGPAQEAAAAFkAEBAAAABZEBAQAAAAGSAQEAAAABkwEBAAAAAZQBAQAAAAGVAQEAvAEAIZYBAQAAAAGXAQEAAAABmAEBAAAAAQsVAAC6AQAgGAAAuwEAIBkAALsBACCOAUAAAAABjwFAAAAABJABQAAAAASRAUAAAAABkgFAAAAAAZMBQAAAAAGUAUAAAAABlQFAALkBACELFQAAugEAIBgAALsBACAZAAC7AQAgjgFAAAAAAY8BQAAAAASQAUAAAAAEkQFAAAAAAZIBQAAAAAGTAUAAAAABlAFAAAAAAZUBQAC5AQAhCI4BAgAAAAGPAQIAAAAEkAECAAAABJEBAgAAAAGSAQIAAAABkwECAAAAAZQBAgAAAAGVAQIAugEAIQiOAUAAAAABjwFAAAAABJABQAAAAASRAUAAAAABkgFAAAAAAZMBQAAAAAGUAUAAAAABlQFAALsBACEOFQAAvQEAIBgAAL4BACAZAAC-AQAgjgEBAAAAAY8BAQAAAAWQAQEAAAAFkQEBAAAAAZIBAQAAAAGTAQEAAAABlAEBAAAAAZUBAQC8AQAhlgEBAAAAAZcBAQAAAAGYAQEAAAABCI4BAgAAAAGPAQIAAAAFkAECAAAABZEBAgAAAAGSAQIAAAABkwECAAAAAZQBAgAAAAGVAQIAvQEAIQuOAQEAAAABjwEBAAAABZABAQAAAAWRAQEAAAABkgEBAAAAAZMBAQAAAAGUAQEAAAABlQEBAL4BACGWAQEAAAABlwEBAAAAAZgBAQAAAAEOFQAAugEAIBgAAMABACAZAADAAQAgjgEBAAAAAY8BAQAAAASQAQEAAAAEkQEBAAAAAZIBAQAAAAGTAQEAAAABlAEBAAAAAZUBAQC_AQAhlgEBAAAAAZcBAQAAAAGYAQEAAAABC44BAQAAAAGPAQEAAAAEkAEBAAAABJEBAQAAAAGSAQEAAAABkwEBAAAAAZQBAQAAAAGVAQEAwAEAIZYBAQAAAAGXAQEAAAABmAEBAAAAAQ0VAAC6AQAgFgAAwgEAIBcAALoBACAYAAC6AQAgGQAAugEAII4BAgAAAAGPAQIAAAAEkAECAAAABJEBAgAAAAGSAQIAAAABkwECAAAAAZQBAgAAAAGVAQIAwQEAIQiOAQgAAAABjwEIAAAABJABCAAAAASRAQgAAAABkgEIAAAAAZMBCAAAAAGUAQgAAAABlQEIAMIBACEQfgAAwwEAMH8AAJ4BABCAAQAAwwEAMIEBAgDEAQAhggEBAMUBACGDAQEAxQEAIYQBAQDFAQAhhQECAMQBACGGAQEAxQEAIYcBAQDGAQAhiAEBAMYBACGJAQEAxgEAIYoBAQDGAQAhiwEBAMYBACGMAUAAxwEAIY0BQADHAQAhCI4BAgAAAAGPAQIAAAAEkAECAAAABJEBAgAAAAGSAQIAAAABkwECAAAAAZQBAgAAAAGVAQIAugEAIQuOAQEAAAABjwEBAAAABJABAQAAAASRAQEAAAABkgEBAAAAAZMBAQAAAAGUAQEAAAABlQEBAMABACGWAQEAAAABlwEBAAAAAZgBAQAAAAELjgEBAAAAAY8BAQAAAAWQAQEAAAAFkQEBAAAAAZIBAQAAAAGTAQEAAAABlAEBAAAAAZUBAQC-AQAhlgEBAAAAAZcBAQAAAAGYAQEAAAABCI4BQAAAAAGPAUAAAAAEkAFAAAAABJEBQAAAAAGSAUAAAAABkwFAAAAAAZQBQAAAAAGVAUAAuwEAIQl-AADIAQAwfwAAmAEAEIABAADIAQAwgQEBALYBACGGAQEAtgEAIZkBAQC2AQAhmgFAALgBACGbAUAAuAEAIZwBAQC3AQAhCX4AAMkBADB_AACFAQAQgAEAAMkBADCBAQEAxQEAIYYBAQDFAQAhmQEBAMUBACGaAUAAxwEAIZsBQADHAQAhnAEBAMYBACEHfgAAygEAMH8AAH8AEIABAADKAQAwgQECALUBACGCAQEAtgEAIYwBQAC4AQAhjQFAALgBACEHfgAAywEAMH8AAGkAEIABAADLAQAwgQECALUBACGCAQEAtgEAIYwBQAC4AQAhjQFAALgBACEIPQAAzQEAIH4AAMwBADB_AABSABCAAQAAzAEAMIEBAgDEAQAhggEBAMUBACGMAUAAxwEAIY0BQADHAQAhA50BAABOACCeAQAATgAgnwEAAE4AIAg8AADPAQAgfgAAzgEAMH8AAE4AEIABAADOAQAwgQECAMQBACGCAQEAxQEAIYwBQADHAQAhjQFAAMcBACEDnQEAAFIAIJ4BAABSACCfAQAAUgAgCggAANEBACB-AADQAQAwfwAASQAQgAEAANABADCBAQIAtQEAIYwBQAC4AQAhjQFAALgBACGgAQEAtgEAIaEBAQC2AQAhogFAALgBACEKFQAAugEAIBgAANIBACAZAADSAQAgjgGAAAAAAZUBgAAAAAGjAQEAAAABpAEBAAAAAaUBAQAAAAGmAYAAAAABpwGAAAAAAQeOAYAAAAABlQGAAAAAAaMBAQAAAAGkAQEAAAABpQEBAAAAAaYBgAAAAAGnAYAAAAABCggAANQBACB-AADTAQAwfwAANgAQgAEAANMBADCBAQIAxAEAIYwBQADHAQAhjQFAAMcBACGgAQEAxQEAIaEBAQDFAQAhogFAAMcBACEHjgGAAAAAAZUBgAAAAAGjAQEAAAABpAEBAAAAAaUBAQAAAAGmAYAAAAABpwGAAAAAAQp-AADVAQAwfwAAMAAQgAEAANUBADCBAQIAtQEAIYwBQAC4AQAhjQFAALgBACGoAQEAtgEAIakBAQC2AQAhqgEBALcBACGrAUAAuAEAIQp-AADWAQAwfwAAHQAQgAEAANYBADCBAQIAxAEAIYwBQADHAQAhjQFAAMcBACGoAQEAxQEAIakBAQDFAQAhqgEBAMYBACGrAUAAxwEAIQx-AADXAQAwfwAAFwAQgAEAANcBADCBAQIAtQEAIYIBAQC3AQAhiAEBALcBACGMAUAAuAEAIY0BQAC4AQAhogFAANkBACGsAQEAtgEAIa0BAQC2AQAhrgEgANgBACEFFQAAugEAIBgAAN0BACAZAADdAQAgjgEgAAAAAZUBIADcAQAhCxUAAL0BACAYAADbAQAgGQAA2wEAII4BQAAAAAGPAUAAAAAFkAFAAAAABZEBQAAAAAGSAUAAAAABkwFAAAAAAZQBQAAAAAGVAUAA2gEAIQsVAAC9AQAgGAAA2wEAIBkAANsBACCOAUAAAAABjwFAAAAABZABQAAAAAWRAUAAAAABkgFAAAAAAZMBQAAAAAGUAUAAAAABlQFAANoBACEIjgFAAAAAAY8BQAAAAAWQAUAAAAAFkQFAAAAAAZIBQAAAAAGTAUAAAAABlAFAAAAAAZUBQADbAQAhBRUAALoBACAYAADdAQAgGQAA3QEAII4BIAAAAAGVASAA3AEAIQKOASAAAAABlQEgAN0BACEMfgAA3gEAMH8AAAQAEIABAADeAQAwgQECAMQBACGCAQEAxgEAIYgBAQDGAQAhjAFAAMcBACGNAUAAxwEAIaIBQADgAQAhrAEBAMUBACGtAQEAxQEAIa4BIADfAQAhAo4BIAAAAAGVASAA3QEAIQiOAUAAAAABjwFAAAAABZABQAAAAAWRAUAAAAABkgFAAAAAAZMBQAAAAAGUAUAAAAABlQFAANsBACEAAAAAAAABsQEBAAAAAQWxAQIAAAABtwECAAAAAbgBAgAAAAG5AQIAAAABugECAAAAAQGxAQEAAAABAbEBQAAAAAEAAAAAAAAAAAoPAAD0AQAwEAAA-AEAMK8BAAD1AQAwsAEAAPYBADCxAQAA9wEAMLIBAAD3AQAwswEAAPcBADC0AQAA9wEAMLUBAAD5AQAwtgEAAPoBADAEgQECAAAAAYIBAQAAAAGMAUAAAAABjQFAAAAAAQIAAABMACAPAAD-AQAgAwAAAEwAIA8AAP4BACAQAAD9AQAgCD0AAM0BACB-AADMAQAwfwAAUgAQgAEAAMwBADCBAQIAAAABggEBAAAAAYwBQADHAQAhjQFAAMcBACECAAAATAAgCAAA_QEAIAIAAAD7AQAgCAAA_AEAIAd-AAD6AQAwfwAA-wEAEIABAAD6AQAwgQECAMQBACGCAQEAxQEAIYwBQADHAQAhjQFAAMcBACEHfgAA-gEAMH8AAPsBABCAAQAA-gEAMIEBAgDEAQAhggEBAMUBACGMAUAAxwEAIY0BQADHAQAhBIEBAgDoAQAhggEBAOcBACGMAUAA6gEAIY0BQADqAQAhBIEBAgDoAQAhggEBAOcBACGMAUAA6gEAIY0BQADqAQAhBIEBAgAAAAGCAQEAAAABjAFAAAAAAY0BQAAAAAEDDwAA9AEAMK8BAAD1AQAwtAEAAPcBADAAAAAAAAoPAACGAgAwEAAAigIAMK8BAACHAgAwsAEAAIgCADCxAQAAiQIAMLIBAACJAgAwswEAAIkCADC0AQAAiQIAMLUBAACLAgAwtgEAAIwCADAEgQECAAAAAYIBAQAAAAGMAUAAAAABjQFAAAAAAQIAAABQACAPAACQAgAgAwAAAFAAIA8AAJACACAQAACPAgAgCDwAAM8BACB-AADOAQAwfwAATgAQgAEAAM4BADCBAQIAAAABggEBAAAAAYwBQADHAQAhjQFAAMcBACECAAAAUAAgCAAAjwIAIAIAAACNAgAgCAAAjgIAIAd-AACMAgAwfwAAjQIAEIABAACMAgAwgQECAMQBACGCAQEAxQEAIYwBQADHAQAhjQFAAMcBACEHfgAAjAIAMH8AAI0CABCAAQAAjAIAMIEBAgDEAQAhggEBAMUBACGMAUAAxwEAIY0BQADHAQAhBIEBAgDoAQAhggEBAOcBACGMAUAA6gEAIY0BQADqAQAhBIEBAgDoAQAhggEBAOcBACGMAUAA6gEAIY0BQADqAQAhBIEBAgAAAAGCAQEAAAABjAFAAAAAAY0BQAAAAAEDDwAAhgIAMK8BAACHAgAwtAEAAIkCADAAAAAAAAAAAAAAAAAAAAAAAAGxASAAAAABAbEBQAAAAAEAAAAABRUABhYABxcACBgACRkACgAAAAAABRUABhYABxcACBgACRkACgAAAAUVABAWABEXABIYABMZABQAAAAAAAUVABAWABEXABIYABMZABQAAAAFFQAaFgAbFwAcGAAdGQAeAAAAAAAFFQAaFgAbFwAcGAAdGQAeAhUAIz1RIQIVACI8VCABPFUAAT1WAAAABRUAJxYAKBcAKRgAKhkAKwAAAAAABRUAJxYAKBcAKRgAKhkAKwAABRUAMBYAMRcAMhgAMxkANAAAAAAABRUAMBYAMRcAMhgAMxkANAAAAAMVADoYADsZADwAAAADFQA6GAA7GQA8AAAABRUAQhYAQxcARBgARRkARgAAAAAABRUAQhYAQxcARBgARRkARgECAQIDAQUGAQYHAQcIAQkKAQoMAgsNAwwPAQ0RAg4SBBETARIUARMVAhoYBRsZCxwbDB0cDB4fDB8gDCAhDCEjDCIlAiMmDSQoDCUqAiYrDicsDCgtDCkuAioxDysyFSw0Fi01Fi44Fi85FjA6FjE8FjI-AjM_FzRBFjVDAjZEGDdFFjhGFjlHAjpKGTtLHz5NID9XIEBYIEFZIEJaIENcIEReAkVfJEZhIEdjAkhkJUllIEpmIEtnAkxqJk1rLE5sIU9tIVBuIVFvIVJwIVNyIVR0AlV1LVZ3IVd5Alh6Lll7IVp8IVt9AlyAAS9dgQE1XoMBNl-EATZghwE2YYgBNmKJATZjiwE2ZI0BAmWOATdmkAE2Z5IBAmiTAThplAE2apUBNmuWAQJsmQE5bZoBPW6cAT5vnQE-cKABPnGhAT5yogE-c6QBPnSmAQJ1pwE_dqkBPnerAQJ4rAFAea0BPnquAT57rwECfLIBQX2zAUc"
67
+ strings: JSON.parse("[\"where\",\"ApiKey.findUnique\",\"ApiKey.findUniqueOrThrow\",\"orderBy\",\"cursor\",\"ApiKey.findFirst\",\"ApiKey.findFirstOrThrow\",\"ApiKey.findMany\",\"data\",\"ApiKey.createOne\",\"ApiKey.createMany\",\"ApiKey.createManyAndReturn\",\"ApiKey.updateOne\",\"ApiKey.updateMany\",\"ApiKey.updateManyAndReturn\",\"create\",\"update\",\"ApiKey.upsertOne\",\"ApiKey.deleteOne\",\"ApiKey.deleteMany\",\"having\",\"_count\",\"_avg\",\"_sum\",\"_min\",\"_max\",\"ApiKey.groupBy\",\"ApiKey.aggregate\",\"ConnectedAccount.findUnique\",\"ConnectedAccount.findUniqueOrThrow\",\"ConnectedAccount.findFirst\",\"ConnectedAccount.findFirstOrThrow\",\"ConnectedAccount.findMany\",\"ConnectedAccount.createOne\",\"ConnectedAccount.createMany\",\"ConnectedAccount.createManyAndReturn\",\"ConnectedAccount.updateOne\",\"ConnectedAccount.updateMany\",\"ConnectedAccount.updateManyAndReturn\",\"ConnectedAccount.upsertOne\",\"ConnectedAccount.deleteOne\",\"ConnectedAccount.deleteMany\",\"ConnectedAccount.groupBy\",\"ConnectedAccount.aggregate\",\"OneTimeToken.findUnique\",\"OneTimeToken.findUniqueOrThrow\",\"OneTimeToken.findFirst\",\"OneTimeToken.findFirstOrThrow\",\"OneTimeToken.findMany\",\"OneTimeToken.createOne\",\"OneTimeToken.createMany\",\"OneTimeToken.createManyAndReturn\",\"OneTimeToken.updateOne\",\"OneTimeToken.updateMany\",\"OneTimeToken.updateManyAndReturn\",\"OneTimeToken.upsertOne\",\"OneTimeToken.deleteOne\",\"OneTimeToken.deleteMany\",\"OneTimeToken.groupBy\",\"OneTimeToken.aggregate\",\"permissions\",\"roles\",\"Permission.findUnique\",\"Permission.findUniqueOrThrow\",\"Permission.findFirst\",\"Permission.findFirstOrThrow\",\"Permission.findMany\",\"Permission.createOne\",\"Permission.createMany\",\"Permission.createManyAndReturn\",\"Permission.updateOne\",\"Permission.updateMany\",\"Permission.updateManyAndReturn\",\"Permission.upsertOne\",\"Permission.deleteOne\",\"Permission.deleteMany\",\"Permission.groupBy\",\"Permission.aggregate\",\"Role.findUnique\",\"Role.findUniqueOrThrow\",\"Role.findFirst\",\"Role.findFirstOrThrow\",\"Role.findMany\",\"Role.createOne\",\"Role.createMany\",\"Role.createManyAndReturn\",\"Role.updateOne\",\"Role.updateMany\",\"Role.updateManyAndReturn\",\"Role.upsertOne\",\"Role.deleteOne\",\"Role.deleteMany\",\"Role.groupBy\",\"Role.aggregate\",\"Seeder.findUnique\",\"Seeder.findUniqueOrThrow\",\"Seeder.findFirst\",\"Seeder.findFirstOrThrow\",\"Seeder.findMany\",\"Seeder.createOne\",\"Seeder.createMany\",\"Seeder.createManyAndReturn\",\"Seeder.updateOne\",\"Seeder.updateMany\",\"Seeder.updateManyAndReturn\",\"Seeder.upsertOne\",\"Seeder.deleteOne\",\"Seeder.deleteMany\",\"Seeder.groupBy\",\"Seeder.aggregate\",\"File.findUnique\",\"File.findUniqueOrThrow\",\"File.findFirst\",\"File.findFirstOrThrow\",\"File.findMany\",\"File.createOne\",\"File.createMany\",\"File.createManyAndReturn\",\"File.updateOne\",\"File.updateMany\",\"File.updateManyAndReturn\",\"File.upsertOne\",\"File.deleteOne\",\"File.deleteMany\",\"File.groupBy\",\"File.aggregate\",\"AND\",\"OR\",\"NOT\",\"id\",\"name\",\"originalName\",\"mimeType\",\"sizeBytes\",\"checksum\",\"title\",\"description\",\"resourceField\",\"resourceName\",\"resourceId\",\"updatedAt\",\"createdAt\",\"deletedAt\",\"equals\",\"in\",\"notIn\",\"lt\",\"lte\",\"gt\",\"gte\",\"not\",\"contains\",\"startsWith\",\"endsWith\",\"seederName\",\"startedAt\",\"finishedAt\",\"logs\",\"every\",\"some\",\"none\",\"tokenHash\",\"purpose\",\"expiresAt\",\"string_contains\",\"string_starts_with\",\"string_ends_with\",\"array_starts_with\",\"array_ends_with\",\"provider\",\"providerAccountId\",\"scope\",\"lastLoginAt\",\"provider_providerAccountId\",\"key\",\"keyHash\",\"enabled\",\"connectOrCreate\",\"upsert\",\"set\",\"disconnect\",\"delete\",\"connect\",\"updateMany\",\"deleteMany\",\"increment\",\"decrement\",\"multiply\",\"divide\"]"),
68
+ graph: "pQJHcAx-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_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-AQAgFgAAxQEAIBcAAL4BACAYAAC-AQAgGQAAvgEAII8BAgAAAAGQAQIAAAAEkQECAAAABJIBAgAAAAGTAQIAAAABlAECAAAAAZUBAgAAAAGWAQIAxAEAIQ4VAAC-AQAgGAAAwwEAIBkAAMMBACCPAQEAAAABkAEBAAAABJEBAQAAAASSAQEAAAABkwEBAAAAAZQBAQAAAAGVAQEAAAABlgEBAMIBACGXAQEAAAABmAEBAAAAAZkBAQAAAAEOFQAAuwEAIBgAAMEBACAZAADBAQAgjwEBAAAAAZABAQAAAAWRAQEAAAAFkgEBAAAAAZMBAQAAAAGUAQEAAAABlQEBAAAAAZYBAQDAAQAhlwEBAAAAAZgBAQAAAAGZAQEAAAABCxUAAL4BACAYAAC_AQAgGQAAvwEAII8BQAAAAAGQAUAAAAAEkQFAAAAABJIBQAAAAAGTAUAAAAABlAFAAAAAAZUBQAAAAAGWAUAAvQEAIQsVAAC7AQAgGAAAvAEAIBkAALwBACCPAUAAAAABkAFAAAAABZEBQAAAAAWSAUAAAAABkwFAAAAAAZQBQAAAAAGVAUAAAAABlgFAALoBACELFQAAuwEAIBgAALwBACAZAAC8AQAgjwFAAAAAAZABQAAAAAWRAUAAAAAFkgFAAAAAAZMBQAAAAAGUAUAAAAABlQFAAAAAAZYBQAC6AQAhCI8BAgAAAAGQAQIAAAAFkQECAAAABZIBAgAAAAGTAQIAAAABlAECAAAAAZUBAgAAAAGWAQIAuwEAIQiPAUAAAAABkAFAAAAABZEBQAAAAAWSAUAAAAABkwFAAAAAAZQBQAAAAAGVAUAAAAABlgFAALwBACELFQAAvgEAIBgAAL8BACAZAAC_AQAgjwFAAAAAAZABQAAAAASRAUAAAAAEkgFAAAAAAZMBQAAAAAGUAUAAAAABlQFAAAAAAZYBQAC9AQAhCI8BAgAAAAGQAQIAAAAEkQECAAAABJIBAgAAAAGTAQIAAAABlAECAAAAAZUBAgAAAAGWAQIAvgEAIQiPAUAAAAABkAFAAAAABJEBQAAAAASSAUAAAAABkwFAAAAAAZQBQAAAAAGVAUAAAAABlgFAAL8BACEOFQAAuwEAIBgAAMEBACAZAADBAQAgjwEBAAAAAZABAQAAAAWRAQEAAAAFkgEBAAAAAZMBAQAAAAGUAQEAAAABlQEBAAAAAZYBAQDAAQAhlwEBAAAAAZgBAQAAAAGZAQEAAAABC48BAQAAAAGQAQEAAAAFkQEBAAAABZIBAQAAAAGTAQEAAAABlAEBAAAAAZUBAQAAAAGWAQEAwQEAIZcBAQAAAAGYAQEAAAABmQEBAAAAAQ4VAAC-AQAgGAAAwwEAIBkAAMMBACCPAQEAAAABkAEBAAAABJEBAQAAAASSAQEAAAABkwEBAAAAAZQBAQAAAAGVAQEAAAABlgEBAMIBACGXAQEAAAABmAEBAAAAAZkBAQAAAAELjwEBAAAAAZABAQAAAASRAQEAAAAEkgEBAAAAAZMBAQAAAAGUAQEAAAABlQEBAAAAAZYBAQDDAQAhlwEBAAAAAZgBAQAAAAGZAQEAAAABDRUAAL4BACAWAADFAQAgFwAAvgEAIBgAAL4BACAZAAC-AQAgjwECAAAAAZABAgAAAASRAQIAAAAEkgECAAAAAZMBAgAAAAGUAQIAAAABlQECAAAAAZYBAgDEAQAhCI8BCAAAAAGQAQgAAAAEkQEIAAAABJIBCAAAAAGTAQgAAAABlAEIAAAAAZUBCAAAAAGWAQgAxQEAIRF-AADGAQAwfwAAngEAEIABAADGAQAwgQECAMcBACGCAQEAyAEAIYMBAQDIAQAhhAEBAMgBACGFAQIAxwEAIYYBAQDIAQAhhwEBAMkBACGIAQEAyQEAIYkBAQDJAQAhigEBAMkBACGLAQEAyQEAIYwBQADKAQAhjQFAAMoBACGOAUAAywEAIQiPAQIAAAABkAECAAAABJEBAgAAAASSAQIAAAABkwECAAAAAZQBAgAAAAGVAQIAAAABlgECAL4BACELjwEBAAAAAZABAQAAAASRAQEAAAAEkgEBAAAAAZMBAQAAAAGUAQEAAAABlQEBAAAAAZYBAQDDAQAhlwEBAAAAAZgBAQAAAAGZAQEAAAABC48BAQAAAAGQAQEAAAAFkQEBAAAABZIBAQAAAAGTAQEAAAABlAEBAAAAAZUBAQAAAAGWAQEAwQEAIZcBAQAAAAGYAQEAAAABmQEBAAAAAQiPAUAAAAABkAFAAAAABJEBQAAAAASSAUAAAAABkwFAAAAAAZQBQAAAAAGVAUAAAAABlgFAAL8BACEIjwFAAAAAAZABQAAAAAWRAUAAAAAFkgFAAAAAAZMBQAAAAAGUAUAAAAABlQFAAAAAAZYBQAC8AQAhCX4AAMwBADB_AACYAQAQgAEAAMwBADCBAQEAtgEAIYYBAQC2AQAhmgEBALYBACGbAUAAuAEAIZwBQAC4AQAhnQEBALcBACEJfgAAzQEAMH8AAIUBABCAAQAAzQEAMIEBAQDIAQAhhgEBAMgBACGaAQEAyAEAIZsBQADKAQAhnAFAAMoBACGdAQEAyQEAIQd-AADOAQAwfwAAfwAQgAEAAM4BADCBAQIAtQEAIYIBAQC2AQAhjAFAALgBACGNAUAAuAEAIQd-AADPAQAwfwAAaQAQgAEAAM8BADCBAQIAtQEAIYIBAQC2AQAhjAFAALgBACGNAUAAuAEAIQg9AADRAQAgfgAA0AEAMH8AAFIAEIABAADQAQAwgQECAMcBACGCAQEAyAEAIYwBQADKAQAhjQFAAMoBACEDngEAAE4AIJ8BAABOACCgAQAATgAgCDwAANMBACB-AADSAQAwfwAATgAQgAEAANIBADCBAQIAxwEAIYIBAQDIAQAhjAFAAMoBACGNAUAAygEAIQOeAQAAUgAgnwEAAFIAIKABAABSACAKCAAA1QEAIH4AANQBADB_AABJABCAAQAA1AEAMIEBAgC1AQAhjAFAALgBACGNAUAAuAEAIaEBAQC2AQAhogEBALYBACGjAUAAuAEAIQoVAAC-AQAgGAAA1gEAIBkAANYBACCPAYAAAAABlgGAAAAAAaQBAQAAAAGlAQEAAAABpgEBAAAAAacBgAAAAAGoAYAAAAABB48BgAAAAAGWAYAAAAABpAEBAAAAAaUBAQAAAAGmAQEAAAABpwGAAAAAAagBgAAAAAEKCAAA2AEAIH4AANcBADB_AAA2ABCAAQAA1wEAMIEBAgDHAQAhjAFAAMoBACGNAUAAygEAIaEBAQDIAQAhogEBAMgBACGjAUAAygEAIQePAYAAAAABlgGAAAAAAaQBAQAAAAGlAQEAAAABpgEBAAAAAacBgAAAAAGoAYAAAAABCn4AANkBADB_AAAwABCAAQAA2QEAMIEBAgC1AQAhjAFAALgBACGNAUAAuAEAIakBAQC2AQAhqgEBALYBACGrAQEAtwEAIawBQAC4AQAhCn4AANoBADB_AAAdABCAAQAA2gEAMIEBAgDHAQAhjAFAAMoBACGNAUAAygEAIakBAQDIAQAhqgEBAMgBACGrAQEAyQEAIawBQADKAQAhAqkBAQAAAAGqAQEAAAABDH4AANwBADB_AAAXABCAAQAA3AEAMIEBAgC1AQAhggEBALcBACGIAQEAtwEAIYwBQAC4AQAhjQFAALgBACGjAUAAuQEAIa4BAQC2AQAhrwEBALYBACGwASAA3QEAIQUVAAC-AQAgGAAA3wEAIBkAAN8BACCPASAAAAABlgEgAN4BACEFFQAAvgEAIBgAAN8BACAZAADfAQAgjwEgAAAAAZYBIADeAQAhAo8BIAAAAAGWASAA3wEAIQx-AADgAQAwfwAABAAQgAEAAOABADCBAQIAxwEAIYIBAQDJAQAhiAEBAMkBACGMAUAAygEAIY0BQADKAQAhowFAAMsBACGuAQEAyAEAIa8BAQDIAQAhsAEgAOEBACECjwEgAAAAAZYBIADfAQAhAAAAAAAAAbMBAQAAAAEFswECAAAAAbkBAgAAAAG6AQIAAAABuwECAAAAAbwBAgAAAAEBswEBAAAAAQGzAUAAAAABAbMBQAAAAAEAAAAAAAAAAAoPAAD2AQAwEAAA-gEAMLEBAAD3AQAwsgEAAPgBADCzAQAA-QEAMLQBAAD5AQAwtQEAAPkBADC2AQAA-QEAMLcBAAD7AQAwuAEAAPwBADAEgQECAAAAAYIBAQAAAAGMAUAAAAABjQFAAAAAAQIAAABMACAPAACAAgAgAwAAAEwAIA8AAIACACAQAAD_AQAgCD0AANEBACB-AADQAQAwfwAAUgAQgAEAANABADCBAQIAAAABggEBAAAAAYwBQADKAQAhjQFAAMoBACECAAAATAAgCAAA_wEAIAIAAAD9AQAgCAAA_gEAIAd-AAD8AQAwfwAA_QEAEIABAAD8AQAwgQECAMcBACGCAQEAyAEAIYwBQADKAQAhjQFAAMoBACEHfgAA_AEAMH8AAP0BABCAAQAA_AEAMIEBAgDHAQAhggEBAMgBACGMAUAAygEAIY0BQADKAQAhBIEBAgDpAQAhggEBAOgBACGMAUAA6wEAIY0BQADrAQAhBIEBAgDpAQAhggEBAOgBACGMAUAA6wEAIY0BQADrAQAhBIEBAgAAAAGCAQEAAAABjAFAAAAAAY0BQAAAAAEDDwAA9gEAMLEBAAD3AQAwtgEAAPkBADAAAAAAAAoPAACIAgAwEAAAjAIAMLEBAACJAgAwsgEAAIoCADCzAQAAiwIAMLQBAACLAgAwtQEAAIsCADC2AQAAiwIAMLcBAACNAgAwuAEAAI4CADAEgQECAAAAAYIBAQAAAAGMAUAAAAABjQFAAAAAAQIAAABQACAPAACSAgAgAwAAAFAAIA8AAJICACAQAACRAgAgCDwAANMBACB-AADSAQAwfwAATgAQgAEAANIBADCBAQIAAAABggEBAAAAAYwBQADKAQAhjQFAAMoBACECAAAAUAAgCAAAkQIAIAIAAACPAgAgCAAAkAIAIAd-AACOAgAwfwAAjwIAEIABAACOAgAwgQECAMcBACGCAQEAyAEAIYwBQADKAQAhjQFAAMoBACEHfgAAjgIAMH8AAI8CABCAAQAAjgIAMIEBAgDHAQAhggEBAMgBACGMAUAAygEAIY0BQADKAQAhBIEBAgDpAQAhggEBAOgBACGMAUAA6wEAIY0BQADrAQAhBIEBAgDpAQAhggEBAOgBACGMAUAA6wEAIY0BQADrAQAhBIEBAgAAAAGCAQEAAAABjAFAAAAAAY0BQAAAAAEDDwAAiAIAMLEBAACJAgAwtgEAAIsCADAAAAAAAAAAAAAAAAAAAAAAAAGzASAAAAABAAAAAAUVAAYWAAcXAAgYAAkZAAoAAAAAAAUVAAYWAAcXAAgYAAkZAAoAAAAFFQAQFgARFwASGAATGQAUAAAAAAAFFQAQFgARFwASGAATGQAUAAAABRUAGhYAGxcAHBgAHRkAHgAAAAAABRUAGhYAGxcAHBgAHRkAHgIVACM9USECFQAiPFQgATxVAAE9VgAAAAUVACcWACgXACkYACoZACsAAAAAAAUVACcWACgXACkYACoZACsAAAUVADAWADEXADIYADMZADQAAAAAAAUVADAWADEXADIYADMZADQAAAADFQA6GAA7GQA8AAAAAxUAOhgAOxkAPAAAAAUVAEIWAEMXAEQYAEUZAEYAAAAAAAUVAEIWAEMXAEQYAEUZAEYBAgECAwEFBgEGBwEHCAEJCgEKDAILDQMMDwENEQIOEgQREwESFAETFQIaGAUbGQscGwwdHAweHwwfIAwgIQwhIwwiJQIjJg0kKAwlKgImKw4nLAwoLQwpLgIqMQ8rMhUsNBYtNRYuOBYvORYwOhYxPBYyPgIzPxc0QRY1QwI2RBg3RRY4RhY5RwI6Shk7Sx8-TSA_VyBAWCBBWSBCWiBDXCBEXgJFXyRGYSBHYwJIZCVJZSBKZiBLZwJMaiZNayxObCFPbSFQbiFRbyFScCFTciFUdAJVdS1WdyFXeQJYei5ZeyFafCFbfQJcgAEvXYEBNV6DATZfhAE2YIcBNmGIATZiiQE2Y4sBNmSNAQJljgE3ZpABNmeSAQJokwE4aZQBNmqVATZrlgECbJkBOW2aAT1unAE-b50BPnCgAT5xoQE-cqIBPnOkAT50pgECdacBP3apAT53qwECeKwBQHmtAT56rgE-e68BAnyyAUF9swFH"
69
69
  };
70
70
  async function decodeBase64AsWasm(wasmBase64) {
71
71
  const { Buffer } = await Promise.resolve().then(() => __importStar(require('node:buffer')));
@@ -885,6 +885,7 @@ export declare const FileScalarFieldEnum: {
885
885
  readonly resourceId: "resourceId";
886
886
  readonly updatedAt: "updatedAt";
887
887
  readonly createdAt: "createdAt";
888
+ readonly deletedAt: "deletedAt";
888
889
  };
889
890
  export type FileScalarFieldEnum = (typeof FileScalarFieldEnum)[keyof typeof FileScalarFieldEnum];
890
891
  export declare const SortOrder: {
@@ -179,7 +179,8 @@ exports.FileScalarFieldEnum = {
179
179
  resourceName: 'resourceName',
180
180
  resourceId: 'resourceId',
181
181
  updatedAt: 'updatedAt',
182
- createdAt: 'createdAt'
182
+ createdAt: 'createdAt',
183
+ deletedAt: 'deletedAt'
183
184
  };
184
185
  exports.SortOrder = {
185
186
  asc: 'asc',
@@ -108,6 +108,7 @@ export declare const FileScalarFieldEnum: {
108
108
  readonly resourceId: "resourceId";
109
109
  readonly updatedAt: "updatedAt";
110
110
  readonly createdAt: "createdAt";
111
+ readonly deletedAt: "deletedAt";
111
112
  };
112
113
  export type FileScalarFieldEnum = (typeof FileScalarFieldEnum)[keyof typeof FileScalarFieldEnum];
113
114
  export declare const SortOrder: {
@@ -151,7 +151,8 @@ exports.FileScalarFieldEnum = {
151
151
  resourceName: 'resourceName',
152
152
  resourceId: 'resourceId',
153
153
  updatedAt: 'updatedAt',
154
- createdAt: 'createdAt'
154
+ createdAt: 'createdAt',
155
+ deletedAt: 'deletedAt'
155
156
  };
156
157
  exports.SortOrder = {
157
158
  asc: 'asc',
@@ -196,6 +196,7 @@ export type ConnectedAccountOrderByWithRelationInput = {
196
196
  };
197
197
  export type ConnectedAccountWhereUniqueInput = Prisma.AtLeast<{
198
198
  id?: number;
199
+ provider_providerAccountId?: Prisma.ConnectedAccountProviderProviderAccountIdCompoundUniqueInput;
199
200
  AND?: Prisma.ConnectedAccountWhereInput | Prisma.ConnectedAccountWhereInput[];
200
201
  OR?: Prisma.ConnectedAccountWhereInput[];
201
202
  NOT?: Prisma.ConnectedAccountWhereInput | Prisma.ConnectedAccountWhereInput[];
@@ -205,7 +206,7 @@ export type ConnectedAccountWhereUniqueInput = Prisma.AtLeast<{
205
206
  lastLoginAt?: Prisma.DateTimeFilter<"ConnectedAccount"> | Date | string;
206
207
  updatedAt?: Prisma.DateTimeFilter<"ConnectedAccount"> | Date | string;
207
208
  createdAt?: Prisma.DateTimeFilter<"ConnectedAccount"> | Date | string;
208
- }, "id">;
209
+ }, "id" | "provider_providerAccountId">;
209
210
  export type ConnectedAccountOrderByWithAggregationInput = {
210
211
  id?: Prisma.SortOrder;
211
212
  provider?: Prisma.SortOrder;
@@ -292,6 +293,10 @@ export type ConnectedAccountUncheckedUpdateManyInput = {
292
293
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
293
294
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
294
295
  };
296
+ export type ConnectedAccountProviderProviderAccountIdCompoundUniqueInput = {
297
+ provider: string;
298
+ providerAccountId: string;
299
+ };
295
300
  export type ConnectedAccountCountOrderByAggregateInput = {
296
301
  id?: Prisma.SortOrder;
297
302
  provider?: Prisma.SortOrder;
@@ -34,6 +34,7 @@ export type FileMinAggregateOutputType = {
34
34
  resourceId: string | null;
35
35
  updatedAt: Date | null;
36
36
  createdAt: Date | null;
37
+ deletedAt: Date | null;
37
38
  };
38
39
  export type FileMaxAggregateOutputType = {
39
40
  id: number | null;
@@ -49,6 +50,7 @@ export type FileMaxAggregateOutputType = {
49
50
  resourceId: string | null;
50
51
  updatedAt: Date | null;
51
52
  createdAt: Date | null;
53
+ deletedAt: Date | null;
52
54
  };
53
55
  export type FileCountAggregateOutputType = {
54
56
  id: number;
@@ -64,6 +66,7 @@ export type FileCountAggregateOutputType = {
64
66
  resourceId: number;
65
67
  updatedAt: number;
66
68
  createdAt: number;
69
+ deletedAt: number;
67
70
  _all: number;
68
71
  };
69
72
  export type FileAvgAggregateInputType = {
@@ -88,6 +91,7 @@ export type FileMinAggregateInputType = {
88
91
  resourceId?: true;
89
92
  updatedAt?: true;
90
93
  createdAt?: true;
94
+ deletedAt?: true;
91
95
  };
92
96
  export type FileMaxAggregateInputType = {
93
97
  id?: true;
@@ -103,6 +107,7 @@ export type FileMaxAggregateInputType = {
103
107
  resourceId?: true;
104
108
  updatedAt?: true;
105
109
  createdAt?: true;
110
+ deletedAt?: true;
106
111
  };
107
112
  export type FileCountAggregateInputType = {
108
113
  id?: true;
@@ -118,6 +123,7 @@ export type FileCountAggregateInputType = {
118
123
  resourceId?: true;
119
124
  updatedAt?: true;
120
125
  createdAt?: true;
126
+ deletedAt?: true;
121
127
  _all?: true;
122
128
  };
123
129
  export type FileAggregateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
@@ -210,6 +216,7 @@ export type FileGroupByOutputType = {
210
216
  resourceId: string | null;
211
217
  updatedAt: Date;
212
218
  createdAt: Date;
219
+ deletedAt: Date | null;
213
220
  _count: FileCountAggregateOutputType | null;
214
221
  _avg: FileAvgAggregateOutputType | null;
215
222
  _sum: FileSumAggregateOutputType | null;
@@ -236,6 +243,7 @@ export type FileWhereInput = {
236
243
  resourceId?: Prisma.StringNullableFilter<"File"> | string | null;
237
244
  updatedAt?: Prisma.DateTimeFilter<"File"> | Date | string;
238
245
  createdAt?: Prisma.DateTimeFilter<"File"> | Date | string;
246
+ deletedAt?: Prisma.DateTimeNullableFilter<"File"> | Date | string | null;
239
247
  };
240
248
  export type FileOrderByWithRelationInput = {
241
249
  id?: Prisma.SortOrder;
@@ -251,6 +259,7 @@ export type FileOrderByWithRelationInput = {
251
259
  resourceId?: Prisma.SortOrderInput | Prisma.SortOrder;
252
260
  updatedAt?: Prisma.SortOrder;
253
261
  createdAt?: Prisma.SortOrder;
262
+ deletedAt?: Prisma.SortOrderInput | Prisma.SortOrder;
254
263
  };
255
264
  export type FileWhereUniqueInput = Prisma.AtLeast<{
256
265
  id?: number;
@@ -269,6 +278,7 @@ export type FileWhereUniqueInput = Prisma.AtLeast<{
269
278
  resourceId?: Prisma.StringNullableFilter<"File"> | string | null;
270
279
  updatedAt?: Prisma.DateTimeFilter<"File"> | Date | string;
271
280
  createdAt?: Prisma.DateTimeFilter<"File"> | Date | string;
281
+ deletedAt?: Prisma.DateTimeNullableFilter<"File"> | Date | string | null;
272
282
  }, "id" | "name">;
273
283
  export type FileOrderByWithAggregationInput = {
274
284
  id?: Prisma.SortOrder;
@@ -284,6 +294,7 @@ export type FileOrderByWithAggregationInput = {
284
294
  resourceId?: Prisma.SortOrderInput | Prisma.SortOrder;
285
295
  updatedAt?: Prisma.SortOrder;
286
296
  createdAt?: Prisma.SortOrder;
297
+ deletedAt?: Prisma.SortOrderInput | Prisma.SortOrder;
287
298
  _count?: Prisma.FileCountOrderByAggregateInput;
288
299
  _avg?: Prisma.FileAvgOrderByAggregateInput;
289
300
  _max?: Prisma.FileMaxOrderByAggregateInput;
@@ -307,6 +318,7 @@ export type FileScalarWhereWithAggregatesInput = {
307
318
  resourceId?: Prisma.StringNullableWithAggregatesFilter<"File"> | string | null;
308
319
  updatedAt?: Prisma.DateTimeWithAggregatesFilter<"File"> | Date | string;
309
320
  createdAt?: Prisma.DateTimeWithAggregatesFilter<"File"> | Date | string;
321
+ deletedAt?: Prisma.DateTimeNullableWithAggregatesFilter<"File"> | Date | string | null;
310
322
  };
311
323
  export type FileCreateInput = {
312
324
  name: string;
@@ -321,6 +333,7 @@ export type FileCreateInput = {
321
333
  resourceId?: string | null;
322
334
  updatedAt?: Date | string;
323
335
  createdAt?: Date | string;
336
+ deletedAt?: Date | string | null;
324
337
  };
325
338
  export type FileUncheckedCreateInput = {
326
339
  id?: number;
@@ -336,6 +349,7 @@ export type FileUncheckedCreateInput = {
336
349
  resourceId?: string | null;
337
350
  updatedAt?: Date | string;
338
351
  createdAt?: Date | string;
352
+ deletedAt?: Date | string | null;
339
353
  };
340
354
  export type FileUpdateInput = {
341
355
  name?: Prisma.StringFieldUpdateOperationsInput | string;
@@ -350,6 +364,7 @@ export type FileUpdateInput = {
350
364
  resourceId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
351
365
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
352
366
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
367
+ deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
353
368
  };
354
369
  export type FileUncheckedUpdateInput = {
355
370
  id?: Prisma.IntFieldUpdateOperationsInput | number;
@@ -365,6 +380,7 @@ export type FileUncheckedUpdateInput = {
365
380
  resourceId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
366
381
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
367
382
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
383
+ deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
368
384
  };
369
385
  export type FileCreateManyInput = {
370
386
  id?: number;
@@ -380,6 +396,7 @@ export type FileCreateManyInput = {
380
396
  resourceId?: string | null;
381
397
  updatedAt?: Date | string;
382
398
  createdAt?: Date | string;
399
+ deletedAt?: Date | string | null;
383
400
  };
384
401
  export type FileUpdateManyMutationInput = {
385
402
  name?: Prisma.StringFieldUpdateOperationsInput | string;
@@ -394,6 +411,7 @@ export type FileUpdateManyMutationInput = {
394
411
  resourceId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
395
412
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
396
413
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
414
+ deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
397
415
  };
398
416
  export type FileUncheckedUpdateManyInput = {
399
417
  id?: Prisma.IntFieldUpdateOperationsInput | number;
@@ -409,6 +427,7 @@ export type FileUncheckedUpdateManyInput = {
409
427
  resourceId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
410
428
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
411
429
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
430
+ deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
412
431
  };
413
432
  export type FileCountOrderByAggregateInput = {
414
433
  id?: Prisma.SortOrder;
@@ -424,6 +443,7 @@ export type FileCountOrderByAggregateInput = {
424
443
  resourceId?: Prisma.SortOrder;
425
444
  updatedAt?: Prisma.SortOrder;
426
445
  createdAt?: Prisma.SortOrder;
446
+ deletedAt?: Prisma.SortOrder;
427
447
  };
428
448
  export type FileAvgOrderByAggregateInput = {
429
449
  id?: Prisma.SortOrder;
@@ -443,6 +463,7 @@ export type FileMaxOrderByAggregateInput = {
443
463
  resourceId?: Prisma.SortOrder;
444
464
  updatedAt?: Prisma.SortOrder;
445
465
  createdAt?: Prisma.SortOrder;
466
+ deletedAt?: Prisma.SortOrder;
446
467
  };
447
468
  export type FileMinOrderByAggregateInput = {
448
469
  id?: Prisma.SortOrder;
@@ -458,6 +479,7 @@ export type FileMinOrderByAggregateInput = {
458
479
  resourceId?: Prisma.SortOrder;
459
480
  updatedAt?: Prisma.SortOrder;
460
481
  createdAt?: Prisma.SortOrder;
482
+ deletedAt?: Prisma.SortOrder;
461
483
  };
462
484
  export type FileSumOrderByAggregateInput = {
463
485
  id?: Prisma.SortOrder;
@@ -477,6 +499,7 @@ export type FileSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = r
477
499
  resourceId?: boolean;
478
500
  updatedAt?: boolean;
479
501
  createdAt?: boolean;
502
+ deletedAt?: boolean;
480
503
  }, ExtArgs["result"]["file"]>;
481
504
  export type FileSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
482
505
  id?: boolean;
@@ -492,6 +515,7 @@ export type FileSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensio
492
515
  resourceId?: boolean;
493
516
  updatedAt?: boolean;
494
517
  createdAt?: boolean;
518
+ deletedAt?: boolean;
495
519
  }, ExtArgs["result"]["file"]>;
496
520
  export type FileSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
497
521
  id?: boolean;
@@ -507,6 +531,7 @@ export type FileSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensio
507
531
  resourceId?: boolean;
508
532
  updatedAt?: boolean;
509
533
  createdAt?: boolean;
534
+ deletedAt?: boolean;
510
535
  }, ExtArgs["result"]["file"]>;
511
536
  export type FileSelectScalar = {
512
537
  id?: boolean;
@@ -522,8 +547,9 @@ export type FileSelectScalar = {
522
547
  resourceId?: boolean;
523
548
  updatedAt?: boolean;
524
549
  createdAt?: boolean;
550
+ deletedAt?: boolean;
525
551
  };
526
- export type FileOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "name" | "originalName" | "mimeType" | "sizeBytes" | "checksum" | "title" | "description" | "resourceField" | "resourceName" | "resourceId" | "updatedAt" | "createdAt", ExtArgs["result"]["file"]>;
552
+ export type FileOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "name" | "originalName" | "mimeType" | "sizeBytes" | "checksum" | "title" | "description" | "resourceField" | "resourceName" | "resourceId" | "updatedAt" | "createdAt" | "deletedAt", ExtArgs["result"]["file"]>;
527
553
  export type $FilePayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
528
554
  name: "File";
529
555
  objects: {};
@@ -544,6 +570,7 @@ export type $FilePayload<ExtArgs extends runtime.Types.Extensions.InternalArgs =
544
570
  */
545
571
  updatedAt: Date;
546
572
  createdAt: Date;
573
+ deletedAt: Date | null;
547
574
  }, ExtArgs["result"]["file"]>;
548
575
  composites: {};
549
576
  };
@@ -911,6 +938,7 @@ export interface FileFieldRefs {
911
938
  readonly resourceId: Prisma.FieldRef<"File", 'String'>;
912
939
  readonly updatedAt: Prisma.FieldRef<"File", 'DateTime'>;
913
940
  readonly createdAt: Prisma.FieldRef<"File", 'DateTime'>;
941
+ readonly deletedAt: Prisma.FieldRef<"File", 'DateTime'>;
914
942
  }
915
943
  /**
916
944
  * File findUnique
@@ -60,6 +60,9 @@ async function loadModels(baseDir, modelPattern) {
60
60
  // Reject file name patterns writing into a reserved storage path before any
61
61
  // upload can reach the storage layer.
62
62
  (0, utils_1.validateFileNamePatterns)(models);
63
+ // Reject a cascade from a soft deleted model into one that removes its
64
+ // records, since the database cascade never runs on a soft delete
65
+ (0, utils_1.validateSoftDeleteCascades)(models);
63
66
  // Map model variants to schemas using their corresponding suffixes
64
67
  const resourceModels = {};
65
68
  for (const model of Object.values(models)) {
@@ -123,7 +123,6 @@ function resourceRoutes(name, routesConfig = {}) {
123
123
  config: deleteConfig
124
124
  }, async (request, reply) => {
125
125
  const response = await service.delete(request.params.id);
126
- await (0, context_1.inject)(storage_1.FileService).deleteResourceFiles(name, request.params.id);
127
126
  return reply.send(response);
128
127
  });
129
128
  }
@@ -129,9 +129,9 @@ export declare abstract class ResourceService<ReadOne = Resource, ReadMany = Res
129
129
  * the read restrictions applied and checked for access, then updated with the
130
130
  * data merged with the write restrictions inside a single transaction.
131
131
  * Relations missing from the new value are disconnected, or deleted when
132
- * `orphanRemoval` is configured for them. The resource cache is invalidated
133
- * and a resource event carrying both the previous and the current state is
134
- * emitted after a successful update.
132
+ * `orphanRemoval` is configured for them, the same way a delete does. The resource cache is invalidated and a
133
+ * resource event carrying both the previous and the current state is emitted
134
+ * after a successful update.
135
135
  *
136
136
  * @param {ResourceId} id The id of the resource to update.
137
137
  * @param {Object} data The partial data to update the resource with, including
@@ -141,21 +141,31 @@ export declare abstract class ResourceService<ReadOne = Resource, ReadMany = Res
141
141
  * @throws {@link HttpError} 404 if the resource does not exist or is filtered
142
142
  * out by the read restrictions, 403 if the access check denies the action, 400
143
143
  * if an inline relation payload is missing required fields or the relation
144
- * does not accept new records, and 500 on a database error.
144
+ * does not accept new records, 409 if a live record references a soft
145
+ * deleted orphan through a restricting relation, and 500 on a database error.
145
146
  */
146
147
  update(id: ResourceId, data: Update): Promise<ReadOne>;
147
148
  /**
148
149
  * Deletes an existing resource by its id. The current record is loaded with
149
150
  * the read restrictions applied and checked for access before it is deleted
150
- * inside a single transaction. The resource cache is invalidated and a
151
- * resource event is emitted after a successful delete.
151
+ * inside a single transaction.
152
+ *
153
+ * A model with `softDelete` enabled marks the record with the `deletedAt`
154
+ * and `deletedById` columns instead, soft deleting its cascade as well.
155
+ *
156
+ * The stored files of the deleted records follow the `onResourceDeleted`, or
157
+ * for soft deleted records the `onResourceSoftDeleted`, option of each file
158
+ * field: kept files are marked deleted in the transaction and no longer
159
+ * served, the others are removed once it commits. The cache of every affected
160
+ * model is invalidated and a resource event is emitted.
152
161
  *
153
162
  * @param {ResourceId} id The id of the resource to delete.
154
163
  * @returns {Promise<Object>} The deleted resource with its virtual fields and
155
164
  * relation counts projected.
156
165
  * @throws {@link HttpError} 404 if the resource does not exist or is filtered
157
- * out by the read restrictions, 403 if the access check denies the action, and
158
- * 500 on a database error.
166
+ * out by the read restrictions, 403 if the access check denies it, 409 if a
167
+ * restricting relation still references a soft deleted resource, and 500 on a
168
+ * database error, a restricting relation of a removed resource included.
159
169
  */
160
170
  delete(id: ResourceId): Promise<ReadOne>;
161
171
  /**
@@ -252,6 +262,23 @@ export declare abstract class ResourceService<ReadOne = Resource, ReadMany = Res
252
262
  * and the `_count` property removed.
253
263
  */
254
264
  private projectResource;
265
+ /**
266
+ * Lists the conditions hiding the soft deleted resources from a query. It is
267
+ * empty for a model that deletes its records, so its query and the cursors
268
+ * bound to it stay the same.
269
+ *
270
+ * @returns {Object[]} The `deletedAt: null` condition, or no condition.
271
+ */
272
+ private liveFilters;
273
+ /**
274
+ * Cleans up after records were deleted, once the deleting transaction
275
+ * commits: removes the stored files their fields do not keep, since the
276
+ * storage cannot take part in the transaction, and invalidates the cache of
277
+ * every model they belong to.
278
+ *
279
+ * @param {DeletedRecords} deleted The soft deleted and the removed records.
280
+ */
281
+ private cleanupDeletedRecords;
255
282
  /**
256
283
  * Prepares a write payload for the database by removing the virtual fields
257
284
  * that have no column, filling in default values for the hidden required