users_controller.go
2.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
package controllers
import (
"github.com/astaxie/beego/context"
"github.com/linmadan/egglib-go/web/beego/utils"
"github.com/tiptok/godevp/pkg/application/users/command"
"github.com/tiptok/godevp/pkg/application/users/query"
"github.com/tiptok/godevp/pkg/application/users/service"
)
type UsersController struct {
//utils.Controller
}
func (controller *UsersController) CreateUsers(ctx *context.Context) {
contextController := utils.NewController(ctx)
usersService := service.NewUsersService(nil)
createUsersCommand := &command.CreateUsersCommand{}
contextController.Unmarshal(createUsersCommand)
data, err := usersService.CreateUsers(createUsersCommand)
contextController.Response(data, err)
}
func (controller *UsersController) UpdateUsers(ctx *context.Context) {
contextController := utils.NewController(ctx)
usersService := service.NewUsersService(nil)
updateUsersCommand := &command.UpdateUsersCommand{}
contextController.Unmarshal(updateUsersCommand)
Id, _ := contextController.GetInt64(":Id")
updateUsersCommand.UsersId = Id
data, err := usersService.UpdateUsers(updateUsersCommand)
contextController.Response(data, err)
}
func (controller *UsersController) GetUsers(ctx *context.Context) {
contextController := utils.NewController(ctx)
usersService := service.NewUsersService(map[string]interface{}{"context": ctx.Request.Context()})
getUsersQuery := &query.GetUsersQuery{}
Id, _ := contextController.GetInt64(":Id")
getUsersQuery.UsersId = Id
data, err := usersService.GetUsers(getUsersQuery)
contextController.Response(data, err)
}
func (controller *UsersController) RemoveUsers(ctx *context.Context) {
contextController := utils.NewController(ctx)
usersService := service.NewUsersService(nil)
removeUsersCommand := &command.RemoveUsersCommand{}
contextController.Unmarshal(removeUsersCommand)
Id, _ := contextController.GetInt64(":Id")
removeUsersCommand.UsersId = Id
data, err := usersService.RemoveUsers(removeUsersCommand)
contextController.Response(data, err)
}
func (controller *UsersController) ListUsers(ctx *context.Context) {
contextController := utils.NewController(ctx)
usersService := service.NewUsersService(nil)
listUsersQuery := &query.ListUsersQuery{}
offset, _ := contextController.GetInt("offset")
listUsersQuery.Offset = offset
limit, _ := contextController.GetInt("limit")
listUsersQuery.Limit = limit
data, err := usersService.ListUsers(listUsersQuery)
contextController.Response(data, err)
}