Uploaded image for project: 'mod-finance-storage'
  1. mod-finance-storage
  2. MODFISTO-315

Simplify the transaction API

    XMLWordPrintable

Details

    • Story
    • Status: In Refinement (View Workflow)
    • TBD
    • Resolution: Unresolved
    • None
    • None
    • None

    Description

      Purpose/Overview:
      After the transaction API is fixed by MODFISTO-268 and other related stories, it needs to be simplified and optimized. These changes are not in the scope of the previous ones because the previous scope is already large.
      The transaction summary groups a set of operations on transactions that has to be applied together. It can apply to orders or invoices, and it can be used to create or modify transactions. A client module only needs to create it, and it is automatically deleted (together with the temporary transactions) when it is applied or when an error occurs. It is applied when the given number of operations is reached. A transaction summary never needs to be reused.

      Questions:

      • Currently transactions are not deleted using a summary. Why are we not doing that when we need to delete several transactions ?
      • The operation for all transactions is currently determined by the last operation, which means it is not possible to mix different operations such as POST and PUT in one summary. Should we save the operation in the temp transaction to make this possible ?
      • The type of all the transactions (encumbrance, pending payment, etc) is also determined by the last operation. Should we also allow mixing different transaction types ? (this could be useful for something like the implementation for MODINVOICE-360)

      Requirements/Scope:

      • Create 1 new endpoint for transaction summaries (POST /finance-storage/transaction-summaries).
      • Remove all the old endpoints (there are 8).
      • Some implementation changes might be needed.
      • Update the calls in other modules.

      Approach:

      • Update the API
      • Update the implementation
      • Update calls in other modules.
      • Increase API version (major change)
      • Check all tests

      Acceptance criteria:

      • The API only lists 1 endpoint for transaction summaries
      • All tests still pass

      TestRail: Results

        Attachments

          Issue Links

            Activity

              People

                Unassigned Unassigned
                damieng Damien Guillaume
                Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                  Created:
                  Updated:

                  TestRail: Runs

                    TestRail: Cases