updated todo + cleanup
This commit is contained in:
parent
a46901397b
commit
2e3c10be13
3 changed files with 20 additions and 21 deletions
|
@ -130,6 +130,17 @@ Teams sind global, d.h. Ein Team kann mehrere Namespaces verwalten.
|
|||
|
||||
?? Wenn man Listen mit nem Nutzer teilt, wird ein Team für diesen Nutzer erstellt, falls er nicht bereits in einem ist.
|
||||
|
||||
*Routen*
|
||||
|
||||
* [ ] `namespaces/:id/teams`
|
||||
* [ ] Create
|
||||
* [ ] ReadAll
|
||||
* [ ] Delete
|
||||
* [ ] `lists/:id/teams`
|
||||
* [ ] Create
|
||||
* [ ] ReadAll
|
||||
* [ ] Delete
|
||||
|
||||
#### v0.3
|
||||
|
||||
* [ ] Labels
|
||||
|
|
|
@ -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 {
|
||||
|
||||
|
|
|
@ -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"`
|
||||
|
|
Loading…
Reference in a new issue