users

package
v0.0.0-...-ff2ebec Latest Latest
Warning

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

Go to latest
Published: May 10, 2023 License: MIT Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddUserParams

type AddUserParams struct {
	Role Role
	Name string
}

type DBTX

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

type Directory

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

Directory stores a directory of users.

func NewDirectory

func NewDirectory(logger *logrus.Logger, pgURL *url.URL) (*Directory, error)

NewDirectory creates a new Directory, connecting it to the postgres server on the URL provided.

func (Directory) AddUser

func (d Directory) AddUser(ctx context.Context, req *userspb.AddUserRequest) (*userspb.User, error)

AddUser adds a user to the directory.

func (Directory) AddUsers

func (d Directory) AddUsers(srv userspb.UserService_AddUsersServer) (retErr error)

AddUsers adds a large amount of users efficiently.

func (Directory) Close

func (d Directory) Close() error

Close releases any resources.

func (Directory) DeleteUser

func (d Directory) DeleteUser(ctx context.Context, req *userspb.DeleteUserRequest) (*userspb.User, error)

DeleteUser deletes the user, if found.

func (Directory) ListUsers

ListUsers lists users in the directory, subject to the request filters.

type NullRole

type NullRole struct {
	Role  Role
	Valid bool // Valid is true if Role is not NULL
}

func (*NullRole) Scan

func (ns *NullRole) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullRole) Value

func (ns NullRole) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type Querier

type Querier interface {
	AddUser(ctx context.Context, arg AddUserParams) (User, error)
	DeleteUser(ctx context.Context, id pgtype.UUID) (User, error)
}

type Queries

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

func New

func New(db DBTX) *Queries

func (*Queries) AddUser

func (q *Queries) AddUser(ctx context.Context, arg AddUserParams) (User, error)

func (*Queries) DeleteUser

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

func (*Queries) WithTx

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

type Role

type Role string
const (
	RoleGuest  Role = "guest"
	RoleMember Role = "member"
	RoleAdmin  Role = "admin"
)

func (*Role) Scan

func (e *Role) Scan(src interface{}) error

type User

type User struct {
	ID         pgtype.UUID
	Role       Role
	CreateTime time.Time
	Name       string
}

Jump to

Keyboard shortcuts

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