package model import ( "context" "spark-server/internal/module/group/entity" "spark-server/internal/pkg/errs" ) // FindByOwnerAndName returns the active group owned by ownerID with the given name. func (m *Repo) FindByOwnerAndName(ctx context.Context, ownerID int64, name string) (*entity.Group, error) { if ownerID <= 0 || name == "" { return nil, errs.ErrInvalidArgument } db, err := m.session(ctx) if err != nil { return nil, err } var row Group err = db.Table("`t_groups`"). Where("owner_id = ? AND name = ? AND status = ?", ownerID, name, entity.StatusActive). Order("id ASC").Limit(1).Take(&row).Error if err != nil { return nil, mapDBErr(err) } return row.entity(), nil }