db

package
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 22, 2026 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package db provides functionality for interacting with the database

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Check

type Check struct {
	ID           int64     `json:"id"`
	MonitorID    int64     `json:"monitorId"`
	StatusCode   int64     `json:"statusCode"`
	ResponseTime int64     `json:"responseTime"`
	Error        *string   `json:"error"`
	IsUp         bool      `json:"isUp"`
	CheckedAt    time.Time `json:"checkedAt"`
}

type Connection

type Connection struct {
	Q *Queries
	// contains filtered or unexported fields
}

func NewConnection

func NewConnection(ctx context.Context, path string) *Connection

NewConnection opens a SQLite connection.

func (*Connection) Get

func (c *Connection) Get() *sql.DB

type CreateCheckParams

type CreateCheckParams struct {
	MonitorID    int64   `json:"monitorId"`
	StatusCode   int64   `json:"statusCode"`
	ResponseTime int64   `json:"responseTime"`
	Error        *string `json:"error"`
	IsUp         bool    `json:"isUp"`
}

type CreateMonitorParams

type CreateMonitorParams struct {
	Name          string `json:"name"`
	Url           string `json:"url"`
	CheckInterval int64  `json:"checkInterval"`
}

type CreatePushSubscriptionParams

type CreatePushSubscriptionParams struct {
	MonitorID int64  `json:"monitorId"`
	Endpoint  string `json:"endpoint"`
	P256dhKey string `json:"p256dhKey"`
	AuthKey   string `json:"authKey"`
}

type CreateVAPIDKeysParams

type CreateVAPIDKeysParams struct {
	PublicKey  string `json:"publicKey"`
	PrivateKey string `json:"privateKey"`
}

type DBTX

type DBTX interface {
	ExecContext(context.Context, string, ...interface{}) (sql.Result, error)
	PrepareContext(context.Context, string) (*sql.Stmt, error)
	QueryContext(context.Context, string, ...interface{}) (*sql.Rows, error)
	QueryRowContext(context.Context, string, ...interface{}) *sql.Row
}

type DeletePushSubscriptionParams

type DeletePushSubscriptionParams struct {
	Endpoint  string `json:"endpoint"`
	MonitorID int64  `json:"monitorId"`
}

type GetDataPointsParams added in v0.1.1

type GetDataPointsParams struct {
	BucketSize        int64     `json:"bucketSize"`
	DegradedThreshold int64     `json:"degradedThreshold"`
	Since             time.Time `json:"since"`
}

type GetDataPointsRow added in v0.1.1

type GetDataPointsRow struct {
	MonitorID       int64   `json:"monitorId"`
	BucketTs        int64   `json:"bucketTs"`
	TotalCount      int64   `json:"totalCount"`
	AvgResponseTime int64   `json:"avgResponseTime"`
	UpCount         float64 `json:"upCount"`
	DegradedCount   float64 `json:"degradedCount"`
	DownCount       float64 `json:"downCount"`
}

type GetMonitorStatsRow added in v0.1.1

type GetMonitorStatsRow struct {
	ID              int64   `json:"id"`
	Name            string  `json:"name"`
	Url             string  `json:"url"`
	CheckInterval   int64   `json:"checkInterval"`
	TotalChecks     int64   `json:"totalChecks"`
	UptimePct       float64 `json:"uptimePct"`
	AvgResponseTime int64   `json:"avgResponseTime"`
}

type GetPercentilesRow added in v0.1.1

type GetPercentilesRow struct {
	MonitorID int64 `json:"monitorId"`
	P50       int64 `json:"p50"`
	P75       int64 `json:"p75"`
	P90       int64 `json:"p90"`
	P95       int64 `json:"p95"`
	P99       int64 `json:"p99"`
}

type GetStatusDataPointsParams added in v0.1.1

type GetStatusDataPointsParams struct {
	BucketSize        int64     `json:"bucketSize"`
	DegradedThreshold int64     `json:"degradedThreshold"`
	Since             time.Time `json:"since"`
}

type GetStatusDataPointsRow added in v0.1.1

type GetStatusDataPointsRow struct {
	MonitorID     int64   `json:"monitorId"`
	BucketTs      int64   `json:"bucketTs"`
	TotalCount    int64   `json:"totalCount"`
	DownCount     float64 `json:"downCount"`
	DegradedCount float64 `json:"degradedCount"`
	UpCount       float64 `json:"upCount"`
}

type GetTimeSeriesDataPointsParams added in v0.1.1

type GetTimeSeriesDataPointsParams struct {
	BucketSize int64     `json:"bucketSize"`
	Since      time.Time `json:"since"`
}

type GetTimeSeriesDataPointsRow added in v0.1.1

type GetTimeSeriesDataPointsRow struct {
	MonitorID       int64   `json:"monitorId"`
	BucketTs        int64   `json:"bucketTs"`
	AvgResponseTime int64   `json:"avgResponseTime"`
	UpCount         float64 `json:"upCount"`
	TotalCount      int64   `json:"totalCount"`
}

type Monitor

type Monitor struct {
	ID            int64     `json:"id"`
	Name          string    `json:"name"`
	Url           string    `json:"url"`
	CheckInterval int64     `json:"checkInterval"`
	CreatedAt     time.Time `json:"createdAt"`
	UpdatedAt     time.Time `json:"updatedAt"`
}

type PushSubscription

type PushSubscription struct {
	ID        int64     `json:"id"`
	MonitorID int64     `json:"monitorId"`
	Endpoint  string    `json:"endpoint"`
	P256dhKey string    `json:"p256dhKey"`
	AuthKey   string    `json:"authKey"`
	CreatedAt time.Time `json:"createdAt"`
}

type Querier

type Querier interface {
	CleanupChecks(ctx context.Context, days *string) error
	CreateCheck(ctx context.Context, arg *CreateCheckParams) error
	CreateMonitor(ctx context.Context, arg *CreateMonitorParams) (*Monitor, error)
	CreatePushSubscription(ctx context.Context, arg *CreatePushSubscriptionParams) error
	CreateVAPIDKeys(ctx context.Context, arg *CreateVAPIDKeysParams) error
	DeleteMonitor(ctx context.Context, id int64) error
	DeletePushSubscription(ctx context.Context, arg *DeletePushSubscriptionParams) error
	DeletePushSubscriptionByEndpoint(ctx context.Context, endpoint string) error
	GetDataPoints(ctx context.Context, arg *GetDataPointsParams) ([]*GetDataPointsRow, error)
	GetMonitor(ctx context.Context, id int64) (*Monitor, error)
	GetMonitorStats(ctx context.Context, seconds *string) ([]*GetMonitorStatsRow, error)
	GetMonitors(ctx context.Context) ([]*Monitor, error)
	GetPercentiles(ctx context.Context, since time.Time) ([]*GetPercentilesRow, error)
	GetPushSubscriptionsByMonitor(ctx context.Context, monitorID int64) ([]*PushSubscription, error)
	GetStatusDataPoints(ctx context.Context, arg *GetStatusDataPointsParams) ([]*GetStatusDataPointsRow, error)
	GetTimeSeriesDataPoints(ctx context.Context, arg *GetTimeSeriesDataPointsParams) ([]*GetTimeSeriesDataPointsRow, error)
	GetVAPIDKeys(ctx context.Context) (*VapidKey, error)
	UpdateMonitor(ctx context.Context, arg *UpdateMonitorParams) (*Monitor, error)
	VAPIDKeysExist(ctx context.Context) (int64, error)
}

type Queries

type Queries struct {
	// contains filtered or unexported fields
}

func New

func New(db DBTX) *Queries

func Prepare

func Prepare(ctx context.Context, db DBTX) (*Queries, error)

func (*Queries) CleanupChecks

func (q *Queries) CleanupChecks(ctx context.Context, days *string) error

func (*Queries) Close

func (q *Queries) Close() error

func (*Queries) CreateCheck

func (q *Queries) CreateCheck(ctx context.Context, arg *CreateCheckParams) error

func (*Queries) CreateMonitor

func (q *Queries) CreateMonitor(ctx context.Context, arg *CreateMonitorParams) (*Monitor, error)

func (*Queries) CreatePushSubscription

func (q *Queries) CreatePushSubscription(ctx context.Context, arg *CreatePushSubscriptionParams) error

func (*Queries) CreateVAPIDKeys

func (q *Queries) CreateVAPIDKeys(ctx context.Context, arg *CreateVAPIDKeysParams) error

func (*Queries) DeleteMonitor

func (q *Queries) DeleteMonitor(ctx context.Context, id int64) error

func (*Queries) DeletePushSubscription

func (q *Queries) DeletePushSubscription(ctx context.Context, arg *DeletePushSubscriptionParams) error

func (*Queries) DeletePushSubscriptionByEndpoint

func (q *Queries) DeletePushSubscriptionByEndpoint(ctx context.Context, endpoint string) error

func (*Queries) GetDataPoints added in v0.1.1

func (q *Queries) GetDataPoints(ctx context.Context, arg *GetDataPointsParams) ([]*GetDataPointsRow, error)

func (*Queries) GetMonitor

func (q *Queries) GetMonitor(ctx context.Context, id int64) (*Monitor, error)

func (*Queries) GetMonitorStats added in v0.1.1

func (q *Queries) GetMonitorStats(ctx context.Context, seconds *string) ([]*GetMonitorStatsRow, error)

func (*Queries) GetMonitors

func (q *Queries) GetMonitors(ctx context.Context) ([]*Monitor, error)

func (*Queries) GetPercentiles added in v0.1.1

func (q *Queries) GetPercentiles(ctx context.Context, since time.Time) ([]*GetPercentilesRow, error)

func (*Queries) GetPushSubscriptionsByMonitor

func (q *Queries) GetPushSubscriptionsByMonitor(ctx context.Context, monitorID int64) ([]*PushSubscription, error)

func (*Queries) GetStatusDataPoints added in v0.1.1

func (q *Queries) GetStatusDataPoints(ctx context.Context, arg *GetStatusDataPointsParams) ([]*GetStatusDataPointsRow, error)

func (*Queries) GetTimeSeriesDataPoints added in v0.1.1

func (q *Queries) GetTimeSeriesDataPoints(ctx context.Context, arg *GetTimeSeriesDataPointsParams) ([]*GetTimeSeriesDataPointsRow, error)

func (*Queries) GetVAPIDKeys

func (q *Queries) GetVAPIDKeys(ctx context.Context) (*VapidKey, error)

func (*Queries) UpdateMonitor

func (q *Queries) UpdateMonitor(ctx context.Context, arg *UpdateMonitorParams) (*Monitor, error)

func (*Queries) VAPIDKeysExist

func (q *Queries) VAPIDKeysExist(ctx context.Context) (int64, error)

func (*Queries) WithTx

func (q *Queries) WithTx(tx *sql.Tx) *Queries

type UpdateMonitorParams

type UpdateMonitorParams struct {
	Name          string `json:"name"`
	Url           string `json:"url"`
	CheckInterval int64  `json:"checkInterval"`
	ID            int64  `json:"id"`
}

type VapidKey

type VapidKey struct {
	ID         int64     `json:"id"`
	PublicKey  string    `json:"publicKey"`
	PrivateKey string    `json:"privateKey"`
	CreatedAt  time.Time `json:"createdAt"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL