github.com/ngocphuongnb/tetua@v0.0.7-alpha/app/web/manage/manage.go (about) 1 package manage 2 3 import ( 4 "github.com/ngocphuongnb/tetua/app/auth" 5 "github.com/ngocphuongnb/tetua/app/entities" 6 "github.com/ngocphuongnb/tetua/app/server" 7 managecomment "github.com/ngocphuongnb/tetua/app/web/manage/comment" 8 managefile "github.com/ngocphuongnb/tetua/app/web/manage/file" 9 managepage "github.com/ngocphuongnb/tetua/app/web/manage/page" 10 managepost "github.com/ngocphuongnb/tetua/app/web/manage/post" 11 managerole "github.com/ngocphuongnb/tetua/app/web/manage/role" 12 managesetting "github.com/ngocphuongnb/tetua/app/web/manage/setting" 13 managetopic "github.com/ngocphuongnb/tetua/app/web/manage/topic" 14 manageuser "github.com/ngocphuongnb/tetua/app/web/manage/user" 15 ) 16 17 func manageAuthConfig(action string) *server.AuthConfig { 18 return auth.Config(&server.AuthConfig{ 19 Action: action, 20 DefaultValue: entities.PERM_NONE, 21 OwnCheckFN: auth.AllowNone, 22 }) 23 } 24 25 var ( 26 authManage = manageAuthConfig("manage") 27 authManageTopicList = manageAuthConfig("manage.topic.list") 28 authManageTopicCompose = manageAuthConfig("manage.topic.compose") 29 authManageTopicSave = manageAuthConfig("manage.topic.save") 30 authManageTopicDelete = manageAuthConfig("manage.topic.delete") 31 authManagePostList = manageAuthConfig("manage.post.list") 32 authManagePostApprove = manageAuthConfig("manage.post.approve") 33 authManagePageList = manageAuthConfig("manage.page.list") 34 authManagePageCompose = manageAuthConfig("manage.page.compose") 35 authManagePageSave = manageAuthConfig("manage.page.save") 36 authManagePageDelete = manageAuthConfig("manage.page.delete") 37 authManageRoleList = manageAuthConfig("manage.role.list") 38 authManageRoleCompose = manageAuthConfig("manage.role.compose") 39 authManageRoleSave = manageAuthConfig("manage.role.save") 40 authManageRoleDelete = manageAuthConfig("manage.role.delete") 41 authManageUserList = manageAuthConfig("manage.user.list") 42 authManageUserCompose = manageAuthConfig("manage.user.compose") 43 authManageUserSave = manageAuthConfig("manage.user.save") 44 authManageuserdelete = manageAuthConfig("manage.user.delete") 45 authManageSettingCompose = manageAuthConfig("manage.setting.compose") 46 authManageSettingSave = manageAuthConfig("manage.setting.save") 47 authManageCommentList = manageAuthConfig("manage.comment.list") 48 authManageFileList = manageAuthConfig("manage.file.list") 49 ) 50 51 func RegisterRoutes(s server.Server) { 52 manage := s.Group("/manage") 53 manage.Get("", Manage, authManage) 54 55 topic := manage.Group("/topics") 56 topic.Get("", managetopic.Index, authManageTopicList) 57 topic.Get("/:id", managetopic.Compose, authManageTopicCompose) 58 topic.Post("/:id", managetopic.Save, authManageTopicSave) 59 topic.Delete("/:id", managetopic.Delete, authManageTopicDelete) 60 61 post := manage.Group("/posts") 62 post.Get("", managepost.Index, authManagePostList) 63 post.Post("/:id/approve", managepost.Approve, authManagePostApprove) 64 65 page := manage.Group("/pages") 66 page.Get("", managepage.Index, authManagePageList) 67 page.Get("/:id", managepage.Compose, authManagePageCompose) 68 page.Post("/:id", managepage.Save, authManagePageSave) 69 page.Delete("/:id", managepage.Delete, authManagePageDelete) 70 71 role := manage.Group("/roles") 72 role.Get("", managerole.Index, authManageRoleList) 73 role.Get("/:id", managerole.Compose, authManageRoleCompose) 74 role.Post("/:id", managerole.Save, authManageRoleSave) 75 role.Delete("/:id", managerole.Delete, authManageRoleDelete) 76 77 user := manage.Group("/users") 78 user.Get("", manageuser.Index, authManageUserList) 79 user.Get("/:id", manageuser.Compose, authManageUserCompose) 80 user.Post("/:id", manageuser.Save, authManageUserSave) 81 user.Delete("/:id", manageuser.Delete, authManageuserdelete) 82 83 setting := manage.Group("/settings") 84 setting.Get("", managesetting.Settings, authManageSettingCompose) 85 setting.Post("", managesetting.Save, authManageSettingSave) 86 87 comment := manage.Group("/comments") 88 comment.Get("", managecomment.Index, authManageCommentList) 89 90 file := manage.Group("/files") 91 file.Get("", managefile.Index, authManageFileList) 92 }