@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.
Files changed (144) hide show
  1. package/CHANGELOG.md +25 -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
@@ -1,14 +0,0 @@
1
- import { b as baseHandler } from './base-crud-handler-Cg8r7S9C.mjs';
2
-
3
- const handler = async (adapter, options) => await baseHandler(
4
- async (response, responseConfig) => {
5
- response.status(responseConfig.status).send(responseConfig.data);
6
- },
7
- async (response) => {
8
- response.end();
9
- },
10
- adapter,
11
- options
12
- );
13
-
14
- export { handler as default };
@@ -1,3 +0,0 @@
1
- import type { ParsedQueryParameters } from "./types.d.cts";
2
- declare const parseQuery: (url?: string) => ParsedQueryParameters;
3
- export = parseQuery;
@@ -1,3 +0,0 @@
1
- import type { ParsedQueryParameters } from "./types.d.mts";
2
- declare const parseQuery: (url?: string) => ParsedQueryParameters;
3
- export default parseQuery;
@@ -1,3 +0,0 @@
1
- import type { ParsedQueryParameters } from "./types.d.ts";
2
- declare const parseQuery: (url?: string) => ParsedQueryParameters;
3
- export = parseQuery;
@@ -1,22 +0,0 @@
1
- import type { OpenAPIV3 } from "openapi-types";
2
- import type { FakePrismaClient, ModelsOptions } from "../../../types.d.cts";
3
- import type { SwaggerModelsConfig } from "../../types.d.cts";
4
- declare const modelsToOpenApi: <M extends string = string, PrismaClient = FakePrismaClient>({ crud, defaultExposeStrategy, models: ctorModels, prismaClient, swagger, }: ModelsToOpenApiParameters<M, PrismaClient>) => Promise<{
5
- examples: Record<string, OpenAPIV3.ExampleObject | OpenAPIV3.ReferenceObject>;
6
- paths: OpenAPIV3.PathsObject;
7
- schemas: Record<string, OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject>;
8
- tags: OpenAPIV3.TagObject[];
9
- }>;
10
- export interface ModelsToOpenApiParameters<M extends string, PrismaClient> {
11
- crud?: {
12
- models: ModelsOptions<M>;
13
- };
14
- defaultExposeStrategy?: "all" | "none";
15
- models?: M[];
16
- prismaClient: FakePrismaClient & PrismaClient;
17
- swagger?: Partial<{
18
- allowedMediaTypes: Record<string, boolean>;
19
- models: SwaggerModelsConfig<M>;
20
- }>;
21
- }
22
- export = modelsToOpenApi;
@@ -1,22 +0,0 @@
1
- import type { OpenAPIV3 } from "openapi-types";
2
- import type { FakePrismaClient, ModelsOptions } from "../../../types.d.mts";
3
- import type { SwaggerModelsConfig } from "../../types.d.mts";
4
- declare const modelsToOpenApi: <M extends string = string, PrismaClient = FakePrismaClient>({ crud, defaultExposeStrategy, models: ctorModels, prismaClient, swagger, }: ModelsToOpenApiParameters<M, PrismaClient>) => Promise<{
5
- examples: Record<string, OpenAPIV3.ExampleObject | OpenAPIV3.ReferenceObject>;
6
- paths: OpenAPIV3.PathsObject;
7
- schemas: Record<string, OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject>;
8
- tags: OpenAPIV3.TagObject[];
9
- }>;
10
- export interface ModelsToOpenApiParameters<M extends string, PrismaClient> {
11
- crud?: {
12
- models: ModelsOptions<M>;
13
- };
14
- defaultExposeStrategy?: "all" | "none";
15
- models?: M[];
16
- prismaClient: FakePrismaClient & PrismaClient;
17
- swagger?: Partial<{
18
- allowedMediaTypes: Record<string, boolean>;
19
- models: SwaggerModelsConfig<M>;
20
- }>;
21
- }
22
- export default modelsToOpenApi;
@@ -1,22 +0,0 @@
1
- import type { OpenAPIV3 } from "openapi-types";
2
- import type { FakePrismaClient, ModelsOptions } from "../../../types.d.ts";
3
- import type { SwaggerModelsConfig } from "../../types.d.ts";
4
- declare const modelsToOpenApi: <M extends string = string, PrismaClient = FakePrismaClient>({ crud, defaultExposeStrategy, models: ctorModels, prismaClient, swagger, }: ModelsToOpenApiParameters<M, PrismaClient>) => Promise<{
5
- examples: Record<string, OpenAPIV3.ExampleObject | OpenAPIV3.ReferenceObject>;
6
- paths: OpenAPIV3.PathsObject;
7
- schemas: Record<string, OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject>;
8
- tags: OpenAPIV3.TagObject[];
9
- }>;
10
- export interface ModelsToOpenApiParameters<M extends string, PrismaClient> {
11
- crud?: {
12
- models: ModelsOptions<M>;
13
- };
14
- defaultExposeStrategy?: "all" | "none";
15
- models?: M[];
16
- prismaClient: FakePrismaClient & PrismaClient;
17
- swagger?: Partial<{
18
- allowedMediaTypes: Record<string, boolean>;
19
- models: SwaggerModelsConfig<M>;
20
- }>;
21
- }
22
- export = modelsToOpenApi;
@@ -1,18 +0,0 @@
1
- import type { JSONSchema7 } from "json-schema";
2
- import type { OpenAPIV3 } from "openapi-types";
3
- declare class PrismaJsonSchemaParser {
4
- private readonly dmmf;
5
- private readonly schemaInputTypes;
6
- constructor(dmmf: any);
7
- formatInputTypeData(inputType: any): any;
8
- getExampleModelsSchemas(modelNames: string[], schemas: Record<string, OpenAPIV3.SchemaObject>): Record<string, OpenAPIV3.ExampleObject | OpenAPIV3.ReferenceObject>;
9
- getPaginatedModelsSchemas(modelNames: string[]): Record<string, OpenAPIV3.SchemaObject>;
10
- getPaginationDataSchema(): Record<string, OpenAPIV3.SchemaObject>;
11
- parseInputTypes(models: string[]): Record<string, JSONSchema7>;
12
- parseModels(): Record<string, JSONSchema7>;
13
- parseObjectInputType(fieldType: any): {
14
- $ref?: string;
15
- type?: string;
16
- };
17
- }
18
- export = PrismaJsonSchemaParser;
@@ -1,18 +0,0 @@
1
- import type { JSONSchema7 } from "json-schema";
2
- import type { OpenAPIV3 } from "openapi-types";
3
- declare class PrismaJsonSchemaParser {
4
- private readonly dmmf;
5
- private readonly schemaInputTypes;
6
- constructor(dmmf: any);
7
- formatInputTypeData(inputType: any): any;
8
- getExampleModelsSchemas(modelNames: string[], schemas: Record<string, OpenAPIV3.SchemaObject>): Record<string, OpenAPIV3.ExampleObject | OpenAPIV3.ReferenceObject>;
9
- getPaginatedModelsSchemas(modelNames: string[]): Record<string, OpenAPIV3.SchemaObject>;
10
- getPaginationDataSchema(): Record<string, OpenAPIV3.SchemaObject>;
11
- parseInputTypes(models: string[]): Record<string, JSONSchema7>;
12
- parseModels(): Record<string, JSONSchema7>;
13
- parseObjectInputType(fieldType: any): {
14
- $ref?: string;
15
- type?: string;
16
- };
17
- }
18
- export default PrismaJsonSchemaParser;
@@ -1,18 +0,0 @@
1
- import type { JSONSchema7 } from "json-schema";
2
- import type { OpenAPIV3 } from "openapi-types";
3
- declare class PrismaJsonSchemaParser {
4
- private readonly dmmf;
5
- private readonly schemaInputTypes;
6
- constructor(dmmf: any);
7
- formatInputTypeData(inputType: any): any;
8
- getExampleModelsSchemas(modelNames: string[], schemas: Record<string, OpenAPIV3.SchemaObject>): Record<string, OpenAPIV3.ExampleObject | OpenAPIV3.ReferenceObject>;
9
- getPaginatedModelsSchemas(modelNames: string[]): Record<string, OpenAPIV3.SchemaObject>;
10
- getPaginationDataSchema(): Record<string, OpenAPIV3.SchemaObject>;
11
- parseInputTypes(models: string[]): Record<string, JSONSchema7>;
12
- parseModels(): Record<string, JSONSchema7>;
13
- parseObjectInputType(fieldType: any): {
14
- $ref?: string;
15
- type?: string;
16
- };
17
- }
18
- export = PrismaJsonSchemaParser;
@@ -1,5 +0,0 @@
1
- import { RouteType } from "../types.d.cts";
2
- import type { SwaggerParameter } from "./types.d.cts";
3
- export declare const commonQueryParameters: SwaggerParameter[];
4
- export declare const listQueryParameters: SwaggerParameter[];
5
- export declare const getQueryParameters: (routeType: RouteType, additionalQueryParameters?: SwaggerParameter[]) => SwaggerParameter[];
@@ -1,5 +0,0 @@
1
- import { RouteType } from "../types.d.mts";
2
- import type { SwaggerParameter } from "./types.d.mts";
3
- export declare const commonQueryParameters: SwaggerParameter[];
4
- export declare const listQueryParameters: SwaggerParameter[];
5
- export declare const getQueryParameters: (routeType: RouteType, additionalQueryParameters?: SwaggerParameter[]) => SwaggerParameter[];
@@ -1,5 +0,0 @@
1
- import { RouteType } from "../types.d.ts";
2
- import type { SwaggerParameter } from "./types.d.ts";
3
- export declare const commonQueryParameters: SwaggerParameter[];
4
- export declare const listQueryParameters: SwaggerParameter[];
5
- export declare const getQueryParameters: (routeType: RouteType, additionalQueryParameters?: SwaggerParameter[]) => SwaggerParameter[];
@@ -1,39 +0,0 @@
1
- import type { OpenAPIV3 } from "openapi-types";
2
- import type { RouteType } from "../types.d.cts";
3
- export interface SwaggerType {
4
- description?: string;
5
- isArray?: boolean;
6
- name: string;
7
- required?: boolean;
8
- }
9
- export interface SwaggerOperation {
10
- body?: SwaggerType;
11
- response: SwaggerType;
12
- responses?: Record<number, any>;
13
- summary?: string;
14
- }
15
- export interface SwaggerParameter {
16
- description?: string;
17
- name: string;
18
- schema: any & {
19
- type: string;
20
- };
21
- }
22
- export interface ModelsConfig {
23
- additionalQueryParams?: SwaggerParameter[];
24
- routeTypes?: {
25
- [RouteType.CREATE]?: SwaggerOperation;
26
- [RouteType.DELETE]?: SwaggerOperation;
27
- [RouteType.READ_ALL]?: SwaggerOperation;
28
- [RouteType.READ_ONE]?: SwaggerOperation;
29
- [RouteType.UPDATE]?: SwaggerOperation;
30
- };
31
- tag: OpenAPIV3.TagObject;
32
- type?: SwaggerType;
33
- }
34
- export type SwaggerModelsConfig<M extends string> = {
35
- [key in M]?: ModelsConfig;
36
- };
37
- export type Routes<M extends string> = {
38
- [key in M]?: RouteType[];
39
- };
@@ -1,39 +0,0 @@
1
- import type { OpenAPIV3 } from "openapi-types";
2
- import type { RouteType } from "../types.d.mts";
3
- export interface SwaggerType {
4
- description?: string;
5
- isArray?: boolean;
6
- name: string;
7
- required?: boolean;
8
- }
9
- export interface SwaggerOperation {
10
- body?: SwaggerType;
11
- response: SwaggerType;
12
- responses?: Record<number, any>;
13
- summary?: string;
14
- }
15
- export interface SwaggerParameter {
16
- description?: string;
17
- name: string;
18
- schema: any & {
19
- type: string;
20
- };
21
- }
22
- export interface ModelsConfig {
23
- additionalQueryParams?: SwaggerParameter[];
24
- routeTypes?: {
25
- [RouteType.CREATE]?: SwaggerOperation;
26
- [RouteType.DELETE]?: SwaggerOperation;
27
- [RouteType.READ_ALL]?: SwaggerOperation;
28
- [RouteType.READ_ONE]?: SwaggerOperation;
29
- [RouteType.UPDATE]?: SwaggerOperation;
30
- };
31
- tag: OpenAPIV3.TagObject;
32
- type?: SwaggerType;
33
- }
34
- export type SwaggerModelsConfig<M extends string> = {
35
- [key in M]?: ModelsConfig;
36
- };
37
- export type Routes<M extends string> = {
38
- [key in M]?: RouteType[];
39
- };
@@ -1,39 +0,0 @@
1
- import type { OpenAPIV3 } from "openapi-types";
2
- import type { RouteType } from "../types.d.ts";
3
- export interface SwaggerType {
4
- description?: string;
5
- isArray?: boolean;
6
- name: string;
7
- required?: boolean;
8
- }
9
- export interface SwaggerOperation {
10
- body?: SwaggerType;
11
- response: SwaggerType;
12
- responses?: Record<number, any>;
13
- summary?: string;
14
- }
15
- export interface SwaggerParameter {
16
- description?: string;
17
- name: string;
18
- schema: any & {
19
- type: string;
20
- };
21
- }
22
- export interface ModelsConfig {
23
- additionalQueryParams?: SwaggerParameter[];
24
- routeTypes?: {
25
- [RouteType.CREATE]?: SwaggerOperation;
26
- [RouteType.DELETE]?: SwaggerOperation;
27
- [RouteType.READ_ALL]?: SwaggerOperation;
28
- [RouteType.READ_ONE]?: SwaggerOperation;
29
- [RouteType.UPDATE]?: SwaggerOperation;
30
- };
31
- tag: OpenAPIV3.TagObject;
32
- type?: SwaggerType;
33
- }
34
- export type SwaggerModelsConfig<M extends string> = {
35
- [key in M]?: ModelsConfig;
36
- };
37
- export type Routes<M extends string> = {
38
- [key in M]?: RouteType[];
39
- };
@@ -1,2 +0,0 @@
1
- declare const formatExampleReference: (schemaName: string) => string;
2
- export = formatExampleReference;
@@ -1,2 +0,0 @@
1
- declare const formatExampleReference: (schemaName: string) => string;
2
- export default formatExampleReference;
@@ -1,2 +0,0 @@
1
- declare const formatExampleReference: (schemaName: string) => string;
2
- export = formatExampleReference;
@@ -1,2 +0,0 @@
1
- declare const formatSchemaReference: (schemaName: string) => string;
2
- export = formatSchemaReference;
@@ -1,2 +0,0 @@
1
- declare const formatSchemaReference: (schemaName: string) => string;
2
- export default formatSchemaReference;
@@ -1,2 +0,0 @@
1
- declare const formatSchemaReference: (schemaName: string) => string;
2
- export = formatSchemaReference;
@@ -1,4 +0,0 @@
1
- import type { ModelsOptions } from "../../types.d.cts";
2
- import type { Routes } from "../types.d.cts";
3
- declare const getModelsAccessibleRoutes: <M extends string>(modelNames: M[], models?: ModelsOptions<M>, defaultExposeStrategy?: "all" | "none") => Routes<M>;
4
- export = getModelsAccessibleRoutes;
@@ -1,4 +0,0 @@
1
- import type { ModelsOptions } from "../../types.d.mts";
2
- import type { Routes } from "../types.d.mts";
3
- declare const getModelsAccessibleRoutes: <M extends string>(modelNames: M[], models?: ModelsOptions<M>, defaultExposeStrategy?: "all" | "none") => Routes<M>;
4
- export default getModelsAccessibleRoutes;
@@ -1,4 +0,0 @@
1
- import type { ModelsOptions } from "../../types.d.ts";
2
- import type { Routes } from "../types.d.ts";
3
- declare const getModelsAccessibleRoutes: <M extends string>(modelNames: M[], models?: ModelsOptions<M>, defaultExposeStrategy?: "all" | "none") => Routes<M>;
4
- export = getModelsAccessibleRoutes;
@@ -1,12 +0,0 @@
1
- import type { ModelsOptions } from "../../types.d.cts";
2
- import type { Routes, SwaggerModelsConfig } from "../types.d.cts";
3
- declare const getSwaggerPaths: <M extends string>({ models, modelsConfig, routes, routesMap }: GetSwaggerPathsParameters<M>) => Record<string, any>;
4
- export interface GetSwaggerPathsParameters<M extends string> {
5
- models?: ModelsOptions<M>;
6
- modelsConfig?: SwaggerModelsConfig<M>;
7
- routes: Routes<M>;
8
- routesMap?: {
9
- [key in M]?: string;
10
- };
11
- }
12
- export = getSwaggerPaths;
@@ -1,12 +0,0 @@
1
- import type { ModelsOptions } from "../../types.d.mts";
2
- import type { Routes, SwaggerModelsConfig } from "../types.d.mts";
3
- declare const getSwaggerPaths: <M extends string>({ models, modelsConfig, routes, routesMap }: GetSwaggerPathsParameters<M>) => Record<string, any>;
4
- export interface GetSwaggerPathsParameters<M extends string> {
5
- models?: ModelsOptions<M>;
6
- modelsConfig?: SwaggerModelsConfig<M>;
7
- routes: Routes<M>;
8
- routesMap?: {
9
- [key in M]?: string;
10
- };
11
- }
12
- export default getSwaggerPaths;
@@ -1,12 +0,0 @@
1
- import type { ModelsOptions } from "../../types.d.ts";
2
- import type { Routes, SwaggerModelsConfig } from "../types.d.ts";
3
- declare const getSwaggerPaths: <M extends string>({ models, modelsConfig, routes, routesMap }: GetSwaggerPathsParameters<M>) => Record<string, any>;
4
- export interface GetSwaggerPathsParameters<M extends string> {
5
- models?: ModelsOptions<M>;
6
- modelsConfig?: SwaggerModelsConfig<M>;
7
- routes: Routes<M>;
8
- routesMap?: {
9
- [key in M]?: string;
10
- };
11
- }
12
- export = getSwaggerPaths;
@@ -1,4 +0,0 @@
1
- import type { OpenAPIV3 } from "openapi-types";
2
- import type { SwaggerModelsConfig } from "../types.d.cts";
3
- declare const getSwaggerTags: <M extends string>(modelNames: M[], modelsConfig?: SwaggerModelsConfig<M>) => OpenAPIV3.TagObject[];
4
- export = getSwaggerTags;
@@ -1,4 +0,0 @@
1
- import type { OpenAPIV3 } from "openapi-types";
2
- import type { SwaggerModelsConfig } from "../types.d.mts";
3
- declare const getSwaggerTags: <M extends string>(modelNames: M[], modelsConfig?: SwaggerModelsConfig<M>) => OpenAPIV3.TagObject[];
4
- export default getSwaggerTags;
@@ -1,4 +0,0 @@
1
- import type { OpenAPIV3 } from "openapi-types";
2
- import type { SwaggerModelsConfig } from "../types.d.ts";
3
- declare const getSwaggerTags: <M extends string>(modelNames: M[], modelsConfig?: SwaggerModelsConfig<M>) => OpenAPIV3.TagObject[];
4
- export = getSwaggerTags;
package/dist/types.d.cts DELETED
@@ -1,131 +0,0 @@
1
- export declare enum RouteType {
2
- CREATE = "CREATE",
3
- DELETE = "DELETE",
4
- READ_ALL = "READ_ALL",
5
- READ_ONE = "READ_ONE",
6
- UPDATE = "UPDATE"
7
- }
8
- export interface ModelOption {
9
- exclude?: RouteType[];
10
- formatResourceId?: (resourceId: string) => number | string;
11
- name?: string;
12
- only?: RouteType[];
13
- }
14
- export type ModelsOptions<M extends string = string> = {
15
- [key in M]?: ModelOption;
16
- };
17
- export type CreateHandler = <T, Q, Request>(parameters: HandlerParameters<T, Q> & {
18
- request: Request & {
19
- body: Record<string, any>;
20
- };
21
- }) => Promise<{
22
- data: any;
23
- status: number;
24
- }>;
25
- export type DeleteHandler = <T, Q>(parameters: UniqueResourceHandlerParameters<T, Q>) => Promise<{
26
- data: any;
27
- status: number;
28
- }>;
29
- export type GetHandler = <T, Q>(parameters: UniqueResourceHandlerParameters<T, Q>) => Promise<{
30
- data: any;
31
- status: number;
32
- }>;
33
- export type ListHandler = <T, Q extends ParsedQueryParameters>(parameters: HandlerParameters<T, Q> & {
34
- pagination: PaginationConfig;
35
- }) => Promise<{
36
- data: any;
37
- status: number;
38
- }>;
39
- export type UpdateHandler = <T, Q, Request>(parameters: UniqueResourceHandlerParameters<T, Q> & {
40
- request: Request & {
41
- body: Partial<T>;
42
- };
43
- }) => Promise<{
44
- data: any;
45
- status: number;
46
- }>;
47
- export interface HandlerOptions<M extends string = string> {
48
- exposeStrategy?: "all" | "none";
49
- formatResourceId?: (resourceId: string) => number | string;
50
- handlers?: {
51
- create?: CreateHandler;
52
- delete?: DeleteHandler;
53
- get?: GetHandler;
54
- list?: ListHandler;
55
- update?: UpdateHandler;
56
- };
57
- models?: ModelsOptions<M>;
58
- pagination?: PaginationConfig;
59
- }
60
- export interface PaginationConfig {
61
- perPage: number;
62
- }
63
- export interface HandlerParameters<T, Q> {
64
- adapter: Adapter<T, Q>;
65
- query: Q;
66
- resourceName: string;
67
- }
68
- export interface UniqueResourceHandlerParameters<T, Q> {
69
- adapter: Adapter<T, Q>;
70
- query: Q;
71
- resourceId: number | string;
72
- resourceName: string;
73
- }
74
- export interface Adapter<T, Q, M extends string = string> {
75
- connect?: () => Promise<void>;
76
- create: (resourceName: M, data: any, query: Q) => Promise<T>;
77
- delete: (resourceName: M, resourceId: number | string, query: Q) => Promise<T>;
78
- disconnect?: () => Promise<void>;
79
- getAll: (resourceName: M, query: Q) => Promise<T[]>;
80
- getModels: () => M[];
81
- getOne: (resourceName: M, resourceId: number | string, query: Q) => Promise<T>;
82
- getPaginationData: (resourceName: M, query: Q) => Promise<PaginationData>;
83
- handleError?: (error: Error) => void;
84
- init?: () => Promise<void>;
85
- mapModelsToRouteNames?: () => Promise<{
86
- [key in M]?: string;
87
- }>;
88
- models?: M[];
89
- parseQuery: (resourceName: M, query: ParsedQueryParameters) => Q;
90
- update: (resourceName: M, resourceId: number | string, data: any, query: Q) => Promise<T>;
91
- }
92
- export interface PaginationData {
93
- page: number;
94
- pageCount: number;
95
- total: number;
96
- }
97
- export type RecursiveField = Record<string, Record<string, boolean> | boolean>;
98
- export type WhereOperator = "$cont" | "$ends" | "$eq" | "$gt" | "$gte" | "$in" | "$isnull" | "$lt" | "$lte" | "$neq" | "$notin" | "$starts";
99
- export type SearchCondition = Date | boolean | number | string | null;
100
- export type WhereCondition = {
101
- [key in WhereOperator]?: SearchCondition;
102
- };
103
- export type Condition = {
104
- [key: string]: Condition | SearchCondition | WhereCondition;
105
- };
106
- export type WhereField = Condition & {
107
- $and?: Condition | Condition[];
108
- $not?: Condition | Condition[];
109
- $or?: Condition | Condition[];
110
- };
111
- export type OrderByOperator = "$asc" | "$desc";
112
- export type OrderByField = Record<string, OrderByOperator>;
113
- export interface ParsedQueryParameters {
114
- distinct?: string;
115
- include?: RecursiveField;
116
- limit?: number | undefined;
117
- orderBy?: OrderByField;
118
- originalQuery?: Record<string, any>;
119
- page?: number | undefined;
120
- select?: RecursiveField;
121
- skip?: number | undefined;
122
- where?: WhereField;
123
- }
124
- export type ExecuteHandler<Request, Response> = (request: Request, response: Response) => Promise<void>;
125
- export interface FakePrismaClient {
126
- $connect: () => void;
127
- $disconnect: () => Promise<void>;
128
- [key: string]: any;
129
- _dmmf?: any;
130
- _getDmmf?: () => any;
131
- }