package teams import ( "gorm.io/gorm" "rul.sh/vaulterm/db" "rul.sh/vaulterm/models" "rul.sh/vaulterm/utils" ) type Teams struct { db *gorm.DB User *utils.UserContext } func NewRepository(r *Teams) *Teams { if r == nil { r = &Teams{} } r.db = db.Get() return r } func (r *Teams) GetAll() ([]*models.Team, error) { var rows []*models.Team ret := r.db.Order("created_at DESC").Find(&rows) return rows, ret.Error } func (r *Teams) Create(data *models.Team) error { return r.db.Create(data).Error } func (r *Teams) Get(id string) (*models.Team, error) { var data models.Team if err := r.db.Where("id = ?", id).First(&data).Error; err != nil { return nil, err } return &data, nil } func (r *Teams) Exists(id string) (bool, error) { var count int64 ret := r.db.Model(&models.Team{}).Where("id = ?", id).Count(&count) return count > 0, ret.Error } func (r *Teams) Update(id string, item *models.Team) error { return r.db.Where("id = ?", id).Updates(item).Error }