Skip to content

Commit

Permalink
fixed the users list in app details endpoint by adding a keto validation
Browse files Browse the repository at this point in the history
  • Loading branch information
vsumit89 committed Sep 5, 2022
1 parent 4da5662 commit 079ea3b
Showing 1 changed file with 31 additions and 1 deletion.
32 changes: 31 additions & 1 deletion server/action/organisation/application/details.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
"strconv"

"github.com/factly/kavach-server/model"
keto "github.com/factly/kavach-server/util/keto/relationTuple"
"github.com/factly/kavach-server/util/user"
"github.com/factly/x/errorx"
"github.com/factly/x/loggerx"
Expand Down Expand Up @@ -72,14 +73,43 @@ func details(w http.ResponseWriter, r *http.Request) {
Base: model.Base{
ID: uint(appID),
},
}).Preload("Users").Preload("Medium").Find(&app).Error
}).Preload("Medium").Find(&app).Error

if err != nil {
loggerx.Error(err)
errorx.Render(w, errorx.Parser(errorx.DBError()))
return
}

userIDs, err := keto.ListSubjectsByObjectID(namespace, "", fmt.Sprintf("org:%d:app:%d", orgID, appID))
if err != nil {
loggerx.Error(err)
errorx.Render(w, errorx.Parser(errorx.RecordNotFound()))
return
}

for _, userID := range userIDs {
uID, err := strconv.Atoi(userID)
if err != nil {
loggerx.Error(err)
errorx.Render(w, errorx.Parser(errorx.DecodeError()))
return
}

var userModel model.User
err = model.DB.Model(&model.User{}).Where(&model.User{
Base: model.Base{
ID: uint(uID),
},
}).Preload("Medium").First(&userModel).Error
if err != nil {
loggerx.Error(err)
errorx.Render(w, errorx.Parser(errorx.DBError()))
return
}
app.Users = append(app.Users, userModel)
}

err = model.DB.Model(&model.Space{}).Where(&model.Space{
ApplicationID: uint(appID),
OrganisationID: uint(orgID),
Expand Down

0 comments on commit 079ea3b

Please sign in to comment.