Copyright (C) 2022-2023 The Open Library Foundation
This software is distributed under the terms of the Apache License, Version 2.0. See the file "LICENSE" for more information.
APIs for Consortia module.
Consortia API provides the following URLs:
Method | URL | Permissions | Description |
---|---|---|---|
GET | /consortia/{consortiumId}/tenants | consortia.tenants.collection.get | Gets list of tenants based on consortiumId |
GET | /consortia/{consortiumId}/user-tenants | consortia.user-tenants.collection.get | Gets list of user-tenants based on consortiumId |
GET | /consortia/{consortiumId}/user-tenants/{associationId} | consortia.user-tenants.item.get | Gets single user-tenant based on consortiumId and associationId |
GET | /consortia/{consortiumId} | consortia.consortium.item.get | Gets single tenant based on consortiumId |
GET | /consortia | consortia.consortium.collection.get | Gets list of consortia |
POST | /consortia | consortia.consortium.item.post | Inserts single consortium |
POST | /consortia/{consortiumId}/tenants | consortia.tenants.item.post | Inserts a single tenant based on consortiumId |
PUT | /consortia/{consortiumId}/tenants/{tenantId} | consortia.tenants.item.put | Update a single tenant name based on consortiumId and tenantId |
PUT | /consortia/{consortiumId} | consortia.consortium.item.put | Update consortium name based on consortiumId |
More detail about mod-consortia
- API can be found on api-guide.md: API Docs.
- Schema architecture can be found on Consortia wiki-page: mod-consortia schema and ER diagram.
Institutional users should be granted the following permissions in order to use this Consortia API:
consortia.all
Compile with
mvn clean install
Run locally on listening port 8081 (default listening port):
Using Docker to run the local stand-alone instance:
DB_HOST=localhost DB_PORT=5432 DB_DATABASE=okapi_modules DB_USERNAME=folio_admin DB_PASSWORD=folio_admin \
java -Dserver.port=8081 -jar target/mod-consortia-*.jar
Build the docker container with:
docker build -t dev.folio/mod-consortia .
See the built target/ModuleDescriptor.json
for the interfaces that this module
requires and provides, the permissions, and the additional module metadata.
Name | Default value | Description |
---|---|---|
DB_HOST | postgres | Postgres hostname |
DB_PORT | 5432 | Postgres port |
DB_USERNAME | folio_admin | Postgres username |
DB_PASSWORD | - | Postgres username password |
DB_DATABASE | okapi_modules | Postgres database name |
KAFKA_HOST | kafka | Kafka broker hostname |
KAFKA_PORT | 9092 | Kafka broker port |
KAFKA_SECURITY_PROTOCOL | PLAINTEXT | Kafka security protocol used to communicate with brokers (SSL or PLAINTEXT) |
KAFKA_SSL_KEYSTORE_LOCATION | - | The location of the Kafka key store file. This is optional for client and can be used for two-way authentication for client. |
KAFKA_SSL_KEYSTORE_PASSWORD | - | The store password for the Kafka key store file. This is optional for client and only needed if 'ssl.keystore.location' is configured. |
KAFKA_SSL_TRUSTSTORE_LOCATION | - | The location of the Kafka trust store file. |
KAFKA_SSL_TRUSTSTORE_PASSWORD | - | The password for the Kafka trust store file. If a password is not set, trust store file configured will still be used, but integrity checking is disabled. |
ENV | folio | Logical name of the deployment, must be set if Kafka/Elasticsearch are shared for environments, a-z (any case) , 0-9 , - , _ symbols only allowed |
OKAPI_URL | http://okapi:9130 | Okapi url |
SYSTEM_USER_NAME | consortia-system-user | Username of the system user |
SYSTEM_USER_PASSWORD | - | Password of the system user |
See project MODCON at the FOLIO issue tracker.
This module's API documentation.
The built artifacts for this module are available. See configuration for repository access, and the Docker image. Look at contribution guidelines Contributing.