calendly

package
v0.0.2 Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const (
	BaseHost = "api.calendly.com"

	OrgUsersEndpoint      = "/organization_memberships"
	OrgMembershipEndpoint = "/organization_memberships/%s"
	OrgInvitesEndpoint    = "/invitations"

	UserEndpoint = "/users/%s"
)

Variables

This section is empty.

Functions

func WithErrorResponse

func WithErrorResponse(resource *ErrorResponse) uhttp.DoOption

func WithRatelimitData

func WithRatelimitData(resource *v2.RateLimitDescription) uhttp.DoOption

Types

type Client

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

func NewClient

func NewClient(httpClient *http.Client) *Client

func (*Client) GetCurrentUser

func (c *Client) GetCurrentUser(ctx context.Context) (*User, *v2.RateLimitDescription, error)

func (*Client) GetOrgDetails

func (c *Client) GetOrgDetails(ctx context.Context, orgURI string) (*Organization, *v2.RateLimitDescription, error)

func (*Client) InviteOrgMember

func (c *Client) InviteOrgMember(ctx context.Context, orgURI string, email string) (*v2.RateLimitDescription, error)

func (*Client) ListUserInvitations

func (c *Client) ListUserInvitations(ctx context.Context, orgURI string, pgVars *PaginationVars, filterVars *FilterVars) ([]Invitation, string, *v2.RateLimitDescription, error)

func (*Client) ListUsersUnderOrg

func (c *Client) ListUsersUnderOrg(ctx context.Context, orgURI string, pgVars *PaginationVars, filterVars *FilterVars) ([]OrgMembership, string, error)

func (*Client) RemoveOrgMember

func (c *Client) RemoveOrgMember(ctx context.Context, membershipID string) (*v2.RateLimitDescription, error)

func (*Client) RemoveUserInvitation

func (c *Client) RemoveUserInvitation(ctx context.Context, orgURI, invitationID string) (*v2.RateLimitDescription, error)

type ErrorResponse

type ErrorResponse struct {
	Title   string `json:"title"`
	Message string `json:"message"`
}

type FilterVars

type FilterVars struct {
	Email string `json:"email"`
}

func NewFilterVars

func NewFilterVars(email string) *FilterVars

type Invitation

type Invitation struct {
	ID        string `json:"uri"`
	Email     string `json:"email"`
	Status    string `json:"status"`
	CreatedAt string `json:"created_at"`
	UserID    string `json:"user"`
}

type InviteBody

type InviteBody struct {
	Email string `json:"email"`
}

type ListResponse

type ListResponse[T any] struct {
	Collection []T             `json:"collection"`
	Pagination *PaginationVars `json:"pagination"`
}

type OrgMembership

type OrgMembership struct {
	Org  string `json:"organization"`
	Role string `json:"role"`
	ID   string `json:"uri"`
	User *User  `json:"user"`
}

type Organization

type Organization struct {
	ID        string `json:"uri"`
	CreatedAt string `json:"created_at"`
	Plan      string `json:"plan"`
	Stage     string `json:"stage"`
}

type PaginationVars

type PaginationVars struct {
	Count int    `json:"count"`
	Next  string `json:"next_page_token"`
}

func NewPaginationVars

func NewPaginationVars(count int, next string) *PaginationVars

type SingleResponse

type SingleResponse[T any] struct {
	Resource T `json:"resource"`
}

type User

type User struct {
	ID        string `json:"uri"`
	Email     string `json:"email"`
	FullName  string `json:"name"`
	Slug      string `json:"slug"`
	CreatedAt string `json:"created_at"`
	OrgURI    string `json:"current_organization"`
}

Jump to

Keyboard shortcuts

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