@valentine-efagene/qshelter-common 2.0.87 → 2.0.89

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 (32) hide show
  1. package/dist/generated/client/browser.d.ts +10 -2
  2. package/dist/generated/client/client.d.ts +10 -2
  3. package/dist/generated/client/commonInputTypes.d.ts +30 -0
  4. package/dist/generated/client/enums.d.ts +5 -0
  5. package/dist/generated/client/enums.js +4 -0
  6. package/dist/generated/client/internal/class.d.ts +11 -0
  7. package/dist/generated/client/internal/class.js +2 -2
  8. package/dist/generated/client/internal/prismaNamespace.d.ts +113 -16
  9. package/dist/generated/client/internal/prismaNamespace.js +38 -14
  10. package/dist/generated/client/internal/prismaNamespaceBrowser.d.ts +41 -15
  11. package/dist/generated/client/internal/prismaNamespaceBrowser.js +38 -14
  12. package/dist/generated/client/models/Permission.d.ts +333 -68
  13. package/dist/generated/client/models/Role.d.ts +403 -3
  14. package/dist/generated/client/models/Tenant.d.ts +761 -4
  15. package/dist/generated/client/models/TenantMembership.d.ts +1395 -0
  16. package/dist/generated/client/models/TenantMembership.js +1 -0
  17. package/dist/generated/client/models/User.d.ts +375 -0
  18. package/dist/generated/client/models/UserRole.d.ts +2 -1
  19. package/dist/generated/client/models/index.d.ts +5 -0
  20. package/dist/generated/client/models/index.js +5 -0
  21. package/dist/generated/client/models.d.ts +1 -0
  22. package/dist/src/events/index.d.ts +2 -0
  23. package/dist/src/events/index.js +3 -0
  24. package/dist/src/events/policies/index.d.ts +2 -0
  25. package/dist/src/events/policies/index.js +2 -0
  26. package/dist/src/events/policies/policy-event.d.ts +89 -0
  27. package/dist/src/events/policies/policy-event.js +22 -0
  28. package/dist/src/events/policies/policy-publisher.d.ts +60 -0
  29. package/dist/src/events/policies/policy-publisher.js +128 -0
  30. package/dist/src/prisma/tenant.js +13 -5
  31. package/package.json +1 -1
  32. package/prisma/schema.prisma +84 -20
@@ -1,8 +1,10 @@
1
1
  import type * as runtime from "@prisma/client/runtime/client";
2
+ import type * as $Enums from "../enums.js";
2
3
  import type * as Prisma from "../internal/prismaNamespace.js";
3
4
  /**
4
5
  * Model Permission
5
- *
6
+ * Permission defines a path pattern + HTTP methods + effect
7
+ * Supports path-based authorization matching the authorizer's policy structure
6
8
  */
7
9
  export type PermissionModel = runtime.Types.Result.DefaultSelection<Prisma.$PermissionPayload>;
8
10
  export type AggregatePermission = {
@@ -14,8 +16,10 @@ export type PermissionMinAggregateOutputType = {
14
16
  id: string | null;
15
17
  name: string | null;
16
18
  description: string | null;
17
- resource: string | null;
18
- action: string | null;
19
+ path: string | null;
20
+ effect: $Enums.PermissionEffect | null;
21
+ tenantId: string | null;
22
+ isSystem: boolean | null;
19
23
  createdAt: Date | null;
20
24
  updatedAt: Date | null;
21
25
  };
@@ -23,8 +27,10 @@ export type PermissionMaxAggregateOutputType = {
23
27
  id: string | null;
24
28
  name: string | null;
25
29
  description: string | null;
26
- resource: string | null;
27
- action: string | null;
30
+ path: string | null;
31
+ effect: $Enums.PermissionEffect | null;
32
+ tenantId: string | null;
33
+ isSystem: boolean | null;
28
34
  createdAt: Date | null;
29
35
  updatedAt: Date | null;
30
36
  };
@@ -32,8 +38,11 @@ export type PermissionCountAggregateOutputType = {
32
38
  id: number;
33
39
  name: number;
34
40
  description: number;
35
- resource: number;
36
- action: number;
41
+ path: number;
42
+ methods: number;
43
+ effect: number;
44
+ tenantId: number;
45
+ isSystem: number;
37
46
  createdAt: number;
38
47
  updatedAt: number;
39
48
  _all: number;
@@ -42,8 +51,10 @@ export type PermissionMinAggregateInputType = {
42
51
  id?: true;
43
52
  name?: true;
44
53
  description?: true;
45
- resource?: true;
46
- action?: true;
54
+ path?: true;
55
+ effect?: true;
56
+ tenantId?: true;
57
+ isSystem?: true;
47
58
  createdAt?: true;
48
59
  updatedAt?: true;
49
60
  };
@@ -51,8 +62,10 @@ export type PermissionMaxAggregateInputType = {
51
62
  id?: true;
52
63
  name?: true;
53
64
  description?: true;
54
- resource?: true;
55
- action?: true;
65
+ path?: true;
66
+ effect?: true;
67
+ tenantId?: true;
68
+ isSystem?: true;
56
69
  createdAt?: true;
57
70
  updatedAt?: true;
58
71
  };
@@ -60,8 +73,11 @@ export type PermissionCountAggregateInputType = {
60
73
  id?: true;
61
74
  name?: true;
62
75
  description?: true;
63
- resource?: true;
64
- action?: true;
76
+ path?: true;
77
+ methods?: true;
78
+ effect?: true;
79
+ tenantId?: true;
80
+ isSystem?: true;
65
81
  createdAt?: true;
66
82
  updatedAt?: true;
67
83
  _all?: true;
@@ -132,8 +148,11 @@ export type PermissionGroupByOutputType = {
132
148
  id: string;
133
149
  name: string;
134
150
  description: string | null;
135
- resource: string;
136
- action: string;
151
+ path: string;
152
+ methods: runtime.JsonValue;
153
+ effect: $Enums.PermissionEffect;
154
+ tenantId: string | null;
155
+ isSystem: boolean;
137
156
  createdAt: Date;
138
157
  updatedAt: Date;
139
158
  _count: PermissionCountAggregateOutputType | null;
@@ -150,43 +169,58 @@ export type PermissionWhereInput = {
150
169
  id?: Prisma.StringFilter<"Permission"> | string;
151
170
  name?: Prisma.StringFilter<"Permission"> | string;
152
171
  description?: Prisma.StringNullableFilter<"Permission"> | string | null;
153
- resource?: Prisma.StringFilter<"Permission"> | string;
154
- action?: Prisma.StringFilter<"Permission"> | string;
172
+ path?: Prisma.StringFilter<"Permission"> | string;
173
+ methods?: Prisma.JsonFilter<"Permission">;
174
+ effect?: Prisma.EnumPermissionEffectFilter<"Permission"> | $Enums.PermissionEffect;
175
+ tenantId?: Prisma.StringNullableFilter<"Permission"> | string | null;
176
+ isSystem?: Prisma.BoolFilter<"Permission"> | boolean;
155
177
  createdAt?: Prisma.DateTimeFilter<"Permission"> | Date | string;
156
178
  updatedAt?: Prisma.DateTimeFilter<"Permission"> | Date | string;
179
+ tenant?: Prisma.XOR<Prisma.TenantNullableScalarRelationFilter, Prisma.TenantWhereInput> | null;
157
180
  roles?: Prisma.RolePermissionListRelationFilter;
158
181
  };
159
182
  export type PermissionOrderByWithRelationInput = {
160
183
  id?: Prisma.SortOrder;
161
184
  name?: Prisma.SortOrder;
162
185
  description?: Prisma.SortOrderInput | Prisma.SortOrder;
163
- resource?: Prisma.SortOrder;
164
- action?: Prisma.SortOrder;
186
+ path?: Prisma.SortOrder;
187
+ methods?: Prisma.SortOrder;
188
+ effect?: Prisma.SortOrder;
189
+ tenantId?: Prisma.SortOrderInput | Prisma.SortOrder;
190
+ isSystem?: Prisma.SortOrder;
165
191
  createdAt?: Prisma.SortOrder;
166
192
  updatedAt?: Prisma.SortOrder;
193
+ tenant?: Prisma.TenantOrderByWithRelationInput;
167
194
  roles?: Prisma.RolePermissionOrderByRelationAggregateInput;
168
195
  _relevance?: Prisma.PermissionOrderByRelevanceInput;
169
196
  };
170
197
  export type PermissionWhereUniqueInput = Prisma.AtLeast<{
171
198
  id?: string;
172
- name?: string;
173
- resource_action?: Prisma.PermissionResourceActionCompoundUniqueInput;
199
+ path_tenantId?: Prisma.PermissionPathTenantIdCompoundUniqueInput;
174
200
  AND?: Prisma.PermissionWhereInput | Prisma.PermissionWhereInput[];
175
201
  OR?: Prisma.PermissionWhereInput[];
176
202
  NOT?: Prisma.PermissionWhereInput | Prisma.PermissionWhereInput[];
203
+ name?: Prisma.StringFilter<"Permission"> | string;
177
204
  description?: Prisma.StringNullableFilter<"Permission"> | string | null;
178
- resource?: Prisma.StringFilter<"Permission"> | string;
179
- action?: Prisma.StringFilter<"Permission"> | string;
205
+ path?: Prisma.StringFilter<"Permission"> | string;
206
+ methods?: Prisma.JsonFilter<"Permission">;
207
+ effect?: Prisma.EnumPermissionEffectFilter<"Permission"> | $Enums.PermissionEffect;
208
+ tenantId?: Prisma.StringNullableFilter<"Permission"> | string | null;
209
+ isSystem?: Prisma.BoolFilter<"Permission"> | boolean;
180
210
  createdAt?: Prisma.DateTimeFilter<"Permission"> | Date | string;
181
211
  updatedAt?: Prisma.DateTimeFilter<"Permission"> | Date | string;
212
+ tenant?: Prisma.XOR<Prisma.TenantNullableScalarRelationFilter, Prisma.TenantWhereInput> | null;
182
213
  roles?: Prisma.RolePermissionListRelationFilter;
183
- }, "id" | "name" | "resource_action">;
214
+ }, "id" | "path_tenantId">;
184
215
  export type PermissionOrderByWithAggregationInput = {
185
216
  id?: Prisma.SortOrder;
186
217
  name?: Prisma.SortOrder;
187
218
  description?: Prisma.SortOrderInput | Prisma.SortOrder;
188
- resource?: Prisma.SortOrder;
189
- action?: Prisma.SortOrder;
219
+ path?: Prisma.SortOrder;
220
+ methods?: Prisma.SortOrder;
221
+ effect?: Prisma.SortOrder;
222
+ tenantId?: Prisma.SortOrderInput | Prisma.SortOrder;
223
+ isSystem?: Prisma.SortOrder;
190
224
  createdAt?: Prisma.SortOrder;
191
225
  updatedAt?: Prisma.SortOrder;
192
226
  _count?: Prisma.PermissionCountOrderByAggregateInput;
@@ -200,8 +234,11 @@ export type PermissionScalarWhereWithAggregatesInput = {
200
234
  id?: Prisma.StringWithAggregatesFilter<"Permission"> | string;
201
235
  name?: Prisma.StringWithAggregatesFilter<"Permission"> | string;
202
236
  description?: Prisma.StringNullableWithAggregatesFilter<"Permission"> | string | null;
203
- resource?: Prisma.StringWithAggregatesFilter<"Permission"> | string;
204
- action?: Prisma.StringWithAggregatesFilter<"Permission"> | string;
237
+ path?: Prisma.StringWithAggregatesFilter<"Permission"> | string;
238
+ methods?: Prisma.JsonWithAggregatesFilter<"Permission">;
239
+ effect?: Prisma.EnumPermissionEffectWithAggregatesFilter<"Permission"> | $Enums.PermissionEffect;
240
+ tenantId?: Prisma.StringNullableWithAggregatesFilter<"Permission"> | string | null;
241
+ isSystem?: Prisma.BoolWithAggregatesFilter<"Permission"> | boolean;
205
242
  createdAt?: Prisma.DateTimeWithAggregatesFilter<"Permission"> | Date | string;
206
243
  updatedAt?: Prisma.DateTimeWithAggregatesFilter<"Permission"> | Date | string;
207
244
  };
@@ -209,18 +246,24 @@ export type PermissionCreateInput = {
209
246
  id?: string;
210
247
  name: string;
211
248
  description?: string | null;
212
- resource: string;
213
- action: string;
249
+ path: string;
250
+ methods?: Prisma.JsonNullValueInput | runtime.InputJsonValue;
251
+ effect?: $Enums.PermissionEffect;
252
+ isSystem?: boolean;
214
253
  createdAt?: Date | string;
215
254
  updatedAt?: Date | string;
255
+ tenant?: Prisma.TenantCreateNestedOneWithoutPermissionsInput;
216
256
  roles?: Prisma.RolePermissionCreateNestedManyWithoutPermissionInput;
217
257
  };
218
258
  export type PermissionUncheckedCreateInput = {
219
259
  id?: string;
220
260
  name: string;
221
261
  description?: string | null;
222
- resource: string;
223
- action: string;
262
+ path: string;
263
+ methods?: Prisma.JsonNullValueInput | runtime.InputJsonValue;
264
+ effect?: $Enums.PermissionEffect;
265
+ tenantId?: string | null;
266
+ isSystem?: boolean;
224
267
  createdAt?: Date | string;
225
268
  updatedAt?: Date | string;
226
269
  roles?: Prisma.RolePermissionUncheckedCreateNestedManyWithoutPermissionInput;
@@ -229,18 +272,24 @@ export type PermissionUpdateInput = {
229
272
  id?: Prisma.StringFieldUpdateOperationsInput | string;
230
273
  name?: Prisma.StringFieldUpdateOperationsInput | string;
231
274
  description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
232
- resource?: Prisma.StringFieldUpdateOperationsInput | string;
233
- action?: Prisma.StringFieldUpdateOperationsInput | string;
275
+ path?: Prisma.StringFieldUpdateOperationsInput | string;
276
+ methods?: Prisma.JsonNullValueInput | runtime.InputJsonValue;
277
+ effect?: Prisma.EnumPermissionEffectFieldUpdateOperationsInput | $Enums.PermissionEffect;
278
+ isSystem?: Prisma.BoolFieldUpdateOperationsInput | boolean;
234
279
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
235
280
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
281
+ tenant?: Prisma.TenantUpdateOneWithoutPermissionsNestedInput;
236
282
  roles?: Prisma.RolePermissionUpdateManyWithoutPermissionNestedInput;
237
283
  };
238
284
  export type PermissionUncheckedUpdateInput = {
239
285
  id?: Prisma.StringFieldUpdateOperationsInput | string;
240
286
  name?: Prisma.StringFieldUpdateOperationsInput | string;
241
287
  description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
242
- resource?: Prisma.StringFieldUpdateOperationsInput | string;
243
- action?: Prisma.StringFieldUpdateOperationsInput | string;
288
+ path?: Prisma.StringFieldUpdateOperationsInput | string;
289
+ methods?: Prisma.JsonNullValueInput | runtime.InputJsonValue;
290
+ effect?: Prisma.EnumPermissionEffectFieldUpdateOperationsInput | $Enums.PermissionEffect;
291
+ tenantId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
292
+ isSystem?: Prisma.BoolFieldUpdateOperationsInput | boolean;
244
293
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
245
294
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
246
295
  roles?: Prisma.RolePermissionUncheckedUpdateManyWithoutPermissionNestedInput;
@@ -249,8 +298,11 @@ export type PermissionCreateManyInput = {
249
298
  id?: string;
250
299
  name: string;
251
300
  description?: string | null;
252
- resource: string;
253
- action: string;
301
+ path: string;
302
+ methods?: Prisma.JsonNullValueInput | runtime.InputJsonValue;
303
+ effect?: $Enums.PermissionEffect;
304
+ tenantId?: string | null;
305
+ isSystem?: boolean;
254
306
  createdAt?: Date | string;
255
307
  updatedAt?: Date | string;
256
308
  };
@@ -258,8 +310,10 @@ export type PermissionUpdateManyMutationInput = {
258
310
  id?: Prisma.StringFieldUpdateOperationsInput | string;
259
311
  name?: Prisma.StringFieldUpdateOperationsInput | string;
260
312
  description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
261
- resource?: Prisma.StringFieldUpdateOperationsInput | string;
262
- action?: Prisma.StringFieldUpdateOperationsInput | string;
313
+ path?: Prisma.StringFieldUpdateOperationsInput | string;
314
+ methods?: Prisma.JsonNullValueInput | runtime.InputJsonValue;
315
+ effect?: Prisma.EnumPermissionEffectFieldUpdateOperationsInput | $Enums.PermissionEffect;
316
+ isSystem?: Prisma.BoolFieldUpdateOperationsInput | boolean;
263
317
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
264
318
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
265
319
  };
@@ -267,8 +321,11 @@ export type PermissionUncheckedUpdateManyInput = {
267
321
  id?: Prisma.StringFieldUpdateOperationsInput | string;
268
322
  name?: Prisma.StringFieldUpdateOperationsInput | string;
269
323
  description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
270
- resource?: Prisma.StringFieldUpdateOperationsInput | string;
271
- action?: Prisma.StringFieldUpdateOperationsInput | string;
324
+ path?: Prisma.StringFieldUpdateOperationsInput | string;
325
+ methods?: Prisma.JsonNullValueInput | runtime.InputJsonValue;
326
+ effect?: Prisma.EnumPermissionEffectFieldUpdateOperationsInput | $Enums.PermissionEffect;
327
+ tenantId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
328
+ isSystem?: Prisma.BoolFieldUpdateOperationsInput | boolean;
272
329
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
273
330
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
274
331
  };
@@ -277,16 +334,19 @@ export type PermissionOrderByRelevanceInput = {
277
334
  sort: Prisma.SortOrder;
278
335
  search: string;
279
336
  };
280
- export type PermissionResourceActionCompoundUniqueInput = {
281
- resource: string;
282
- action: string;
337
+ export type PermissionPathTenantIdCompoundUniqueInput = {
338
+ path: string;
339
+ tenantId: string;
283
340
  };
284
341
  export type PermissionCountOrderByAggregateInput = {
285
342
  id?: Prisma.SortOrder;
286
343
  name?: Prisma.SortOrder;
287
344
  description?: Prisma.SortOrder;
288
- resource?: Prisma.SortOrder;
289
- action?: Prisma.SortOrder;
345
+ path?: Prisma.SortOrder;
346
+ methods?: Prisma.SortOrder;
347
+ effect?: Prisma.SortOrder;
348
+ tenantId?: Prisma.SortOrder;
349
+ isSystem?: Prisma.SortOrder;
290
350
  createdAt?: Prisma.SortOrder;
291
351
  updatedAt?: Prisma.SortOrder;
292
352
  };
@@ -294,8 +354,10 @@ export type PermissionMaxOrderByAggregateInput = {
294
354
  id?: Prisma.SortOrder;
295
355
  name?: Prisma.SortOrder;
296
356
  description?: Prisma.SortOrder;
297
- resource?: Prisma.SortOrder;
298
- action?: Prisma.SortOrder;
357
+ path?: Prisma.SortOrder;
358
+ effect?: Prisma.SortOrder;
359
+ tenantId?: Prisma.SortOrder;
360
+ isSystem?: Prisma.SortOrder;
299
361
  createdAt?: Prisma.SortOrder;
300
362
  updatedAt?: Prisma.SortOrder;
301
363
  };
@@ -303,8 +365,10 @@ export type PermissionMinOrderByAggregateInput = {
303
365
  id?: Prisma.SortOrder;
304
366
  name?: Prisma.SortOrder;
305
367
  description?: Prisma.SortOrder;
306
- resource?: Prisma.SortOrder;
307
- action?: Prisma.SortOrder;
368
+ path?: Prisma.SortOrder;
369
+ effect?: Prisma.SortOrder;
370
+ tenantId?: Prisma.SortOrder;
371
+ isSystem?: Prisma.SortOrder;
308
372
  createdAt?: Prisma.SortOrder;
309
373
  updatedAt?: Prisma.SortOrder;
310
374
  };
@@ -312,6 +376,17 @@ export type PermissionScalarRelationFilter = {
312
376
  is?: Prisma.PermissionWhereInput;
313
377
  isNot?: Prisma.PermissionWhereInput;
314
378
  };
379
+ export type PermissionListRelationFilter = {
380
+ every?: Prisma.PermissionWhereInput;
381
+ some?: Prisma.PermissionWhereInput;
382
+ none?: Prisma.PermissionWhereInput;
383
+ };
384
+ export type PermissionOrderByRelationAggregateInput = {
385
+ _count?: Prisma.SortOrder;
386
+ };
387
+ export type EnumPermissionEffectFieldUpdateOperationsInput = {
388
+ set?: $Enums.PermissionEffect;
389
+ };
315
390
  export type PermissionCreateNestedOneWithoutRolesInput = {
316
391
  create?: Prisma.XOR<Prisma.PermissionCreateWithoutRolesInput, Prisma.PermissionUncheckedCreateWithoutRolesInput>;
317
392
  connectOrCreate?: Prisma.PermissionCreateOrConnectWithoutRolesInput;
@@ -324,21 +399,65 @@ export type PermissionUpdateOneRequiredWithoutRolesNestedInput = {
324
399
  connect?: Prisma.PermissionWhereUniqueInput;
325
400
  update?: Prisma.XOR<Prisma.XOR<Prisma.PermissionUpdateToOneWithWhereWithoutRolesInput, Prisma.PermissionUpdateWithoutRolesInput>, Prisma.PermissionUncheckedUpdateWithoutRolesInput>;
326
401
  };
402
+ export type PermissionCreateNestedManyWithoutTenantInput = {
403
+ create?: Prisma.XOR<Prisma.PermissionCreateWithoutTenantInput, Prisma.PermissionUncheckedCreateWithoutTenantInput> | Prisma.PermissionCreateWithoutTenantInput[] | Prisma.PermissionUncheckedCreateWithoutTenantInput[];
404
+ connectOrCreate?: Prisma.PermissionCreateOrConnectWithoutTenantInput | Prisma.PermissionCreateOrConnectWithoutTenantInput[];
405
+ createMany?: Prisma.PermissionCreateManyTenantInputEnvelope;
406
+ connect?: Prisma.PermissionWhereUniqueInput | Prisma.PermissionWhereUniqueInput[];
407
+ };
408
+ export type PermissionUncheckedCreateNestedManyWithoutTenantInput = {
409
+ create?: Prisma.XOR<Prisma.PermissionCreateWithoutTenantInput, Prisma.PermissionUncheckedCreateWithoutTenantInput> | Prisma.PermissionCreateWithoutTenantInput[] | Prisma.PermissionUncheckedCreateWithoutTenantInput[];
410
+ connectOrCreate?: Prisma.PermissionCreateOrConnectWithoutTenantInput | Prisma.PermissionCreateOrConnectWithoutTenantInput[];
411
+ createMany?: Prisma.PermissionCreateManyTenantInputEnvelope;
412
+ connect?: Prisma.PermissionWhereUniqueInput | Prisma.PermissionWhereUniqueInput[];
413
+ };
414
+ export type PermissionUpdateManyWithoutTenantNestedInput = {
415
+ create?: Prisma.XOR<Prisma.PermissionCreateWithoutTenantInput, Prisma.PermissionUncheckedCreateWithoutTenantInput> | Prisma.PermissionCreateWithoutTenantInput[] | Prisma.PermissionUncheckedCreateWithoutTenantInput[];
416
+ connectOrCreate?: Prisma.PermissionCreateOrConnectWithoutTenantInput | Prisma.PermissionCreateOrConnectWithoutTenantInput[];
417
+ upsert?: Prisma.PermissionUpsertWithWhereUniqueWithoutTenantInput | Prisma.PermissionUpsertWithWhereUniqueWithoutTenantInput[];
418
+ createMany?: Prisma.PermissionCreateManyTenantInputEnvelope;
419
+ set?: Prisma.PermissionWhereUniqueInput | Prisma.PermissionWhereUniqueInput[];
420
+ disconnect?: Prisma.PermissionWhereUniqueInput | Prisma.PermissionWhereUniqueInput[];
421
+ delete?: Prisma.PermissionWhereUniqueInput | Prisma.PermissionWhereUniqueInput[];
422
+ connect?: Prisma.PermissionWhereUniqueInput | Prisma.PermissionWhereUniqueInput[];
423
+ update?: Prisma.PermissionUpdateWithWhereUniqueWithoutTenantInput | Prisma.PermissionUpdateWithWhereUniqueWithoutTenantInput[];
424
+ updateMany?: Prisma.PermissionUpdateManyWithWhereWithoutTenantInput | Prisma.PermissionUpdateManyWithWhereWithoutTenantInput[];
425
+ deleteMany?: Prisma.PermissionScalarWhereInput | Prisma.PermissionScalarWhereInput[];
426
+ };
427
+ export type PermissionUncheckedUpdateManyWithoutTenantNestedInput = {
428
+ create?: Prisma.XOR<Prisma.PermissionCreateWithoutTenantInput, Prisma.PermissionUncheckedCreateWithoutTenantInput> | Prisma.PermissionCreateWithoutTenantInput[] | Prisma.PermissionUncheckedCreateWithoutTenantInput[];
429
+ connectOrCreate?: Prisma.PermissionCreateOrConnectWithoutTenantInput | Prisma.PermissionCreateOrConnectWithoutTenantInput[];
430
+ upsert?: Prisma.PermissionUpsertWithWhereUniqueWithoutTenantInput | Prisma.PermissionUpsertWithWhereUniqueWithoutTenantInput[];
431
+ createMany?: Prisma.PermissionCreateManyTenantInputEnvelope;
432
+ set?: Prisma.PermissionWhereUniqueInput | Prisma.PermissionWhereUniqueInput[];
433
+ disconnect?: Prisma.PermissionWhereUniqueInput | Prisma.PermissionWhereUniqueInput[];
434
+ delete?: Prisma.PermissionWhereUniqueInput | Prisma.PermissionWhereUniqueInput[];
435
+ connect?: Prisma.PermissionWhereUniqueInput | Prisma.PermissionWhereUniqueInput[];
436
+ update?: Prisma.PermissionUpdateWithWhereUniqueWithoutTenantInput | Prisma.PermissionUpdateWithWhereUniqueWithoutTenantInput[];
437
+ updateMany?: Prisma.PermissionUpdateManyWithWhereWithoutTenantInput | Prisma.PermissionUpdateManyWithWhereWithoutTenantInput[];
438
+ deleteMany?: Prisma.PermissionScalarWhereInput | Prisma.PermissionScalarWhereInput[];
439
+ };
327
440
  export type PermissionCreateWithoutRolesInput = {
328
441
  id?: string;
329
442
  name: string;
330
443
  description?: string | null;
331
- resource: string;
332
- action: string;
444
+ path: string;
445
+ methods?: Prisma.JsonNullValueInput | runtime.InputJsonValue;
446
+ effect?: $Enums.PermissionEffect;
447
+ isSystem?: boolean;
333
448
  createdAt?: Date | string;
334
449
  updatedAt?: Date | string;
450
+ tenant?: Prisma.TenantCreateNestedOneWithoutPermissionsInput;
335
451
  };
336
452
  export type PermissionUncheckedCreateWithoutRolesInput = {
337
453
  id?: string;
338
454
  name: string;
339
455
  description?: string | null;
340
- resource: string;
341
- action: string;
456
+ path: string;
457
+ methods?: Prisma.JsonNullValueInput | runtime.InputJsonValue;
458
+ effect?: $Enums.PermissionEffect;
459
+ tenantId?: string | null;
460
+ isSystem?: boolean;
342
461
  createdAt?: Date | string;
343
462
  updatedAt?: Date | string;
344
463
  };
@@ -359,17 +478,129 @@ export type PermissionUpdateWithoutRolesInput = {
359
478
  id?: Prisma.StringFieldUpdateOperationsInput | string;
360
479
  name?: Prisma.StringFieldUpdateOperationsInput | string;
361
480
  description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
362
- resource?: Prisma.StringFieldUpdateOperationsInput | string;
363
- action?: Prisma.StringFieldUpdateOperationsInput | string;
481
+ path?: Prisma.StringFieldUpdateOperationsInput | string;
482
+ methods?: Prisma.JsonNullValueInput | runtime.InputJsonValue;
483
+ effect?: Prisma.EnumPermissionEffectFieldUpdateOperationsInput | $Enums.PermissionEffect;
484
+ isSystem?: Prisma.BoolFieldUpdateOperationsInput | boolean;
364
485
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
365
486
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
487
+ tenant?: Prisma.TenantUpdateOneWithoutPermissionsNestedInput;
366
488
  };
367
489
  export type PermissionUncheckedUpdateWithoutRolesInput = {
368
490
  id?: Prisma.StringFieldUpdateOperationsInput | string;
369
491
  name?: Prisma.StringFieldUpdateOperationsInput | string;
370
492
  description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
371
- resource?: Prisma.StringFieldUpdateOperationsInput | string;
372
- action?: Prisma.StringFieldUpdateOperationsInput | string;
493
+ path?: Prisma.StringFieldUpdateOperationsInput | string;
494
+ methods?: Prisma.JsonNullValueInput | runtime.InputJsonValue;
495
+ effect?: Prisma.EnumPermissionEffectFieldUpdateOperationsInput | $Enums.PermissionEffect;
496
+ tenantId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
497
+ isSystem?: Prisma.BoolFieldUpdateOperationsInput | boolean;
498
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
499
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
500
+ };
501
+ export type PermissionCreateWithoutTenantInput = {
502
+ id?: string;
503
+ name: string;
504
+ description?: string | null;
505
+ path: string;
506
+ methods?: Prisma.JsonNullValueInput | runtime.InputJsonValue;
507
+ effect?: $Enums.PermissionEffect;
508
+ isSystem?: boolean;
509
+ createdAt?: Date | string;
510
+ updatedAt?: Date | string;
511
+ roles?: Prisma.RolePermissionCreateNestedManyWithoutPermissionInput;
512
+ };
513
+ export type PermissionUncheckedCreateWithoutTenantInput = {
514
+ id?: string;
515
+ name: string;
516
+ description?: string | null;
517
+ path: string;
518
+ methods?: Prisma.JsonNullValueInput | runtime.InputJsonValue;
519
+ effect?: $Enums.PermissionEffect;
520
+ isSystem?: boolean;
521
+ createdAt?: Date | string;
522
+ updatedAt?: Date | string;
523
+ roles?: Prisma.RolePermissionUncheckedCreateNestedManyWithoutPermissionInput;
524
+ };
525
+ export type PermissionCreateOrConnectWithoutTenantInput = {
526
+ where: Prisma.PermissionWhereUniqueInput;
527
+ create: Prisma.XOR<Prisma.PermissionCreateWithoutTenantInput, Prisma.PermissionUncheckedCreateWithoutTenantInput>;
528
+ };
529
+ export type PermissionCreateManyTenantInputEnvelope = {
530
+ data: Prisma.PermissionCreateManyTenantInput | Prisma.PermissionCreateManyTenantInput[];
531
+ skipDuplicates?: boolean;
532
+ };
533
+ export type PermissionUpsertWithWhereUniqueWithoutTenantInput = {
534
+ where: Prisma.PermissionWhereUniqueInput;
535
+ update: Prisma.XOR<Prisma.PermissionUpdateWithoutTenantInput, Prisma.PermissionUncheckedUpdateWithoutTenantInput>;
536
+ create: Prisma.XOR<Prisma.PermissionCreateWithoutTenantInput, Prisma.PermissionUncheckedCreateWithoutTenantInput>;
537
+ };
538
+ export type PermissionUpdateWithWhereUniqueWithoutTenantInput = {
539
+ where: Prisma.PermissionWhereUniqueInput;
540
+ data: Prisma.XOR<Prisma.PermissionUpdateWithoutTenantInput, Prisma.PermissionUncheckedUpdateWithoutTenantInput>;
541
+ };
542
+ export type PermissionUpdateManyWithWhereWithoutTenantInput = {
543
+ where: Prisma.PermissionScalarWhereInput;
544
+ data: Prisma.XOR<Prisma.PermissionUpdateManyMutationInput, Prisma.PermissionUncheckedUpdateManyWithoutTenantInput>;
545
+ };
546
+ export type PermissionScalarWhereInput = {
547
+ AND?: Prisma.PermissionScalarWhereInput | Prisma.PermissionScalarWhereInput[];
548
+ OR?: Prisma.PermissionScalarWhereInput[];
549
+ NOT?: Prisma.PermissionScalarWhereInput | Prisma.PermissionScalarWhereInput[];
550
+ id?: Prisma.StringFilter<"Permission"> | string;
551
+ name?: Prisma.StringFilter<"Permission"> | string;
552
+ description?: Prisma.StringNullableFilter<"Permission"> | string | null;
553
+ path?: Prisma.StringFilter<"Permission"> | string;
554
+ methods?: Prisma.JsonFilter<"Permission">;
555
+ effect?: Prisma.EnumPermissionEffectFilter<"Permission"> | $Enums.PermissionEffect;
556
+ tenantId?: Prisma.StringNullableFilter<"Permission"> | string | null;
557
+ isSystem?: Prisma.BoolFilter<"Permission"> | boolean;
558
+ createdAt?: Prisma.DateTimeFilter<"Permission"> | Date | string;
559
+ updatedAt?: Prisma.DateTimeFilter<"Permission"> | Date | string;
560
+ };
561
+ export type PermissionCreateManyTenantInput = {
562
+ id?: string;
563
+ name: string;
564
+ description?: string | null;
565
+ path: string;
566
+ methods?: Prisma.JsonNullValueInput | runtime.InputJsonValue;
567
+ effect?: $Enums.PermissionEffect;
568
+ isSystem?: boolean;
569
+ createdAt?: Date | string;
570
+ updatedAt?: Date | string;
571
+ };
572
+ export type PermissionUpdateWithoutTenantInput = {
573
+ id?: Prisma.StringFieldUpdateOperationsInput | string;
574
+ name?: Prisma.StringFieldUpdateOperationsInput | string;
575
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
576
+ path?: Prisma.StringFieldUpdateOperationsInput | string;
577
+ methods?: Prisma.JsonNullValueInput | runtime.InputJsonValue;
578
+ effect?: Prisma.EnumPermissionEffectFieldUpdateOperationsInput | $Enums.PermissionEffect;
579
+ isSystem?: Prisma.BoolFieldUpdateOperationsInput | boolean;
580
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
581
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
582
+ roles?: Prisma.RolePermissionUpdateManyWithoutPermissionNestedInput;
583
+ };
584
+ export type PermissionUncheckedUpdateWithoutTenantInput = {
585
+ id?: Prisma.StringFieldUpdateOperationsInput | string;
586
+ name?: Prisma.StringFieldUpdateOperationsInput | string;
587
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
588
+ path?: Prisma.StringFieldUpdateOperationsInput | string;
589
+ methods?: Prisma.JsonNullValueInput | runtime.InputJsonValue;
590
+ effect?: Prisma.EnumPermissionEffectFieldUpdateOperationsInput | $Enums.PermissionEffect;
591
+ isSystem?: Prisma.BoolFieldUpdateOperationsInput | boolean;
592
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
593
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
594
+ roles?: Prisma.RolePermissionUncheckedUpdateManyWithoutPermissionNestedInput;
595
+ };
596
+ export type PermissionUncheckedUpdateManyWithoutTenantInput = {
597
+ id?: Prisma.StringFieldUpdateOperationsInput | string;
598
+ name?: Prisma.StringFieldUpdateOperationsInput | string;
599
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
600
+ path?: Prisma.StringFieldUpdateOperationsInput | string;
601
+ methods?: Prisma.JsonNullValueInput | runtime.InputJsonValue;
602
+ effect?: Prisma.EnumPermissionEffectFieldUpdateOperationsInput | $Enums.PermissionEffect;
603
+ isSystem?: Prisma.BoolFieldUpdateOperationsInput | boolean;
373
604
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
374
605
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
375
606
  };
@@ -401,10 +632,14 @@ export type PermissionSelect<ExtArgs extends runtime.Types.Extensions.InternalAr
401
632
  id?: boolean;
402
633
  name?: boolean;
403
634
  description?: boolean;
404
- resource?: boolean;
405
- action?: boolean;
635
+ path?: boolean;
636
+ methods?: boolean;
637
+ effect?: boolean;
638
+ tenantId?: boolean;
639
+ isSystem?: boolean;
406
640
  createdAt?: boolean;
407
641
  updatedAt?: boolean;
642
+ tenant?: boolean | Prisma.Permission$tenantArgs<ExtArgs>;
408
643
  roles?: boolean | Prisma.Permission$rolesArgs<ExtArgs>;
409
644
  _count?: boolean | Prisma.PermissionCountOutputTypeDefaultArgs<ExtArgs>;
410
645
  }, ExtArgs["result"]["permission"]>;
@@ -412,27 +647,35 @@ export type PermissionSelectScalar = {
412
647
  id?: boolean;
413
648
  name?: boolean;
414
649
  description?: boolean;
415
- resource?: boolean;
416
- action?: boolean;
650
+ path?: boolean;
651
+ methods?: boolean;
652
+ effect?: boolean;
653
+ tenantId?: boolean;
654
+ isSystem?: boolean;
417
655
  createdAt?: boolean;
418
656
  updatedAt?: boolean;
419
657
  };
420
- export type PermissionOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "name" | "description" | "resource" | "action" | "createdAt" | "updatedAt", ExtArgs["result"]["permission"]>;
658
+ export type PermissionOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "name" | "description" | "path" | "methods" | "effect" | "tenantId" | "isSystem" | "createdAt" | "updatedAt", ExtArgs["result"]["permission"]>;
421
659
  export type PermissionInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
660
+ tenant?: boolean | Prisma.Permission$tenantArgs<ExtArgs>;
422
661
  roles?: boolean | Prisma.Permission$rolesArgs<ExtArgs>;
423
662
  _count?: boolean | Prisma.PermissionCountOutputTypeDefaultArgs<ExtArgs>;
424
663
  };
425
664
  export type $PermissionPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
426
665
  name: "Permission";
427
666
  objects: {
667
+ tenant: Prisma.$TenantPayload<ExtArgs> | null;
428
668
  roles: Prisma.$RolePermissionPayload<ExtArgs>[];
429
669
  };
430
670
  scalars: runtime.Types.Extensions.GetPayloadResult<{
431
671
  id: string;
432
672
  name: string;
433
673
  description: string | null;
434
- resource: string;
435
- action: string;
674
+ path: string;
675
+ methods: runtime.JsonValue;
676
+ effect: $Enums.PermissionEffect;
677
+ tenantId: string | null;
678
+ isSystem: boolean;
436
679
  createdAt: Date;
437
680
  updatedAt: Date;
438
681
  }, ExtArgs["result"]["permission"]>;
@@ -712,6 +955,7 @@ export interface PermissionDelegate<ExtArgs extends runtime.Types.Extensions.Int
712
955
  */
713
956
  export interface Prisma__PermissionClient<T, Null = never, ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
714
957
  readonly [Symbol.toStringTag]: "PrismaPromise";
958
+ tenant<T extends Prisma.Permission$tenantArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Permission$tenantArgs<ExtArgs>>): Prisma.Prisma__TenantClient<runtime.Types.Result.GetResult<Prisma.$TenantPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>;
715
959
  roles<T extends Prisma.Permission$rolesArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Permission$rolesArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$RolePermissionPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>;
716
960
  /**
717
961
  * Attaches callbacks for the resolution and/or rejection of the Promise.
@@ -741,8 +985,11 @@ export interface PermissionFieldRefs {
741
985
  readonly id: Prisma.FieldRef<"Permission", 'String'>;
742
986
  readonly name: Prisma.FieldRef<"Permission", 'String'>;
743
987
  readonly description: Prisma.FieldRef<"Permission", 'String'>;
744
- readonly resource: Prisma.FieldRef<"Permission", 'String'>;
745
- readonly action: Prisma.FieldRef<"Permission", 'String'>;
988
+ readonly path: Prisma.FieldRef<"Permission", 'String'>;
989
+ readonly methods: Prisma.FieldRef<"Permission", 'Json'>;
990
+ readonly effect: Prisma.FieldRef<"Permission", 'PermissionEffect'>;
991
+ readonly tenantId: Prisma.FieldRef<"Permission", 'String'>;
992
+ readonly isSystem: Prisma.FieldRef<"Permission", 'Boolean'>;
746
993
  readonly createdAt: Prisma.FieldRef<"Permission", 'DateTime'>;
747
994
  readonly updatedAt: Prisma.FieldRef<"Permission", 'DateTime'>;
748
995
  }
@@ -1072,6 +1319,24 @@ export type PermissionDeleteManyArgs<ExtArgs extends runtime.Types.Extensions.In
1072
1319
  */
1073
1320
  limit?: number;
1074
1321
  };
1322
+ /**
1323
+ * Permission.tenant
1324
+ */
1325
+ export type Permission$tenantArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1326
+ /**
1327
+ * Select specific fields to fetch from the Tenant
1328
+ */
1329
+ select?: Prisma.TenantSelect<ExtArgs> | null;
1330
+ /**
1331
+ * Omit specific fields from the Tenant
1332
+ */
1333
+ omit?: Prisma.TenantOmit<ExtArgs> | null;
1334
+ /**
1335
+ * Choose, which related nodes to fetch as well
1336
+ */
1337
+ include?: Prisma.TenantInclude<ExtArgs> | null;
1338
+ where?: Prisma.TenantWhereInput;
1339
+ };
1075
1340
  /**
1076
1341
  * Permission.roles
1077
1342
  */