12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- package functions
- import (
- "encoding/json"
- "log"
- "net/http"
- "github.com/gravitl/netmaker/models"
- "github.com/gravitl/netmaker/schema"
- )
- // CreateAccessToken - creates an access token for a user
- func CreateAccessToken(payload *schema.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 user
- func GetAccessToken(userName string) []schema.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 []schema.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 token
- func 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)
- }
- }
|