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  }