74 lines
2.1 KiB
Go
74 lines
2.1 KiB
Go
package models
|
|
|
|
// Team holds a team object
|
|
type Team struct {
|
|
ID int64 `xorm:"int(11) autoincr not null unique pk" json:"id"`
|
|
Name string `xorm:"varchar(250) not null" json:"name"`
|
|
Description string `xorm:"varchar(250)" json:"description"`
|
|
Rights []int64 `xorm:"varchar(250)" json:"rights"`
|
|
CreatedByID int64 `xorm:"int(11) not null" json:"-"`
|
|
|
|
Created int64 `xorm:"created" json:"created"`
|
|
Updated int64 `xorm:"updated" json:"updated"`
|
|
|
|
CreatedBy User `json:"created_by"`
|
|
}
|
|
|
|
// TableName makes beautiful table names
|
|
func (Team) TableName() string {
|
|
return "teams"
|
|
}
|
|
|
|
// TeamMember defines the relationship between a user and a team
|
|
type TeamMember struct {
|
|
ID int64 `xorm:"int(11) autoincr not null unique pk"`
|
|
TeamID int64 `xorm:"int(11) autoincr not null"`
|
|
UserID int64 `xorm:"int(11) autoincr not null"`
|
|
|
|
Created int64 `xorm:"created"`
|
|
Updated int64 `xorm:"updated"`
|
|
}
|
|
|
|
// TableName makes beautiful table names
|
|
func (TeamMember) TableName() string {
|
|
return "team_members"
|
|
}
|
|
|
|
// TeamNamespaces defines the relationship between a Team and a Namespace
|
|
type TeamNamespace struct {
|
|
ID int64 `xorm:"int(11) autoincr not null unique pk"`
|
|
TeamID int64 `xorm:"int(11) autoincr not null"`
|
|
NamespaceID int64 `xorm:"int(11) autoincr not null"`
|
|
|
|
Created int64 `xorm:"created"`
|
|
Updated int64 `xorm:"updated"`
|
|
}
|
|
|
|
// TableName makes beautiful table names
|
|
func (TeamNamespace) TableName() string {
|
|
return "team_namespaces"
|
|
}
|
|
|
|
// TeamList defines the relation between a team and a list
|
|
type TeamList struct {
|
|
ID int64 `xorm:"int(11) autoincr not null unique pk"`
|
|
TeamID int64 `xorm:"int(11) autoincr not null"`
|
|
ListID int64 `xorm:"int(11) autoincr not null"`
|
|
|
|
Created int64 `xorm:"created"`
|
|
Updated int64 `xorm:"updated"`
|
|
}
|
|
|
|
// TableName makes beautiful table names
|
|
func (TeamList) TableName() string {
|
|
return "team_list"
|
|
}
|
|
|
|
func GetAllTeamsByNamespaceID(id int64) (teams []*Team, err error) {
|
|
err = x.Table("teams").
|
|
Join("INNER", "team_namespaces", "teams.id = team_id").
|
|
Where("teams.namespace_id = ?", id).
|
|
Find(teams)
|
|
|
|
return
|
|
}
|