Skip to content

Vignesh-kalyanasundaram/mod-dcb

 
 

Repository files navigation

mod-dcb

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 managing dcb transactions in folio.

API information

dcb API provides the following URLs:

Method URL Permissions Description
GET /transactions/{dcbTransactionId}/status dcb.transactions.get Gets status of transaction based on transactionId
POST /transactions/{dcbTransactionId} dcb.transactions.post create new transaction
PUT /transactions/{dcbTransactionId}/status dcb.transactions.put Update the status of the transaction and it will trigger automatic action if needed
GET /transactions/{dcbTransactionId}/status dcb.transactions.collection.get get list of transaction updated between a given query range

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-dcb-*.jar

Docker

Build the docker container with:

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

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
ENV folio Environment. Logical name of the deployment, must be set if Kafka/Elasticsearch are shared for environments, a-z (any case), 0-9, -, _ symbols only allowed
SYSTEM_USER_NAME dcb-system-user Username of the system user
SYSTEM_USER_PASSWORD - Password of the system user
ACTUATOR_EXPOSURE health,info,loggers Back End Module Health Check Protocol

Additional information

System user configuration

The module uses system user to communicate with other modules. For production deployments you MUST specify the password for this system user via env variable: SYSTEM_USER_PASSWORD=<password>.

Issue tracker

See project MODDCB at the FOLIO issue tracker.

ModuleDescriptor

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

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.8%
  • Dockerfile 0.2%