Selaa lähdekoodia

adding script to remove the stale wf oauth tokens (#28786)

GitOrigin-RevId: a4bd36a23867bf8d2273fa397426830c87ab47a2
Jimmy Domagala-Tang 10 kuukautta sitten
vanhempi
sitoutus
fc24f36089
1 muutettua tiedostoa jossa 38 lisäystä ja 0 poistoa
  1. 38 0
      services/web/scripts/delete_old_writefull_refresh_tokens.mjs

+ 38 - 0
services/web/scripts/delete_old_writefull_refresh_tokens.mjs

@@ -0,0 +1,38 @@
+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)
+}