diff --git a/keyserver/src/database/migration-config.js b/keyserver/src/database/migration-config.js --- a/keyserver/src/database/migration-config.js +++ b/keyserver/src/database/migration-config.js @@ -466,9 +466,47 @@ } }, ], + [ + 39, + async () => { + ensureUserCredentials(); + }, + ], + [ + 40, + async () => { + await dbQuery( + SQL` + ALTER TABLE metadata + MODIFY COLUMN data VARCHAR(1023); + `, + ); + }, + ], ]); const newDatabaseVersion: number = Math.max(...migrations.keys()); +async function ensureUserCredentials() { + try { + const fileHandle = await fs.promises.open( + 'secrets/user_credentials.json', + 'r', + ); + JSON.parse(await fileHandle.readFile('utf8')); + } catch (e) { + console.log( + 'Please add the follow to secrets/user_credentials.json:\n' + + '{\n' + + ' . "username": <user>,\n' + + ' . "password": <pass>,\n' + + '}\n', + ); + // Since we don't want to apply the migrate + // throw error now, so check is ran again + throw e; + } +} + async function writeJSONToFile(data: any, filePath: string): Promise<void> { console.warn(`updating ${filePath} to ${JSON.stringify(data)}`); const fileHandle = await fs.promises.open(filePath, 'w');