Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
陈曦
sub2api
Commits
1fab9204
Commit
1fab9204
authored
Dec 20, 2025
by
Forest
Browse files
ci(backend): 添加 unused 配置
parent
dbd3e716
Changes
8
Hide whitespace changes
Inline
Side-by-side
backend/.golangci.yml
View file @
1fab9204
...
@@ -549,7 +549,26 @@ linters:
...
@@ -549,7 +549,26 @@ linters:
# Use 'fmt.Fprintf(x, ...)' instead of 'x.Write(fmt.Sprintf(...))'.
# Use 'fmt.Fprintf(x, ...)' instead of 'x.Write(fmt.Sprintf(...))'.
# https://staticcheck.dev/docs/checks/#QF1012
# https://staticcheck.dev/docs/checks/#QF1012
-
QF1012
-
QF1012
unused
:
# Mark all struct fields that have been written to as used.
# Default: true
field-writes-are-uses
:
false
# Treat IncDec statement (e.g. `i++` or `i--`) as both read and write operation instead of just write.
# Default: false
post-statements-are-reads
:
true
# Mark all exported fields as used.
# default: true
exported-fields-are-used
:
false
# Mark all function parameters as used.
# default: true
parameters-are-used
:
true
# Mark all local variables as used.
# default: true
local-variables-are-used
:
false
# Mark all identifiers inside generated files as used.
# Default: true
generated-is-used
:
false
formatters
:
formatters
:
enable
:
enable
:
-
gofmt
-
gofmt
\ No newline at end of file
backend/cmd/server/wire_gen.go
View file @
1fab9204
...
@@ -48,7 +48,7 @@ func initializeApplication(buildInfo handler.BuildInfo) (*Application, error) {
...
@@ -48,7 +48,7 @@ func initializeApplication(buildInfo handler.BuildInfo) (*Application, error) {
emailQueueService
:=
service
.
ProvideEmailQueueService
(
emailService
)
emailQueueService
:=
service
.
ProvideEmailQueueService
(
emailService
)
authService
:=
service
.
NewAuthService
(
userRepository
,
configConfig
,
settingService
,
emailService
,
turnstileService
,
emailQueueService
)
authService
:=
service
.
NewAuthService
(
userRepository
,
configConfig
,
settingService
,
emailService
,
turnstileService
,
emailQueueService
)
authHandler
:=
handler
.
NewAuthHandler
(
authService
)
authHandler
:=
handler
.
NewAuthHandler
(
authService
)
userService
:=
service
.
NewUserService
(
userRepository
,
configConfig
)
userService
:=
service
.
NewUserService
(
userRepository
)
userHandler
:=
handler
.
NewUserHandler
(
userService
)
userHandler
:=
handler
.
NewUserHandler
(
userService
)
apiKeyRepository
:=
repository
.
NewApiKeyRepository
(
db
)
apiKeyRepository
:=
repository
.
NewApiKeyRepository
(
db
)
groupRepository
:=
repository
.
NewGroupRepository
(
db
)
groupRepository
:=
repository
.
NewGroupRepository
(
db
)
...
@@ -67,22 +67,22 @@ func initializeApplication(buildInfo handler.BuildInfo) (*Application, error) {
...
@@ -67,22 +67,22 @@ func initializeApplication(buildInfo handler.BuildInfo) (*Application, error) {
redeemService
:=
service
.
NewRedeemService
(
redeemCodeRepository
,
userRepository
,
subscriptionService
,
redeemCache
,
billingCacheService
)
redeemService
:=
service
.
NewRedeemService
(
redeemCodeRepository
,
userRepository
,
subscriptionService
,
redeemCache
,
billingCacheService
)
redeemHandler
:=
handler
.
NewRedeemHandler
(
redeemService
)
redeemHandler
:=
handler
.
NewRedeemHandler
(
redeemService
)
subscriptionHandler
:=
handler
.
NewSubscriptionHandler
(
subscriptionService
)
subscriptionHandler
:=
handler
.
NewSubscriptionHandler
(
subscriptionService
)
dashboardHandler
:=
admin
.
NewDashboardHandler
(
usageLogRepository
)
accountRepository
:=
repository
.
NewAccountRepository
(
db
)
accountRepository
:=
repository
.
NewAccountRepository
(
db
)
proxyRepository
:=
repository
.
NewProxyRepository
(
db
)
proxyRepository
:=
repository
.
NewProxyRepository
(
db
)
proxyExitInfoProber
:=
repository
.
NewProxyExitInfoProber
()
proxyExitInfoProber
:=
repository
.
NewProxyExitInfoProber
()
adminService
:=
service
.
NewAdminService
(
userRepository
,
groupRepository
,
accountRepository
,
proxyRepository
,
apiKeyRepository
,
redeemCodeRepository
,
usageLogRepository
,
userSubscriptionRepository
,
billingCacheService
,
proxyExitInfoProber
)
adminService
:=
service
.
NewAdminService
(
userRepository
,
groupRepository
,
accountRepository
,
proxyRepository
,
apiKeyRepository
,
redeemCodeRepository
,
billingCacheService
,
proxyExitInfoProber
)
dashboardHandler
:=
admin
.
NewDashboardHandler
(
adminService
,
usageLogRepository
)
adminUserHandler
:=
admin
.
NewUserHandler
(
adminService
)
adminUserHandler
:=
admin
.
NewUserHandler
(
adminService
)
groupHandler
:=
admin
.
NewGroupHandler
(
adminService
)
groupHandler
:=
admin
.
NewGroupHandler
(
adminService
)
claudeOAuthClient
:=
repository
.
NewClaudeOAuthClient
()
claudeOAuthClient
:=
repository
.
NewClaudeOAuthClient
()
oAuthService
:=
service
.
NewOAuthService
(
proxyRepository
,
claudeOAuthClient
)
oAuthService
:=
service
.
NewOAuthService
(
proxyRepository
,
claudeOAuthClient
)
rateLimitService
:=
service
.
NewRateLimitService
(
accountRepository
,
configConfig
)
rateLimitService
:=
service
.
NewRateLimitService
(
accountRepository
,
configConfig
)
claudeUsageFetcher
:=
repository
.
NewClaudeUsageFetcher
()
claudeUsageFetcher
:=
repository
.
NewClaudeUsageFetcher
()
accountUsageService
:=
service
.
NewAccountUsageService
(
accountRepository
,
usageLogRepository
,
oAuthService
,
claudeUsageFetcher
)
accountUsageService
:=
service
.
NewAccountUsageService
(
accountRepository
,
usageLogRepository
,
claudeUsageFetcher
)
claudeUpstream
:=
repository
.
NewClaudeUpstream
(
configConfig
)
claudeUpstream
:=
repository
.
NewClaudeUpstream
(
configConfig
)
accountTestService
:=
service
.
NewAccountTestService
(
accountRepository
,
oAuthService
,
claudeUpstream
)
accountTestService
:=
service
.
NewAccountTestService
(
accountRepository
,
oAuthService
,
claudeUpstream
)
accountHandler
:=
admin
.
NewAccountHandler
(
adminService
,
oAuthService
,
rateLimitService
,
accountUsageService
,
accountTestService
)
accountHandler
:=
admin
.
NewAccountHandler
(
adminService
,
oAuthService
,
rateLimitService
,
accountUsageService
,
accountTestService
)
oAuthHandler
:=
admin
.
NewOAuthHandler
(
oAuthService
,
adminService
)
oAuthHandler
:=
admin
.
NewOAuthHandler
(
oAuthService
)
proxyHandler
:=
admin
.
NewProxyHandler
(
adminService
)
proxyHandler
:=
admin
.
NewProxyHandler
(
adminService
)
adminRedeemHandler
:=
admin
.
NewRedeemHandler
(
adminService
)
adminRedeemHandler
:=
admin
.
NewRedeemHandler
(
adminService
)
settingHandler
:=
admin
.
NewSettingHandler
(
settingService
,
emailService
)
settingHandler
:=
admin
.
NewSettingHandler
(
settingService
,
emailService
)
...
@@ -103,16 +103,16 @@ func initializeApplication(buildInfo handler.BuildInfo) (*Application, error) {
...
@@ -103,16 +103,16 @@ func initializeApplication(buildInfo handler.BuildInfo) (*Application, error) {
billingService
:=
service
.
NewBillingService
(
configConfig
,
pricingService
)
billingService
:=
service
.
NewBillingService
(
configConfig
,
pricingService
)
identityCache
:=
repository
.
NewIdentityCache
(
client
)
identityCache
:=
repository
.
NewIdentityCache
(
client
)
identityService
:=
service
.
NewIdentityService
(
identityCache
)
identityService
:=
service
.
NewIdentityService
(
identityCache
)
gatewayService
:=
service
.
NewGatewayService
(
accountRepository
,
usageLogRepository
,
userRepository
,
userSubscriptionRepository
,
gatewayCache
,
configConfig
,
oAuthService
,
billingService
,
rateLimitService
,
billingCacheService
,
identityService
,
claudeUpstream
)
gatewayService
:=
service
.
NewGatewayService
(
accountRepository
,
usageLogRepository
,
userRepository
,
userSubscriptionRepository
,
gatewayCache
,
configConfig
,
billingService
,
rateLimitService
,
billingCacheService
,
identityService
,
claudeUpstream
)
concurrencyCache
:=
repository
.
NewConcurrencyCache
(
client
)
concurrencyCache
:=
repository
.
NewConcurrencyCache
(
client
)
concurrencyService
:=
service
.
NewConcurrencyService
(
concurrencyCache
)
concurrencyService
:=
service
.
NewConcurrencyService
(
concurrencyCache
)
tokenRefreshService
:=
service
.
ProvideTokenRefreshService
(
accountRepository
,
oAuthService
,
configConfig
)
gatewayHandler
:=
handler
.
NewGatewayHandler
(
gatewayService
,
userService
,
concurrencyService
,
billingCacheService
)
gatewayHandler
:=
handler
.
NewGatewayHandler
(
gatewayService
,
userService
,
concurrencyService
,
billingCacheService
)
handlerSettingHandler
:=
handler
.
ProvideSettingHandler
(
settingService
,
buildInfo
)
handlerSettingHandler
:=
handler
.
ProvideSettingHandler
(
settingService
,
buildInfo
)
handlers
:=
handler
.
ProvideHandlers
(
authHandler
,
userHandler
,
apiKeyHandler
,
usageHandler
,
redeemHandler
,
subscriptionHandler
,
adminHandlers
,
gatewayHandler
,
handlerSettingHandler
)
handlers
:=
handler
.
ProvideHandlers
(
authHandler
,
userHandler
,
apiKeyHandler
,
usageHandler
,
redeemHandler
,
subscriptionHandler
,
adminHandlers
,
gatewayHandler
,
handlerSettingHandler
)
groupService
:=
service
.
NewGroupService
(
groupRepository
)
groupService
:=
service
.
NewGroupService
(
groupRepository
)
accountService
:=
service
.
NewAccountService
(
accountRepository
,
groupRepository
)
accountService
:=
service
.
NewAccountService
(
accountRepository
,
groupRepository
)
proxyService
:=
service
.
NewProxyService
(
proxyRepository
)
proxyService
:=
service
.
NewProxyService
(
proxyRepository
)
tokenRefreshService
:=
service
.
ProvideTokenRefreshService
(
accountRepository
,
oAuthService
,
configConfig
)
services
:=
&
service
.
Services
{
services
:=
&
service
.
Services
{
Auth
:
authService
,
Auth
:
authService
,
User
:
userService
,
User
:
userService
,
...
...
backend/internal/handler/admin/account_handler.go
View file @
1fab9204
...
@@ -13,14 +13,12 @@ import (
...
@@ -13,14 +13,12 @@ import (
// OAuthHandler handles OAuth-related operations for accounts
// OAuthHandler handles OAuth-related operations for accounts
type
OAuthHandler
struct
{
type
OAuthHandler
struct
{
oauthService
*
service
.
OAuthService
oauthService
*
service
.
OAuthService
adminService
service
.
AdminService
}
}
// NewOAuthHandler creates a new OAuth handler
// NewOAuthHandler creates a new OAuth handler
func
NewOAuthHandler
(
oauthService
*
service
.
OAuthService
,
adminService
service
.
AdminService
)
*
OAuthHandler
{
func
NewOAuthHandler
(
oauthService
*
service
.
OAuthService
)
*
OAuthHandler
{
return
&
OAuthHandler
{
return
&
OAuthHandler
{
oauthService
:
oauthService
,
oauthService
:
oauthService
,
adminService
:
adminService
,
}
}
}
}
...
...
backend/internal/handler/admin/dashboard_handler.go
View file @
1fab9204
...
@@ -5,7 +5,6 @@ import (
...
@@ -5,7 +5,6 @@ import (
"sub2api/internal/pkg/response"
"sub2api/internal/pkg/response"
"sub2api/internal/pkg/timezone"
"sub2api/internal/pkg/timezone"
"sub2api/internal/repository"
"sub2api/internal/repository"
"sub2api/internal/service"
"time"
"time"
"github.com/gin-gonic/gin"
"github.com/gin-gonic/gin"
...
@@ -13,17 +12,15 @@ import (
...
@@ -13,17 +12,15 @@ import (
// DashboardHandler handles admin dashboard statistics
// DashboardHandler handles admin dashboard statistics
type
DashboardHandler
struct
{
type
DashboardHandler
struct
{
adminService
service
.
AdminService
usageRepo
*
repository
.
UsageLogRepository
usageRepo
*
repository
.
UsageLogRepository
startTime
time
.
Time
// Server start time for uptime calculation
startTime
time
.
Time
// Server start time for uptime calculation
}
}
// NewDashboardHandler creates a new admin dashboard handler
// NewDashboardHandler creates a new admin dashboard handler
func
NewDashboardHandler
(
adminService
service
.
AdminService
,
usageRepo
*
repository
.
UsageLogRepository
)
*
DashboardHandler
{
func
NewDashboardHandler
(
usageRepo
*
repository
.
UsageLogRepository
)
*
DashboardHandler
{
return
&
DashboardHandler
{
return
&
DashboardHandler
{
adminService
:
adminService
,
usageRepo
:
usageRepo
,
usageRepo
:
usageRepo
,
startTime
:
time
.
Now
(),
startTime
:
time
.
Now
(),
}
}
}
}
...
...
backend/internal/service/account_usage_service.go
View file @
1fab9204
...
@@ -70,16 +70,14 @@ type ClaudeUsageFetcher interface {
...
@@ -70,16 +70,14 @@ type ClaudeUsageFetcher interface {
type
AccountUsageService
struct
{
type
AccountUsageService
struct
{
accountRepo
ports
.
AccountRepository
accountRepo
ports
.
AccountRepository
usageLogRepo
ports
.
UsageLogRepository
usageLogRepo
ports
.
UsageLogRepository
oauthService
*
OAuthService
usageFetcher
ClaudeUsageFetcher
usageFetcher
ClaudeUsageFetcher
}
}
// NewAccountUsageService 创建AccountUsageService实例
// NewAccountUsageService 创建AccountUsageService实例
func
NewAccountUsageService
(
accountRepo
ports
.
AccountRepository
,
usageLogRepo
ports
.
UsageLogRepository
,
oauthService
*
OAuthService
,
usageFetcher
ClaudeUsageFetcher
)
*
AccountUsageService
{
func
NewAccountUsageService
(
accountRepo
ports
.
AccountRepository
,
usageLogRepo
ports
.
UsageLogRepository
,
usageFetcher
ClaudeUsageFetcher
)
*
AccountUsageService
{
return
&
AccountUsageService
{
return
&
AccountUsageService
{
accountRepo
:
accountRepo
,
accountRepo
:
accountRepo
,
usageLogRepo
:
usageLogRepo
,
usageLogRepo
:
usageLogRepo
,
oauthService
:
oauthService
,
usageFetcher
:
usageFetcher
,
usageFetcher
:
usageFetcher
,
}
}
}
}
...
...
backend/internal/service/admin_service.go
View file @
1fab9204
...
@@ -193,8 +193,6 @@ type adminServiceImpl struct {
...
@@ -193,8 +193,6 @@ type adminServiceImpl struct {
proxyRepo
ports
.
ProxyRepository
proxyRepo
ports
.
ProxyRepository
apiKeyRepo
ports
.
ApiKeyRepository
apiKeyRepo
ports
.
ApiKeyRepository
redeemCodeRepo
ports
.
RedeemCodeRepository
redeemCodeRepo
ports
.
RedeemCodeRepository
usageLogRepo
ports
.
UsageLogRepository
userSubRepo
ports
.
UserSubscriptionRepository
billingCacheService
*
BillingCacheService
billingCacheService
*
BillingCacheService
proxyProber
ProxyExitInfoProber
proxyProber
ProxyExitInfoProber
}
}
...
@@ -207,8 +205,6 @@ func NewAdminService(
...
@@ -207,8 +205,6 @@ func NewAdminService(
proxyRepo
ports
.
ProxyRepository
,
proxyRepo
ports
.
ProxyRepository
,
apiKeyRepo
ports
.
ApiKeyRepository
,
apiKeyRepo
ports
.
ApiKeyRepository
,
redeemCodeRepo
ports
.
RedeemCodeRepository
,
redeemCodeRepo
ports
.
RedeemCodeRepository
,
usageLogRepo
ports
.
UsageLogRepository
,
userSubRepo
ports
.
UserSubscriptionRepository
,
billingCacheService
*
BillingCacheService
,
billingCacheService
*
BillingCacheService
,
proxyProber
ProxyExitInfoProber
,
proxyProber
ProxyExitInfoProber
,
)
AdminService
{
)
AdminService
{
...
@@ -219,8 +215,6 @@ func NewAdminService(
...
@@ -219,8 +215,6 @@ func NewAdminService(
proxyRepo
:
proxyRepo
,
proxyRepo
:
proxyRepo
,
apiKeyRepo
:
apiKeyRepo
,
apiKeyRepo
:
apiKeyRepo
,
redeemCodeRepo
:
redeemCodeRepo
,
redeemCodeRepo
:
redeemCodeRepo
,
usageLogRepo
:
usageLogRepo
,
userSubRepo
:
userSubRepo
,
billingCacheService
:
billingCacheService
,
billingCacheService
:
billingCacheService
,
proxyProber
:
proxyProber
,
proxyProber
:
proxyProber
,
}
}
...
...
backend/internal/service/gateway_service.go
View file @
1fab9204
...
@@ -84,7 +84,6 @@ type GatewayService struct {
...
@@ -84,7 +84,6 @@ type GatewayService struct {
userSubRepo
ports
.
UserSubscriptionRepository
userSubRepo
ports
.
UserSubscriptionRepository
cache
ports
.
GatewayCache
cache
ports
.
GatewayCache
cfg
*
config
.
Config
cfg
*
config
.
Config
oauthService
*
OAuthService
billingService
*
BillingService
billingService
*
BillingService
rateLimitService
*
RateLimitService
rateLimitService
*
RateLimitService
billingCacheService
*
BillingCacheService
billingCacheService
*
BillingCacheService
...
@@ -100,7 +99,6 @@ func NewGatewayService(
...
@@ -100,7 +99,6 @@ func NewGatewayService(
userSubRepo
ports
.
UserSubscriptionRepository
,
userSubRepo
ports
.
UserSubscriptionRepository
,
cache
ports
.
GatewayCache
,
cache
ports
.
GatewayCache
,
cfg
*
config
.
Config
,
cfg
*
config
.
Config
,
oauthService
*
OAuthService
,
billingService
*
BillingService
,
billingService
*
BillingService
,
rateLimitService
*
RateLimitService
,
rateLimitService
*
RateLimitService
,
billingCacheService
*
BillingCacheService
,
billingCacheService
*
BillingCacheService
,
...
@@ -114,7 +112,6 @@ func NewGatewayService(
...
@@ -114,7 +112,6 @@ func NewGatewayService(
userSubRepo
:
userSubRepo
,
userSubRepo
:
userSubRepo
,
cache
:
cache
,
cache
:
cache
,
cfg
:
cfg
,
cfg
:
cfg
,
oauthService
:
oauthService
,
billingService
:
billingService
,
billingService
:
billingService
,
rateLimitService
:
rateLimitService
,
rateLimitService
:
rateLimitService
,
billingCacheService
:
billingCacheService
,
billingCacheService
:
billingCacheService
,
...
...
backend/internal/service/user_service.go
View file @
1fab9204
...
@@ -4,7 +4,6 @@ import (
...
@@ -4,7 +4,6 @@ import (
"context"
"context"
"errors"
"errors"
"fmt"
"fmt"
"sub2api/internal/config"
"sub2api/internal/model"
"sub2api/internal/model"
"sub2api/internal/pkg/pagination"
"sub2api/internal/pkg/pagination"
"sub2api/internal/service/ports"
"sub2api/internal/service/ports"
...
@@ -34,14 +33,12 @@ type ChangePasswordRequest struct {
...
@@ -34,14 +33,12 @@ type ChangePasswordRequest struct {
// UserService 用户服务
// UserService 用户服务
type
UserService
struct
{
type
UserService
struct
{
userRepo
ports
.
UserRepository
userRepo
ports
.
UserRepository
cfg
*
config
.
Config
}
}
// NewUserService 创建用户服务实例
// NewUserService 创建用户服务实例
func
NewUserService
(
userRepo
ports
.
UserRepository
,
cfg
*
config
.
Config
)
*
UserService
{
func
NewUserService
(
userRepo
ports
.
UserRepository
)
*
UserService
{
return
&
UserService
{
return
&
UserService
{
userRepo
:
userRepo
,
userRepo
:
userRepo
,
cfg
:
cfg
,
}
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment