39 lines
742 B
Go
39 lines
742 B
Go
package module
|
|
|
|
import (
|
|
"log/slog"
|
|
|
|
"github.com/go-chi/chi/v5"
|
|
"github.com/jackc/pgx/v5/pgxpool"
|
|
"github.com/redis/go-redis/v9"
|
|
|
|
"github.com/example/remote-access-platform/backend/internal/platform/config"
|
|
)
|
|
|
|
type Dependencies struct {
|
|
Config Config
|
|
Infra Infra
|
|
}
|
|
|
|
type Config struct {
|
|
App config.AppConfig
|
|
Auth config.AuthConfig
|
|
Installation config.InstallationConfig
|
|
DataPlane config.DataPlaneConfig
|
|
Secret config.SecretConfig
|
|
Session config.SessionConfig
|
|
Worker config.WorkerConfig
|
|
WebSocket config.WebSocketConfig
|
|
}
|
|
|
|
type Infra struct {
|
|
Logger *slog.Logger
|
|
DB *pgxpool.Pool
|
|
Redis *redis.Client
|
|
}
|
|
|
|
type Module interface {
|
|
Name() string
|
|
RegisterRoutes(router chi.Router)
|
|
}
|