OP-3680: added vendor-management-consumer to ingest data from vendor management

This commit is contained in:
Damon
2025-11-21 16:13:46 +01:00
parent 0674a8a998
commit f2d66ba03b
3 changed files with 71 additions and 1 deletions

View File

@@ -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
}
}
]
},

View File

@@ -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": {

View File

@@ -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
################################################################################