diff --git a/docs/openapi.yaml b/docs/openapi.yaml index e1289ef..edfa1ad 100644 --- a/docs/openapi.yaml +++ b/docs/openapi.yaml @@ -57,10 +57,10 @@ paths: "404": description: No transactions - /transactions/{transactionId}: + /transaction/{transactionId}: get: summary: Find transaction by ID - operationId: getTransactionsById + operationId: getTransactionById parameters: - name: transactionId in: path @@ -95,10 +95,10 @@ paths: "404": description: No banks - /banks/{bankId}: + /bank/{bankId}: get: summary: Find bank by ID - operationId: getBanksById + operationId: getBankById parameters: - name: bankId in: path diff --git a/internal/api/impl.go b/internal/api/impl.go index 3d38fac..669e6f5 100644 --- a/internal/api/impl.go +++ b/internal/api/impl.go @@ -18,7 +18,7 @@ func (*ServerImpl) GetBanks(ctx echo.Context) error { return echo.NewHTTPError(http.StatusNotImplemented) } -func (*ServerImpl) GetBanksById(ctx echo.Context, bankId int64) error { +func (*ServerImpl) GetBankById(ctx echo.Context, bankId int64) error { return echo.NewHTTPError(http.StatusNotImplemented) } @@ -31,6 +31,6 @@ func (pf *ServerImpl) GetTransactions(ctx echo.Context, params GetTransactionsPa return ctx.JSON(http.StatusOK, convert[Transaction](rows)) } -func (*ServerImpl) GetTransactionsById(ctx echo.Context, transactionId int64) error { +func (*ServerImpl) GetTransactionById(ctx echo.Context, transactionId int64) error { return echo.NewHTTPError(http.StatusNotImplemented) } diff --git a/internal/api/server.gen.go b/internal/api/server.gen.go index 3e29d3f..1ea7fbd 100644 --- a/internal/api/server.gen.go +++ b/internal/api/server.gen.go @@ -78,18 +78,18 @@ type GetTransactionsParams struct { // ServerInterface represents all server handlers. type ServerInterface interface { + // Find bank by ID + // (GET /bank/{bankId}) + GetBankById(ctx echo.Context, bankId int64) error // Retrieve existing banks // (GET /banks) GetBanks(ctx echo.Context) error - // Find bank by ID - // (GET /banks/{bankId}) - GetBanksById(ctx echo.Context, bankId int64) error + // Find transaction by ID + // (GET /transaction/{transactionId}) + GetTransactionById(ctx echo.Context, transactionId int64) error // Retrieve existing transactions // (GET /transactions) GetTransactions(ctx echo.Context, params GetTransactionsParams) error - // Find transaction by ID - // (GET /transactions/{transactionId}) - GetTransactionsById(ctx echo.Context, transactionId int64) error } // ServerInterfaceWrapper converts echo contexts to parameters. @@ -97,6 +97,22 @@ type ServerInterfaceWrapper struct { Handler ServerInterface } +// GetBankById converts echo context to params. +func (w *ServerInterfaceWrapper) GetBankById(ctx echo.Context) error { + var err error + // ------------- Path parameter "bankId" ------------- + var bankId int64 + + err = runtime.BindStyledParameterWithOptions("simple", "bankId", ctx.Param("bankId"), &bankId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + if err != nil { + return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter bankId: %s", err)) + } + + // Invoke the callback with all the unmarshaled arguments + err = w.Handler.GetBankById(ctx, bankId) + return err +} + // GetBanks converts echo context to params. func (w *ServerInterfaceWrapper) GetBanks(ctx echo.Context) error { var err error @@ -106,19 +122,19 @@ func (w *ServerInterfaceWrapper) GetBanks(ctx echo.Context) error { return err } -// GetBanksById converts echo context to params. -func (w *ServerInterfaceWrapper) GetBanksById(ctx echo.Context) error { +// GetTransactionById converts echo context to params. +func (w *ServerInterfaceWrapper) GetTransactionById(ctx echo.Context) error { var err error - // ------------- Path parameter "bankId" ------------- - var bankId int64 + // ------------- Path parameter "transactionId" ------------- + var transactionId int64 - err = runtime.BindStyledParameterWithOptions("simple", "bankId", ctx.Param("bankId"), &bankId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "transactionId", ctx.Param("transactionId"), &transactionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) if err != nil { - return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter bankId: %s", err)) + return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter transactionId: %s", err)) } // Invoke the callback with all the unmarshaled arguments - err = w.Handler.GetBanksById(ctx, bankId) + err = w.Handler.GetTransactionById(ctx, transactionId) return err } @@ -168,22 +184,6 @@ func (w *ServerInterfaceWrapper) GetTransactions(ctx echo.Context) error { return err } -// GetTransactionsById converts echo context to params. -func (w *ServerInterfaceWrapper) GetTransactionsById(ctx echo.Context) error { - var err error - // ------------- Path parameter "transactionId" ------------- - var transactionId int64 - - err = runtime.BindStyledParameterWithOptions("simple", "transactionId", ctx.Param("transactionId"), &transactionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) - if err != nil { - return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter transactionId: %s", err)) - } - - // Invoke the callback with all the unmarshaled arguments - err = w.Handler.GetTransactionsById(ctx, transactionId) - return err -} - // This is a simple interface which specifies echo.Route addition functions which // are present on both echo.Echo and echo.Group, since we want to allow using // either of them for path registration @@ -212,31 +212,31 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL Handler: si, } + router.GET(baseURL+"/bank/:bankId", wrapper.GetBankById) router.GET(baseURL+"/banks", wrapper.GetBanks) - router.GET(baseURL+"/banks/:bankId", wrapper.GetBanksById) + router.GET(baseURL+"/transaction/:transactionId", wrapper.GetTransactionById) router.GET(baseURL+"/transactions", wrapper.GetTransactions) - router.GET(baseURL+"/transactions/:transactionId", wrapper.GetTransactionsById) } // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "H4sIAAAAAAAC/8xWX2/bNhD/KgS3R0VS6mAPetqKoIGBoQvW7anrAy2dZHb8o5JHZ0bg7z4cKTuSJdcZ", - "sA57iSXzePf7c3fOM6+t7q0Bg55Xz9zXW9AiPr4V5k/67J3twaGE+K1s6C/ue+AV9+ik6fgh40ZoWD6w", - "rpEdmHW811qnBfKKhyAbnp2HHzLu4EuQDhpefeQxJGb+dAq1m89QI2UmfAkSgo4P3ztoecW/K144FQOh", - "IrI5nNII58Se3n9zwnhRo7RmTrYWCJ11+0VmjUCYcIpfZAuB4Gsn+2OJ2bmcSiMN/nDHM66lkTpoXpWn", - "nNIgdODo0k6oMC3fKivwpb4JekOhS5oOSMfAjhmXlB5p9HrBx8LOdCdU0rQ2imwNihrpEbSQiqhII0wN", - "P+rgUOQN7GYy8kdw3hqh2LsUyz6A24H7g5goWYPxUZ3Ul/zh/e/sAQw4odhj2ChZs59TENut8pJZx5RA", - "cDzjwRGCLWLvq6J4enrKOxNy67piSOuLrlc3q7y88ShMI5Q1kG9Rq0hTooIleDfslx7MT49rtspLUhuc", - "T0zKvMxv6a7twYhe8oqv8jJf8Yz3ArdR6GJzbPYOolLUpYKkoLniD4BpGshr31tCSVFvyvKoMJh4T/S9", - "knW8WXz2qSGTY68ZIJ+cmzrxIdQ1eN8GxU6oiM5deUc5p8HvLdsMiTLug9aCpov/Cugk7IDBX9KjNN0o", - "KnEvnulj3RyuivB2v26idk5oQHCeVx/PYazvmW1jDYaWOcDgqHEknZHox71T8VSVj4cIXYBspNpscs+n", - "9fDpG/vyz2wp57aszU4o2bD1PfOBoEBz0UIqyIxF1tpgmjMj30nTJF03e7a+Twbi2f64ZN9kz1xxsJUK", - "wVGVUXZ2WtiDl18CxJfBzNHxi7gmKCU2NLXJ2Nlv0nnptFmpgcbE5o10VlxJLXFSuYFWBIW8ui3LbNJG", - "qzdXfgDmqGzbekDWOqvZ0xYcDIDSXOFU2iV8KcEywJvbBXzXMaUxwy3ElrhQdzh6qXrVgFaCahhdJ/+f", - "trLeEllvHV6oMRxdrvEtJ3TS1v/CAsVpvq/v0VnwZBqL59HbleU6pvH6HTueziurdgLlf7xxJ//Z/IeL", - "d1T36/t3rPlxDR8OfwcAAP//XTQsSusLAAA=", + "H4sIAAAAAAAC/8xWTY/bNhD9KwTbo1bSxosedGqDRRYGinTRtKc0B1oayUz4oZBDu4bh/14MpbX1tfEW", + "aBe5eCVxOG/em8fhHnlpdWsNGPS8OHJfbkGL+PhWmC/0t3W2BYcS4ldZ0S8eWuAF9+ikafgp4UZoWF6w", + "rpINmHXcV1unBfKChyArnkzDTwl38DVIBxUvPvIYEjN/OofazWcokTJTfV1JCDo+/Oig5gX/IbtwynpC", + "WWRzOqcRzokDvf/hhPGiRGnNnGwpEBrrDovMKoEw4hQ/JAuB4Esn2yeI2bocSyMN/nTHE66lkTpoXuTn", + "nNIgNOBo006oMIavlRV4wTdBbyh0SdO+0mFhTxmXlB5o9HLBh8LOdKeqpKltFNkaFCXSI2ghFVGRRpgS", + "ftbBoUgr2M1k5I/gvDVCsXddLPsAbgfuL2KiZAnGR3U6X/KH93+yBzDghGKPYaNkyX7tgthulebMOqYE", + "guMJD44q2CK2vsiy/X6fNiak1jVZn9ZnTatuVml+41GYSihrIN2iVpGmRAVL5d2w31owvzyu2SrNSW1w", + "vmOSp3l6S3ttC0a0khd8lebpiie8FbiNQmcbYb5kR/pdVyf60kBUjNwqSBI6X/wBkHz+9rCu4m4nNCA4", + "z4uPx4l+63tma0YJGVrmAIMj6SStEezTySt4B8qHNkIXIOlnxaJ3p349faLtvrWkH+14k+dPvQcTmYi2", + "VbKMXLLPvjsqF4TrR/s0s8iHUJbgfR0UO8tEOt912BM9zE4oWbH1PfOBSoGqi72bxxIgMxZZbYOp4hHz", + "QWtBg4K/k6bqdN0c2Po+rsb2+Wtt8/x/Fsn/O5UWmL+3bNMnGnL+HdBJ2AGDv6VHaZpBVIaXQZAdBy9X", + "jDyYHy/38yD9NVuPKvmO3T2ao69o8gHut70+1HxgeZxcGi/os7/W5FoqBEcoQ9DzLd33+WuA+NI3erB8", + "UdwEpcSGRnXX7dk/IlPo7jqdeMzPTTYBV1JLHCFXUIugkBe3eZ6MvLV6c+XWn1dl69oDstpZzfZbcNAX", + "1J1GHEu7VF+XYLnAm9uF+q7X1J/ELcQh8Axuv3RBvdqAWoKqGG2n/u+3stwSWW8dPoPRLz2P8UrH9j8Z", + "uzjO9+3pOwk+nf4JAAD//62NJ7znCwAA", } // GetSwagger returns the content of the embedded swagger specification file