30 lines
707 B
Go
Raw Normal View History

2024-11-12 19:15:13 +07:00
package models
import "time"
2024-11-12 17:17:10 +00:00
const (
TeamRoleOwner = "owner"
TeamRoleAdmin = "admin"
TeamRoleMember = "member"
)
2024-11-12 19:15:13 +07:00
type Team struct {
Model
2024-11-12 17:17:10 +00:00
Name string `json:"name" gorm:"type:varchar(32)"`
Icon string `json:"icon" gorm:"type:varchar(2)"`
Members []*TeamMembers `json:"members" gorm:"foreignKey:TeamID"`
2024-11-12 19:15:13 +07:00
Timestamps
SoftDeletes
}
type TeamMembers struct {
TeamID string `json:"teamId" gorm:"primarykey;type:varchar(26)"`
Team Team `json:"team"`
UserID string `json:"userId" gorm:"primarykey;type:varchar(26)"`
User User `json:"user"`
Role string `json:"role" gorm:"type:varchar(16)"`
CreatedAt time.Time `json:"createdAt"`
}