diff options
author | Matthias Baumgartner <dev@igsor.net> | 2023-03-02 16:40:43 +0100 |
---|---|---|
committer | Matthias Baumgartner <dev@igsor.net> | 2023-03-02 16:40:43 +0100 |
commit | 6b9379d75198082054c35e44bc2cd880353a7485 (patch) | |
tree | 1c6f88b10eb4b532a26f2a9dc26bc938e81e7032 /bsfs/graph/graph.py | |
parent | 28a021483c13e974e00b6159f0653b0727df9d10 (diff) | |
download | bsfs-6b9379d75198082054c35e44bc2cd880353a7485.tar.gz bsfs-6b9379d75198082054c35e44bc2cd880353a7485.tar.bz2 bsfs-6b9379d75198082054c35e44bc2cd880353a7485.zip |
hardening
Diffstat (limited to 'bsfs/graph/graph.py')
-rw-r--r-- | bsfs/graph/graph.py | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/bsfs/graph/graph.py b/bsfs/graph/graph.py index ade51a5..1b4c212 100644 --- a/bsfs/graph/graph.py +++ b/bsfs/graph/graph.py @@ -36,12 +36,6 @@ class Graph(): # access controls. _ac: ac.AccessControlBase - # query resolver. - _resolver: resolve.Filter - - # query validator. - _validate: validate.Filter - def __init__( self, backend: TripleStoreBase, @@ -50,9 +44,6 @@ class Graph(): # store members self._backend = backend self._ac = access_control - # helper classes - self._resolver = resolve.Filter(self._backend.schema) - self._validate = validate.Filter(self._backend.schema) # ensure Graph schema requirements self.migrate(self._backend.schema) @@ -94,9 +85,6 @@ class Graph(): # migrate schema in backend # FIXME: consult access controls! self._backend.schema = schema - # re-initialize members - self._resolver.schema = self.schema - self._validate.schema = self.schema # return self return self @@ -164,12 +152,12 @@ class Graph(): # get node type type_ = self.schema.node(node_type) # resolve Nodes instances - query = self._resolver(type_, query) + query = resolve.Filter(self._backend.schema).resolve(type_, query) # add access controls to query query = self._ac.filter_read(type_, query) # validate query if query is not None: - self._validate(type_, query) + validate.Filter(self._backend.schema).validate(type_, query) # query the backend and return the (non-materialized) result return self._backend.get(type_, query) |