-
Notifications
You must be signed in to change notification settings - Fork 0
/
tag_ctrl.go
51 lines (44 loc) · 1.22 KB
/
tag_ctrl.go
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
package admin
import (
"github.com/GoodHot/TinyCMS/common/ctrl"
"github.com/GoodHot/TinyCMS/model"
"github.com/GoodHot/TinyCMS/service"
)
type AdminTagCtrl struct {
TagService *service.TagService `ioc:"auto"`
}
func (s *AdminTagCtrl) Search(ctx *ctrl.HTTPContext) error {
prefix := ctx.Param("prefix")
ctx.Put("result", s.TagService.PrefixFind(prefix))
return ctx.ResultOK()
}
func (s *AdminTagCtrl) HotTag(ctx *ctrl.HTTPContext) error {
tags := s.TagService.GetHotTag(10)
ctx.Put("tags", tags)
return ctx.ResultOK()
}
func (s *AdminTagCtrl) Page(ctx *ctrl.HTTPContext) error {
page := ctx.ParamInt("page")
query := &service.TagQuery{Keyword: ctx.QueryParam("keyword")}
ctx.Put("page", s.TagService.Page(page, query))
return ctx.ResultOK()
}
func (s *AdminTagCtrl) Get(ctx *ctrl.HTTPContext) error {
id := ctx.ParamInt("id")
tag, err := s.TagService.Get(id)
if err != nil {
return ctx.ResultErr(err.Error())
}
ctx.Put("tag", tag)
return ctx.ResultOK()
}
func (s *AdminTagCtrl) Save(ctx *ctrl.HTTPContext) error {
tag := new(model.Tag)
if err := ctx.Bind(tag); err != nil {
return ctx.ResultErr(err.Error())
}
if err := s.TagService.Save(tag); err != nil {
return ctx.ResultErr(err.Error())
}
return ctx.ResultOK()
}