Skip to content

Commit bfafb1a

Browse files
committed
root user cant be edited/deleted
1 parent aeb14dd commit bfafb1a

File tree

3 files changed

+21
-11
lines changed

3 files changed

+21
-11
lines changed

application/backend/app/routes/routes.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -571,7 +571,7 @@ func GetUsers(w http.ResponseWriter, req *http.Request) {
571571

572572
users := userdb.GetUsers()
573573
w.Header().Add("Content-Type", "application/json")
574-
json.NewEncoder(w).Encode(map[string][]string{"users": users})
574+
json.NewEncoder(w).Encode(map[string]interface{}{"users": users, "error": nil})
575575
}
576576

577577
func UpdateUserSettings(w http.ResponseWriter, req *http.Request) {

application/backend/app/userdb/userdb.go

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,22 @@ func CreateUser(login string, password string) error {
2424
return nil
2525
}
2626

27-
func GetUsers() []string {
28-
users := []string{}
27+
func GetUsers() []map[string]interface{} {
28+
var users []map[string]interface{}
2929
iter := vars.UsersDB.NewIterator(nil, nil)
3030
for iter.Next() {
31+
var editable bool
3132
if string(iter.Key()) == os.Getenv("ADMIN_USERNAME") {
32-
continue
33+
editable = false
34+
} else {
35+
editable = true
3336
}
34-
users = append(users, string(iter.Key()))
37+
38+
user := map[string]interface{}{
39+
"username": string(iter.Key()),
40+
"editable": editable,
41+
}
42+
users = append(users, user)
3543
}
3644
defer iter.Release()
3745

application/frontend/src/lib/UserMenu/UserMenu.svelte

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -155,23 +155,25 @@
155155
<tbody>
156156
{#each usersList as user, i}
157157
<tr
158-
><td><span>{user}</span></td><td><span /></td><td
159-
><span class="buttonSpanContainer"
158+
><td><span>{user.username}</span></td><td><span /></td><td>
159+
{#if user.editable}
160+
<span class="buttonSpanContainer"
160161
><span
161162
class="buttonSpan"
162163
on:click={() => {
163-
setChosenUserLogin(user);
164+
setChosenUserLogin(user.username);
164165
showUserEditing();
165166
}}><Button title={"Edit"} minWidth={86} /></span
166167
>
167168
<span
168169
class="buttonSpan"
169170
on:click={() => {
170-
setChosenUserLogin(user);
171+
setChosenUserLogin(user.username);
171172
showUserDeleting();
172173
}}><Button title={"Delete"} minWidth={86} /></span
173-
></span
174-
></td
174+
></span>
175+
{/if}
176+
</td
175177
></tr
176178
>
177179
{/each}

0 commit comments

Comments
 (0)