summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api/endpoints/admin
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2022-03-25 16:27:41 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2022-03-25 16:27:41 +0900
commitac8c66f5abe5b585a5940e172993c8e28f44ad69 (patch)
treea08b863e070ab51e8896fc69cb857077162756a9 /packages/backend/src/server/api/endpoints/admin
parentrefactor (diff)
downloadsharkey-ac8c66f5abe5b585a5940e172993c8e28f44ad69.tar.gz
sharkey-ac8c66f5abe5b585a5940e172993c8e28f44ad69.tar.bz2
sharkey-ac8c66f5abe5b585a5940e172993c8e28f44ad69.zip
perf(server): refactor and performance improvements
Diffstat (limited to 'packages/backend/src/server/api/endpoints/admin')
-rw-r--r--packages/backend/src/server/api/endpoints/admin/moderators/add.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/moderators/remove.ts2
-rw-r--r--packages/backend/src/server/api/endpoints/admin/show-user.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/silence-user.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/unsilence-user.ts3
5 files changed, 13 insertions, 1 deletions
diff --git a/packages/backend/src/server/api/endpoints/admin/moderators/add.ts b/packages/backend/src/server/api/endpoints/admin/moderators/add.ts
index 4206e3a3c2..60bf0ff09c 100644
--- a/packages/backend/src/server/api/endpoints/admin/moderators/add.ts
+++ b/packages/backend/src/server/api/endpoints/admin/moderators/add.ts
@@ -1,5 +1,6 @@
import define from '../../../define.js';
import { Users } from '@/models/index.js';
+import { publishInternalEvent } from '@/services/stream.js';
export const meta = {
tags: ['admin'],
@@ -31,4 +32,6 @@ export default define(meta, paramDef, async (ps) => {
await Users.update(user.id, {
isModerator: true,
});
+
+ publishInternalEvent('userChangeModeratorState', { id: user.id, isModerator: true });
});
diff --git a/packages/backend/src/server/api/endpoints/admin/moderators/remove.ts b/packages/backend/src/server/api/endpoints/admin/moderators/remove.ts
index 143119bfe4..cf9d7c14a8 100644
--- a/packages/backend/src/server/api/endpoints/admin/moderators/remove.ts
+++ b/packages/backend/src/server/api/endpoints/admin/moderators/remove.ts
@@ -27,4 +27,6 @@ export default define(meta, paramDef, async (ps) => {
await Users.update(user.id, {
isModerator: false,
});
+
+ publishInternalEvent('userChangeModeratorState', { id: user.id, isModerator: false });
});
diff --git a/packages/backend/src/server/api/endpoints/admin/show-user.ts b/packages/backend/src/server/api/endpoints/admin/show-user.ts
index a435dcc288..564b8a0261 100644
--- a/packages/backend/src/server/api/endpoints/admin/show-user.ts
+++ b/packages/backend/src/server/api/endpoints/admin/show-user.ts
@@ -29,7 +29,8 @@ export default define(meta, paramDef, async (ps, me) => {
throw new Error('user not found');
}
- if ((me.isModerator && !me.isAdmin) && user.isAdmin) {
+ const _me = await Users.findOneOrFail(me.id);
+ if ((_me.isModerator && !_me.isAdmin) && user.isAdmin) {
throw new Error('cannot show info of admin');
}
diff --git a/packages/backend/src/server/api/endpoints/admin/silence-user.ts b/packages/backend/src/server/api/endpoints/admin/silence-user.ts
index 4a74c3fb00..4cbed1cf9c 100644
--- a/packages/backend/src/server/api/endpoints/admin/silence-user.ts
+++ b/packages/backend/src/server/api/endpoints/admin/silence-user.ts
@@ -1,6 +1,7 @@
import define from '../../define.js';
import { Users } from '@/models/index.js';
import { insertModerationLog } from '@/services/insert-moderation-log.js';
+import { publishInternalEvent } from '@/services/stream.js';
export const meta = {
tags: ['admin'],
@@ -33,6 +34,8 @@ export default define(meta, paramDef, async (ps, me) => {
isSilenced: true,
});
+ publishInternalEvent('userChangeSilencedState', { id: user.id, isSilenced: true });
+
insertModerationLog(me, 'silence', {
targetId: user.id,
});
diff --git a/packages/backend/src/server/api/endpoints/admin/unsilence-user.ts b/packages/backend/src/server/api/endpoints/admin/unsilence-user.ts
index 4e6366aa18..6c66288117 100644
--- a/packages/backend/src/server/api/endpoints/admin/unsilence-user.ts
+++ b/packages/backend/src/server/api/endpoints/admin/unsilence-user.ts
@@ -1,6 +1,7 @@
import define from '../../define.js';
import { Users } from '@/models/index.js';
import { insertModerationLog } from '@/services/insert-moderation-log.js';
+import { publishInternalEvent } from '@/services/stream.js';
export const meta = {
tags: ['admin'],
@@ -29,6 +30,8 @@ export default define(meta, paramDef, async (ps, me) => {
isSilenced: false,
});
+ publishInternalEvent('userChangeSilencedState', { id: user.id, isSilenced: false });
+
insertModerationLog(me, 'unsilence', {
targetId: user.id,
});