diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2022-09-21 02:35:49 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2022-09-21 02:35:49 +0900 |
| commit | dc43fc68ef2b8e0d6f2cfd94911b367fd915f445 (patch) | |
| tree | 0ee0971bd64cad08fa493745e9c6b43786452eb0 /packages/backend/src/server/api/endpoints/admin/update-meta.ts | |
| parent | fix(backend): add missing noteEntityService dep (diff) | |
| download | sharkey-dc43fc68ef2b8e0d6f2cfd94911b367fd915f445.tar.gz sharkey-dc43fc68ef2b8e0d6f2cfd94911b367fd915f445.tar.bz2 sharkey-dc43fc68ef2b8e0d6f2cfd94911b367fd915f445.zip | |
enhance(backend): metaのポーリング頻度を減らし、redisで更新を受け取るように
Diffstat (limited to 'packages/backend/src/server/api/endpoints/admin/update-meta.ts')
| -rw-r--r-- | packages/backend/src/server/api/endpoints/admin/update-meta.ts | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/packages/backend/src/server/api/endpoints/admin/update-meta.ts b/packages/backend/src/server/api/endpoints/admin/update-meta.ts index 968ed4d26d..0ab0780e3d 100644 --- a/packages/backend/src/server/api/endpoints/admin/update-meta.ts +++ b/packages/backend/src/server/api/endpoints/admin/update-meta.ts @@ -5,6 +5,7 @@ import { ModerationLogService } from '@/core/ModerationLogService.js'; import { DB_MAX_NOTE_TEXT_LENGTH } from '@/misc/hard-limits.js'; import { Endpoint } from '@/server/api/endpoint-base.js'; import { DI } from '@/di-symbols.js'; +import { GlobalEventService } from '@/core/GlobalEventService.js'; export const meta = { tags: ['admin'], @@ -115,6 +116,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { @Inject(DI.db) private db: DataSource, + private globalEventService: GlobalEventService, private moderationLogService: ModerationLogService, ) { super(meta, paramDef, async (ps, me) => { @@ -436,7 +438,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { set.enableActiveEmailValidation = ps.enableActiveEmailValidation; } - await this.db.transaction(async transactionalEntityManager => { + const updated = await this.db.transaction(async transactionalEntityManager => { const metas = await transactionalEntityManager.find(Meta, { order: { id: 'DESC', @@ -447,11 +449,21 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { if (meta) { await transactionalEntityManager.update(Meta, meta.id, set); + + const metas = await transactionalEntityManager.find(Meta, { + order: { + id: 'DESC', + }, + }); + + return metas[0]; } else { - await transactionalEntityManager.save(Meta, set); + return await transactionalEntityManager.save(Meta, set); } }); + this.globalEventService.publishInternalEvent('metaUpdated', updated); + this.moderationLogService.insertModerationLog(me, 'updateMeta'); }); } |