@visulima/crud 3.0.0-alpha.13 → 3.0.0-alpha.15

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 (144) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/LICENSE.md +32 -0
  3. package/dist/index.cjs +1 -13
  4. package/dist/index.d.cts +121 -6
  5. package/dist/index.d.mts +121 -6
  6. package/dist/index.d.ts +121 -6
  7. package/dist/index.mjs +1 -3
  8. package/dist/next/index.cjs +1 -11
  9. package/dist/next/index.d.cts +1747 -2
  10. package/dist/next/index.d.mts +1742 -2
  11. package/dist/next/index.d.ts +1742 -2
  12. package/dist/next/index.mjs +1 -2
  13. package/dist/packem_shared/PrismaAdapter-D0WRtRlB.cjs +1 -0
  14. package/dist/packem_shared/PrismaAdapter-EuQr18sT.mjs +1 -0
  15. package/dist/packem_shared/RouteType-BQ2RxFPE.mjs +1 -0
  16. package/dist/packem_shared/RouteType-DLV_OhhD.cjs +1 -0
  17. package/dist/packem_shared/base-crud-handler-B6xOUGDj.cjs +1 -0
  18. package/dist/packem_shared/base-crud-handler-DNKq7uog.mjs +1 -0
  19. package/dist/packem_shared/edgeHandler-CaIWVXt-.cjs +1 -0
  20. package/dist/packem_shared/edgeHandler-Deds33h_.mjs +1 -0
  21. package/dist/packem_shared/get-accessible-routes-DLLL11KB.cjs +1 -0
  22. package/dist/packem_shared/get-accessible-routes-xHYBQ_6q.mjs +1 -0
  23. package/dist/packem_shared/models-to-route-names-Dh2b_kIL.cjs +1 -0
  24. package/dist/packem_shared/models-to-route-names-UU1lZmbK.mjs +1 -0
  25. package/dist/packem_shared/modelsToOpenApi-CsQL5VTy.cjs +1 -0
  26. package/dist/packem_shared/modelsToOpenApi-ocNrUF5p.mjs +1 -0
  27. package/dist/packem_shared/nodeHandler-CeBCrxYT.mjs +1 -0
  28. package/dist/packem_shared/nodeHandler-D7AuOmUo.cjs +1 -0
  29. package/dist/packem_shared/types.d-C_XaTdLA.d.cts +126 -0
  30. package/dist/packem_shared/types.d-C_XaTdLA.d.mts +126 -0
  31. package/dist/packem_shared/types.d-C_XaTdLA.d.ts +126 -0
  32. package/package.json +6 -6
  33. package/dist/adapter/prisma/index.d.cts +0 -39
  34. package/dist/adapter/prisma/index.d.mts +0 -39
  35. package/dist/adapter/prisma/index.d.ts +0 -39
  36. package/dist/adapter/prisma/types.d.cts +0 -31
  37. package/dist/adapter/prisma/types.d.mts +0 -31
  38. package/dist/adapter/prisma/types.d.ts +0 -31
  39. package/dist/adapter/prisma/utils/models-to-route-names.d.cts +0 -5
  40. package/dist/adapter/prisma/utils/models-to-route-names.d.mts +0 -5
  41. package/dist/adapter/prisma/utils/models-to-route-names.d.ts +0 -5
  42. package/dist/adapter/prisma/utils/parse-cursor.d.cts +0 -3
  43. package/dist/adapter/prisma/utils/parse-cursor.d.mts +0 -3
  44. package/dist/adapter/prisma/utils/parse-cursor.d.ts +0 -3
  45. package/dist/adapter/prisma/utils/parse-order-by.d.cts +0 -4
  46. package/dist/adapter/prisma/utils/parse-order-by.d.mts +0 -4
  47. package/dist/adapter/prisma/utils/parse-order-by.d.ts +0 -4
  48. package/dist/adapter/prisma/utils/parse-recursive.d.cts +0 -4
  49. package/dist/adapter/prisma/utils/parse-recursive.d.mts +0 -4
  50. package/dist/adapter/prisma/utils/parse-recursive.d.ts +0 -4
  51. package/dist/adapter/prisma/utils/parse-where.d.cts +0 -4
  52. package/dist/adapter/prisma/utils/parse-where.d.mts +0 -4
  53. package/dist/adapter/prisma/utils/parse-where.d.ts +0 -4
  54. package/dist/base-crud-handler.d.cts +0 -9
  55. package/dist/base-crud-handler.d.mts +0 -9
  56. package/dist/base-crud-handler.d.ts +0 -9
  57. package/dist/handler/create.d.cts +0 -3
  58. package/dist/handler/create.d.mts +0 -3
  59. package/dist/handler/create.d.ts +0 -3
  60. package/dist/handler/delete.d.cts +0 -3
  61. package/dist/handler/delete.d.mts +0 -3
  62. package/dist/handler/delete.d.ts +0 -3
  63. package/dist/handler/list.d.cts +0 -3
  64. package/dist/handler/list.d.mts +0 -3
  65. package/dist/handler/list.d.ts +0 -3
  66. package/dist/handler/read.d.cts +0 -3
  67. package/dist/handler/read.d.mts +0 -3
  68. package/dist/handler/read.d.ts +0 -3
  69. package/dist/handler/update.d.cts +0 -3
  70. package/dist/handler/update.d.mts +0 -3
  71. package/dist/handler/update.d.ts +0 -3
  72. package/dist/next/api/edge/index.d.cts +0 -3
  73. package/dist/next/api/edge/index.d.mts +0 -3
  74. package/dist/next/api/edge/index.d.ts +0 -3
  75. package/dist/next/api/node/index.d.cts +0 -4
  76. package/dist/next/api/node/index.d.mts +0 -4
  77. package/dist/next/api/node/index.d.ts +0 -4
  78. package/dist/packem_shared/PrismaAdapter-Bd2bxZfN.mjs +0 -318
  79. package/dist/packem_shared/PrismaAdapter-BondygJ8.cjs +0 -324
  80. package/dist/packem_shared/RouteType-Bk3uAK0x.cjs +0 -14
  81. package/dist/packem_shared/RouteType-CB2xrWdf.mjs +0 -10
  82. package/dist/packem_shared/base-crud-handler-Cg8r7S9C.mjs +0 -587
  83. package/dist/packem_shared/base-crud-handler-DSlkMYL6.cjs +0 -572
  84. package/dist/packem_shared/edgeHandler-DFuv_tsd.cjs +0 -18
  85. package/dist/packem_shared/edgeHandler-l0sBgF0s.mjs +0 -16
  86. package/dist/packem_shared/get-accessible-routes-C6NF9Iry.cjs +0 -16
  87. package/dist/packem_shared/get-accessible-routes-sV5SDdFn.mjs +0 -14
  88. package/dist/packem_shared/models-to-route-names-CdwsK0V1.mjs +0 -9
  89. package/dist/packem_shared/models-to-route-names-Dv94PzhE.cjs +0 -11
  90. package/dist/packem_shared/modelsToOpenApi-DypKlIy4.cjs +0 -708
  91. package/dist/packem_shared/modelsToOpenApi-qs_cqTsd.mjs +0 -706
  92. package/dist/packem_shared/nodeHandler-BlXQahKv.cjs +0 -16
  93. package/dist/packem_shared/nodeHandler-R76tfOc6.mjs +0 -14
  94. package/dist/query-parser.d.cts +0 -3
  95. package/dist/query-parser.d.mts +0 -3
  96. package/dist/query-parser.d.ts +0 -3
  97. package/dist/swagger/adapter/prisma/index.d.cts +0 -22
  98. package/dist/swagger/adapter/prisma/index.d.mts +0 -22
  99. package/dist/swagger/adapter/prisma/index.d.ts +0 -22
  100. package/dist/swagger/json-schema-parser.d.cts +0 -18
  101. package/dist/swagger/json-schema-parser.d.mts +0 -18
  102. package/dist/swagger/json-schema-parser.d.ts +0 -18
  103. package/dist/swagger/parameters.d.cts +0 -5
  104. package/dist/swagger/parameters.d.mts +0 -5
  105. package/dist/swagger/parameters.d.ts +0 -5
  106. package/dist/swagger/types.d.cts +0 -39
  107. package/dist/swagger/types.d.mts +0 -39
  108. package/dist/swagger/types.d.ts +0 -39
  109. package/dist/swagger/utils/format-example-ref.d.cts +0 -2
  110. package/dist/swagger/utils/format-example-ref.d.mts +0 -2
  111. package/dist/swagger/utils/format-example-ref.d.ts +0 -2
  112. package/dist/swagger/utils/format-schema-ref.d.cts +0 -2
  113. package/dist/swagger/utils/format-schema-ref.d.mts +0 -2
  114. package/dist/swagger/utils/format-schema-ref.d.ts +0 -2
  115. package/dist/swagger/utils/get-models-accessible-routes.d.cts +0 -4
  116. package/dist/swagger/utils/get-models-accessible-routes.d.mts +0 -4
  117. package/dist/swagger/utils/get-models-accessible-routes.d.ts +0 -4
  118. package/dist/swagger/utils/get-swagger-paths.d.cts +0 -12
  119. package/dist/swagger/utils/get-swagger-paths.d.mts +0 -12
  120. package/dist/swagger/utils/get-swagger-paths.d.ts +0 -12
  121. package/dist/swagger/utils/get-swagger-tags.d.cts +0 -4
  122. package/dist/swagger/utils/get-swagger-tags.d.mts +0 -4
  123. package/dist/swagger/utils/get-swagger-tags.d.ts +0 -4
  124. package/dist/types.d.cts +0 -131
  125. package/dist/types.d.mts +0 -131
  126. package/dist/types.d.ts +0 -131
  127. package/dist/utils/format-resource-id.d.cts +0 -2
  128. package/dist/utils/format-resource-id.d.mts +0 -2
  129. package/dist/utils/format-resource-id.d.ts +0 -2
  130. package/dist/utils/get-accessible-routes.d.cts +0 -3
  131. package/dist/utils/get-accessible-routes.d.mts +0 -3
  132. package/dist/utils/get-accessible-routes.d.ts +0 -3
  133. package/dist/utils/get-resource-name-from-url.d.cts +0 -5
  134. package/dist/utils/get-resource-name-from-url.d.mts +0 -5
  135. package/dist/utils/get-resource-name-from-url.d.ts +0 -5
  136. package/dist/utils/get-route-type.d.cts +0 -7
  137. package/dist/utils/get-route-type.d.mts +0 -7
  138. package/dist/utils/get-route-type.d.ts +0 -7
  139. package/dist/utils/is-primitive.d.cts +0 -2
  140. package/dist/utils/is-primitive.d.mts +0 -2
  141. package/dist/utils/is-primitive.d.ts +0 -2
  142. package/dist/utils/validate-adapter-methods.d.cts +0 -3
  143. package/dist/utils/validate-adapter-methods.d.mts +0 -3
  144. package/dist/utils/validate-adapter-methods.d.ts +0 -3
package/CHANGELOG.md CHANGED
@@ -1,3 +1,40 @@
1
+ ## @visulima/crud [3.0.0-alpha.15](https://github.com/visulima/visulima/compare/@visulima/crud@3.0.0-alpha.14...@visulima/crud@3.0.0-alpha.15) (2026-05-27)
2
+
3
+ ### Bug Fixes
4
+
5
+ * **storage-client:** percent-encode user fields in defaultFingerprint ([7c78a0f](https://github.com/visulima/visulima/commit/7c78a0f9512e2a673b941d80839e9f1e86b7b5d0))
6
+
7
+ ### Miscellaneous Chores
8
+
9
+ * **ci-stability:** green CI across vis, native, lint, tests, attw ([#651](https://github.com/visulima/visulima/issues/651)) ([d4eb684](https://github.com/visulima/visulima/commit/d4eb684b5f75c818c9251048c605a0ed54a268e3))
10
+ * **crud:** apply lint cleanup from agent batch ([40b6437](https://github.com/visulima/visulima/commit/40b6437a568d1da6a06feaf52f9a554968eed468))
11
+ * **crud:** clear lint warnings ([6882511](https://github.com/visulima/visulima/commit/6882511e9935aa53990b201e2ecbd41a73d8079e))
12
+ * **crud:** upgrade packem to 2.0.0-alpha.76 ([6f8de47](https://github.com/visulima/visulima/commit/6f8de4741172e4c24a78a52d69faf2aa9659fd98))
13
+ * re-sort workspace package.json files via vis sort-package-json ([f625696](https://github.com/visulima/visulima/commit/f625696cfac974325774b3243e1a83c3d23acbd7))
14
+ * **repo:** sort package.json keys across all packages ([e1fd9ab](https://github.com/visulima/visulima/commit/e1fd9ab467ef96a98c777da1572ff6a50fcf7e71))
15
+
16
+ ### Tests
17
+
18
+ * **repo:** add dist runtime + types integration tests ([32ee300](https://github.com/visulima/visulima/commit/32ee300b7184117a0ddf9f9d390f75f8932d5ed9))
19
+
20
+
21
+ ### Dependencies
22
+
23
+ * **@visulima/pagination:** upgraded to 5.0.0-alpha.12
24
+ * **@visulima/prisma-dmmf-transformer:** upgraded to 3.0.0-alpha.14
25
+
26
+ ## @visulima/crud [3.0.0-alpha.14](https://github.com/visulima/visulima/compare/@visulima/crud@3.0.0-alpha.13...@visulima/crud@3.0.0-alpha.14) (2026-04-22)
27
+
28
+ ### Bug Fixes
29
+
30
+ * Remove JSR configuration generation script and generated jsr.json files ([#616](https://github.com/visulima/visulima/issues/616)) ([533744b](https://github.com/visulima/visulima/commit/533744b103b74896941db5b727173e617a27a63b))
31
+
32
+
33
+ ### Dependencies
34
+
35
+ * **@visulima/pagination:** upgraded to 5.0.0-alpha.11
36
+ * **@visulima/prisma-dmmf-transformer:** upgraded to 3.0.0-alpha.13
37
+
1
38
  ## @visulima/crud [3.0.0-alpha.13](https://github.com/visulima/visulima/compare/@visulima/crud@3.0.0-alpha.12...@visulima/crud@3.0.0-alpha.13) (2026-04-21)
2
39
 
3
40
  ### Miscellaneous Chores
package/LICENSE.md CHANGED
@@ -45,4 +45,36 @@ Repository: sindresorhus/dot-prop
45
45
  <!-- /DEPENDENCIES -->
46
46
 
47
47
  <!-- TYPE_DEPENDENCIES -->
48
+
49
+ # Licenses of bundled types
50
+ The published @visulima/crud artifact additionally contains code with the following licenses:
51
+ MIT
52
+
53
+ # Bundled types:
54
+ ## next
55
+ License: MIT
56
+ Repository: vercel/next.js
57
+
58
+ > The MIT License (MIT)
59
+ >
60
+ > Copyright (c) 2025 Vercel, Inc.
61
+ >
62
+ > Permission is hereby granted, free of charge, to any person obtaining a copy
63
+ > of this software and associated documentation files (the "Software"), to deal
64
+ > in the Software without restriction, including without limitation the rights
65
+ > to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
66
+ > copies of the Software, and to permit persons to whom the Software is
67
+ > furnished to do so, subject to the following conditions:
68
+ >
69
+ > The above copyright notice and this permission notice shall be included in all
70
+ > copies or substantial portions of the Software.
71
+ >
72
+ > THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
73
+ > IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
74
+ > FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
75
+ > AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
76
+ > LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
77
+ > OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
78
+ > SOFTWARE.
79
+
48
80
  <!-- /TYPE_DEPENDENCIES -->
package/dist/index.cjs CHANGED
@@ -1,13 +1 @@
1
- 'use strict';
2
-
3
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
4
-
5
- const PrismaAdapter = require('./packem_shared/PrismaAdapter-BondygJ8.cjs');
6
- const modelsToOpenApi = require('./packem_shared/modelsToOpenApi-DypKlIy4.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;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./packem_shared/PrismaAdapter-D0WRtRlB.cjs"),r=require("./packem_shared/modelsToOpenApi-CsQL5VTy.cjs"),o=require("./packem_shared/RouteType-DLV_OhhD.cjs");exports.PrismaAdapter=e;exports.modelsToOpenApi=r;exports.RouteType=o.RouteType;
package/dist/index.d.cts CHANGED
@@ -1,6 +1,121 @@
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";
1
+ import { HttpError } from 'http-errors';
2
+ import { C as Condition, S as SearchCondition, F as FakePrismaClient, P as PaginationData, a as ParsedQueryParameters, A as Adapter, R as RouteType, M as ModelsOptions } from "./packem_shared/types.d-C_XaTdLA.cjs";
3
+ export { type H as CrudHandlerOptions, type b as HandlerParameters, type c as ModelOption, type O as OrderByField, type d as OrderByOperator, type e as PaginationConfig, type f as RecursiveField, type U as UniqueResourceHandlerParameters, type W as WhereCondition, type g as WhereField, type h as WhereOperator } from "./packem_shared/types.d-C_XaTdLA.cjs";
4
+ import { OpenAPIV3 } from 'openapi-types';
5
+ type PrismaRecursiveField = "include" | "select";
6
+ type PrismaRecursive<T extends PrismaRecursiveField> = Record<string, boolean | { [key in T]: PrismaRecursive<T> }>;
7
+ type PrismaWhereOperator = "contains" | "endsWith" | "equals" | "gt" | "gte" | "in" | "lt" | "lte" | "not" | "notIn" | "startsWith";
8
+ type PrismaOrderByOperator = "asc" | "desc";
9
+ type PrismaFieldFilterOperator = { [key in PrismaWhereOperator]?: SearchCondition };
10
+ type PrismaFieldFilter = Record<string, Condition | PrismaFieldFilterOperator | PrismaRelationFilter | SearchCondition | undefined>;
11
+ type PrismaWhereField = PrismaFieldFilter & {
12
+ AND?: PrismaFieldFilter;
13
+ NOT?: PrismaFieldFilter;
14
+ OR?: PrismaFieldFilter;
15
+ };
16
+ interface PrismaRelationFilter {
17
+ some?: PrismaFieldFilter | SearchCondition;
18
+ }
19
+ type PrismaOrderBy = Record<string, PrismaOrderByOperator>;
20
+ type PrismaCursor = Record<string, boolean | number | string>;
21
+ interface PrismaParsedQueryParameters {
22
+ cursor?: PrismaCursor;
23
+ distinct?: string;
24
+ include?: PrismaRecursive<"include">;
25
+ orderBy?: PrismaOrderBy;
26
+ select?: PrismaRecursive<"select">;
27
+ skip?: number;
28
+ take?: number;
29
+ where?: PrismaWhereField;
30
+ }
31
+ interface AdapterCtorArguments<M extends string, PrismaClient> {
32
+ manyRelations?: { [key in M]?: string[] };
33
+ models?: M[];
34
+ primaryKey?: string;
35
+ prismaClient: PrismaClient;
36
+ }
37
+ declare class PrismaAdapter<T, M extends string, PrismaClient> implements Adapter<T, PrismaParsedQueryParameters, M> {
38
+ models?: M[];
39
+ private readonly ctorModels?;
40
+ private dmmf;
41
+ private readonly manyRelations;
42
+ private readonly primaryKey;
43
+ private readonly prismaClient;
44
+ constructor({
45
+ manyRelations,
46
+ models,
47
+ primaryKey,
48
+ prismaClient
49
+ }: AdapterCtorArguments<M, FakePrismaClient & PrismaClient>);
50
+ connect(): Promise<void>;
51
+ create(resourceName: M, data: unknown, query: PrismaParsedQueryParameters): Promise<T>;
52
+ delete(resourceName: M, resourceId: number | string, query: PrismaParsedQueryParameters): Promise<T>;
53
+ disconnect(): Promise<void>;
54
+ getAll(resourceName: M, query: PrismaParsedQueryParameters): Promise<T[]>;
55
+ getModels(): M[];
56
+ getOne(resourceName: M, resourceId: number | string, query: PrismaParsedQueryParameters): Promise<T>;
57
+ getPaginationData(resourceName: M, query: PrismaParsedQueryParameters): Promise<PaginationData>;
58
+ handleError(error: Error): HttpError;
59
+ init(): Promise<void>;
60
+ mapModelsToRouteNames(): Promise<{ [key in M]?: string }>;
61
+ parseQuery(resourceName: M, query: ParsedQueryParameters): PrismaParsedQueryParameters;
62
+ update(resourceName: M, resourceId: number | string, data: unknown, query: PrismaParsedQueryParameters): Promise<T>;
63
+ get client(): PrismaClient;
64
+ private readonly getPrismaClientModels;
65
+ private getPrismaDelegate;
66
+ }
67
+ interface SwaggerType {
68
+ description?: string;
69
+ isArray?: boolean;
70
+ name: string;
71
+ required?: boolean;
72
+ }
73
+ interface SwaggerOperation {
74
+ body?: SwaggerType;
75
+ response: SwaggerType;
76
+ responses?: Record<number, OpenAPIV3.ResponseObject | OpenAPIV3.ReferenceObject>;
77
+ summary?: string;
78
+ }
79
+ interface SwaggerParameter {
80
+ description?: string;
81
+ name: string;
82
+ schema: OpenAPIV3.SchemaObject;
83
+ }
84
+ interface ModelsConfig {
85
+ additionalQueryParams?: SwaggerParameter[];
86
+ routeTypes?: {
87
+ [RouteType.CREATE]?: SwaggerOperation;
88
+ [RouteType.DELETE]?: SwaggerOperation;
89
+ [RouteType.READ_ALL]?: SwaggerOperation;
90
+ [RouteType.READ_ONE]?: SwaggerOperation;
91
+ [RouteType.UPDATE]?: SwaggerOperation;
92
+ };
93
+ tag: OpenAPIV3.TagObject;
94
+ type?: SwaggerType;
95
+ }
96
+ type SwaggerModelsConfig<M extends string> = { [key in M]?: ModelsConfig };
97
+ declare const modelsToOpenApi: <M extends string = string, PrismaClient = FakePrismaClient>({
98
+ crud,
99
+ defaultExposeStrategy,
100
+ models: ctorModels,
101
+ prismaClient,
102
+ swagger
103
+ }: ModelsToOpenApiParameters<M, PrismaClient>) => Promise<{
104
+ examples: Record<string, OpenAPIV3.ExampleObject | OpenAPIV3.ReferenceObject>;
105
+ paths: OpenAPIV3.PathsObject;
106
+ schemas: Record<string, OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject>;
107
+ tags: OpenAPIV3.TagObject[];
108
+ }>;
109
+ interface ModelsToOpenApiParameters<M extends string, PrismaClient> {
110
+ crud?: {
111
+ models: ModelsOptions<M>;
112
+ };
113
+ defaultExposeStrategy?: "all" | "none";
114
+ models?: M[];
115
+ prismaClient: FakePrismaClient & PrismaClient;
116
+ swagger?: Partial<{
117
+ allowedMediaTypes: Record<string, boolean>;
118
+ models: SwaggerModelsConfig<M>;
119
+ }>;
120
+ }
121
+ export { type Adapter, type Condition, type ModelsOptions, type ModelsToOpenApiParameters, type PaginationData, type ParsedQueryParameters, PrismaAdapter, RouteType, type SearchCondition, type SwaggerModelsConfig, modelsToOpenApi };
package/dist/index.d.mts CHANGED
@@ -1,6 +1,121 @@
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";
1
+ import { HttpError } from 'http-errors';
2
+ import { C as Condition, S as SearchCondition, F as FakePrismaClient, P as PaginationData, a as ParsedQueryParameters, A as Adapter, R as RouteType, M as ModelsOptions } from "./packem_shared/types.d-C_XaTdLA.mjs";
3
+ export { type H as CrudHandlerOptions, type b as HandlerParameters, type c as ModelOption, type O as OrderByField, type d as OrderByOperator, type e as PaginationConfig, type f as RecursiveField, type U as UniqueResourceHandlerParameters, type W as WhereCondition, type g as WhereField, type h as WhereOperator } from "./packem_shared/types.d-C_XaTdLA.mjs";
4
+ import { OpenAPIV3 } from 'openapi-types';
5
+ type PrismaRecursiveField = "include" | "select";
6
+ type PrismaRecursive<T extends PrismaRecursiveField> = Record<string, boolean | { [key in T]: PrismaRecursive<T> }>;
7
+ type PrismaWhereOperator = "contains" | "endsWith" | "equals" | "gt" | "gte" | "in" | "lt" | "lte" | "not" | "notIn" | "startsWith";
8
+ type PrismaOrderByOperator = "asc" | "desc";
9
+ type PrismaFieldFilterOperator = { [key in PrismaWhereOperator]?: SearchCondition };
10
+ type PrismaFieldFilter = Record<string, Condition | PrismaFieldFilterOperator | PrismaRelationFilter | SearchCondition | undefined>;
11
+ type PrismaWhereField = PrismaFieldFilter & {
12
+ AND?: PrismaFieldFilter;
13
+ NOT?: PrismaFieldFilter;
14
+ OR?: PrismaFieldFilter;
15
+ };
16
+ interface PrismaRelationFilter {
17
+ some?: PrismaFieldFilter | SearchCondition;
18
+ }
19
+ type PrismaOrderBy = Record<string, PrismaOrderByOperator>;
20
+ type PrismaCursor = Record<string, boolean | number | string>;
21
+ interface PrismaParsedQueryParameters {
22
+ cursor?: PrismaCursor;
23
+ distinct?: string;
24
+ include?: PrismaRecursive<"include">;
25
+ orderBy?: PrismaOrderBy;
26
+ select?: PrismaRecursive<"select">;
27
+ skip?: number;
28
+ take?: number;
29
+ where?: PrismaWhereField;
30
+ }
31
+ interface AdapterCtorArguments<M extends string, PrismaClient> {
32
+ manyRelations?: { [key in M]?: string[] };
33
+ models?: M[];
34
+ primaryKey?: string;
35
+ prismaClient: PrismaClient;
36
+ }
37
+ declare class PrismaAdapter<T, M extends string, PrismaClient> implements Adapter<T, PrismaParsedQueryParameters, M> {
38
+ models?: M[];
39
+ private readonly ctorModels?;
40
+ private dmmf;
41
+ private readonly manyRelations;
42
+ private readonly primaryKey;
43
+ private readonly prismaClient;
44
+ constructor({
45
+ manyRelations,
46
+ models,
47
+ primaryKey,
48
+ prismaClient
49
+ }: AdapterCtorArguments<M, FakePrismaClient & PrismaClient>);
50
+ connect(): Promise<void>;
51
+ create(resourceName: M, data: unknown, query: PrismaParsedQueryParameters): Promise<T>;
52
+ delete(resourceName: M, resourceId: number | string, query: PrismaParsedQueryParameters): Promise<T>;
53
+ disconnect(): Promise<void>;
54
+ getAll(resourceName: M, query: PrismaParsedQueryParameters): Promise<T[]>;
55
+ getModels(): M[];
56
+ getOne(resourceName: M, resourceId: number | string, query: PrismaParsedQueryParameters): Promise<T>;
57
+ getPaginationData(resourceName: M, query: PrismaParsedQueryParameters): Promise<PaginationData>;
58
+ handleError(error: Error): HttpError;
59
+ init(): Promise<void>;
60
+ mapModelsToRouteNames(): Promise<{ [key in M]?: string }>;
61
+ parseQuery(resourceName: M, query: ParsedQueryParameters): PrismaParsedQueryParameters;
62
+ update(resourceName: M, resourceId: number | string, data: unknown, query: PrismaParsedQueryParameters): Promise<T>;
63
+ get client(): PrismaClient;
64
+ private readonly getPrismaClientModels;
65
+ private getPrismaDelegate;
66
+ }
67
+ interface SwaggerType {
68
+ description?: string;
69
+ isArray?: boolean;
70
+ name: string;
71
+ required?: boolean;
72
+ }
73
+ interface SwaggerOperation {
74
+ body?: SwaggerType;
75
+ response: SwaggerType;
76
+ responses?: Record<number, OpenAPIV3.ResponseObject | OpenAPIV3.ReferenceObject>;
77
+ summary?: string;
78
+ }
79
+ interface SwaggerParameter {
80
+ description?: string;
81
+ name: string;
82
+ schema: OpenAPIV3.SchemaObject;
83
+ }
84
+ interface ModelsConfig {
85
+ additionalQueryParams?: SwaggerParameter[];
86
+ routeTypes?: {
87
+ [RouteType.CREATE]?: SwaggerOperation;
88
+ [RouteType.DELETE]?: SwaggerOperation;
89
+ [RouteType.READ_ALL]?: SwaggerOperation;
90
+ [RouteType.READ_ONE]?: SwaggerOperation;
91
+ [RouteType.UPDATE]?: SwaggerOperation;
92
+ };
93
+ tag: OpenAPIV3.TagObject;
94
+ type?: SwaggerType;
95
+ }
96
+ type SwaggerModelsConfig<M extends string> = { [key in M]?: ModelsConfig };
97
+ declare const modelsToOpenApi: <M extends string = string, PrismaClient = FakePrismaClient>({
98
+ crud,
99
+ defaultExposeStrategy,
100
+ models: ctorModels,
101
+ prismaClient,
102
+ swagger
103
+ }: ModelsToOpenApiParameters<M, PrismaClient>) => Promise<{
104
+ examples: Record<string, OpenAPIV3.ExampleObject | OpenAPIV3.ReferenceObject>;
105
+ paths: OpenAPIV3.PathsObject;
106
+ schemas: Record<string, OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject>;
107
+ tags: OpenAPIV3.TagObject[];
108
+ }>;
109
+ interface ModelsToOpenApiParameters<M extends string, PrismaClient> {
110
+ crud?: {
111
+ models: ModelsOptions<M>;
112
+ };
113
+ defaultExposeStrategy?: "all" | "none";
114
+ models?: M[];
115
+ prismaClient: FakePrismaClient & PrismaClient;
116
+ swagger?: Partial<{
117
+ allowedMediaTypes: Record<string, boolean>;
118
+ models: SwaggerModelsConfig<M>;
119
+ }>;
120
+ }
121
+ export { type Adapter, type Condition, type ModelsOptions, type ModelsToOpenApiParameters, type PaginationData, type ParsedQueryParameters, PrismaAdapter, RouteType, type SearchCondition, type SwaggerModelsConfig, modelsToOpenApi };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,121 @@
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";
1
+ import { HttpError } from 'http-errors';
2
+ import { C as Condition, S as SearchCondition, F as FakePrismaClient, P as PaginationData, a as ParsedQueryParameters, A as Adapter, R as RouteType, M as ModelsOptions } from "./packem_shared/types.d-C_XaTdLA.js";
3
+ export { type H as CrudHandlerOptions, type b as HandlerParameters, type c as ModelOption, type O as OrderByField, type d as OrderByOperator, type e as PaginationConfig, type f as RecursiveField, type U as UniqueResourceHandlerParameters, type W as WhereCondition, type g as WhereField, type h as WhereOperator } from "./packem_shared/types.d-C_XaTdLA.js";
4
+ import { OpenAPIV3 } from 'openapi-types';
5
+ type PrismaRecursiveField = "include" | "select";
6
+ type PrismaRecursive<T extends PrismaRecursiveField> = Record<string, boolean | { [key in T]: PrismaRecursive<T> }>;
7
+ type PrismaWhereOperator = "contains" | "endsWith" | "equals" | "gt" | "gte" | "in" | "lt" | "lte" | "not" | "notIn" | "startsWith";
8
+ type PrismaOrderByOperator = "asc" | "desc";
9
+ type PrismaFieldFilterOperator = { [key in PrismaWhereOperator]?: SearchCondition };
10
+ type PrismaFieldFilter = Record<string, Condition | PrismaFieldFilterOperator | PrismaRelationFilter | SearchCondition | undefined>;
11
+ type PrismaWhereField = PrismaFieldFilter & {
12
+ AND?: PrismaFieldFilter;
13
+ NOT?: PrismaFieldFilter;
14
+ OR?: PrismaFieldFilter;
15
+ };
16
+ interface PrismaRelationFilter {
17
+ some?: PrismaFieldFilter | SearchCondition;
18
+ }
19
+ type PrismaOrderBy = Record<string, PrismaOrderByOperator>;
20
+ type PrismaCursor = Record<string, boolean | number | string>;
21
+ interface PrismaParsedQueryParameters {
22
+ cursor?: PrismaCursor;
23
+ distinct?: string;
24
+ include?: PrismaRecursive<"include">;
25
+ orderBy?: PrismaOrderBy;
26
+ select?: PrismaRecursive<"select">;
27
+ skip?: number;
28
+ take?: number;
29
+ where?: PrismaWhereField;
30
+ }
31
+ interface AdapterCtorArguments<M extends string, PrismaClient> {
32
+ manyRelations?: { [key in M]?: string[] };
33
+ models?: M[];
34
+ primaryKey?: string;
35
+ prismaClient: PrismaClient;
36
+ }
37
+ declare class PrismaAdapter<T, M extends string, PrismaClient> implements Adapter<T, PrismaParsedQueryParameters, M> {
38
+ models?: M[];
39
+ private readonly ctorModels?;
40
+ private dmmf;
41
+ private readonly manyRelations;
42
+ private readonly primaryKey;
43
+ private readonly prismaClient;
44
+ constructor({
45
+ manyRelations,
46
+ models,
47
+ primaryKey,
48
+ prismaClient
49
+ }: AdapterCtorArguments<M, FakePrismaClient & PrismaClient>);
50
+ connect(): Promise<void>;
51
+ create(resourceName: M, data: unknown, query: PrismaParsedQueryParameters): Promise<T>;
52
+ delete(resourceName: M, resourceId: number | string, query: PrismaParsedQueryParameters): Promise<T>;
53
+ disconnect(): Promise<void>;
54
+ getAll(resourceName: M, query: PrismaParsedQueryParameters): Promise<T[]>;
55
+ getModels(): M[];
56
+ getOne(resourceName: M, resourceId: number | string, query: PrismaParsedQueryParameters): Promise<T>;
57
+ getPaginationData(resourceName: M, query: PrismaParsedQueryParameters): Promise<PaginationData>;
58
+ handleError(error: Error): HttpError;
59
+ init(): Promise<void>;
60
+ mapModelsToRouteNames(): Promise<{ [key in M]?: string }>;
61
+ parseQuery(resourceName: M, query: ParsedQueryParameters): PrismaParsedQueryParameters;
62
+ update(resourceName: M, resourceId: number | string, data: unknown, query: PrismaParsedQueryParameters): Promise<T>;
63
+ get client(): PrismaClient;
64
+ private readonly getPrismaClientModels;
65
+ private getPrismaDelegate;
66
+ }
67
+ interface SwaggerType {
68
+ description?: string;
69
+ isArray?: boolean;
70
+ name: string;
71
+ required?: boolean;
72
+ }
73
+ interface SwaggerOperation {
74
+ body?: SwaggerType;
75
+ response: SwaggerType;
76
+ responses?: Record<number, OpenAPIV3.ResponseObject | OpenAPIV3.ReferenceObject>;
77
+ summary?: string;
78
+ }
79
+ interface SwaggerParameter {
80
+ description?: string;
81
+ name: string;
82
+ schema: OpenAPIV3.SchemaObject;
83
+ }
84
+ interface ModelsConfig {
85
+ additionalQueryParams?: SwaggerParameter[];
86
+ routeTypes?: {
87
+ [RouteType.CREATE]?: SwaggerOperation;
88
+ [RouteType.DELETE]?: SwaggerOperation;
89
+ [RouteType.READ_ALL]?: SwaggerOperation;
90
+ [RouteType.READ_ONE]?: SwaggerOperation;
91
+ [RouteType.UPDATE]?: SwaggerOperation;
92
+ };
93
+ tag: OpenAPIV3.TagObject;
94
+ type?: SwaggerType;
95
+ }
96
+ type SwaggerModelsConfig<M extends string> = { [key in M]?: ModelsConfig };
97
+ declare const modelsToOpenApi: <M extends string = string, PrismaClient = FakePrismaClient>({
98
+ crud,
99
+ defaultExposeStrategy,
100
+ models: ctorModels,
101
+ prismaClient,
102
+ swagger
103
+ }: ModelsToOpenApiParameters<M, PrismaClient>) => Promise<{
104
+ examples: Record<string, OpenAPIV3.ExampleObject | OpenAPIV3.ReferenceObject>;
105
+ paths: OpenAPIV3.PathsObject;
106
+ schemas: Record<string, OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject>;
107
+ tags: OpenAPIV3.TagObject[];
108
+ }>;
109
+ interface ModelsToOpenApiParameters<M extends string, PrismaClient> {
110
+ crud?: {
111
+ models: ModelsOptions<M>;
112
+ };
113
+ defaultExposeStrategy?: "all" | "none";
114
+ models?: M[];
115
+ prismaClient: FakePrismaClient & PrismaClient;
116
+ swagger?: Partial<{
117
+ allowedMediaTypes: Record<string, boolean>;
118
+ models: SwaggerModelsConfig<M>;
119
+ }>;
120
+ }
121
+ export { type Adapter, type Condition, type ModelsOptions, type ModelsToOpenApiParameters, type PaginationData, type ParsedQueryParameters, PrismaAdapter, RouteType, type SearchCondition, type SwaggerModelsConfig, modelsToOpenApi };
package/dist/index.mjs CHANGED
@@ -1,3 +1 @@
1
- export { default as PrismaAdapter } from './packem_shared/PrismaAdapter-Bd2bxZfN.mjs';
2
- export { default as modelsToOpenApi } from './packem_shared/modelsToOpenApi-qs_cqTsd.mjs';
3
- export { RouteType } from './packem_shared/RouteType-CB2xrWdf.mjs';
1
+ import{default as r}from"./packem_shared/PrismaAdapter-EuQr18sT.mjs";import{default as t}from"./packem_shared/modelsToOpenApi-ocNrUF5p.mjs";import{RouteType as f}from"./packem_shared/RouteType-BQ2RxFPE.mjs";export{r as PrismaAdapter,f as RouteType,t as modelsToOpenApi};
@@ -1,11 +1 @@
1
- 'use strict';
2
-
3
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
4
-
5
- const edgeHandler = require('../packem_shared/edgeHandler-DFuv_tsd.cjs');
6
- const nodeHandler = require('../packem_shared/nodeHandler-BlXQahKv.cjs');
7
-
8
-
9
-
10
- exports.edgeHandler = edgeHandler;
11
- exports.nodeHandler = nodeHandler;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../packem_shared/edgeHandler-CaIWVXt-.cjs"),r=require("../packem_shared/nodeHandler-D7AuOmUo.cjs");exports.edgeHandler=e;exports.nodeHandler=r;