// Package repository 数据访问层:封装全部 SQL / GORM 细节。 // // 分层约定: // - 只有本层可以感知 *gorm.DB 与表结构;service 与 handler 不得直接触碰数据库。 // - 对外只暴露接口 + 构造函数,便于在测试中替换实现。 // - 数据库错误在此层归一化为本包的 sentinel error,避免 gorm 错误类型向上层泄漏。 package repository import "errors" // ErrNotFound 记录不存在。 var ErrNotFound = errors.New("record not found") // ErrInvalidImageGroup 主副图分组操作不合法:主图不存在 / 不属于该草稿 / 自身不是主图 / 空集合。 var ErrInvalidImageGroup = errors.New("invalid image group")