1
0

updated todo + cleanup

This commit is contained in:
konrad
2018-07-17 08:16:04 +02:00
committed by kolaente
parent a46901397b
commit 2e3c10be13
3 changed files with 20 additions and 21 deletions

View File

@ -12,24 +12,12 @@ const (
const (
// Can read lists in a namespace
NamespaceRightRead NamespaceRight = iota
// Cat write items in a namespace like lists and todo items
// Can write items in a namespace like lists and todo items. Cannot create new lists.
NamespaceRightWrite
// Can manage a namespace, can do everything
NamespaceRightAdmin
)
// IsNamespaceAdmin returns whether the usre has admin rights in a namespace
func (user *User) IsNamespaceAdmin(namespace *Namespace) (err error) {
// Owners always have admin rights
if user.ID == namespace.Owner.ID {
return nil
}
// Check if that user is in a team which has admin rights to that namespace
return ErrUserNeedsToBeNamespaceAdmin{UserID: user.ID, NamespaceID: namespace.ID}
}
// IsAdmin returns true or false if the user is admin on that namespace or not
func (n *Namespace) IsAdmin(user *User) bool {

View File

@ -62,10 +62,10 @@ type TeamUser struct {
// TeamNamespace defines the relationship between a Team and a Namespace
type TeamNamespace struct {
ID int64 `xorm:"int(11) autoincr not null unique pk" json:"id"`
TeamID int64 `xorm:"int(11) not null" json:"team_id"`
NamespaceID int64 `xorm:"int(11) not null" json:"namespace_id"`
Rights []int64 `xorm:"varchar(250)" json:"rights"`
ID int64 `xorm:"int(11) autoincr not null unique pk" json:"id"`
TeamID int64 `xorm:"int(11) not null" json:"team_id"`
NamespaceID int64 `xorm:"int(11) not null" json:"namespace_id"`
Rights NamespaceRight `xorm:"int(11)" json:"rights"`
Created int64 `xorm:"created" json:"created"`
Updated int64 `xorm:"updated" json:"updated"`
@ -78,10 +78,10 @@ func (TeamNamespace) TableName() string {
// TeamList defines the relation between a team and a list
type TeamList struct {
ID int64 `xorm:"int(11) autoincr not null unique pk" json:"id"`
TeamID int64 `xorm:"int(11) not null" json:"team_id"`
ListID int64 `xorm:"int(11) not null" json:"list_id"`
Rights []int64 `xorm:"varchar(250)" json:"rights"`
ID int64 `xorm:"int(11) autoincr not null unique pk" json:"id"`
TeamID int64 `xorm:"int(11) not null" json:"team_id"`
ListID int64 `xorm:"int(11) not null" json:"list_id"`
Rights int `xorm:"varchar(250)" json:"rights"`
Created int64 `xorm:"created" json:"created"`
Updated int64 `xorm:"updated" json:"updated"`