Files
panel/internal/data/wire.go
T
耗子andClaude Opus 5 fe7cce6201 refactor: 对齐 libtnb/chi-skeleton 最新脚手架
- 依赖注入换到 libtnb/wire v0.3.0,各层包导出 Module 并逐类型 Export,
  wire.Struct 改用 Struct[T](),cleanup 签名改为 func() error
- 测试断言换到 libtnb/assert 的 must/check,20 个 testify suite 拆成标准测试函数
- mock 改用 matryer 模板输出到 internal/mocks,wire 走 go.mod tool 指令,
  mockery 用 go run 调用,避免它的依赖树污染 go.mod
- 引入 .golangci.yml 并修完全部告警,darwin 与 linux 双平台 0 issues
- 工作流改用 go-version-file、govulncheck 官方 action,
  wire 校验移入 test.yml,mockery 由自动提交改为 PR 校验

顺带修复:pkg/db 四处漏查 rows.Err()(DatabaseExists 查询出错会被当成库不存在)、
websitestat 负值转 uint64 污染流量统计、pty 终端尺寸超 uint16 截断、
文件权限位超 32 位静默截断、面板与 ACME challenge 服务器缺 ReadHeaderTimeout、
GetDefault 丢失操作人、三处对结构体值恒成立的假断言、两处带空格而失效的 nolint

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 23:36:21 +08:00

95 lines
2.6 KiB
Go

//go:build wireinject
package data
import (
"github.com/libtnb/wire"
"github.com/acepanel/panel/v3/internal/biz"
)
// Module 装配数据访问层,对外导出 biz 中定义的仓储接口
var Module = wire.New().
Provide(NewAlertRepo).
Provide(NewAppRepo).
Provide(NewBackupRepo).
Provide(NewBackupAccountRepo).
Provide(NewCacheRepo).
Provide(NewCertRepo).
Provide(NewCertAccountRepo).
Provide(NewCertDNSRepo).
Provide(NewContainerRepo).
Provide(NewContainerComposeRepo).
Provide(NewContainerImageRepo).
Provide(NewContainerNetworkRepo).
Provide(NewContainerVolumeRepo).
Provide(NewCronRepo).
Provide(NewDatabaseRepo).
Provide(NewDatabaseRedisRepo).
Provide(NewDatabaseElasticsearchRepo).
Provide(NewDatabaseServerRepo).
Provide(NewDatabaseUserRepo).
Provide(NewEnvironmentRepo).
Provide(NewFileShareRepo).
Provide(NewLogRepo).
Provide(NewMonitorRepo).
Provide(NewNotifyChannelRepo).
Provide(NewProjectRepo).
Provide(NewSafeRepo).
Provide(NewScanEventRepo).
Provide(NewSettingRepo).
Provide(NewSSHRepo).
Provide(NewTamperRepo).
Provide(NewTaskRepo).
Provide(NewTemplateRepo).
Provide(NewUserRepo).
Provide(NewUserPasskeyRepo).
Provide(NewUserTokenRepo).
Provide(NewWebHookRepo).
Provide(NewWebsiteRepo).
Provide(NewWebsiteStatRepo).
Provide(NewMigrationSourceRepo).
Provide(NewMigrationRemoteRepo).
Provide(NewMigrationArchiveRepo).
Export[biz.AlertRepo]().
Export[biz.AppRepo]().
Export[biz.BackupRepo]().
Export[biz.BackupAccountRepo]().
Export[biz.CacheRepo]().
Export[biz.CertRepo]().
Export[biz.CertAccountRepo]().
Export[biz.CertDNSRepo]().
Export[biz.ContainerRepo]().
Export[biz.ContainerComposeRepo]().
Export[biz.ContainerImageRepo]().
Export[biz.ContainerNetworkRepo]().
Export[biz.ContainerVolumeRepo]().
Export[biz.CronRepo]().
Export[biz.DatabaseRepo]().
Export[biz.DatabaseRedisRepo]().
Export[biz.DatabaseElasticsearchRepo]().
Export[biz.DatabaseServerRepo]().
Export[biz.DatabaseUserRepo]().
Export[biz.EnvironmentRepo]().
Export[biz.FileShareRepo]().
Export[biz.LogRepo]().
Export[biz.MonitorRepo]().
Export[biz.NotifyChannelRepo]().
Export[biz.ProjectRepo]().
Export[biz.SafeRepo]().
Export[biz.ScanEventRepo]().
Export[biz.SettingRepo]().
Export[biz.SSHRepo]().
Export[biz.TamperRepo]().
Export[biz.TaskRepo]().
Export[biz.TemplateRepo]().
Export[biz.UserRepo]().
Export[biz.UserPasskeyRepo]().
Export[biz.UserTokenRepo]().
Export[biz.WebHookRepo]().
Export[biz.WebsiteRepo]().
Export[biz.WebsiteStatRepo]().
Export[biz.MigrationSourceRepo]().
Export[biz.MigrationRemoteRepo]().
Export[biz.MigrationArchiveRepo]()