pgsqlc

package
v0.1.19 Latest Latest
Warning

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

Go to latest
Published: Feb 9, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AcknowledgeWebhookEventsByTraceIDsParams

type AcknowledgeWebhookEventsByTraceIDsParams struct {
	WhoopUserID int64    `json:"whoop_user_id"`
	TraceIds    []string `json:"trace_ids"`
}

type ApiKey

type ApiKey struct {
	ID          int64              `json:"id"`
	WhoopUserID int64              `json:"whoop_user_id"`
	KeyHash     string             `json:"key_hash"`
	Name        *string            `json:"name"`
	CreatedAt   pgtype.Timestamptz `json:"created_at"`
	LastUsedAt  pgtype.Timestamptz `json:"last_used_at"`
	Revoked     bool               `json:"revoked"`
}

type CreateAPIKeyParams

type CreateAPIKeyParams struct {
	WhoopUserID int64   `json:"whoop_user_id"`
	KeyHash     string  `json:"key_hash"`
	Name        *string `json:"name"`
}

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 GetUnackedWebhookEventsParams

type GetUnackedWebhookEventsParams struct {
	WhoopUserID int64  `json:"whoop_user_id"`
	Cursor      *int64 `json:"cursor"`
	MaxResults  int32  `json:"max_results"`
}

type GetUnackedWebhookEventsRow

type GetUnackedWebhookEventsRow struct {
	ID          *int64             `json:"id"`
	TraceID     string             `json:"trace_id"`
	WhoopUserID int64              `json:"whoop_user_id"`
	Timestamp   pgtype.Timestamptz `json:"timestamp"`
	EntityID    string             `json:"entity_id"`
	EntityType  string             `json:"entity_type"`
	Action      string             `json:"action"`
}

type InsertWebhookEventParams

type InsertWebhookEventParams struct {
	TraceID     string             `json:"trace_id"`
	WhoopUserID int64              `json:"whoop_user_id"`
	Timestamp   pgtype.Timestamptz `json:"timestamp"`
	EntityID    string             `json:"entity_id"`
	EntityType  string             `json:"entity_type"`
	Action      string             `json:"action"`
}

type Querier

type Querier interface {
	AcknowledgeWebhookEventsByTraceIDs(ctx context.Context, arg AcknowledgeWebhookEventsByTraceIDsParams) error
	BanUser(ctx context.Context, whoopUserID int64) error
	CreateAPIKey(ctx context.Context, arg CreateAPIKeyParams) (ApiKey, error)
	CreateUser(ctx context.Context, whoopUserID int64) (User, error)
	DeleteAPIKey(ctx context.Context, id int64) error
	GetAPIKeyByHash(ctx context.Context, keyHash string) (ApiKey, error)
	GetAPIKeysByUser(ctx context.Context, whoopUserID int64) ([]ApiKey, error)
	GetOrCreateUser(ctx context.Context, whoopUserID int64) (User, error)
	GetUnackedWebhookEvents(ctx context.Context, arg GetUnackedWebhookEventsParams) ([]GetUnackedWebhookEventsRow, error)
	GetUser(ctx context.Context, whoopUserID int64) (User, error)
	InsertWebhookEvent(ctx context.Context, arg InsertWebhookEventParams) (*int64, error)
	RevokeAPIKey(ctx context.Context, id int64) error
	RevokeAllAPIKeysForUser(ctx context.Context, whoopUserID int64) error
	UnbanUser(ctx context.Context, whoopUserID int64) error
	UpdateAPIKeyLastUsed(ctx context.Context, id int64) error
}

type Queries

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

func New

func New(db DBTX) *Queries

func (*Queries) AcknowledgeWebhookEventsByTraceIDs

func (q *Queries) AcknowledgeWebhookEventsByTraceIDs(ctx context.Context, arg AcknowledgeWebhookEventsByTraceIDsParams) error

func (*Queries) BanUser

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

func (*Queries) CreateAPIKey

func (q *Queries) CreateAPIKey(ctx context.Context, arg CreateAPIKeyParams) (ApiKey, error)

func (*Queries) CreateUser

func (q *Queries) CreateUser(ctx context.Context, whoopUserID int64) (User, error)

func (*Queries) DeleteAPIKey

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

func (*Queries) GetAPIKeyByHash

func (q *Queries) GetAPIKeyByHash(ctx context.Context, keyHash string) (ApiKey, error)

func (*Queries) GetAPIKeysByUser

func (q *Queries) GetAPIKeysByUser(ctx context.Context, whoopUserID int64) ([]ApiKey, error)

func (*Queries) GetOrCreateUser

func (q *Queries) GetOrCreateUser(ctx context.Context, whoopUserID int64) (User, error)

func (*Queries) GetUnackedWebhookEvents

func (q *Queries) GetUnackedWebhookEvents(ctx context.Context, arg GetUnackedWebhookEventsParams) ([]GetUnackedWebhookEventsRow, error)

func (*Queries) GetUser

func (q *Queries) GetUser(ctx context.Context, whoopUserID int64) (User, error)

func (*Queries) InsertWebhookEvent

func (q *Queries) InsertWebhookEvent(ctx context.Context, arg InsertWebhookEventParams) (*int64, error)

func (*Queries) RevokeAPIKey

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

func (*Queries) RevokeAllAPIKeysForUser

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

func (*Queries) UnbanUser

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

func (*Queries) UpdateAPIKeyLastUsed

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

func (*Queries) WithTx

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

type User

type User struct {
	WhoopUserID int64              `json:"whoop_user_id"`
	CreatedAt   pgtype.Timestamptz `json:"created_at"`
	Banned      bool               `json:"banned"`
}

type WebhookEvent

type WebhookEvent struct {
	TraceID        string             `json:"trace_id"`
	ID             *int64             `json:"id"`
	WhoopUserID    int64              `json:"whoop_user_id"`
	Timestamp      pgtype.Timestamptz `json:"timestamp"`
	EntityID       string             `json:"entity_id"`
	EntityType     string             `json:"entity_type"`
	Action         string             `json:"action"`
	AcknowledgedAt pgtype.Timestamptz `json:"acknowledged_at"`
}

Jump to

Keyboard shortcuts

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