fix(backend): 移除对已删除 ports 包的依赖
适配 main 分支的 ports 目录删除重构: - 将 ports 包中的接口移至 service 包 - 更新 repository 层的导入路径
This commit is contained in:
@@ -8,7 +8,7 @@ import (
|
|||||||
|
|
||||||
"github.com/Wei-Shaw/sub2api/internal/config"
|
"github.com/Wei-Shaw/sub2api/internal/config"
|
||||||
"github.com/Wei-Shaw/sub2api/internal/pkg/geminicli"
|
"github.com/Wei-Shaw/sub2api/internal/pkg/geminicli"
|
||||||
"github.com/Wei-Shaw/sub2api/internal/service/ports"
|
"github.com/Wei-Shaw/sub2api/internal/service"
|
||||||
|
|
||||||
"github.com/imroc/req/v3"
|
"github.com/imroc/req/v3"
|
||||||
)
|
)
|
||||||
@@ -18,7 +18,7 @@ type geminiOAuthClient struct {
|
|||||||
cfg *config.Config
|
cfg *config.Config
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewGeminiOAuthClient(cfg *config.Config) ports.GeminiOAuthClient {
|
func NewGeminiOAuthClient(cfg *config.Config) service.GeminiOAuthClient {
|
||||||
return &geminiOAuthClient{
|
return &geminiOAuthClient{
|
||||||
tokenURL: geminicli.TokenURL,
|
tokenURL: geminicli.TokenURL,
|
||||||
cfg: cfg,
|
cfg: cfg,
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/Wei-Shaw/sub2api/internal/service/ports"
|
"github.com/Wei-Shaw/sub2api/internal/service"
|
||||||
|
|
||||||
"github.com/redis/go-redis/v9"
|
"github.com/redis/go-redis/v9"
|
||||||
)
|
)
|
||||||
@@ -19,7 +19,7 @@ type geminiTokenCache struct {
|
|||||||
rdb *redis.Client
|
rdb *redis.Client
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewGeminiTokenCache(rdb *redis.Client) ports.GeminiTokenCache {
|
func NewGeminiTokenCache(rdb *redis.Client) service.GeminiTokenCache {
|
||||||
return &geminiTokenCache{rdb: rdb}
|
return &geminiTokenCache{rdb: rdb}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/Wei-Shaw/sub2api/internal/pkg/geminicli"
|
"github.com/Wei-Shaw/sub2api/internal/pkg/geminicli"
|
||||||
"github.com/Wei-Shaw/sub2api/internal/service/ports"
|
"github.com/Wei-Shaw/sub2api/internal/service"
|
||||||
|
|
||||||
"github.com/imroc/req/v3"
|
"github.com/imroc/req/v3"
|
||||||
)
|
)
|
||||||
@@ -15,7 +15,7 @@ type geminiCliCodeAssistClient struct {
|
|||||||
baseURL string
|
baseURL string
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewGeminiCliCodeAssistClient() ports.GeminiCliCodeAssistClient {
|
func NewGeminiCliCodeAssistClient() service.GeminiCliCodeAssistClient {
|
||||||
return &geminiCliCodeAssistClient{baseURL: geminicli.GeminiCliBaseURL}
|
return &geminiCliCodeAssistClient{baseURL: geminicli.GeminiCliBaseURL}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,6 @@ import (
|
|||||||
"github.com/Wei-Shaw/sub2api/internal/model"
|
"github.com/Wei-Shaw/sub2api/internal/model"
|
||||||
"github.com/Wei-Shaw/sub2api/internal/pkg/geminicli"
|
"github.com/Wei-Shaw/sub2api/internal/pkg/geminicli"
|
||||||
"github.com/Wei-Shaw/sub2api/internal/pkg/googleapi"
|
"github.com/Wei-Shaw/sub2api/internal/pkg/googleapi"
|
||||||
"github.com/Wei-Shaw/sub2api/internal/service/ports"
|
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
)
|
)
|
||||||
@@ -35,19 +34,19 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type GeminiMessagesCompatService struct {
|
type GeminiMessagesCompatService struct {
|
||||||
accountRepo ports.AccountRepository
|
accountRepo AccountRepository
|
||||||
cache ports.GatewayCache
|
cache GatewayCache
|
||||||
tokenProvider *GeminiTokenProvider
|
tokenProvider *GeminiTokenProvider
|
||||||
rateLimitService *RateLimitService
|
rateLimitService *RateLimitService
|
||||||
httpUpstream ports.HTTPUpstream
|
httpUpstream HTTPUpstream
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewGeminiMessagesCompatService(
|
func NewGeminiMessagesCompatService(
|
||||||
accountRepo ports.AccountRepository,
|
accountRepo AccountRepository,
|
||||||
cache ports.GatewayCache,
|
cache GatewayCache,
|
||||||
tokenProvider *GeminiTokenProvider,
|
tokenProvider *GeminiTokenProvider,
|
||||||
rateLimitService *RateLimitService,
|
rateLimitService *RateLimitService,
|
||||||
httpUpstream ports.HTTPUpstream,
|
httpUpstream HTTPUpstream,
|
||||||
) *GeminiMessagesCompatService {
|
) *GeminiMessagesCompatService {
|
||||||
return &GeminiMessagesCompatService{
|
return &GeminiMessagesCompatService{
|
||||||
accountRepo: accountRepo,
|
accountRepo: accountRepo,
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
package ports
|
package service
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|||||||
@@ -15,21 +15,20 @@ import (
|
|||||||
"github.com/Wei-Shaw/sub2api/internal/config"
|
"github.com/Wei-Shaw/sub2api/internal/config"
|
||||||
"github.com/Wei-Shaw/sub2api/internal/model"
|
"github.com/Wei-Shaw/sub2api/internal/model"
|
||||||
"github.com/Wei-Shaw/sub2api/internal/pkg/geminicli"
|
"github.com/Wei-Shaw/sub2api/internal/pkg/geminicli"
|
||||||
"github.com/Wei-Shaw/sub2api/internal/service/ports"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type GeminiOAuthService struct {
|
type GeminiOAuthService struct {
|
||||||
sessionStore *geminicli.SessionStore
|
sessionStore *geminicli.SessionStore
|
||||||
proxyRepo ports.ProxyRepository
|
proxyRepo ProxyRepository
|
||||||
oauthClient ports.GeminiOAuthClient
|
oauthClient GeminiOAuthClient
|
||||||
codeAssist ports.GeminiCliCodeAssistClient
|
codeAssist GeminiCliCodeAssistClient
|
||||||
cfg *config.Config
|
cfg *config.Config
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewGeminiOAuthService(
|
func NewGeminiOAuthService(
|
||||||
proxyRepo ports.ProxyRepository,
|
proxyRepo ProxyRepository,
|
||||||
oauthClient ports.GeminiOAuthClient,
|
oauthClient GeminiOAuthClient,
|
||||||
codeAssist ports.GeminiCliCodeAssistClient,
|
codeAssist GeminiCliCodeAssistClient,
|
||||||
cfg *config.Config,
|
cfg *config.Config,
|
||||||
) *GeminiOAuthService {
|
) *GeminiOAuthService {
|
||||||
return &GeminiOAuthService{
|
return &GeminiOAuthService{
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
package ports
|
package service
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/Wei-Shaw/sub2api/internal/model"
|
"github.com/Wei-Shaw/sub2api/internal/model"
|
||||||
"github.com/Wei-Shaw/sub2api/internal/service/ports"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@@ -18,14 +17,14 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type GeminiTokenProvider struct {
|
type GeminiTokenProvider struct {
|
||||||
accountRepo ports.AccountRepository
|
accountRepo AccountRepository
|
||||||
tokenCache ports.GeminiTokenCache
|
tokenCache GeminiTokenCache
|
||||||
geminiOAuthService *GeminiOAuthService
|
geminiOAuthService *GeminiOAuthService
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewGeminiTokenProvider(
|
func NewGeminiTokenProvider(
|
||||||
accountRepo ports.AccountRepository,
|
accountRepo AccountRepository,
|
||||||
tokenCache ports.GeminiTokenCache,
|
tokenCache GeminiTokenCache,
|
||||||
geminiOAuthService *GeminiOAuthService,
|
geminiOAuthService *GeminiOAuthService,
|
||||||
) *GeminiTokenProvider {
|
) *GeminiTokenProvider {
|
||||||
return &GeminiTokenProvider{
|
return &GeminiTokenProvider{
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
package ports
|
package service
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|||||||
Reference in New Issue
Block a user