sqlc

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Mar 8, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MustUUIDFromString

func MustUUIDFromString(value string) *uuid.UUID

Types

type APIKey

type APIKey struct {
	ID        uuid.UUID  `json:"id"`
	Name      string     `json:"name"`
	KeyPrefix string     `json:"key_prefix"`
	KeyHash   string     `json:"-"`
	Scopes    []byte     `json:"scopes"`
	TenantID  *uuid.UUID `json:"tenant_id,omitempty"`
	CreatedBy *string    `json:"created_by,omitempty"`

	LastUsedAt *time.Time `json:"last_used_at,omitempty"`
	ExpiresAt  *time.Time `json:"expires_at,omitempty"`
	RevokedAt  *time.Time `json:"revoked_at,omitempty"`
	CreatedAt  time.Time  `json:"created_at"`
}

type CompleteRunFailureParams

type CompleteRunFailureParams struct {
	RunID              uuid.UUID
	AttemptNumber      int32
	ResponseStatusCode *int32
	ResponseHeaders    []byte
	ResponseBody       *string
	ErrorMessage       string
	FinishedAt         time.Time
}

type CompleteRunSuccessParams

type CompleteRunSuccessParams struct {
	RunID              uuid.UUID
	AttemptNumber      int32
	ResponseStatusCode int32
	ResponseHeaders    []byte
	ResponseBody       string
	FinishedAt         time.Time
}

type CreateAPIKeyParams

type CreateAPIKeyParams struct {
	ID        uuid.UUID
	Name      string
	KeyPrefix string
	KeyHash   string
	Scopes    []byte
	TenantID  *uuid.UUID
	CreatedBy *string
	ExpiresAt *time.Time
}

type CreateJobParams

type CreateJobParams struct {
	ID             uuid.UUID
	Name           string
	Method         string
	URL            string
	Headers        []byte
	Body           []byte
	CronExpression string
	Timezone       string
	RetryMax       int32
	TimeoutSeconds int32
	Enabled        bool
	NextRunAt      *time.Time
	TenantID       *uuid.UUID
	CreatedBy      *string
}

type CreateJobRunParams

type CreateJobRunParams struct {
	ID             uuid.UUID
	JobID          uuid.UUID
	TriggerType    string
	AttemptNumber  int32
	Status         string
	RequestMethod  string
	RequestURL     string
	RequestHeaders []byte
	RequestBody    []byte
	StartedAt      time.Time
}

type CreateUserParams

type CreateUserParams struct {
	ID           uuid.UUID
	Email        string
	PasswordHash string
	Roles        []byte
	Scopes       []byte
	TenantID     *uuid.UUID
}

type DBTX

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

type Job

type Job struct {
	ID             uuid.UUID  `json:"id"`
	Name           string     `json:"name"`
	Method         string     `json:"method"`
	URL            string     `json:"url"`
	Headers        []byte     `json:"headers"`
	Body           []byte     `json:"body,omitempty"`
	CronExpression string     `json:"cron_expression"`
	Timezone       string     `json:"timezone"`
	RetryMax       int32      `json:"retry_max"`
	TimeoutSeconds int32      `json:"timeout_seconds"`
	Enabled        bool       `json:"enabled"`
	NextRunAt      *time.Time `json:"next_run_at,omitempty"`
	LastRunAt      *time.Time `json:"last_run_at,omitempty"`
	CreatedAt      time.Time  `json:"created_at"`
	UpdatedAt      time.Time  `json:"updated_at"`
	ClaimedAt      *time.Time `json:"claimed_at,omitempty"`
	ClaimedBy      *string    `json:"claimed_by,omitempty"`
	TenantID       *uuid.UUID `json:"tenant_id,omitempty"`
	CreatedBy      *string    `json:"created_by,omitempty"`
}

type JobRun

type JobRun struct {
	ID                 uuid.UUID  `json:"id"`
	JobID              uuid.UUID  `json:"job_id"`
	TriggerType        string     `json:"trigger_type"`
	AttemptNumber      int32      `json:"attempt_number"`
	Status             string     `json:"status"`
	RequestMethod      string     `json:"request_method"`
	RequestURL         string     `json:"request_url"`
	RequestHeaders     []byte     `json:"request_headers"`
	RequestBody        []byte     `json:"request_body,omitempty"`
	ResponseStatusCode *int32     `json:"response_status_code,omitempty"`
	ResponseHeaders    []byte     `json:"response_headers,omitempty"`
	ResponseBody       *string    `json:"response_body,omitempty"`
	ErrorMessage       *string    `json:"error_message,omitempty"`
	StartedAt          time.Time  `json:"started_at"`
	FinishedAt         *time.Time `json:"finished_at,omitempty"`
}

type ManualJobTrigger

type ManualJobTrigger struct {
	ID          uuid.UUID  `json:"id"`
	JobID       uuid.UUID  `json:"job_id"`
	TriggeredBy *string    `json:"triggered_by,omitempty"`
	CreatedAt   time.Time  `json:"created_at"`
	ClaimedAt   *time.Time `json:"claimed_at,omitempty"`
	ClaimedBy   *string    `json:"claimed_by,omitempty"`
	CompletedAt *time.Time `json:"completed_at,omitempty"`
}

type Queries

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

func New

func New(db DBTX) *Queries

func (*Queries) ClaimDueJob

func (q *Queries) ClaimDueJob(ctx context.Context, workerID string, staleInterval string) (*Job, error)

func (*Queries) ClaimManualTrigger

func (q *Queries) ClaimManualTrigger(ctx context.Context, workerID string, staleInterval string) (*ManualJobTrigger, error)

func (*Queries) ClearJobClaim

func (q *Queries) ClearJobClaim(ctx context.Context, id uuid.UUID) error

func (*Queries) CompleteManualJobExecution

func (q *Queries) CompleteManualJobExecution(ctx context.Context, jobID uuid.UUID, lastRunAt time.Time) error

func (*Queries) CompleteManualTrigger

func (q *Queries) CompleteManualTrigger(ctx context.Context, triggerID uuid.UUID) error

func (*Queries) CompleteRunFailure

func (q *Queries) CompleteRunFailure(ctx context.Context, arg CompleteRunFailureParams) (JobRun, error)

func (*Queries) CompleteRunSuccess

func (q *Queries) CompleteRunSuccess(ctx context.Context, arg CompleteRunSuccessParams) (JobRun, error)

func (*Queries) CompleteScheduledJobExecution

func (q *Queries) CompleteScheduledJobExecution(ctx context.Context, jobID uuid.UUID, lastRunAt time.Time, nextRunAt time.Time) error

func (*Queries) CreateAPIKey

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

func (*Queries) CreateJob

func (q *Queries) CreateJob(ctx context.Context, arg CreateJobParams) (Job, error)

func (*Queries) CreateJobRun

func (q *Queries) CreateJobRun(ctx context.Context, arg CreateJobRunParams) (JobRun, error)

func (*Queries) CreateUser

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

func (*Queries) DeleteJob

func (q *Queries) DeleteJob(ctx context.Context, id uuid.UUID) error

func (*Queries) GetAPIKey

func (q *Queries) GetAPIKey(ctx context.Context, id uuid.UUID) (APIKey, error)

func (*Queries) GetAPIKeyByPrefix

func (q *Queries) GetAPIKeyByPrefix(ctx context.Context, prefix string) (APIKey, error)

func (*Queries) GetJob

func (q *Queries) GetJob(ctx context.Context, id uuid.UUID) (Job, error)

func (*Queries) GetManualTriggerJob

func (q *Queries) GetManualTriggerJob(ctx context.Context, triggerID uuid.UUID) (Job, error)

func (*Queries) GetRun

func (q *Queries) GetRun(ctx context.Context, id uuid.UUID) (JobRun, error)

func (*Queries) GetUserByEmail

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

func (*Queries) InsertManualTrigger

func (q *Queries) InsertManualTrigger(ctx context.Context, id uuid.UUID, jobID uuid.UUID, triggeredBy *string) (ManualJobTrigger, error)

func (*Queries) ListAPIKeys

func (q *Queries) ListAPIKeys(ctx context.Context) ([]APIKey, error)

func (*Queries) ListJobs

func (q *Queries) ListJobs(ctx context.Context) ([]Job, error)

func (*Queries) ListRunsByJob

func (q *Queries) ListRunsByJob(ctx context.Context, jobID uuid.UUID, limit int32) ([]JobRun, error)

func (*Queries) PauseJob

func (q *Queries) PauseJob(ctx context.Context, id uuid.UUID) (Job, error)

func (*Queries) ReleaseClaim

func (q *Queries) ReleaseClaim(ctx context.Context, jobID uuid.UUID) error

func (*Queries) ResetManualTriggerClaim

func (q *Queries) ResetManualTriggerClaim(ctx context.Context, triggerID uuid.UUID) error

func (*Queries) ResumeJob

func (q *Queries) ResumeJob(ctx context.Context, id uuid.UUID, nextRunAt time.Time) (Job, error)

func (*Queries) RevokeAPIKey

func (q *Queries) RevokeAPIKey(ctx context.Context, id uuid.UUID) (APIKey, error)

func (*Queries) UpdateAPIKeyLastUsedAt

func (q *Queries) UpdateAPIKeyLastUsedAt(ctx context.Context, id uuid.UUID) error

func (*Queries) UpdateJob

func (q *Queries) UpdateJob(ctx context.Context, arg UpdateJobParams) (Job, error)

func (*Queries) UpdateRunningAttempt

func (q *Queries) UpdateRunningAttempt(ctx context.Context, runID uuid.UUID, attemptNumber int32) error

type UpdateJobParams

type UpdateJobParams struct {
	ID             uuid.UUID
	Name           string
	Method         string
	URL            string
	Headers        []byte
	Body           []byte
	CronExpression string
	Timezone       string
	RetryMax       int32
	TimeoutSeconds int32
	Enabled        bool
	NextRunAt      *time.Time
}

type User

type User struct {
	ID           uuid.UUID  `json:"id"`
	Email        string     `json:"email"`
	PasswordHash string     `json:"-"`
	Roles        []byte     `json:"roles"`
	Scopes       []byte     `json:"scopes"`
	TenantID     *uuid.UUID `json:"tenant_id,omitempty"`
	CreatedAt    time.Time  `json:"created_at"`
	UpdatedAt    time.Time  `json:"updated_at"`
}

Jump to

Keyboard shortcuts

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