refactor(repository): 收敛 model/repository 分层为唯一持久化入口

将 OpenFlare 与平台业务的数据访问从 model 与 apps 直连迁入 repository,
model 仅保留实体与无 IO 规则;补充 code-check 架构守卫与开发规范。
This commit is contained in:
ryan
2026-07-24 17:00:17 +08:00
parent 23a5488203
commit 943818f7d4
184 changed files with 5592 additions and 4364 deletions
+6 -7
View File
@@ -9,8 +9,8 @@ import (
"strings"
"time"
db "github.com/Rain-kl/Wavelet/internal/infra/persistence"
"github.com/Rain-kl/Wavelet/internal/model"
"github.com/Rain-kl/Wavelet/internal/repository"
"gorm.io/gorm"
)
@@ -80,13 +80,12 @@ func GetStats(ctx context.Context, id uint, rangeRaw string) (*Stats, error) {
return nil, err
}
var zone model.Zone
if err := db.DB(ctx).First(&zone, id).Error; err != nil {
if _, err := repository.GetZoneByID(ctx, id); err != nil {
return nil, err
}
var domains []model.ZoneDomain
if err := db.DB(ctx).Where("zone_id = ?", id).Order("domain asc").Find(&domains).Error; err != nil {
domains, err := repository.ListZoneDomainsByZoneID(ctx, id)
if err != nil {
return nil, err
}
@@ -120,7 +119,7 @@ func GetStats(ctx context.Context, id uint, rangeRaw string) (*Stats, error) {
return result, nil
}
requestCount, uniqueVisitors, totalBytesSent, err := model.CountOpenFlareAccessLogs(ctx, model.OpenFlareAccessLogQuery{
requestCount, uniqueVisitors, totalBytesSent, err := repository.CountOpenFlareAccessLogs(ctx, model.OpenFlareAccessLogQuery{
Hosts: hosts,
Since: since,
Until: now,
@@ -136,7 +135,7 @@ func GetStats(ctx context.Context, id uint, rangeRaw string) (*Stats, error) {
result.UniqueVisitors = uniqueVisitors
result.BytesSent = totalBytesSent
buckets, err := model.ListOpenFlareAccessLogBuckets(ctx, model.OpenFlareAccessLogBucketQuery{
buckets, err := repository.ListOpenFlareAccessLogBuckets(ctx, model.OpenFlareAccessLogBucketQuery{
Hosts: hosts,
Since: since,
Until: now,