@webda/graphql 4.0.0-beta.6 → 4.0.0-beta.7
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/README.md +5 -4
- package/lib/graphql.service.d.ts +91 -3
- package/lib/graphql.service.d.ts.map +1 -1
- package/lib/graphql.service.js +299 -31
- package/lib/graphql.service.js.map +1 -1
- package/lib/mutations.d.ts +8 -0
- package/lib/mutations.d.ts.map +1 -1
- package/lib/mutations.js +27 -0
- package/lib/mutations.js.map +1 -1
- package/lib/operations.d.ts +110 -0
- package/lib/operations.d.ts.map +1 -0
- package/lib/operations.js +221 -0
- package/lib/operations.js.map +1 -0
- package/lib/types/any.d.ts.map +1 -1
- package/lib/types/any.js +27 -19
- package/lib/types/any.js.map +1 -1
- package/lib/types/date.d.ts.map +1 -1
- package/lib/types/date.js +4 -2
- package/lib/types/date.js.map +1 -1
- package/package.json +11 -6
- package/webda.module.json +10 -0
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
This module is part of Webda Application Framework that allows you to quickly develop applications with all modern prerequisites: Security, Extensibility, GraphQL, REST, CloudNative [https://webda.io](https://webda.io)
|
|
4
4
|
|
|
5
|
-
<img src="https://webda.io/
|
|
5
|
+
<img src="https://webda.io/img/webda.svg" width="128" />
|
|
6
6
|
|
|
7
7
|

|
|
8
8
|
|
|
@@ -117,6 +117,7 @@ Set `exposeGraphiQL: true` (the default) to enable the in-browser GraphiQL IDE a
|
|
|
117
117
|
- [@webda/core DomainService](../core/README.md) — base class for model-serving services
|
|
118
118
|
|
|
119
119
|
<!-- README_FOOTER -->
|
|
120
|
+
|
|
120
121
|
## Sponsors
|
|
121
122
|
|
|
122
123
|
<!--
|
|
@@ -125,12 +126,12 @@ Support this project by becoming a sponsor. Your logo will show up here with a l
|
|
|
125
126
|
|
|
126
127
|
Arize AI is a machine learning observability and model monitoring platform. It helps you visualize, monitor, and explain your machine learning models. [Learn more](https://arize.com)
|
|
127
128
|
|
|
128
|
-
[<img src="https://
|
|
129
|
+
[<img src="https://webda.io/img/sponsors/arize.svg" width="200">](https://arize.com)
|
|
129
130
|
|
|
130
131
|
Loopingz is a software development company that provides consulting and development services. [Learn more](https://loopingz.com)
|
|
131
132
|
|
|
132
|
-
[<img src="https://
|
|
133
|
+
[<img src="https://webda.io/img/sponsors/loopingz.png" width="200">](https://loopingz.com)
|
|
133
134
|
|
|
134
135
|
Tellae is an innovative consulting firm specialized in cities transportation issues. We provide our clients, both public and private, with solutions to support your strategic and operational decisions. [Learn more](https://tellae.fr)
|
|
135
136
|
|
|
136
|
-
[<img src="https://tellae.
|
|
137
|
+
[<img src="https://webda.io/img/sponsors/tellae.svg" width="200">](https://tellae.fr)
|
package/lib/graphql.service.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { Application, DomainService, DomainServiceParameters, ModelDefinition, WebContext } from "@webda/core";
|
|
1
|
+
import { Application, DomainService, DomainServiceParameters, ModelDefinition, WebContext, useInstanceStorage, type OperationDefinition } from "@webda/core";
|
|
2
2
|
import type { ModelGraph } from "@webda/compiler";
|
|
3
3
|
import * as WebdaQL from "@webda/ql";
|
|
4
|
-
import { FieldNode, GraphQLFieldConfig, GraphQLObjectType, GraphQLResolveInfo, GraphQLSchema, GraphQLType, ThunkObjMap } from "graphql";
|
|
4
|
+
import { FieldNode, GraphQLFieldConfig, GraphQLFieldConfigArgumentMap, GraphQLObjectType, GraphQLOutputType, GraphQLResolveInfo, GraphQLSchema, GraphQLType, ThunkObjMap } from "graphql";
|
|
5
5
|
import { Handler } from "graphql-http";
|
|
6
6
|
import { Server as GraphQLWSServer } from "graphql-ws";
|
|
7
7
|
import { JSONSchema7 } from "json-schema";
|
|
8
|
-
import { WebSocketServer } from "ws";
|
|
8
|
+
import { WebSocketServer, type WebSocket } from "ws";
|
|
9
9
|
export interface GraphQLContextExtension {
|
|
10
10
|
/**
|
|
11
11
|
* Get the current count of operation for this request
|
|
@@ -45,6 +45,12 @@ export declare class GraphQLParameters extends DomainServiceParameters {
|
|
|
45
45
|
* Expose a aggregation of all available subscriptions
|
|
46
46
|
*/
|
|
47
47
|
globalSubscription: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Operations exposed as GraphQL fields next to the model schema, with the operation transports' patterns:
|
|
50
|
+
* `"*"`, `"Service.*"`, an exact id, `"!Id"` to exclude; `[]` exposes no operation
|
|
51
|
+
* @default ["*"]
|
|
52
|
+
*/
|
|
53
|
+
exposeOperations: string[];
|
|
48
54
|
/**
|
|
49
55
|
* Load parameters with defaults
|
|
50
56
|
* @param params - raw configuration values
|
|
@@ -66,6 +72,13 @@ export declare class GraphQLService<T extends GraphQLParameters = GraphQLParamet
|
|
|
66
72
|
modelsMap: {
|
|
67
73
|
[key: string]: GraphQLObjectType;
|
|
68
74
|
};
|
|
75
|
+
/**
|
|
76
|
+
* Generated named types, by name: a name is generated once per shape (reset by generateSchema)
|
|
77
|
+
*/
|
|
78
|
+
namedTypes: Map<string, {
|
|
79
|
+
type: GraphQLType;
|
|
80
|
+
shape: string;
|
|
81
|
+
}>;
|
|
69
82
|
app: Application;
|
|
70
83
|
wss: WebSocketServer;
|
|
71
84
|
wsHandler: GraphQLWSServer;
|
|
@@ -76,6 +89,12 @@ export declare class GraphQLService<T extends GraphQLParameters = GraphQLParamet
|
|
|
76
89
|
* @returns initialized GraphQLParameters
|
|
77
90
|
*/
|
|
78
91
|
loadParameters(params: any): GraphQLParameters;
|
|
92
|
+
/**
|
|
93
|
+
* Parameters with their defaults (the core builds a service configuration through this, not loadParameters)
|
|
94
|
+
* @param params - raw partial configuration
|
|
95
|
+
* @returns initialized GraphQLParameters
|
|
96
|
+
*/
|
|
97
|
+
static createConfiguration(params?: any): GraphQLParameters;
|
|
79
98
|
/**
|
|
80
99
|
* Resolve a JSON Schema property by following $ref pointers
|
|
81
100
|
* @param prop - JSON Schema property that may contain $ref
|
|
@@ -83,6 +102,22 @@ export declare class GraphQLService<T extends GraphQLParameters = GraphQLParamet
|
|
|
83
102
|
* @returns the resolved JSON Schema (or a null type if unresolvable)
|
|
84
103
|
*/
|
|
85
104
|
getJsonSchemaDefinition(prop: JSONSchema7, definitions?: {}): JSONSchema7;
|
|
105
|
+
/**
|
|
106
|
+
* One GraphQL type per name: reuse the type already generated for this name and shape
|
|
107
|
+
* @param name - type name
|
|
108
|
+
* @param shape - what makes two types of this name the same (kind and field names)
|
|
109
|
+
* @param create - builds the type the first time
|
|
110
|
+
* @returns the type
|
|
111
|
+
* @throws Error when the name was generated for another shape
|
|
112
|
+
*/
|
|
113
|
+
namedType<T extends GraphQLType>(name: string, shape: string, create: () => T): T;
|
|
114
|
+
/**
|
|
115
|
+
* Reserve a type name for a type built later (its entry gets the type once built)
|
|
116
|
+
* @param name - type name
|
|
117
|
+
* @param shape - identity of the reserving type
|
|
118
|
+
* @throws Error when the name is already taken by another shape
|
|
119
|
+
*/
|
|
120
|
+
reserveName(name: string, shape: string): void;
|
|
86
121
|
/**
|
|
87
122
|
* Convert a JSON Schema to a GraphQL type definition
|
|
88
123
|
* @param schema - JSON Schema to convert
|
|
@@ -161,6 +196,50 @@ export declare class GraphQLService<T extends GraphQLParameters = GraphQLParamet
|
|
|
161
196
|
* Generate GraphQL schema
|
|
162
197
|
*/
|
|
163
198
|
generateSchema(): void;
|
|
199
|
+
/**
|
|
200
|
+
* Expose the registered operations, except the model CRUD the model schema already serves: read-only ones as
|
|
201
|
+
* queries, the others as mutations, server-streaming ones as subscriptions
|
|
202
|
+
* @param rootFields - query fields
|
|
203
|
+
* @param mutations - mutation fields
|
|
204
|
+
* @param subscriptions - subscription fields
|
|
205
|
+
* @throws Error when a field name is already defined
|
|
206
|
+
*/
|
|
207
|
+
addOperationFields(rootFields: ThunkObjMap<GraphQLFieldConfig<any, any, any>>, mutations: ThunkObjMap<GraphQLFieldConfig<any, any, any>>, subscriptions: ThunkObjMap<GraphQLFieldConfig<any, any, any>>): void;
|
|
208
|
+
/**
|
|
209
|
+
* GraphQL arguments of an operation: one per input schema property, or a single `input` argument
|
|
210
|
+
* @param op - operation
|
|
211
|
+
* @param base - type name prefix
|
|
212
|
+
* @returns the arguments and how to turn them back into the operation input
|
|
213
|
+
*/
|
|
214
|
+
operationArgs(op: OperationDefinition, base: string): {
|
|
215
|
+
args: GraphQLFieldConfigArgumentMap;
|
|
216
|
+
toInput: (args: Record<string, unknown>) => unknown;
|
|
217
|
+
};
|
|
218
|
+
/**
|
|
219
|
+
* GraphQL type of an operation result
|
|
220
|
+
* @param op - operation
|
|
221
|
+
* @param base - type name prefix
|
|
222
|
+
* @returns the model type for a model output, Boolean for void, else the converted output schema
|
|
223
|
+
*/
|
|
224
|
+
operationOutputType(op: OperationDefinition, base: string): GraphQLOutputType;
|
|
225
|
+
/**
|
|
226
|
+
* Run an operation for a query or mutation field
|
|
227
|
+
* @param id - operation id
|
|
228
|
+
* @param op - operation
|
|
229
|
+
* @param input - operation input
|
|
230
|
+
* @param context - the GraphQL request context
|
|
231
|
+
* @returns the field value
|
|
232
|
+
*/
|
|
233
|
+
runOperation(id: string, op: OperationDefinition, input: unknown, context: WebContext): Promise<unknown>;
|
|
234
|
+
/**
|
|
235
|
+
* Start a server-streaming operation for a subscription field
|
|
236
|
+
* @param id - operation id
|
|
237
|
+
* @param op - operation
|
|
238
|
+
* @param input - operation input
|
|
239
|
+
* @param context - the GraphQL request context
|
|
240
|
+
* @returns the chunks; leaving the subscription cancels the operation
|
|
241
|
+
*/
|
|
242
|
+
subscribeOperation(id: string, op: OperationDefinition, input: unknown, context: WebContext): Promise<AsyncIterableIterator<unknown>>;
|
|
164
243
|
/**
|
|
165
244
|
* Extract the list of event names from the GraphQL selection set (excluding latestEventTime)
|
|
166
245
|
* @param info - GraphQL resolve info containing field selections
|
|
@@ -232,6 +311,15 @@ export declare class GraphQLService<T extends GraphQLParameters = GraphQLParamet
|
|
|
232
311
|
* @returns async iterator yielding event payloads with latestEventTime
|
|
233
312
|
*/
|
|
234
313
|
registerAsyncEventIterator(model: ModelDefinition<any>, uuid: string | null, events: string[], context: any, identifier: string): Promise<AsyncIterator<any>>;
|
|
314
|
+
/**
|
|
315
|
+
* Hand a WebSocket message to graphql-ws; a failure is logged and closes the socket without leaking details
|
|
316
|
+
* @param socket - the WebSocket
|
|
317
|
+
* @param cb - the graphql-ws message handler
|
|
318
|
+
* @param data - the message
|
|
319
|
+
* @param storage - the instance storage to re-enter for the resolvers
|
|
320
|
+
* @returns a promise settled once the message is handled
|
|
321
|
+
*/
|
|
322
|
+
handleSocketMessage(socket: Pick<WebSocket, "close">, cb: (data: string) => Promise<void>, data: string, storage: ReturnType<typeof useInstanceStorage>): Promise<void>;
|
|
235
323
|
/**
|
|
236
324
|
* Assemble the final GraphQLSchema from root query fields, mutations, and subscriptions
|
|
237
325
|
* @param rootFields - top-level query fields
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql.service.d.ts","sourceRoot":"","sources":["../src/graphql.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAEX,aAAa,EACb,uBAAuB,EACvB,eAAe,EAEf,UAAU,
|
|
1
|
+
{"version":3,"file":"graphql.service.d.ts","sourceRoot":"","sources":["../src/graphql.service.ts"],"names":[],"mappings":"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"}
|