33 lines
861 B
Plaintext
33 lines
861 B
Plaintext
|
|
import module namespace c = 'urn:nubisware:keycloak:clients' at 'keycloak-clients.xqm';
|
|
import module namespace gw = 'urn:nubisware:d4science:gateways' at 'd4s-gateways.xqm';
|
|
|
|
|
|
declare function local:build-clientId($gateway) {
|
|
replace($gateway, 'https://', '')
|
|
};
|
|
|
|
declare function local:build-client-def($gateway) {
|
|
let $clientId := local:build-clientId($gateway)
|
|
let $baseUrl := $gateway || '/'
|
|
let $redirectUri := $gateway || '/*'
|
|
let $login_theme := "d4science"
|
|
return map {
|
|
"clientId" : $clientId,
|
|
"baseUrl" : $baseUrl,
|
|
"redirectUri" : $redirectUri,
|
|
"login_theme" : $login_theme
|
|
}
|
|
};
|
|
|
|
let $dummy := ''
|
|
|
|
(: delete all clients
|
|
gw:list() ! c:delete-client(local:build-clientId(.))
|
|
:)
|
|
|
|
(: add all clients
|
|
gw:list() ! c:create-client(local:build-client-def(.))
|
|
:)
|
|
|
|
return gw:list() ! c:create-client(local:build-client-def(.)) |