@webda/graphql 4.0.0-beta.5 → 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 +114 -4
- package/lib/graphql.service.d.ts.map +1 -1
- package/lib/graphql.service.js +340 -33
- 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
|
|
@@ -115,7 +150,8 @@ export declare class GraphQLService<T extends GraphQLParameters = GraphQLParamet
|
|
|
115
150
|
* private (`__`) fields
|
|
116
151
|
* @param filter - the client filter
|
|
117
152
|
* @returns the validator, undefined without filter
|
|
118
|
-
* @throws GraphQLError BAD_USER_INPUT for an invalid filter
|
|
153
|
+
* @throws GraphQLError BAD_USER_INPUT for an invalid filter, one reading private fields, or a statement (DELETE,
|
|
154
|
+
* UPDATE, SELECT field list): GraphQL selection sets choose the fields
|
|
119
155
|
*/
|
|
120
156
|
parseFilter(filter?: string): WebdaQL.PartialValidator | undefined;
|
|
121
157
|
/**
|
|
@@ -160,6 +196,50 @@ export declare class GraphQLService<T extends GraphQLParameters = GraphQLParamet
|
|
|
160
196
|
* Generate GraphQL schema
|
|
161
197
|
*/
|
|
162
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>>;
|
|
163
243
|
/**
|
|
164
244
|
* Extract the list of event names from the GraphQL selection set (excluding latestEventTime)
|
|
165
245
|
* @param info - GraphQL resolve info containing field selections
|
|
@@ -182,6 +262,27 @@ export declare class GraphQLService<T extends GraphQLParameters = GraphQLParamet
|
|
|
182
262
|
results: any[];
|
|
183
263
|
continuationToken?: string;
|
|
184
264
|
}>;
|
|
265
|
+
/**
|
|
266
|
+
* Run a root query argument: the DomainService query with the caller permissions
|
|
267
|
+
* @param model - the model class
|
|
268
|
+
* @param query - the client query
|
|
269
|
+
* @param context - the caller context
|
|
270
|
+
* @returns the readable results
|
|
271
|
+
* @throws GraphQLError BAD_USER_INPUT for a statement (DELETE, UPDATE, SELECT field list)
|
|
272
|
+
*/
|
|
273
|
+
queryModel(model: any, query: string, context: any): Promise<{
|
|
274
|
+
results: any[];
|
|
275
|
+
continuationToken?: string;
|
|
276
|
+
}>;
|
|
277
|
+
/**
|
|
278
|
+
* Refuse a query argument that is not a filter: DELETE and UPDATE are never run from GraphQL, and a SELECT field
|
|
279
|
+
* list is refused because the selection set already chooses the fields
|
|
280
|
+
*
|
|
281
|
+
* A query that does not parse is left to the query path, which reports it as before.
|
|
282
|
+
* @param query - the client query
|
|
283
|
+
* @throws GraphQLError BAD_USER_INPUT for a DELETE, an UPDATE or a SELECT field list
|
|
284
|
+
*/
|
|
285
|
+
assertFilterQuery(query: string): void;
|
|
185
286
|
/**
|
|
186
287
|
* Create an async iterator that streams query results, updating when store events occur
|
|
187
288
|
* @param model - model class to query
|
|
@@ -210,6 +311,15 @@ export declare class GraphQLService<T extends GraphQLParameters = GraphQLParamet
|
|
|
210
311
|
* @returns async iterator yielding event payloads with latestEventTime
|
|
211
312
|
*/
|
|
212
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>;
|
|
213
323
|
/**
|
|
214
324
|
* Assemble the final GraphQLSchema from root query fields, mutations, and subscriptions
|
|
215
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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"}
|