@visulima/crud 2.0.46 → 3.0.0-alpha.10

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 (137) hide show
  1. package/CHANGELOG.md +162 -0
  2. package/LICENSE.md +22 -1
  3. package/README.md +29 -18
  4. package/dist/adapter/prisma/index.d.cts +39 -0
  5. package/dist/adapter/prisma/index.d.mts +39 -0
  6. package/dist/adapter/prisma/index.d.ts +39 -0
  7. package/dist/adapter/prisma/types.d.cts +31 -0
  8. package/dist/adapter/prisma/types.d.mts +31 -0
  9. package/dist/adapter/prisma/types.d.ts +31 -0
  10. package/dist/adapter/prisma/utils/models-to-route-names.d.cts +5 -0
  11. package/dist/adapter/prisma/utils/models-to-route-names.d.mts +5 -0
  12. package/dist/adapter/prisma/utils/models-to-route-names.d.ts +5 -0
  13. package/dist/adapter/prisma/utils/parse-cursor.d.cts +3 -0
  14. package/dist/adapter/prisma/utils/parse-cursor.d.mts +3 -0
  15. package/dist/adapter/prisma/utils/parse-cursor.d.ts +3 -0
  16. package/dist/adapter/prisma/utils/parse-order-by.d.cts +4 -0
  17. package/dist/adapter/prisma/utils/parse-order-by.d.mts +4 -0
  18. package/dist/adapter/prisma/utils/parse-order-by.d.ts +4 -0
  19. package/dist/adapter/prisma/utils/parse-recursive.d.cts +4 -0
  20. package/dist/adapter/prisma/utils/parse-recursive.d.mts +4 -0
  21. package/dist/adapter/prisma/utils/parse-recursive.d.ts +4 -0
  22. package/dist/adapter/prisma/utils/parse-where.d.cts +4 -0
  23. package/dist/adapter/prisma/utils/parse-where.d.mts +4 -0
  24. package/dist/adapter/prisma/utils/parse-where.d.ts +4 -0
  25. package/dist/base-crud-handler.d.cts +9 -0
  26. package/dist/base-crud-handler.d.mts +9 -0
  27. package/dist/base-crud-handler.d.ts +9 -0
  28. package/dist/handler/create.d.cts +11 -0
  29. package/dist/handler/create.d.mts +11 -0
  30. package/dist/handler/create.d.ts +11 -0
  31. package/dist/handler/delete.d.cts +7 -0
  32. package/dist/handler/delete.d.mts +7 -0
  33. package/dist/handler/delete.d.ts +7 -0
  34. package/dist/handler/list.d.cts +9 -0
  35. package/dist/handler/list.d.mts +9 -0
  36. package/dist/handler/list.d.ts +9 -0
  37. package/dist/handler/read.d.cts +7 -0
  38. package/dist/handler/read.d.mts +7 -0
  39. package/dist/handler/read.d.ts +7 -0
  40. package/dist/handler/update.d.cts +11 -0
  41. package/dist/handler/update.d.mts +11 -0
  42. package/dist/handler/update.d.ts +11 -0
  43. package/dist/index.cjs +13 -0
  44. package/dist/index.d.cts +6 -0
  45. package/dist/index.d.mts +6 -127
  46. package/dist/index.d.ts +6 -127
  47. package/dist/index.mjs +3 -1085
  48. package/dist/next/api/edge/index.d.cts +3 -0
  49. package/dist/next/api/edge/index.d.mts +3 -0
  50. package/dist/next/api/edge/index.d.ts +3 -0
  51. package/dist/next/api/node/index.d.cts +4 -0
  52. package/dist/next/api/node/index.d.mts +4 -0
  53. package/dist/next/api/node/index.d.ts +4 -0
  54. package/dist/next/index.cjs +11 -0
  55. package/dist/next/index.d.cts +2 -0
  56. package/dist/next/index.d.mts +2 -8
  57. package/dist/next/index.d.ts +2 -8
  58. package/dist/next/index.mjs +2 -4832
  59. package/dist/packem_shared/PrismaAdapter-BTCwgMow.cjs +324 -0
  60. package/dist/packem_shared/PrismaAdapter-dVBZvBOv.mjs +318 -0
  61. package/dist/packem_shared/RouteType-Bk3uAK0x.cjs +14 -0
  62. package/dist/packem_shared/RouteType-CB2xrWdf.mjs +10 -0
  63. package/dist/packem_shared/base-crud-handler-B3eCO4up.cjs +572 -0
  64. package/dist/packem_shared/base-crud-handler-DgrOMhoH.mjs +587 -0
  65. package/dist/packem_shared/edgeHandler-B4JJXPUI.mjs +16 -0
  66. package/dist/packem_shared/edgeHandler-CDFgDdrG.cjs +18 -0
  67. package/dist/packem_shared/get-accessible-routes-C6NF9Iry.cjs +16 -0
  68. package/dist/packem_shared/get-accessible-routes-sV5SDdFn.mjs +14 -0
  69. package/dist/packem_shared/models-to-route-names-CdwsK0V1.mjs +9 -0
  70. package/dist/packem_shared/models-to-route-names-Dv94PzhE.cjs +11 -0
  71. package/dist/{index.js → packem_shared/modelsToOpenApi-BuGL_l3R.cjs} +66 -453
  72. package/dist/packem_shared/modelsToOpenApi-Bux3khmh.mjs +706 -0
  73. package/dist/packem_shared/nodeHandler-BUWSKNyo.cjs +16 -0
  74. package/dist/packem_shared/nodeHandler-DSq7vHzv.mjs +14 -0
  75. package/dist/query-parser.d.cts +3 -0
  76. package/dist/query-parser.d.mts +3 -0
  77. package/dist/query-parser.d.ts +3 -0
  78. package/dist/swagger/adapter/prisma/index.d.cts +22 -0
  79. package/dist/swagger/adapter/prisma/index.d.mts +22 -0
  80. package/dist/swagger/adapter/prisma/index.d.ts +22 -0
  81. package/dist/swagger/json-schema-parser.d.cts +18 -0
  82. package/dist/swagger/json-schema-parser.d.mts +18 -0
  83. package/dist/swagger/json-schema-parser.d.ts +18 -0
  84. package/dist/swagger/parameters.d.cts +5 -0
  85. package/dist/swagger/parameters.d.mts +5 -0
  86. package/dist/swagger/parameters.d.ts +5 -0
  87. package/dist/swagger/types.d.cts +39 -0
  88. package/dist/swagger/types.d.mts +39 -0
  89. package/dist/swagger/types.d.ts +39 -0
  90. package/dist/swagger/utils/format-example-ref.d.cts +2 -0
  91. package/dist/swagger/utils/format-example-ref.d.mts +2 -0
  92. package/dist/swagger/utils/format-example-ref.d.ts +2 -0
  93. package/dist/swagger/utils/format-schema-ref.d.cts +2 -0
  94. package/dist/swagger/utils/format-schema-ref.d.mts +2 -0
  95. package/dist/swagger/utils/format-schema-ref.d.ts +2 -0
  96. package/dist/swagger/utils/get-models-accessible-routes.d.cts +4 -0
  97. package/dist/swagger/utils/get-models-accessible-routes.d.mts +4 -0
  98. package/dist/swagger/utils/get-models-accessible-routes.d.ts +4 -0
  99. package/dist/swagger/utils/get-swagger-paths.d.cts +12 -0
  100. package/dist/swagger/utils/get-swagger-paths.d.mts +12 -0
  101. package/dist/swagger/utils/get-swagger-paths.d.ts +12 -0
  102. package/dist/swagger/utils/get-swagger-tags.d.cts +4 -0
  103. package/dist/swagger/utils/get-swagger-tags.d.mts +4 -0
  104. package/dist/swagger/utils/get-swagger-tags.d.ts +4 -0
  105. package/dist/types.d.cts +106 -0
  106. package/dist/types.d.mts +106 -0
  107. package/dist/types.d.ts +106 -0
  108. package/dist/utils/format-resource-id.d.cts +2 -0
  109. package/dist/utils/format-resource-id.d.mts +2 -0
  110. package/dist/utils/format-resource-id.d.ts +2 -0
  111. package/dist/utils/get-accessible-routes.d.cts +3 -0
  112. package/dist/utils/get-accessible-routes.d.mts +3 -0
  113. package/dist/utils/get-accessible-routes.d.ts +3 -0
  114. package/dist/utils/get-resource-name-from-url.d.cts +5 -0
  115. package/dist/utils/get-resource-name-from-url.d.mts +5 -0
  116. package/dist/utils/get-resource-name-from-url.d.ts +5 -0
  117. package/dist/utils/get-route-type.d.cts +7 -0
  118. package/dist/utils/get-route-type.d.mts +7 -0
  119. package/dist/utils/get-route-type.d.ts +7 -0
  120. package/dist/utils/is-primitive.d.cts +2 -0
  121. package/dist/utils/is-primitive.d.mts +2 -0
  122. package/dist/utils/is-primitive.d.ts +2 -0
  123. package/dist/utils/validate-adapter-methods.d.cts +3 -0
  124. package/dist/utils/validate-adapter-methods.d.mts +3 -0
  125. package/dist/utils/validate-adapter-methods.d.ts +3 -0
  126. package/package.json +38 -19
  127. package/dist/chunk-5I2B5KQG.js +0 -77
  128. package/dist/chunk-5I2B5KQG.js.map +0 -1
  129. package/dist/chunk-LBXJKEOF.mjs +0 -73
  130. package/dist/chunk-LBXJKEOF.mjs.map +0 -1
  131. package/dist/index.js.map +0 -1
  132. package/dist/index.mjs.map +0 -1
  133. package/dist/next/index.js +0 -4839
  134. package/dist/next/index.js.map +0 -1
  135. package/dist/next/index.mjs.map +0 -1
  136. package/dist/types-C5c2M01-.d.mts +0 -138
  137. package/dist/types-C5c2M01-.d.ts +0 -138
@@ -0,0 +1,11 @@
1
+ import type { HandlerParameters } from "../types.d.ts";
2
+ declare const createHandler: Handler;
3
+ export type Handler = <T, Q, Request>(parameters: HandlerParameters<T, Q> & {
4
+ request: Request & {
5
+ body: Record<string, any>;
6
+ };
7
+ }) => Promise<{
8
+ data: any;
9
+ status: number;
10
+ }>;
11
+ export = createHandler;
@@ -0,0 +1,7 @@
1
+ import type { UniqueResourceHandlerParameters } from "../types.d.cts";
2
+ declare const deleteHandler: Handler;
3
+ export type Handler = <T, Q>(parameters: UniqueResourceHandlerParameters<T, Q>) => Promise<{
4
+ data: any;
5
+ status: number;
6
+ }>;
7
+ export = deleteHandler;
@@ -0,0 +1,7 @@
1
+ import type { UniqueResourceHandlerParameters } from "../types.d.mts";
2
+ declare const deleteHandler: Handler;
3
+ export type Handler = <T, Q>(parameters: UniqueResourceHandlerParameters<T, Q>) => Promise<{
4
+ data: any;
5
+ status: number;
6
+ }>;
7
+ export default deleteHandler;
@@ -0,0 +1,7 @@
1
+ import type { UniqueResourceHandlerParameters } from "../types.d.ts";
2
+ declare const deleteHandler: Handler;
3
+ export type Handler = <T, Q>(parameters: UniqueResourceHandlerParameters<T, Q>) => Promise<{
4
+ data: any;
5
+ status: number;
6
+ }>;
7
+ export = deleteHandler;
@@ -0,0 +1,9 @@
1
+ import type { HandlerParameters, PaginationConfig, ParsedQueryParameters } from "../types.d.cts";
2
+ declare const listHandler: Handler;
3
+ export type Handler = <T, Q extends ParsedQueryParameters>(parameters: HandlerParameters<T, Q> & {
4
+ pagination: PaginationConfig;
5
+ }) => Promise<{
6
+ data: any;
7
+ status: number;
8
+ }>;
9
+ export = listHandler;
@@ -0,0 +1,9 @@
1
+ import type { HandlerParameters, PaginationConfig, ParsedQueryParameters } from "../types.d.mts";
2
+ declare const listHandler: Handler;
3
+ export type Handler = <T, Q extends ParsedQueryParameters>(parameters: HandlerParameters<T, Q> & {
4
+ pagination: PaginationConfig;
5
+ }) => Promise<{
6
+ data: any;
7
+ status: number;
8
+ }>;
9
+ export default listHandler;
@@ -0,0 +1,9 @@
1
+ import type { HandlerParameters, PaginationConfig, ParsedQueryParameters } from "../types.d.ts";
2
+ declare const listHandler: Handler;
3
+ export type Handler = <T, Q extends ParsedQueryParameters>(parameters: HandlerParameters<T, Q> & {
4
+ pagination: PaginationConfig;
5
+ }) => Promise<{
6
+ data: any;
7
+ status: number;
8
+ }>;
9
+ export = listHandler;
@@ -0,0 +1,7 @@
1
+ import type { UniqueResourceHandlerParameters } from "../types.d.cts";
2
+ declare const readHandler: Handler;
3
+ export type Handler = <T, Q>(parameters: UniqueResourceHandlerParameters<T, Q>) => Promise<{
4
+ data: any;
5
+ status: number;
6
+ }>;
7
+ export = readHandler;
@@ -0,0 +1,7 @@
1
+ import type { UniqueResourceHandlerParameters } from "../types.d.mts";
2
+ declare const readHandler: Handler;
3
+ export type Handler = <T, Q>(parameters: UniqueResourceHandlerParameters<T, Q>) => Promise<{
4
+ data: any;
5
+ status: number;
6
+ }>;
7
+ export default readHandler;
@@ -0,0 +1,7 @@
1
+ import type { UniqueResourceHandlerParameters } from "../types.d.ts";
2
+ declare const readHandler: Handler;
3
+ export type Handler = <T, Q>(parameters: UniqueResourceHandlerParameters<T, Q>) => Promise<{
4
+ data: any;
5
+ status: number;
6
+ }>;
7
+ export = readHandler;
@@ -0,0 +1,11 @@
1
+ import type { UniqueResourceHandlerParameters } from "../types.d.cts";
2
+ declare const updateHandler: Handler;
3
+ export type Handler = <T, Q, Request>(parameters: UniqueResourceHandlerParameters<T, Q> & {
4
+ request: Request & {
5
+ body: Partial<T>;
6
+ };
7
+ }) => Promise<{
8
+ data: any;
9
+ status: number;
10
+ }>;
11
+ export = updateHandler;
@@ -0,0 +1,11 @@
1
+ import type { UniqueResourceHandlerParameters } from "../types.d.mts";
2
+ declare const updateHandler: Handler;
3
+ export type Handler = <T, Q, Request>(parameters: UniqueResourceHandlerParameters<T, Q> & {
4
+ request: Request & {
5
+ body: Partial<T>;
6
+ };
7
+ }) => Promise<{
8
+ data: any;
9
+ status: number;
10
+ }>;
11
+ export default updateHandler;
@@ -0,0 +1,11 @@
1
+ import type { UniqueResourceHandlerParameters } from "../types.d.ts";
2
+ declare const updateHandler: Handler;
3
+ export type Handler = <T, Q, Request>(parameters: UniqueResourceHandlerParameters<T, Q> & {
4
+ request: Request & {
5
+ body: Partial<T>;
6
+ };
7
+ }) => Promise<{
8
+ data: any;
9
+ status: number;
10
+ }>;
11
+ export = updateHandler;
package/dist/index.cjs ADDED
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
4
+
5
+ const PrismaAdapter = require('./packem_shared/PrismaAdapter-BTCwgMow.cjs');
6
+ const modelsToOpenApi = require('./packem_shared/modelsToOpenApi-BuGL_l3R.cjs');
7
+ const RouteType = require('./packem_shared/RouteType-Bk3uAK0x.cjs');
8
+
9
+
10
+
11
+ exports.PrismaAdapter = PrismaAdapter;
12
+ exports.modelsToOpenApi = modelsToOpenApi;
13
+ exports.RouteType = RouteType.RouteType;
@@ -0,0 +1,6 @@
1
+ export { default as PrismaAdapter } from "./adapter/prisma/index.d.cts";
2
+ export type { ModelsToOpenApiParameters } from "./swagger/adapter/prisma/index.d.cts";
3
+ export { default as modelsToOpenApi } from "./swagger/adapter/prisma/index.d.cts";
4
+ export type { SwaggerModelsConfig } from "./swagger/types.d.cts";
5
+ export type { Adapter, Condition, HandlerOptions as CrudHandlerOptions, HandlerParameters, ModelOption, ModelsOptions, OrderByField, OrderByOperator, PaginationConfig, PaginationData, ParsedQueryParameters, RecursiveField, SearchCondition, UniqueResourceHandlerParameters, WhereCondition, WhereField, WhereOperator, } from "./types.d.cts";
6
+ export { RouteType } from "./types.d.cts";
package/dist/index.d.mts CHANGED
@@ -1,127 +1,6 @@
1
- import { HttpError } from 'http-errors';
2
- import { C as Condition, S as SearchCondition, A as Adapter, F as FakePrismaClient, P as PaginationData, a as ParsedQueryParameters, R as RouteType, M as ModelsOptions } from './types-C5c2M01-.mjs';
3
- export { H as CrudHandlerOptions, b as HandlerParameters, c as ModelOption, O as OrderByField, d as OrderByOperator, e as PaginationConfig, f as RecursiveField, U as UniqueResourceHandlerParameters, W as WhereCondition, g as WhereField, h as WhereOperator } from './types-C5c2M01-.mjs';
4
- import { OpenAPIV3 } from 'openapi-types';
5
-
6
- type PrismaRecursiveField = "include" | "select";
7
- type PrismaRecursive<T extends PrismaRecursiveField> = Record<string, boolean | {
8
- [key in T]: PrismaRecursive<T>;
9
- }>;
10
- type PrismaWhereOperator = "contains" | "endsWith" | "equals" | "gt" | "gte" | "in" | "lt" | "lte" | "not" | "notIn" | "startsWith";
11
- type PrismaOrderByOperator = "asc" | "desc";
12
- type PrismaFieldFilterOperator = {
13
- [key in PrismaWhereOperator]?: SearchCondition;
14
- };
15
- type PrismaFieldFilter = Record<string, Condition | PrismaFieldFilterOperator | PrismaRelationFilter | SearchCondition | undefined>;
16
- type PrismaWhereField = PrismaFieldFilter & {
17
- AND?: PrismaFieldFilter;
18
- NOT?: PrismaFieldFilter;
19
- OR?: PrismaFieldFilter;
20
- };
21
- interface PrismaRelationFilter {
22
- some?: PrismaFieldFilter | SearchCondition;
23
- }
24
- type PrismaOrderBy = Record<string, PrismaOrderByOperator>;
25
- type PrismaCursor = Record<string, boolean | number | string>;
26
- interface PrismaParsedQueryParameters {
27
- cursor?: PrismaCursor;
28
- distinct?: string;
29
- include?: PrismaRecursive<"include">;
30
- orderBy?: PrismaOrderBy;
31
- select?: PrismaRecursive<"select">;
32
- skip?: number;
33
- take?: number;
34
- where?: PrismaWhereField;
35
- }
36
-
37
- interface AdapterCtorArguments<M extends string, PrismaClient> {
38
- manyRelations?: {
39
- [key in M]?: string[];
40
- };
41
- models?: M[];
42
- primaryKey?: string;
43
- prismaClient: PrismaClient;
44
- }
45
- declare class PrismaAdapter<T, M extends string, PrismaClient> implements Adapter<T, PrismaParsedQueryParameters, M> {
46
- models?: M[];
47
- private readonly ctorModels?;
48
- private dmmf;
49
- private readonly manyRelations;
50
- private readonly primaryKey;
51
- private readonly prismaClient;
52
- constructor({ manyRelations, models, primaryKey, prismaClient }: AdapterCtorArguments<M, FakePrismaClient & PrismaClient>);
53
- connect(): Promise<void>;
54
- create(resourceName: M, data: unknown, query: PrismaParsedQueryParameters): Promise<T>;
55
- delete(resourceName: M, resourceId: number | string, query: PrismaParsedQueryParameters): Promise<T>;
56
- disconnect(): Promise<void>;
57
- getAll(resourceName: M, query: PrismaParsedQueryParameters): Promise<T[]>;
58
- getModels(): M[];
59
- getOne(resourceName: M, resourceId: number | string, query: PrismaParsedQueryParameters): Promise<T>;
60
- getPaginationData(resourceName: M, query: PrismaParsedQueryParameters): Promise<PaginationData>;
61
- handleError(error: Error): HttpError;
62
- init(): Promise<void>;
63
- mapModelsToRouteNames(): Promise<{
64
- [key in M]?: string;
65
- }>;
66
- parseQuery(resourceName: M, query: ParsedQueryParameters): PrismaParsedQueryParameters;
67
- update(resourceName: M, resourceId: number | string, data: unknown, query: PrismaParsedQueryParameters): Promise<T>;
68
- get client(): PrismaClient;
69
- private readonly getPrismaClientModels;
70
- private getPrismaDelegate;
71
- }
72
-
73
- interface SwaggerType {
74
- description?: string;
75
- isArray?: boolean;
76
- name: string;
77
- required?: boolean;
78
- }
79
- interface SwaggerOperation {
80
- body?: SwaggerType;
81
- response: SwaggerType;
82
- responses?: Record<number, any>;
83
- summary?: string;
84
- }
85
- interface SwaggerParameter {
86
- description?: string;
87
- name: string;
88
- schema: any & {
89
- type: string;
90
- };
91
- }
92
- interface ModelsConfig {
93
- additionalQueryParams?: SwaggerParameter[];
94
- routeTypes?: {
95
- [RouteType.CREATE]?: SwaggerOperation;
96
- [RouteType.DELETE]?: SwaggerOperation;
97
- [RouteType.READ_ALL]?: SwaggerOperation;
98
- [RouteType.READ_ONE]?: SwaggerOperation;
99
- [RouteType.UPDATE]?: SwaggerOperation;
100
- };
101
- tag: OpenAPIV3.TagObject;
102
- type?: SwaggerType;
103
- }
104
- type SwaggerModelsConfig<M extends string> = {
105
- [key in M]?: ModelsConfig;
106
- };
107
-
108
- declare const modelsToOpenApi: <M extends string = string, PrismaClient = FakePrismaClient>({ crud, defaultExposeStrategy, models: ctorModels, prismaClient, swagger, }: ModelsToOpenApiParameters<M, PrismaClient>) => Promise<{
109
- examples: Record<string, OpenAPIV3.ExampleObject | OpenAPIV3.ReferenceObject>;
110
- paths: OpenAPIV3.PathsObject;
111
- schemas: Record<string, OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject>;
112
- tags: OpenAPIV3.TagObject[];
113
- }>;
114
- interface ModelsToOpenApiParameters<M extends string, PrismaClient> {
115
- crud?: {
116
- models: ModelsOptions<M>;
117
- };
118
- defaultExposeStrategy?: "all" | "none";
119
- models?: M[];
120
- prismaClient: FakePrismaClient & PrismaClient;
121
- swagger?: Partial<{
122
- allowedMediaTypes: Record<string, boolean>;
123
- models: SwaggerModelsConfig<M>;
124
- }>;
125
- }
126
-
127
- export { Adapter, Condition, ModelsOptions, type ModelsToOpenApiParameters, PaginationData, ParsedQueryParameters, PrismaAdapter, RouteType, SearchCondition, type SwaggerModelsConfig, modelsToOpenApi };
1
+ export { default as PrismaAdapter } from "./adapter/prisma/index.d.mts";
2
+ export type { ModelsToOpenApiParameters } from "./swagger/adapter/prisma/index.d.mts";
3
+ export { default as modelsToOpenApi } from "./swagger/adapter/prisma/index.d.mts";
4
+ export type { SwaggerModelsConfig } from "./swagger/types.d.mts";
5
+ export type { Adapter, Condition, HandlerOptions as CrudHandlerOptions, HandlerParameters, ModelOption, ModelsOptions, OrderByField, OrderByOperator, PaginationConfig, PaginationData, ParsedQueryParameters, RecursiveField, SearchCondition, UniqueResourceHandlerParameters, WhereCondition, WhereField, WhereOperator, } from "./types.d.mts";
6
+ export { RouteType } from "./types.d.mts";
package/dist/index.d.ts CHANGED
@@ -1,127 +1,6 @@
1
- import { HttpError } from 'http-errors';
2
- import { C as Condition, S as SearchCondition, A as Adapter, F as FakePrismaClient, P as PaginationData, a as ParsedQueryParameters, R as RouteType, M as ModelsOptions } from './types-C5c2M01-.js';
3
- export { H as CrudHandlerOptions, b as HandlerParameters, c as ModelOption, O as OrderByField, d as OrderByOperator, e as PaginationConfig, f as RecursiveField, U as UniqueResourceHandlerParameters, W as WhereCondition, g as WhereField, h as WhereOperator } from './types-C5c2M01-.js';
4
- import { OpenAPIV3 } from 'openapi-types';
5
-
6
- type PrismaRecursiveField = "include" | "select";
7
- type PrismaRecursive<T extends PrismaRecursiveField> = Record<string, boolean | {
8
- [key in T]: PrismaRecursive<T>;
9
- }>;
10
- type PrismaWhereOperator = "contains" | "endsWith" | "equals" | "gt" | "gte" | "in" | "lt" | "lte" | "not" | "notIn" | "startsWith";
11
- type PrismaOrderByOperator = "asc" | "desc";
12
- type PrismaFieldFilterOperator = {
13
- [key in PrismaWhereOperator]?: SearchCondition;
14
- };
15
- type PrismaFieldFilter = Record<string, Condition | PrismaFieldFilterOperator | PrismaRelationFilter | SearchCondition | undefined>;
16
- type PrismaWhereField = PrismaFieldFilter & {
17
- AND?: PrismaFieldFilter;
18
- NOT?: PrismaFieldFilter;
19
- OR?: PrismaFieldFilter;
20
- };
21
- interface PrismaRelationFilter {
22
- some?: PrismaFieldFilter | SearchCondition;
23
- }
24
- type PrismaOrderBy = Record<string, PrismaOrderByOperator>;
25
- type PrismaCursor = Record<string, boolean | number | string>;
26
- interface PrismaParsedQueryParameters {
27
- cursor?: PrismaCursor;
28
- distinct?: string;
29
- include?: PrismaRecursive<"include">;
30
- orderBy?: PrismaOrderBy;
31
- select?: PrismaRecursive<"select">;
32
- skip?: number;
33
- take?: number;
34
- where?: PrismaWhereField;
35
- }
36
-
37
- interface AdapterCtorArguments<M extends string, PrismaClient> {
38
- manyRelations?: {
39
- [key in M]?: string[];
40
- };
41
- models?: M[];
42
- primaryKey?: string;
43
- prismaClient: PrismaClient;
44
- }
45
- declare class PrismaAdapter<T, M extends string, PrismaClient> implements Adapter<T, PrismaParsedQueryParameters, M> {
46
- models?: M[];
47
- private readonly ctorModels?;
48
- private dmmf;
49
- private readonly manyRelations;
50
- private readonly primaryKey;
51
- private readonly prismaClient;
52
- constructor({ manyRelations, models, primaryKey, prismaClient }: AdapterCtorArguments<M, FakePrismaClient & PrismaClient>);
53
- connect(): Promise<void>;
54
- create(resourceName: M, data: unknown, query: PrismaParsedQueryParameters): Promise<T>;
55
- delete(resourceName: M, resourceId: number | string, query: PrismaParsedQueryParameters): Promise<T>;
56
- disconnect(): Promise<void>;
57
- getAll(resourceName: M, query: PrismaParsedQueryParameters): Promise<T[]>;
58
- getModels(): M[];
59
- getOne(resourceName: M, resourceId: number | string, query: PrismaParsedQueryParameters): Promise<T>;
60
- getPaginationData(resourceName: M, query: PrismaParsedQueryParameters): Promise<PaginationData>;
61
- handleError(error: Error): HttpError;
62
- init(): Promise<void>;
63
- mapModelsToRouteNames(): Promise<{
64
- [key in M]?: string;
65
- }>;
66
- parseQuery(resourceName: M, query: ParsedQueryParameters): PrismaParsedQueryParameters;
67
- update(resourceName: M, resourceId: number | string, data: unknown, query: PrismaParsedQueryParameters): Promise<T>;
68
- get client(): PrismaClient;
69
- private readonly getPrismaClientModels;
70
- private getPrismaDelegate;
71
- }
72
-
73
- interface SwaggerType {
74
- description?: string;
75
- isArray?: boolean;
76
- name: string;
77
- required?: boolean;
78
- }
79
- interface SwaggerOperation {
80
- body?: SwaggerType;
81
- response: SwaggerType;
82
- responses?: Record<number, any>;
83
- summary?: string;
84
- }
85
- interface SwaggerParameter {
86
- description?: string;
87
- name: string;
88
- schema: any & {
89
- type: string;
90
- };
91
- }
92
- interface ModelsConfig {
93
- additionalQueryParams?: SwaggerParameter[];
94
- routeTypes?: {
95
- [RouteType.CREATE]?: SwaggerOperation;
96
- [RouteType.DELETE]?: SwaggerOperation;
97
- [RouteType.READ_ALL]?: SwaggerOperation;
98
- [RouteType.READ_ONE]?: SwaggerOperation;
99
- [RouteType.UPDATE]?: SwaggerOperation;
100
- };
101
- tag: OpenAPIV3.TagObject;
102
- type?: SwaggerType;
103
- }
104
- type SwaggerModelsConfig<M extends string> = {
105
- [key in M]?: ModelsConfig;
106
- };
107
-
108
- declare const modelsToOpenApi: <M extends string = string, PrismaClient = FakePrismaClient>({ crud, defaultExposeStrategy, models: ctorModels, prismaClient, swagger, }: ModelsToOpenApiParameters<M, PrismaClient>) => Promise<{
109
- examples: Record<string, OpenAPIV3.ExampleObject | OpenAPIV3.ReferenceObject>;
110
- paths: OpenAPIV3.PathsObject;
111
- schemas: Record<string, OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject>;
112
- tags: OpenAPIV3.TagObject[];
113
- }>;
114
- interface ModelsToOpenApiParameters<M extends string, PrismaClient> {
115
- crud?: {
116
- models: ModelsOptions<M>;
117
- };
118
- defaultExposeStrategy?: "all" | "none";
119
- models?: M[];
120
- prismaClient: FakePrismaClient & PrismaClient;
121
- swagger?: Partial<{
122
- allowedMediaTypes: Record<string, boolean>;
123
- models: SwaggerModelsConfig<M>;
124
- }>;
125
- }
126
-
127
- export { Adapter, Condition, ModelsOptions, type ModelsToOpenApiParameters, PaginationData, ParsedQueryParameters, PrismaAdapter, RouteType, SearchCondition, type SwaggerModelsConfig, modelsToOpenApi };
1
+ export { default as PrismaAdapter } from "./adapter/prisma/index.d.ts";
2
+ export type { ModelsToOpenApiParameters } from "./swagger/adapter/prisma/index.d.ts";
3
+ export { default as modelsToOpenApi } from "./swagger/adapter/prisma/index.d.ts";
4
+ export type { SwaggerModelsConfig } from "./swagger/types.d.ts";
5
+ export type { Adapter, Condition, HandlerOptions as CrudHandlerOptions, HandlerParameters, ModelOption, ModelsOptions, OrderByField, OrderByOperator, PaginationConfig, PaginationData, ParsedQueryParameters, RecursiveField, SearchCondition, UniqueResourceHandlerParameters, WhereCondition, WhereField, WhereOperator, } from "./types.d.ts";
6
+ export { RouteType } from "./types.d.ts";