| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 | package functionsimport (	"encoding/json"	"log"	"net/http"	"github.com/gravitl/netmaker/models")// CreateAccessToken - creates an access token for a userfunc CreateAccessToken(payload *models.UserAccessToken) *models.SuccessfulUserLoginResponse {	res := request[models.SuccessResponse](http.MethodPost, "/api/v1/users/access_token", payload)	if res.Code != http.StatusOK {		log.Fatalf("Error creating access token: %s", res.Message)	}	var token models.SuccessfulUserLoginResponse	responseBytes, err := json.Marshal(res.Response)	if err != nil {		log.Fatalf("Error marshaling response: %v", err)	}	if err := json.Unmarshal(responseBytes, &token); err != nil {		log.Fatalf("Error unmarshaling token: %v", err)	}	return &token}// GetAccessToken - fetch all access tokens per userfunc GetAccessToken(userName string) []models.UserAccessToken {	res := request[models.SuccessResponse](http.MethodGet, "/api/v1/users/access_token?username="+userName, nil)	if res.Code != http.StatusOK {		log.Fatalf("Error getting access token: %s", res.Message)	}	var tokens []models.UserAccessToken	responseBytes, err := json.Marshal(res.Response)	if err != nil {		log.Fatalf("Error marshaling response: %v", err)	}	if err := json.Unmarshal(responseBytes, &tokens); err != nil {		log.Fatalf("Error unmarshaling tokens: %v", err)	}	return tokens}// DeleteAccessToken - delete an access tokenfunc DeleteAccessToken(id string) {	res := request[models.SuccessResponse](http.MethodDelete, "/api/v1/users/access_token?id="+id, nil)	if res.Code != http.StatusOK {		log.Fatalf("Error deleting access token: %s", res.Message)	}}
 |