fix: resolve CI failures
- Fix gofmt formatting issue in user_service.go - Remove unused sql field from userAttributeValueRepository - Update ListWithFilters signature in test stubs to match interface - Remove Wechat field from test user data 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -118,7 +118,7 @@ func initializeApplication(buildInfo handler.BuildInfo) (*Application, error) {
|
|||||||
adminSubscriptionHandler := admin.NewSubscriptionHandler(subscriptionService)
|
adminSubscriptionHandler := admin.NewSubscriptionHandler(subscriptionService)
|
||||||
adminUsageHandler := admin.NewUsageHandler(usageService, apiKeyService, adminService)
|
adminUsageHandler := admin.NewUsageHandler(usageService, apiKeyService, adminService)
|
||||||
userAttributeDefinitionRepository := repository.NewUserAttributeDefinitionRepository(client)
|
userAttributeDefinitionRepository := repository.NewUserAttributeDefinitionRepository(client)
|
||||||
userAttributeValueRepository := repository.NewUserAttributeValueRepository(client, db)
|
userAttributeValueRepository := repository.NewUserAttributeValueRepository(client)
|
||||||
userAttributeService := service.NewUserAttributeService(userAttributeDefinitionRepository, userAttributeValueRepository)
|
userAttributeService := service.NewUserAttributeService(userAttributeDefinitionRepository, userAttributeValueRepository)
|
||||||
userAttributeHandler := admin.NewUserAttributeHandler(userAttributeService)
|
userAttributeHandler := admin.NewUserAttributeHandler(userAttributeService)
|
||||||
adminHandlers := handler.ProvideAdminHandlers(dashboardHandler, adminUserHandler, groupHandler, accountHandler, oAuthHandler, openAIOAuthHandler, geminiOAuthHandler, antigravityOAuthHandler, proxyHandler, adminRedeemHandler, settingHandler, systemHandler, adminSubscriptionHandler, adminUsageHandler, userAttributeHandler)
|
adminHandlers := handler.ProvideAdminHandlers(dashboardHandler, adminUserHandler, groupHandler, accountHandler, oAuthHandler, openAIOAuthHandler, geminiOAuthHandler, antigravityOAuthHandler, proxyHandler, adminRedeemHandler, settingHandler, systemHandler, adminSubscriptionHandler, adminUsageHandler, userAttributeHandler)
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package repository
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"database/sql"
|
|
||||||
|
|
||||||
dbent "github.com/Wei-Shaw/sub2api/ent"
|
dbent "github.com/Wei-Shaw/sub2api/ent"
|
||||||
"github.com/Wei-Shaw/sub2api/ent/userattributedefinition"
|
"github.com/Wei-Shaw/sub2api/ent/userattributedefinition"
|
||||||
@@ -150,12 +149,11 @@ func (r *userAttributeDefinitionRepository) ExistsByKey(ctx context.Context, key
|
|||||||
// UserAttributeValueRepository implementation
|
// UserAttributeValueRepository implementation
|
||||||
type userAttributeValueRepository struct {
|
type userAttributeValueRepository struct {
|
||||||
client *dbent.Client
|
client *dbent.Client
|
||||||
sql *sql.DB
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewUserAttributeValueRepository creates a new repository instance
|
// NewUserAttributeValueRepository creates a new repository instance
|
||||||
func NewUserAttributeValueRepository(client *dbent.Client, sqlDB *sql.DB) service.UserAttributeValueRepository {
|
func NewUserAttributeValueRepository(client *dbent.Client) service.UserAttributeValueRepository {
|
||||||
return &userAttributeValueRepository{client: client, sql: sqlDB}
|
return &userAttributeValueRepository{client: client}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *userAttributeValueRepository) GetByUserID(ctx context.Context, userID int64) ([]service.UserAttributeValue, error) {
|
func (r *userAttributeValueRepository) GetByUserID(ctx context.Context, userID int64) ([]service.UserAttributeValue, error) {
|
||||||
|
|||||||
@@ -347,7 +347,6 @@ func newContractDeps(t *testing.T) *contractDeps {
|
|||||||
ID: 1,
|
ID: 1,
|
||||||
Email: "alice@example.com",
|
Email: "alice@example.com",
|
||||||
Username: "alice",
|
Username: "alice",
|
||||||
Wechat: "wx_alice",
|
|
||||||
Notes: "hello",
|
Notes: "hello",
|
||||||
Role: service.RoleUser,
|
Role: service.RoleUser,
|
||||||
Balance: 12.5,
|
Balance: 12.5,
|
||||||
@@ -502,7 +501,7 @@ func (r *stubUserRepo) List(ctx context.Context, params pagination.PaginationPar
|
|||||||
return nil, nil, errors.New("not implemented")
|
return nil, nil, errors.New("not implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *stubUserRepo) ListWithFilters(ctx context.Context, params pagination.PaginationParams, status, role, search string) ([]service.User, *pagination.PaginationResult, error) {
|
func (r *stubUserRepo) ListWithFilters(ctx context.Context, params pagination.PaginationParams, filters service.UserListFilters) ([]service.User, *pagination.PaginationResult, error) {
|
||||||
return nil, nil, errors.New("not implemented")
|
return nil, nil, errors.New("not implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ func (s *userRepoStub) List(ctx context.Context, params pagination.PaginationPar
|
|||||||
panic("unexpected List call")
|
panic("unexpected List call")
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *userRepoStub) ListWithFilters(ctx context.Context, params pagination.PaginationParams, status, role, search string) ([]User, *pagination.PaginationResult, error) {
|
func (s *userRepoStub) ListWithFilters(ctx context.Context, params pagination.PaginationParams, filters UserListFilters) ([]User, *pagination.PaginationResult, error) {
|
||||||
panic("unexpected ListWithFilters call")
|
panic("unexpected ListWithFilters call")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,10 +16,10 @@ var (
|
|||||||
|
|
||||||
// UserListFilters contains all filter options for listing users
|
// UserListFilters contains all filter options for listing users
|
||||||
type UserListFilters struct {
|
type UserListFilters struct {
|
||||||
Status string // User status filter
|
Status string // User status filter
|
||||||
Role string // User role filter
|
Role string // User role filter
|
||||||
Search string // Search in email, username
|
Search string // Search in email, username
|
||||||
Attributes map[int64]string // Custom attribute filters: attributeID -> value
|
Attributes map[int64]string // Custom attribute filters: attributeID -> value
|
||||||
}
|
}
|
||||||
|
|
||||||
type UserRepository interface {
|
type UserRepository interface {
|
||||||
|
|||||||
Reference in New Issue
Block a user