| 1234567891011121314151617181920212223242526272829303132333435363738 |
- import minimist from 'minimist'
- import { scriptRunner } from './lib/ScriptRunner.mjs'
- import { db } from '../app/src/infrastructure/mongodb.js'
- 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)
- }
|