diff --git a/services/web/scripts/remove_oauth_application.js b/services/web/scripts/remove_oauth_application.js new file mode 100644 index 0000000000..e732ef1732 --- /dev/null +++ b/services/web/scripts/remove_oauth_application.js @@ -0,0 +1,39 @@ +const { OauthApplication } = require('../app/src/models/OauthApplication') +const parseArgs = require('minimist') +const OError = require('@overleaf/o-error') +const { waitForDb } = require('../app/src/infrastructure/mongodb') + +async function _removeOauthApplication(appId) { + if (!appId) { + throw new OError('No app id supplied') + } + console.log('Waiting for db...') + await waitForDb() + console.log(`Removing oauthApplication with id=${appId}`) + const result = await OauthApplication.deleteOne({ id: appId }) + console.log('Result', result) +} + +async function main() { + const argv = parseArgs(process.argv.slice(2), { + string: ['id'], + unknown: function (arg) { + console.error('unrecognised argument', arg) + process.exit(1) + }, + }) + const appId = argv.id + await _removeOauthApplication(appId) +} + +if (require.main === module) { + main() + .then(() => { + console.log('Done') + process.exit(0) + }) + .catch(err => { + console.error(err) + process.exit(1) + }) +}