18F/federalist

View on GitHub
migrations/20200716100000-set-site-subdomain.js

Summary

Maintainability
A
2 hrs
Test Coverage
const { generateSubdomain } = require('../api/utils');

const getSites = 'SELECT id, owner, repository from site';
const cmdUpdateSiteSubdomain = site => `UPDATE site SET subdomain = '${generateSubdomain(site.owner, site.repository)}' WHERE id = ${site.id}`;
const cmdUnsetAllSiteSubdomains = 'UPDATE site SET subdomain = null';

exports.up = (db, callback) => db.runSql(getSites)
    .then((sites) => Promise.all(sites.rows.map(site => db.runSql(cmdUpdateSiteSubdomain(site)))))
    .then(() => callback())
    .catch(callback);

exports.down = (db, callback) => db.runSql(cmdUnsetAllSiteSubdomains)
    .then(() => callback())
    .catch(callback);