Documentation
¶
Index ¶
- func NewRouteRepository(db *gorm.DB, logger *zap.Logger) repository.RouteRepository
- type Config
- type Database
- type GormLogAdapter
- type JSONRouteLoader
- type Migration
- type MigrationFile
- type MigrationManager
- type RouteRepository
- func (r *RouteRepository) AddRoute(ctx context.Context, route *model.Route) error
- func (r *RouteRepository) DeleteRoute(ctx context.Context, path string) error
- func (r *RouteRepository) GetRouteByPath(ctx context.Context, path string) (*model.Route, error)
- func (r *RouteRepository) GetRoutes(ctx context.Context) ([]*model.Route, error)
- func (r *RouteRepository) GetRoutesWithFilters(ctx context.Context, filters map[string]interface{}) ([]*model.Route, error)
- func (r *RouteRepository) UpdateMetrics(ctx context.Context, path string, callCount int64, totalResponseTime int64) error
- func (r *RouteRepository) UpdateRoute(ctx context.Context, route *model.Route) error
- type UserRepository
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewRouteRepository ¶
func NewRouteRepository(db *gorm.DB, logger *zap.Logger) repository.RouteRepository
NewRouteRepository cria um novo repositório de rotas
Types ¶
type Config ¶
type Config struct { Driver string DSN string MaxIdleConns int MaxOpenConns int ConnMaxLifetime time.Duration LogLevel logger.LogLevel SlowThreshold time.Duration MigrationDir string SkipMigrations bool }
Config contém configurações para o banco de dados
type Database ¶
type Database struct {
// contains filtered or unexported fields
}
Database gerencia a conexão com o banco de dados
func NewDatabase ¶
NewDatabase cria uma nova instância do banco de dados
func (*Database) CreateMigration ¶
CreateMigration cria um novo arquivo de migração
type GormLogAdapter ¶
GormLogAdapter adapta o zap.Logger para uso com GORM
func (GormLogAdapter) Printf ¶
func (l GormLogAdapter) Printf(format string, args ...interface{})
Printf implementa a interface de Logger do GORM
type JSONRouteLoader ¶
type JSONRouteLoader struct {
// contains filtered or unexported fields
}
JSONRouteLoader carrega rotas de um arquivo JSON
func NewJSONRouteLoader ¶
func NewJSONRouteLoader(db *Database, logger *zap.Logger) *JSONRouteLoader
NewJSONRouteLoader cria um novo carregador de rotas JSON
func (*JSONRouteLoader) LoadRoutesFromJSON ¶
func (l *JSONRouteLoader) LoadRoutesFromJSON(filePath string) error
LoadRoutesFromJSON carrega rotas de um arquivo JSON para o banco de dados
type Migration ¶
type Migration struct { ID uint `gorm:"primaryKey"` Version int64 `gorm:"uniqueIndex"` Name string AppliedAt time.Time }
Migration representa uma migração de banco de dados
type MigrationFile ¶
MigrationFile representa um arquivo de migração
type MigrationManager ¶
type MigrationManager struct {
// contains filtered or unexported fields
}
MigrationManager gerencia migrações de banco de dados
func NewMigrationManager ¶
NewMigrationManager cria um novo gerenciador de migrações
func (*MigrationManager) ApplyMigrations ¶
func (m *MigrationManager) ApplyMigrations(ctx context.Context) error
ApplyMigrations aplica todas as migrações pendentes
func (*MigrationManager) CreateMigration ¶
func (m *MigrationManager) CreateMigration(name string) (string, error)
CreateMigration cria um novo arquivo de migração
func (*MigrationManager) Initialize ¶
func (m *MigrationManager) Initialize(ctx context.Context) error
Initialize inicializa a tabela de migrações
type RouteRepository ¶
type RouteRepository struct {
// contains filtered or unexported fields
}
RouteRepository implementa repository.RouteRepository
func (*RouteRepository) DeleteRoute ¶
func (r *RouteRepository) DeleteRoute(ctx context.Context, path string) error
DeleteRoute remove uma rota pelo caminho
func (*RouteRepository) GetRouteByPath ¶
GetRouteByPath obtém uma rota específica pelo caminho
func (*RouteRepository) GetRoutesWithFilters ¶
func (r *RouteRepository) GetRoutesWithFilters(ctx context.Context, filters map[string]interface{}) ([]*model.Route, error)
GetRoutesWithFilters obtém rotas com filtros aplicados
func (*RouteRepository) UpdateMetrics ¶
func (r *RouteRepository) UpdateMetrics(ctx context.Context, path string, callCount int64, totalResponseTime int64) error
UpdateMetrics atualiza as métricas de uma rota
func (*RouteRepository) UpdateRoute ¶
UpdateRoute atualiza uma rota existente
type UserRepository ¶
type UserRepository struct {
// contains filtered or unexported fields
}
func NewUserRepository ¶
func NewUserRepository(db *gorm.DB) *UserRepository
func (*UserRepository) DiagnoseUserStorage ¶
func (r *UserRepository) DiagnoseUserStorage(username string) (string, error)
DiagnoseUserStorage ajuda a diagnosticar problemas com armazenamento de usuários
func (*UserRepository) GetUserByCredentials ¶
func (r *UserRepository) GetUserByCredentials(username, password string) (*model.User, error)
func (*UserRepository) GetUserByID ¶
func (r *UserRepository) GetUserByID(id string) (*model.User, error)