clerk

package
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: Jan 15, 2021 License: MIT Imports: 9 Imported by: 24

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client interface {
	NewRequest(method string, url string, body ...interface{}) (*http.Request, error)
	Do(req *http.Request, v interface{}) (*http.Response, error)

	Users() *UsersService
	Sessions() *SessionsService
	Emails() *EmailService
	SMS() *SMSService
}

func NewClient

func NewClient(token string) (Client, error)

NewClient creates a new Clerk client. Because the token supplied will be used for all authenticated requests, the created client should not be used across different users

func NewClientWithBaseUrl

func NewClientWithBaseUrl(token string, baseUrl string) (Client, error)

type DeleteResponse

type DeleteResponse struct {
	ID      string `json:"id"`
	Object  string `json:"object"`
	Deleted bool   `json:"deleted"`
}

type Email

type Email struct {
	FromEmailName  string  `json:"from_email_name"`
	Subject        string  `json:"subject"`
	Body           string  `json:"body"`
	ToEmailAddress *string `json:"to_email_address,omitempty"`
	EmailAddressID *string `json:"email_address_id,omitempty"`
}

type EmailAddress

type EmailAddress struct {
	ID           string               `json:"id"`
	Object       string               `json:"object"`
	EmailAddress string               `json:"email_address"`
	Verification interface{}          `json:"verification"`
	LinkedTo     []IdentificationLink `json:"linked_to"`
}

type EmailResponse

type EmailResponse struct {
	ID     string `json:"id"`
	Object string `json:"object"`
	Status string `json:"status,omitempty"`
	Email
}

type EmailService

type EmailService service

func (*EmailService) Create

func (s *EmailService) Create(email Email) (*EmailResponse, error)

Sends an email. Please note that one of ToEmailAddress or EmailAddressID must be supplied.

type IdentificationLink struct {
	IdentType string `json:"type"`
	IdentID   string `json:"id"`
}

type PhoneNumber

type PhoneNumber struct {
	ID                      string               `json:"id"`
	Object                  string               `json:"object"`
	PhoneNumber             string               `json:"phone_number"`
	ReservedForSecondFactor bool                 `json:"reserved_for_second_factor"`
	Verification            interface{}          `json:"verification"`
	LinkedTo                []IdentificationLink `json:"linked_to"`
}

type SMSMessage

type SMSMessage struct {
	Message       string  `json:"message"`
	ToPhoneNumber *string `json:"to_phone_number"`
	PhoneNumberID *string `json:"phone_number_id"`
}

type SMSMessageResponse

type SMSMessageResponse struct {
	Object          string `json:"object"`
	ID              string `json:"id"`
	FromPhoneNumber string `json:"from_phone_number"`
	Status          string `json:"status"`
	SMSMessage
}

type SMSService

type SMSService service

func (*SMSService) Create

func (s *SMSService) Create(message SMSMessage) (*SMSMessageResponse, error)

type Session

type Session struct {
	Object       string `json:"object"`
	ID           string `json:"id"`
	ClientID     string `json:"client_id"`
	UserID       string `json:"user_id"`
	Status       string `json:"status"`
	LastActiveAt int64  `json:"last_active_at"`
	ExpireAt     int64  `json:"expire_at"`
	AbandonAt    int64  `json:"abandon_at"`
}

type SessionsService

type SessionsService service

func (*SessionsService) ListAll

func (s *SessionsService) ListAll() ([]Session, error)

func (*SessionsService) Read

func (s *SessionsService) Read(sessionId string) (*Session, error)

func (*SessionsService) Revoke

func (s *SessionsService) Revoke(sessionId string) (*Session, error)

type UpdateUser

type UpdateUser struct {
	FirstName             *string `json:"first_name,omitempty"`
	LastName              *string `json:"last_name,omitempty"`
	PrimaryEmailAddressID *string `json:"primary_email_address_id,omitempty"`
	PrimaryPhoneNumberID  *string `json:"primary_phone_number_id,omitempty"`
	ProfileImage          *string `json:"profile_image,omitempty"`
	Password              *string `json:"password,omitempty"`
}

type User

type User struct {
	ID                    string         `json:"id"`
	Object                string         `json:"object"`
	Username              *string        `json:"username"`
	FirstName             *string        `json:"first_name"`
	LastName              *string        `json:"last_name"`
	Gender                *string        `json:"gender"`
	Birthday              *string        `json:"birthday"`
	ProfileImageURL       string         `json:"profile_image_url"`
	PrimaryEmailAddressID *string        `json:"primary_email_address_id"`
	PrimaryPhoneNumberID  *string        `json:"primary_phone_number_id"`
	PasswordEnabled       bool           `json:"password_enabled"`
	TwoFactorEnabled      bool           `json:"two_factor_enabled"`
	EmailAddresses        []EmailAddress `json:"email_addresses"`
	PhoneNumbers          []PhoneNumber  `json:"phone_numbers"`
	ExternalAccounts      []interface{}  `json:"external_accounts"`
	Metadata              interface{}    `json:"metadata"`
	PrivateMetadata       interface{}    `json:"private_metadata,omitempty"`
	CreatedAt             *time.Time     `json:"created_at,omitempty"`
	UpdatedAt             *time.Time     `json:"updated_at,omitempty"`
}

type UsersService

type UsersService service

func (*UsersService) Delete

func (s *UsersService) Delete(userId string) (*DeleteResponse, error)

func (*UsersService) ListAll

func (s *UsersService) ListAll() ([]User, error)

func (*UsersService) Read

func (s *UsersService) Read(userId string) (*User, error)

func (*UsersService) Update

func (s *UsersService) Update(userId string, updateRequest *UpdateUser) (*User, error)

Jump to

Keyboard shortcuts

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