From 2e99cc993420f014a73270c26201513877164939 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 27 Oct 2021 23:04:17 +0000 Subject: [PATCH] fix(deps): update dependency sparqlalgebrajs to v4 --- package-lock.json | 81 +++++++++++++------ package.json | 2 +- .../permissions/SparqlPatchModesExtractor.ts | 12 +-- src/http/input/body/SparqlUpdateBodyParser.ts | 2 +- .../storage/patch/SparqlUpdatePatcher.test.ts | 3 +- 5 files changed, 68 insertions(+), 32 deletions(-) diff --git a/package-lock.json b/package-lock.json index a12dae7e5..14c2c49a9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -56,7 +56,7 @@ "rdf-serialize": "^1.1.0", "redis": "^3.1.2", "redlock": "^4.2.0", - "sparqlalgebrajs": "^3.0.0", + "sparqlalgebrajs": "^4.0.1", "sparqljs": "^3.4.2", "url-join": "^4.0.1", "uuid": "^8.3.2", @@ -3780,6 +3780,24 @@ "sparqlalgebrajs": "^3.0.1" } }, + "node_modules/@comunica/types/node_modules/sparqlalgebrajs": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparqlalgebrajs/-/sparqlalgebrajs-3.0.3.tgz", + "integrity": "sha512-XFNhsO55bprayrM35h/jY0kzzuGc3oZ1On3kc+s7Un0BFQBXa046aLcMZFp4MYSvn7GtMe9eZ08ONFnBH5kEsQ==", + "dependencies": { + "@rdfjs/types": "*", + "@types/sparqljs": "^3.1.2", + "fast-deep-equal": "^3.1.3", + "minimist": "^1.2.5", + "rdf-data-factory": "^1.1.0", + "rdf-isomorphic": "^1.3.0", + "rdf-string": "^1.6.0", + "sparqljs": "^3.4.2" + }, + "bin": { + "sparqlalgebrajs": "bin/sparqlalgebrajs.js" + } + }, "node_modules/@comunica/utils-datasource": { "version": "1.21.1", "resolved": "https://registry.npmjs.org/@comunica/utils-datasource/-/utils-datasource-1.21.1.tgz", @@ -4886,9 +4904,9 @@ "integrity": "sha512-82E/lVRaqelV9qmRzzJ1PKTpyrpnT7mwdneKNJB9hUtypZDMggloDfFUCIqRRx3lYRxteCwXSq9c+W71Vf0QnQ==" }, "node_modules/@types/sparqljs": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@types/sparqljs/-/sparqljs-3.1.2.tgz", - "integrity": "sha512-tLfrnBuK37P2Bn8Fo7Qik95sBXYHw5D+gq3MMq1HVyoTpCWivwPnP0Mmd7Apamdc9eH3mLJwIZIETHCQ6HxMUw==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/sparqljs/-/sparqljs-3.1.3.tgz", + "integrity": "sha512-nmFgmR6ns4i8sg9fYu+293H+PMLKmDOZy34sgwgAeUEEiIqSs4guj5aCZRt3gq1g0yuKXkqrxLDq/684g7pGtQ==", "dependencies": { "rdf-js": "^4.0.2" } @@ -14164,18 +14182,18 @@ "integrity": "sha512-0tF3AGSD1ppQeuffsLDIOWlKUd3lS92tFxcsrh5Pe3ZphhnoK+oXIBTzOAThZCiuINZLvpiLH/1VS1/ANEJVig==" }, "node_modules/sparqlalgebrajs": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/sparqlalgebrajs/-/sparqlalgebrajs-3.0.3.tgz", - "integrity": "sha512-XFNhsO55bprayrM35h/jY0kzzuGc3oZ1On3kc+s7Un0BFQBXa046aLcMZFp4MYSvn7GtMe9eZ08ONFnBH5kEsQ==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/sparqlalgebrajs/-/sparqlalgebrajs-4.0.1.tgz", + "integrity": "sha512-/YOn4+5JEawI29h9eFYb9rScCtiLIK4TG+MrXpbJlHDjL8W34+V/RQoXqeau4SFXtA60Vzc7LRokefguh+I37Q==", "dependencies": { "@rdfjs/types": "*", - "@types/sparqljs": "^3.1.2", + "@types/sparqljs": "^3.1.3", "fast-deep-equal": "^3.1.3", "minimist": "^1.2.5", "rdf-data-factory": "^1.1.0", "rdf-isomorphic": "^1.3.0", "rdf-string": "^1.6.0", - "sparqljs": "^3.4.2" + "sparqljs": "^3.5.1" }, "bin": { "sparqlalgebrajs": "bin/sparqlalgebrajs.js" @@ -14220,9 +14238,9 @@ } }, "node_modules/sparqljs": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/sparqljs/-/sparqljs-3.4.2.tgz", - "integrity": "sha512-MmmZ6cMuvhf4Eh2FXX21dalgADUiZ9WN8XKMedwhTFg0r7W09/o8wvoZ8C4yA6FptnjjAjm+mGnxAEpkSRY3QQ==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/sparqljs/-/sparqljs-3.5.1.tgz", + "integrity": "sha512-sHc6z7hNF3ACvXurKe8hT1sD52Fc0fN3uPLS6SQnXRV9CJl33GNAS4w5Dd3X3GgykUt9SlnjhI1QRKhLzun4qQ==", "dependencies": { "rdf-data-factory": "^1.0.4" }, @@ -18574,6 +18592,23 @@ "asynciterator": "^3.2.0", "immutable": "^3.8.2", "sparqlalgebrajs": "^3.0.1" + }, + "dependencies": { + "sparqlalgebrajs": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparqlalgebrajs/-/sparqlalgebrajs-3.0.3.tgz", + "integrity": "sha512-XFNhsO55bprayrM35h/jY0kzzuGc3oZ1On3kc+s7Un0BFQBXa046aLcMZFp4MYSvn7GtMe9eZ08ONFnBH5kEsQ==", + "requires": { + "@rdfjs/types": "*", + "@types/sparqljs": "^3.1.2", + "fast-deep-equal": "^3.1.3", + "minimist": "^1.2.5", + "rdf-data-factory": "^1.1.0", + "rdf-isomorphic": "^1.3.0", + "rdf-string": "^1.6.0", + "sparqljs": "^3.4.2" + } + } } }, "@comunica/utils-datasource": { @@ -19578,9 +19613,9 @@ "integrity": "sha512-82E/lVRaqelV9qmRzzJ1PKTpyrpnT7mwdneKNJB9hUtypZDMggloDfFUCIqRRx3lYRxteCwXSq9c+W71Vf0QnQ==" }, "@types/sparqljs": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@types/sparqljs/-/sparqljs-3.1.2.tgz", - "integrity": "sha512-tLfrnBuK37P2Bn8Fo7Qik95sBXYHw5D+gq3MMq1HVyoTpCWivwPnP0Mmd7Apamdc9eH3mLJwIZIETHCQ6HxMUw==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/sparqljs/-/sparqljs-3.1.3.tgz", + "integrity": "sha512-nmFgmR6ns4i8sg9fYu+293H+PMLKmDOZy34sgwgAeUEEiIqSs4guj5aCZRt3gq1g0yuKXkqrxLDq/684g7pGtQ==", "requires": { "rdf-js": "^4.0.2" } @@ -26661,18 +26696,18 @@ "integrity": "sha512-0tF3AGSD1ppQeuffsLDIOWlKUd3lS92tFxcsrh5Pe3ZphhnoK+oXIBTzOAThZCiuINZLvpiLH/1VS1/ANEJVig==" }, "sparqlalgebrajs": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/sparqlalgebrajs/-/sparqlalgebrajs-3.0.3.tgz", - "integrity": "sha512-XFNhsO55bprayrM35h/jY0kzzuGc3oZ1On3kc+s7Un0BFQBXa046aLcMZFp4MYSvn7GtMe9eZ08ONFnBH5kEsQ==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/sparqlalgebrajs/-/sparqlalgebrajs-4.0.1.tgz", + "integrity": "sha512-/YOn4+5JEawI29h9eFYb9rScCtiLIK4TG+MrXpbJlHDjL8W34+V/RQoXqeau4SFXtA60Vzc7LRokefguh+I37Q==", "requires": { "@rdfjs/types": "*", - "@types/sparqljs": "^3.1.2", + "@types/sparqljs": "^3.1.3", "fast-deep-equal": "^3.1.3", "minimist": "^1.2.5", "rdf-data-factory": "^1.1.0", "rdf-isomorphic": "^1.3.0", "rdf-string": "^1.6.0", - "sparqljs": "^3.4.2" + "sparqljs": "^3.5.1" } }, "sparqlee": { @@ -26710,9 +26745,9 @@ } }, "sparqljs": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/sparqljs/-/sparqljs-3.4.2.tgz", - "integrity": "sha512-MmmZ6cMuvhf4Eh2FXX21dalgADUiZ9WN8XKMedwhTFg0r7W09/o8wvoZ8C4yA6FptnjjAjm+mGnxAEpkSRY3QQ==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/sparqljs/-/sparqljs-3.5.1.tgz", + "integrity": "sha512-sHc6z7hNF3ACvXurKe8hT1sD52Fc0fN3uPLS6SQnXRV9CJl33GNAS4w5Dd3X3GgykUt9SlnjhI1QRKhLzun4qQ==", "requires": { "rdf-data-factory": "^1.0.4" } diff --git a/package.json b/package.json index e74a33b19..4580f267b 100644 --- a/package.json +++ b/package.json @@ -122,7 +122,7 @@ "rdf-serialize": "^1.1.0", "redis": "^3.1.2", "redlock": "^4.2.0", - "sparqlalgebrajs": "^3.0.0", + "sparqlalgebrajs": "^4.0.1", "sparqljs": "^3.4.2", "url-join": "^4.0.1", "uuid": "^8.3.2", diff --git a/src/authorization/permissions/SparqlPatchModesExtractor.ts b/src/authorization/permissions/SparqlPatchModesExtractor.ts index cad78bc52..cae2798d6 100644 --- a/src/authorization/permissions/SparqlPatchModesExtractor.ts +++ b/src/authorization/permissions/SparqlPatchModesExtractor.ts @@ -40,25 +40,25 @@ export class SparqlPatchModesExtractor extends ModesExtractor { return Boolean((data as SparqlUpdatePatch).algebra); } - private isSupported(op: Algebra.Operation): boolean { + private isSupported(op: Algebra.Update): boolean { if (this.isDeleteInsert(op) || this.isNop(op)) { return true; } if (op.type === Algebra.types.COMPOSITE_UPDATE) { - return (op as Algebra.CompositeUpdate).updates.every((update): boolean => this.isSupported(update)); + return op.updates.every((update): boolean => this.isSupported(update)); } return false; } - private isDeleteInsert(op: Algebra.Operation): op is Algebra.DeleteInsert { + private isDeleteInsert(op: Algebra.Update): op is Algebra.DeleteInsert { return op.type === Algebra.types.DELETE_INSERT; } - private isNop(op: Algebra.Operation): op is Algebra.Nop { + private isNop(op: Algebra.Update): op is Algebra.Nop { return op.type === Algebra.types.NOP; } - private needsAppend(update: Algebra.Operation): boolean { + private needsAppend(update: Algebra.Update): boolean { if (this.isNop(update)) { return false; } @@ -69,7 +69,7 @@ export class SparqlPatchModesExtractor extends ModesExtractor { return (update as Algebra.CompositeUpdate).updates.some((op): boolean => this.needsAppend(op)); } - private needsWrite(update: Algebra.Operation): boolean { + private needsWrite(update: Algebra.Update): boolean { if (this.isNop(update)) { return false; } diff --git a/src/http/input/body/SparqlUpdateBodyParser.ts b/src/http/input/body/SparqlUpdateBodyParser.ts index b9600769a..8b0d871e8 100644 --- a/src/http/input/body/SparqlUpdateBodyParser.ts +++ b/src/http/input/body/SparqlUpdateBodyParser.ts @@ -26,7 +26,7 @@ export class SparqlUpdateBodyParser extends BodyParser { const sparql = await readableToString(request); let algebra: Algebra.Operation; try { - algebra = translate(sparql, { quads: true, baseIRI: metadata.identifier.value }); + algebra = translate(sparql, { quads: true, baseIRI: metadata.identifier.value }) as Algebra.Update; } catch (error: unknown) { this.logger.warn('Could not translate SPARQL query to SPARQL algebra', { error }); throw new BadRequestHttpError(createErrorMessage(error), { cause: error }); diff --git a/test/unit/storage/patch/SparqlUpdatePatcher.test.ts b/test/unit/storage/patch/SparqlUpdatePatcher.test.ts index 01386217a..6bb035a1f 100644 --- a/test/unit/storage/patch/SparqlUpdatePatcher.test.ts +++ b/test/unit/storage/patch/SparqlUpdatePatcher.test.ts @@ -2,6 +2,7 @@ import 'jest-rdf'; import { namedNode, quad } from '@rdfjs/data-model'; import arrayifyStream from 'arrayify-stream'; import type { Quad } from 'rdf-js'; +import type { Algebra } from 'sparqlalgebrajs'; import { translate } from 'sparqlalgebrajs'; import { BasicRepresentation } from '../../../../src/http/representation/BasicRepresentation'; import type { Representation } from '../../../../src/http/representation/Representation'; @@ -15,7 +16,7 @@ import { guardedStreamFrom } from '../../../../src/util/StreamUtil'; function getPatch(query: string): SparqlUpdatePatch { const prefixedQuery = `prefix : \n${query}`; return { - algebra: translate(prefixedQuery, { quads: true }), + algebra: translate(prefixedQuery, { quads: true }) as Algebra.Update, data: guardedStreamFrom(prefixedQuery), metadata: new RepresentationMetadata(), binary: true,