diff --git a/scripts/preflight.sh b/scripts/preflight.sh index 99c50b9a..a5bfb342 100644 --- a/scripts/preflight.sh +++ b/scripts/preflight.sh @@ -25,5 +25,11 @@ if [ "$USE_DEMO_DATA" = "1" ]; then echo "Finish setting up demo data" fi +if [ "$USE_E2E_MOCK_DATA" = "1" ]; then + echo "Start setting up e2e data" + node /opt/app/dist/server/db/scripts/e2e/init-united-storage-data.js + echo "Finish setting up e2e data" +fi + supervisorctl start node supervisorctl start nginx diff --git a/src/db/scripts/e2e/init-united-storage-data.ts b/src/db/scripts/e2e/init-united-storage-data.ts new file mode 100644 index 00000000..983773b6 --- /dev/null +++ b/src/db/scripts/e2e/init-united-storage-data.ts @@ -0,0 +1,27 @@ +require('dotenv').config(); +require('../../../index'); +import * as fs from 'fs'; +import {db} from '../../index'; + +const E2E_WORKBOOK_ID = '1540491943966934028'; +const PATH_TO_DATA = `/opt/e2e-data/us-e2e-data`; + +(async function () { + try { + await db.ready(); + + const result = await db.primary.raw( + `SELECT COUNT(*) AS count FROM workbooks WHERE workbook_id = ${E2E_WORKBOOK_ID};`, + ); + + if (result && result.rows && result.rows[0] && result.rows[0].count === '0') { + const sqlData = fs.readFileSync(PATH_TO_DATA, 'utf8').toString().trim(); + await db.primary.raw(sqlData); + } + + process.exit(0); + } catch (err) { + console.error(err); + process.exit(1); + } +})();