@igstack/app-catalog-backend-core 0.1.1-alpha-20260304152616 → 0.3.0

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.
Files changed (39) hide show
  1. package/dist/index.d.ts +11318 -1052
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +4930 -1466
  4. package/dist/index.js.map +1 -1
  5. package/package.json +10 -7
  6. package/prisma/schema.prisma +2 -2
  7. package/prisma.config.ts +13 -0
  8. package/src/db/client.ts +20 -2
  9. package/src/db/prisma.ts +3 -0
  10. package/src/db/syncAppCatalog.ts +1 -1
  11. package/src/db/tableSyncMagazine.ts +1 -1
  12. package/src/db/tableSyncPrismaAdapter.ts +2 -3
  13. package/src/generated/prisma/browser.ts +59 -0
  14. package/src/generated/prisma/client.ts +83 -0
  15. package/src/generated/prisma/commonInputTypes.ts +658 -0
  16. package/src/generated/prisma/enums.ts +26 -0
  17. package/src/generated/prisma/internal/class.ts +274 -0
  18. package/src/generated/prisma/internal/prismaNamespace.ts +1506 -0
  19. package/src/generated/prisma/internal/prismaNamespaceBrowser.ts +250 -0
  20. package/src/generated/prisma/models/DbAppForCatalog.ts +1490 -0
  21. package/src/generated/prisma/models/DbAppTagDefinition.ts +1199 -0
  22. package/src/generated/prisma/models/DbApprovalMethod.ts +1181 -0
  23. package/src/generated/prisma/models/DbAsset.ts +1394 -0
  24. package/src/generated/prisma/models/account.ts +1632 -0
  25. package/src/generated/prisma/models/session.ts +1447 -0
  26. package/src/generated/prisma/models/user.ts +1562 -0
  27. package/src/generated/prisma/models/verification.ts +1180 -0
  28. package/src/generated/prisma/models.ts +19 -0
  29. package/src/generated/prisma/pjtg.ts +183 -0
  30. package/src/index.ts +0 -27
  31. package/src/middleware/database.ts +13 -2
  32. package/src/middleware/featureRegistry.ts +0 -38
  33. package/src/modules/assets/upsertAsset.ts +1 -1
  34. package/src/server/controller.ts +0 -16
  35. package/src/modules/appCatalogAdmin/appCatalogAdminRouter.ts +0 -187
  36. package/src/modules/appCatalogAdmin/catalogBackupController.ts +0 -213
  37. package/src/modules/approvalMethod/approvalMethodRouter.ts +0 -169
  38. package/src/modules/approvalMethod/slugUtils.ts +0 -17
  39. package/src/modules/approvalMethod/syncApprovalMethods.ts +0 -38
@@ -0,0 +1,26 @@
1
+
2
+ /* !!! This is code generated by Prisma. Do not edit directly. !!! */
3
+ /* eslint-disable */
4
+ // biome-ignore-all lint: generated file
5
+ // @ts-nocheck
6
+ /*
7
+ * This file exports all enum related types from the schema.
8
+ *
9
+ * 🟢 You can import this file directly.
10
+ */
11
+
12
+ export const ApprovalMethodType = {
13
+ service: 'service',
14
+ personTeam: 'personTeam',
15
+ custom: 'custom'
16
+ } as const
17
+
18
+ export type ApprovalMethodType = (typeof ApprovalMethodType)[keyof typeof ApprovalMethodType]
19
+
20
+
21
+ export const AssetType = {
22
+ icon: 'icon',
23
+ screenshot: 'screenshot'
24
+ } as const
25
+
26
+ export type AssetType = (typeof AssetType)[keyof typeof AssetType]
@@ -0,0 +1,274 @@
1
+
2
+ /* !!! This is code generated by Prisma. Do not edit directly. !!! */
3
+ /* eslint-disable */
4
+ // biome-ignore-all lint: generated file
5
+ // @ts-nocheck
6
+ /*
7
+ * WARNING: This is an internal file that is subject to change!
8
+ *
9
+ * 🛑 Under no circumstances should you import this file directly! 🛑
10
+ *
11
+ * Please import the `PrismaClient` class from the `client.ts` file instead.
12
+ */
13
+
14
+ import * as runtime from "@prisma/client/runtime/client"
15
+ import type * as Prisma from "./prismaNamespace"
16
+
17
+
18
+ const config: runtime.GetPrismaClientConfig = {
19
+ "previewFeatures": [],
20
+ "clientVersion": "7.4.2",
21
+ "engineVersion": "94a226be1cf2967af2541cca5529f0f7ba866919",
22
+ "activeProvider": "postgresql",
23
+ "inlineSchema": "// Prisma schema for backend-core library\n// Uses AC_CORE_DATABASE_URL environment variable\n\ndatasource db {\n provider = \"postgresql\"\n}\n\ngenerator client {\n provider = \"prisma-client\"\n output = \"../src/generated/prisma\"\n}\n\ngenerator json {\n provider = \"prisma-json-types-generator\"\n}\n\n// ========== Better Auth Models ==========\nmodel user {\n id String @id\n name String?\n email String? @unique\n emailVerified Boolean @default(false)\n image String?\n role String @default(\"user\") // 'user' | 'admin'\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n accounts account[]\n sessions session[]\n}\n\nmodel session {\n id String @id\n token String @unique\n userId String\n user user @relation(fields: [userId], references: [id], onDelete: Cascade)\n expiresAt DateTime\n ipAddress String?\n userAgent String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel account {\n id String @id\n userId String\n user user @relation(fields: [userId], references: [id], onDelete: Cascade)\n accountId String\n providerId String\n refreshToken String?\n accessToken String?\n accessTokenExpiresAt DateTime?\n refreshTokenExpiresAt DateTime?\n idToken String?\n scope String?\n password String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([providerId, accountId])\n}\n\nmodel verification {\n id String @id\n identifier String\n value String\n expiresAt DateTime\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([identifier, value])\n}\n\n// ========== EnvHopper Models ==========\n\nenum ApprovalMethodType {\n service\n personTeam\n custom\n}\n\nmodel DbApprovalMethod {\n slug String @id\n type ApprovalMethodType\n displayName String\n /// [ApprovalMethodConfig] - Type-specific configuration\n config Json?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([type, displayName])\n}\n\nmodel DbAppForCatalog {\n id String @id @default(cuid())\n slug String @unique // URL-friendly identifier for navigation\n displayName String\n description String\n /// [AccessMethod]\n access Json?\n teams String[] @default([])\n /// [AppAccessRequest] - Per-app approval configuration linking to ApprovalMethod\n accessRequest Json?\n notes String?\n tags String[] @default([])\n appUrl String?\n /// [AppLink[]]\n links Json? // Array of {displayName?: string, url: string}\n iconName String? // Optional icon identifier matching DbAsset.name\n screenshotIds String[] @default([]) // Ordered array of DbAsset IDs\n /// [AppDeprecation] - Deprecation info with optional replacement slug\n deprecated Json?\n sources String[] @default([]) // Array of source URLs (Confluence pages, docs, etc.)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([displayName])\n @@index([slug])\n @@index([tags])\n}\n\nmodel DbAppTagDefinition {\n id String @id @default(cuid())\n prefix String @unique\n displayName String\n description String\n /// [GroupingTagValue[]]\n values Json\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nenum AssetType {\n icon\n screenshot\n}\n\nmodel DbAsset {\n id String @id @default(cuid())\n name String @unique // Name with extension (e.g., \"jira.svg\", \"github.png\")\n assetType AssetType @default(icon)\n content Bytes // Binary storage for all asset types (SVG, PNG, etc)\n checksum String // SHA-256 of content for deduplication\n mimeType String // e.g., \"image/svg+xml\", \"image/png\", \"image/jpeg\"\n fileSize Int // Size in bytes\n width Int? // Image width in pixels\n height Int? // Image height in pixels\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([name])\n @@index([assetType])\n}\n",
24
+ "runtimeDataModel": {
25
+ "models": {},
26
+ "enums": {},
27
+ "types": {}
28
+ },
29
+ "parameterizationSchema": {
30
+ "strings": [],
31
+ "graph": ""
32
+ }
33
+ }
34
+
35
+ config.runtimeDataModel = JSON.parse("{\"models\":{\"user\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"emailVerified\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"image\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"accounts\",\"kind\":\"object\",\"type\":\"account\",\"relationName\":\"accountTouser\"},{\"name\":\"sessions\",\"kind\":\"object\",\"type\":\"session\",\"relationName\":\"sessionTouser\"}],\"dbName\":null},\"session\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"user\",\"relationName\":\"sessionTouser\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"ipAddress\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userAgent\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"account\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"user\",\"relationName\":\"accountTouser\"},{\"name\":\"accountId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"providerId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refreshToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"accessToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"accessTokenExpiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"refreshTokenExpiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"idToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scope\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"verification\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"identifier\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"DbApprovalMethod\":{\"fields\":[{\"name\":\"slug\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"type\",\"kind\":\"enum\",\"type\":\"ApprovalMethodType\"},{\"name\":\"displayName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"config\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"DbAppForCatalog\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"slug\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"displayName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"access\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"teams\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"accessRequest\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"notes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tags\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"appUrl\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"links\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"iconName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"screenshotIds\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"deprecated\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"sources\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"DbAppTagDefinition\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"prefix\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"displayName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"values\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"DbAsset\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assetType\",\"kind\":\"enum\",\"type\":\"AssetType\"},{\"name\":\"content\",\"kind\":\"scalar\",\"type\":\"Bytes\"},{\"name\":\"checksum\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mimeType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fileSize\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"width\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"height\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}")
36
+ config.parameterizationSchema = {
37
+ strings: JSON.parse("[\"where\",\"orderBy\",\"cursor\",\"user\",\"accounts\",\"sessions\",\"_count\",\"user.findUnique\",\"user.findUniqueOrThrow\",\"user.findFirst\",\"user.findFirstOrThrow\",\"user.findMany\",\"data\",\"user.createOne\",\"user.createMany\",\"user.createManyAndReturn\",\"user.updateOne\",\"user.updateMany\",\"user.updateManyAndReturn\",\"create\",\"update\",\"user.upsertOne\",\"user.deleteOne\",\"user.deleteMany\",\"having\",\"_min\",\"_max\",\"user.groupBy\",\"user.aggregate\",\"session.findUnique\",\"session.findUniqueOrThrow\",\"session.findFirst\",\"session.findFirstOrThrow\",\"session.findMany\",\"session.createOne\",\"session.createMany\",\"session.createManyAndReturn\",\"session.updateOne\",\"session.updateMany\",\"session.updateManyAndReturn\",\"session.upsertOne\",\"session.deleteOne\",\"session.deleteMany\",\"session.groupBy\",\"session.aggregate\",\"account.findUnique\",\"account.findUniqueOrThrow\",\"account.findFirst\",\"account.findFirstOrThrow\",\"account.findMany\",\"account.createOne\",\"account.createMany\",\"account.createManyAndReturn\",\"account.updateOne\",\"account.updateMany\",\"account.updateManyAndReturn\",\"account.upsertOne\",\"account.deleteOne\",\"account.deleteMany\",\"account.groupBy\",\"account.aggregate\",\"verification.findUnique\",\"verification.findUniqueOrThrow\",\"verification.findFirst\",\"verification.findFirstOrThrow\",\"verification.findMany\",\"verification.createOne\",\"verification.createMany\",\"verification.createManyAndReturn\",\"verification.updateOne\",\"verification.updateMany\",\"verification.updateManyAndReturn\",\"verification.upsertOne\",\"verification.deleteOne\",\"verification.deleteMany\",\"verification.groupBy\",\"verification.aggregate\",\"DbApprovalMethod.findUnique\",\"DbApprovalMethod.findUniqueOrThrow\",\"DbApprovalMethod.findFirst\",\"DbApprovalMethod.findFirstOrThrow\",\"DbApprovalMethod.findMany\",\"DbApprovalMethod.createOne\",\"DbApprovalMethod.createMany\",\"DbApprovalMethod.createManyAndReturn\",\"DbApprovalMethod.updateOne\",\"DbApprovalMethod.updateMany\",\"DbApprovalMethod.updateManyAndReturn\",\"DbApprovalMethod.upsertOne\",\"DbApprovalMethod.deleteOne\",\"DbApprovalMethod.deleteMany\",\"DbApprovalMethod.groupBy\",\"DbApprovalMethod.aggregate\",\"DbAppForCatalog.findUnique\",\"DbAppForCatalog.findUniqueOrThrow\",\"DbAppForCatalog.findFirst\",\"DbAppForCatalog.findFirstOrThrow\",\"DbAppForCatalog.findMany\",\"DbAppForCatalog.createOne\",\"DbAppForCatalog.createMany\",\"DbAppForCatalog.createManyAndReturn\",\"DbAppForCatalog.updateOne\",\"DbAppForCatalog.updateMany\",\"DbAppForCatalog.updateManyAndReturn\",\"DbAppForCatalog.upsertOne\",\"DbAppForCatalog.deleteOne\",\"DbAppForCatalog.deleteMany\",\"DbAppForCatalog.groupBy\",\"DbAppForCatalog.aggregate\",\"DbAppTagDefinition.findUnique\",\"DbAppTagDefinition.findUniqueOrThrow\",\"DbAppTagDefinition.findFirst\",\"DbAppTagDefinition.findFirstOrThrow\",\"DbAppTagDefinition.findMany\",\"DbAppTagDefinition.createOne\",\"DbAppTagDefinition.createMany\",\"DbAppTagDefinition.createManyAndReturn\",\"DbAppTagDefinition.updateOne\",\"DbAppTagDefinition.updateMany\",\"DbAppTagDefinition.updateManyAndReturn\",\"DbAppTagDefinition.upsertOne\",\"DbAppTagDefinition.deleteOne\",\"DbAppTagDefinition.deleteMany\",\"DbAppTagDefinition.groupBy\",\"DbAppTagDefinition.aggregate\",\"DbAsset.findUnique\",\"DbAsset.findUniqueOrThrow\",\"DbAsset.findFirst\",\"DbAsset.findFirstOrThrow\",\"DbAsset.findMany\",\"DbAsset.createOne\",\"DbAsset.createMany\",\"DbAsset.createManyAndReturn\",\"DbAsset.updateOne\",\"DbAsset.updateMany\",\"DbAsset.updateManyAndReturn\",\"DbAsset.upsertOne\",\"DbAsset.deleteOne\",\"DbAsset.deleteMany\",\"_avg\",\"_sum\",\"DbAsset.groupBy\",\"DbAsset.aggregate\",\"AND\",\"OR\",\"NOT\",\"id\",\"name\",\"AssetType\",\"assetType\",\"content\",\"checksum\",\"mimeType\",\"fileSize\",\"width\",\"height\",\"createdAt\",\"updatedAt\",\"equals\",\"in\",\"notIn\",\"lt\",\"lte\",\"gt\",\"gte\",\"not\",\"contains\",\"startsWith\",\"endsWith\",\"prefix\",\"displayName\",\"description\",\"values\",\"string_contains\",\"string_starts_with\",\"string_ends_with\",\"array_starts_with\",\"array_ends_with\",\"array_contains\",\"slug\",\"access\",\"teams\",\"accessRequest\",\"notes\",\"tags\",\"appUrl\",\"links\",\"iconName\",\"screenshotIds\",\"deprecated\",\"sources\",\"has\",\"hasEvery\",\"hasSome\",\"ApprovalMethodType\",\"type\",\"config\",\"type_displayName\",\"identifier\",\"value\",\"expiresAt\",\"identifier_value\",\"userId\",\"accountId\",\"providerId\",\"refreshToken\",\"accessToken\",\"accessTokenExpiresAt\",\"refreshTokenExpiresAt\",\"idToken\",\"scope\",\"password\",\"token\",\"ipAddress\",\"userAgent\",\"email\",\"emailVerified\",\"image\",\"role\",\"every\",\"some\",\"none\",\"providerId_accountId\",\"is\",\"isNot\",\"connectOrCreate\",\"upsert\",\"createMany\",\"set\",\"disconnect\",\"delete\",\"connect\",\"updateMany\",\"deleteMany\",\"push\",\"increment\",\"decrement\",\"multiply\",\"divide\"]"),
38
+ graph: "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_AgAgkgEBAJoCACGcAUAAnwIAIZ0BQACfAgAhyAFAAJ8CACHKAQEAmgIAIdQBAQCaAgAh1QEBAKcCACHWAQEApwIAIQIAAAAJACAMAAAuACAIkgEBAJoCACGcAUAAnwIAIZ0BQACfAgAhyAFAAJ8CACHKAQEAmgIAIdQBAQCaAgAh1QEBAKcCACHWAQEApwIAIQIAAAAHACAMAAAwACACAAAABwAgDAAAMAAgAwAAAAkAIBMAACkAIBQAAC4AIAEAAAAJACABAAAABwAgBQYAALwCACAZAAC-AgAgGgAAvQIAINUBAACUAgAg1gEAAJQCACALjwEAAIYCADCQAQAANwAQkQEAAIYCADCSAQEAzgEAIZwBQADTAQAhnQFAANMBACHIAUAA0wEAIcoBAQDOAQAh1AEBAM4BACHVAQEA8QEAIdYBAQDxAQAhAwAAAAcAIAEAADYAMBgAADcAIAMAAAAHACABAAAIADACAAAJACABAAAABQAgAQAAAAUAIAMAAAADACABAAAEADACAAAFACADAAAAAwAgAQAABAAwAgAABQAgAwAAAAMAIAEAAAQAMAIAAAUAIA4DAAC7AgAgkgEBAAAAAZwBQAAAAAGdAUAAAAABygEBAAAAAcsBAQAAAAHMAQEAAAABzQEBAAAAAc4BAQAAAAHPAUAAAAAB0AFAAAAAAdEBAQAAAAHSAQEAAAAB0wEBAAAAAQEMAAA_ACANkgEBAAAAAZwBQAAAAAGdAUAAAAABygEBAAAAAcsBAQAAAAHMAQEAAAABzQEBAAAAAc4BAQAAAAHPAUAAAAAB0AFAAAAAAdEBAQAAAAHSAQEAAAAB0wEBAAAAAQEMAABBADABDAAAQQAwDgMAALoCACCSAQEAmgIAIZwBQACfAgAhnQFAAJ8CACHKAQEAmgIAIcsBAQCaAgAhzAEBAJoCACHNAQEApwIAIc4BAQCnAgAhzwFAALkCACHQAUAAuQIAIdEBAQCnAgAh0gEBAKcCACHTAQEApwIAIQIAAAAFACAMAABEACANkgEBAJoCACGcAUAAnwIAIZ0BQACfAgAhygEBAJoCACHLAQEAmgIAIcwBAQCaAgAhzQEBAKcCACHOAQEApwIAIc8BQAC5AgAh0AFAALkCACHRAQEApwIAIdIBAQCnAgAh0wEBAKcCACECAAAAAwAgDAAARgAgAgAAAAMAIAwAAEYAIAMAAAAFACATAAA_ACAUAABEACABAAAABQAgAQAAAAMAIAoGAAC2AgAgGQAAuAIAIBoAALcCACDNAQAAlAIAIM4BAACUAgAgzwEAAJQCACDQAQAAlAIAINEBAACUAgAg0gEAAJQCACDTAQAAlAIAIBCPAQAAggIAMJABAABNABCRAQAAggIAMJIBAQDOAQAhnAFAANMBACGdAUAA0wEAIcoBAQDOAQAhywEBAM4BACHMAQEAzgEAIc0BAQDxAQAhzgEBAPEBACHPAUAAgwIAIdABQACDAgAh0QEBAPEBACHSAQEA8QEAIdMBAQDxAQAhAwAAAAMAIAEAAEwAMBgAAE0AIAMAAAADACABAAAEADACAAAFACAKjwEAAIACADCQAQAAUwAQkQEAAIACADCSAQEAAAABnAFAAOgBACGdAUAA6AEAIcYBAQDjAQAhxwEBAOMBACHIAUAA6AEAIckBAACBAgAgAQAAAFAAIAEAAABQACAJjwEAAIACADCQAQAAUwAQkQEAAIACADCSAQEA4wEAIZwBQADoAQAhnQFAAOgBACHGAQEA4wEAIccBAQDjAQAhyAFAAOgBACEAAwAAAFMAIAEAAFQAMAIAAFAAIAMAAABTACABAABUADACAABQACADAAAAUwAgAQAAVAAwAgAAUAAgBpIBAQAAAAGcAUAAAAABnQFAAAAAAcYBAQAAAAHHAQEAAAAByAFAAAAAAQEMAABYACAGkgEBAAAAAZwBQAAAAAGdAUAAAAABxgEBAAAAAccBAQAAAAHIAUAAAAABAQwAAFoAMAEMAABaADAGkgEBAJoCACGcAUAAnwIAIZ0BQACfAgAhxgEBAJoCACHHAQEAmgIAIcgBQACfAgAhAgAAAFAAIAwAAF0AIAaSAQEAmgIAIZwBQACfAgAhnQFAAJ8CACHGAQEAmgIAIccBAQCaAgAhyAFAAJ8CACECAAAAUwAgDAAAXwAgAgAAAFMAIAwAAF8AIAMAAABQACATAABYACAUAABdACABAAAAUAAgAQAAAFMAIAMGAACzAgAgGQAAtQIAIBoAALQCACAJjwEAAP8BADCQAQAAZgAQkQEAAP8BADCSAQEAzgEAIZwBQADTAQAhnQFAANMBACHGAQEAzgEAIccBAQDOAQAhyAFAANMBACEDAAAAUwAgAQAAZQAwGAAAZgAgAwAAAFMAIAEAAFQAMAIAAFAAIAqPAQAA_AEAMJABAABsABCRAQAA_AEAMJwBQADoAQAhnQFAAOgBACGqAQEA4wEAIbMBAQAAAAHDAQAA_QHDASLEAQAA9gEAIMUBAAD-AQAgAQAAAGkAIAEAAABpACAJjwEAAPwBADCQAQAAbAAQkQEAAPwBADCcAUAA6AEAIZ0BQADoAQAhqgEBAOMBACGzAQEA4wEAIcMBAAD9AcMBIsQBAAD2AQAgAcQBAACUAgAgAwAAAGwAIAEAAG0AMAIAAGkAIAMAAABsACABAABtADACAABpACADAAAAbAAgAQAAbQAwAgAAaQAgBpwBQAAAAAGdAUAAAAABqgEBAAAAAbMBAQAAAAHDAQAAAMMBAsQBgAAAAAEBDAAAcQAgBpwBQAAAAAGdAUAAAAABqgEBAAAAAbMBAQAAAAHDAQAAAMMBAsQBgAAAAAEBDAAAcwAwAQwAAHMAMAacAUAAnwIAIZ0BQACfAgAhqgEBAJoCACGzAQEAmgIAIcMBAACyAsMBIsQBgAAAAAECAAAAaQAgDAAAdgAgBpwBQACfAgAhnQFAAJ8CACGqAQEAmgIAIbMBAQCaAgAhwwEAALICwwEixAGAAAAAAQIAAABsACAMAAB4ACACAAAAbAAgDAAAeAAgAwAAAGkAIBMAAHEAIBQAAHYAIAEAAABpACABAAAAbAAgBAYAAK8CACAZAACxAgAgGgAAsAIAIMQBAACUAgAgCY8BAAD4AQAwkAEAAH8AEJEBAAD4AQAwnAFAANMBACGdAUAA0wEAIaoBAQDOAQAhswEBAM4BACHDAQAA-QHDASLEAQAA7wEAIAMAAABsACABAAB-ADAYAAB_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-QHDASLEAQAA7wEAIAcGAADVAQAgGQAA-wEAIBoAAPsBACCeAQAAAMMBAp8BAAAAwwEIoAEAAADDAQilAQAA-gHDASIHBgAA1QEAIBkAAPsBACAaAAD7AQAgngEAAADDAQKfAQAAAMMBCKABAAAAwwEIpQEAAPoBwwEiBJ4BAAAAwwECnwEAAADDAQigAQAAAMMBCKUBAAD7AcMBIgmPAQAA_AEAMJABAABsABCRAQAA_AEAMJwBQADoAQAhnQFAAOgBACGqAQEA4wEAIbMBAQDjAQAhwwEAAP0BwwEixAEAAPYBACAEngEAAADDAQKfAQAAAMMBCKABAAAAwwEIpQEAAPsBwwEiAqoBAQAAAAHDAQAAAMMBAgmPAQAA_wEAMJABAABmABCRAQAA_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_GQBCGgBDiwEAQIwBAEEHAgEIDQEJEAEKEQELEgENFAEOFgUPFwYQGQERGwUSHAcVHQEWHgEXHwUbIggcIwwdJAMeJQMfJgMgJwMhKAMiKgMjLAUkLQ0lLwMmMQUnMg4oMwMpNAMqNQUrOA8sORMtOgIuOwIvPAIwPQIxPgIyQAIzQgU0QxQ1RQI2RwU3SBU4SQI5SgI6SwU7ThY8Txo9URs-Uhs_VRtAVhtBVxtCWRtDWwVEXBxFXhtGYAVHYR1IYhtJYxtKZAVLZx5MaCJNaiNOayNPbiNQbyNRcCNSciNTdAVUdSRVdyNWeQVXeiVYeyNZfCNafQVbgAEmXIEBKl2DAStehAErX4cBK2CIASthiQErYosBK2ONAQVkjgEsZZABK2aSAQVnkwEtaJQBK2mVAStqlgEFa5kBLmyaATJtnAEzbp0BM2-gATNwoQEzcaIBM3KkATNzpgEFdKcBNHWpATN2qwEFd6wBNXitATN5rgEzeq8BBXuyATZ8swE6fbUBO362ATt_uQE7gAG6ATuBAbsBO4IBvQE7gwG_AQWEAcABPIUBwgE7hgHEAQWHAcUBPYgBxgE7iQHHATuKAcgBBY0BywE-jgHMAUQ"
39
+ }
40
+
41
+ async function decodeBase64AsWasm(wasmBase64: string): Promise<WebAssembly.Module> {
42
+ const { Buffer } = await import('node:buffer')
43
+ const wasmArray = Buffer.from(wasmBase64, 'base64')
44
+ return new WebAssembly.Module(wasmArray)
45
+ }
46
+
47
+ config.compilerWasm = {
48
+ getRuntime: async () => await import("@prisma/client/runtime/query_compiler_fast_bg.postgresql.mjs"),
49
+
50
+ getQueryCompilerWasmModule: async () => {
51
+ const { wasm } = await import("@prisma/client/runtime/query_compiler_fast_bg.postgresql.wasm-base64.mjs")
52
+ return await decodeBase64AsWasm(wasm)
53
+ },
54
+
55
+ importName: "./query_compiler_fast_bg.js"
56
+ }
57
+
58
+
59
+
60
+ export type LogOptions<ClientOptions extends Prisma.PrismaClientOptions> =
61
+ 'log' extends keyof ClientOptions ? ClientOptions['log'] extends Array<Prisma.LogLevel | Prisma.LogDefinition> ? Prisma.GetEvents<ClientOptions['log']> : never : never
62
+
63
+ export interface PrismaClientConstructor {
64
+ /**
65
+ * ## Prisma Client
66
+ *
67
+ * Type-safe database client for TypeScript
68
+ * @example
69
+ * ```
70
+ * const prisma = new PrismaClient({
71
+ * adapter: new PrismaPg({ connectionString: process.env.DATABASE_URL })
72
+ * })
73
+ * // Fetch zero or more Users
74
+ * const users = await prisma.user.findMany()
75
+ * ```
76
+ *
77
+ * Read more in our [docs](https://pris.ly/d/client).
78
+ */
79
+
80
+ new <
81
+ Options extends Prisma.PrismaClientOptions = Prisma.PrismaClientOptions,
82
+ LogOpts extends LogOptions<Options> = LogOptions<Options>,
83
+ OmitOpts extends Prisma.PrismaClientOptions['omit'] = Options extends { omit: infer U } ? U : Prisma.PrismaClientOptions['omit'],
84
+ ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs
85
+ >(options: Prisma.Subset<Options, Prisma.PrismaClientOptions> ): PrismaClient<LogOpts, OmitOpts, ExtArgs>
86
+ }
87
+
88
+ /**
89
+ * ## Prisma Client
90
+ *
91
+ * Type-safe database client for TypeScript
92
+ * @example
93
+ * ```
94
+ * const prisma = new PrismaClient({
95
+ * adapter: new PrismaPg({ connectionString: process.env.DATABASE_URL })
96
+ * })
97
+ * // Fetch zero or more Users
98
+ * const users = await prisma.user.findMany()
99
+ * ```
100
+ *
101
+ * Read more in our [docs](https://pris.ly/d/client).
102
+ */
103
+
104
+ export interface PrismaClient<
105
+ in LogOpts extends Prisma.LogLevel = never,
106
+ in out OmitOpts extends Prisma.PrismaClientOptions['omit'] = undefined,
107
+ in out ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs
108
+ > {
109
+ [K: symbol]: { types: Prisma.TypeMap<ExtArgs>['other'] }
110
+
111
+ $on<V extends LogOpts>(eventType: V, callback: (event: V extends 'query' ? Prisma.QueryEvent : Prisma.LogEvent) => void): PrismaClient;
112
+
113
+ /**
114
+ * Connect with the database
115
+ */
116
+ $connect(): runtime.Types.Utils.JsPromise<void>;
117
+
118
+ /**
119
+ * Disconnect from the database
120
+ */
121
+ $disconnect(): runtime.Types.Utils.JsPromise<void>;
122
+
123
+ /**
124
+ * Executes a prepared raw query and returns the number of affected rows.
125
+ * @example
126
+ * ```
127
+ * const result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`
128
+ * ```
129
+ *
130
+ * Read more in our [docs](https://pris.ly/d/raw-queries).
131
+ */
132
+ $executeRaw<T = unknown>(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise<number>;
133
+
134
+ /**
135
+ * Executes a raw query and returns the number of affected rows.
136
+ * Susceptible to SQL injections, see documentation.
137
+ * @example
138
+ * ```
139
+ * const result = await prisma.$executeRawUnsafe('UPDATE User SET cool = $1 WHERE email = $2 ;', true, 'user@email.com')
140
+ * ```
141
+ *
142
+ * Read more in our [docs](https://pris.ly/d/raw-queries).
143
+ */
144
+ $executeRawUnsafe<T = unknown>(query: string, ...values: any[]): Prisma.PrismaPromise<number>;
145
+
146
+ /**
147
+ * Performs a prepared raw query and returns the `SELECT` data.
148
+ * @example
149
+ * ```
150
+ * const result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`
151
+ * ```
152
+ *
153
+ * Read more in our [docs](https://pris.ly/d/raw-queries).
154
+ */
155
+ $queryRaw<T = unknown>(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise<T>;
156
+
157
+ /**
158
+ * Performs a raw query and returns the `SELECT` data.
159
+ * Susceptible to SQL injections, see documentation.
160
+ * @example
161
+ * ```
162
+ * const result = await prisma.$queryRawUnsafe('SELECT * FROM User WHERE id = $1 OR email = $2;', 1, 'user@email.com')
163
+ * ```
164
+ *
165
+ * Read more in our [docs](https://pris.ly/d/raw-queries).
166
+ */
167
+ $queryRawUnsafe<T = unknown>(query: string, ...values: any[]): Prisma.PrismaPromise<T>;
168
+
169
+
170
+ /**
171
+ * Allows the running of a sequence of read/write operations that are guaranteed to either succeed or fail as a whole.
172
+ * @example
173
+ * ```
174
+ * const [george, bob, alice] = await prisma.$transaction([
175
+ * prisma.user.create({ data: { name: 'George' } }),
176
+ * prisma.user.create({ data: { name: 'Bob' } }),
177
+ * prisma.user.create({ data: { name: 'Alice' } }),
178
+ * ])
179
+ * ```
180
+ *
181
+ * Read more in our [docs](https://www.prisma.io/docs/orm/prisma-client/queries/transactions).
182
+ */
183
+ $transaction<P extends Prisma.PrismaPromise<any>[]>(arg: [...P], options?: { isolationLevel?: Prisma.TransactionIsolationLevel }): runtime.Types.Utils.JsPromise<runtime.Types.Utils.UnwrapTuple<P>>
184
+
185
+ $transaction<R>(fn: (prisma: Omit<PrismaClient, runtime.ITXClientDenyList>) => runtime.Types.Utils.JsPromise<R>, options?: { maxWait?: number, timeout?: number, isolationLevel?: Prisma.TransactionIsolationLevel }): runtime.Types.Utils.JsPromise<R>
186
+
187
+ $extends: runtime.Types.Extensions.ExtendsHook<"extends", Prisma.TypeMapCb<OmitOpts>, ExtArgs, runtime.Types.Utils.Call<Prisma.TypeMapCb<OmitOpts>, {
188
+ extArgs: ExtArgs
189
+ }>>
190
+
191
+ /**
192
+ * `prisma.user`: Exposes CRUD operations for the **user** model.
193
+ * Example usage:
194
+ * ```ts
195
+ * // Fetch zero or more Users
196
+ * const users = await prisma.user.findMany()
197
+ * ```
198
+ */
199
+ get user(): Prisma.userDelegate<ExtArgs, { omit: OmitOpts }>;
200
+
201
+ /**
202
+ * `prisma.session`: Exposes CRUD operations for the **session** model.
203
+ * Example usage:
204
+ * ```ts
205
+ * // Fetch zero or more Sessions
206
+ * const sessions = await prisma.session.findMany()
207
+ * ```
208
+ */
209
+ get session(): Prisma.sessionDelegate<ExtArgs, { omit: OmitOpts }>;
210
+
211
+ /**
212
+ * `prisma.account`: Exposes CRUD operations for the **account** model.
213
+ * Example usage:
214
+ * ```ts
215
+ * // Fetch zero or more Accounts
216
+ * const accounts = await prisma.account.findMany()
217
+ * ```
218
+ */
219
+ get account(): Prisma.accountDelegate<ExtArgs, { omit: OmitOpts }>;
220
+
221
+ /**
222
+ * `prisma.verification`: Exposes CRUD operations for the **verification** model.
223
+ * Example usage:
224
+ * ```ts
225
+ * // Fetch zero or more Verifications
226
+ * const verifications = await prisma.verification.findMany()
227
+ * ```
228
+ */
229
+ get verification(): Prisma.verificationDelegate<ExtArgs, { omit: OmitOpts }>;
230
+
231
+ /**
232
+ * `prisma.dbApprovalMethod`: Exposes CRUD operations for the **DbApprovalMethod** model.
233
+ * Example usage:
234
+ * ```ts
235
+ * // Fetch zero or more DbApprovalMethods
236
+ * const dbApprovalMethods = await prisma.dbApprovalMethod.findMany()
237
+ * ```
238
+ */
239
+ get dbApprovalMethod(): Prisma.DbApprovalMethodDelegate<ExtArgs, { omit: OmitOpts }>;
240
+
241
+ /**
242
+ * `prisma.dbAppForCatalog`: Exposes CRUD operations for the **DbAppForCatalog** model.
243
+ * Example usage:
244
+ * ```ts
245
+ * // Fetch zero or more DbAppForCatalogs
246
+ * const dbAppForCatalogs = await prisma.dbAppForCatalog.findMany()
247
+ * ```
248
+ */
249
+ get dbAppForCatalog(): Prisma.DbAppForCatalogDelegate<ExtArgs, { omit: OmitOpts }>;
250
+
251
+ /**
252
+ * `prisma.dbAppTagDefinition`: Exposes CRUD operations for the **DbAppTagDefinition** model.
253
+ * Example usage:
254
+ * ```ts
255
+ * // Fetch zero or more DbAppTagDefinitions
256
+ * const dbAppTagDefinitions = await prisma.dbAppTagDefinition.findMany()
257
+ * ```
258
+ */
259
+ get dbAppTagDefinition(): Prisma.DbAppTagDefinitionDelegate<ExtArgs, { omit: OmitOpts }>;
260
+
261
+ /**
262
+ * `prisma.dbAsset`: Exposes CRUD operations for the **DbAsset** model.
263
+ * Example usage:
264
+ * ```ts
265
+ * // Fetch zero or more DbAssets
266
+ * const dbAssets = await prisma.dbAsset.findMany()
267
+ * ```
268
+ */
269
+ get dbAsset(): Prisma.DbAssetDelegate<ExtArgs, { omit: OmitOpts }>;
270
+ }
271
+
272
+ export function getPrismaClientClass(): PrismaClientConstructor {
273
+ return runtime.getPrismaClient(config) as unknown as PrismaClientConstructor
274
+ }