Files
go-omni/examples/userService/internal/handler/user/handlersGen.go

131 lines
3.5 KiB
Go

// Code generated by go-omni api. DO NOT EDIT.
package user
import (
"context"
"example.com/userService/internal/servicecontext"
"example.com/userService/internal/types"
"fmt"
"git.yuntuo.hk/k2safe/go-omni/contract"
"git.yuntuo.hk/k2safe/go-omni/httpx"
)
type Service interface {
CreateUser(ctx context.Context, req *types.CreateUserReq) (*types.UserResp, error)
GetUser(ctx context.Context, req *types.UserIDReq) (*types.UserResp, error)
ListUsers(ctx context.Context, req *types.ListUsersReq) (*types.UserPageResp, error)
UpdateUser(ctx context.Context, req *types.UpdateUserReq) (*types.UserResp, error)
DeleteUser(ctx context.Context, req *types.UserIDReq) error
ExportUser(ctx context.Context, req *types.UserIDReq) (*types.ExportResp, error)
}
type Handler struct {
service Service
deps *servicecontext.Context
}
func New(s Service, deps ...*servicecontext.Context) *Handler {
h := &Handler{service: s}
if len(deps) > 0 {
h.deps = deps[0]
}
return h
}
var createUserRequest = contract.MustNew[types.CreateUserReq]()
func (h *Handler) CreateUser(c *httpx.Context) error {
var req types.CreateUserReq
if err := createUserRequest.Bind(c.Request(), httpx.RouteParams(c.Context()), &req); err != nil {
return err
}
resp, err := h.service.CreateUser(c.Context(), &req)
if err != nil {
return err
}
if resp == nil {
return fmt.Errorf("CreateUser returned a nil response")
}
return c.Created(resp)
}
var getUserRequest = contract.MustNew[types.UserIDReq]()
func (h *Handler) GetUser(c *httpx.Context) error {
var req types.UserIDReq
if err := getUserRequest.Bind(c.Request(), httpx.RouteParams(c.Context()), &req); err != nil {
return err
}
resp, err := h.service.GetUser(c.Context(), &req)
if err != nil {
return err
}
if resp == nil {
return fmt.Errorf("GetUser returned a nil response")
}
return c.OK(resp)
}
var listUsersRequest = contract.MustNew[types.ListUsersReq]()
func (h *Handler) ListUsers(c *httpx.Context) error {
var req types.ListUsersReq
if err := listUsersRequest.Bind(c.Request(), httpx.RouteParams(c.Context()), &req); err != nil {
return err
}
resp, err := h.service.ListUsers(c.Context(), &req)
if err != nil {
return err
}
if resp == nil {
return fmt.Errorf("ListUsers returned a nil response")
}
return c.OK(resp)
}
var updateUserRequest = contract.MustNew[types.UpdateUserReq]()
func (h *Handler) UpdateUser(c *httpx.Context) error {
var req types.UpdateUserReq
if err := updateUserRequest.Bind(c.Request(), httpx.RouteParams(c.Context()), &req); err != nil {
return err
}
resp, err := h.service.UpdateUser(c.Context(), &req)
if err != nil {
return err
}
if resp == nil {
return fmt.Errorf("UpdateUser returned a nil response")
}
return c.OK(resp)
}
var deleteUserRequest = contract.MustNew[types.UserIDReq]()
func (h *Handler) DeleteUser(c *httpx.Context) error {
var req types.UserIDReq
if err := deleteUserRequest.Bind(c.Request(), httpx.RouteParams(c.Context()), &req); err != nil {
return err
}
if err := h.service.DeleteUser(c.Context(), &req); err != nil {
return err
}
return c.NoContent()
}
var exportUserRequest = contract.MustNew[types.UserIDReq]()
func (h *Handler) ExportUser(c *httpx.Context) error {
var req types.UserIDReq
if err := exportUserRequest.Bind(c.Request(), httpx.RouteParams(c.Context()), &req); err != nil {
return err
}
resp, err := h.service.ExportUser(c.Context(), &req)
if err != nil {
return err
}
if resp == nil {
return fmt.Errorf("ExportUser returned a nil response")
}
return c.OK(resp)
}