6 Commits

Author SHA1 Message Date
9e58641001
Support modifying a transaction category
Some checks failed
Go / build (1.21) (pull_request) Failing after 11s
Go / build (1.22) (pull_request) Failing after 9s
through the PUT /transactions/{transactionId} method.

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
2024-09-13 19:21:19 +01:00
1467250db4
Implements GET /categories
Some checks failed
Go / build (1.21) (pull_request) Successful in 57s
Go / build (1.22) (pull_request) Successful in 55s
Go / build (1.22) (push) Has been cancelled
Go / build (1.21) (push) Has been cancelled
Adds type to OpenAPI. Feature done and tested E2E.
Adds common utilities package named "golang" to overcome language
deficiencies.

Issue #27
2024-09-13 19:18:27 +01:00
4c82ca0e2b
Implements /transactions POST method
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
2024-06-22 20:11:52 +01:00
a52bca5882
Adapt API implementation with DAL interface
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
2024-05-12 22:16:24 +01:00
86036afa4e
API server online and DB connection established
Introduces the api-server/main.go, which creates the echo server,
connects it to the implemented handlers and runs it.

Fix the SQL query to retrieved transactions w/ categories.

Issues #6 and #7
2024-03-23 16:51:07 +00:00
1aa6e28b69
Implement basic /transactions method
Issue #1
2024-03-23 16:51:00 +00:00