mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-06-11 07:00:47 +02:00
Merge pull request #21097 from overleaf/ls-scripts-to-esm-1
Migrate scripts folder to esm 1/x GitOrigin-RevId: 4a4bc9a161f144fdb40ce3f2a0a9313b36c6df81
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
import { ObjectId, waitForDb } from '../app/src/infrastructure/mongodb.js'
|
||||
import UserUpdater from '../app/src/Features/User/UserUpdater.js'
|
||||
import UserGetter from '../app/src/Features/User/UserGetter.js'
|
||||
|
||||
async function removeEmail() {
|
||||
const userId = process.argv[2]
|
||||
let email = process.argv[3]
|
||||
|
||||
if (!ObjectId.isValid(userId)) {
|
||||
throw new Error(`user ID ${userId} is not valid`)
|
||||
}
|
||||
|
||||
if (!email) {
|
||||
throw new Error('no email provided')
|
||||
}
|
||||
|
||||
// email arg can be within double quotes for arg so that we can handle
|
||||
// malformed emails with spaces
|
||||
email = email.replace(/"/g, '')
|
||||
|
||||
console.log(
|
||||
`\nBegin request to remove email "${email}" from user "${userId}"\n`
|
||||
)
|
||||
|
||||
const userWithEmail = await UserGetter.promises.getUserByAnyEmail(email, {
|
||||
_id: 1,
|
||||
})
|
||||
|
||||
if (!userWithEmail) {
|
||||
throw new Error(`no user found with email "${email}"`)
|
||||
}
|
||||
|
||||
if (userWithEmail._id.toString() !== userId) {
|
||||
throw new Error(
|
||||
`email does not belong to user. Belongs to ${userWithEmail._id}`
|
||||
)
|
||||
}
|
||||
|
||||
const auditLog = {
|
||||
initiatorId: undefined,
|
||||
ipAddress: '0.0.0.0',
|
||||
extraInfo: {
|
||||
script: true,
|
||||
},
|
||||
}
|
||||
|
||||
const skipParseEmail = true
|
||||
await UserUpdater.promises.removeEmailAddress(
|
||||
userId,
|
||||
email,
|
||||
auditLog,
|
||||
skipParseEmail
|
||||
)
|
||||
}
|
||||
try {
|
||||
await waitForDb()
|
||||
await removeEmail()
|
||||
console.log('Done.')
|
||||
process.exit()
|
||||
} catch (error) {
|
||||
console.error(error)
|
||||
process.exit(1)
|
||||
}
|
||||
Reference in New Issue
Block a user