UNPKG

unleash-server

Version:

Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.

29 lines 1.09 kB
'use strict'; const async = require('async'); const settingsId = 'unleash.enterprise.api.keys'; const toApiToken = (legacyToken) => ({ secret: legacyToken.key, username: legacyToken.username, createdAt: legacyToken.created || new Date(), type: legacyToken.priviliges.some((n) => n === 'ADMIN') ? 'admin' : 'client', }); exports.up = function (db, cb) { db.runSql(`SELECT * from settings where name = '${settingsId}';`, (err, results) => { if (results.rowCount === 1) { const legacyTokens = results.rows[0].content.keys; const inserts = legacyTokens.map(toApiToken).map((t) => db.runSql.bind(db, `INSERT INTO api_tokens (secret, username, type, created_at) VALUES (?, ?, ?, ?) ON CONFLICT DO NOTHING;`, [t.secret, t.username, t.type, t.createdAt])); async.series(inserts, cb); } else { cb(); } }); }; exports.down = function (db, cb) { cb(); }; //# sourceMappingURL=20210322104357-api-tokens-convert-enterprise.js.map