@visulima/crud 3.0.0-alpha.14 → 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.
- package/CHANGELOG.md +25 -0
- package/LICENSE.md +32 -0
- package/dist/index.cjs +1 -13
- package/dist/index.d.cts +121 -6
- package/dist/index.d.mts +121 -6
- package/dist/index.d.ts +121 -6
- package/dist/index.mjs +1 -3
- package/dist/next/index.cjs +1 -11
- package/dist/next/index.d.cts +1747 -2
- package/dist/next/index.d.mts +1742 -2
- package/dist/next/index.d.ts +1742 -2
- package/dist/next/index.mjs +1 -2
- package/dist/packem_shared/PrismaAdapter-D0WRtRlB.cjs +1 -0
- package/dist/packem_shared/PrismaAdapter-EuQr18sT.mjs +1 -0
- package/dist/packem_shared/RouteType-BQ2RxFPE.mjs +1 -0
- package/dist/packem_shared/RouteType-DLV_OhhD.cjs +1 -0
- package/dist/packem_shared/base-crud-handler-B6xOUGDj.cjs +1 -0
- package/dist/packem_shared/base-crud-handler-DNKq7uog.mjs +1 -0
- package/dist/packem_shared/edgeHandler-CaIWVXt-.cjs +1 -0
- package/dist/packem_shared/edgeHandler-Deds33h_.mjs +1 -0
- package/dist/packem_shared/get-accessible-routes-DLLL11KB.cjs +1 -0
- package/dist/packem_shared/get-accessible-routes-xHYBQ_6q.mjs +1 -0
- package/dist/packem_shared/models-to-route-names-Dh2b_kIL.cjs +1 -0
- package/dist/packem_shared/models-to-route-names-UU1lZmbK.mjs +1 -0
- package/dist/packem_shared/modelsToOpenApi-CsQL5VTy.cjs +1 -0
- package/dist/packem_shared/modelsToOpenApi-ocNrUF5p.mjs +1 -0
- package/dist/packem_shared/nodeHandler-CeBCrxYT.mjs +1 -0
- package/dist/packem_shared/nodeHandler-D7AuOmUo.cjs +1 -0
- package/dist/packem_shared/types.d-C_XaTdLA.d.cts +126 -0
- package/dist/packem_shared/types.d-C_XaTdLA.d.mts +126 -0
- package/dist/packem_shared/types.d-C_XaTdLA.d.ts +126 -0
- package/package.json +6 -6
- package/dist/adapter/prisma/index.d.cts +0 -39
- package/dist/adapter/prisma/index.d.mts +0 -39
- package/dist/adapter/prisma/index.d.ts +0 -39
- package/dist/adapter/prisma/types.d.cts +0 -31
- package/dist/adapter/prisma/types.d.mts +0 -31
- package/dist/adapter/prisma/types.d.ts +0 -31
- package/dist/adapter/prisma/utils/models-to-route-names.d.cts +0 -5
- package/dist/adapter/prisma/utils/models-to-route-names.d.mts +0 -5
- package/dist/adapter/prisma/utils/models-to-route-names.d.ts +0 -5
- package/dist/adapter/prisma/utils/parse-cursor.d.cts +0 -3
- package/dist/adapter/prisma/utils/parse-cursor.d.mts +0 -3
- package/dist/adapter/prisma/utils/parse-cursor.d.ts +0 -3
- package/dist/adapter/prisma/utils/parse-order-by.d.cts +0 -4
- package/dist/adapter/prisma/utils/parse-order-by.d.mts +0 -4
- package/dist/adapter/prisma/utils/parse-order-by.d.ts +0 -4
- package/dist/adapter/prisma/utils/parse-recursive.d.cts +0 -4
- package/dist/adapter/prisma/utils/parse-recursive.d.mts +0 -4
- package/dist/adapter/prisma/utils/parse-recursive.d.ts +0 -4
- package/dist/adapter/prisma/utils/parse-where.d.cts +0 -4
- package/dist/adapter/prisma/utils/parse-where.d.mts +0 -4
- package/dist/adapter/prisma/utils/parse-where.d.ts +0 -4
- package/dist/base-crud-handler.d.cts +0 -9
- package/dist/base-crud-handler.d.mts +0 -9
- package/dist/base-crud-handler.d.ts +0 -9
- package/dist/handler/create.d.cts +0 -3
- package/dist/handler/create.d.mts +0 -3
- package/dist/handler/create.d.ts +0 -3
- package/dist/handler/delete.d.cts +0 -3
- package/dist/handler/delete.d.mts +0 -3
- package/dist/handler/delete.d.ts +0 -3
- package/dist/handler/list.d.cts +0 -3
- package/dist/handler/list.d.mts +0 -3
- package/dist/handler/list.d.ts +0 -3
- package/dist/handler/read.d.cts +0 -3
- package/dist/handler/read.d.mts +0 -3
- package/dist/handler/read.d.ts +0 -3
- package/dist/handler/update.d.cts +0 -3
- package/dist/handler/update.d.mts +0 -3
- package/dist/handler/update.d.ts +0 -3
- package/dist/next/api/edge/index.d.cts +0 -3
- package/dist/next/api/edge/index.d.mts +0 -3
- package/dist/next/api/edge/index.d.ts +0 -3
- package/dist/next/api/node/index.d.cts +0 -4
- package/dist/next/api/node/index.d.mts +0 -4
- package/dist/next/api/node/index.d.ts +0 -4
- package/dist/packem_shared/PrismaAdapter-Bd2bxZfN.mjs +0 -318
- package/dist/packem_shared/PrismaAdapter-BondygJ8.cjs +0 -324
- package/dist/packem_shared/RouteType-Bk3uAK0x.cjs +0 -14
- package/dist/packem_shared/RouteType-CB2xrWdf.mjs +0 -10
- package/dist/packem_shared/base-crud-handler-Cg8r7S9C.mjs +0 -587
- package/dist/packem_shared/base-crud-handler-DSlkMYL6.cjs +0 -572
- package/dist/packem_shared/edgeHandler-DFuv_tsd.cjs +0 -18
- package/dist/packem_shared/edgeHandler-l0sBgF0s.mjs +0 -16
- package/dist/packem_shared/get-accessible-routes-C6NF9Iry.cjs +0 -16
- package/dist/packem_shared/get-accessible-routes-sV5SDdFn.mjs +0 -14
- package/dist/packem_shared/models-to-route-names-CdwsK0V1.mjs +0 -9
- package/dist/packem_shared/models-to-route-names-Dv94PzhE.cjs +0 -11
- package/dist/packem_shared/modelsToOpenApi-DypKlIy4.cjs +0 -708
- package/dist/packem_shared/modelsToOpenApi-qs_cqTsd.mjs +0 -706
- package/dist/packem_shared/nodeHandler-BlXQahKv.cjs +0 -16
- package/dist/packem_shared/nodeHandler-R76tfOc6.mjs +0 -14
- package/dist/query-parser.d.cts +0 -3
- package/dist/query-parser.d.mts +0 -3
- package/dist/query-parser.d.ts +0 -3
- package/dist/swagger/adapter/prisma/index.d.cts +0 -22
- package/dist/swagger/adapter/prisma/index.d.mts +0 -22
- package/dist/swagger/adapter/prisma/index.d.ts +0 -22
- package/dist/swagger/json-schema-parser.d.cts +0 -18
- package/dist/swagger/json-schema-parser.d.mts +0 -18
- package/dist/swagger/json-schema-parser.d.ts +0 -18
- package/dist/swagger/parameters.d.cts +0 -5
- package/dist/swagger/parameters.d.mts +0 -5
- package/dist/swagger/parameters.d.ts +0 -5
- package/dist/swagger/types.d.cts +0 -39
- package/dist/swagger/types.d.mts +0 -39
- package/dist/swagger/types.d.ts +0 -39
- package/dist/swagger/utils/format-example-ref.d.cts +0 -2
- package/dist/swagger/utils/format-example-ref.d.mts +0 -2
- package/dist/swagger/utils/format-example-ref.d.ts +0 -2
- package/dist/swagger/utils/format-schema-ref.d.cts +0 -2
- package/dist/swagger/utils/format-schema-ref.d.mts +0 -2
- package/dist/swagger/utils/format-schema-ref.d.ts +0 -2
- package/dist/swagger/utils/get-models-accessible-routes.d.cts +0 -4
- package/dist/swagger/utils/get-models-accessible-routes.d.mts +0 -4
- package/dist/swagger/utils/get-models-accessible-routes.d.ts +0 -4
- package/dist/swagger/utils/get-swagger-paths.d.cts +0 -12
- package/dist/swagger/utils/get-swagger-paths.d.mts +0 -12
- package/dist/swagger/utils/get-swagger-paths.d.ts +0 -12
- package/dist/swagger/utils/get-swagger-tags.d.cts +0 -4
- package/dist/swagger/utils/get-swagger-tags.d.mts +0 -4
- package/dist/swagger/utils/get-swagger-tags.d.ts +0 -4
- package/dist/types.d.cts +0 -131
- package/dist/types.d.mts +0 -131
- package/dist/types.d.ts +0 -131
- package/dist/utils/format-resource-id.d.cts +0 -2
- package/dist/utils/format-resource-id.d.mts +0 -2
- package/dist/utils/format-resource-id.d.ts +0 -2
- package/dist/utils/get-accessible-routes.d.cts +0 -3
- package/dist/utils/get-accessible-routes.d.mts +0 -3
- package/dist/utils/get-accessible-routes.d.ts +0 -3
- package/dist/utils/get-resource-name-from-url.d.cts +0 -5
- package/dist/utils/get-resource-name-from-url.d.mts +0 -5
- package/dist/utils/get-resource-name-from-url.d.ts +0 -5
- package/dist/utils/get-route-type.d.cts +0 -7
- package/dist/utils/get-route-type.d.mts +0 -7
- package/dist/utils/get-route-type.d.ts +0 -7
- package/dist/utils/is-primitive.d.cts +0 -2
- package/dist/utils/is-primitive.d.mts +0 -2
- package/dist/utils/is-primitive.d.ts +0 -2
- package/dist/utils/validate-adapter-methods.d.cts +0 -3
- package/dist/utils/validate-adapter-methods.d.mts +0 -3
- package/dist/utils/validate-adapter-methods.d.ts +0 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,28 @@
|
|
|
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
|
+
|
|
1
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)
|
|
2
27
|
|
|
3
28
|
### Bug Fixes
|
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
|
-
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
export {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
export {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
export {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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
|
-
|
|
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};
|
package/dist/next/index.cjs
CHANGED
|
@@ -1,11 +1 @@
|
|
|
1
|
-
|
|
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;
|