client

package
v0.5.1 Latest Latest
Warning

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

Go to latest
Published: Jan 25, 2025 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AlreadyExistsError added in v0.5.0

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

func (*AlreadyExistsError) Error added in v0.5.0

func (e *AlreadyExistsError) Error() string

type Client

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

func New

func New(db *db.DB, adminEmails []string) *Client

func (*Client) Close

func (c *Client) Close() error

func (*Client) DeleteUser added in v0.5.0

func (c *Client) DeleteUser(ctx context.Context, username string) (*types.User, error)

func (*Client) EnsureIdentity

func (c *Client) EnsureIdentity(ctx context.Context, id *types.Identity, timezone string) (*types.User, error)

EnsureIdentity ensures that the given identity exists in the database, and returns the user associated with it.

func (*Client) EnsureIdentityWithRole added in v0.5.0

func (c *Client) EnsureIdentityWithRole(ctx context.Context, id *types.Identity, timezone string, role types2.Role) (*types.User, error)

EnsureIdentityWithRole ensures the given identity exists in the database with the given role, and returns the user associated with it.

func (*Client) IsExplicitAdmin added in v0.5.0

func (c *Client) IsExplicitAdmin(email string) bool

func (*Client) RemoveIdentity added in v0.5.0

func (c *Client) RemoveIdentity(ctx context.Context, id *types.Identity) error

RemoveIdentity deletes an identity and the associated user from the database. The identity and user are deleted using UserID if set, otherwise ProviderUsername. The method is idempotent and ignores not-found errors, returning only unexpected errors.

func (*Client) UpdateProfileIconIfNeeded

func (c *Client) UpdateProfileIconIfNeeded(ctx context.Context, user *types.User, authProviderName, authProviderNamespace, authProviderURL string) error

func (*Client) UpdateUser added in v0.5.0

func (c *Client) UpdateUser(ctx context.Context, actingUserIsAdmin bool, updatedUser *types.User, username string) (*types.User, error)

func (*Client) User

func (c *Client) User(ctx context.Context, username string) (*types.User, error)

func (*Client) UserByID

func (c *Client) UserByID(ctx context.Context, id string) (*types.User, error)

func (*Client) Users added in v0.5.0

func (c *Client) Users(ctx context.Context, query types.UserQuery) ([]types.User, error)

type ExplicitAdminError added in v0.5.0

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

func (*ExplicitAdminError) Error added in v0.5.0

func (e *ExplicitAdminError) Error() string

type LastAdminError added in v0.5.0

type LastAdminError struct{}

func (*LastAdminError) Error added in v0.5.0

func (e *LastAdminError) Error() string

type UserDecorator

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

func NewUserDecorator

func NewUserDecorator(next authenticator.Request, client *Client) *UserDecorator

func (UserDecorator) AuthenticateRequest

func (u UserDecorator) AuthenticateRequest(req *http.Request) (*authenticator.Response, bool, error)

Jump to

Keyboard shortcuts

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