Documentation
¶
Index ¶
- type Config
- type DatabaseStore
- func (d *DatabaseStore) Close() error
- func (d *DatabaseStore) DeleteService(ctx context.Context, key string) error
- func (d *DatabaseStore) DeleteSubscriptions(ctx context.Context, subscriberKey string) error
- func (d *DatabaseStore) GetAllServices(ctx context.Context) ([]*models.ServiceInfo, error)
- func (d *DatabaseStore) GetAllSubscriptions(ctx context.Context) (map[string][]string, error)
- func (d *DatabaseStore) GetService(ctx context.Context, key string) (*models.ServiceInfo, error)
- func (d *DatabaseStore) GetSubscriptions(ctx context.Context, subscriberKey string) ([]string, error)
- func (d *DatabaseStore) Ping(ctx context.Context) error
- func (d *DatabaseStore) SaveService(ctx context.Context, service *models.ServiceInfo) error
- func (d *DatabaseStore) SaveSubscriptions(ctx context.Context, subscriberKey string, subscriptions []string) error
- func (d *DatabaseStore) UpdateHealthStatus(ctx context.Context, key string, status models.ServiceStatus, ...) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
Host string
Port int
Database string
Username string
Password string
SSLMode string // disable, require, verify-ca, verify-full
// Optional parameters
MaxOpenConns int
MaxIdleConns int
ConnMaxLifetime time.Duration
}
Config holds PostgreSQL connection configuration
type DatabaseStore ¶
type DatabaseStore struct {
// contains filtered or unexported fields
}
DatabaseStore implements storage.DatabaseStore using PostgreSQL
func NewDatabaseStore ¶
func NewDatabaseStore(cfg Config) (*DatabaseStore, error)
NewDatabaseStore creates a new PostgreSQL database store and initializes tables
func (*DatabaseStore) Close ¶
func (d *DatabaseStore) Close() error
Close closes the database connection
func (*DatabaseStore) DeleteService ¶
func (d *DatabaseStore) DeleteService(ctx context.Context, key string) error
DeleteService removes a service entry by its composite key
func (*DatabaseStore) DeleteSubscriptions ¶
func (d *DatabaseStore) DeleteSubscriptions(ctx context.Context, subscriberKey string) error
DeleteSubscriptions removes all subscriptions for a subscriber
func (*DatabaseStore) GetAllServices ¶
func (d *DatabaseStore) GetAllServices(ctx context.Context) ([]*models.ServiceInfo, error)
GetAllServices retrieves all registered services
func (*DatabaseStore) GetAllSubscriptions ¶
GetAllSubscriptions retrieves all subscription relationships
func (*DatabaseStore) GetService ¶
func (d *DatabaseStore) GetService(ctx context.Context, key string) (*models.ServiceInfo, error)
GetService retrieves a single service by its composite key
func (*DatabaseStore) GetSubscriptions ¶
func (d *DatabaseStore) GetSubscriptions(ctx context.Context, subscriberKey string) ([]string, error)
GetSubscriptions retrieves all service groups that a subscriber is subscribed to
func (*DatabaseStore) Ping ¶
func (d *DatabaseStore) Ping(ctx context.Context) error
Ping checks if the database is accessible
func (*DatabaseStore) SaveService ¶
func (d *DatabaseStore) SaveService(ctx context.Context, service *models.ServiceInfo) error
SaveService stores or updates a service entry
func (*DatabaseStore) SaveSubscriptions ¶
func (d *DatabaseStore) SaveSubscriptions(ctx context.Context, subscriberKey string, subscriptions []string) error
SaveSubscriptions saves all subscriptions for a service (replaces existing)
func (*DatabaseStore) UpdateHealthStatus ¶
func (d *DatabaseStore) UpdateHealthStatus(ctx context.Context, key string, status models.ServiceStatus, timestamp time.Time) error
UpdateHealthStatus updates the health status and last check timestamp