Files
overleaf-cep/services/web/scripts/delete_old_writefull_refresh_tokens.mjs
Andrew Rumble d748d8d606 Merge pull request #29795 from overleaf/ar-last-infrastructure-conversions
[web] last infrastructure conversions

GitOrigin-RevId: 68aa11625a9bc6d0d5324ecd95bb5ac52af8ee96
2025-11-27 09:05:30 +00:00

39 lines
1.0 KiB
JavaScript

import minimist from 'minimist'
import { scriptRunner } from './lib/ScriptRunner.mjs'
import { db } from '../app/src/infrastructure/mongodb.mjs'
const argv = minimist(process.argv.slice(2))
async function main() {
const { expirationDate, commit } = argv
const cutOffDate = new Date(expirationDate)
const { _id: writefullId } = await db.oauthApplications.findOne({
id: 'writefull',
})
const count = await db.oauthAccessTokens.countDocuments(
{
accessTokenExpiresAt: { $lte: cutOffDate },
oauthApplication_id: writefullId,
},
{ readPreference: 'secondaryPreferred' }
)
console.log(`${count} access tokens expired before ${cutOffDate}`)
if (commit) {
await db.oauthAccessTokens.deleteMany({
oauthApplication_id: writefullId,
accessTokenExpiresAt: { $lte: cutOffDate },
})
} else {
console.log('use --commit to delete expired tokens')
}
}
try {
await scriptRunner(main)
console.log('Done.')
process.exit(0)
} catch (error) {
console.error({ error })
process.exit(1)
}