diff --git a/config/authorization/config.ex b/config/authorization/config.ex index 2ef99a3..5268cc5 100644 --- a/config/authorization/config.ex +++ b/config/authorization/config.ex @@ -89,6 +89,11 @@ defmodule Acl.UserGroups.Config do "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject" ] + @vendor_type [ + "http://mu.semte.ch/vocabularies/ext/Vendor" + ] + + defp access_by_role(group_string) do %AccessByQuery{ # vars: ["session_group","session_role"], todo we might have to create multiple graph depending on role @@ -169,6 +174,12 @@ defmodule Acl.UserGroups.Config do constraint: %ResourceConstraint{ resource_types: @org_type ++ @worship_type } + }, + %GraphSpec{ + graph: "http://mu.semte.ch/graphs/vendor-management-data", + constraint: %ResourceConstraint{ + resource_types: @vendor_type + } } ] }, @@ -182,6 +193,12 @@ defmodule Acl.UserGroups.Config do constraint: %ResourceConstraint{ resource_types: @org_type ++ @error_type ++ @worship_type } + }, + %GraphSpec{ + graph: "http://mu.semte.ch/graphs/vendor-management-data", + constraint: %ResourceConstraint{ + resource_types: @vendor_type + } } ] }, @@ -195,6 +212,12 @@ defmodule Acl.UserGroups.Config do constraint: %ResourceConstraint{ resource_types: @org_type ++ @error_type ++ @worship_type } + }, + %GraphSpec{ + graph: "http://mu.semte.ch/graphs/vendor-management-data", + constraint: %ResourceConstraint{ + resource_types: @vendor_type + } } ] }, diff --git a/config/resources/domain.json b/config/resources/domain.json index f335d76..5b32279 100644 --- a/config/resources/domain.json +++ b/config/resources/domain.json @@ -30,7 +30,8 @@ "ext": "http://mu.semte.ch/vocabularies/ext/", "geo": "http://www.opengis.net/ont/geosparql#", "nacebel": "http://data.gift/vocabularies/nace-bel/", - "time": "http://www.w3.org/2006/time#" + "time": "http://www.w3.org/2006/time#", + "muAccount": "http://mu.semte.ch/vocabularies/account/" }, "resources": { "agents": { @@ -553,6 +554,23 @@ }, "new-resource-base": "http://data.lblod.info/id/eredienstBestuurseenheden/" }, + "vendors": { + "class": "ext:Vendor", + "attributes": { + "name": { + "type": "string", + "predicate": "foaf:name" + } + }, + "relationships": { + "worship-service": { + "predicate": "muAccount:canActOnBehalfOf", + "target": "worship-services", + "cardinality": "many" + } + }, + "new-resource-base": "http://data.lblod.info/vendors/" + }, "worship-services": { "class": "ere:BestuurVanDeEredienst", "super": ["worship-administrative-units"], @@ -566,6 +584,14 @@ "predicate": "ere:grensoverschrijdend" } }, + "relationships": { + "vendor": { + "predicate": "muAccount:canActOnBehalfOf", + "target": "vendors", + "cardinality": "one", + "inverse": true + } + }, "new-resource-base": "http://data.lblod.info/id/besturenVanDeEredienst/" }, "recognized-worship-types": { diff --git a/docker-compose.yml b/docker-compose.yml index a758bf8..3af5632 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -540,6 +540,27 @@ services: - triplestore:virtuoso logging: *default-logging + vendor-management-consumer: + image: lblod/delta-consumer:0.0.24 + environment: + DCR_SYNC_BASE_URL: "https://loket.lblod.info/" + DCR_SYNC_LOGIN_ENDPOINT: 'https://loket.lblod.info/sync/vendor-management/login' # Add DCR_SECRET_KEY in docker-compose.override.yml + DCR_SERVICE_NAME: "vendor-management-consumer" + DCR_SYNC_FILES_PATH: "/sync/vendor-management/files" + DCR_SYNC_DATASET_SUBJECT: "http://data.lblod.info/datasets/delta-producer/dumps/VendorManagementCacheGraphDump" + DCR_INITIAL_SYNC_JOB_OPERATION: "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/consumer/initialSync/vendor-management" + DCR_JOB_CREATOR_URI: "http://data.lblod.info/services/id/vendor-management-consumer" + DCR_DISABLE_INITIAL_SYNC: "true" + DCR_KEEP_DELTA_FILES: "true" + DCR_DELTA_FILE_FOLDER: "/consumer-files" + DCR_DELTA_SYNC_JOB_OPERATION: "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/consumer/VendorManagementFileSyncing" + INGEST_GRAPH: "http://mu.semte.ch/graphs/vendor-management-data" + labels: + - "logging=true" + links: + - db:database + restart: always + logging: *default-logging ################################################################################ # DELTA CONSUMERS: END ################################################################################