This canvas describes the Document generator Service, which is part of the Flexifin application.

Name: Document generator service

Description:

The Document generator service provides an API for uploading statement templates, message template, generating statement and retrieval of templates.

Capabilities

  • Storing and retrieving documents in AWS, Azure, Mariadb and JCR based on configuration.

  • Can migrate documents from JCR to localDB.

  • If any errors occur while uploading into AWS / Azure / JCR, by default it will upload into the database.

REST API:
Swagger documents URL.

GET

DELETE

  • /api/v1/templates

  • /api/v1/documents/fetch

  • /api/v1/documents/find

  • /api/v1/messaging

  • /api/v1/messaging/{documentRef}

  • /api/v1/messaging/{documentRef}

DELETE

POST

  • /documents/migrateFromJCR

  • /api/v1/documents

  • /api/v1/documents/upload

  • /api/v1/documents/generateWithoutStoring

  • /api/v1/documents/list

  • /api/v1/templates

  • /api/v1/messaging

Observability

Key metrics : N/A

Health check endpoint

/actuator/health

Implementation

Domain Model

  • document_store to store documents in database

  • document_info to store documents metadata

  • template to store metadata of template and template definition

  • message_template to store metadata of message templates and template definition

Dependnecies

REST

Invokes

Invoke By

INTERNAL

documents.storage = aws

  • AWS s3 services

documents.storage = azure

  • Azure blob services

documents.storage = jcr

  • jcr & mongo

documents.storage = db

  • store documents in document_store

flexifin-ftl-api:

  • /api/v1/documents/upload

  • /api/v1/documents/list

flexifin-ftl-api:

  • /api/v1/documents/upload

  • /api/v1/documents/fetch

flexifin-masterdata:

  • /api/v1/documents/upload

  • /api/v1/documents/list

  • /api/v1/documents/fetch

flexifin-message:

  • /api/v1/documents/fetch

libraries

Dependencies

Invoke By

INTERNAL

  • flexifin-security-adapter:2.0.0

  • flexifin-exception-handler:1.0.13

  • flexifin-documents-client:6.0.0-SNAPSHOT

  • flexifin-ftl-shared:1.1.0-SNAPSHOT

  • flexifin-properties-client:6.1.2

Documents client has methods which invokes document-generator REST API’s mentioned below.

  • /api/v1/documents/upload

  • /api/v1/documents/list

  • /api/v1/documents/fetch

And documents-client is a dependency in above mentions services in Invoke By