mirror of
https://github.com/overleaf/overleaf.git
synced 2025-02-23 00:13:30 +00:00
Merge pull request #9339 from overleaf/jpa-script-rename-tag
[web] server-ce-scripts: add script for renaming a tag GitOrigin-RevId: 4137fcf7410a5043fa1c1ef1a1694f6c5ad6059a
This commit is contained in:
parent
d538d28f3e
commit
4cfbee15df
2 changed files with 64 additions and 0 deletions
33
services/web/modules/server-ce-scripts/scripts/rename-tag.js
Normal file
33
services/web/modules/server-ce-scripts/scripts/rename-tag.js
Normal file
|
@ -0,0 +1,33 @@
|
|||
const minimist = require('minimist')
|
||||
const { db, waitForDb } = require('../../../app/src/infrastructure/mongodb')
|
||||
|
||||
async function main() {
|
||||
await waitForDb()
|
||||
|
||||
const argv = minimist(process.argv.slice(2), {
|
||||
string: ['user-id', 'old-name', 'new_name'],
|
||||
})
|
||||
|
||||
const { 'user-id': userId, 'old-name': oldName, 'new-name': newName } = argv
|
||||
if (!userId || !oldName || !newName) {
|
||||
console.error(
|
||||
`Usage: node ${__filename} --user-id=5a9414f259776c7900b300e6 --old-name=my-folder --new-name=my-folder-renamed`
|
||||
)
|
||||
process.exit(101)
|
||||
}
|
||||
|
||||
await db.tags.updateOne(
|
||||
{ name: oldName, user_id: userId },
|
||||
{ $set: { name: newName } }
|
||||
)
|
||||
}
|
||||
|
||||
main()
|
||||
.then(() => {
|
||||
console.error('Done.')
|
||||
process.exit(0)
|
||||
})
|
||||
.catch(err => {
|
||||
console.error(err)
|
||||
process.exit(1)
|
||||
})
|
|
@ -129,4 +129,35 @@ describe('ServerCEScripts', function () {
|
|||
expect.fail('command should have failed')
|
||||
})
|
||||
})
|
||||
|
||||
describe('rename-tag', function () {
|
||||
let user
|
||||
beforeEach(async function () {
|
||||
user = new User()
|
||||
await user.login()
|
||||
})
|
||||
|
||||
async function createTag(name) {
|
||||
await user.doRequest('POST', { url: '/tag', json: { name } })
|
||||
}
|
||||
|
||||
async function getTagNames() {
|
||||
const { body } = await user.doRequest('GET', { url: '/tag', json: true })
|
||||
return body.map(tag => tag.name)
|
||||
}
|
||||
|
||||
it('should rename a tag', async function () {
|
||||
const oldName = 'before'
|
||||
const newName = 'after'
|
||||
await createTag(oldName)
|
||||
|
||||
expect(await getTagNames()).to.deep.equal([oldName])
|
||||
|
||||
run(
|
||||
`node modules/server-ce-scripts/scripts/rename-tag --user-id=${user.id} --old-name=${oldName} --new-name=${newName}`
|
||||
)
|
||||
|
||||
expect(await getTagNames()).to.deep.equal([newName])
|
||||
})
|
||||
})
|
||||
})
|
||||
|
|
Loading…
Reference in a new issue