create-zhx-monorepo 0.1.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 (125) hide show
  1. package/README.md +34 -0
  2. package/bin/index.js +65 -0
  3. package/package.json +18 -0
  4. package/templates/monorepo-starter/.vscode/settings.json +3 -0
  5. package/templates/monorepo-starter/README.md +42 -0
  6. package/templates/monorepo-starter/apps/web/components.json +20 -0
  7. package/templates/monorepo-starter/apps/web/eslint.config.mjs +4 -0
  8. package/templates/monorepo-starter/apps/web/next-env.d.ts +6 -0
  9. package/templates/monorepo-starter/apps/web/next.config.mjs +6 -0
  10. package/templates/monorepo-starter/apps/web/package.json +31 -0
  11. package/templates/monorepo-starter/apps/web/postcss.config.mjs +1 -0
  12. package/templates/monorepo-starter/apps/web/public/.gitkeep +0 -0
  13. package/templates/monorepo-starter/apps/web/sitemap.config.cjs +6 -0
  14. package/templates/monorepo-starter/apps/web/src/app/(auth)/layout.tsx +7 -0
  15. package/templates/monorepo-starter/apps/web/src/app/(root)/layout.tsx +15 -0
  16. package/templates/monorepo-starter/apps/web/src/app/(root)/page.tsx +14 -0
  17. package/templates/monorepo-starter/apps/web/src/app/globals.css +1 -0
  18. package/templates/monorepo-starter/apps/web/src/app/layout.tsx +24 -0
  19. package/templates/monorepo-starter/apps/web/src/components/Footer.tsx +9 -0
  20. package/templates/monorepo-starter/apps/web/src/components/Header.tsx +11 -0
  21. package/templates/monorepo-starter/apps/web/src/components/ThemeSwitch.tsx +34 -0
  22. package/templates/monorepo-starter/apps/web/src/hooks/.gitkeep +0 -0
  23. package/templates/monorepo-starter/apps/web/src/lib/.gitkeep +0 -0
  24. package/templates/monorepo-starter/apps/web/src/providers/index.tsx +10 -0
  25. package/templates/monorepo-starter/apps/web/src/providers/theme.tsx +19 -0
  26. package/templates/monorepo-starter/apps/web/src/types/index.d.ts +16 -0
  27. package/templates/monorepo-starter/apps/web/tsconfig.json +20 -0
  28. package/templates/monorepo-starter/eslint.config.mjs +12 -0
  29. package/templates/monorepo-starter/package.json +23 -0
  30. package/templates/monorepo-starter/packages/config/eslint/base.js +31 -0
  31. package/templates/monorepo-starter/packages/config/eslint/nest.js +26 -0
  32. package/templates/monorepo-starter/packages/config/eslint/next.js +39 -0
  33. package/templates/monorepo-starter/packages/config/eslint/react.js +30 -0
  34. package/templates/monorepo-starter/packages/config/package.json +32 -0
  35. package/templates/monorepo-starter/packages/config/typescript/base.json +31 -0
  36. package/templates/monorepo-starter/packages/config/typescript/nest.json +14 -0
  37. package/templates/monorepo-starter/packages/config/typescript/next.json +10 -0
  38. package/templates/monorepo-starter/packages/config/typescript/react.json +9 -0
  39. package/templates/monorepo-starter/packages/ui/components.json +20 -0
  40. package/templates/monorepo-starter/packages/ui/eslint.config.mjs +4 -0
  41. package/templates/monorepo-starter/packages/ui/package.json +38 -0
  42. package/templates/monorepo-starter/packages/ui/postcss.config.mjs +6 -0
  43. package/templates/monorepo-starter/packages/ui/src/components/button.tsx +71 -0
  44. package/templates/monorepo-starter/packages/ui/src/hooks/.gitkeep +0 -0
  45. package/templates/monorepo-starter/packages/ui/src/lib/utils.ts +6 -0
  46. package/templates/monorepo-starter/packages/ui/src/styles/globals.css +182 -0
  47. package/templates/monorepo-starter/packages/ui/tsconfig.json +13 -0
  48. package/templates/monorepo-starter/packages/ui/tsconfig.lint.json +8 -0
  49. package/templates/monorepo-starter/pnpm-lock.yaml +12441 -0
  50. package/templates/monorepo-starter/pnpm-workspace.yaml +17 -0
  51. package/templates/monorepo-starter/server/.env.example +64 -0
  52. package/templates/monorepo-starter/server/README.md +63 -0
  53. package/templates/monorepo-starter/server/eslint.config.mjs +4 -0
  54. package/templates/monorepo-starter/server/nest-cli.json +12 -0
  55. package/templates/monorepo-starter/server/package.json +97 -0
  56. package/templates/monorepo-starter/server/prisma/generated/browser.ts +54 -0
  57. package/templates/monorepo-starter/server/prisma/generated/client.ts +76 -0
  58. package/templates/monorepo-starter/server/prisma/generated/commonInputTypes.ts +577 -0
  59. package/templates/monorepo-starter/server/prisma/generated/enums.ts +68 -0
  60. package/templates/monorepo-starter/server/prisma/generated/internal/class.ts +250 -0
  61. package/templates/monorepo-starter/server/prisma/generated/internal/prismaNamespace.ts +1436 -0
  62. package/templates/monorepo-starter/server/prisma/generated/internal/prismaNamespaceBrowser.ts +227 -0
  63. package/templates/monorepo-starter/server/prisma/generated/models/BackupCode.ts +1375 -0
  64. package/templates/monorepo-starter/server/prisma/generated/models/Notification.ts +1587 -0
  65. package/templates/monorepo-starter/server/prisma/generated/models/Otp.ts +1488 -0
  66. package/templates/monorepo-starter/server/prisma/generated/models/RefreshToken.ts +1515 -0
  67. package/templates/monorepo-starter/server/prisma/generated/models/RoleAssignment.ts +1385 -0
  68. package/templates/monorepo-starter/server/prisma/generated/models/SecuritySetting.ts +1422 -0
  69. package/templates/monorepo-starter/server/prisma/generated/models/User.ts +2498 -0
  70. package/templates/monorepo-starter/server/prisma/generated/models.ts +18 -0
  71. package/templates/monorepo-starter/server/prisma/migrations/20251218164821_init/migration.sql +210 -0
  72. package/templates/monorepo-starter/server/prisma/migrations/migration_lock.toml +3 -0
  73. package/templates/monorepo-starter/server/prisma/schema.prisma +193 -0
  74. package/templates/monorepo-starter/server/prisma.config.ts +13 -0
  75. package/templates/monorepo-starter/server/scripts/generate.sh +14 -0
  76. package/templates/monorepo-starter/server/src/app.module.ts +49 -0
  77. package/templates/monorepo-starter/server/src/lib/decorators/logger.decorator.ts +20 -0
  78. package/templates/monorepo-starter/server/src/lib/decorators/public.decorator.ts +4 -0
  79. package/templates/monorepo-starter/server/src/lib/decorators/roles.decorator.ts +5 -0
  80. package/templates/monorepo-starter/server/src/lib/dto/auth.dto.ts +64 -0
  81. package/templates/monorepo-starter/server/src/lib/dto/security-setting.dto.ts +21 -0
  82. package/templates/monorepo-starter/server/src/lib/filters/exceptions.filter.ts +62 -0
  83. package/templates/monorepo-starter/server/src/lib/guards/auth.guard.ts +104 -0
  84. package/templates/monorepo-starter/server/src/lib/interceptors/response.interceptor.ts +33 -0
  85. package/templates/monorepo-starter/server/src/lib/pipes/validation.pipe.ts +7 -0
  86. package/templates/monorepo-starter/server/src/lib/schemas/env.schema.ts +99 -0
  87. package/templates/monorepo-starter/server/src/lib/utils/cookie.util.ts +23 -0
  88. package/templates/monorepo-starter/server/src/lib/utils/general.util.ts +24 -0
  89. package/templates/monorepo-starter/server/src/main.ts +41 -0
  90. package/templates/monorepo-starter/server/src/modules/auth/auth.controller.ts +74 -0
  91. package/templates/monorepo-starter/server/src/modules/auth/auth.module.ts +16 -0
  92. package/templates/monorepo-starter/server/src/modules/auth/auth.service.ts +525 -0
  93. package/templates/monorepo-starter/server/src/modules/auth/oauth.controller.ts +58 -0
  94. package/templates/monorepo-starter/server/src/modules/auth/oauth.service.ts +165 -0
  95. package/templates/monorepo-starter/server/src/modules/auth/otp.service.ts +133 -0
  96. package/templates/monorepo-starter/server/src/modules/auth/role.service.ts +99 -0
  97. package/templates/monorepo-starter/server/src/modules/auth/security-setting.service.ts +102 -0
  98. package/templates/monorepo-starter/server/src/modules/env/env.module.ts +9 -0
  99. package/templates/monorepo-starter/server/src/modules/env/env.service.ts +22 -0
  100. package/templates/monorepo-starter/server/src/modules/logger/logger.module.ts +12 -0
  101. package/templates/monorepo-starter/server/src/modules/logger/logger.service.ts +37 -0
  102. package/templates/monorepo-starter/server/src/modules/logger/winston.config.ts +32 -0
  103. package/templates/monorepo-starter/server/src/modules/notification/notification.module.ts +11 -0
  104. package/templates/monorepo-starter/server/src/modules/notification/notification.service.ts +118 -0
  105. package/templates/monorepo-starter/server/src/modules/prisma/prisma.extension.ts +72 -0
  106. package/templates/monorepo-starter/server/src/modules/prisma/prisma.module.ts +9 -0
  107. package/templates/monorepo-starter/server/src/modules/prisma/prisma.service.ts +49 -0
  108. package/templates/monorepo-starter/server/src/modules/public/public.controller.ts +21 -0
  109. package/templates/monorepo-starter/server/src/modules/public/public.module.ts +9 -0
  110. package/templates/monorepo-starter/server/src/modules/public/public.service.ts +30 -0
  111. package/templates/monorepo-starter/server/src/modules/scheduler/cleanup.service.ts +33 -0
  112. package/templates/monorepo-starter/server/src/modules/scheduler/scheduler.module.ts +7 -0
  113. package/templates/monorepo-starter/server/src/modules/template/template.module.ts +8 -0
  114. package/templates/monorepo-starter/server/src/modules/template/template.service.ts +33 -0
  115. package/templates/monorepo-starter/server/src/modules/token/token.module.ts +11 -0
  116. package/templates/monorepo-starter/server/src/modules/token/token.service.ts +131 -0
  117. package/templates/monorepo-starter/server/src/types/express.d.ts +10 -0
  118. package/templates/monorepo-starter/server/src/types/index.d.ts +13 -0
  119. package/templates/monorepo-starter/server/templates/notification.templates.ts +243 -0
  120. package/templates/monorepo-starter/server/test/app.e2e-spec.ts +25 -0
  121. package/templates/monorepo-starter/server/test/jest-e2e.json +9 -0
  122. package/templates/monorepo-starter/server/tsconfig.json +23 -0
  123. package/templates/monorepo-starter/server/tsup.config.ts +14 -0
  124. package/templates/monorepo-starter/tsconfig.json +3 -0
  125. package/templates/monorepo-starter/turbo.json +21 -0
@@ -0,0 +1,1436 @@
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
+ * All exports from this file are wrapped under a `Prisma` namespace object in the client.ts file.
12
+ * While this enables partial backward compatibility, it is not part of the stable public API.
13
+ *
14
+ * If you are looking for your Models, Enums, and Input Types, please import them from the respective
15
+ * model files in the `model` directory!
16
+ */
17
+
18
+ import * as runtime from "@prisma/client/runtime/client"
19
+ import type * as Prisma from "../models"
20
+ import { type PrismaClient } from "./class"
21
+
22
+ export type * from '../models'
23
+
24
+ export type DMMF = typeof runtime.DMMF
25
+
26
+ export type PrismaPromise<T> = runtime.Types.Public.PrismaPromise<T>
27
+
28
+ /**
29
+ * Prisma Errors
30
+ */
31
+
32
+ export const PrismaClientKnownRequestError = runtime.PrismaClientKnownRequestError
33
+ export type PrismaClientKnownRequestError = runtime.PrismaClientKnownRequestError
34
+
35
+ export const PrismaClientUnknownRequestError = runtime.PrismaClientUnknownRequestError
36
+ export type PrismaClientUnknownRequestError = runtime.PrismaClientUnknownRequestError
37
+
38
+ export const PrismaClientRustPanicError = runtime.PrismaClientRustPanicError
39
+ export type PrismaClientRustPanicError = runtime.PrismaClientRustPanicError
40
+
41
+ export const PrismaClientInitializationError = runtime.PrismaClientInitializationError
42
+ export type PrismaClientInitializationError = runtime.PrismaClientInitializationError
43
+
44
+ export const PrismaClientValidationError = runtime.PrismaClientValidationError
45
+ export type PrismaClientValidationError = runtime.PrismaClientValidationError
46
+
47
+ /**
48
+ * Re-export of sql-template-tag
49
+ */
50
+ export const sql = runtime.sqltag
51
+ export const empty = runtime.empty
52
+ export const join = runtime.join
53
+ export const raw = runtime.raw
54
+ export const Sql = runtime.Sql
55
+ export type Sql = runtime.Sql
56
+
57
+
58
+
59
+ /**
60
+ * Decimal.js
61
+ */
62
+ export const Decimal = runtime.Decimal
63
+ export type Decimal = runtime.Decimal
64
+
65
+ export type DecimalJsLike = runtime.DecimalJsLike
66
+
67
+ /**
68
+ * Extensions
69
+ */
70
+ export type Extension = runtime.Types.Extensions.UserArgs
71
+ export const getExtensionContext = runtime.Extensions.getExtensionContext
72
+ export type Args<T, F extends runtime.Operation> = runtime.Types.Public.Args<T, F>
73
+ export type Payload<T, F extends runtime.Operation = never> = runtime.Types.Public.Payload<T, F>
74
+ export type Result<T, A, F extends runtime.Operation> = runtime.Types.Public.Result<T, A, F>
75
+ export type Exact<A, W> = runtime.Types.Public.Exact<A, W>
76
+
77
+ export type PrismaVersion = {
78
+ client: string
79
+ engine: string
80
+ }
81
+
82
+ /**
83
+ * Prisma Client JS version: 7.2.0
84
+ * Query Engine version: 0c8ef2ce45c83248ab3df073180d5eda9e8be7a3
85
+ */
86
+ export const prismaVersion: PrismaVersion = {
87
+ client: "7.2.0",
88
+ engine: "0c8ef2ce45c83248ab3df073180d5eda9e8be7a3"
89
+ }
90
+
91
+ /**
92
+ * Utility Types
93
+ */
94
+
95
+ export type Bytes = runtime.Bytes
96
+ export type JsonObject = runtime.JsonObject
97
+ export type JsonArray = runtime.JsonArray
98
+ export type JsonValue = runtime.JsonValue
99
+ export type InputJsonObject = runtime.InputJsonObject
100
+ export type InputJsonArray = runtime.InputJsonArray
101
+ export type InputJsonValue = runtime.InputJsonValue
102
+
103
+
104
+ export const NullTypes = {
105
+ DbNull: runtime.NullTypes.DbNull as (new (secret: never) => typeof runtime.DbNull),
106
+ JsonNull: runtime.NullTypes.JsonNull as (new (secret: never) => typeof runtime.JsonNull),
107
+ AnyNull: runtime.NullTypes.AnyNull as (new (secret: never) => typeof runtime.AnyNull),
108
+ }
109
+ /**
110
+ * Helper for filtering JSON entries that have `null` on the database (empty on the db)
111
+ *
112
+ * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field
113
+ */
114
+ export const DbNull = runtime.DbNull
115
+
116
+ /**
117
+ * Helper for filtering JSON entries that have JSON `null` values (not empty on the db)
118
+ *
119
+ * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field
120
+ */
121
+ export const JsonNull = runtime.JsonNull
122
+
123
+ /**
124
+ * Helper for filtering JSON entries that are `Prisma.DbNull` or `Prisma.JsonNull`
125
+ *
126
+ * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field
127
+ */
128
+ export const AnyNull = runtime.AnyNull
129
+
130
+
131
+ type SelectAndInclude = {
132
+ select: any
133
+ include: any
134
+ }
135
+
136
+ type SelectAndOmit = {
137
+ select: any
138
+ omit: any
139
+ }
140
+
141
+ /**
142
+ * From T, pick a set of properties whose keys are in the union K
143
+ */
144
+ type Prisma__Pick<T, K extends keyof T> = {
145
+ [P in K]: T[P];
146
+ };
147
+
148
+ export type Enumerable<T> = T | Array<T>;
149
+
150
+ /**
151
+ * Subset
152
+ * @desc From `T` pick properties that exist in `U`. Simple version of Intersection
153
+ */
154
+ export type Subset<T, U> = {
155
+ [key in keyof T]: key extends keyof U ? T[key] : never;
156
+ };
157
+
158
+ /**
159
+ * SelectSubset
160
+ * @desc From `T` pick properties that exist in `U`. Simple version of Intersection.
161
+ * Additionally, it validates, if both select and include are present. If the case, it errors.
162
+ */
163
+ export type SelectSubset<T, U> = {
164
+ [key in keyof T]: key extends keyof U ? T[key] : never
165
+ } &
166
+ (T extends SelectAndInclude
167
+ ? 'Please either choose `select` or `include`.'
168
+ : T extends SelectAndOmit
169
+ ? 'Please either choose `select` or `omit`.'
170
+ : {})
171
+
172
+ /**
173
+ * Subset + Intersection
174
+ * @desc From `T` pick properties that exist in `U` and intersect `K`
175
+ */
176
+ export type SubsetIntersection<T, U, K> = {
177
+ [key in keyof T]: key extends keyof U ? T[key] : never
178
+ } &
179
+ K
180
+
181
+ type Without<T, U> = { [P in Exclude<keyof T, keyof U>]?: never };
182
+
183
+ /**
184
+ * XOR is needed to have a real mutually exclusive union type
185
+ * https://stackoverflow.com/questions/42123407/does-typescript-support-mutually-exclusive-types
186
+ */
187
+ export type XOR<T, U> =
188
+ T extends object ?
189
+ U extends object ?
190
+ (Without<T, U> & U) | (Without<U, T> & T)
191
+ : U : T
192
+
193
+
194
+ /**
195
+ * Is T a Record?
196
+ */
197
+ type IsObject<T extends any> = T extends Array<any>
198
+ ? False
199
+ : T extends Date
200
+ ? False
201
+ : T extends Uint8Array
202
+ ? False
203
+ : T extends BigInt
204
+ ? False
205
+ : T extends object
206
+ ? True
207
+ : False
208
+
209
+
210
+ /**
211
+ * If it's T[], return T
212
+ */
213
+ export type UnEnumerate<T extends unknown> = T extends Array<infer U> ? U : T
214
+
215
+ /**
216
+ * From ts-toolbelt
217
+ */
218
+
219
+ type __Either<O extends object, K extends Key> = Omit<O, K> &
220
+ {
221
+ // Merge all but K
222
+ [P in K]: Prisma__Pick<O, P & keyof O> // With K possibilities
223
+ }[K]
224
+
225
+ type EitherStrict<O extends object, K extends Key> = Strict<__Either<O, K>>
226
+
227
+ type EitherLoose<O extends object, K extends Key> = ComputeRaw<__Either<O, K>>
228
+
229
+ type _Either<
230
+ O extends object,
231
+ K extends Key,
232
+ strict extends Boolean
233
+ > = {
234
+ 1: EitherStrict<O, K>
235
+ 0: EitherLoose<O, K>
236
+ }[strict]
237
+
238
+ export type Either<
239
+ O extends object,
240
+ K extends Key,
241
+ strict extends Boolean = 1
242
+ > = O extends unknown ? _Either<O, K, strict> : never
243
+
244
+ export type Union = any
245
+
246
+ export type PatchUndefined<O extends object, O1 extends object> = {
247
+ [K in keyof O]: O[K] extends undefined ? At<O1, K> : O[K]
248
+ } & {}
249
+
250
+ /** Helper Types for "Merge" **/
251
+ export type IntersectOf<U extends Union> = (
252
+ U extends unknown ? (k: U) => void : never
253
+ ) extends (k: infer I) => void
254
+ ? I
255
+ : never
256
+
257
+ export type Overwrite<O extends object, O1 extends object> = {
258
+ [K in keyof O]: K extends keyof O1 ? O1[K] : O[K];
259
+ } & {};
260
+
261
+ type _Merge<U extends object> = IntersectOf<Overwrite<U, {
262
+ [K in keyof U]-?: At<U, K>;
263
+ }>>;
264
+
265
+ type Key = string | number | symbol;
266
+ type AtStrict<O extends object, K extends Key> = O[K & keyof O];
267
+ type AtLoose<O extends object, K extends Key> = O extends unknown ? AtStrict<O, K> : never;
268
+ export type At<O extends object, K extends Key, strict extends Boolean = 1> = {
269
+ 1: AtStrict<O, K>;
270
+ 0: AtLoose<O, K>;
271
+ }[strict];
272
+
273
+ export type ComputeRaw<A extends any> = A extends Function ? A : {
274
+ [K in keyof A]: A[K];
275
+ } & {};
276
+
277
+ export type OptionalFlat<O> = {
278
+ [K in keyof O]?: O[K];
279
+ } & {};
280
+
281
+ type _Record<K extends keyof any, T> = {
282
+ [P in K]: T;
283
+ };
284
+
285
+ // cause typescript not to expand types and preserve names
286
+ type NoExpand<T> = T extends unknown ? T : never;
287
+
288
+ // this type assumes the passed object is entirely optional
289
+ export type AtLeast<O extends object, K extends string> = NoExpand<
290
+ O extends unknown
291
+ ? | (K extends keyof O ? { [P in K]: O[P] } & O : O)
292
+ | {[P in keyof O as P extends K ? P : never]-?: O[P]} & O
293
+ : never>;
294
+
295
+ type _Strict<U, _U = U> = U extends unknown ? U & OptionalFlat<_Record<Exclude<Keys<_U>, keyof U>, never>> : never;
296
+
297
+ export type Strict<U extends object> = ComputeRaw<_Strict<U>>;
298
+ /** End Helper Types for "Merge" **/
299
+
300
+ export type Merge<U extends object> = ComputeRaw<_Merge<Strict<U>>>;
301
+
302
+ export type Boolean = True | False
303
+
304
+ export type True = 1
305
+
306
+ export type False = 0
307
+
308
+ export type Not<B extends Boolean> = {
309
+ 0: 1
310
+ 1: 0
311
+ }[B]
312
+
313
+ export type Extends<A1 extends any, A2 extends any> = [A1] extends [never]
314
+ ? 0 // anything `never` is false
315
+ : A1 extends A2
316
+ ? 1
317
+ : 0
318
+
319
+ export type Has<U extends Union, U1 extends Union> = Not<
320
+ Extends<Exclude<U1, U>, U1>
321
+ >
322
+
323
+ export type Or<B1 extends Boolean, B2 extends Boolean> = {
324
+ 0: {
325
+ 0: 0
326
+ 1: 1
327
+ }
328
+ 1: {
329
+ 0: 1
330
+ 1: 1
331
+ }
332
+ }[B1][B2]
333
+
334
+ export type Keys<U extends Union> = U extends unknown ? keyof U : never
335
+
336
+ export type GetScalarType<T, O> = O extends object ? {
337
+ [P in keyof T]: P extends keyof O
338
+ ? O[P]
339
+ : never
340
+ } : never
341
+
342
+ type FieldPaths<
343
+ T,
344
+ U = Omit<T, '_avg' | '_sum' | '_count' | '_min' | '_max'>
345
+ > = IsObject<T> extends True ? U : T
346
+
347
+ export type GetHavingFields<T> = {
348
+ [K in keyof T]: Or<
349
+ Or<Extends<'OR', K>, Extends<'AND', K>>,
350
+ Extends<'NOT', K>
351
+ > extends True
352
+ ? // infer is only needed to not hit TS limit
353
+ // based on the brilliant idea of Pierre-Antoine Mills
354
+ // https://github.com/microsoft/TypeScript/issues/30188#issuecomment-478938437
355
+ T[K] extends infer TK
356
+ ? GetHavingFields<UnEnumerate<TK> extends object ? Merge<UnEnumerate<TK>> : never>
357
+ : never
358
+ : {} extends FieldPaths<T[K]>
359
+ ? never
360
+ : K
361
+ }[keyof T]
362
+
363
+ /**
364
+ * Convert tuple to union
365
+ */
366
+ type _TupleToUnion<T> = T extends (infer E)[] ? E : never
367
+ type TupleToUnion<K extends readonly any[]> = _TupleToUnion<K>
368
+ export type MaybeTupleToUnion<T> = T extends any[] ? TupleToUnion<T> : T
369
+
370
+ /**
371
+ * Like `Pick`, but additionally can also accept an array of keys
372
+ */
373
+ export type PickEnumerable<T, K extends Enumerable<keyof T> | keyof T> = Prisma__Pick<T, MaybeTupleToUnion<K>>
374
+
375
+ /**
376
+ * Exclude all keys with underscores
377
+ */
378
+ export type ExcludeUnderscoreKeys<T extends string> = T extends `_${string}` ? never : T
379
+
380
+
381
+ export type FieldRef<Model, FieldType> = runtime.FieldRef<Model, FieldType>
382
+
383
+ type FieldRefInputType<Model, FieldType> = Model extends never ? never : FieldRef<Model, FieldType>
384
+
385
+
386
+ export const ModelName = {
387
+ User: 'User',
388
+ RoleAssignment: 'RoleAssignment',
389
+ SecuritySetting: 'SecuritySetting',
390
+ BackupCode: 'BackupCode',
391
+ RefreshToken: 'RefreshToken',
392
+ Otp: 'Otp',
393
+ Notification: 'Notification'
394
+ } as const
395
+
396
+ export type ModelName = (typeof ModelName)[keyof typeof ModelName]
397
+
398
+
399
+
400
+ export interface TypeMapCb<GlobalOmitOptions = {}> extends runtime.Types.Utils.Fn<{extArgs: runtime.Types.Extensions.InternalArgs }, runtime.Types.Utils.Record<string, any>> {
401
+ returns: TypeMap<this['params']['extArgs'], GlobalOmitOptions>
402
+ }
403
+
404
+ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> = {
405
+ globalOmitOptions: {
406
+ omit: GlobalOmitOptions
407
+ }
408
+ meta: {
409
+ modelProps: "user" | "roleAssignment" | "securitySetting" | "backupCode" | "refreshToken" | "otp" | "notification"
410
+ txIsolationLevel: TransactionIsolationLevel
411
+ }
412
+ model: {
413
+ User: {
414
+ payload: Prisma.$UserPayload<ExtArgs>
415
+ fields: Prisma.UserFieldRefs
416
+ operations: {
417
+ findUnique: {
418
+ args: Prisma.UserFindUniqueArgs<ExtArgs>
419
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload> | null
420
+ }
421
+ findUniqueOrThrow: {
422
+ args: Prisma.UserFindUniqueOrThrowArgs<ExtArgs>
423
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload>
424
+ }
425
+ findFirst: {
426
+ args: Prisma.UserFindFirstArgs<ExtArgs>
427
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload> | null
428
+ }
429
+ findFirstOrThrow: {
430
+ args: Prisma.UserFindFirstOrThrowArgs<ExtArgs>
431
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload>
432
+ }
433
+ findMany: {
434
+ args: Prisma.UserFindManyArgs<ExtArgs>
435
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload>[]
436
+ }
437
+ create: {
438
+ args: Prisma.UserCreateArgs<ExtArgs>
439
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload>
440
+ }
441
+ createMany: {
442
+ args: Prisma.UserCreateManyArgs<ExtArgs>
443
+ result: BatchPayload
444
+ }
445
+ createManyAndReturn: {
446
+ args: Prisma.UserCreateManyAndReturnArgs<ExtArgs>
447
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload>[]
448
+ }
449
+ delete: {
450
+ args: Prisma.UserDeleteArgs<ExtArgs>
451
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload>
452
+ }
453
+ update: {
454
+ args: Prisma.UserUpdateArgs<ExtArgs>
455
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload>
456
+ }
457
+ deleteMany: {
458
+ args: Prisma.UserDeleteManyArgs<ExtArgs>
459
+ result: BatchPayload
460
+ }
461
+ updateMany: {
462
+ args: Prisma.UserUpdateManyArgs<ExtArgs>
463
+ result: BatchPayload
464
+ }
465
+ updateManyAndReturn: {
466
+ args: Prisma.UserUpdateManyAndReturnArgs<ExtArgs>
467
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload>[]
468
+ }
469
+ upsert: {
470
+ args: Prisma.UserUpsertArgs<ExtArgs>
471
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload>
472
+ }
473
+ aggregate: {
474
+ args: Prisma.UserAggregateArgs<ExtArgs>
475
+ result: runtime.Types.Utils.Optional<Prisma.AggregateUser>
476
+ }
477
+ groupBy: {
478
+ args: Prisma.UserGroupByArgs<ExtArgs>
479
+ result: runtime.Types.Utils.Optional<Prisma.UserGroupByOutputType>[]
480
+ }
481
+ count: {
482
+ args: Prisma.UserCountArgs<ExtArgs>
483
+ result: runtime.Types.Utils.Optional<Prisma.UserCountAggregateOutputType> | number
484
+ }
485
+ }
486
+ }
487
+ RoleAssignment: {
488
+ payload: Prisma.$RoleAssignmentPayload<ExtArgs>
489
+ fields: Prisma.RoleAssignmentFieldRefs
490
+ operations: {
491
+ findUnique: {
492
+ args: Prisma.RoleAssignmentFindUniqueArgs<ExtArgs>
493
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$RoleAssignmentPayload> | null
494
+ }
495
+ findUniqueOrThrow: {
496
+ args: Prisma.RoleAssignmentFindUniqueOrThrowArgs<ExtArgs>
497
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$RoleAssignmentPayload>
498
+ }
499
+ findFirst: {
500
+ args: Prisma.RoleAssignmentFindFirstArgs<ExtArgs>
501
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$RoleAssignmentPayload> | null
502
+ }
503
+ findFirstOrThrow: {
504
+ args: Prisma.RoleAssignmentFindFirstOrThrowArgs<ExtArgs>
505
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$RoleAssignmentPayload>
506
+ }
507
+ findMany: {
508
+ args: Prisma.RoleAssignmentFindManyArgs<ExtArgs>
509
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$RoleAssignmentPayload>[]
510
+ }
511
+ create: {
512
+ args: Prisma.RoleAssignmentCreateArgs<ExtArgs>
513
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$RoleAssignmentPayload>
514
+ }
515
+ createMany: {
516
+ args: Prisma.RoleAssignmentCreateManyArgs<ExtArgs>
517
+ result: BatchPayload
518
+ }
519
+ createManyAndReturn: {
520
+ args: Prisma.RoleAssignmentCreateManyAndReturnArgs<ExtArgs>
521
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$RoleAssignmentPayload>[]
522
+ }
523
+ delete: {
524
+ args: Prisma.RoleAssignmentDeleteArgs<ExtArgs>
525
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$RoleAssignmentPayload>
526
+ }
527
+ update: {
528
+ args: Prisma.RoleAssignmentUpdateArgs<ExtArgs>
529
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$RoleAssignmentPayload>
530
+ }
531
+ deleteMany: {
532
+ args: Prisma.RoleAssignmentDeleteManyArgs<ExtArgs>
533
+ result: BatchPayload
534
+ }
535
+ updateMany: {
536
+ args: Prisma.RoleAssignmentUpdateManyArgs<ExtArgs>
537
+ result: BatchPayload
538
+ }
539
+ updateManyAndReturn: {
540
+ args: Prisma.RoleAssignmentUpdateManyAndReturnArgs<ExtArgs>
541
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$RoleAssignmentPayload>[]
542
+ }
543
+ upsert: {
544
+ args: Prisma.RoleAssignmentUpsertArgs<ExtArgs>
545
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$RoleAssignmentPayload>
546
+ }
547
+ aggregate: {
548
+ args: Prisma.RoleAssignmentAggregateArgs<ExtArgs>
549
+ result: runtime.Types.Utils.Optional<Prisma.AggregateRoleAssignment>
550
+ }
551
+ groupBy: {
552
+ args: Prisma.RoleAssignmentGroupByArgs<ExtArgs>
553
+ result: runtime.Types.Utils.Optional<Prisma.RoleAssignmentGroupByOutputType>[]
554
+ }
555
+ count: {
556
+ args: Prisma.RoleAssignmentCountArgs<ExtArgs>
557
+ result: runtime.Types.Utils.Optional<Prisma.RoleAssignmentCountAggregateOutputType> | number
558
+ }
559
+ }
560
+ }
561
+ SecuritySetting: {
562
+ payload: Prisma.$SecuritySettingPayload<ExtArgs>
563
+ fields: Prisma.SecuritySettingFieldRefs
564
+ operations: {
565
+ findUnique: {
566
+ args: Prisma.SecuritySettingFindUniqueArgs<ExtArgs>
567
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$SecuritySettingPayload> | null
568
+ }
569
+ findUniqueOrThrow: {
570
+ args: Prisma.SecuritySettingFindUniqueOrThrowArgs<ExtArgs>
571
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$SecuritySettingPayload>
572
+ }
573
+ findFirst: {
574
+ args: Prisma.SecuritySettingFindFirstArgs<ExtArgs>
575
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$SecuritySettingPayload> | null
576
+ }
577
+ findFirstOrThrow: {
578
+ args: Prisma.SecuritySettingFindFirstOrThrowArgs<ExtArgs>
579
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$SecuritySettingPayload>
580
+ }
581
+ findMany: {
582
+ args: Prisma.SecuritySettingFindManyArgs<ExtArgs>
583
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$SecuritySettingPayload>[]
584
+ }
585
+ create: {
586
+ args: Prisma.SecuritySettingCreateArgs<ExtArgs>
587
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$SecuritySettingPayload>
588
+ }
589
+ createMany: {
590
+ args: Prisma.SecuritySettingCreateManyArgs<ExtArgs>
591
+ result: BatchPayload
592
+ }
593
+ createManyAndReturn: {
594
+ args: Prisma.SecuritySettingCreateManyAndReturnArgs<ExtArgs>
595
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$SecuritySettingPayload>[]
596
+ }
597
+ delete: {
598
+ args: Prisma.SecuritySettingDeleteArgs<ExtArgs>
599
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$SecuritySettingPayload>
600
+ }
601
+ update: {
602
+ args: Prisma.SecuritySettingUpdateArgs<ExtArgs>
603
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$SecuritySettingPayload>
604
+ }
605
+ deleteMany: {
606
+ args: Prisma.SecuritySettingDeleteManyArgs<ExtArgs>
607
+ result: BatchPayload
608
+ }
609
+ updateMany: {
610
+ args: Prisma.SecuritySettingUpdateManyArgs<ExtArgs>
611
+ result: BatchPayload
612
+ }
613
+ updateManyAndReturn: {
614
+ args: Prisma.SecuritySettingUpdateManyAndReturnArgs<ExtArgs>
615
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$SecuritySettingPayload>[]
616
+ }
617
+ upsert: {
618
+ args: Prisma.SecuritySettingUpsertArgs<ExtArgs>
619
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$SecuritySettingPayload>
620
+ }
621
+ aggregate: {
622
+ args: Prisma.SecuritySettingAggregateArgs<ExtArgs>
623
+ result: runtime.Types.Utils.Optional<Prisma.AggregateSecuritySetting>
624
+ }
625
+ groupBy: {
626
+ args: Prisma.SecuritySettingGroupByArgs<ExtArgs>
627
+ result: runtime.Types.Utils.Optional<Prisma.SecuritySettingGroupByOutputType>[]
628
+ }
629
+ count: {
630
+ args: Prisma.SecuritySettingCountArgs<ExtArgs>
631
+ result: runtime.Types.Utils.Optional<Prisma.SecuritySettingCountAggregateOutputType> | number
632
+ }
633
+ }
634
+ }
635
+ BackupCode: {
636
+ payload: Prisma.$BackupCodePayload<ExtArgs>
637
+ fields: Prisma.BackupCodeFieldRefs
638
+ operations: {
639
+ findUnique: {
640
+ args: Prisma.BackupCodeFindUniqueArgs<ExtArgs>
641
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$BackupCodePayload> | null
642
+ }
643
+ findUniqueOrThrow: {
644
+ args: Prisma.BackupCodeFindUniqueOrThrowArgs<ExtArgs>
645
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$BackupCodePayload>
646
+ }
647
+ findFirst: {
648
+ args: Prisma.BackupCodeFindFirstArgs<ExtArgs>
649
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$BackupCodePayload> | null
650
+ }
651
+ findFirstOrThrow: {
652
+ args: Prisma.BackupCodeFindFirstOrThrowArgs<ExtArgs>
653
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$BackupCodePayload>
654
+ }
655
+ findMany: {
656
+ args: Prisma.BackupCodeFindManyArgs<ExtArgs>
657
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$BackupCodePayload>[]
658
+ }
659
+ create: {
660
+ args: Prisma.BackupCodeCreateArgs<ExtArgs>
661
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$BackupCodePayload>
662
+ }
663
+ createMany: {
664
+ args: Prisma.BackupCodeCreateManyArgs<ExtArgs>
665
+ result: BatchPayload
666
+ }
667
+ createManyAndReturn: {
668
+ args: Prisma.BackupCodeCreateManyAndReturnArgs<ExtArgs>
669
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$BackupCodePayload>[]
670
+ }
671
+ delete: {
672
+ args: Prisma.BackupCodeDeleteArgs<ExtArgs>
673
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$BackupCodePayload>
674
+ }
675
+ update: {
676
+ args: Prisma.BackupCodeUpdateArgs<ExtArgs>
677
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$BackupCodePayload>
678
+ }
679
+ deleteMany: {
680
+ args: Prisma.BackupCodeDeleteManyArgs<ExtArgs>
681
+ result: BatchPayload
682
+ }
683
+ updateMany: {
684
+ args: Prisma.BackupCodeUpdateManyArgs<ExtArgs>
685
+ result: BatchPayload
686
+ }
687
+ updateManyAndReturn: {
688
+ args: Prisma.BackupCodeUpdateManyAndReturnArgs<ExtArgs>
689
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$BackupCodePayload>[]
690
+ }
691
+ upsert: {
692
+ args: Prisma.BackupCodeUpsertArgs<ExtArgs>
693
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$BackupCodePayload>
694
+ }
695
+ aggregate: {
696
+ args: Prisma.BackupCodeAggregateArgs<ExtArgs>
697
+ result: runtime.Types.Utils.Optional<Prisma.AggregateBackupCode>
698
+ }
699
+ groupBy: {
700
+ args: Prisma.BackupCodeGroupByArgs<ExtArgs>
701
+ result: runtime.Types.Utils.Optional<Prisma.BackupCodeGroupByOutputType>[]
702
+ }
703
+ count: {
704
+ args: Prisma.BackupCodeCountArgs<ExtArgs>
705
+ result: runtime.Types.Utils.Optional<Prisma.BackupCodeCountAggregateOutputType> | number
706
+ }
707
+ }
708
+ }
709
+ RefreshToken: {
710
+ payload: Prisma.$RefreshTokenPayload<ExtArgs>
711
+ fields: Prisma.RefreshTokenFieldRefs
712
+ operations: {
713
+ findUnique: {
714
+ args: Prisma.RefreshTokenFindUniqueArgs<ExtArgs>
715
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$RefreshTokenPayload> | null
716
+ }
717
+ findUniqueOrThrow: {
718
+ args: Prisma.RefreshTokenFindUniqueOrThrowArgs<ExtArgs>
719
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$RefreshTokenPayload>
720
+ }
721
+ findFirst: {
722
+ args: Prisma.RefreshTokenFindFirstArgs<ExtArgs>
723
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$RefreshTokenPayload> | null
724
+ }
725
+ findFirstOrThrow: {
726
+ args: Prisma.RefreshTokenFindFirstOrThrowArgs<ExtArgs>
727
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$RefreshTokenPayload>
728
+ }
729
+ findMany: {
730
+ args: Prisma.RefreshTokenFindManyArgs<ExtArgs>
731
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$RefreshTokenPayload>[]
732
+ }
733
+ create: {
734
+ args: Prisma.RefreshTokenCreateArgs<ExtArgs>
735
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$RefreshTokenPayload>
736
+ }
737
+ createMany: {
738
+ args: Prisma.RefreshTokenCreateManyArgs<ExtArgs>
739
+ result: BatchPayload
740
+ }
741
+ createManyAndReturn: {
742
+ args: Prisma.RefreshTokenCreateManyAndReturnArgs<ExtArgs>
743
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$RefreshTokenPayload>[]
744
+ }
745
+ delete: {
746
+ args: Prisma.RefreshTokenDeleteArgs<ExtArgs>
747
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$RefreshTokenPayload>
748
+ }
749
+ update: {
750
+ args: Prisma.RefreshTokenUpdateArgs<ExtArgs>
751
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$RefreshTokenPayload>
752
+ }
753
+ deleteMany: {
754
+ args: Prisma.RefreshTokenDeleteManyArgs<ExtArgs>
755
+ result: BatchPayload
756
+ }
757
+ updateMany: {
758
+ args: Prisma.RefreshTokenUpdateManyArgs<ExtArgs>
759
+ result: BatchPayload
760
+ }
761
+ updateManyAndReturn: {
762
+ args: Prisma.RefreshTokenUpdateManyAndReturnArgs<ExtArgs>
763
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$RefreshTokenPayload>[]
764
+ }
765
+ upsert: {
766
+ args: Prisma.RefreshTokenUpsertArgs<ExtArgs>
767
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$RefreshTokenPayload>
768
+ }
769
+ aggregate: {
770
+ args: Prisma.RefreshTokenAggregateArgs<ExtArgs>
771
+ result: runtime.Types.Utils.Optional<Prisma.AggregateRefreshToken>
772
+ }
773
+ groupBy: {
774
+ args: Prisma.RefreshTokenGroupByArgs<ExtArgs>
775
+ result: runtime.Types.Utils.Optional<Prisma.RefreshTokenGroupByOutputType>[]
776
+ }
777
+ count: {
778
+ args: Prisma.RefreshTokenCountArgs<ExtArgs>
779
+ result: runtime.Types.Utils.Optional<Prisma.RefreshTokenCountAggregateOutputType> | number
780
+ }
781
+ }
782
+ }
783
+ Otp: {
784
+ payload: Prisma.$OtpPayload<ExtArgs>
785
+ fields: Prisma.OtpFieldRefs
786
+ operations: {
787
+ findUnique: {
788
+ args: Prisma.OtpFindUniqueArgs<ExtArgs>
789
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$OtpPayload> | null
790
+ }
791
+ findUniqueOrThrow: {
792
+ args: Prisma.OtpFindUniqueOrThrowArgs<ExtArgs>
793
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$OtpPayload>
794
+ }
795
+ findFirst: {
796
+ args: Prisma.OtpFindFirstArgs<ExtArgs>
797
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$OtpPayload> | null
798
+ }
799
+ findFirstOrThrow: {
800
+ args: Prisma.OtpFindFirstOrThrowArgs<ExtArgs>
801
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$OtpPayload>
802
+ }
803
+ findMany: {
804
+ args: Prisma.OtpFindManyArgs<ExtArgs>
805
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$OtpPayload>[]
806
+ }
807
+ create: {
808
+ args: Prisma.OtpCreateArgs<ExtArgs>
809
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$OtpPayload>
810
+ }
811
+ createMany: {
812
+ args: Prisma.OtpCreateManyArgs<ExtArgs>
813
+ result: BatchPayload
814
+ }
815
+ createManyAndReturn: {
816
+ args: Prisma.OtpCreateManyAndReturnArgs<ExtArgs>
817
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$OtpPayload>[]
818
+ }
819
+ delete: {
820
+ args: Prisma.OtpDeleteArgs<ExtArgs>
821
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$OtpPayload>
822
+ }
823
+ update: {
824
+ args: Prisma.OtpUpdateArgs<ExtArgs>
825
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$OtpPayload>
826
+ }
827
+ deleteMany: {
828
+ args: Prisma.OtpDeleteManyArgs<ExtArgs>
829
+ result: BatchPayload
830
+ }
831
+ updateMany: {
832
+ args: Prisma.OtpUpdateManyArgs<ExtArgs>
833
+ result: BatchPayload
834
+ }
835
+ updateManyAndReturn: {
836
+ args: Prisma.OtpUpdateManyAndReturnArgs<ExtArgs>
837
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$OtpPayload>[]
838
+ }
839
+ upsert: {
840
+ args: Prisma.OtpUpsertArgs<ExtArgs>
841
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$OtpPayload>
842
+ }
843
+ aggregate: {
844
+ args: Prisma.OtpAggregateArgs<ExtArgs>
845
+ result: runtime.Types.Utils.Optional<Prisma.AggregateOtp>
846
+ }
847
+ groupBy: {
848
+ args: Prisma.OtpGroupByArgs<ExtArgs>
849
+ result: runtime.Types.Utils.Optional<Prisma.OtpGroupByOutputType>[]
850
+ }
851
+ count: {
852
+ args: Prisma.OtpCountArgs<ExtArgs>
853
+ result: runtime.Types.Utils.Optional<Prisma.OtpCountAggregateOutputType> | number
854
+ }
855
+ }
856
+ }
857
+ Notification: {
858
+ payload: Prisma.$NotificationPayload<ExtArgs>
859
+ fields: Prisma.NotificationFieldRefs
860
+ operations: {
861
+ findUnique: {
862
+ args: Prisma.NotificationFindUniqueArgs<ExtArgs>
863
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$NotificationPayload> | null
864
+ }
865
+ findUniqueOrThrow: {
866
+ args: Prisma.NotificationFindUniqueOrThrowArgs<ExtArgs>
867
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$NotificationPayload>
868
+ }
869
+ findFirst: {
870
+ args: Prisma.NotificationFindFirstArgs<ExtArgs>
871
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$NotificationPayload> | null
872
+ }
873
+ findFirstOrThrow: {
874
+ args: Prisma.NotificationFindFirstOrThrowArgs<ExtArgs>
875
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$NotificationPayload>
876
+ }
877
+ findMany: {
878
+ args: Prisma.NotificationFindManyArgs<ExtArgs>
879
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$NotificationPayload>[]
880
+ }
881
+ create: {
882
+ args: Prisma.NotificationCreateArgs<ExtArgs>
883
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$NotificationPayload>
884
+ }
885
+ createMany: {
886
+ args: Prisma.NotificationCreateManyArgs<ExtArgs>
887
+ result: BatchPayload
888
+ }
889
+ createManyAndReturn: {
890
+ args: Prisma.NotificationCreateManyAndReturnArgs<ExtArgs>
891
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$NotificationPayload>[]
892
+ }
893
+ delete: {
894
+ args: Prisma.NotificationDeleteArgs<ExtArgs>
895
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$NotificationPayload>
896
+ }
897
+ update: {
898
+ args: Prisma.NotificationUpdateArgs<ExtArgs>
899
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$NotificationPayload>
900
+ }
901
+ deleteMany: {
902
+ args: Prisma.NotificationDeleteManyArgs<ExtArgs>
903
+ result: BatchPayload
904
+ }
905
+ updateMany: {
906
+ args: Prisma.NotificationUpdateManyArgs<ExtArgs>
907
+ result: BatchPayload
908
+ }
909
+ updateManyAndReturn: {
910
+ args: Prisma.NotificationUpdateManyAndReturnArgs<ExtArgs>
911
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$NotificationPayload>[]
912
+ }
913
+ upsert: {
914
+ args: Prisma.NotificationUpsertArgs<ExtArgs>
915
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$NotificationPayload>
916
+ }
917
+ aggregate: {
918
+ args: Prisma.NotificationAggregateArgs<ExtArgs>
919
+ result: runtime.Types.Utils.Optional<Prisma.AggregateNotification>
920
+ }
921
+ groupBy: {
922
+ args: Prisma.NotificationGroupByArgs<ExtArgs>
923
+ result: runtime.Types.Utils.Optional<Prisma.NotificationGroupByOutputType>[]
924
+ }
925
+ count: {
926
+ args: Prisma.NotificationCountArgs<ExtArgs>
927
+ result: runtime.Types.Utils.Optional<Prisma.NotificationCountAggregateOutputType> | number
928
+ }
929
+ }
930
+ }
931
+ }
932
+ } & {
933
+ other: {
934
+ payload: any
935
+ operations: {
936
+ $executeRaw: {
937
+ args: [query: TemplateStringsArray | Sql, ...values: any[]],
938
+ result: any
939
+ }
940
+ $executeRawUnsafe: {
941
+ args: [query: string, ...values: any[]],
942
+ result: any
943
+ }
944
+ $queryRaw: {
945
+ args: [query: TemplateStringsArray | Sql, ...values: any[]],
946
+ result: any
947
+ }
948
+ $queryRawUnsafe: {
949
+ args: [query: string, ...values: any[]],
950
+ result: any
951
+ }
952
+ }
953
+ }
954
+ }
955
+
956
+ /**
957
+ * Enums
958
+ */
959
+
960
+ export const TransactionIsolationLevel = runtime.makeStrictEnum({
961
+ ReadUncommitted: 'ReadUncommitted',
962
+ ReadCommitted: 'ReadCommitted',
963
+ RepeatableRead: 'RepeatableRead',
964
+ Serializable: 'Serializable'
965
+ } as const)
966
+
967
+ export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel]
968
+
969
+
970
+ export const UserScalarFieldEnum = {
971
+ id: 'id',
972
+ username: 'username',
973
+ password: 'password',
974
+ firstName: 'firstName',
975
+ lastName: 'lastName',
976
+ displayName: 'displayName',
977
+ imageUrl: 'imageUrl',
978
+ email: 'email',
979
+ phone: 'phone',
980
+ isEmailVerified: 'isEmailVerified',
981
+ isPhoneVerified: 'isPhoneVerified',
982
+ lastLoginAt: 'lastLoginAt',
983
+ createdAt: 'createdAt',
984
+ updatedAt: 'updatedAt',
985
+ deletedAt: 'deletedAt'
986
+ } as const
987
+
988
+ export type UserScalarFieldEnum = (typeof UserScalarFieldEnum)[keyof typeof UserScalarFieldEnum]
989
+
990
+
991
+ export const RoleAssignmentScalarFieldEnum = {
992
+ id: 'id',
993
+ userId: 'userId',
994
+ role: 'role',
995
+ createdAt: 'createdAt',
996
+ updatedAt: 'updatedAt',
997
+ revokedAt: 'revokedAt'
998
+ } as const
999
+
1000
+ export type RoleAssignmentScalarFieldEnum = (typeof RoleAssignmentScalarFieldEnum)[keyof typeof RoleAssignmentScalarFieldEnum]
1001
+
1002
+
1003
+ export const SecuritySettingScalarFieldEnum = {
1004
+ id: 'id',
1005
+ userId: 'userId',
1006
+ preferredMfa: 'preferredMfa',
1007
+ recoveryEmail: 'recoveryEmail',
1008
+ recoveryPhone: 'recoveryPhone',
1009
+ isMfaEnabled: 'isMfaEnabled',
1010
+ loginAlerts: 'loginAlerts',
1011
+ createdAt: 'createdAt',
1012
+ updatedAt: 'updatedAt'
1013
+ } as const
1014
+
1015
+ export type SecuritySettingScalarFieldEnum = (typeof SecuritySettingScalarFieldEnum)[keyof typeof SecuritySettingScalarFieldEnum]
1016
+
1017
+
1018
+ export const BackupCodeScalarFieldEnum = {
1019
+ id: 'id',
1020
+ userId: 'userId',
1021
+ code: 'code',
1022
+ usedAt: 'usedAt',
1023
+ createdAt: 'createdAt',
1024
+ expiresAt: 'expiresAt'
1025
+ } as const
1026
+
1027
+ export type BackupCodeScalarFieldEnum = (typeof BackupCodeScalarFieldEnum)[keyof typeof BackupCodeScalarFieldEnum]
1028
+
1029
+
1030
+ export const RefreshTokenScalarFieldEnum = {
1031
+ id: 'id',
1032
+ token: 'token',
1033
+ userId: 'userId',
1034
+ ip: 'ip',
1035
+ userAgent: 'userAgent',
1036
+ lastUsed: 'lastUsed',
1037
+ createdAt: 'createdAt',
1038
+ expiresAt: 'expiresAt',
1039
+ isActive: 'isActive',
1040
+ blacklisted: 'blacklisted'
1041
+ } as const
1042
+
1043
+ export type RefreshTokenScalarFieldEnum = (typeof RefreshTokenScalarFieldEnum)[keyof typeof RefreshTokenScalarFieldEnum]
1044
+
1045
+
1046
+ export const OtpScalarFieldEnum = {
1047
+ id: 'id',
1048
+ userId: 'userId',
1049
+ purpose: 'purpose',
1050
+ type: 'type',
1051
+ secret: 'secret',
1052
+ expiresAt: 'expiresAt',
1053
+ usedAt: 'usedAt',
1054
+ createdAt: 'createdAt',
1055
+ updatedAt: 'updatedAt'
1056
+ } as const
1057
+
1058
+ export type OtpScalarFieldEnum = (typeof OtpScalarFieldEnum)[keyof typeof OtpScalarFieldEnum]
1059
+
1060
+
1061
+ export const NotificationScalarFieldEnum = {
1062
+ id: 'id',
1063
+ userId: 'userId',
1064
+ type: 'type',
1065
+ title: 'title',
1066
+ message: 'message',
1067
+ purpose: 'purpose',
1068
+ metadata: 'metadata',
1069
+ status: 'status',
1070
+ sentAt: 'sentAt',
1071
+ readAt: 'readAt',
1072
+ createdAt: 'createdAt',
1073
+ updatedAt: 'updatedAt'
1074
+ } as const
1075
+
1076
+ export type NotificationScalarFieldEnum = (typeof NotificationScalarFieldEnum)[keyof typeof NotificationScalarFieldEnum]
1077
+
1078
+
1079
+ export const SortOrder = {
1080
+ asc: 'asc',
1081
+ desc: 'desc'
1082
+ } as const
1083
+
1084
+ export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder]
1085
+
1086
+
1087
+ export const NullableJsonNullValueInput = {
1088
+ DbNull: DbNull,
1089
+ JsonNull: JsonNull
1090
+ } as const
1091
+
1092
+ export type NullableJsonNullValueInput = (typeof NullableJsonNullValueInput)[keyof typeof NullableJsonNullValueInput]
1093
+
1094
+
1095
+ export const QueryMode = {
1096
+ default: 'default',
1097
+ insensitive: 'insensitive'
1098
+ } as const
1099
+
1100
+ export type QueryMode = (typeof QueryMode)[keyof typeof QueryMode]
1101
+
1102
+
1103
+ export const NullsOrder = {
1104
+ first: 'first',
1105
+ last: 'last'
1106
+ } as const
1107
+
1108
+ export type NullsOrder = (typeof NullsOrder)[keyof typeof NullsOrder]
1109
+
1110
+
1111
+ export const JsonNullValueFilter = {
1112
+ DbNull: DbNull,
1113
+ JsonNull: JsonNull,
1114
+ AnyNull: AnyNull
1115
+ } as const
1116
+
1117
+ export type JsonNullValueFilter = (typeof JsonNullValueFilter)[keyof typeof JsonNullValueFilter]
1118
+
1119
+
1120
+
1121
+ /**
1122
+ * Field references
1123
+ */
1124
+
1125
+
1126
+ /**
1127
+ * Reference to a field of type 'String'
1128
+ */
1129
+ export type StringFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'String'>
1130
+
1131
+
1132
+
1133
+ /**
1134
+ * Reference to a field of type 'String[]'
1135
+ */
1136
+ export type ListStringFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'String[]'>
1137
+
1138
+
1139
+
1140
+ /**
1141
+ * Reference to a field of type 'Boolean'
1142
+ */
1143
+ export type BooleanFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Boolean'>
1144
+
1145
+
1146
+
1147
+ /**
1148
+ * Reference to a field of type 'DateTime'
1149
+ */
1150
+ export type DateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DateTime'>
1151
+
1152
+
1153
+
1154
+ /**
1155
+ * Reference to a field of type 'DateTime[]'
1156
+ */
1157
+ export type ListDateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DateTime[]'>
1158
+
1159
+
1160
+
1161
+ /**
1162
+ * Reference to a field of type 'UserRole'
1163
+ */
1164
+ export type EnumUserRoleFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'UserRole'>
1165
+
1166
+
1167
+
1168
+ /**
1169
+ * Reference to a field of type 'UserRole[]'
1170
+ */
1171
+ export type ListEnumUserRoleFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'UserRole[]'>
1172
+
1173
+
1174
+
1175
+ /**
1176
+ * Reference to a field of type 'MfaMethod'
1177
+ */
1178
+ export type EnumMfaMethodFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'MfaMethod'>
1179
+
1180
+
1181
+
1182
+ /**
1183
+ * Reference to a field of type 'MfaMethod[]'
1184
+ */
1185
+ export type ListEnumMfaMethodFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'MfaMethod[]'>
1186
+
1187
+
1188
+
1189
+ /**
1190
+ * Reference to a field of type 'OtpPurpose'
1191
+ */
1192
+ export type EnumOtpPurposeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'OtpPurpose'>
1193
+
1194
+
1195
+
1196
+ /**
1197
+ * Reference to a field of type 'OtpPurpose[]'
1198
+ */
1199
+ export type ListEnumOtpPurposeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'OtpPurpose[]'>
1200
+
1201
+
1202
+
1203
+ /**
1204
+ * Reference to a field of type 'OtpType'
1205
+ */
1206
+ export type EnumOtpTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'OtpType'>
1207
+
1208
+
1209
+
1210
+ /**
1211
+ * Reference to a field of type 'OtpType[]'
1212
+ */
1213
+ export type ListEnumOtpTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'OtpType[]'>
1214
+
1215
+
1216
+
1217
+ /**
1218
+ * Reference to a field of type 'NotificationType'
1219
+ */
1220
+ export type EnumNotificationTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'NotificationType'>
1221
+
1222
+
1223
+
1224
+ /**
1225
+ * Reference to a field of type 'NotificationType[]'
1226
+ */
1227
+ export type ListEnumNotificationTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'NotificationType[]'>
1228
+
1229
+
1230
+
1231
+ /**
1232
+ * Reference to a field of type 'Json'
1233
+ */
1234
+ export type JsonFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Json'>
1235
+
1236
+
1237
+
1238
+ /**
1239
+ * Reference to a field of type 'QueryMode'
1240
+ */
1241
+ export type EnumQueryModeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'QueryMode'>
1242
+
1243
+
1244
+
1245
+ /**
1246
+ * Reference to a field of type 'NotificationStatus'
1247
+ */
1248
+ export type EnumNotificationStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'NotificationStatus'>
1249
+
1250
+
1251
+
1252
+ /**
1253
+ * Reference to a field of type 'NotificationStatus[]'
1254
+ */
1255
+ export type ListEnumNotificationStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'NotificationStatus[]'>
1256
+
1257
+
1258
+
1259
+ /**
1260
+ * Reference to a field of type 'Int'
1261
+ */
1262
+ export type IntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Int'>
1263
+
1264
+
1265
+
1266
+ /**
1267
+ * Reference to a field of type 'Int[]'
1268
+ */
1269
+ export type ListIntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Int[]'>
1270
+
1271
+
1272
+ /**
1273
+ * Batch Payload for updateMany & deleteMany & createMany
1274
+ */
1275
+ export type BatchPayload = {
1276
+ count: number
1277
+ }
1278
+
1279
+ export const defineExtension = runtime.Extensions.defineExtension as unknown as runtime.Types.Extensions.ExtendsHook<"define", TypeMapCb, runtime.Types.Extensions.DefaultArgs>
1280
+ export type DefaultPrismaClient = PrismaClient
1281
+ export type ErrorFormat = 'pretty' | 'colorless' | 'minimal'
1282
+ export type PrismaClientOptions = ({
1283
+ /**
1284
+ * Instance of a Driver Adapter, e.g., like one provided by `@prisma/adapter-pg`.
1285
+ */
1286
+ adapter: runtime.SqlDriverAdapterFactory
1287
+ accelerateUrl?: never
1288
+ } | {
1289
+ /**
1290
+ * Prisma Accelerate URL allowing the client to connect through Accelerate instead of a direct database.
1291
+ */
1292
+ accelerateUrl: string
1293
+ adapter?: never
1294
+ }) & {
1295
+ /**
1296
+ * @default "colorless"
1297
+ */
1298
+ errorFormat?: ErrorFormat
1299
+ /**
1300
+ * @example
1301
+ * ```
1302
+ * // Shorthand for `emit: 'stdout'`
1303
+ * log: ['query', 'info', 'warn', 'error']
1304
+ *
1305
+ * // Emit as events only
1306
+ * log: [
1307
+ * { emit: 'event', level: 'query' },
1308
+ * { emit: 'event', level: 'info' },
1309
+ * { emit: 'event', level: 'warn' }
1310
+ * { emit: 'event', level: 'error' }
1311
+ * ]
1312
+ *
1313
+ * / Emit as events and log to stdout
1314
+ * og: [
1315
+ * { emit: 'stdout', level: 'query' },
1316
+ * { emit: 'stdout', level: 'info' },
1317
+ * { emit: 'stdout', level: 'warn' }
1318
+ * { emit: 'stdout', level: 'error' }
1319
+ *
1320
+ * ```
1321
+ * Read more in our [docs](https://pris.ly/d/logging).
1322
+ */
1323
+ log?: (LogLevel | LogDefinition)[]
1324
+ /**
1325
+ * The default values for transactionOptions
1326
+ * maxWait ?= 2000
1327
+ * timeout ?= 5000
1328
+ */
1329
+ transactionOptions?: {
1330
+ maxWait?: number
1331
+ timeout?: number
1332
+ isolationLevel?: TransactionIsolationLevel
1333
+ }
1334
+ /**
1335
+ * Global configuration for omitting model fields by default.
1336
+ *
1337
+ * @example
1338
+ * ```
1339
+ * const prisma = new PrismaClient({
1340
+ * omit: {
1341
+ * user: {
1342
+ * password: true
1343
+ * }
1344
+ * }
1345
+ * })
1346
+ * ```
1347
+ */
1348
+ omit?: GlobalOmitConfig
1349
+ /**
1350
+ * SQL commenter plugins that add metadata to SQL queries as comments.
1351
+ * Comments follow the sqlcommenter format: https://google.github.io/sqlcommenter/
1352
+ *
1353
+ * @example
1354
+ * ```
1355
+ * const prisma = new PrismaClient({
1356
+ * adapter,
1357
+ * comments: [
1358
+ * traceContext(),
1359
+ * queryInsights(),
1360
+ * ],
1361
+ * })
1362
+ * ```
1363
+ */
1364
+ comments?: runtime.SqlCommenterPlugin[]
1365
+ }
1366
+ export type GlobalOmitConfig = {
1367
+ user?: Prisma.UserOmit
1368
+ roleAssignment?: Prisma.RoleAssignmentOmit
1369
+ securitySetting?: Prisma.SecuritySettingOmit
1370
+ backupCode?: Prisma.BackupCodeOmit
1371
+ refreshToken?: Prisma.RefreshTokenOmit
1372
+ otp?: Prisma.OtpOmit
1373
+ notification?: Prisma.NotificationOmit
1374
+ }
1375
+
1376
+ /* Types for Logging */
1377
+ export type LogLevel = 'info' | 'query' | 'warn' | 'error'
1378
+ export type LogDefinition = {
1379
+ level: LogLevel
1380
+ emit: 'stdout' | 'event'
1381
+ }
1382
+
1383
+ export type CheckIsLogLevel<T> = T extends LogLevel ? T : never;
1384
+
1385
+ export type GetLogType<T> = CheckIsLogLevel<
1386
+ T extends LogDefinition ? T['level'] : T
1387
+ >;
1388
+
1389
+ export type GetEvents<T extends any[]> = T extends Array<LogLevel | LogDefinition>
1390
+ ? GetLogType<T[number]>
1391
+ : never;
1392
+
1393
+ export type QueryEvent = {
1394
+ timestamp: Date
1395
+ query: string
1396
+ params: string
1397
+ duration: number
1398
+ target: string
1399
+ }
1400
+
1401
+ export type LogEvent = {
1402
+ timestamp: Date
1403
+ message: string
1404
+ target: string
1405
+ }
1406
+ /* End Types for Logging */
1407
+
1408
+
1409
+ export type PrismaAction =
1410
+ | 'findUnique'
1411
+ | 'findUniqueOrThrow'
1412
+ | 'findMany'
1413
+ | 'findFirst'
1414
+ | 'findFirstOrThrow'
1415
+ | 'create'
1416
+ | 'createMany'
1417
+ | 'createManyAndReturn'
1418
+ | 'update'
1419
+ | 'updateMany'
1420
+ | 'updateManyAndReturn'
1421
+ | 'upsert'
1422
+ | 'delete'
1423
+ | 'deleteMany'
1424
+ | 'executeRaw'
1425
+ | 'queryRaw'
1426
+ | 'aggregate'
1427
+ | 'count'
1428
+ | 'runCommandRaw'
1429
+ | 'findRaw'
1430
+ | 'groupBy'
1431
+
1432
+ /**
1433
+ * `PrismaClient` proxy available in interactive transactions.
1434
+ */
1435
+ export type TransactionClient = Omit<DefaultPrismaClient, runtime.ITXClientDenyList>
1436
+