合并 origin/main 设备注册后,纳入本地 music 模块、seed 命令与 popadmin 相关路由/文档;music migration 编号为 0020 以避免与 0019_devices 冲突。 Co-authored-by: Cursor <cursoragent@cursor.com>
28 lines
703 B
Go
28 lines
703 B
Go
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("`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
|
|
}
|