github.com/clerkinc/clerk-sdk-go@v1.49.1/clerk/clients.go (about)

     1  package clerk
     2  
     3  import "fmt"
     4  
     5  type ClientsService service
     6  
     7  type ClientResponse struct {
     8  	Object              string     `json:"object"`
     9  	ID                  string     `json:"id"`
    10  	LastActiveSessionID *string    `json:"last_active_session_id"`
    11  	SessionIDs          []string   `json:"session_ids"`
    12  	Sessions            []*Session `json:"sessions"`
    13  	Ended               bool       `json:"ended"`
    14  }
    15  
    16  func (s *ClientsService) ListAll() ([]ClientResponse, error) {
    17  	clientsUrl := "clients"
    18  	req, _ := s.client.NewRequest("GET", clientsUrl)
    19  
    20  	var clients []ClientResponse
    21  	_, err := s.client.Do(req, &clients)
    22  	if err != nil {
    23  		return nil, err
    24  	}
    25  	return clients, nil
    26  }
    27  
    28  func (s *ClientsService) Read(clientId string) (*ClientResponse, error) {
    29  	clientUrl := fmt.Sprintf("%s/%s", ClientsUrl, clientId)
    30  	req, _ := s.client.NewRequest("GET", clientUrl)
    31  
    32  	var clientResponse ClientResponse
    33  	_, err := s.client.Do(req, &clientResponse)
    34  	if err != nil {
    35  		return nil, err
    36  	}
    37  	return &clientResponse, nil
    38  }
    39  
    40  func (s *ClientsService) Verify(token string) (*ClientResponse, error) {
    41  	var clientResponse ClientResponse
    42  
    43  	err := doVerify(s.client, ClientsVerifyUrl, token, &clientResponse)
    44  	if err != nil {
    45  		return nil, err
    46  	}
    47  	return &clientResponse, nil
    48  }