@webda/graphql 4.0.0-beta.4 → 4.0.0-beta.6
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/lib/graphql.service.d.ts +62 -5
- package/lib/graphql.service.d.ts.map +1 -1
- package/lib/graphql.service.js +144 -54
- package/lib/graphql.service.js.map +1 -1
- package/lib/mutations.d.ts +26 -3
- package/lib/mutations.d.ts.map +1 -1
- package/lib/mutations.js +90 -13
- package/lib/mutations.js.map +1 -1
- package/package.json +10 -6
- package/webda.module.json +0 -4
package/lib/graphql.service.d.ts
CHANGED
|
@@ -100,19 +100,39 @@ export declare class GraphQLService<T extends GraphQLParameters = GraphQLParamet
|
|
|
100
100
|
* @returns GraphQL object type with results and continuationToken fields
|
|
101
101
|
*/
|
|
102
102
|
getGraphQLQueryResult(type: any): GraphQLObjectType<any, any>;
|
|
103
|
-
/**
|
|
104
|
-
* `__` (server-only) fields already warned about, so each is logged once
|
|
105
|
-
*/
|
|
106
|
-
private privateWarned;
|
|
107
103
|
/**
|
|
108
104
|
* Build GraphQL field definitions from a JSON Schema, enriching with relation resolvers from the model graph
|
|
109
105
|
* @param schema - JSON Schema describing the model properties
|
|
110
106
|
* @param defaultName - fallback name for generated types
|
|
111
107
|
* @param webdaGraph - model relation graph (links, maps, queries, parent)
|
|
112
108
|
* @param input - if true, generate input types (skip readonly fields, skip relation resolvers)
|
|
109
|
+
* @param writable - `_`-prefixed attributes the model accepts from clients (input types only)
|
|
113
110
|
* @returns map of field names to GraphQL field configs
|
|
114
111
|
*/
|
|
115
|
-
getGraphQLFieldsFromSchema(schema: JSONSchema7, defaultName: string, webdaGraph?: ModelGraph, input?: boolean): any;
|
|
112
|
+
getGraphQLFieldsFromSchema(schema: JSONSchema7, defaultName: string, webdaGraph?: ModelGraph, input?: boolean, writable?: string[]): any;
|
|
113
|
+
/**
|
|
114
|
+
* Parse the `filter` argument of a links or maps field: WebdaQL evaluated on the linked objects, which may not read
|
|
115
|
+
* private (`__`) fields
|
|
116
|
+
* @param filter - the client filter
|
|
117
|
+
* @returns the validator, undefined without filter
|
|
118
|
+
* @throws GraphQLError BAD_USER_INPUT for an invalid filter, one reading private fields, or a statement (DELETE,
|
|
119
|
+
* UPDATE, SELECT field list): GraphQL selection sets choose the fields
|
|
120
|
+
*/
|
|
121
|
+
parseFilter(filter?: string): WebdaQL.PartialValidator | undefined;
|
|
122
|
+
/**
|
|
123
|
+
* {@link loadModelInstance} for an element of a list (links, maps): an element the caller may not read, or that
|
|
124
|
+
* no longer exists, is dropped (null) instead of failing the whole list, like a filtered query
|
|
125
|
+
* @param knownFieldsOrId - UUID string or object with known field values
|
|
126
|
+
* @param model - model class to load from
|
|
127
|
+
* @param context - web context for permission checks
|
|
128
|
+
* @param info - GraphQL field node describing the selection set
|
|
129
|
+
* @param filter - optional WebdaQL filter to apply to the result
|
|
130
|
+
* @returns the model instance, or null
|
|
131
|
+
*/
|
|
132
|
+
loadListedInstance(knownFieldsOrId: string | {
|
|
133
|
+
uuid: string;
|
|
134
|
+
[key: string]: any;
|
|
135
|
+
}, model: ModelDefinition<any>, context: WebContext, info?: FieldNode, filter?: WebdaQL.PartialValidator): Promise<any>;
|
|
116
136
|
/**
|
|
117
137
|
* Load a model instance, optimizing to skip store reads when all requested fields are already known
|
|
118
138
|
* @param knownFieldsOrId - UUID string or object with known field values
|
|
@@ -147,6 +167,43 @@ export declare class GraphQLService<T extends GraphQLParameters = GraphQLParamet
|
|
|
147
167
|
* @returns array of event name strings the client subscribed to
|
|
148
168
|
*/
|
|
149
169
|
getSubscribedEvents(info: GraphQLResolveInfo): string[];
|
|
170
|
+
/**
|
|
171
|
+
* Query a 1:n relation (ModelRelated) as the caller: the relation condition is merged into the client query, then
|
|
172
|
+
* filtered like any model query (permission query, canAct "get")
|
|
173
|
+
* @param related - the ModelRelated attribute of the source object
|
|
174
|
+
* @param related.getQuery - merges the relation condition into a query
|
|
175
|
+
* @param model - the target model class
|
|
176
|
+
* @param query - the client query
|
|
177
|
+
* @param context - the caller context
|
|
178
|
+
* @returns the readable related objects
|
|
179
|
+
*/
|
|
180
|
+
queryRelated(related: {
|
|
181
|
+
getQuery(query: string): string;
|
|
182
|
+
}, model: any, query: string, context: any): Promise<{
|
|
183
|
+
results: any[];
|
|
184
|
+
continuationToken?: string;
|
|
185
|
+
}>;
|
|
186
|
+
/**
|
|
187
|
+
* Run a root query argument: the DomainService query with the caller permissions
|
|
188
|
+
* @param model - the model class
|
|
189
|
+
* @param query - the client query
|
|
190
|
+
* @param context - the caller context
|
|
191
|
+
* @returns the readable results
|
|
192
|
+
* @throws GraphQLError BAD_USER_INPUT for a statement (DELETE, UPDATE, SELECT field list)
|
|
193
|
+
*/
|
|
194
|
+
queryModel(model: any, query: string, context: any): Promise<{
|
|
195
|
+
results: any[];
|
|
196
|
+
continuationToken?: string;
|
|
197
|
+
}>;
|
|
198
|
+
/**
|
|
199
|
+
* Refuse a query argument that is not a filter: DELETE and UPDATE are never run from GraphQL, and a SELECT field
|
|
200
|
+
* list is refused because the selection set already chooses the fields
|
|
201
|
+
*
|
|
202
|
+
* A query that does not parse is left to the query path, which reports it as before.
|
|
203
|
+
* @param query - the client query
|
|
204
|
+
* @throws GraphQLError BAD_USER_INPUT for a DELETE, an UPDATE or a SELECT field list
|
|
205
|
+
*/
|
|
206
|
+
assertFilterQuery(query: string): void;
|
|
150
207
|
/**
|
|
151
208
|
* Create an async iterator that streams query results, updating when store events occur
|
|
152
209
|
* @param model - model class to query
|
|
@@ -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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"}
|
package/lib/graphql.service.js
CHANGED
|
@@ -32,7 +32,7 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn,
|
|
|
32
32
|
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
33
33
|
done = true;
|
|
34
34
|
};
|
|
35
|
-
import { DomainService, DomainServiceParameters, Route, WebdaError, useApplication, useCore, useCoreEvents, useModelMetadata, useRepository } from "@webda/core";
|
|
35
|
+
import { DomainService, DomainServiceParameters, Route, WebdaError, useApplication, useCore, useCoreEvents, useModelMetadata, useRepository, isModelActionAllowed, queryModelWithPermissions, getClientWritableAttributes, assertNoPrivateFields, assertFilterOnly } from "@webda/core";
|
|
36
36
|
import * as WebdaQL from "@webda/ql";
|
|
37
37
|
import { EventIterator, MergedIterator } from "@webda/runtime";
|
|
38
38
|
import { GraphQLBoolean, GraphQLError, GraphQLInputObjectType, GraphQLList, GraphQLObjectType, GraphQLSchema, GraphQLString, printSchema } from "graphql";
|
|
@@ -43,7 +43,7 @@ import { WebSocketServer } from "ws";
|
|
|
43
43
|
import { AnyScalarType } from "./types/any.js";
|
|
44
44
|
import { DateScalar } from "./types/date.js";
|
|
45
45
|
import { GraphQLLong } from "./types/long.js";
|
|
46
|
-
import { createFromInput, isInputAttribute, updateFromInput } from "./mutations.js";
|
|
46
|
+
import { createFromInput, isInputAttribute, loadForAction, updateFromInput } from "./mutations.js";
|
|
47
47
|
const GraphIQL = `
|
|
48
48
|
<!doctype html>
|
|
49
49
|
<html lang="en">
|
|
@@ -161,10 +161,6 @@ let GraphQLService = (() => {
|
|
|
161
161
|
constructor() {
|
|
162
162
|
super(...arguments);
|
|
163
163
|
this.schema = __runInitializers(this, _instanceExtraInitializers);
|
|
164
|
-
/**
|
|
165
|
-
* `__` (server-only) fields already warned about, so each is logged once
|
|
166
|
-
*/
|
|
167
|
-
this.privateWarned = new Set();
|
|
168
164
|
}
|
|
169
165
|
/**
|
|
170
166
|
* Load and initialize GraphQL service parameters
|
|
@@ -233,6 +229,10 @@ let GraphQLService = (() => {
|
|
|
233
229
|
return { type: AnyScalarType, description: "Map" };
|
|
234
230
|
}
|
|
235
231
|
for (const i in schema.properties) {
|
|
232
|
+
// Private (`__`) fields are server-only, at any depth
|
|
233
|
+
if (i.startsWith("__")) {
|
|
234
|
+
continue;
|
|
235
|
+
}
|
|
236
236
|
const res = this.getGraphQLSchemaFromSchema(this.getJsonSchemaDefinition(schema.properties[i], schema.definitions), `${schema.title || defaultName}_${i}`, input);
|
|
237
237
|
if (!res)
|
|
238
238
|
continue;
|
|
@@ -276,9 +276,10 @@ let GraphQLService = (() => {
|
|
|
276
276
|
* @param defaultName - fallback name for generated types
|
|
277
277
|
* @param webdaGraph - model relation graph (links, maps, queries, parent)
|
|
278
278
|
* @param input - if true, generate input types (skip readonly fields, skip relation resolvers)
|
|
279
|
+
* @param writable - `_`-prefixed attributes the model accepts from clients (input types only)
|
|
279
280
|
* @returns map of field names to GraphQL field configs
|
|
280
281
|
*/
|
|
281
|
-
getGraphQLFieldsFromSchema(schema, defaultName, webdaGraph, input) {
|
|
282
|
+
getGraphQLFieldsFromSchema(schema, defaultName, webdaGraph, input, writable = []) {
|
|
282
283
|
const fields = {};
|
|
283
284
|
const skipFields = [];
|
|
284
285
|
const attributeFilter = (skip = false) => info => {
|
|
@@ -321,7 +322,8 @@ let GraphQLService = (() => {
|
|
|
321
322
|
},
|
|
322
323
|
resolve: async (source, args, context, info) => {
|
|
323
324
|
const src = link.type === "LINKS_MAP" ? Object.values(source[link.attribute]) : source[link.attribute];
|
|
324
|
-
|
|
325
|
+
const filter = this.parseFilter(args.filter);
|
|
326
|
+
return (await Promise.all((src || []).map(i => this.loadListedInstance(i, this.app.getModel(link.model), context, info.fieldNodes.find(node => node.name.value === link.attribute), filter)))).filter(i => i !== null);
|
|
325
327
|
}
|
|
326
328
|
};
|
|
327
329
|
}
|
|
@@ -336,7 +338,8 @@ let GraphQLService = (() => {
|
|
|
336
338
|
},
|
|
337
339
|
resolve: async (source, args, context, info) => {
|
|
338
340
|
const modelDefinition = this.app.getModel(map.model);
|
|
339
|
-
|
|
341
|
+
const filter = this.parseFilter(args.filter);
|
|
342
|
+
return (await Promise.all((source[map.attribute] || []).map(i => this.loadListedInstance(i, modelDefinition, context, info.fieldNodes.find(node => node.name.value === map.attribute), filter)))).filter(i => i !== null);
|
|
340
343
|
}
|
|
341
344
|
};
|
|
342
345
|
});
|
|
@@ -349,7 +352,7 @@ let GraphQLService = (() => {
|
|
|
349
352
|
}
|
|
350
353
|
},
|
|
351
354
|
resolve: async (source, args, context, info) => {
|
|
352
|
-
const res = await source[query.attribute].query
|
|
355
|
+
const res = await this.queryRelated(source[query.attribute], this.app.getModel(query.model), WebdaQL.unsanitize(args.query || ""), context);
|
|
353
356
|
this.countOperation(context, res.results.length);
|
|
354
357
|
return res;
|
|
355
358
|
}
|
|
@@ -357,14 +360,14 @@ let GraphQLService = (() => {
|
|
|
357
360
|
});
|
|
358
361
|
}
|
|
359
362
|
for (const i in schema.properties) {
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
+
// Private (`__`) fields are server-only: never part of an output or input type
|
|
364
|
+
if (i.startsWith("__")) {
|
|
365
|
+
continue;
|
|
363
366
|
}
|
|
364
367
|
// Was initiated by the known graph; inputs never carry private or behavior attributes
|
|
365
368
|
if (fields[i] ||
|
|
366
369
|
skipFields.includes(i) ||
|
|
367
|
-
(input && (schema.properties[i].readOnly || !isInputAttribute(i, webdaGraph)))) {
|
|
370
|
+
(input && (schema.properties[i].readOnly || !isInputAttribute(i, webdaGraph, writable)))) {
|
|
368
371
|
continue;
|
|
369
372
|
}
|
|
370
373
|
const prop = this.getGraphQLSchemaFromSchema(this.getJsonSchemaDefinition(schema.properties[i], schema.definitions), `${defaultName}_${i}`, input);
|
|
@@ -375,6 +378,51 @@ let GraphQLService = (() => {
|
|
|
375
378
|
}
|
|
376
379
|
return fields;
|
|
377
380
|
}
|
|
381
|
+
/**
|
|
382
|
+
* Parse the `filter` argument of a links or maps field: WebdaQL evaluated on the linked objects, which may not read
|
|
383
|
+
* private (`__`) fields
|
|
384
|
+
* @param filter - the client filter
|
|
385
|
+
* @returns the validator, undefined without filter
|
|
386
|
+
* @throws GraphQLError BAD_USER_INPUT for an invalid filter, one reading private fields, or a statement (DELETE,
|
|
387
|
+
* UPDATE, SELECT field list): GraphQL selection sets choose the fields
|
|
388
|
+
*/
|
|
389
|
+
parseFilter(filter) {
|
|
390
|
+
if (!filter) {
|
|
391
|
+
return undefined;
|
|
392
|
+
}
|
|
393
|
+
try {
|
|
394
|
+
const validator = new WebdaQL.PartialValidator(WebdaQL.unsanitize(filter));
|
|
395
|
+
assertNoPrivateFields(validator);
|
|
396
|
+
assertFilterOnly(validator);
|
|
397
|
+
return validator;
|
|
398
|
+
}
|
|
399
|
+
catch (err) {
|
|
400
|
+
throw new GraphQLError(err instanceof WebdaError.BadRequest ? err.message : "Invalid filter", {
|
|
401
|
+
extensions: { code: "BAD_USER_INPUT" }
|
|
402
|
+
});
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
/**
|
|
406
|
+
* {@link loadModelInstance} for an element of a list (links, maps): an element the caller may not read, or that
|
|
407
|
+
* no longer exists, is dropped (null) instead of failing the whole list, like a filtered query
|
|
408
|
+
* @param knownFieldsOrId - UUID string or object with known field values
|
|
409
|
+
* @param model - model class to load from
|
|
410
|
+
* @param context - web context for permission checks
|
|
411
|
+
* @param info - GraphQL field node describing the selection set
|
|
412
|
+
* @param filter - optional WebdaQL filter to apply to the result
|
|
413
|
+
* @returns the model instance, or null
|
|
414
|
+
*/
|
|
415
|
+
async loadListedInstance(knownFieldsOrId, model, context, info, filter) {
|
|
416
|
+
try {
|
|
417
|
+
return await this.loadModelInstance(knownFieldsOrId, model, context, info, filter);
|
|
418
|
+
}
|
|
419
|
+
catch (err) {
|
|
420
|
+
if (err instanceof GraphQLError && err.extensions?.code === "NOT_FOUND") {
|
|
421
|
+
return null;
|
|
422
|
+
}
|
|
423
|
+
throw err;
|
|
424
|
+
}
|
|
425
|
+
}
|
|
378
426
|
/**
|
|
379
427
|
* Load a model instance, optimizing to skip store reads when all requested fields are already known
|
|
380
428
|
* @param knownFieldsOrId - UUID string or object with known field values
|
|
@@ -408,21 +456,8 @@ let GraphQLService = (() => {
|
|
|
408
456
|
}
|
|
409
457
|
// Count the operation then and retrieve the model
|
|
410
458
|
this.countOperation(context);
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
throw new GraphQLError("Object not found", {
|
|
414
|
-
extensions: {
|
|
415
|
-
code: "NOT_FOUND"
|
|
416
|
-
}
|
|
417
|
-
});
|
|
418
|
-
}
|
|
419
|
-
if ((await modelInstance?.canAct?.(context, "get")) !== true) {
|
|
420
|
-
throw new GraphQLError("Permission denied", {
|
|
421
|
-
extensions: {
|
|
422
|
-
code: "PERMISSION_DENIED"
|
|
423
|
-
}
|
|
424
|
-
});
|
|
425
|
-
}
|
|
459
|
+
// A missing object and an object the caller may not read answer the same NOT_FOUND
|
|
460
|
+
const modelInstance = await loadForAction(model, res.uuid || "", context, "get");
|
|
426
461
|
if (filter && !filter.eval(modelInstance, false)) {
|
|
427
462
|
return null;
|
|
428
463
|
}
|
|
@@ -506,7 +541,7 @@ let GraphQLService = (() => {
|
|
|
506
541
|
name
|
|
507
542
|
});
|
|
508
543
|
const input = new GraphQLInputObjectType({
|
|
509
|
-
fields: this.getGraphQLFieldsFromSchema(schema, name + "Input", modelGraph, true),
|
|
544
|
+
fields: this.getGraphQLFieldsFromSchema(schema, name + "Input", modelGraph, true, getClientWritableAttributes(model)),
|
|
510
545
|
name: name + "Input"
|
|
511
546
|
});
|
|
512
547
|
const actionsName = Object.keys(metadata.Actions);
|
|
@@ -544,14 +579,7 @@ let GraphQLService = (() => {
|
|
|
544
579
|
}
|
|
545
580
|
},
|
|
546
581
|
resolve: async (_, args, context) => {
|
|
547
|
-
const object = await model
|
|
548
|
-
if ((await object?.canAct?.(context, "delete")) !== true) {
|
|
549
|
-
throw new GraphQLError("Permission denied", {
|
|
550
|
-
extensions: {
|
|
551
|
-
code: "PERMISSION_DENIED"
|
|
552
|
-
}
|
|
553
|
-
});
|
|
554
|
-
}
|
|
582
|
+
const object = await loadForAction(model, args.uuid, context, "delete");
|
|
555
583
|
await object.delete();
|
|
556
584
|
return {
|
|
557
585
|
success: true
|
|
@@ -570,7 +598,8 @@ let GraphQLService = (() => {
|
|
|
570
598
|
}
|
|
571
599
|
},
|
|
572
600
|
resolve: async (_, args, context) => {
|
|
573
|
-
|
|
601
|
+
// Same permission filtering as the DomainService query operation
|
|
602
|
+
return await this.queryModel(model, WebdaQL.unsanitize(args.query || ""), context);
|
|
574
603
|
},
|
|
575
604
|
subscribe: async (_source, args, context) => {
|
|
576
605
|
this.log("DEBUG", "Subscription called on", args);
|
|
@@ -792,6 +821,55 @@ let GraphQLService = (() => {
|
|
|
792
821
|
.filter(node => node.kind === "Field" && node.name.value !== "latestEventTime")
|
|
793
822
|
.map(n => n.name.value);
|
|
794
823
|
}
|
|
824
|
+
/**
|
|
825
|
+
* Query a 1:n relation (ModelRelated) as the caller: the relation condition is merged into the client query, then
|
|
826
|
+
* filtered like any model query (permission query, canAct "get")
|
|
827
|
+
* @param related - the ModelRelated attribute of the source object
|
|
828
|
+
* @param related.getQuery - merges the relation condition into a query
|
|
829
|
+
* @param model - the target model class
|
|
830
|
+
* @param query - the client query
|
|
831
|
+
* @param context - the caller context
|
|
832
|
+
* @returns the readable related objects
|
|
833
|
+
*/
|
|
834
|
+
async queryRelated(related, model, query, context) {
|
|
835
|
+
this.assertFilterQuery(query);
|
|
836
|
+
return queryModelWithPermissions(model, related.getQuery(query), context);
|
|
837
|
+
}
|
|
838
|
+
/**
|
|
839
|
+
* Run a root query argument: the DomainService query with the caller permissions
|
|
840
|
+
* @param model - the model class
|
|
841
|
+
* @param query - the client query
|
|
842
|
+
* @param context - the caller context
|
|
843
|
+
* @returns the readable results
|
|
844
|
+
* @throws GraphQLError BAD_USER_INPUT for a statement (DELETE, UPDATE, SELECT field list)
|
|
845
|
+
*/
|
|
846
|
+
async queryModel(model, query, context) {
|
|
847
|
+
this.assertFilterQuery(query);
|
|
848
|
+
return queryModelWithPermissions(model, query, context);
|
|
849
|
+
}
|
|
850
|
+
/**
|
|
851
|
+
* Refuse a query argument that is not a filter: DELETE and UPDATE are never run from GraphQL, and a SELECT field
|
|
852
|
+
* list is refused because the selection set already chooses the fields
|
|
853
|
+
*
|
|
854
|
+
* A query that does not parse is left to the query path, which reports it as before.
|
|
855
|
+
* @param query - the client query
|
|
856
|
+
* @throws GraphQLError BAD_USER_INPUT for a DELETE, an UPDATE or a SELECT field list
|
|
857
|
+
*/
|
|
858
|
+
assertFilterQuery(query) {
|
|
859
|
+
let validator;
|
|
860
|
+
try {
|
|
861
|
+
validator = new WebdaQL.QueryValidator(query ?? "");
|
|
862
|
+
}
|
|
863
|
+
catch {
|
|
864
|
+
return;
|
|
865
|
+
}
|
|
866
|
+
try {
|
|
867
|
+
assertFilterOnly(validator);
|
|
868
|
+
}
|
|
869
|
+
catch (err) {
|
|
870
|
+
throw new GraphQLError(err.message, { extensions: { code: "BAD_USER_INPUT" } });
|
|
871
|
+
}
|
|
872
|
+
}
|
|
795
873
|
/**
|
|
796
874
|
* Create an async iterator that streams query results, updating when store events occur
|
|
797
875
|
* @param model - model class to query
|
|
@@ -801,7 +879,10 @@ let GraphQLService = (() => {
|
|
|
801
879
|
* @returns async iterator yielding updated query results on store changes
|
|
802
880
|
*/
|
|
803
881
|
async registerAsyncIteratorQuery(model, plural, query, context) {
|
|
804
|
-
|
|
882
|
+
// Results are always filtered with the subscriber permissions (permission query and canAct "get")
|
|
883
|
+
this.assertFilterQuery(query);
|
|
884
|
+
const runQuery = () => queryModelWithPermissions(model, query, context);
|
|
885
|
+
let result = await runQuery();
|
|
805
886
|
const queryInfo = new WebdaQL.QueryValidator(query);
|
|
806
887
|
const updatedCallback = async (evt) => {
|
|
807
888
|
this.log("TRACE", "Event from", evt.emitterId, evt.object_id);
|
|
@@ -811,6 +892,9 @@ let GraphQLService = (() => {
|
|
|
811
892
|
// We let the other listeners finish before returning the object
|
|
812
893
|
await new Promise(resolve => nextTick(resolve));
|
|
813
894
|
result.results = await Promise.all(result.results.map(r => (r.getUUID() === evt.object_id ? model.ref(evt.object_id).get() : r)));
|
|
895
|
+
// The update may have removed the subscriber's access to the object
|
|
896
|
+
const allowed = await Promise.all(result.results.map(r => isModelActionAllowed(r, context, "get", model)));
|
|
897
|
+
result.results = result.results.filter((_r, i) => allowed[i]);
|
|
814
898
|
return {
|
|
815
899
|
continuationToken: result.continuationToken,
|
|
816
900
|
results: result.results
|
|
@@ -822,14 +906,16 @@ let GraphQLService = (() => {
|
|
|
822
906
|
Deleted: async (evt) => {
|
|
823
907
|
if (!result.results.find(e => evt.object_id === e.getUUID()))
|
|
824
908
|
return;
|
|
825
|
-
result = await
|
|
909
|
+
result = await runQuery();
|
|
826
910
|
return result;
|
|
827
911
|
},
|
|
828
912
|
Created: async (evt) => {
|
|
829
913
|
// If object match the query and is not in the result and can be read by the user
|
|
830
|
-
if (queryInfo.eval(evt.object) &&
|
|
914
|
+
if (queryInfo.eval(evt.object) &&
|
|
915
|
+
!queryInfo.getOffset() &&
|
|
916
|
+
(await isModelActionAllowed(evt.object, context, "get", model))) {
|
|
831
917
|
// Should check with the order by of the query to see if we need to recompute
|
|
832
|
-
result = await
|
|
918
|
+
result = await runQuery();
|
|
833
919
|
return result;
|
|
834
920
|
}
|
|
835
921
|
return;
|
|
@@ -857,7 +943,15 @@ let GraphQLService = (() => {
|
|
|
857
943
|
// We rely on the cache of the store to get the full object
|
|
858
944
|
// We let the other listeners finish before returning the object
|
|
859
945
|
await new Promise(resolve => nextTick(resolve));
|
|
860
|
-
|
|
946
|
+
let updated;
|
|
947
|
+
try {
|
|
948
|
+
updated = await model.ref(evt.object_id).get();
|
|
949
|
+
}
|
|
950
|
+
catch {
|
|
951
|
+
// Gone between the event and the read
|
|
952
|
+
}
|
|
953
|
+
// The update may have removed the subscriber's access: report it like a deletion (a throwing canAct refuses)
|
|
954
|
+
return updated && (await isModelActionAllowed(updated, context, "get", model)) ? updated : null;
|
|
861
955
|
};
|
|
862
956
|
const events = {
|
|
863
957
|
Updated: updatedCallback,
|
|
@@ -870,15 +964,8 @@ let GraphQLService = (() => {
|
|
|
870
964
|
Patched: updatedCallback,
|
|
871
965
|
PartialUpdated: updatedCallback
|
|
872
966
|
};
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
if ((await modelInstance?.canAct?.(context, "get")) !== true) {
|
|
876
|
-
throw new GraphQLError("Permission denied", {
|
|
877
|
-
extensions: {
|
|
878
|
-
code: "PERMISSION_DENIED"
|
|
879
|
-
}
|
|
880
|
-
});
|
|
881
|
-
}
|
|
967
|
+
// Ensure we have the permission to get the object: a refused read answers like a missing object
|
|
968
|
+
const modelInstance = await loadForAction(model, uuid, context, "get");
|
|
882
969
|
// Listen on the model's repository typed events instead of legacy Store.* events.
|
|
883
970
|
return new EventIterator(useRepository(model), events, identifier || useModelMetadata(model)?.Identifier, modelInstance).iterate();
|
|
884
971
|
}
|
|
@@ -900,7 +987,10 @@ let GraphQLService = (() => {
|
|
|
900
987
|
return { latestEventTime: Date.now(), [eventName]: evt };
|
|
901
988
|
};
|
|
902
989
|
const eventsMap = {};
|
|
903
|
-
|
|
990
|
+
if (uuid !== null) {
|
|
991
|
+
// Listening to an object requires reading it: a refused read answers like a missing object
|
|
992
|
+
await loadForAction(model, uuid, context, "get");
|
|
993
|
+
}
|
|
904
994
|
events
|
|
905
995
|
.filter(e => useCore().getModelStore(model)?.authorizeClientEvent?.(e, context) !== false)
|
|
906
996
|
.forEach(e => (eventsMap[e] = updatedCallback(e)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql.service.js","sourceRoot":"","sources":["../src/graphql.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"graphql.service.js","sourceRoot":"","sources":["../src/graphql.service.ts"],"names":[],"mappings":"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"}
|
package/lib/mutations.d.ts
CHANGED
|
@@ -1,12 +1,35 @@
|
|
|
1
1
|
import type { ModelGraph } from "@webda/compiler";
|
|
2
|
+
import { GraphQLError } from "graphql";
|
|
2
3
|
/**
|
|
3
|
-
*
|
|
4
|
-
|
|
4
|
+
* @returns the GraphQL error of a missing object, also used for an object the caller may not read
|
|
5
|
+
*/
|
|
6
|
+
export declare function notFound(): GraphQLError;
|
|
7
|
+
/**
|
|
8
|
+
* Run a core permission check, turning its WebdaErrors into the GraphQL errors of this module
|
|
9
|
+
* @param check - the core check
|
|
10
|
+
* @returns what the check returns
|
|
11
|
+
*/
|
|
12
|
+
export declare function asGraphQL<T>(check: () => Promise<T>): Promise<T>;
|
|
13
|
+
/**
|
|
14
|
+
* Load an object for an action as the caller, with the core rules (the model's static `canAct`, deny by default): a
|
|
15
|
+
* missing object and an object the caller may not read answer the same NOT_FOUND error; an object the caller may
|
|
16
|
+
* read but not act on answers PERMISSION_DENIED
|
|
17
|
+
* @param model - model class
|
|
18
|
+
* @param uuid - primary key
|
|
19
|
+
* @param context - request context
|
|
20
|
+
* @param action - the action ("get", "update", "delete"...)
|
|
21
|
+
* @returns the object
|
|
22
|
+
*/
|
|
23
|
+
export declare function loadForAction(model: any, uuid: any, context: any, action: string): Promise<any>;
|
|
24
|
+
/**
|
|
25
|
+
* Whether a model attribute is part of the generated GraphQL input type: private (`__`), server-managed (`_`) and
|
|
26
|
+
* behavior attributes can only be changed server-side (or through the behavior's own actions)
|
|
5
27
|
* @param attribute - attribute name
|
|
6
28
|
* @param graph - relations of the model
|
|
29
|
+
* @param writable - `_`-prefixed attributes the model accepts from clients (`getClientWritableAttributes()`)
|
|
7
30
|
* @returns true when clients may send it
|
|
8
31
|
*/
|
|
9
|
-
export declare function isInputAttribute(attribute: string, graph?: ModelGraph): boolean;
|
|
32
|
+
export declare function isInputAttribute(attribute: string, graph?: ModelGraph, writable?: string[]): boolean;
|
|
10
33
|
/**
|
|
11
34
|
* Create mutation: the client input is sanitized like the REST create (behavior and `__` fields removed)
|
|
12
35
|
* @param model - model class
|
package/lib/mutations.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../src/mutations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../src/mutations.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAavC;;GAEG;AACH,wBAAgB,QAAQ,IAAI,YAAY,CAMvC;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAYtE;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAErG;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,UAAU,EAAE,QAAQ,GAAE,MAAM,EAAO,GAAG,OAAO,CAKxG;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAqBxF;AAeD;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAatG"}
|
package/lib/mutations.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { sanitizeModelInput } from "@webda/core";
|
|
1
|
+
import { checkModelParent, checkModelPermission, checkModelReparent, createModel, getParentRelation, loadModelForAction, prepareCreateInput, sanitizeModelInput, useModelMetadata, WebdaError } from "@webda/core";
|
|
2
2
|
import { GraphQLError } from "graphql";
|
|
3
3
|
/**
|
|
4
4
|
* @returns the GraphQL error of a refused mutation
|
|
@@ -11,14 +11,57 @@ function permissionDenied() {
|
|
|
11
11
|
});
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
15
|
-
|
|
14
|
+
* @returns the GraphQL error of a missing object, also used for an object the caller may not read
|
|
15
|
+
*/
|
|
16
|
+
export function notFound() {
|
|
17
|
+
return new GraphQLError("Object not found", {
|
|
18
|
+
extensions: {
|
|
19
|
+
code: "NOT_FOUND"
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Run a core permission check, turning its WebdaErrors into the GraphQL errors of this module
|
|
25
|
+
* @param check - the core check
|
|
26
|
+
* @returns what the check returns
|
|
27
|
+
*/
|
|
28
|
+
export async function asGraphQL(check) {
|
|
29
|
+
try {
|
|
30
|
+
return await check();
|
|
31
|
+
}
|
|
32
|
+
catch (err) {
|
|
33
|
+
if (err instanceof WebdaError.NotFound) {
|
|
34
|
+
throw notFound();
|
|
35
|
+
}
|
|
36
|
+
if (err instanceof WebdaError.Forbidden || err instanceof WebdaError.Unauthorized) {
|
|
37
|
+
throw permissionDenied();
|
|
38
|
+
}
|
|
39
|
+
throw err;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Load an object for an action as the caller, with the core rules (the model's static `canAct`, deny by default): a
|
|
44
|
+
* missing object and an object the caller may not read answer the same NOT_FOUND error; an object the caller may
|
|
45
|
+
* read but not act on answers PERMISSION_DENIED
|
|
46
|
+
* @param model - model class
|
|
47
|
+
* @param uuid - primary key
|
|
48
|
+
* @param context - request context
|
|
49
|
+
* @param action - the action ("get", "update", "delete"...)
|
|
50
|
+
* @returns the object
|
|
51
|
+
*/
|
|
52
|
+
export async function loadForAction(model, uuid, context, action) {
|
|
53
|
+
return asGraphQL(() => loadModelForAction(model, uuid, context, action));
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Whether a model attribute is part of the generated GraphQL input type: private (`__`), server-managed (`_`) and
|
|
57
|
+
* behavior attributes can only be changed server-side (or through the behavior's own actions)
|
|
16
58
|
* @param attribute - attribute name
|
|
17
59
|
* @param graph - relations of the model
|
|
60
|
+
* @param writable - `_`-prefixed attributes the model accepts from clients (`getClientWritableAttributes()`)
|
|
18
61
|
* @returns true when clients may send it
|
|
19
62
|
*/
|
|
20
|
-
export function isInputAttribute(attribute, graph) {
|
|
21
|
-
if (attribute.startsWith("__")) {
|
|
63
|
+
export function isInputAttribute(attribute, graph, writable = []) {
|
|
64
|
+
if (attribute.startsWith("__") || (attribute.startsWith("_") && !writable.includes(attribute))) {
|
|
22
65
|
return false;
|
|
23
66
|
}
|
|
24
67
|
return !(graph?.behaviors ?? []).some(b => b.attribute === attribute);
|
|
@@ -32,14 +75,41 @@ export function isInputAttribute(attribute, graph) {
|
|
|
32
75
|
* @throws GraphQLError PERMISSION_DENIED when the object refuses the create
|
|
33
76
|
*/
|
|
34
77
|
export async function createFromInput(model, input, context) {
|
|
78
|
+
// Same input rules as the REST create: sanitized, parent link kept, client uuid ignored for UuidModels
|
|
79
|
+
const data = prepareCreateInput(model, input ?? {});
|
|
35
80
|
const object = new model();
|
|
36
|
-
object.load(
|
|
37
|
-
|
|
38
|
-
|
|
81
|
+
object.load(data);
|
|
82
|
+
// The parent must exist and be readable: an unreadable parent answers like a missing one
|
|
83
|
+
await asGraphQL(() => checkModelParent(model, data?.[getParentRelation(model)?.attribute ?? ""], context));
|
|
84
|
+
// Let the model set its server-managed fields (e.g. the owner) from the caller, like the REST create
|
|
85
|
+
await object.prepareCreate?.(context);
|
|
86
|
+
// The same check as the REST create: the model's static canAct, a throwing canAct refuses
|
|
87
|
+
await asGraphQL(() => checkModelPermission(object, context, "create", model));
|
|
88
|
+
try {
|
|
89
|
+
// Create, never upsert: an existing key must not be overwritten
|
|
90
|
+
await createModel(object);
|
|
91
|
+
}
|
|
92
|
+
catch (err) {
|
|
93
|
+
if (err instanceof WebdaError.Conflict) {
|
|
94
|
+
throw new GraphQLError("Object already exists", { extensions: { code: "CONFLICT" } });
|
|
95
|
+
}
|
|
96
|
+
throw err;
|
|
39
97
|
}
|
|
40
|
-
await object.save();
|
|
41
98
|
return object;
|
|
42
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* @param model - model class
|
|
102
|
+
* @returns its primary key fields (from the application metadata), `["uuid"]` when unknown
|
|
103
|
+
*/
|
|
104
|
+
function primaryKeyFields(model) {
|
|
105
|
+
try {
|
|
106
|
+
const fields = useModelMetadata(model)?.PrimaryKey;
|
|
107
|
+
return fields?.length ? fields : ["uuid"];
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
return ["uuid"];
|
|
111
|
+
}
|
|
112
|
+
}
|
|
43
113
|
/**
|
|
44
114
|
* Update mutation: like the REST update, the sanitized input is loaded onto the stored object, so the stored
|
|
45
115
|
* behavior state is kept
|
|
@@ -51,10 +121,17 @@ export async function createFromInput(model, input, context) {
|
|
|
51
121
|
* @throws GraphQLError PERMISSION_DENIED when the object refuses the update
|
|
52
122
|
*/
|
|
53
123
|
export async function updateFromInput(model, uuid, input, context) {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
124
|
+
input = sanitizeModelInput(model, input ?? {});
|
|
125
|
+
// The key comes from the arguments: a body carrying another key would write over that other object
|
|
126
|
+
for (const field of primaryKeyFields(model)) {
|
|
127
|
+
if (input[field] !== undefined && String(input[field]) !== String(uuid)) {
|
|
128
|
+
throw new GraphQLError("Primary key mismatch", { extensions: { code: "BAD_USER_INPUT" } });
|
|
129
|
+
}
|
|
130
|
+
delete input[field];
|
|
57
131
|
}
|
|
58
|
-
|
|
132
|
+
const object = await loadForAction(model, uuid, context, "update");
|
|
133
|
+
// Moving the object to another parent requires reading the new parent
|
|
134
|
+
await asGraphQL(() => checkModelReparent(model, object, input, context));
|
|
135
|
+
return object.load(input).save();
|
|
59
136
|
}
|
|
60
137
|
//# sourceMappingURL=mutations.js.map
|
package/lib/mutations.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutations.js","sourceRoot":"","sources":["../src/mutations.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"mutations.js","sourceRoot":"","sources":["../src/mutations.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACX,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC;;GAEG;AACH,SAAS,gBAAgB;IACvB,OAAO,IAAI,YAAY,CAAC,mBAAmB,EAAE;QAC3C,UAAU,EAAE;YACV,IAAI,EAAE,mBAAmB;SAC1B;KACF,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ;IACtB,OAAO,IAAI,YAAY,CAAC,kBAAkB,EAAE;QAC1C,UAAU,EAAE;YACV,IAAI,EAAE,WAAW;SAClB;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAI,KAAuB;IACxD,IAAI,CAAC;QACH,OAAO,MAAM,KAAK,EAAE,CAAC;IACvB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,UAAU,CAAC,QAAQ,EAAE,CAAC;YACvC,MAAM,QAAQ,EAAE,CAAC;QACnB,CAAC;QACD,IAAI,GAAG,YAAY,UAAU,CAAC,SAAS,IAAI,GAAG,YAAY,UAAU,CAAC,YAAY,EAAE,CAAC;YAClF,MAAM,gBAAgB,EAAE,CAAC;QAC3B,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAU,EAAE,IAAS,EAAE,OAAY,EAAE,MAAc;IACrF,OAAO,SAAS,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB,EAAE,KAAkB,EAAE,QAAQ,GAAa,EAAE;IAC7F,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QAC/F,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CAAC,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAAU,EAAE,KAAU,EAAE,OAAY;IACxE,uGAAuG;IACvG,MAAM,IAAI,GAAQ,kBAAkB,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;IAC3B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,yFAAyF;IACzF,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3G,qGAAqG;IACrG,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC;IACtC,0FAA0F;IAC1F,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IAC9E,IAAI,CAAC;QACH,gEAAgE;QAChE,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,UAAU,CAAC,QAAQ,EAAE,CAAC;YACvC,MAAM,IAAI,YAAY,CAAC,uBAAuB,EAAE,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,KAAU;IAClC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;QACnD,OAAO,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAAU,EAAE,IAAY,EAAE,KAAU,EAAE,OAAY;IACtF,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAC/C,mGAAmG;IACnG,KAAK,MAAM,KAAK,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,YAAY,CAAC,sBAAsB,EAAE,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAC7F,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACnE,sEAAsE;IACtE,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;AACnC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webda/graphql",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.6",
|
|
4
4
|
"description": "GraphQL endpoint for your Webda Application",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
"graphql-ws": "^6.0.8",
|
|
19
19
|
"json-schema": "^0.4.0",
|
|
20
20
|
"ws": "^8.20.0",
|
|
21
|
-
"@webda/
|
|
22
|
-
"@webda/
|
|
23
|
-
"@webda/ql": "4.0.0-beta.
|
|
21
|
+
"@webda/runtime": "4.0.0-beta.6",
|
|
22
|
+
"@webda/core": "4.0.0-beta.6",
|
|
23
|
+
"@webda/ql": "4.0.0-beta.6"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"@types/node": "25.5.0",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"skott": "^0.35.8",
|
|
33
33
|
"source-map-support": "^0.5.21",
|
|
34
34
|
"vite": "^6.0.0",
|
|
35
|
-
"@webda/compiler": "^4.0.0-beta.
|
|
35
|
+
"@webda/compiler": "^4.0.0-beta.6"
|
|
36
36
|
},
|
|
37
37
|
"webda": {
|
|
38
38
|
"namespace": "Webda"
|
|
@@ -41,7 +41,11 @@
|
|
|
41
41
|
"url": "https://github.com/loopingz/webda.io/issues"
|
|
42
42
|
},
|
|
43
43
|
"homepage": "https://github.com/loopingz/webda.io#readme",
|
|
44
|
-
"repository":
|
|
44
|
+
"repository": {
|
|
45
|
+
"type": "git",
|
|
46
|
+
"url": "git+https://github.com/loopingz/webda.io.git",
|
|
47
|
+
"directory": "packages/graphql"
|
|
48
|
+
},
|
|
45
49
|
"license": "LGPL-3.0-only",
|
|
46
50
|
"nx": {
|
|
47
51
|
"implicitDependencies": [
|
package/webda.module.json
CHANGED
|
@@ -109,10 +109,6 @@
|
|
|
109
109
|
"additionalProperties": false,
|
|
110
110
|
"description": "Represent a file to store",
|
|
111
111
|
"properties": {
|
|
112
|
-
"challenge": {
|
|
113
|
-
"description": "Will be computed by the service\n\nhash of the content prefixed by 'WEBDA'",
|
|
114
|
-
"type": "string"
|
|
115
|
-
},
|
|
116
112
|
"hash": {
|
|
117
113
|
"description": "Will be computed by the service\n\nhash of the content",
|
|
118
114
|
"type": "string"
|