feat: complete API-driven projects with infrastructure and business acceptance
This commit is contained in:
120
examples/userService/internal/handler/user/handlersGen.go
Normal file
120
examples/userService/internal/handler/user/handlersGen.go
Normal file
@@ -0,0 +1,120 @@
|
||||
// Code generated by go-omni api. DO NOT EDIT.
|
||||
package user
|
||||
|
||||
import (
|
||||
"context"
|
||||
"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 }
|
||||
|
||||
func New(s Service) *Handler { return &Handler{service: s} }
|
||||
|
||||
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)
|
||||
}
|
||||
Reference in New Issue
Block a user