serviceaccountsql

package
v0.0.0-...-b00d09b Latest Latest
Warning

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

Go to latest
Published: Feb 21, 2025 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CreateParams

type CreateParams struct {
	Name        string
	Description string
	TeamSlug    *slug.Slug
}

type CreateTokenParams

type CreateTokenParams struct {
	ExpiresAt        pgtype.Date
	Name             string
	Description      string
	Token            string
	ServiceAccountID uuid.UUID
}

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 GetServiceAccountAndTokenBySecretRow

type GetServiceAccountAndTokenBySecretRow struct {
	ServiceAccount      ServiceAccount
	ServiceAccountToken ServiceAccountToken
}

type ListParams

type ListParams struct {
	Offset int32
	Limit  int32
}

type ListTokensForServiceAccountParams

type ListTokensForServiceAccountParams struct {
	ServiceAccountID uuid.UUID
	Offset           int32
	Limit            int32
}

type Querier

type Querier interface {
	Count(ctx context.Context) (int64, error)
	CountTokensForServiceAccount(ctx context.Context, serviceAccountID uuid.UUID) (int64, error)
	Create(ctx context.Context, arg CreateParams) (*ServiceAccount, error)
	CreateToken(ctx context.Context, arg CreateTokenParams) (*ServiceAccountToken, error)
	Delete(ctx context.Context, id uuid.UUID) error
	// TODO: Remove once static service accounts has been removed
	DeleteStaticServiceAccounts(ctx context.Context) error
	DeleteToken(ctx context.Context, id uuid.UUID) error
	GetByIDs(ctx context.Context, ids []uuid.UUID) ([]*ServiceAccount, error)
	GetByName(ctx context.Context, name string) (*ServiceAccount, error)
	GetServiceAccountAndTokenBySecret(ctx context.Context, token string) (*GetServiceAccountAndTokenBySecretRow, error)
	GetTokensByIDs(ctx context.Context, ids []uuid.UUID) ([]*ServiceAccountToken, error)
	LastUsedAt(ctx context.Context, serviceAccountID uuid.UUID) (pgtype.Timestamptz, error)
	List(ctx context.Context, arg ListParams) ([]*ServiceAccount, error)
	ListTokensForServiceAccount(ctx context.Context, arg ListTokensForServiceAccountParams) ([]*ServiceAccountToken, error)
	RemoveApiKeysFromServiceAccount(ctx context.Context, serviceAccountID uuid.UUID) error
	Update(ctx context.Context, arg UpdateParams) (*ServiceAccount, error)
	UpdateToken(ctx context.Context, arg UpdateTokenParams) (*ServiceAccountToken, error)
	UpdateTokenLastUsedAt(ctx context.Context, id uuid.UUID) error
}

type Queries

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

func New

func New(db DBTX) *Queries

func (*Queries) Count

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

func (*Queries) CountTokensForServiceAccount

func (q *Queries) CountTokensForServiceAccount(ctx context.Context, serviceAccountID uuid.UUID) (int64, error)

func (*Queries) Create

func (q *Queries) Create(ctx context.Context, arg CreateParams) (*ServiceAccount, error)

func (*Queries) CreateToken

func (q *Queries) CreateToken(ctx context.Context, arg CreateTokenParams) (*ServiceAccountToken, error)

func (*Queries) Delete

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

func (*Queries) DeleteStaticServiceAccounts

func (q *Queries) DeleteStaticServiceAccounts(ctx context.Context) error

TODO: Remove once static service accounts has been removed

func (*Queries) DeleteToken

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

func (*Queries) GetByIDs

func (q *Queries) GetByIDs(ctx context.Context, ids []uuid.UUID) ([]*ServiceAccount, error)

func (*Queries) GetByName

func (q *Queries) GetByName(ctx context.Context, name string) (*ServiceAccount, error)

func (*Queries) GetServiceAccountAndTokenBySecret

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

func (*Queries) GetTokensByIDs

func (q *Queries) GetTokensByIDs(ctx context.Context, ids []uuid.UUID) ([]*ServiceAccountToken, error)

func (*Queries) LastUsedAt

func (q *Queries) LastUsedAt(ctx context.Context, serviceAccountID uuid.UUID) (pgtype.Timestamptz, error)

func (*Queries) List

func (q *Queries) List(ctx context.Context, arg ListParams) ([]*ServiceAccount, error)

func (*Queries) ListTokensForServiceAccount

func (q *Queries) ListTokensForServiceAccount(ctx context.Context, arg ListTokensForServiceAccountParams) ([]*ServiceAccountToken, error)

func (*Queries) RemoveApiKeysFromServiceAccount

func (q *Queries) RemoveApiKeysFromServiceAccount(ctx context.Context, serviceAccountID uuid.UUID) error

func (*Queries) Update

func (q *Queries) Update(ctx context.Context, arg UpdateParams) (*ServiceAccount, error)

func (*Queries) UpdateToken

func (q *Queries) UpdateToken(ctx context.Context, arg UpdateTokenParams) (*ServiceAccountToken, error)

func (*Queries) UpdateTokenLastUsedAt

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

func (*Queries) WithTx

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

type ServiceAccount

type ServiceAccount struct {
	ID          uuid.UUID
	CreatedAt   pgtype.Timestamptz
	UpdatedAt   pgtype.Timestamptz
	Name        string
	Description string
	TeamSlug    *slug.Slug
}

type ServiceAccountToken

type ServiceAccountToken struct {
	ID               uuid.UUID
	CreatedAt        pgtype.Timestamptz
	UpdatedAt        pgtype.Timestamptz
	LastUsedAt       pgtype.Timestamptz
	ExpiresAt        pgtype.Date
	Name             string
	Description      string
	Token            string
	ServiceAccountID uuid.UUID
}

type UpdateParams

type UpdateParams struct {
	Description *string
	ID          uuid.UUID
}

type UpdateTokenParams

type UpdateTokenParams struct {
	Name        *string
	Description *string
	ID          uuid.UUID
}

Jump to

Keyboard shortcuts

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