@graphoria/server 0.1.4 → 0.2.0
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/dist/src/analyzeQuery/resolveVariables.d.ts.map +1 -1
- package/dist/src/config/helpers/operationHelper.d.ts +60 -6
- package/dist/src/config/helpers/operationHelper.d.ts.map +1 -1
- package/dist/src/config/helpers/operationHelper.test.d.ts +2 -0
- package/dist/src/config/helpers/operationHelper.test.d.ts.map +1 -0
- package/dist/src/config/index.d.ts +65 -60
- package/dist/src/config/index.d.ts.map +1 -1
- package/dist/src/config/types/ai.d.ts +9 -3
- package/dist/src/config/types/ai.d.ts.map +1 -1
- package/dist/src/config/types/auth.d.ts +55 -15
- package/dist/src/config/types/auth.d.ts.map +1 -1
- package/dist/src/config/types/cron.d.ts +96 -2
- package/dist/src/config/types/cron.d.ts.map +1 -1
- package/dist/src/config/types/db.d.ts +186 -24
- package/dist/src/config/types/db.d.ts.map +1 -1
- package/dist/src/config/types/index.d.ts +3 -3
- package/dist/src/config/types/index.d.ts.map +1 -1
- package/dist/src/config/types/operation.d.ts +49 -17
- package/dist/src/config/types/operation.d.ts.map +1 -1
- package/dist/src/config/types/queue.d.ts +59 -12
- package/dist/src/config/types/queue.d.ts.map +1 -1
- package/dist/src/config/types/remote-rest.d.ts +10 -1
- package/dist/src/config/types/remote-rest.d.ts.map +1 -1
- package/dist/src/config/types/remote-schema.d.ts +13 -3
- package/dist/src/config/types/remote-schema.d.ts.map +1 -1
- package/dist/src/config/types/virtual-columns.d.ts +1 -1
- package/dist/src/config/types/virtual-columns.d.ts.map +1 -1
- package/dist/src/configuration/getSchemas/index.d.ts +52 -4
- package/dist/src/configuration/getSchemas/index.d.ts.map +1 -1
- package/dist/src/configuration/getSchemas/mergeEntities/index.d.ts +26 -2
- package/dist/src/configuration/getSchemas/mergeEntities/index.d.ts.map +1 -1
- package/dist/src/configuration/getSchemas/mergeEntities/index.test.d.ts +2 -0
- package/dist/src/configuration/getSchemas/mergeEntities/index.test.d.ts.map +1 -0
- package/dist/src/configuration/getSchemas/type-definition-generator/index.d.ts.map +1 -1
- package/dist/src/configuration/index.d.ts +40 -4
- package/dist/src/configuration/index.d.ts.map +1 -1
- package/dist/src/configuration/rest/generateOpenAPI.d.ts.map +1 -1
- package/dist/src/configuration/rest/handleRESTRequestFactory.d.ts.map +1 -1
- package/dist/src/databases/common.d.ts +3 -1
- package/dist/src/databases/common.d.ts.map +1 -1
- package/dist/src/databases/core/query-builder.d.ts +7 -1
- package/dist/src/databases/core/query-builder.d.ts.map +1 -1
- package/dist/src/databases/directives.d.ts.map +1 -1
- package/dist/src/databases/engines/mssql/connection.d.ts +1 -1
- package/dist/src/databases/engines/mssql/connection.d.ts.map +1 -1
- package/dist/src/databases/engines/mssql/getStructure.d.ts +7 -0
- package/dist/src/databases/engines/mssql/getStructure.d.ts.map +1 -1
- package/dist/src/databases/engines/mssql/query/index.d.ts.map +1 -1
- package/dist/src/databases/engines/mysql/connection.d.ts.map +1 -1
- package/dist/src/databases/engines/mysql/getStructure.d.ts +7 -0
- package/dist/src/databases/engines/mysql/getStructure.d.ts.map +1 -1
- package/dist/src/databases/engines/mysql/placeholders.d.ts +22 -0
- package/dist/src/databases/engines/mysql/placeholders.d.ts.map +1 -0
- package/dist/src/databases/engines/mysql/placeholders.test.d.ts +2 -0
- package/dist/src/databases/engines/mysql/placeholders.test.d.ts.map +1 -0
- package/dist/src/databases/engines/mysql/query/index.d.ts.map +1 -1
- package/dist/src/databases/engines/postgresql/getStructure.d.ts +7 -0
- package/dist/src/databases/engines/postgresql/getStructure.d.ts.map +1 -1
- package/dist/src/databases/engines/postgresql/query/index.d.ts.map +1 -1
- package/dist/src/databases/high-level-operations.d.ts +14 -1
- package/dist/src/databases/high-level-operations.d.ts.map +1 -1
- package/dist/src/databases/metadata/structure.d.ts +7 -0
- package/dist/src/databases/metadata/structure.d.ts.map +1 -1
- package/dist/src/databases/sqlTypeUtils.d.ts.map +1 -1
- package/dist/src/databases/transformers/data-transformers.d.ts +39 -2
- package/dist/src/databases/transformers/data-transformers.d.ts.map +1 -1
- package/dist/src/singletons/env.d.ts +21 -3
- package/dist/src/singletons/env.d.ts.map +1 -1
- package/dist/src/types/configuration.d.ts +1 -1
- package/dist/src/types/configuration.d.ts.map +1 -1
- package/dist/src/types/env.d.ts +127 -51
- package/dist/src/types/env.d.ts.map +1 -1
- package/dist/src/types/resolver.d.ts +12 -2
- package/dist/src/types/resolver.d.ts.map +1 -1
- package/dist/src/types/zod/auth.d.ts +6 -6
- package/dist/src/types/zod/configuration.d.ts +85 -45
- package/dist/src/types/zod/configuration.d.ts.map +1 -1
- package/dist/src/types/zod/cron.d.ts +1 -1
- package/dist/src/types/zod/cron.d.ts.map +1 -1
- package/dist/src/types/zod/db.d.ts +167 -8
- package/dist/src/types/zod/db.d.ts.map +1 -1
- package/dist/src/types/zod/queue.d.ts +26 -26
- package/dist/src/types/zod/strict-keys.test.d.ts +2 -0
- package/dist/src/types/zod/strict-keys.test.d.ts.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/analyzeQuery/resolveVariables.ts +37 -7
- package/src/config/helpers/operationHelper.ts +146 -5
- package/src/config/index.ts +139 -62
- package/src/config/types/ai.ts +2 -2
- package/src/config/types/auth.ts +37 -6
- package/src/config/types/cron.ts +1 -1
- package/src/config/types/db.ts +56 -9
- package/src/config/types/index.ts +5 -0
- package/src/config/types/operation.ts +49 -9
- package/src/config/types/queue.ts +8 -8
- package/src/config/types/remote-rest.ts +1 -1
- package/src/config/types/remote-schema.ts +2 -2
- package/src/config/types/virtual-columns.ts +1 -1
- package/src/configuration/getSchemas/mergeEntities/index.ts +6 -0
- package/src/configuration/getSchemas/type-definition-generator/index.ts +13 -4
- package/src/configuration/rest/generateOpenAPI.ts +5 -9
- package/src/configuration/rest/handleRESTRequestFactory.ts +40 -14
- package/src/databases/common.ts +279 -83
- package/src/databases/directives.ts +26 -8
- package/src/databases/engines/mssql/connection.ts +1 -1
- package/src/databases/engines/mssql/getStructure.ts +1 -0
- package/src/databases/engines/mssql/query/index.ts +29 -11
- package/src/databases/engines/mysql/auth.ts +2 -2
- package/src/databases/engines/mysql/connection.ts +5 -4
- package/src/databases/engines/mysql/getStructure.ts +61 -29
- package/src/databases/engines/mysql/placeholders.ts +84 -0
- package/src/databases/engines/mysql/query/index.ts +49 -4
- package/src/databases/engines/postgresql/getStructure.ts +1 -0
- package/src/databases/engines/postgresql/query/index.ts +40 -2
- package/src/databases/high-level-operations.ts +25 -0
- package/src/databases/sqlTypeUtils.ts +3 -1
- package/src/subscriptions/strategies/index.ts +1 -1
- package/src/subscriptions/strategies/queue.ts +1 -1
- package/src/types/configuration.ts +7 -1
- package/src/types/resolver.ts +17 -1
- package/src/types/zod/configuration.ts +1 -1
- package/src/types/zod/db.ts +4 -0
package/src/types/resolver.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { RemoteRESTResolved, RemoteRESTRoute } from "../remoteREST/types";
|
|
2
2
|
import type { RemoteSchemaResolved } from "../remoteSchemas/types";
|
|
3
|
-
import type { Publisher } from "./configuration";
|
|
3
|
+
import type { Publisher, Subscriber } from "./configuration";
|
|
4
4
|
import type { ProcedureResolver, TableResolver } from "./db";
|
|
5
5
|
import type { TypedOperation } from "./zod/operation";
|
|
6
6
|
|
|
@@ -14,6 +14,8 @@ export enum EntitySource {
|
|
|
14
14
|
STORED_PROCEDURE = "stored_procedure",
|
|
15
15
|
/** Message queue (RabbitMQ, Kafka, etc.) */
|
|
16
16
|
QUEUE_PUBLISHER = "queue_publisher",
|
|
17
|
+
/** Message queue subscriber (exposed as a GraphQL subscription) */
|
|
18
|
+
QUEUE_SUBSCRIBER = "queue_subscriber",
|
|
17
19
|
/** Authentication mutations (login, refresh, etc.) */
|
|
18
20
|
AUTH = "auth",
|
|
19
21
|
/** Custom operation handlers */
|
|
@@ -57,6 +59,14 @@ export type QueueResolverEntry = ResolverEntryBase & {
|
|
|
57
59
|
resolver: Publisher;
|
|
58
60
|
};
|
|
59
61
|
|
|
62
|
+
/**
|
|
63
|
+
* Resolver entry for message queue subscribers
|
|
64
|
+
*/
|
|
65
|
+
export type QueueSubscriberResolverEntry = ResolverEntryBase & {
|
|
66
|
+
source: EntitySource.QUEUE_SUBSCRIBER;
|
|
67
|
+
resolver: Subscriber;
|
|
68
|
+
};
|
|
69
|
+
|
|
60
70
|
/**
|
|
61
71
|
* Resolver entry for authentication operations
|
|
62
72
|
*/
|
|
@@ -114,6 +124,7 @@ export type ResolverEntry =
|
|
|
114
124
|
| TableResolverEntry
|
|
115
125
|
| StoredProcedureResolverEntry
|
|
116
126
|
| QueueResolverEntry
|
|
127
|
+
| QueueSubscriberResolverEntry
|
|
117
128
|
| AuthResolverEntry
|
|
118
129
|
| OperationResolverEntry
|
|
119
130
|
| RemoteSchemaResolverEntry
|
|
@@ -144,6 +155,11 @@ export const createResolverEntry = {
|
|
|
144
155
|
resolver,
|
|
145
156
|
}),
|
|
146
157
|
|
|
158
|
+
queueSubscriber: (resolver: Subscriber): QueueSubscriberResolverEntry => ({
|
|
159
|
+
source: EntitySource.QUEUE_SUBSCRIBER,
|
|
160
|
+
resolver,
|
|
161
|
+
}),
|
|
162
|
+
|
|
147
163
|
auth: (
|
|
148
164
|
name: string,
|
|
149
165
|
operation: AuthResolverEntry["resolver"]["operation"],
|
|
@@ -11,7 +11,7 @@ import { RemoteRESTConfigZod } from "./remoteREST";
|
|
|
11
11
|
import { RemoteSchemaConfigZod } from "./remoteSchema";
|
|
12
12
|
|
|
13
13
|
export const ConfigurationZod = z
|
|
14
|
-
.
|
|
14
|
+
.strictObject({
|
|
15
15
|
name: z.string(),
|
|
16
16
|
version: z.string(),
|
|
17
17
|
tokenStrategy: TokenStrategyZod.optional().default("jwt"),
|
package/src/types/zod/db.ts
CHANGED
|
@@ -38,6 +38,7 @@ export const TableColumnZod = z
|
|
|
38
38
|
name: z.string(),
|
|
39
39
|
dataType: z.string(),
|
|
40
40
|
isNullable: z.union([z.boolean(), z.number()]),
|
|
41
|
+
collation: z.string().nullable().optional(),
|
|
41
42
|
description: z.string().nullable().optional(),
|
|
42
43
|
})
|
|
43
44
|
.transform((val) => ({
|
|
@@ -45,6 +46,9 @@ export const TableColumnZod = z
|
|
|
45
46
|
dataType: val.dataType,
|
|
46
47
|
isNullable: typeof val.isNullable === "boolean" ? val.isNullable : val.isNullable === 1,
|
|
47
48
|
description: val.description ?? null,
|
|
49
|
+
// Optional so config/virtual columns (which never carry a DB collation) stay assignable to
|
|
50
|
+
// TableColumn; a non-character column reports no collation and is simply omitted here.
|
|
51
|
+
...(val.collation ? { collation: val.collation } : {}),
|
|
48
52
|
}));
|
|
49
53
|
|
|
50
54
|
/**
|