api

package
v0.0.0-...-dc94eff Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 12, 2023 License: AGPL-3.0 Imports: 16 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func WriteFileJson

func WriteFileJson(users Users) error

Types

type IUserService

type IUserService interface {
	Login(w http.ResponseWriter, r *http.Request)
	Logout(w http.ResponseWriter, r *http.Request)
	GetUsers(w http.ResponseWriter, r *http.Request)
	GetIdByUser(w http.ResponseWriter, r *http.Request)
	CreateUser(w http.ResponseWriter, r *http.Request)
	UpdateUser(w http.ResponseWriter, r *http.Request)
	DeleteUser(w http.ResponseWriter, r *http.Request)
}

type Router

type Router struct {
	IuserService IUserService
	IMetrics     metrics.IMetrics
	SeverMux     *mux.Router
}

func NewRouter

func NewRouter(iuserService IUserService, serverMux *mux.Router, iMetrics metrics.IMetrics) *Router

func (*Router) Init

func (r *Router) Init()

type Server

type Server struct {
}

func NewServer

func NewServer() *Server

func (*Server) Init

func (s *Server) Init()

type User

type User struct {
	ID       int    `json:"id"`
	Name     string `json:"name"`
	UserName string `json:"username"`
	Email    string `json:"email"`
	Address  struct {
		Street  string `json:"street"`
		Suite   string `json:"suite"`
		City    string `json:"city"`
		Zipcode string `json:"zipcode"`
		Geo     struct {
			Lat string `json:"lat"`
			Lng string `json:"lng"`
		}
	}
	Phone   string `json:"phone"`
	Website string `json:"website"`
	Company struct {
		Name        string `json:"name"`
		CatchPhrase string `json:"catchPhrase"`
		Bs          string `json:"bs"`
	}
}

func CreateUser

func CreateUser(user User) (User, error)

func GetUser

func GetUser(id int) (User, error)

func UpdateUser

func UpdateUser(user User) (User, error)

type UserCreateRequest

type UserCreateRequest struct {
	Name     string `json:"name"`
	UserName string `json:"username"`
	Email    string `json:"email"`
	Phone    string `json:"phone"`
	Website  string `json:"website"`
}

type UserCreateResponse

type UserCreateResponse struct {
	User User `json:"user"`
}

type UserDeleteRequest

type UserDeleteRequest struct {
	ID int `json:"id"`
}

type UserDeleteResponse

type UserDeleteResponse struct {
	Message string `json:"message"`
}

func DeleteUser

func DeleteUser(id int) (*UserDeleteResponse, error)

type UserRequest

type UserRequest struct {
	ID int `json:"id"`
}

type UserResponse

type UserResponse struct {
	Users Users `json:"users"`
}

type UserResponseOne

type UserResponseOne struct {
	User User `json:"user"`
}

type UserService

type UserService struct {
	UserMetrics *metrics.Metrics
}

func NewUserService

func NewUserService(m *metrics.Metrics) *UserService

func (*UserService) CreateUser

func (s *UserService) CreateUser(w http.ResponseWriter, r *http.Request)

func (*UserService) DeleteUser

func (s *UserService) DeleteUser(w http.ResponseWriter, r *http.Request)

func (*UserService) GetIdByUser

func (s *UserService) GetIdByUser(w http.ResponseWriter, r *http.Request)

func (*UserService) GetUsers

func (s *UserService) GetUsers(w http.ResponseWriter, r *http.Request)

func (*UserService) Login

func (s *UserService) Login(w http.ResponseWriter, r *http.Request)

func (*UserService) Logout

func (s *UserService) Logout(w http.ResponseWriter, r *http.Request)

func (*UserService) UpdateUser

func (s *UserService) UpdateUser(w http.ResponseWriter, r *http.Request)

type UserUpdateRequest

type UserUpdateRequest struct {
	ID       int    `json:"id"`
	Name     string `json:"name"`
	UserName string `json:"username"`
	Email    string `json:"email"`
	Phone    string `json:"phone"`
	Website  string `json:"website"`
}

type UserUpdateResponse

type UserUpdateResponse struct {
	User User `json:"user"`
}

type Users

type Users []User

func GetUsers

func GetUsers() (Users, error)

func ReadFileJson

func ReadFileJson() (Users, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL