perf(server): refactor and performance improvements

This commit is contained in:
syuilo
2022-03-25 16:27:41 +09:00
parent 22b56ac65c
commit ac8c66f5ab
71 changed files with 289 additions and 189 deletions

View File

@ -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 });
});

View File

@ -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 });
});

View File

@ -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');
}

View File

@ -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,
});

View File

@ -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,
});