through the PUT /transactions/{transactionId} method.
The category is also returned on a /transaction(s) call.
Restrict the PUT to changing only the category. The other existing
attributes should remain immutable.
Remove the body of the PUT response, it isn't required, and it was
returning a 204, which shouldn't have it.
This patch also extracts the CategoryName as a separate component on the
OpenAPI spec, so that it can be reused on the Transaction.
Issues #26 and #23
The accepted practice is to retain the collection name even for a single
resource operation, like getting a specific transaction.
Also moves the PUT /transactions to /transactions/{id} which makes it
clearer that it can only be applied to an already created transaction.
Adds PUT method to OpenAPI spec.
Given that the transaction IDs are generated on server-side, for the PUT
method to remain idempotent, it can only update existing transactions.
It also adds a TransactionExists method on the DAL.
Issue: #20
It adds the method to the OpenAPI spec and generates a new server
config. The requirement for the ID on the Transaction component is
removed, so that it can be reused for insertions.
It also adds two new middlewares, a logging and a spec validator. If a
request does not follow the spec, a 400 is returned immediately.
Issue: #18
Swap direct access to the DB on the API server with an data abstraction
layer.
Implement each API type converter separately and revert changes to the
auto-generated server implementation types.
Add error return to DAL methods. Implement `Transactions`.
Add tools.go with oapi-codegen and mockgen.
https://www.jvt.me/posts/2022/06/15/go-tools-dependency-management/
Update go packages.
Issues #5, #12