db

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jan 31, 2023 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrConflict = errors.New("duplicate key value violates unique constraint")

Functions

This section is empty.

Types

type ApiKey

type ApiKey struct {
	ID          uuid.UUID
	Encodedhash string
	Owner       string
	Description sql.NullString
	System      bool
	CreatedAt   time.Time
	UpdatedAt   time.Time
}

type CreateMembershipForUserAndGroupParams

type CreateMembershipForUserAndGroupParams struct {
	UserID  uuid.UUID
	GroupID uuid.UUID
}

type CreateUserParams

type CreateUserParams struct {
	Username    string
	Name        pgtype.JSONB
	DisplayName sql.NullString
	Emails      pgtype.JSONB
	Active      bool
	Locale      sql.NullString
	ExternalID  sql.NullString
}

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 DropMembershipForUserAndGroupParams

type DropMembershipForUserAndGroupParams struct {
	UserID  uuid.UUID
	GroupID uuid.UUID
}

type GetGroupMembershipForUserParams

type GetGroupMembershipForUserParams struct {
	GroupID uuid.UUID
	UserID  uuid.UUID
}

type GetGroupMembershipForUserRow

type GetGroupMembershipForUserRow struct {
	GroupID  uuid.UUID
	UserID   uuid.UUID
	Username sql.NullString
}

type GetGroupMembershipRow

type GetGroupMembershipRow struct {
	GroupID  uuid.UUID
	UserID   uuid.UUID
	Username sql.NullString
}

type GetGroupsParams

type GetGroupsParams struct {
	Limit  int32
	Offset int32
}

type GetScimUsersInput

type GetScimUsersInput struct {
	Filters []filters.Filter
	Offset  int32
	Limit   int32
}

type GetUsersParams

type GetUsersParams struct {
	Limit  int32
	Offset int32
}

type Group

type Group struct {
	ID          uuid.UUID
	DisplayName string
	CreatedAt   time.Time
	UpdatedAt   time.Time
}

type GroupUser

type GroupUser struct {
	GroupID uuid.UUID
	UserID  uuid.UUID
}

type InsertAPIKeyParams

type InsertAPIKeyParams struct {
	Encodedhash string
	System      bool
	Owner       string
	Description sql.NullString
}

type PatchGroupDisplayNameParams

type PatchGroupDisplayNameParams struct {
	ID          uuid.UUID
	DisplayName string
}

type PatchUserParams

type PatchUserParams struct {
	ID     uuid.UUID
	Active bool
}

type Querier

type Querier interface {
	CreateGroup(ctx context.Context, displayName string) (Group, error)
	CreateMembershipForUserAndGroup(ctx context.Context, arg CreateMembershipForUserAndGroupParams) error
	CreateUser(ctx context.Context, arg CreateUserParams) (User, error)
	DeleteAPIKey(ctx context.Context, id uuid.UUID) error
	DeleteGroup(ctx context.Context, id uuid.UUID) error
	DeleteScimAPIKey(ctx context.Context) error
	DeleteUser(ctx context.Context, id uuid.UUID) error
	DropMembershipForGroup(ctx context.Context, groupID uuid.UUID) error
	DropMembershipForUserAndGroup(ctx context.Context, arg DropMembershipForUserAndGroupParams) error
	FindAPIKey(ctx context.Context, id uuid.UUID) (ApiKey, error)
	FindAPIKeysById(ctx context.Context, dollar_1 []uuid.UUID) ([]ApiKey, error)
	FindByUsername(ctx context.Context, username string) (User, error)
	FindScimAPIKey(ctx context.Context) (ApiKey, error)
	GetAPIKeys(ctx context.Context) ([]ApiKey, error)
	GetGroup(ctx context.Context, id uuid.UUID) (Group, error)
	GetGroupCount(ctx context.Context) (int64, error)
	//------------------------------------------------------------------------------------------------------------------
	// Membership
	//------------------------------------------------------------------------------------------------------------------
	GetGroupMembership(ctx context.Context, groupID uuid.UUID) ([]GetGroupMembershipRow, error)
	GetGroupMembershipForUser(ctx context.Context, arg GetGroupMembershipForUserParams) (GetGroupMembershipForUserRow, error)
	//------------------------------------------------------------------------------------------------------------------
	// Groups
	//------------------------------------------------------------------------------------------------------------------
	GetGroups(ctx context.Context, arg GetGroupsParams) ([]Group, error)
	GetUser(ctx context.Context, id uuid.UUID) (User, error)
	GetUserCount(ctx context.Context) (int64, error)
	//------------------------------------------------------------------------------------------------------------------
	// Users
	//------------------------------------------------------------------------------------------------------------------
	GetUsers(ctx context.Context, arg GetUsersParams) ([]User, error)
	GetUsersById(ctx context.Context, dollar_1 []uuid.UUID) ([]User, error)
	//------------------------------------------------------------------------------------------------------------------
	// SCIM API Key
	//------------------------------------------------------------------------------------------------------------------
	InsertAPIKey(ctx context.Context, arg InsertAPIKeyParams) (ApiKey, error)
	InsertScimAPIKey(ctx context.Context, apiKeyID uuid.UUID) (ScimApiKey, error)
	PatchGroupDisplayName(ctx context.Context, arg PatchGroupDisplayNameParams) error
	PatchUser(ctx context.Context, arg PatchUserParams) error
	UpdateUser(ctx context.Context, arg UpdateUserParams) error
}

type Queries

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

func New

func New(db DBTX) *Queries

func (*Queries) CreateGroup

func (q *Queries) CreateGroup(ctx context.Context, displayName string) (Group, error)

func (*Queries) CreateMembershipForUserAndGroup

func (q *Queries) CreateMembershipForUserAndGroup(ctx context.Context, arg CreateMembershipForUserAndGroupParams) error

func (*Queries) CreateUser

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

func (*Queries) DeleteAPIKey

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

func (*Queries) DeleteGroup

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

func (*Queries) DeleteScimAPIKey

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

func (*Queries) DeleteUser

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

func (*Queries) DropMembershipForGroup

func (q *Queries) DropMembershipForGroup(ctx context.Context, groupID uuid.UUID) error

func (*Queries) DropMembershipForUserAndGroup

func (q *Queries) DropMembershipForUserAndGroup(ctx context.Context, arg DropMembershipForUserAndGroupParams) error

func (*Queries) FindAPIKey

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

func (*Queries) FindAPIKeysById

func (q *Queries) FindAPIKeysById(ctx context.Context, dollar_1 []uuid.UUID) ([]ApiKey, error)

func (*Queries) FindByUsername

func (q *Queries) FindByUsername(ctx context.Context, username string) (User, error)

func (*Queries) FindScimAPIKey

func (q *Queries) FindScimAPIKey(ctx context.Context) (ApiKey, error)

func (*Queries) GetAPIKeys

func (q *Queries) GetAPIKeys(ctx context.Context) ([]ApiKey, error)

func (*Queries) GetGroup

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

func (*Queries) GetGroupCount

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

func (*Queries) GetGroupMembership

func (q *Queries) GetGroupMembership(ctx context.Context, groupID uuid.UUID) ([]GetGroupMembershipRow, error)

------------------------------------------------------------------------------------------------------------------ Membership ------------------------------------------------------------------------------------------------------------------

func (*Queries) GetGroups

func (q *Queries) GetGroups(ctx context.Context, arg GetGroupsParams) ([]Group, error)

------------------------------------------------------------------------------------------------------------------ Groups ------------------------------------------------------------------------------------------------------------------

func (*Queries) GetUser

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

func (*Queries) GetUserCount

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

func (*Queries) GetUsers

func (q *Queries) GetUsers(ctx context.Context, arg GetUsersParams) ([]User, error)

------------------------------------------------------------------------------------------------------------------ Users ------------------------------------------------------------------------------------------------------------------

func (*Queries) GetUsersById

func (q *Queries) GetUsersById(ctx context.Context, dollar_1 []uuid.UUID) ([]User, error)

func (*Queries) InsertAPIKey

func (q *Queries) InsertAPIKey(ctx context.Context, arg InsertAPIKeyParams) (ApiKey, error)

------------------------------------------------------------------------------------------------------------------ SCIM API Key ------------------------------------------------------------------------------------------------------------------

func (*Queries) InsertScimAPIKey

func (q *Queries) InsertScimAPIKey(ctx context.Context, apiKeyID uuid.UUID) (ScimApiKey, error)

func (*Queries) PatchGroupDisplayName

func (q *Queries) PatchGroupDisplayName(ctx context.Context, arg PatchGroupDisplayNameParams) error

func (*Queries) PatchUser

func (q *Queries) PatchUser(ctx context.Context, arg PatchUserParams) error

func (*Queries) UpdateUser

func (q *Queries) UpdateUser(ctx context.Context, arg UpdateUserParams) error

func (*Queries) WithTx

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

type Repository

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

func NewRepository

func NewRepository(pool *pgxpool.Pool, db Querier) *Repository

func (*Repository) AddUserToGroup

func (r *Repository) AddUserToGroup(ctx context.Context, userID, groupID uuid.UUID) error

func (*Repository) AddUsersToGroup

func (r *Repository) AddUsersToGroup(ctx context.Context, groupID uuid.UUID, members []uuid.UUID) error

func (*Repository) Begin

func (*Repository) Commit

func (r *Repository) Commit(ctx context.Context) error

func (*Repository) CreateAPIKey

func (r *Repository) CreateAPIKey(ctx context.Context, input InsertAPIKeyParams) (ApiKey, error)

func (*Repository) CreateGroup

func (r *Repository) CreateGroup(ctx context.Context, displayName string) (Group, error)

func (*Repository) CreateUser

func (r *Repository) CreateUser(ctx context.Context, input CreateUserParams) (User, error)

func (*Repository) DeleteGroup

func (r *Repository) DeleteGroup(ctx context.Context, idString string) error

func (*Repository) DeleteScimAPIKey

func (r *Repository) DeleteScimAPIKey(ctx context.Context) error

func (*Repository) DeleteUser

func (r *Repository) DeleteUser(ctx context.Context, id uuid.UUID) error

func (*Repository) FindAPIKey

func (r *Repository) FindAPIKey(ctx context.Context, id uuid.UUID) (ApiKey, error)

func (*Repository) FindGroup

func (r *Repository) FindGroup(ctx context.Context, id string) (Group, error)

func (*Repository) FindScimAPIKey

func (r *Repository) FindScimAPIKey(ctx context.Context) (ApiKey, error)

func (*Repository) FindUser

func (r *Repository) FindUser(ctx context.Context, id string) (User, error)

func (*Repository) FindUserByUsername

func (r *Repository) FindUserByUsername(ctx context.Context, username string) (User, error)

func (*Repository) GetAPIKeys

func (r *Repository) GetAPIKeys(ctx context.Context) ([]ApiKey, error)

func (*Repository) GetGroupMembership

func (r *Repository) GetGroupMembership(ctx context.Context, idString string) ([]GetGroupMembershipRow, error)

func (*Repository) GetGroups

func (r *Repository) GetGroups(ctx context.Context, params GetGroupsParams) (int64, []Group, error)

func (*Repository) GetScimUsers

func (r *Repository) GetScimUsers(ctx context.Context, input GetScimUsersInput) (int64, []User, error)

func (*Repository) GetUsers

func (r *Repository) GetUsers(ctx context.Context, input GetUsersParams) ([]User, error)

func (*Repository) InsertScimAPIKey

func (r *Repository) InsertScimAPIKey(ctx context.Context, encodedHash string) (ApiKey, error)

func (*Repository) RemoveUserFromGroup

func (r *Repository) RemoveUserFromGroup(ctx context.Context, userID, groupID uuid.UUID) error

func (*Repository) ReplaceUsersInGroup

func (r *Repository) ReplaceUsersInGroup(ctx context.Context, groupID uuid.UUID, members []uuid.UUID) error

func (*Repository) Rollback

func (r *Repository) Rollback(ctx context.Context) error

func (*Repository) ScimPatchUser

func (r *Repository) ScimPatchUser(ctx context.Context, input PatchUserParams) error

func (*Repository) UpdateGroup

func (r *Repository) UpdateGroup(ctx context.Context, input PatchGroupDisplayNameParams) (Group, error)

func (*Repository) UpdateUser

func (r *Repository) UpdateUser(ctx context.Context, id uuid.UUID, input UpdateUserParams) (User, error)

type RepositoryQueries

type RepositoryQueries interface {
	Begin(ctx context.Context) (RepositoryQueries, error)
	Commit(ctx context.Context) error
	Rollback(ctx context.Context) error

	FindGroup(ctx context.Context, id string) (Group, error)
	CreateGroup(ctx context.Context, displayName string) (Group, error)
	DeleteGroup(ctx context.Context, id string) error
	UpdateGroup(ctx context.Context, input PatchGroupDisplayNameParams) (Group, error)
	RemoveUserFromGroup(ctx context.Context, userID, groupID uuid.UUID) error
	AddUserToGroup(ctx context.Context, userID, groupID uuid.UUID) error
	ReplaceUsersInGroup(ctx context.Context, groupID uuid.UUID, members []uuid.UUID) error
	AddUsersToGroup(ctx context.Context, groupID uuid.UUID, members []uuid.UUID) error
	GetGroupMembership(ctx context.Context, idString string) ([]GetGroupMembershipRow, error)
	GetGroups(ctx context.Context, params GetGroupsParams) (int64, []Group, error)

	FindUser(ctx context.Context, id string) (User, error)
	FindUserByUsername(ctx context.Context, username string) (User, error)
	GetUsers(ctx context.Context, input GetUsersParams) ([]User, error)
	GetScimUsers(ctx context.Context, input GetScimUsersInput) (int64, []User, error)
	CreateUser(ctx context.Context, input CreateUserParams) (User, error)
	DeleteUser(ctx context.Context, id uuid.UUID) error
	UpdateUser(ctx context.Context, id uuid.UUID, input UpdateUserParams) (User, error)
	ScimPatchUser(ctx context.Context, input PatchUserParams) error

	InsertScimAPIKey(ctx context.Context, encodedHash string) (ApiKey, error)
	DeleteScimAPIKey(ctx context.Context) error
	FindAPIKey(ctx context.Context, id uuid.UUID) (ApiKey, error)
	FindScimAPIKey(ctx context.Context) (ApiKey, error)
	GetAPIKeys(ctx context.Context) ([]ApiKey, error)
	CreateAPIKey(ctx context.Context, input InsertAPIKeyParams) (ApiKey, error)
}

type ScimApiKey

type ScimApiKey struct {
	ID        uuid.UUID
	Domain    string
	ApiKeyID  uuid.UUID
	CreatedAt time.Time
	UpdatedAt time.Time
}

type UpdateUserParams

type UpdateUserParams struct {
	ID          uuid.UUID
	Username    string
	Name        pgtype.JSONB
	DisplayName sql.NullString
	Emails      pgtype.JSONB
	Active      bool
	ExternalID  sql.NullString
	Locale      sql.NullString
}

type User

type User struct {
	ID          uuid.UUID
	Username    string
	ExternalID  sql.NullString
	Name        pgtype.JSONB
	DisplayName sql.NullString
	Locale      sql.NullString
	Active      bool
	Emails      pgtype.JSONB
	CreatedAt   time.Time
	UpdatedAt   time.Time
}

Jump to

Keyboard shortcuts

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