diff options
| author | MeiMei <30769358+mei23@users.noreply.github.com> | 2019-04-17 00:45:33 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2019-04-17 00:45:33 +0900 |
| commit | b1865047187bf6fc9d4ad3b56a0d4eb6b2817c2b (patch) | |
| tree | 17a8a34528095c0b34283fd684f7939be66f087f /src/server/api/endpoints | |
| parent | Refactor (diff) | |
| download | sharkey-b1865047187bf6fc9d4ad3b56a0d4eb6b2817c2b.tar.gz sharkey-b1865047187bf6fc9d4ad3b56a0d4eb6b2817c2b.tar.bz2 sharkey-b1865047187bf6fc9d4ad3b56a0d4eb6b2817c2b.zip | |
Metaのアクセスでトランザクションを張るように (#4720)
* admin/instanceでmetaをキャッシュしないように
* Metaのアクセスにトランザクションをかける
Diffstat (limited to 'src/server/api/endpoints')
| -rw-r--r-- | src/server/api/endpoints/admin/update-meta.ts | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/server/api/endpoints/admin/update-meta.ts b/src/server/api/endpoints/admin/update-meta.ts index e242ac71a1..3c6380acb4 100644 --- a/src/server/api/endpoints/admin/update-meta.ts +++ b/src/server/api/endpoints/admin/update-meta.ts @@ -1,6 +1,6 @@ import $ from 'cafy'; import define from '../../define'; -import { Metas } from '../../../../models'; +import { getConnection } from 'typeorm'; import { Meta } from '../../../../models/entities/meta'; export const meta = { @@ -505,11 +505,17 @@ export default define(meta, async (ps) => { set.swPrivateKey = ps.swPrivateKey; } - const meta = await Metas.findOne(); + await getConnection().transaction(async transactionalEntityManager => { + const meta = await transactionalEntityManager.findOne(Meta, { + order: { + id: 'DESC' + } + }); - if (meta) { - await Metas.update(meta.id, set); - } else { - await Metas.save(set); - } + if (meta) { + await transactionalEntityManager.update(Meta, meta.id, set); + } else { + await transactionalEntityManager.save(Meta, set); + } + }); }); |