spark-server/internal/module/group/model/find.go
DESKTOP-L8OUL9F\gfl0034 ce2cdf6bf3 feat: music 运营曲目、seed 机器人欢迎消息,并补充 novels/music OpenAPI
合并 origin/main 设备注册后,纳入本地 music 模块、seed 命令与 popadmin 相关路由/文档;music migration 编号为 0020 以避免与 0019_devices 冲突。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-23 16:07:05 +08:00

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
}