diff --git a/api/gen.api.go b/api/gen.api.go index f2d6148..463bde1 100644 --- a/api/gen.api.go +++ b/api/gen.api.go @@ -16,13 +16,6 @@ import ( openapi_types "github.com/oapi-codegen/runtime/types" ) -// Account defines model for Account. -type Account struct { - Id *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Picture *string `json:"picture,omitempty"` -} - // JSONMessage defines model for JSONMessage. type JSONMessage struct { Message *string `json:"message,omitempty"` @@ -38,7 +31,9 @@ type Order struct { } // OrderArray defines model for OrderArray. -type OrderArray = []interface{} +type OrderArray = []struct { + Schema *Order `json:"schema,omitempty"` +} // GetOrdersParams defines parameters for GetOrders. type GetOrdersParams struct { @@ -50,9 +45,6 @@ type GetOrdersParams struct { // PostOrdersJSONRequestBody defines body for PostOrders for application/json ContentType. type PostOrdersJSONRequestBody = Order -// PutOrdersOrderIdJSONRequestBody defines body for PutOrdersOrderId for application/json ContentType. -type PutOrdersOrderIdJSONRequestBody = Order - // ServerInterface represents all server handlers. type ServerInterface interface { @@ -68,11 +60,29 @@ type ServerInterface interface { // (GET /orders/{order-id}) GetOrdersOrderId(w http.ResponseWriter, r *http.Request, orderId openapi_types.UUID) - // (PUT /orders/{order-id}) - PutOrdersOrderId(w http.ResponseWriter, r *http.Request, orderId openapi_types.UUID) + // (DELETE /orders/{order-id}/trade) + DeleteOrdersOrderIdTrade(w http.ResponseWriter, r *http.Request, orderId openapi_types.UUID) + + // (GET /orders/{order-id}/trade) + GetOrdersOrderIdTrade(w http.ResponseWriter, r *http.Request, orderId openapi_types.UUID) + + // (POST /orders/{order-id}/trade) + PostOrdersOrderIdTrade(w http.ResponseWriter, r *http.Request, orderId openapi_types.UUID) - // (PUT /profile/update) - PutProfileUpdate(w http.ResponseWriter, r *http.Request) + // (DELETE /orders/{order-id}/trade/escrow) + DeleteOrdersOrderIdTradeEscrow(w http.ResponseWriter, r *http.Request, orderId openapi_types.UUID) + + // (GET /orders/{order-id}/trade/escrow) + GetOrdersOrderIdTradeEscrow(w http.ResponseWriter, r *http.Request, orderId openapi_types.UUID) + + // (POST /orders/{order-id}/trade/escrow) + PostOrdersOrderIdTradeEscrow(w http.ResponseWriter, r *http.Request, orderId openapi_types.UUID) + + // (DELETE /orders/{order-id}/trade/escrow/dispute) + DeleteOrdersOrderIdTradeEscrowDispute(w http.ResponseWriter, r *http.Request, orderId openapi_types.UUID) + + // (POST /orders/{order-id}/trade/escrow/dispute) + PostOrdersOrderIdTradeEscrowDispute(w http.ResponseWriter, r *http.Request, orderId openapi_types.UUID) // (POST /token/generate) PostTokenGenerate(w http.ResponseWriter, r *http.Request) @@ -194,8 +204,83 @@ func (siw *ServerInterfaceWrapper) GetOrdersOrderId(w http.ResponseWriter, r *ht handler.ServeHTTP(w, r) } -// PutOrdersOrderId operation middleware -func (siw *ServerInterfaceWrapper) PutOrdersOrderId(w http.ResponseWriter, r *http.Request) { +// DeleteOrdersOrderIdTrade operation middleware +func (siw *ServerInterfaceWrapper) DeleteOrdersOrderIdTrade(w http.ResponseWriter, r *http.Request) { + + var err error + + // ------------- Path parameter "order-id" ------------- + var orderId openapi_types.UUID + + err = runtime.BindStyledParameterWithOptions("simple", "order-id", r.PathValue("order-id"), &orderId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "order-id", Err: err}) + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.DeleteOrdersOrderIdTrade(w, r, orderId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetOrdersOrderIdTrade operation middleware +func (siw *ServerInterfaceWrapper) GetOrdersOrderIdTrade(w http.ResponseWriter, r *http.Request) { + + var err error + + // ------------- Path parameter "order-id" ------------- + var orderId openapi_types.UUID + + err = runtime.BindStyledParameterWithOptions("simple", "order-id", r.PathValue("order-id"), &orderId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "order-id", Err: err}) + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetOrdersOrderIdTrade(w, r, orderId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// PostOrdersOrderIdTrade operation middleware +func (siw *ServerInterfaceWrapper) PostOrdersOrderIdTrade(w http.ResponseWriter, r *http.Request) { + + var err error + + // ------------- Path parameter "order-id" ------------- + var orderId openapi_types.UUID + + err = runtime.BindStyledParameterWithOptions("simple", "order-id", r.PathValue("order-id"), &orderId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "order-id", Err: err}) + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.PostOrdersOrderIdTrade(w, r, orderId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// DeleteOrdersOrderIdTradeEscrow operation middleware +func (siw *ServerInterfaceWrapper) DeleteOrdersOrderIdTradeEscrow(w http.ResponseWriter, r *http.Request) { var err error @@ -209,7 +294,7 @@ func (siw *ServerInterfaceWrapper) PutOrdersOrderId(w http.ResponseWriter, r *ht } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - siw.Handler.PutOrdersOrderId(w, r, orderId) + siw.Handler.DeleteOrdersOrderIdTradeEscrow(w, r, orderId) })) for _, middleware := range siw.HandlerMiddlewares { @@ -219,11 +304,97 @@ func (siw *ServerInterfaceWrapper) PutOrdersOrderId(w http.ResponseWriter, r *ht handler.ServeHTTP(w, r) } -// PutProfileUpdate operation middleware -func (siw *ServerInterfaceWrapper) PutProfileUpdate(w http.ResponseWriter, r *http.Request) { +// GetOrdersOrderIdTradeEscrow operation middleware +func (siw *ServerInterfaceWrapper) GetOrdersOrderIdTradeEscrow(w http.ResponseWriter, r *http.Request) { + + var err error + + // ------------- Path parameter "order-id" ------------- + var orderId openapi_types.UUID + + err = runtime.BindStyledParameterWithOptions("simple", "order-id", r.PathValue("order-id"), &orderId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "order-id", Err: err}) + return + } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - siw.Handler.PutProfileUpdate(w, r) + siw.Handler.GetOrdersOrderIdTradeEscrow(w, r, orderId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// PostOrdersOrderIdTradeEscrow operation middleware +func (siw *ServerInterfaceWrapper) PostOrdersOrderIdTradeEscrow(w http.ResponseWriter, r *http.Request) { + + var err error + + // ------------- Path parameter "order-id" ------------- + var orderId openapi_types.UUID + + err = runtime.BindStyledParameterWithOptions("simple", "order-id", r.PathValue("order-id"), &orderId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "order-id", Err: err}) + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.PostOrdersOrderIdTradeEscrow(w, r, orderId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// DeleteOrdersOrderIdTradeEscrowDispute operation middleware +func (siw *ServerInterfaceWrapper) DeleteOrdersOrderIdTradeEscrowDispute(w http.ResponseWriter, r *http.Request) { + + var err error + + // ------------- Path parameter "order-id" ------------- + var orderId openapi_types.UUID + + err = runtime.BindStyledParameterWithOptions("simple", "order-id", r.PathValue("order-id"), &orderId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "order-id", Err: err}) + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.DeleteOrdersOrderIdTradeEscrowDispute(w, r, orderId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// PostOrdersOrderIdTradeEscrowDispute operation middleware +func (siw *ServerInterfaceWrapper) PostOrdersOrderIdTradeEscrowDispute(w http.ResponseWriter, r *http.Request) { + + var err error + + // ------------- Path parameter "order-id" ------------- + var orderId openapi_types.UUID + + err = runtime.BindStyledParameterWithOptions("simple", "order-id", r.PathValue("order-id"), &orderId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "order-id", Err: err}) + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.PostOrdersOrderIdTradeEscrowDispute(w, r, orderId) })) for _, middleware := range siw.HandlerMiddlewares { @@ -371,8 +542,14 @@ func HandlerWithOptions(si ServerInterface, options StdHTTPServerOptions) http.H m.HandleFunc("POST "+options.BaseURL+"/orders", wrapper.PostOrders) m.HandleFunc("DELETE "+options.BaseURL+"/orders/{order-id}", wrapper.DeleteOrdersOrderId) m.HandleFunc("GET "+options.BaseURL+"/orders/{order-id}", wrapper.GetOrdersOrderId) - m.HandleFunc("PUT "+options.BaseURL+"/orders/{order-id}", wrapper.PutOrdersOrderId) - m.HandleFunc("PUT "+options.BaseURL+"/profile/update", wrapper.PutProfileUpdate) + m.HandleFunc("DELETE "+options.BaseURL+"/orders/{order-id}/trade", wrapper.DeleteOrdersOrderIdTrade) + m.HandleFunc("GET "+options.BaseURL+"/orders/{order-id}/trade", wrapper.GetOrdersOrderIdTrade) + m.HandleFunc("POST "+options.BaseURL+"/orders/{order-id}/trade", wrapper.PostOrdersOrderIdTrade) + m.HandleFunc("DELETE "+options.BaseURL+"/orders/{order-id}/trade/escrow", wrapper.DeleteOrdersOrderIdTradeEscrow) + m.HandleFunc("GET "+options.BaseURL+"/orders/{order-id}/trade/escrow", wrapper.GetOrdersOrderIdTradeEscrow) + m.HandleFunc("POST "+options.BaseURL+"/orders/{order-id}/trade/escrow", wrapper.PostOrdersOrderIdTradeEscrow) + m.HandleFunc("DELETE "+options.BaseURL+"/orders/{order-id}/trade/escrow/dispute", wrapper.DeleteOrdersOrderIdTradeEscrowDispute) + m.HandleFunc("POST "+options.BaseURL+"/orders/{order-id}/trade/escrow/dispute", wrapper.PostOrdersOrderIdTradeEscrowDispute) m.HandleFunc("POST "+options.BaseURL+"/token/generate", wrapper.PostTokenGenerate) return m @@ -446,40 +623,186 @@ func (response GetOrdersOrderId200JSONResponse) VisitGetOrdersOrderIdResponse(w return json.NewEncoder(w).Encode(response) } -type PutOrdersOrderIdRequestObject struct { +type DeleteOrdersOrderIdTradeRequestObject struct { + OrderId openapi_types.UUID `json:"order-id"` +} + +type DeleteOrdersOrderIdTradeResponseObject interface { + VisitDeleteOrdersOrderIdTradeResponse(w http.ResponseWriter) error +} + +type DeleteOrdersOrderIdTrade200Response struct { +} + +func (response DeleteOrdersOrderIdTrade200Response) VisitDeleteOrdersOrderIdTradeResponse(w http.ResponseWriter) error { + w.WriteHeader(200) + return nil +} + +type GetOrdersOrderIdTradeRequestObject struct { + OrderId openapi_types.UUID `json:"order-id"` +} + +type GetOrdersOrderIdTradeResponseObject interface { + VisitGetOrdersOrderIdTradeResponse(w http.ResponseWriter) error +} + +type GetOrdersOrderIdTrade200Response struct { +} + +func (response GetOrdersOrderIdTrade200Response) VisitGetOrdersOrderIdTradeResponse(w http.ResponseWriter) error { + w.WriteHeader(200) + return nil +} + +type PostOrdersOrderIdTradeRequestObject struct { + OrderId openapi_types.UUID `json:"order-id"` +} + +type PostOrdersOrderIdTradeResponseObject interface { + VisitPostOrdersOrderIdTradeResponse(w http.ResponseWriter) error +} + +type PostOrdersOrderIdTrade200Response struct { +} + +func (response PostOrdersOrderIdTrade200Response) VisitPostOrdersOrderIdTradeResponse(w http.ResponseWriter) error { + w.WriteHeader(200) + return nil +} + +type DeleteOrdersOrderIdTradeEscrowRequestObject struct { OrderId openapi_types.UUID `json:"order-id"` - Body *PutOrdersOrderIdJSONRequestBody } -type PutOrdersOrderIdResponseObject interface { - VisitPutOrdersOrderIdResponse(w http.ResponseWriter) error +type DeleteOrdersOrderIdTradeEscrowResponseObject interface { + VisitDeleteOrdersOrderIdTradeEscrowResponse(w http.ResponseWriter) error } -type PutOrdersOrderId200JSONResponse JSONMessage +type DeleteOrdersOrderIdTradeEscrow200JSONResponse JSONMessage -func (response PutOrdersOrderId200JSONResponse) VisitPutOrdersOrderIdResponse(w http.ResponseWriter) error { +func (response DeleteOrdersOrderIdTradeEscrow200JSONResponse) VisitDeleteOrdersOrderIdTradeEscrowResponse(w http.ResponseWriter) error { w.Header().Set("Content-Type", "application/json") w.WriteHeader(200) return json.NewEncoder(w).Encode(response) } -type PutProfileUpdateRequestObject struct { +type DeleteOrdersOrderIdTradeEscrow400Response struct { } -type PutProfileUpdateResponseObject interface { - VisitPutProfileUpdateResponse(w http.ResponseWriter) error +func (response DeleteOrdersOrderIdTradeEscrow400Response) VisitDeleteOrdersOrderIdTradeEscrowResponse(w http.ResponseWriter) error { + w.WriteHeader(400) + return nil } -type PutProfileUpdate200JSONResponse Account +type DeleteOrdersOrderIdTradeEscrow402Response struct { +} + +func (response DeleteOrdersOrderIdTradeEscrow402Response) VisitDeleteOrdersOrderIdTradeEscrowResponse(w http.ResponseWriter) error { + w.WriteHeader(402) + return nil +} + +type DeleteOrdersOrderIdTradeEscrow404Response struct { +} + +func (response DeleteOrdersOrderIdTradeEscrow404Response) VisitDeleteOrdersOrderIdTradeEscrowResponse(w http.ResponseWriter) error { + w.WriteHeader(404) + return nil +} + +type GetOrdersOrderIdTradeEscrowRequestObject struct { + OrderId openapi_types.UUID `json:"order-id"` +} + +type GetOrdersOrderIdTradeEscrowResponseObject interface { + VisitGetOrdersOrderIdTradeEscrowResponse(w http.ResponseWriter) error +} -func (response PutProfileUpdate200JSONResponse) VisitPutProfileUpdateResponse(w http.ResponseWriter) error { +type GetOrdersOrderIdTradeEscrow200JSONResponse struct { + Status *string `json:"status,omitempty"` +} + +func (response GetOrdersOrderIdTradeEscrow200JSONResponse) VisitGetOrdersOrderIdTradeEscrowResponse(w http.ResponseWriter) error { w.Header().Set("Content-Type", "application/json") w.WriteHeader(200) return json.NewEncoder(w).Encode(response) } +type GetOrdersOrderIdTradeEscrow400Response struct { +} + +func (response GetOrdersOrderIdTradeEscrow400Response) VisitGetOrdersOrderIdTradeEscrowResponse(w http.ResponseWriter) error { + w.WriteHeader(400) + return nil +} + +type GetOrdersOrderIdTradeEscrow401Response struct { +} + +func (response GetOrdersOrderIdTradeEscrow401Response) VisitGetOrdersOrderIdTradeEscrowResponse(w http.ResponseWriter) error { + w.WriteHeader(401) + return nil +} + +type GetOrdersOrderIdTradeEscrow404Response struct { +} + +func (response GetOrdersOrderIdTradeEscrow404Response) VisitGetOrdersOrderIdTradeEscrowResponse(w http.ResponseWriter) error { + w.WriteHeader(404) + return nil +} + +type PostOrdersOrderIdTradeEscrowRequestObject struct { + OrderId openapi_types.UUID `json:"order-id"` +} + +type PostOrdersOrderIdTradeEscrowResponseObject interface { + VisitPostOrdersOrderIdTradeEscrowResponse(w http.ResponseWriter) error +} + +type PostOrdersOrderIdTradeEscrow201Response struct { +} + +func (response PostOrdersOrderIdTradeEscrow201Response) VisitPostOrdersOrderIdTradeEscrowResponse(w http.ResponseWriter) error { + w.WriteHeader(201) + return nil +} + +type DeleteOrdersOrderIdTradeEscrowDisputeRequestObject struct { + OrderId openapi_types.UUID `json:"order-id"` +} + +type DeleteOrdersOrderIdTradeEscrowDisputeResponseObject interface { + VisitDeleteOrdersOrderIdTradeEscrowDisputeResponse(w http.ResponseWriter) error +} + +type DeleteOrdersOrderIdTradeEscrowDispute200Response struct { +} + +func (response DeleteOrdersOrderIdTradeEscrowDispute200Response) VisitDeleteOrdersOrderIdTradeEscrowDisputeResponse(w http.ResponseWriter) error { + w.WriteHeader(200) + return nil +} + +type PostOrdersOrderIdTradeEscrowDisputeRequestObject struct { + OrderId openapi_types.UUID `json:"order-id"` +} + +type PostOrdersOrderIdTradeEscrowDisputeResponseObject interface { + VisitPostOrdersOrderIdTradeEscrowDisputeResponse(w http.ResponseWriter) error +} + +type PostOrdersOrderIdTradeEscrowDispute201Response struct { +} + +func (response PostOrdersOrderIdTradeEscrowDispute201Response) VisitPostOrdersOrderIdTradeEscrowDisputeResponse(w http.ResponseWriter) error { + w.WriteHeader(201) + return nil +} + type PostTokenGenerateRequestObject struct { } @@ -487,13 +810,13 @@ type PostTokenGenerateResponseObject interface { VisitPostTokenGenerateResponse(w http.ResponseWriter) error } -type PostTokenGenerate200JSONResponse struct { +type PostTokenGenerate201JSONResponse struct { Token *string `json:"token,omitempty"` } -func (response PostTokenGenerate200JSONResponse) VisitPostTokenGenerateResponse(w http.ResponseWriter) error { +func (response PostTokenGenerate201JSONResponse) VisitPostTokenGenerateResponse(w http.ResponseWriter) error { w.Header().Set("Content-Type", "application/json") - w.WriteHeader(200) + w.WriteHeader(201) return json.NewEncoder(w).Encode(response) } @@ -513,11 +836,29 @@ type StrictServerInterface interface { // (GET /orders/{order-id}) GetOrdersOrderId(ctx context.Context, request GetOrdersOrderIdRequestObject) (GetOrdersOrderIdResponseObject, error) - // (PUT /orders/{order-id}) - PutOrdersOrderId(ctx context.Context, request PutOrdersOrderIdRequestObject) (PutOrdersOrderIdResponseObject, error) + // (DELETE /orders/{order-id}/trade) + DeleteOrdersOrderIdTrade(ctx context.Context, request DeleteOrdersOrderIdTradeRequestObject) (DeleteOrdersOrderIdTradeResponseObject, error) - // (PUT /profile/update) - PutProfileUpdate(ctx context.Context, request PutProfileUpdateRequestObject) (PutProfileUpdateResponseObject, error) + // (GET /orders/{order-id}/trade) + GetOrdersOrderIdTrade(ctx context.Context, request GetOrdersOrderIdTradeRequestObject) (GetOrdersOrderIdTradeResponseObject, error) + + // (POST /orders/{order-id}/trade) + PostOrdersOrderIdTrade(ctx context.Context, request PostOrdersOrderIdTradeRequestObject) (PostOrdersOrderIdTradeResponseObject, error) + + // (DELETE /orders/{order-id}/trade/escrow) + DeleteOrdersOrderIdTradeEscrow(ctx context.Context, request DeleteOrdersOrderIdTradeEscrowRequestObject) (DeleteOrdersOrderIdTradeEscrowResponseObject, error) + + // (GET /orders/{order-id}/trade/escrow) + GetOrdersOrderIdTradeEscrow(ctx context.Context, request GetOrdersOrderIdTradeEscrowRequestObject) (GetOrdersOrderIdTradeEscrowResponseObject, error) + + // (POST /orders/{order-id}/trade/escrow) + PostOrdersOrderIdTradeEscrow(ctx context.Context, request PostOrdersOrderIdTradeEscrowRequestObject) (PostOrdersOrderIdTradeEscrowResponseObject, error) + + // (DELETE /orders/{order-id}/trade/escrow/dispute) + DeleteOrdersOrderIdTradeEscrowDispute(ctx context.Context, request DeleteOrdersOrderIdTradeEscrowDisputeRequestObject) (DeleteOrdersOrderIdTradeEscrowDisputeResponseObject, error) + + // (POST /orders/{order-id}/trade/escrow/dispute) + PostOrdersOrderIdTradeEscrowDispute(ctx context.Context, request PostOrdersOrderIdTradeEscrowDisputeRequestObject) (PostOrdersOrderIdTradeEscrowDisputeResponseObject, error) // (POST /token/generate) PostTokenGenerate(ctx context.Context, request PostTokenGenerateRequestObject) (PostTokenGenerateResponseObject, error) @@ -661,32 +1002,103 @@ func (sh *strictHandler) GetOrdersOrderId(w http.ResponseWriter, r *http.Request } } -// PutOrdersOrderId operation middleware -func (sh *strictHandler) PutOrdersOrderId(w http.ResponseWriter, r *http.Request, orderId openapi_types.UUID) { - var request PutOrdersOrderIdRequestObject +// DeleteOrdersOrderIdTrade operation middleware +func (sh *strictHandler) DeleteOrdersOrderIdTrade(w http.ResponseWriter, r *http.Request, orderId openapi_types.UUID) { + var request DeleteOrdersOrderIdTradeRequestObject request.OrderId = orderId - var body PutOrdersOrderIdJSONRequestBody - if err := json.NewDecoder(r.Body).Decode(&body); err != nil { - sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err)) - return + handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) { + return sh.ssi.DeleteOrdersOrderIdTrade(ctx, request.(DeleteOrdersOrderIdTradeRequestObject)) } - request.Body = &body + for _, middleware := range sh.middlewares { + handler = middleware(handler, "DeleteOrdersOrderIdTrade") + } + + response, err := handler(r.Context(), w, r, request) + + if err != nil { + sh.options.ResponseErrorHandlerFunc(w, r, err) + } else if validResponse, ok := response.(DeleteOrdersOrderIdTradeResponseObject); ok { + if err := validResponse.VisitDeleteOrdersOrderIdTradeResponse(w); err != nil { + sh.options.ResponseErrorHandlerFunc(w, r, err) + } + } else if response != nil { + sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response)) + } +} + +// GetOrdersOrderIdTrade operation middleware +func (sh *strictHandler) GetOrdersOrderIdTrade(w http.ResponseWriter, r *http.Request, orderId openapi_types.UUID) { + var request GetOrdersOrderIdTradeRequestObject + + request.OrderId = orderId + + handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) { + return sh.ssi.GetOrdersOrderIdTrade(ctx, request.(GetOrdersOrderIdTradeRequestObject)) + } + for _, middleware := range sh.middlewares { + handler = middleware(handler, "GetOrdersOrderIdTrade") + } + + response, err := handler(r.Context(), w, r, request) + + if err != nil { + sh.options.ResponseErrorHandlerFunc(w, r, err) + } else if validResponse, ok := response.(GetOrdersOrderIdTradeResponseObject); ok { + if err := validResponse.VisitGetOrdersOrderIdTradeResponse(w); err != nil { + sh.options.ResponseErrorHandlerFunc(w, r, err) + } + } else if response != nil { + sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response)) + } +} + +// PostOrdersOrderIdTrade operation middleware +func (sh *strictHandler) PostOrdersOrderIdTrade(w http.ResponseWriter, r *http.Request, orderId openapi_types.UUID) { + var request PostOrdersOrderIdTradeRequestObject + + request.OrderId = orderId + + handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) { + return sh.ssi.PostOrdersOrderIdTrade(ctx, request.(PostOrdersOrderIdTradeRequestObject)) + } + for _, middleware := range sh.middlewares { + handler = middleware(handler, "PostOrdersOrderIdTrade") + } + + response, err := handler(r.Context(), w, r, request) + + if err != nil { + sh.options.ResponseErrorHandlerFunc(w, r, err) + } else if validResponse, ok := response.(PostOrdersOrderIdTradeResponseObject); ok { + if err := validResponse.VisitPostOrdersOrderIdTradeResponse(w); err != nil { + sh.options.ResponseErrorHandlerFunc(w, r, err) + } + } else if response != nil { + sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response)) + } +} + +// DeleteOrdersOrderIdTradeEscrow operation middleware +func (sh *strictHandler) DeleteOrdersOrderIdTradeEscrow(w http.ResponseWriter, r *http.Request, orderId openapi_types.UUID) { + var request DeleteOrdersOrderIdTradeEscrowRequestObject + + request.OrderId = orderId handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) { - return sh.ssi.PutOrdersOrderId(ctx, request.(PutOrdersOrderIdRequestObject)) + return sh.ssi.DeleteOrdersOrderIdTradeEscrow(ctx, request.(DeleteOrdersOrderIdTradeEscrowRequestObject)) } for _, middleware := range sh.middlewares { - handler = middleware(handler, "PutOrdersOrderId") + handler = middleware(handler, "DeleteOrdersOrderIdTradeEscrow") } response, err := handler(r.Context(), w, r, request) if err != nil { sh.options.ResponseErrorHandlerFunc(w, r, err) - } else if validResponse, ok := response.(PutOrdersOrderIdResponseObject); ok { - if err := validResponse.VisitPutOrdersOrderIdResponse(w); err != nil { + } else if validResponse, ok := response.(DeleteOrdersOrderIdTradeEscrowResponseObject); ok { + if err := validResponse.VisitDeleteOrdersOrderIdTradeEscrowResponse(w); err != nil { sh.options.ResponseErrorHandlerFunc(w, r, err) } } else if response != nil { @@ -694,23 +1106,103 @@ func (sh *strictHandler) PutOrdersOrderId(w http.ResponseWriter, r *http.Request } } -// PutProfileUpdate operation middleware -func (sh *strictHandler) PutProfileUpdate(w http.ResponseWriter, r *http.Request) { - var request PutProfileUpdateRequestObject +// GetOrdersOrderIdTradeEscrow operation middleware +func (sh *strictHandler) GetOrdersOrderIdTradeEscrow(w http.ResponseWriter, r *http.Request, orderId openapi_types.UUID) { + var request GetOrdersOrderIdTradeEscrowRequestObject + + request.OrderId = orderId + + handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) { + return sh.ssi.GetOrdersOrderIdTradeEscrow(ctx, request.(GetOrdersOrderIdTradeEscrowRequestObject)) + } + for _, middleware := range sh.middlewares { + handler = middleware(handler, "GetOrdersOrderIdTradeEscrow") + } + + response, err := handler(r.Context(), w, r, request) + + if err != nil { + sh.options.ResponseErrorHandlerFunc(w, r, err) + } else if validResponse, ok := response.(GetOrdersOrderIdTradeEscrowResponseObject); ok { + if err := validResponse.VisitGetOrdersOrderIdTradeEscrowResponse(w); err != nil { + sh.options.ResponseErrorHandlerFunc(w, r, err) + } + } else if response != nil { + sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response)) + } +} + +// PostOrdersOrderIdTradeEscrow operation middleware +func (sh *strictHandler) PostOrdersOrderIdTradeEscrow(w http.ResponseWriter, r *http.Request, orderId openapi_types.UUID) { + var request PostOrdersOrderIdTradeEscrowRequestObject + + request.OrderId = orderId + + handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) { + return sh.ssi.PostOrdersOrderIdTradeEscrow(ctx, request.(PostOrdersOrderIdTradeEscrowRequestObject)) + } + for _, middleware := range sh.middlewares { + handler = middleware(handler, "PostOrdersOrderIdTradeEscrow") + } + + response, err := handler(r.Context(), w, r, request) + + if err != nil { + sh.options.ResponseErrorHandlerFunc(w, r, err) + } else if validResponse, ok := response.(PostOrdersOrderIdTradeEscrowResponseObject); ok { + if err := validResponse.VisitPostOrdersOrderIdTradeEscrowResponse(w); err != nil { + sh.options.ResponseErrorHandlerFunc(w, r, err) + } + } else if response != nil { + sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response)) + } +} + +// DeleteOrdersOrderIdTradeEscrowDispute operation middleware +func (sh *strictHandler) DeleteOrdersOrderIdTradeEscrowDispute(w http.ResponseWriter, r *http.Request, orderId openapi_types.UUID) { + var request DeleteOrdersOrderIdTradeEscrowDisputeRequestObject + + request.OrderId = orderId + + handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) { + return sh.ssi.DeleteOrdersOrderIdTradeEscrowDispute(ctx, request.(DeleteOrdersOrderIdTradeEscrowDisputeRequestObject)) + } + for _, middleware := range sh.middlewares { + handler = middleware(handler, "DeleteOrdersOrderIdTradeEscrowDispute") + } + + response, err := handler(r.Context(), w, r, request) + + if err != nil { + sh.options.ResponseErrorHandlerFunc(w, r, err) + } else if validResponse, ok := response.(DeleteOrdersOrderIdTradeEscrowDisputeResponseObject); ok { + if err := validResponse.VisitDeleteOrdersOrderIdTradeEscrowDisputeResponse(w); err != nil { + sh.options.ResponseErrorHandlerFunc(w, r, err) + } + } else if response != nil { + sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response)) + } +} + +// PostOrdersOrderIdTradeEscrowDispute operation middleware +func (sh *strictHandler) PostOrdersOrderIdTradeEscrowDispute(w http.ResponseWriter, r *http.Request, orderId openapi_types.UUID) { + var request PostOrdersOrderIdTradeEscrowDisputeRequestObject + + request.OrderId = orderId handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) { - return sh.ssi.PutProfileUpdate(ctx, request.(PutProfileUpdateRequestObject)) + return sh.ssi.PostOrdersOrderIdTradeEscrowDispute(ctx, request.(PostOrdersOrderIdTradeEscrowDisputeRequestObject)) } for _, middleware := range sh.middlewares { - handler = middleware(handler, "PutProfileUpdate") + handler = middleware(handler, "PostOrdersOrderIdTradeEscrowDispute") } response, err := handler(r.Context(), w, r, request) if err != nil { sh.options.ResponseErrorHandlerFunc(w, r, err) - } else if validResponse, ok := response.(PutProfileUpdateResponseObject); ok { - if err := validResponse.VisitPutProfileUpdateResponse(w); err != nil { + } else if validResponse, ok := response.(PostOrdersOrderIdTradeEscrowDisputeResponseObject); ok { + if err := validResponse.VisitPostOrdersOrderIdTradeEscrowDisputeResponse(w); err != nil { sh.options.ResponseErrorHandlerFunc(w, r, err) } } else if response != nil { diff --git a/db/dynstore/dynquery.go b/db/dynstore/dynquery.go index 8444e72..2fadd99 100644 --- a/db/dynstore/dynquery.go +++ b/db/dynstore/dynquery.go @@ -25,7 +25,7 @@ type GetOrderByFieldParam struct { PageEnd int } -func (dynstore *Dynstore) GetOrderByField(param GetOrderByFieldParam) ([]store.Order, error) { +func (dynstore *Dynstore) GetOrderByField(param GetOrderByFieldParam) ([]store.Position, error) { orderby := "" if param.Ascending { orderby = "ASC" @@ -37,7 +37,7 @@ func (dynstore *Dynstore) GetOrderByField(param GetOrderByFieldParam) ([]store.O if err != nil { return nil, err } - var orders []store.Order + var orders []store.Position err = rows.Scan(&orders) if err != nil { return nil, err diff --git a/db/migrations/20241107223314_orders.sql b/db/migrations/20241107223314_orders.sql index 877a5e3..109c651 100644 --- a/db/migrations/20241107223314_orders.sql +++ b/db/migrations/20241107223314_orders.sql @@ -35,7 +35,7 @@ CREATE TABLE payment_method( id SERIAL PRIMARY KEY ); -CREATE TABLE order( +CREATE TABLE position( id UUID PRIMARY KEY DEFAULT uuid_generate_v4(), amount DOUBLE PRECISION NOT NULL DEFAULT 0, premium DOUBLE PRECISION NOT NULL DEFAULT 0.0, @@ -44,16 +44,18 @@ CREATE TABLE order( created_at TIMESTAMP NOT NULL DEFAULT NOW(), expiry_at TIMESTAMP NOT NULL, order_status OrderStatus NOT NULL, - taker_id UUID, trade_created_at TIMESTAMP, trade_updated_at TIMESTAMP, + buyer UUID, + seller UUID, escrow_multisig_addr TEXT, escrow_buyer_key TEXT, - escrow_sender_key TEXT, + escrow_seller_key TEXT, escrow_created_at TIMESTAMP, escrow_updated_at TIMESTAMP, dispute_created_at TIMESTAMP, dispute_updated_at TIMESTAMP, + dispute_reason TEXT, FOREIGN KEY (currency) REFERENCES currencies(id), FOREIGN KEY (payment) REFERENCES payment_method(id) ); diff --git a/db/queries/order.sql b/db/queries/order.sql index 8390a95..19d65e4 100644 --- a/db/queries/order.sql +++ b/db/queries/order.sql @@ -1,14 +1,22 @@ -- name: VerifyToken :one -SELECT COUNT(*) FROM users WHERE token = $1; +SELECT COUNT(*) FROM ninja WHERE token = $1; -- name: GetOrder :one -SELECT * FROM orders WHERE id = $1; +SELECT * FROM position WHERE id = $1; -- name: InsertOrder :exec -INSERT INTO orders (amount, currency, created_at, expiry_at, premium, payment) VALUES ($1, $2, $3, $4, $5, $6) RETURNING id; +INSERT INTO position (amount, currency, created_at, expiry_at, premium, payment) VALUES ($1, $2, $3, $4, $5, $6) RETURNING id; -- name: PatchOrder :exec -UPDATE orders SET amount = $1, currency = $2, created_at = $3, expiry_at = $4, premium = $5, payment = $6 WHERE id = $7; +UPDATE position SET amount = $1, currency = $2, created_at = $3, expiry_at = $4, premium = $5, payment = $6 WHERE id = $7; -- name: DeleteOrder :exec -DELETE FROM orders WHERE id = $1; +DELETE FROM position WHERE id = $1; -- name: CountOrders :one -SELECT COUNT(*) FROM orders; --- name: CreateTrade :one +SELECT COUNT(*) FROM position; +-- name: CreateTrade :exec +UPDATE position SET order_status = $1, buyer = $2, seller = $3, trade_created_at = NOW(), trade_update_at = NOW() WHERE id = $4; -- name: DeleteTrade :exec +UPDATE position SET order_status = $1, buyer = NULL, seller = NULL, trade_created_at = NULL, trade_update_at = NULL WHERE id = $2; +-- name: LockEscrow :exec +UPDATE position SET order_status = $1, escrow_buyer_key = $2, escrow_seller_key = $3, escrow_created_at = NOW(), escrow_updated_at = NOW(), trade_update_at = NOW() WHERE id = $4; +-- name: ReleaseEscrow :exec +UPDATE position SET order_status = $1, escrow_buyer_key = NULL, escrow_seller_key = NULL, escrow_created_at = NULL, escrow_updated_at = NULL, trade_update_at = NOW() WHERE id = $2; +-- name: RaiseDispute :exec +-- name: ResolveDispute :exec \ No newline at end of file diff --git a/db/store/models.go b/db/store/models.go index a9ed81a..63072e0 100644 --- a/db/store/models.go +++ b/db/store/models.go @@ -6,11 +6,56 @@ package store import ( "database/sql" + "database/sql/driver" + "fmt" "time" "github.com/google/uuid" ) +type Orderstatus string + +const ( + OrderstatusPending Orderstatus = "pending" + OrderstatusCompleted Orderstatus = "completed" + OrderstatusCanceled Orderstatus = "canceled" +) + +func (e *Orderstatus) Scan(src interface{}) error { + switch s := src.(type) { + case []byte: + *e = Orderstatus(s) + case string: + *e = Orderstatus(s) + default: + return fmt.Errorf("unsupported scan type for Orderstatus: %T", src) + } + return nil +} + +type NullOrderstatus struct { + Orderstatus Orderstatus + Valid bool // Valid is true if Orderstatus is not NULL +} + +// Scan implements the Scanner interface. +func (ns *NullOrderstatus) Scan(value interface{}) error { + if value == nil { + ns.Orderstatus, ns.Valid = "", false + return nil + } + ns.Valid = true + return ns.Orderstatus.Scan(value) +} + +// Value implements the driver Valuer interface. +func (ns NullOrderstatus) Value() (driver.Value, error) { + if !ns.Valid { + return nil, nil + } + return string(ns.Orderstatus), nil +} + type Currency struct { ID int32 Code string @@ -18,22 +63,36 @@ type Currency struct { Symbol sql.NullString } -type Order struct { - ID uuid.UUID - Amount float64 - Premium float64 - Currency int32 - Payment int32 - CreatedAt time.Time - ExpiryAt time.Time +type Ninja struct { + ID uuid.UUID + Token string + Uname string + Dpurl string } type PaymentMethod struct { ID int32 } -type User struct { - Token string - Uname string - Dpurl string +type Position struct { + ID uuid.UUID + Amount float64 + Premium float64 + Currency int32 + Payment int32 + CreatedAt time.Time + ExpiryAt time.Time + OrderStatus Orderstatus + TradeCreatedAt sql.NullTime + TradeUpdatedAt sql.NullTime + Buyer uuid.NullUUID + Seller uuid.NullUUID + EscrowMultisigAddr sql.NullString + EscrowBuyerKey sql.NullString + EscrowSellerKey sql.NullString + EscrowCreatedAt sql.NullTime + EscrowUpdatedAt sql.NullTime + DisputeCreatedAt sql.NullTime + DisputeUpdatedAt sql.NullTime + DisputeReason sql.NullString } diff --git a/db/store/order.sql.go b/db/store/order.sql.go index 6844d33..84aeba1 100644 --- a/db/store/order.sql.go +++ b/db/store/order.sql.go @@ -7,13 +7,14 @@ package store import ( "context" + "database/sql" "time" "github.com/google/uuid" ) const countOrders = `-- name: CountOrders :one -SELECT COUNT(*) FROM orders +SELECT COUNT(*) FROM position ` func (q *Queries) CountOrders(ctx context.Context) (int64, error) { @@ -23,8 +24,29 @@ func (q *Queries) CountOrders(ctx context.Context) (int64, error) { return count, err } +const createTrade = `-- name: CreateTrade :exec +UPDATE position SET order_status = $1, buyer = $2, seller = $3, trade_created_at = NOW(), trade_update_at = NOW() WHERE id = $4 +` + +type CreateTradeParams struct { + OrderStatus Orderstatus + Buyer uuid.NullUUID + Seller uuid.NullUUID + ID uuid.UUID +} + +func (q *Queries) CreateTrade(ctx context.Context, arg CreateTradeParams) error { + _, err := q.db.ExecContext(ctx, createTrade, + arg.OrderStatus, + arg.Buyer, + arg.Seller, + arg.ID, + ) + return err +} + const deleteOrder = `-- name: DeleteOrder :exec -DELETE FROM orders WHERE id = $1 +DELETE FROM position WHERE id = $1 ` func (q *Queries) DeleteOrder(ctx context.Context, id uuid.UUID) error { @@ -32,13 +54,27 @@ func (q *Queries) DeleteOrder(ctx context.Context, id uuid.UUID) error { return err } +const deleteTrade = `-- name: DeleteTrade :exec +UPDATE position SET order_status = $1, buyer = NULL, seller = NULL, trade_created_at = NULL, trade_update_at = NULL WHERE id = $2 +` + +type DeleteTradeParams struct { + OrderStatus Orderstatus + ID uuid.UUID +} + +func (q *Queries) DeleteTrade(ctx context.Context, arg DeleteTradeParams) error { + _, err := q.db.ExecContext(ctx, deleteTrade, arg.OrderStatus, arg.ID) + return err +} + const getOrder = `-- name: GetOrder :one -SELECT id, amount, premium, currency, payment, created_at, expiry_at FROM orders WHERE id = $1 +SELECT id, amount, premium, currency, payment, created_at, expiry_at, order_status, trade_created_at, trade_updated_at, buyer, seller, escrow_multisig_addr, escrow_buyer_key, escrow_seller_key, escrow_created_at, escrow_updated_at, dispute_created_at, dispute_updated_at, dispute_reason FROM position WHERE id = $1 ` -func (q *Queries) GetOrder(ctx context.Context, id uuid.UUID) (Order, error) { +func (q *Queries) GetOrder(ctx context.Context, id uuid.UUID) (Position, error) { row := q.db.QueryRowContext(ctx, getOrder, id) - var i Order + var i Position err := row.Scan( &i.ID, &i.Amount, @@ -47,12 +83,25 @@ func (q *Queries) GetOrder(ctx context.Context, id uuid.UUID) (Order, error) { &i.Payment, &i.CreatedAt, &i.ExpiryAt, + &i.OrderStatus, + &i.TradeCreatedAt, + &i.TradeUpdatedAt, + &i.Buyer, + &i.Seller, + &i.EscrowMultisigAddr, + &i.EscrowBuyerKey, + &i.EscrowSellerKey, + &i.EscrowCreatedAt, + &i.EscrowUpdatedAt, + &i.DisputeCreatedAt, + &i.DisputeUpdatedAt, + &i.DisputeReason, ) return i, err } const insertOrder = `-- name: InsertOrder :exec -INSERT INTO orders (amount, currency, created_at, expiry_at, premium, payment) VALUES ($1, $2, $3, $4, $5, $6) RETURNING id +INSERT INTO position (amount, currency, created_at, expiry_at, premium, payment) VALUES ($1, $2, $3, $4, $5, $6) RETURNING id ` type InsertOrderParams struct { @@ -76,8 +125,29 @@ func (q *Queries) InsertOrder(ctx context.Context, arg InsertOrderParams) error return err } +const lockEscrow = `-- name: LockEscrow :exec +UPDATE position SET order_status = $1, escrow_buyer_key = $2, escrow_seller_key = $3, escrow_created_at = NOW(), escrow_updated_at = NOW(), trade_update_at = NOW() WHERE id = $4 +` + +type LockEscrowParams struct { + OrderStatus Orderstatus + EscrowBuyerKey sql.NullString + EscrowSellerKey sql.NullString + ID uuid.UUID +} + +func (q *Queries) LockEscrow(ctx context.Context, arg LockEscrowParams) error { + _, err := q.db.ExecContext(ctx, lockEscrow, + arg.OrderStatus, + arg.EscrowBuyerKey, + arg.EscrowSellerKey, + arg.ID, + ) + return err +} + const patchOrder = `-- name: PatchOrder :exec -UPDATE orders SET amount = $1, currency = $2, created_at = $3, expiry_at = $4, premium = $5, payment = $6 WHERE id = $7 +UPDATE position SET amount = $1, currency = $2, created_at = $3, expiry_at = $4, premium = $5, payment = $6 WHERE id = $7 ` type PatchOrderParams struct { @@ -103,8 +173,22 @@ func (q *Queries) PatchOrder(ctx context.Context, arg PatchOrderParams) error { return err } +const releaseEscrow = `-- name: ReleaseEscrow :exec +UPDATE position SET order_status = $1, escrow_buyer_key = NULL, escrow_seller_key = NULL, escrow_created_at = NULL, escrow_updated_at = NULL, trade_update_at = NOW() WHERE id = $2 +` + +type ReleaseEscrowParams struct { + OrderStatus Orderstatus + ID uuid.UUID +} + +func (q *Queries) ReleaseEscrow(ctx context.Context, arg ReleaseEscrowParams) error { + _, err := q.db.ExecContext(ctx, releaseEscrow, arg.OrderStatus, arg.ID) + return err +} + const verifyToken = `-- name: VerifyToken :one -SELECT COUNT(*) FROM users WHERE token = $1 +SELECT COUNT(*) FROM ninja WHERE token = $1 ` func (q *Queries) VerifyToken(ctx context.Context, token string) (int64, error) { diff --git a/docs/index.html b/docs/index.html index e6eace6..be28e37 100644 --- a/docs/index.html +++ b/docs/index.html @@ -339,7 +339,7 @@ -

Stealth Trade api (0.0.1)

Download OpenAPI specification:Download

orders

/orders/{order-id}/trade

Responses

Stealth Trade api (0.0.1)

Download OpenAPI specification:Download

trade

/orders/{order-id}/trade

Responses

/orders/{order-id}/trade

Responses

/orders/{order-id}/trade

Responses

/orders/{order-id}/trade

Responses

/orders/{order-id}/trade

Responses

Raise a dispute

dispute

Raise a dispute

Raise a dispute

Responses

Succesfully delete the dispute

Succesfully delete the dispute

Succesfully delete the dispute

Responses

start the escrow

escrow

start the escrow

start the escrow

Responses

get the escrow status

get the escrow status

get the escrow status

path Parameters
id
required
string <uuid>

id of the escrow to check the status

@@ -383,7 +383,7 @@ " class="sc-epnzzT sc-eMwmJz drsioI dWZUhK sc-drVZOg jtjIAv">

Successfully returning the status of the escrow

Response samples

Content type
application/json
{
  • "status": "string"
}

Delete the escrow

401

Response samples

Content type
application/json
{
  • "status": "string"
}

Delete the escrow

Delete the escrow

path Parameters
id
required
string <uuid>

id of the escrow to delete

@@ -395,113 +395,35 @@ " class="sc-epnzzT sc-eMwmJz drsioI dWZUhK sc-drVZOg jtjIAv">

invalid api key

Response samples

Content type
application/json
{
  • "message": "string"
}

Get the list of orders

Response samples

Content type
application/json
{
  • "message": "string"
}

generate a token for the user

generate a token for the user

+

Responses

Response samples

Content type
application/json
{
  • "token": "s0m3th1ngl1k3th1sw1th30char"
}

orders

Get the list of orders

Get the list of orders

query Parameters
sort
string
offset
integer <integer>
Example: offset=0
limit
integer <integer> [ 1 .. 50 ]
Example: limit=10

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create an order

Response samples

Content type
application/json
[
  • {
    }
]

Create an order

Create an order

Request Body schema: application/json
required

Order details

id
string <uuid>
amount
integer <double> >= 0
premium
integer <double> [ 0 .. 100 ]
bid
boolean
currency
string

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "amount": 0,
  • "premium": 100,
  • "bid": true,
  • "currency": "string"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Get the list of the orders

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "amount": 0,
  • "premium": 100,
  • "bid": true,
  • "currency": "string"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Get the list of the orders

Get the list of the orders

path Parameters
order-id
required
string <uuid>

ID of the order

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "amount": 0,
  • "premium": 100,
  • "bid": true,
  • "currency": "string"
}

Delete the order with id

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "amount": 0,
  • "premium": 100,
  • "bid": true,
  • "currency": "string"
}

Delete the order with id

Delete the order with id

path Parameters
order-id
required
string <uuid>

ID of the order

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

trade

/orders/{order-id}/trade

Responses

/orders/{order-id}/trade

Responses

/orders/{order-id}/trade

Responses

Raise a dispute

Raise a dispute

-

Responses

Succesfully delete the dispute

Succesfully delete the dispute

-

Responses

start the escrow

start the escrow

-

Responses

get the escrow status

get the escrow status

-
path Parameters
id
required
string <uuid>

id of the escrow to check the status

-

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Delete the escrow

Delete the escrow

-
path Parameters
id
required
string <uuid>

id of the escrow to delete

-

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

escrow

Raise a dispute

Raise a dispute

-

Responses

Succesfully delete the dispute

Succesfully delete the dispute

-

Responses

start the escrow

start the escrow

-

Responses

get the escrow status

get the escrow status

-
path Parameters
id
required
string <uuid>

id of the escrow to check the status

-

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Delete the escrow

Delete the escrow

-
path Parameters
id
required
string <uuid>

id of the escrow to delete

-

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

dispute

Raise a dispute

Raise a dispute

-

Responses

Succesfully delete the dispute

Succesfully delete the dispute

-

Responses

generate a token for the user

generate a token for the user

-

Responses

Response samples

Content type
application/json
{
  • "token": "s0m3th1ngl1k3th1sw1th30char"
}
+

Response samples

Content type
application/json
{
  • "message": "string"
}