fix: admin/accounts: renaming your account while logged-in kicked you out
Massimo Melina committed
Feb 4, 2023 at 11:23 UTC
34bbb4d2d3310bcd3542dc39ea5538ff91c25085
1 file changed
+3
-1
src/api.accounts.ts
+3
-1
@@ -44,13 +44,15 @@ const apis: ApiHandlers = {
44
return { list: _.filter(accountsConfig.get(), accountCanLoginAdmin).map(ac => ac.username) }
45
},
46
47
- set_account({ username, changes }) {
47
+ set_account({ username, changes }, ctx) {
48
const { admin } = changes
49
if (admin === null)
50
changes.admin = undefined
51
else if (admin !== undefined && typeof admin !== 'boolean')
52
return new ApiError(HTTP_BAD_REQUEST, "invalid admin")
53
const acc = setAccount(username, changes)
54
+ if (changes.username && ctx.session)
55
+ ctx.session.username = changes.username
56
return acc ? _.pick(acc, 'username') : new ApiError(HTTP_BAD_REQUEST)
57
},
58