block-accounting/backend/internal/interface/rest/domain/dto.go

40 lines
731 B
Go

package domain
import (
"encoding/json"
"fmt"
)
type JoinRequest struct {
Name string `json:"name,omitempty"`
Credentals struct {
Email string `json:"email,omitempty"`
Phone string `json:"phone,omitempty"`
Telegram string `json:"telegram,omitempty"`
} `json:"credentals,omitempty"`
Mnemonic string `json:"mnemonic"`
}
type JoinResponse struct {
Token string `json:"token"`
}
type LoginRequest struct {
Mnemonic string `json:"mnemonic"`
}
type LoginResponse struct {
Token string `json:"token"`
}
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
}