client

package
v0.0.3 Latest Latest
Warning

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

Go to latest
Published: Nov 26, 2024 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const PageSizeDefault = 100

Variables

This section is empty.

Functions

func GetNextToken

func GetNextToken(
	offset int,
	limit int,
	total int,
) string

GetNextToken given a limit and offset that were used to fetch _this_ page of data, and total number of resources, return the next pagination token as a string.

func ParsePaginationToken

func ParsePaginationToken(pToken *pagination.Token) (
	int,
	int,
	string,
	error,
)

ParsePaginationToken - takes as pagination token and returns offset, limit, and `pagingRequestId` in that order.

func WithBearerToken

func WithBearerToken(token string) uhttp.RequestOption

WithBearerToken - TODO(marcos): move this function to `baton-sdk`.

Types

type AuthRequest

type AuthRequest struct {
	Audience     string `json:"audience"`
	ClientId     string `json:"client_id"`
	ClientSecret string `json:"client_secret"`
	GrantType    string `json:"grant_type"`
}

type AuthResponse

type AuthResponse struct {
	AccessToken string `json:"access_token"`
	ExpiresIn   int    `json:"expires_in"`
	Scope       string `json:"scope,omitempty"`
	TokenType   string `json:"token_type"`
}

type Client

type Client struct {
	BearerToken string
	BaseUrl     *url.URL
	// contains filtered or unexported fields
}

func New

func New(
	ctx context.Context,
	baseUrl string,
	clientId string,
	clientSecret string,
) (*Client, error)

func (*Client) AddUserToOrganization

func (c *Client) AddUserToOrganization(
	ctx context.Context,
	organizationId string,
	userId string,
) (
	*v2.RateLimitDescription,
	error,
)

func (*Client) AddUserToRole

func (c *Client) AddUserToRole(
	ctx context.Context,
	roleId string,
	userId string,
) (
	*v2.RateLimitDescription,
	error,
)

func (*Client) Authorize

func (c *Client) Authorize(
	ctx context.Context,
	clientId string,
	clientSecret string,
) error

func (*Client) GetOrganizationMembers

func (c *Client) GetOrganizationMembers(
	ctx context.Context,
	organizationId string,
	limit int,
	offset int,
) (
	[]User,
	int,
	*v2.RateLimitDescription,
	error,
)

func (*Client) GetOrganizations

func (c *Client) GetOrganizations(
	ctx context.Context,
	limit int,
	offset int,
) (
	[]Organization,
	int,
	*v2.RateLimitDescription,
	error,
)

func (*Client) GetRoleUsers

func (c *Client) GetRoleUsers(
	ctx context.Context,
	roleId string,
	limit int,
	offset int,
) (
	[]User,
	int,
	*v2.RateLimitDescription,
	error,
)

func (*Client) GetRoles

func (c *Client) GetRoles(
	ctx context.Context,
	limit int,
	offset int,
) (
	[]Role,
	int,
	*v2.RateLimitDescription,
	error,
)

func (*Client) GetUsers

func (c *Client) GetUsers(
	ctx context.Context,
	limit int,
	offset int,
) (
	[]User,
	int,
	*v2.RateLimitDescription,
	error,
)

func (*Client) List

func (c *Client) List(
	ctx context.Context,
	path string,
	target interface{},
	limit int,
	offset int,
) (
	*v2.RateLimitDescription,
	error,
)

func (*Client) RemoveUserFromOrganization

func (c *Client) RemoveUserFromOrganization(
	ctx context.Context,
	organizationId string,
	userId string,
) (
	*v2.RateLimitDescription,
	error,
)

func (*Client) RemoveUserFromRole

func (c *Client) RemoveUserFromRole(
	ctx context.Context,
	roleId string,
	userId string,
) (
	*v2.RateLimitDescription,
	error,
)

type Organization

type Organization struct {
	ID          string `json:"id"`
	Name        string `json:"name"`
	DisplayName string `json:"display_name"`
}

type OrganizationMembersResponse

type OrganizationMembersResponse struct {
	Members []User `json:"members"`
	PaginatedResponse
}

type OrganizationsResponse

type OrganizationsResponse struct {
	Organizations []Organization `json:"organizations"`
	PaginatedResponse
}

type PaginatedResponse

type PaginatedResponse struct {
	Start int `json:"start"`
	Limit int `json:"limit"`
	Total int `json:"total"`
}

type Pagination

type Pagination struct {
	PagingRequestId string `json:"pagingRequestId"`
	Offset          int    `json:"offset"`
}

type Role

type Role struct {
	ID          string `json:"id"`
	Name        string `json:"name"`
	Description string `json:"description"`
}

type RolesResponse

type RolesResponse struct {
	PaginatedResponse
	Roles []Role `json:"roles"`
}

type RolesUsersResponse

type RolesUsersResponse struct {
	PaginatedResponse
	Users []User `json:"users"`
}

type User

type User struct {
	CreatedAt     time.Time        `json:"created_at"`
	Email         string           `json:"email"`
	EmailVerified bool             `json:"email_verified"`
	Identities    []UserIdentities `json:"identities"`
	Name          string           `json:"name"`
	Nickname      string           `json:"nickname"`
	Picture       string           `json:"picture"`
	UpdatedAt     time.Time        `json:"updated_at"`
	UserId        string           `json:"user_id"`
}

type UserIdentities

type UserIdentities struct {
	Connection string `json:"connection"`
	IsSocial   bool   `json:"isSocial"`
	Provider   string `json:"provider"`
	UserId     string `json:"user_id"`
}

type UsersResponse

type UsersResponse struct {
	PaginatedResponse
	Length int    `json:"length"`
	Users  []User `json:"users"`
}

Jump to

Keyboard shortcuts

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