Compare commits

..

1 Commits

Author SHA1 Message Date
b506a575fa
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-05-27 22:17:06 +01:00
6 changed files with 5 additions and 11 deletions

View File

@ -1,6 +0,0 @@
package: api
generate:
echo-server: true
models: true
embedded-spec: true
output: server.gen.go

View File

@ -8,7 +8,7 @@ import (
"github.com/labstack/echo/v4"
)
//go:generate go run github.com/deepmap/oapi-codegen/v2/cmd/oapi-codegen@v2.1.0 --config=api.cfg.yaml ../../docs/openapi.yaml
//go:generate oapi-codegen --config=api.cfg.yaml ../../docs/openapi.yaml
type ServerImpl struct {
Dal dal.DAL

View File

@ -10,4 +10,4 @@ type DAL interface {
Banks() (entity.Banks, error)
}
//go:generate go run go.uber.org/mock/mockgen@latest -destination=../mock/mock_dal.gen.go -package=mock . DAL
//go:generate mockgen -destination=../mock/mock_dal.gen.go -package=mock . DAL

View File

@ -54,7 +54,7 @@ func (dal *DalImpl) InsertTransaction(t entity.Transaction) (entity.Transaction,
}
stmt := `
INSERT INTO pfbudget.transactions (date, description, amount)
INSERT INTO pfbudget.transactions (date, description, value)
VALUES ($1, $2, $3)
RETURNING id
`

View File

@ -297,7 +297,7 @@ func TestDalImpl_InsertTransaction(t *testing.T) {
mock.
ExpectQuery(`
INSERT INTO .* \(date, description, amount\)
INSERT INTO .* \(date, description, value\)
VALUES \(\$1, \$2, \$3\)
RETURNING id`).
WithArgs(tt.args.t.Date, tt.args.t.Description, tt.args.t.Value).

View File

@ -1,7 +1,7 @@
//go:build tools
// +build tools
package tools
package main
import (
_ "github.com/deepmap/oapi-codegen/v2/cmd/oapi-codegen"