move api tokens models to schema pkg (#3434)

This commit is contained in:
Abhishek K 2025-04-29 00:11:56 +04:00 committed by GitHub
parent ca95954fb5
commit 119ef4e17e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 13 additions and 12 deletions

View file

@ -16,6 +16,7 @@ import (
"github.com/gravitl/netmaker/logic" "github.com/gravitl/netmaker/logic"
"github.com/gravitl/netmaker/models" "github.com/gravitl/netmaker/models"
"github.com/gravitl/netmaker/mq" "github.com/gravitl/netmaker/mq"
"github.com/gravitl/netmaker/schema"
"github.com/gravitl/netmaker/servercfg" "github.com/gravitl/netmaker/servercfg"
"golang.org/x/exp/slog" "golang.org/x/exp/slog"
) )
@ -57,7 +58,7 @@ func createUserAccessToken(w http.ResponseWriter, r *http.Request) {
// Auth request consists of Mac Address and Password (from node that is authorizing // Auth request consists of Mac Address and Password (from node that is authorizing
// in case of Master, auth is ignored and mac is set to "mastermac" // in case of Master, auth is ignored and mac is set to "mastermac"
var req models.UserAccessToken var req schema.UserAccessToken
err := json.NewDecoder(r.Body).Decode(&req) err := json.NewDecoder(r.Body).Decode(&req)
if err != nil { if err != nil {
@ -139,7 +140,7 @@ func getUserAccessTokens(w http.ResponseWriter, r *http.Request) {
logic.ReturnErrorResponse(w, r, logic.FormatError(errors.New("username is required"), "badrequest")) logic.ReturnErrorResponse(w, r, logic.FormatError(errors.New("username is required"), "badrequest"))
return return
} }
logic.ReturnSuccessResponseWithJson(w, r, (&models.UserAccessToken{UserName: username}).ListByUser(), "fetched api access tokens for user "+username) logic.ReturnSuccessResponseWithJson(w, r, (&schema.UserAccessToken{UserName: username}).ListByUser(), "fetched api access tokens for user "+username)
} }
// @Summary Authenticate a user to retrieve an authorization token // @Summary Authenticate a user to retrieve an authorization token
@ -157,7 +158,7 @@ func deleteUserAccessTokens(w http.ResponseWriter, r *http.Request) {
logic.ReturnErrorResponse(w, r, logic.FormatError(errors.New("id is required"), "badrequest")) logic.ReturnErrorResponse(w, r, logic.FormatError(errors.New("id is required"), "badrequest"))
return return
} }
a := models.UserAccessToken{ a := schema.UserAccessToken{
ID: id, ID: id,
} }
err := a.Get() err := a.Get()
@ -187,7 +188,7 @@ func deleteUserAccessTokens(w http.ResponseWriter, r *http.Request) {
} }
} }
err = (&models.UserAccessToken{ID: id}).Delete() err = (&schema.UserAccessToken{ID: id}).Delete()
if err != nil { if err != nil {
logic.ReturnErrorResponse( logic.ReturnErrorResponse(
w, w,
@ -753,7 +754,7 @@ func updateUser(w http.ResponseWriter, r *http.Request) {
} }
logic.AddGlobalNetRolesToAdmins(&userchange) logic.AddGlobalNetRolesToAdmins(&userchange)
if userchange.PlatformRoleID != user.PlatformRoleID || !logic.CompareMaps(user.UserGroups, userchange.UserGroups) { if userchange.PlatformRoleID != user.PlatformRoleID || !logic.CompareMaps(user.UserGroups, userchange.UserGroups) {
(&models.UserAccessToken{UserName: user.UserName}).DeleteAllUserTokens() (&schema.UserAccessToken{UserName: user.UserName}).DeleteAllUserTokens()
} }
user, err = logic.UpdateUser(&userchange, user) user, err = logic.UpdateUser(&userchange, user)
if err != nil { if err != nil {

View file

@ -14,6 +14,7 @@ import (
"github.com/gravitl/netmaker/database" "github.com/gravitl/netmaker/database"
"github.com/gravitl/netmaker/logger" "github.com/gravitl/netmaker/logger"
"github.com/gravitl/netmaker/models" "github.com/gravitl/netmaker/models"
"github.com/gravitl/netmaker/schema"
) )
const ( const (
@ -360,7 +361,7 @@ func DeleteUser(user string) error {
return err return err
} }
go RemoveUserFromAclPolicy(user) go RemoveUserFromAclPolicy(user)
return (&models.UserAccessToken{UserName: user}).DeleteAllUserTokens() return (&schema.UserAccessToken{UserName: user}).DeleteAllUserTokens()
} }
func SetAuthSecret(secret string) error { func SetAuthSecret(secret string) error {

View file

@ -10,6 +10,7 @@ import (
"github.com/gravitl/netmaker/logger" "github.com/gravitl/netmaker/logger"
"github.com/gravitl/netmaker/models" "github.com/gravitl/netmaker/models"
"github.com/gravitl/netmaker/schema"
"github.com/gravitl/netmaker/servercfg" "github.com/gravitl/netmaker/servercfg"
) )
@ -124,7 +125,7 @@ func GetUserNameFromToken(authtoken string) (username string, err error) {
if claims.TokenType == models.AccessTokenType { if claims.TokenType == models.AccessTokenType {
jti := claims.ID jti := claims.ID
if jti != "" { if jti != "" {
a := models.UserAccessToken{ID: jti} a := schema.UserAccessToken{ID: jti}
// check if access token is active // check if access token is active
err := a.Get() err := a.Get()
if err != nil { if err != nil {
@ -168,7 +169,7 @@ func VerifyUserToken(tokenString string) (username string, issuperadmin, isadmin
if claims.TokenType == models.AccessTokenType { if claims.TokenType == models.AccessTokenType {
jti := claims.ID jti := claims.ID
if jti != "" { if jti != "" {
a := models.UserAccessToken{ID: jti} a := schema.UserAccessToken{ID: jti}
// check if access token is active // check if access token is active
err := a.Get() err := a.Get()
if err != nil { if err != nil {

View file

@ -1,4 +1,4 @@
package models package schema
import ( import (
"context" "context"

View file

@ -1,11 +1,9 @@
package schema package schema
import "github.com/gravitl/netmaker/models"
// ListModels lists all the models in this schema. // ListModels lists all the models in this schema.
func ListModels() []interface{} { func ListModels() []interface{} {
return []interface{}{ return []interface{}{
&Job{}, &Job{},
&models.UserAccessToken{}, &UserAccessToken{},
} }
} }