Skip to content

folio-org/mod-consortia

Repository files navigation

mod-consortia

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.

Table of Contents

Introduction

APIs for Consortia module.

API information

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

Permissions

Institutional users should be granted the following permissions in order to use this Consortia API:

consortia.all

Installing and deployment

Compiling

Compile with

mvn clean install

Running it

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

Docker

Build the docker container with:

docker build -t dev.folio/mod-consortia .

Module Descriptor

See the built target/ModuleDescriptor.json for the interfaces that this module requires and provides, the permissions, and the additional module metadata.

Environment variables

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

Additional information

Issue tracker

See project MODCON at the FOLIO issue tracker.

API documentation

This module's API documentation.

Code analysis

SonarQube analysis.

Other documentation

The built artifacts for this module are available. See configuration for repository access, and the Docker image. Look at contribution guidelines Contributing.