ripple-api/app/v1/privileges.go
2016-04-09 23:50:52 +02:00

42 lines
1.6 KiB
Go

package v1
import (
"github.com/osuripple/api/common"
)
type privilegesData struct {
Read bool `json:"read"`
ReadConfidential bool `json:"read_confidential"`
Write bool `json:"write"`
ManageBadges bool `json:"manage_badges"`
BetaKeys bool `json:"beta_keys"`
ManageSettings bool `json:"manage_settings"`
ViewUserAdvanced bool `json:"view_user_advanced"`
ManageUser bool `json:"manage_user"`
ManageRoles bool `json:"manage_roles"`
ManageAPIKeys bool `json:"manage_api_keys"`
Blog bool `json:"blog"`
APIMeta bool `json:"api_meta"`
}
// PrivilegesGET returns an explaination for the privileges, telling the client what they can do with this token.
func PrivilegesGET(md common.MethodData) (r common.Response) {
// This code sucks.
r.Code = 200
r.Data = privilegesData{
Read: md.User.Privileges.HasPrivilegeRead(),
ReadConfidential: md.User.Privileges.HasPrivilegeReadConfidential(),
Write: md.User.Privileges.HasPrivilegeWrite(),
ManageBadges: md.User.Privileges.HasPrivilegeManageBadges(),
BetaKeys: md.User.Privileges.HasPrivilegeBetaKeys(),
ManageSettings: md.User.Privileges.HasPrivilegeManageSettings(),
ViewUserAdvanced: md.User.Privileges.HasPrivilegeViewUserAdvanced(),
ManageUser: md.User.Privileges.HasPrivilegeManageUser(),
ManageRoles: md.User.Privileges.HasPrivilegeManageRoles(),
ManageAPIKeys: md.User.Privileges.HasPrivilegeManageAPIKeys(),
Blog: md.User.Privileges.HasPrivilegeBlog(),
APIMeta: md.User.Privileges.HasPrivilegeAPIMeta(),
}
return
}