From c65a9341077cee4c2f98784ae103e4e8a7bb7917 Mon Sep 17 00:00:00 2001 From: Pascal Fischer Date: Mon, 27 Mar 2023 16:28:49 +0200 Subject: [PATCH] refactor to use name instead of description --- management/server/account_test.go | 2 +- management/server/http/api/openapi.yml | 16 ++++++--------- management/server/http/api/types.gen.go | 12 +++++------ management/server/http/pat_handler.go | 24 ++-------------------- management/server/personal_access_token.go | 6 +++--- 5 files changed, 18 insertions(+), 42 deletions(-) diff --git a/management/server/account_test.go b/management/server/account_test.go index 5b4b1cc17..57b1cf3da 100644 --- a/management/server/account_test.go +++ b/management/server/account_test.go @@ -1245,7 +1245,7 @@ func TestAccount_Copy(t *testing.T) { PATs: map[string]*PersonalAccessToken{ "pat1": { ID: "pat1", - Description: "First PAT", + Name: "First PAT", HashedToken: "SoMeHaShEdToKeN", ExpirationDate: time.Now().AddDate(0, 0, 7), CreatedBy: "user1", diff --git a/management/server/http/api/openapi.yml b/management/server/http/api/openapi.yml index 3f742b850..c9a373411 100644 --- a/management/server/http/api/openapi.yml +++ b/management/server/http/api/openapi.yml @@ -292,12 +292,9 @@ components: id: description: ID of a token type: string - description: - description: Description of the token + name: + description: Name of the token type: string -# hashed_token: -# description: Hashed representation of the token -# type: string expiration_date: description: Date the token expires type: string @@ -315,8 +312,7 @@ components: format: date-time required: - id - - description -# - hashed_token + - name - expiration_date - created_by - created_at @@ -324,14 +320,14 @@ components: PersonalAccessTokenRequest: type: object properties: - description: - description: Description of the token + name: + description: Name of the token type: string expires_in: description: Expiration in days type: integer required: - - description + - name - expires_in GroupMinimum: type: object diff --git a/management/server/http/api/types.gen.go b/management/server/http/api/types.gen.go index 76c128d55..4727e471e 100644 --- a/management/server/http/api/types.gen.go +++ b/management/server/http/api/types.gen.go @@ -387,9 +387,6 @@ type PersonalAccessToken struct { // CreatedBy User ID of the user who created the token CreatedBy string `json:"created_by"` - // Description Description of the token - Description string `json:"description"` - // ExpirationDate Date the token expires ExpirationDate time.Time `json:"expiration_date"` @@ -398,15 +395,18 @@ type PersonalAccessToken struct { // LastUsed Date the token was last used LastUsed time.Time `json:"last_used"` + + // Name Name of the token + Name string `json:"name"` } // PersonalAccessTokenRequest defines model for PersonalAccessTokenRequest. type PersonalAccessTokenRequest struct { - // Description Description of the token - Description string `json:"description"` - // ExpiresIn Expiration in days ExpiresIn int `json:"expires_in"` + + // Name Name of the token + Name string `json:"name"` } // Policy defines model for Policy. diff --git a/management/server/http/pat_handler.go b/management/server/http/pat_handler.go index 8cdef141a..04c1f369f 100644 --- a/management/server/http/pat_handler.go +++ b/management/server/http/pat_handler.go @@ -30,11 +30,6 @@ func NewPATsHandler(accountManager server.AccountManager, authCfg AuthCfg) *PATH } func (h *PATHandler) GetAllTokens(w http.ResponseWriter, r *http.Request) { - if r.Method != http.MethodGet { - util.WriteErrorResponse("wrong HTTP method", http.StatusMethodNotAllowed, w) - return - } - claims := h.claimsExtractor.FromRequestContext(r) account, user, err := h.accountManager.GetAccountFromToken(claims) if err != nil { @@ -62,11 +57,6 @@ func (h *PATHandler) GetAllTokens(w http.ResponseWriter, r *http.Request) { } func (h *PATHandler) GetToken(w http.ResponseWriter, r *http.Request) { - if r.Method != http.MethodGet { - util.WriteErrorResponse("wrong HTTP method", http.StatusMethodNotAllowed, w) - return - } - claims := h.claimsExtractor.FromRequestContext(r) account, user, err := h.accountManager.GetAccountFromToken(claims) if err != nil { @@ -96,11 +86,6 @@ func (h *PATHandler) GetToken(w http.ResponseWriter, r *http.Request) { } func (h *PATHandler) CreateToken(w http.ResponseWriter, r *http.Request) { - if r.Method != http.MethodPut { - util.WriteErrorResponse("wrong HTTP method", http.StatusMethodNotAllowed, w) - return - } - claims := h.claimsExtractor.FromRequestContext(r) account, user, err := h.accountManager.GetAccountFromToken(claims) if err != nil { @@ -126,7 +111,7 @@ func (h *PATHandler) CreateToken(w http.ResponseWriter, r *http.Request) { return } - pat, plainToken, err := server.CreateNewPAT(req.Description, req.ExpiresIn, user.Id) + pat, plainToken, err := server.CreateNewPAT(req.Name, req.ExpiresIn, user.Id) err = h.accountManager.AddPATToUser(account.Id, userID, pat) if err != nil { util.WriteError(err, w) @@ -137,11 +122,6 @@ func (h *PATHandler) CreateToken(w http.ResponseWriter, r *http.Request) { } func (h *PATHandler) DeleteToken(w http.ResponseWriter, r *http.Request) { - if r.Method != http.MethodDelete { - util.WriteErrorResponse("wrong HTTP method", http.StatusMethodNotAllowed, w) - return - } - claims := h.claimsExtractor.FromRequestContext(r) account, user, err := h.accountManager.GetAccountFromToken(claims) if err != nil { @@ -179,7 +159,7 @@ func toPATResponse(pat *server.PersonalAccessToken) *api.PersonalAccessToken { return &api.PersonalAccessToken{ CreatedAt: pat.CreatedAt, CreatedBy: pat.CreatedBy, - Description: pat.Description, + Name: pat.Name, ExpirationDate: pat.ExpirationDate, Id: pat.ID, LastUsed: pat.LastUsed, diff --git a/management/server/personal_access_token.go b/management/server/personal_access_token.go index 7416a9e0b..817605dce 100644 --- a/management/server/personal_access_token.go +++ b/management/server/personal_access_token.go @@ -25,7 +25,7 @@ const ( // PersonalAccessToken holds all information about a PAT including a hashed version of it for verification type PersonalAccessToken struct { ID string - Description string + Name string HashedToken string ExpirationDate time.Time // scope could be added in future @@ -36,7 +36,7 @@ type PersonalAccessToken struct { // CreateNewPAT will generate a new PersonalAccessToken that can be assigned to a User. // Additionally, it will return the token in plain text once, to give to the user and only save a hashed version -func CreateNewPAT(description string, expirationInDays int, createdBy string) (*PersonalAccessToken, string, error) { +func CreateNewPAT(name string, expirationInDays int, createdBy string) (*PersonalAccessToken, string, error) { hashedToken, plainToken, err := generateNewToken() if err != nil { return nil, "", err @@ -44,7 +44,7 @@ func CreateNewPAT(description string, expirationInDays int, createdBy string) (* currentTime := time.Now().UTC() return &PersonalAccessToken{ ID: xid.New().String(), - Description: description, + Name: name, HashedToken: hashedToken, ExpirationDate: currentTime.AddDate(0, 0, expirationInDays), CreatedBy: createdBy,