db

package
v0.2.4 Latest Latest
Warning

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

Go to latest
Published: May 17, 2026 License: AGPL-3.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ConnectToDB

func ConnectToDB(ctx context.Context, DBCfg *config.DBConfig, log *zerolog.Logger) (*pgxpool.Pool, error)

Types

type AddTeamMemberParams added in v0.1.9

type AddTeamMemberParams struct {
	TeamID pgtype.UUID
	UserID pgtype.UUID
	Role   string
}

type Alert

type Alert struct {
	ID         pgtype.UUID
	IncidentID pgtype.UUID
	SentAt     pgtype.Timestamptz
	AlertEmail string
	Status     string
	CreatedAt  pgtype.Timestamptz
}

type CloseMonitorIncidentParams

type CloseMonitorIncidentParams struct {
	MonitorID pgtype.UUID
	EndTime   pgtype.Timestamptz
}

type CreateAlertParams

type CreateAlertParams struct {
	IncidentID pgtype.UUID
	AlertEmail string
}

type CreateInvitationParams added in v0.1.2

type CreateInvitationParams struct {
	TeamID    pgtype.UUID
	Email     string
	Role      string
	Token     string
	ExpiresAt pgtype.Timestamptz
	InvitedBy pgtype.UUID
}

type CreateInvitationRow added in v0.1.9

type CreateInvitationRow struct {
	ID         pgtype.UUID
	TeamID     pgtype.UUID
	Email      string
	Role       string
	Token      string
	ExpiresAt  pgtype.Timestamptz
	AcceptedAt pgtype.Timestamptz
	InvitedBy  pgtype.UUID
	CreatedAt  pgtype.Timestamptz
}

type CreateMonitorIncidentParams

type CreateMonitorIncidentParams struct {
	MonitorID  pgtype.UUID
	StartTime  pgtype.Timestamptz
	Alerted    bool
	HttpStatus int32
	LatencyMs  int32
}

type CreateMonitorParams

type CreateMonitorParams struct {
	UserID               pgtype.UUID
	TeamID               pgtype.UUID
	Url                  string
	IntervalSec          int32
	TimeoutSec           int32
	LatencyThresholdMs   pgtype.Int4
	ExpectedStatus       pgtype.Int4
	AlertEmail           pgtype.Text
	NotificationChannels string
}

type CreateUserParams

type CreateUserParams struct {
	Name         string
	Email        string
	PasswordHash string
	Role         string
}

type DBTX

type DBTX interface {
	Exec(context.Context, string, ...interface{}) (pgconn.CommandTag, error)
	Query(context.Context, string, ...interface{}) (pgx.Rows, error)
	QueryRow(context.Context, string, ...interface{}) pgx.Row
}

type DeleteInvitationParams added in v0.1.9

type DeleteInvitationParams struct {
	ID     pgtype.UUID
	TeamID pgtype.UUID
}

type DeleteMonitorParams added in v0.1.2

type DeleteMonitorParams struct {
	ID     pgtype.UUID
	TeamID pgtype.UUID
}

type DeletePluginParams added in v0.1.9

type DeletePluginParams struct {
	TeamID     pgtype.UUID
	PluginType string
}

type GetIncidentByIDAndTeamIDParams added in v0.1.9

type GetIncidentByIDAndTeamIDParams struct {
	ID     pgtype.UUID
	TeamID pgtype.UUID
}

type GetIncidentByIDAndTeamIDRow added in v0.1.9

type GetIncidentByIDAndTeamIDRow struct {
	ID                 pgtype.UUID
	MonitorID          pgtype.UUID
	MonitorUrl         string
	StartTime          pgtype.Timestamptz
	EndTime            pgtype.Timestamptz
	Alerted            bool
	HttpStatus         int32
	LatencyMs          int32
	CreatedAt          pgtype.Timestamptz
	IsActive           bool
	DurationSec        int64
	AlertStatus        string
	AlertEmail         string
	AlertSentAt        pgtype.Timestamptz
	ExpectedStatus     pgtype.Int4
	LatencyThresholdMs pgtype.Int4
}

type GetInvitationByTokenRow added in v0.1.9

type GetInvitationByTokenRow struct {
	ID         pgtype.UUID
	TeamID     pgtype.UUID
	Email      string
	Role       string
	Token      string
	ExpiresAt  pgtype.Timestamptz
	AcceptedAt pgtype.Timestamptz
	InvitedBy  pgtype.UUID
	CreatedAt  pgtype.Timestamptz
}

type GetMonitorByIDRow

type GetMonitorByIDRow struct {
	ID                   pgtype.UUID
	UserID               pgtype.UUID
	TeamID               pgtype.UUID
	Url                  string
	AlertEmail           pgtype.Text
	NotificationChannels string
	IntervalSec          int32
	TimeoutSec           int32
	LatencyThresholdMs   pgtype.Int4
	ExpectedStatus       pgtype.Int4
	Enabled              bool
}

type GetMonitorByTeamIDParams added in v0.1.9

type GetMonitorByTeamIDParams struct {
	ID     pgtype.UUID
	TeamID pgtype.UUID
}

type GetMonitorByTeamIDRow added in v0.1.9

type GetMonitorByTeamIDRow struct {
	ID                   pgtype.UUID
	UserID               pgtype.UUID
	TeamID               pgtype.UUID
	Url                  string
	AlertEmail           pgtype.Text
	NotificationChannels string
	IntervalSec          int32
	TimeoutSec           int32
	LatencyThresholdMs   pgtype.Int4
	ExpectedStatus       pgtype.Int4
	Enabled              bool
}

type GetPluginParams added in v0.1.9

type GetPluginParams struct {
	TeamID     pgtype.UUID
	PluginType string
}

type GetTeamMembershipParams added in v0.1.9

type GetTeamMembershipParams struct {
	TeamID pgtype.UUID
	UserID pgtype.UUID
}

type GetUserByEmailRow

type GetUserByEmailRow struct {
	ID           pgtype.UUID
	Name         string
	Email        string
	PasswordHash string
	Role         string
	IsActive     bool
}

type GetUserByIDRow

type GetUserByIDRow struct {
	ID            pgtype.UUID
	Name          string
	Email         string
	PasswordHash  string
	MonitorsCount pgtype.Int4
}

type InstanceSetting added in v0.1.2

type InstanceSetting struct {
	ID                   int32
	RegistrationsEnabled bool
}

type Invitation added in v0.1.2

type Invitation struct {
	ID         pgtype.UUID
	Email      string
	Role       string
	Token      string
	ExpiresAt  pgtype.Timestamptz
	AcceptedAt pgtype.Timestamptz
	InvitedBy  pgtype.UUID
	CreatedAt  pgtype.Timestamptz
	TeamID     pgtype.UUID
}

type ListIncidentsByTeamCursorParams added in v0.1.9

type ListIncidentsByTeamCursorParams struct {
	TeamID  pgtype.UUID
	Column2 string
	Column3 pgtype.Timestamptz
	Column4 pgtype.Timestamptz
	Column5 string
	Column6 pgtype.UUID
	Column7 pgtype.Timestamptz
	Column8 pgtype.UUID
	Limit   int32
}

type ListIncidentsByTeamCursorRow added in v0.1.9

type ListIncidentsByTeamCursorRow struct {
	ID                 pgtype.UUID
	MonitorID          pgtype.UUID
	MonitorUrl         string
	StartTime          pgtype.Timestamptz
	EndTime            pgtype.Timestamptz
	Alerted            bool
	HttpStatus         int32
	LatencyMs          int32
	CreatedAt          pgtype.Timestamptz
	IsActive           bool
	DurationSec        int64
	AlertStatus        string
	AlertEmail         string
	AlertSentAt        pgtype.Timestamptz
	ExpectedStatus     pgtype.Int4
	LatencyThresholdMs pgtype.Int4
}

type ListInvitationsRow added in v0.1.9

type ListInvitationsRow struct {
	ID         pgtype.UUID
	TeamID     pgtype.UUID
	Email      string
	Role       string
	Token      string
	ExpiresAt  pgtype.Timestamptz
	AcceptedAt pgtype.Timestamptz
	InvitedBy  pgtype.UUID
	CreatedAt  pgtype.Timestamptz
}

type ListMonitorsByTeamCursorParams added in v0.1.9

type ListMonitorsByTeamCursorParams struct {
	TeamID  pgtype.UUID
	Column2 pgtype.Timestamptz
	Column3 pgtype.UUID
	Limit   int32
}

type ListMonitorsByTeamCursorRow added in v0.1.9

type ListMonitorsByTeamCursorRow struct {
	ID                   pgtype.UUID
	UserID               pgtype.UUID
	TeamID               pgtype.UUID
	Url                  string
	AlertEmail           pgtype.Text
	NotificationChannels string
	IntervalSec          int32
	TimeoutSec           int32
	LatencyThresholdMs   pgtype.Int4
	ExpectedStatus       pgtype.Int4
	Enabled              bool
	CreatedAt            pgtype.Timestamptz
	IsDown               bool
}

type ListTeamMembersRow added in v0.1.9

type ListTeamMembersRow struct {
	ID        pgtype.UUID
	Name      string
	Email     string
	Role      string
	IsActive  bool
	CreatedAt pgtype.Timestamptz
}

type ListUsersRow added in v0.1.2

type ListUsersRow struct {
	ID        pgtype.UUID
	Name      string
	Email     string
	Role      string
	IsActive  bool
	CreatedAt pgtype.Timestamptz
}

type Monitor

type Monitor struct {
	ID                   pgtype.UUID
	UserID               pgtype.UUID
	Url                  string
	AlertEmail           pgtype.Text
	IntervalSec          int32
	TimeoutSec           int32
	LatencyThresholdMs   pgtype.Int4
	ExpectedStatus       pgtype.Int4
	Enabled              bool
	UpdatedAt            pgtype.Timestamptz
	CreatedAt            pgtype.Timestamptz
	TeamID               pgtype.UUID
	NotificationChannels string
}

type MonitorIncident

type MonitorIncident struct {
	ID         pgtype.UUID
	MonitorID  pgtype.UUID
	StartTime  pgtype.Timestamptz
	EndTime    pgtype.Timestamptz
	Alerted    bool
	HttpStatus int32
	LatencyMs  int32
	CreatedAt  pgtype.Timestamptz
}

type Plugin added in v0.1.9

type Plugin struct {
	ID         pgtype.UUID
	TeamID     pgtype.UUID
	PluginType string
	Enabled    bool
	ConfigEnc  string
	CreatedAt  pgtype.Timestamptz
	UpdatedAt  pgtype.Timestamptz
}

type Queries

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

func New

func New(db DBTX) *Queries

func (*Queries) AcceptInvitation added in v0.1.2

func (q *Queries) AcceptInvitation(ctx context.Context, token string) error

func (*Queries) AddTeamMember added in v0.1.9

func (q *Queries) AddTeamMember(ctx context.Context, arg AddTeamMemberParams) (TeamMember, error)

func (*Queries) CloseMonitorIncident

func (q *Queries) CloseMonitorIncident(ctx context.Context, arg CloseMonitorIncidentParams) (pgtype.UUID, error)

func (*Queries) CreateAlert

func (q *Queries) CreateAlert(ctx context.Context, arg CreateAlertParams) error

func (*Queries) CreateInvitation added in v0.1.2

func (q *Queries) CreateInvitation(ctx context.Context, arg CreateInvitationParams) (CreateInvitationRow, error)

func (*Queries) CreateMonitor

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

func (*Queries) CreateMonitorIncident

func (q *Queries) CreateMonitorIncident(ctx context.Context, arg CreateMonitorIncidentParams) (pgtype.UUID, error)

func (*Queries) CreateTeam added in v0.1.9

func (q *Queries) CreateTeam(ctx context.Context, name string) (Team, error)

func (*Queries) CreateUser

func (q *Queries) CreateUser(ctx context.Context, arg CreateUserParams) (pgtype.UUID, error)

func (*Queries) DecrementMonitorCount added in v0.1.2

func (q *Queries) DecrementMonitorCount(ctx context.Context, id pgtype.UUID) error

func (*Queries) DeleteInvitation added in v0.1.2

func (q *Queries) DeleteInvitation(ctx context.Context, arg DeleteInvitationParams) error

func (*Queries) DeleteMonitor added in v0.1.2

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

func (*Queries) DeletePlugin added in v0.1.9

func (q *Queries) DeletePlugin(ctx context.Context, arg DeletePluginParams) error

func (*Queries) GetIncidentByIDAndTeamID added in v0.1.9

func (*Queries) GetInvitationByToken added in v0.1.2

func (q *Queries) GetInvitationByToken(ctx context.Context, token string) (GetInvitationByTokenRow, error)

func (*Queries) GetMonitorByID

func (q *Queries) GetMonitorByID(ctx context.Context, id pgtype.UUID) (GetMonitorByIDRow, error)

func (*Queries) GetMonitorByTeamID added in v0.1.9

func (q *Queries) GetMonitorByTeamID(ctx context.Context, arg GetMonitorByTeamIDParams) (GetMonitorByTeamIDRow, error)

func (*Queries) GetMonitorIncidentByID

func (q *Queries) GetMonitorIncidentByID(ctx context.Context, id pgtype.UUID) (MonitorIncident, error)

func (*Queries) GetPlugin added in v0.1.9

func (q *Queries) GetPlugin(ctx context.Context, arg GetPluginParams) (Plugin, error)

func (*Queries) GetRegistrationsEnabled added in v0.1.2

func (q *Queries) GetRegistrationsEnabled(ctx context.Context) (bool, error)

func (*Queries) GetTeamByID added in v0.1.9

func (q *Queries) GetTeamByID(ctx context.Context, id pgtype.UUID) (Team, error)

func (*Queries) GetTeamMembership added in v0.1.9

func (q *Queries) GetTeamMembership(ctx context.Context, arg GetTeamMembershipParams) (TeamMember, error)

func (*Queries) GetUserActiveStatus added in v0.1.2

func (q *Queries) GetUserActiveStatus(ctx context.Context, id pgtype.UUID) (bool, error)

func (*Queries) GetUserByEmail

func (q *Queries) GetUserByEmail(ctx context.Context, email string) (GetUserByEmailRow, error)

func (*Queries) GetUserByID

func (q *Queries) GetUserByID(ctx context.Context, id pgtype.UUID) (GetUserByIDRow, error)

func (*Queries) GetUserPasswordHash added in v0.1.2

func (q *Queries) GetUserPasswordHash(ctx context.Context, id pgtype.UUID) (string, error)

func (*Queries) HasUsers added in v0.1.2

func (q *Queries) HasUsers(ctx context.Context) (bool, error)

func (*Queries) IncrementMonitorCount

func (q *Queries) IncrementMonitorCount(ctx context.Context, id pgtype.UUID) (int64, error)

func (*Queries) ListIncidentsByTeamCursor added in v0.1.9

func (q *Queries) ListIncidentsByTeamCursor(ctx context.Context, arg ListIncidentsByTeamCursorParams) ([]ListIncidentsByTeamCursorRow, error)

func (*Queries) ListInvitations added in v0.1.2

func (q *Queries) ListInvitations(ctx context.Context, teamID pgtype.UUID) ([]ListInvitationsRow, error)

func (*Queries) ListMonitorsByTeamCursor added in v0.1.9

func (q *Queries) ListMonitorsByTeamCursor(ctx context.Context, arg ListMonitorsByTeamCursorParams) ([]ListMonitorsByTeamCursorRow, error)

func (*Queries) ListPlugins added in v0.1.9

func (q *Queries) ListPlugins(ctx context.Context, teamID pgtype.UUID) ([]Plugin, error)

func (*Queries) ListTeamMembers added in v0.1.9

func (q *Queries) ListTeamMembers(ctx context.Context, teamID pgtype.UUID) ([]ListTeamMembersRow, error)

func (*Queries) ListTeamsByUserID added in v0.1.9

func (q *Queries) ListTeamsByUserID(ctx context.Context, userID pgtype.UUID) ([]Team, error)

func (*Queries) ListUsers added in v0.1.2

func (q *Queries) ListUsers(ctx context.Context) ([]ListUsersRow, error)

func (*Queries) SetRegistrationsEnabled added in v0.1.2

func (q *Queries) SetRegistrationsEnabled(ctx context.Context, registrationsEnabled bool) error

func (*Queries) SetTeamMemberActive added in v0.1.9

func (q *Queries) SetTeamMemberActive(ctx context.Context, arg SetTeamMemberActiveParams) error

func (*Queries) SetUserActive added in v0.1.2

func (q *Queries) SetUserActive(ctx context.Context, arg SetUserActiveParams) error

func (*Queries) UpdateAlertStatus

func (q *Queries) UpdateAlertStatus(ctx context.Context, arg UpdateAlertStatusParams) (int64, error)

func (*Queries) UpdateMonitorStatus

func (q *Queries) UpdateMonitorStatus(ctx context.Context, arg UpdateMonitorStatusParams) (int64, error)

func (*Queries) UpdateTeamName added in v0.1.2

func (q *Queries) UpdateTeamName(ctx context.Context, arg UpdateTeamNameParams) error

func (*Queries) UpdateUserName added in v0.1.2

func (q *Queries) UpdateUserName(ctx context.Context, arg UpdateUserNameParams) error

func (*Queries) UpdateUserPassword added in v0.1.2

func (q *Queries) UpdateUserPassword(ctx context.Context, arg UpdateUserPasswordParams) error

func (*Queries) UpsertPlugin added in v0.1.9

func (q *Queries) UpsertPlugin(ctx context.Context, arg UpsertPluginParams) (Plugin, error)

func (*Queries) UserIsMember added in v0.1.9

func (q *Queries) UserIsMember(ctx context.Context, arg UserIsMemberParams) (bool, error)

func (*Queries) WithTx

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

type SetTeamMemberActiveParams added in v0.1.9

type SetTeamMemberActiveParams struct {
	TeamID   pgtype.UUID
	UserID   pgtype.UUID
	IsActive bool
}

type SetUserActiveParams added in v0.1.2

type SetUserActiveParams struct {
	IsActive bool
	ID       pgtype.UUID
}

type Team added in v0.1.2

type Team struct {
	ID        pgtype.UUID
	Name      string
	CreatedAt pgtype.Timestamptz
	UpdatedAt pgtype.Timestamptz
}

type TeamMember added in v0.1.9

type TeamMember struct {
	ID       pgtype.UUID
	TeamID   pgtype.UUID
	UserID   pgtype.UUID
	Role     string
	IsActive bool
	JoinedAt pgtype.Timestamptz
}

type UpdateAlertStatusParams

type UpdateAlertStatusParams struct {
	ID     pgtype.UUID
	Status string
}

type UpdateMonitorStatusParams

type UpdateMonitorStatusParams struct {
	ID      pgtype.UUID
	Enabled bool
	TeamID  pgtype.UUID
}

type UpdateTeamNameParams added in v0.1.9

type UpdateTeamNameParams struct {
	ID   pgtype.UUID
	Name string
}

type UpdateUserNameParams added in v0.1.2

type UpdateUserNameParams struct {
	Name string
	ID   pgtype.UUID
}

type UpdateUserPasswordParams added in v0.1.2

type UpdateUserPasswordParams struct {
	PasswordHash string
	ID           pgtype.UUID
}

type UpsertPluginParams added in v0.1.9

type UpsertPluginParams struct {
	TeamID     pgtype.UUID
	PluginType string
	Enabled    bool
	ConfigEnc  string
}

type User

type User struct {
	ID            pgtype.UUID
	Name          string
	Email         string
	PasswordHash  string
	Role          string
	MonitorsCount pgtype.Int4
	CreatedAt     pgtype.Timestamptz
	IsActive      bool
}

type UserIsMemberParams added in v0.1.9

type UserIsMemberParams struct {
	TeamID pgtype.UUID
	UserID pgtype.UUID
}

Jump to

Keyboard shortcuts

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