block-accounting/backend/internal/interface/rest/domain/dto.go
2024-05-18 11:22:53 +03:00

42 lines
736 B
Go

package domain
import (
"encoding/json"
"fmt"
)
type JoinRequest struct {
Mnemonic string `json:"mnemonic"`
}
type JoinResponse struct {
Ok bool `json:"ok"`
Token string `json:"token,omitempty"`
Error *Error `json:"error,omitempty"`
}
type LoginRequest struct {
Mnemonc string `json:"mnemonic"`
}
type LoginResponse struct {
Ok bool `json:"ok"`
Token string `json:"token,omitempty"`
Error *Error `json:"error,omitempty"`
}
type Error struct {
Code int `json:"code"`
Message string `json:"message"`
}
func BuildRequest[T any](data []byte) (*T, error) {
var req T
if err := json.Unmarshal(data, &req); err != nil {
return nil, fmt.Errorf("error unmarshal request. %w", err)
}
return &req, nil
}