Skip to content

Persistent storage of organizations data

License

Notifications You must be signed in to change notification settings

folio-org/mod-organizations-storage

Repository files navigation

mod-organizations-storage

Copyright (C) 2019-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.

Introduction

This is the Organizations storage module.

Additional information

The following APIs are not currently in use and may at some point be removed or resurrected:

  • POST /organization-storage/addresses
  • GET /organization-storage/addresses
  • GET /organization-storage/addresses/
  • PUT /organization-storage/addresses/
  • DELETE /organization-storage/addresses/
  • POST /organization-storage/emails
  • GET /organization-storage/emails
  • GET /organization-storage/emails/
  • PUT /organization-storage/emails/
  • DELETE /organization-storage/emails/
  • POST /organization-storage/phone-numbers
  • GET /organization-storage/phone-numbers
  • GET /organization-storage/phone-numbers/
  • PUT /organization-storage/phone-numbers/
  • DELETE /organization-storage/phone-numbers/
  • POST /organization-storage/urls
  • GET /organization-storage/urls
  • GET /organization-storage/urls/
  • PUT /organization-storage/urls/
  • DELETE /organization-storage/urls/

Kafka domain event pattern

The pattern means that every time when a domain entity is created/updated a message is posted to kafka topic. Currently, domain events are supported for organizations The events are posted into the following topics:

  • ACQ_ORGANIZATION_CHANGED - for organizations

The event payload has the following structure:

{
  "id": "12bb13f6-d0fa-41b5-b0ad-d6561975121b",
  "action": "Created|Edited",
  "userId": "1d4f3f6-d0fa-41b5-b0ad-d6561975121b",
  "eventDate": "2024-11-14T10:00:00.000+0000",
  "actionDate": "2024-11-14T10:00:00.000+0000",
  "entitySnapshot": { } // entity being either of these: organizations
}

Default value for all partitions is 1. Kafka partition key for all the events is entity id.

Issue tracker

See project MODORGS at the FOLIO issue tracker.

Other documentation

Other modules are described, with further FOLIO Developer documentation at dev.folio.org