]>
Commit | Line | Data |
---|---|---|
8795d6f2 C |
1 | import * as Sequelize from 'sequelize' |
2 | import { createPrivateKey, getPublicKey } from '../../helpers/core-utils' | |
3 | import { PRIVATE_RSA_KEY_SIZE } from '../constants' | |
4 | ||
5 | async function up (utils: { | |
6 | transaction: Sequelize.Transaction | |
7 | queryInterface: Sequelize.QueryInterface | |
8 | sequelize: Sequelize.Sequelize | |
9 | db: any | |
10 | }): Promise<void> { | |
11 | ||
12 | { | |
13 | const query = 'SELECT * FROM "actor" WHERE "serverId" IS NULL AND "publicKey" IS NULL' | |
14 | const options = { type: Sequelize.QueryTypes.SELECT as Sequelize.QueryTypes.SELECT } | |
15 | const actors = await utils.sequelize.query<any>(query, options) | |
16 | ||
17 | for (const actor of actors) { | |
18 | const { key } = await createPrivateKey(PRIVATE_RSA_KEY_SIZE) | |
19 | const { publicKey } = await getPublicKey(key) | |
20 | ||
21 | const queryUpdate = `UPDATE "actor" SET "publicKey" = '${publicKey}', "privateKey" = '${key}' WHERE id = ${actor.id}` | |
22 | await utils.sequelize.query(queryUpdate) | |
23 | } | |
24 | } | |
25 | } | |
26 | ||
27 | function down (options) { | |
28 | throw new Error('Not implemented.') | |
29 | } | |
30 | ||
31 | export { | |
32 | up, | |
33 | down | |
34 | } |