@visulima/crud 3.0.0-alpha.1 → 3.0.0-alpha.11

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 (135) hide show
  1. package/CHANGELOG.md +165 -0
  2. package/LICENSE.md +22 -1
  3. package/README.md +29 -18
  4. package/dist/adapter/prisma/index.d.cts +39 -0
  5. package/dist/adapter/prisma/index.d.mts +39 -0
  6. package/dist/adapter/prisma/index.d.ts +39 -0
  7. package/dist/adapter/prisma/types.d.cts +31 -0
  8. package/dist/adapter/prisma/types.d.mts +31 -0
  9. package/dist/adapter/prisma/types.d.ts +31 -0
  10. package/dist/adapter/prisma/utils/models-to-route-names.d.cts +5 -0
  11. package/dist/adapter/prisma/utils/models-to-route-names.d.mts +5 -0
  12. package/dist/adapter/prisma/utils/models-to-route-names.d.ts +5 -0
  13. package/dist/adapter/prisma/utils/parse-cursor.d.cts +3 -0
  14. package/dist/adapter/prisma/utils/parse-cursor.d.mts +3 -0
  15. package/dist/adapter/prisma/utils/parse-cursor.d.ts +3 -0
  16. package/dist/adapter/prisma/utils/parse-order-by.d.cts +4 -0
  17. package/dist/adapter/prisma/utils/parse-order-by.d.mts +4 -0
  18. package/dist/adapter/prisma/utils/parse-order-by.d.ts +4 -0
  19. package/dist/adapter/prisma/utils/parse-recursive.d.cts +4 -0
  20. package/dist/adapter/prisma/utils/parse-recursive.d.mts +4 -0
  21. package/dist/adapter/prisma/utils/parse-recursive.d.ts +4 -0
  22. package/dist/adapter/prisma/utils/parse-where.d.cts +4 -0
  23. package/dist/adapter/prisma/utils/parse-where.d.mts +4 -0
  24. package/dist/adapter/prisma/utils/parse-where.d.ts +4 -0
  25. package/dist/base-crud-handler.d.cts +9 -0
  26. package/dist/base-crud-handler.d.mts +9 -0
  27. package/dist/base-crud-handler.d.ts +9 -0
  28. package/dist/handler/create.d.cts +3 -0
  29. package/dist/handler/create.d.mts +3 -0
  30. package/dist/handler/create.d.ts +3 -0
  31. package/dist/handler/delete.d.cts +3 -0
  32. package/dist/handler/delete.d.mts +3 -0
  33. package/dist/handler/delete.d.ts +3 -0
  34. package/dist/handler/list.d.cts +3 -0
  35. package/dist/handler/list.d.mts +3 -0
  36. package/dist/handler/list.d.ts +3 -0
  37. package/dist/handler/read.d.cts +3 -0
  38. package/dist/handler/read.d.mts +3 -0
  39. package/dist/handler/read.d.ts +3 -0
  40. package/dist/handler/update.d.cts +3 -0
  41. package/dist/handler/update.d.mts +3 -0
  42. package/dist/handler/update.d.ts +3 -0
  43. package/dist/index.cjs +13 -0
  44. package/dist/index.d.cts +6 -0
  45. package/dist/index.d.mts +6 -127
  46. package/dist/index.d.ts +6 -127
  47. package/dist/index.mjs +3 -1085
  48. package/dist/next/api/edge/index.d.cts +3 -0
  49. package/dist/next/api/edge/index.d.mts +3 -0
  50. package/dist/next/api/edge/index.d.ts +3 -0
  51. package/dist/next/api/node/index.d.cts +4 -0
  52. package/dist/next/api/node/index.d.mts +4 -0
  53. package/dist/next/api/node/index.d.ts +4 -0
  54. package/dist/next/index.cjs +11 -0
  55. package/dist/next/index.d.cts +2 -0
  56. package/dist/next/index.d.mts +2 -8
  57. package/dist/next/index.d.ts +2 -8
  58. package/dist/next/index.mjs +2 -4843
  59. package/dist/packem_shared/PrismaAdapter-Bd2bxZfN.mjs +318 -0
  60. package/dist/packem_shared/PrismaAdapter-BondygJ8.cjs +324 -0
  61. package/dist/packem_shared/RouteType-Bk3uAK0x.cjs +14 -0
  62. package/dist/packem_shared/RouteType-CB2xrWdf.mjs +10 -0
  63. package/dist/packem_shared/base-crud-handler-Cg8r7S9C.mjs +587 -0
  64. package/dist/packem_shared/base-crud-handler-DSlkMYL6.cjs +572 -0
  65. package/dist/packem_shared/edgeHandler-DFuv_tsd.cjs +18 -0
  66. package/dist/packem_shared/edgeHandler-l0sBgF0s.mjs +16 -0
  67. package/dist/packem_shared/get-accessible-routes-C6NF9Iry.cjs +16 -0
  68. package/dist/packem_shared/get-accessible-routes-sV5SDdFn.mjs +14 -0
  69. package/dist/packem_shared/models-to-route-names-CdwsK0V1.mjs +9 -0
  70. package/dist/packem_shared/models-to-route-names-Dv94PzhE.cjs +11 -0
  71. package/dist/{index.js → packem_shared/modelsToOpenApi-DypKlIy4.cjs} +67 -454
  72. package/dist/packem_shared/modelsToOpenApi-qs_cqTsd.mjs +706 -0
  73. package/dist/packem_shared/nodeHandler-BlXQahKv.cjs +16 -0
  74. package/dist/packem_shared/nodeHandler-R76tfOc6.mjs +14 -0
  75. package/dist/query-parser.d.cts +3 -0
  76. package/dist/query-parser.d.mts +3 -0
  77. package/dist/query-parser.d.ts +3 -0
  78. package/dist/swagger/adapter/prisma/index.d.cts +22 -0
  79. package/dist/swagger/adapter/prisma/index.d.mts +22 -0
  80. package/dist/swagger/adapter/prisma/index.d.ts +22 -0
  81. package/dist/swagger/json-schema-parser.d.cts +18 -0
  82. package/dist/swagger/json-schema-parser.d.mts +18 -0
  83. package/dist/swagger/json-schema-parser.d.ts +18 -0
  84. package/dist/swagger/parameters.d.cts +5 -0
  85. package/dist/swagger/parameters.d.mts +5 -0
  86. package/dist/swagger/parameters.d.ts +5 -0
  87. package/dist/swagger/types.d.cts +39 -0
  88. package/dist/swagger/types.d.mts +39 -0
  89. package/dist/swagger/types.d.ts +39 -0
  90. package/dist/swagger/utils/format-example-ref.d.cts +2 -0
  91. package/dist/swagger/utils/format-example-ref.d.mts +2 -0
  92. package/dist/swagger/utils/format-example-ref.d.ts +2 -0
  93. package/dist/swagger/utils/format-schema-ref.d.cts +2 -0
  94. package/dist/swagger/utils/format-schema-ref.d.mts +2 -0
  95. package/dist/swagger/utils/format-schema-ref.d.ts +2 -0
  96. package/dist/swagger/utils/get-models-accessible-routes.d.cts +4 -0
  97. package/dist/swagger/utils/get-models-accessible-routes.d.mts +4 -0
  98. package/dist/swagger/utils/get-models-accessible-routes.d.ts +4 -0
  99. package/dist/swagger/utils/get-swagger-paths.d.cts +12 -0
  100. package/dist/swagger/utils/get-swagger-paths.d.mts +12 -0
  101. package/dist/swagger/utils/get-swagger-paths.d.ts +12 -0
  102. package/dist/swagger/utils/get-swagger-tags.d.cts +4 -0
  103. package/dist/swagger/utils/get-swagger-tags.d.mts +4 -0
  104. package/dist/swagger/utils/get-swagger-tags.d.ts +4 -0
  105. package/dist/{types-C5c2M01-.d.mts → types.d.cts} +45 -52
  106. package/dist/{types-C5c2M01-.d.ts → types.d.mts} +45 -52
  107. package/dist/types.d.ts +131 -0
  108. package/dist/utils/format-resource-id.d.cts +2 -0
  109. package/dist/utils/format-resource-id.d.mts +2 -0
  110. package/dist/utils/format-resource-id.d.ts +2 -0
  111. package/dist/utils/get-accessible-routes.d.cts +3 -0
  112. package/dist/utils/get-accessible-routes.d.mts +3 -0
  113. package/dist/utils/get-accessible-routes.d.ts +3 -0
  114. package/dist/utils/get-resource-name-from-url.d.cts +5 -0
  115. package/dist/utils/get-resource-name-from-url.d.mts +5 -0
  116. package/dist/utils/get-resource-name-from-url.d.ts +5 -0
  117. package/dist/utils/get-route-type.d.cts +7 -0
  118. package/dist/utils/get-route-type.d.mts +7 -0
  119. package/dist/utils/get-route-type.d.ts +7 -0
  120. package/dist/utils/is-primitive.d.cts +2 -0
  121. package/dist/utils/is-primitive.d.mts +2 -0
  122. package/dist/utils/is-primitive.d.ts +2 -0
  123. package/dist/utils/validate-adapter-methods.d.cts +3 -0
  124. package/dist/utils/validate-adapter-methods.d.mts +3 -0
  125. package/dist/utils/validate-adapter-methods.d.ts +3 -0
  126. package/package.json +36 -17
  127. package/dist/chunk-542OFGDD.mjs +0 -73
  128. package/dist/chunk-542OFGDD.mjs.map +0 -1
  129. package/dist/chunk-AW3MPEJW.js +0 -77
  130. package/dist/chunk-AW3MPEJW.js.map +0 -1
  131. package/dist/index.js.map +0 -1
  132. package/dist/index.mjs.map +0 -1
  133. package/dist/next/index.js +0 -4850
  134. package/dist/next/index.js.map +0 -1
  135. package/dist/next/index.mjs.map +0 -1
@@ -0,0 +1,14 @@
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 };
@@ -0,0 +1,3 @@
1
+ import type { ParsedQueryParameters } from "./types.d.cts";
2
+ declare const parseQuery: (url?: string) => ParsedQueryParameters;
3
+ export = parseQuery;
@@ -0,0 +1,3 @@
1
+ import type { ParsedQueryParameters } from "./types.d.mts";
2
+ declare const parseQuery: (url?: string) => ParsedQueryParameters;
3
+ export default parseQuery;
@@ -0,0 +1,3 @@
1
+ import type { ParsedQueryParameters } from "./types.d.ts";
2
+ declare const parseQuery: (url?: string) => ParsedQueryParameters;
3
+ export = parseQuery;
@@ -0,0 +1,22 @@
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;
@@ -0,0 +1,22 @@
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;
@@ -0,0 +1,22 @@
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;
@@ -0,0 +1,18 @@
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;
@@ -0,0 +1,18 @@
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;
@@ -0,0 +1,18 @@
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;
@@ -0,0 +1,5 @@
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[];
@@ -0,0 +1,5 @@
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[];
@@ -0,0 +1,5 @@
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[];
@@ -0,0 +1,39 @@
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
+ };
@@ -0,0 +1,39 @@
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
+ };
@@ -0,0 +1,39 @@
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
+ };
@@ -0,0 +1,2 @@
1
+ declare const formatExampleReference: (schemaName: string) => string;
2
+ export = formatExampleReference;
@@ -0,0 +1,2 @@
1
+ declare const formatExampleReference: (schemaName: string) => string;
2
+ export default formatExampleReference;
@@ -0,0 +1,2 @@
1
+ declare const formatExampleReference: (schemaName: string) => string;
2
+ export = formatExampleReference;
@@ -0,0 +1,2 @@
1
+ declare const formatSchemaReference: (schemaName: string) => string;
2
+ export = formatSchemaReference;
@@ -0,0 +1,2 @@
1
+ declare const formatSchemaReference: (schemaName: string) => string;
2
+ export default formatSchemaReference;
@@ -0,0 +1,2 @@
1
+ declare const formatSchemaReference: (schemaName: string) => string;
2
+ export = formatSchemaReference;
@@ -0,0 +1,4 @@
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;
@@ -0,0 +1,4 @@
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;
@@ -0,0 +1,4 @@
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;
@@ -0,0 +1,12 @@
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;
@@ -0,0 +1,12 @@
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;
@@ -0,0 +1,12 @@
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;
@@ -0,0 +1,4 @@
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;
@@ -0,0 +1,4 @@
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;
@@ -0,0 +1,4 @@
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;
@@ -1,4 +1,20 @@
1
- type Handler$4 = <T, Q, Request>(parameters: HandlerParameters<T, Q> & {
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> & {
2
18
  request: Request & {
3
19
  body: Record<string, any>;
4
20
  };
@@ -6,25 +22,21 @@ type Handler$4 = <T, Q, Request>(parameters: HandlerParameters<T, Q> & {
6
22
  data: any;
7
23
  status: number;
8
24
  }>;
9
-
10
- type Handler$3 = <T, Q>(parameters: UniqueResourceHandlerParameters<T, Q>) => Promise<{
25
+ export type DeleteHandler = <T, Q>(parameters: UniqueResourceHandlerParameters<T, Q>) => Promise<{
11
26
  data: any;
12
27
  status: number;
13
28
  }>;
14
-
15
- type Handler$2 = <T, Q extends ParsedQueryParameters>(parameters: HandlerParameters<T, Q> & {
16
- pagination: PaginationConfig;
17
- }) => Promise<{
29
+ export type GetHandler = <T, Q>(parameters: UniqueResourceHandlerParameters<T, Q>) => Promise<{
18
30
  data: any;
19
31
  status: number;
20
32
  }>;
21
-
22
- type Handler$1 = <T, Q>(parameters: UniqueResourceHandlerParameters<T, Q>) => Promise<{
33
+ export type ListHandler = <T, Q extends ParsedQueryParameters>(parameters: HandlerParameters<T, Q> & {
34
+ pagination: PaginationConfig;
35
+ }) => Promise<{
23
36
  data: any;
24
37
  status: number;
25
38
  }>;
26
-
27
- type Handler = <T, Q, Request>(parameters: UniqueResourceHandlerParameters<T, Q> & {
39
+ export type UpdateHandler = <T, Q, Request>(parameters: UniqueResourceHandlerParameters<T, Q> & {
28
40
  request: Request & {
29
41
  body: Partial<T>;
30
42
  };
@@ -32,51 +44,34 @@ type Handler = <T, Q, Request>(parameters: UniqueResourceHandlerParameters<T, Q>
32
44
  data: any;
33
45
  status: number;
34
46
  }>;
35
-
36
- declare enum RouteType {
37
- CREATE = "CREATE",
38
- DELETE = "DELETE",
39
- READ_ALL = "READ_ALL",
40
- READ_ONE = "READ_ONE",
41
- UPDATE = "UPDATE"
42
- }
43
- interface ModelOption {
44
- exclude?: RouteType[];
45
- formatResourceId?: (resourceId: string) => number | string;
46
- name?: string;
47
- only?: RouteType[];
48
- }
49
- type ModelsOptions<M extends string = string> = {
50
- [key in M]?: ModelOption;
51
- };
52
- interface HandlerOptions<M extends string = string> {
47
+ export interface HandlerOptions<M extends string = string> {
53
48
  exposeStrategy?: "all" | "none";
54
49
  formatResourceId?: (resourceId: string) => number | string;
55
50
  handlers?: {
56
- create?: Handler$4;
57
- delete?: Handler$3;
58
- get?: Handler$1;
59
- list?: Handler$2;
60
- update?: Handler;
51
+ create?: CreateHandler;
52
+ delete?: DeleteHandler;
53
+ get?: GetHandler;
54
+ list?: ListHandler;
55
+ update?: UpdateHandler;
61
56
  };
62
57
  models?: ModelsOptions<M>;
63
58
  pagination?: PaginationConfig;
64
59
  }
65
- interface PaginationConfig {
60
+ export interface PaginationConfig {
66
61
  perPage: number;
67
62
  }
68
- interface HandlerParameters<T, Q> {
63
+ export interface HandlerParameters<T, Q> {
69
64
  adapter: Adapter<T, Q>;
70
65
  query: Q;
71
66
  resourceName: string;
72
67
  }
73
- interface UniqueResourceHandlerParameters<T, Q> {
68
+ export interface UniqueResourceHandlerParameters<T, Q> {
74
69
  adapter: Adapter<T, Q>;
75
70
  query: Q;
76
71
  resourceId: number | string;
77
72
  resourceName: string;
78
73
  }
79
- interface Adapter<T, Q, M extends string = string> {
74
+ export interface Adapter<T, Q, M extends string = string> {
80
75
  connect?: () => Promise<void>;
81
76
  create: (resourceName: M, data: any, query: Q) => Promise<T>;
82
77
  delete: (resourceName: M, resourceId: number | string, query: Q) => Promise<T>;
@@ -94,28 +89,28 @@ interface Adapter<T, Q, M extends string = string> {
94
89
  parseQuery: (resourceName: M, query: ParsedQueryParameters) => Q;
95
90
  update: (resourceName: M, resourceId: number | string, data: any, query: Q) => Promise<T>;
96
91
  }
97
- interface PaginationData {
92
+ export interface PaginationData {
98
93
  page: number;
99
94
  pageCount: number;
100
95
  total: number;
101
96
  }
102
- type RecursiveField = Record<string, Record<string, boolean> | boolean>;
103
- type WhereOperator = "$cont" | "$ends" | "$eq" | "$gt" | "$gte" | "$in" | "$isnull" | "$lt" | "$lte" | "$neq" | "$notin" | "$starts";
104
- type SearchCondition = Date | boolean | number | string | null;
105
- type WhereCondition = {
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 = {
106
101
  [key in WhereOperator]?: SearchCondition;
107
102
  };
108
- type Condition = {
103
+ export type Condition = {
109
104
  [key: string]: Condition | SearchCondition | WhereCondition;
110
105
  };
111
- type WhereField = Condition & {
106
+ export type WhereField = Condition & {
112
107
  $and?: Condition | Condition[];
113
108
  $not?: Condition | Condition[];
114
109
  $or?: Condition | Condition[];
115
110
  };
116
- type OrderByOperator = "$asc" | "$desc";
117
- type OrderByField = Record<string, OrderByOperator>;
118
- interface ParsedQueryParameters {
111
+ export type OrderByOperator = "$asc" | "$desc";
112
+ export type OrderByField = Record<string, OrderByOperator>;
113
+ export interface ParsedQueryParameters {
119
114
  distinct?: string;
120
115
  include?: RecursiveField;
121
116
  limit?: number | undefined;
@@ -126,13 +121,11 @@ interface ParsedQueryParameters {
126
121
  skip?: number | undefined;
127
122
  where?: WhereField;
128
123
  }
129
- type ExecuteHandler<Request, Response> = (request: Request, response: Response) => Promise<void>;
130
- interface FakePrismaClient {
124
+ export type ExecuteHandler<Request, Response> = (request: Request, response: Response) => Promise<void>;
125
+ export interface FakePrismaClient {
131
126
  $connect: () => void;
132
127
  $disconnect: () => Promise<void>;
133
128
  [key: string]: any;
134
129
  _dmmf?: any;
135
130
  _getDmmf?: () => any;
136
131
  }
137
-
138
- export { type Adapter as A, type Condition as C, type ExecuteHandler as E, type FakePrismaClient as F, type HandlerOptions as H, type ModelsOptions as M, type OrderByField as O, type PaginationData as P, RouteType as R, type SearchCondition as S, type UniqueResourceHandlerParameters as U, type WhereCondition as W, type ParsedQueryParameters as a, type HandlerParameters as b, type ModelOption as c, type OrderByOperator as d, type PaginationConfig as e, type RecursiveField as f, type WhereField as g, type WhereOperator as h };