Uploaded image for project: 'mod-source-record-storage'
  1. mod-source-record-storage
  2. MODSOURCE-7

Add CRUD API for Record entity at mod-source-record-storage

    XMLWordPrintable

Details

    • EPAM BatchLoader Sprint 3, EPAM BatchLoader Sprint 4
    • 8
    • Folijet

    Description

      Module should provide a CRUD API for the Record entity.
      The main representation of the marc\edifact\delimited record. It is something like a journal and store information about the date, type, and links into source record, parsed record, snapshot, metadata, and errors. It’s necessary to add indexes on all foreign keys for best performance. Type of record will be a part of the foreign key for a parsed record. If type of record is MARC, then storage should get parsed record from MarcRecord table and etc. A record should contain a matcherProfileId field. It is a foreign key on Matcher Profile entity and this relation should show us what matcher is triggered for this record. It should contain matched id. This field will represent entity relations with another marc records with the same id. It necessary to have for saving the history of applying changes for inventory\holding\etc records. Also, Record should have a generationId field. When import starts, storage should found last MarcRecord with such matchedId and set generation version + 1. When snapshot will be ready it should check another record with such generationId and notify the user about conflicts. The user should merge this records.

      Link to API design

      Steps

      • Add schemas for Record/MarcRecord/ErrorRecord/SourceRecord
      • Add tables to database
      • Add endpoint definitions to the raml file
      • Add implementations to the endpoints methods
      • Create API tests for each endpoint

      TestRail: Results

        Attachments

          Issue Links

            Activity

              People

                Kateryna Senchenko Kateryna Senchenko
                OleksiiKuzminov Oleksii Kuzminov
                Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  TestRail: Runs

                    TestRail: Cases