123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- package http
- import (
- "net/http"
- "strconv"
- "strings"
- "go-common/library/ecode"
- "go-common/library/log"
- bm "go-common/library/net/http/blademaster"
- "go-common/library/xstr"
- )
- const _logout = "http://dashboard-mng.bilibili.co/logout?caller=manager-admin"
- func authUser(c *bm.Context) {
- var (
- username string
- )
- if un, ok := c.Get("username"); ok {
- username = un.(string)
- } else {
- c.JSON(nil, ecode.Unauthorized)
- return
- }
- c.JSON(mngSvc.Auth(c, username))
- }
- func logout(c *bm.Context) {
- // purge mid cache
- c.Redirect(http.StatusFound, _logout)
- }
- func permissions(c *bm.Context) {
- var username string
- if username = c.Request.Form.Get("username"); username == "" {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- c.JSON(mngSvc.Permissions(c, username))
- }
- func users(c *bm.Context) {
- var (
- err error
- pn, ps int
- params = c.Request.Form
- pnStr = params.Get("pn")
- psStr = params.Get("ps")
- )
- if pn, err = strconv.Atoi(pnStr); err != nil || pn <= 0 {
- pn = 1
- }
- if ps, err = strconv.Atoi(psStr); err != nil || ps <= 0 {
- ps = 20
- }
- c.JSON(mngSvc.Users(c, pn, ps))
- }
- func usersTotal(c *bm.Context) {
- var (
- err error
- total int64
- )
- if total, err = mngSvc.UsersTotal(c); err != nil {
- log.Error("mngSvc.UsersTotal error(%v)", err)
- c.JSON(nil, err)
- return
- }
- c.JSON(struct {
- Total int64 `json:"total"`
- }{total}, nil)
- }
- func heartbeat(c *bm.Context) {
- un, ok := c.Get("username")
- if !ok {
- log.Error("username not found in context")
- return
- }
- c.JSON(nil, mngSvc.Heartbeat(c, un.(string)))
- }
- // batch check unames
- func usersNames(c *bm.Context) {
- var (
- err error
- params = c.Request.Form
- uids string
- uidsV []int64
- items map[int64]string
- )
- if uids = params.Get("uids"); uids == "" {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- if uidsV, err = xstr.SplitInts(uids); err != nil {
- log.Error("mngSvc.Unames(%s) error(%v)", uids, err)
- c.JSON(nil, err)
- return
- }
- items = mngSvc.Unames(c, uidsV)
- c.JSON(items, nil)
- }
- // batch check users' departments
- func usersDepts(c *bm.Context) {
- var (
- err error
- params = c.Request.Form
- uids string
- uidsV []int64
- items map[int64]string
- )
- if uids = params.Get("uids"); uids == "" {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- if uidsV, err = xstr.SplitInts(uids); err != nil {
- log.Error("mngSvc.Udepts(%s) error(%v)", uids, err)
- c.JSON(nil, err)
- return
- }
- items = mngSvc.Udepts(c, uidsV)
- c.JSON(items, nil)
- }
- func userIds(c *bm.Context) {
- var (
- params = c.Request.Form
- unames string
- unamesV []string
- items map[string]int64
- )
- if unames = params.Get("unames"); unames == "" {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- unamesV = strings.Split(unames, ",")
- items = mngSvc.UIds(c, unamesV)
- c.JSON(items, nil)
- }
|