mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-21 20:47:08 -05:00
Merge pull request #3537 from overleaf/jpa-helper-for-project-actions
[misc] move some helper functions from ProjectStructureTests into User GitOrigin-RevId: d5d1bbf9aa31a9f248e03b1fa3deb0378dce7a7b
This commit is contained in:
parent
32f133dd41
commit
d7d989ca1b
2 changed files with 119 additions and 88 deletions
|
@ -97,47 +97,21 @@ describe('ProjectStructureChanges', function() {
|
||||||
contentType,
|
contentType,
|
||||||
callback
|
callback
|
||||||
) {
|
) {
|
||||||
const imageFile = fs.createReadStream(
|
owner.uploadFileInProject(
|
||||||
Path.resolve(Path.join(__dirname, '..', 'files', file))
|
projectId,
|
||||||
)
|
folderId,
|
||||||
|
file,
|
||||||
owner.request.post(
|
name,
|
||||||
{
|
contentType,
|
||||||
uri: `project/${projectId}/upload`,
|
callback
|
||||||
qs: {
|
|
||||||
folder_id: folderId
|
|
||||||
},
|
|
||||||
formData: {
|
|
||||||
qqfile: {
|
|
||||||
value: imageFile,
|
|
||||||
options: {
|
|
||||||
filename: name,
|
|
||||||
contentType: contentType
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
(error, res, body) => {
|
|
||||||
if (error) {
|
|
||||||
return callback(error)
|
|
||||||
}
|
|
||||||
if (res.statusCode < 200 || res.statusCode >= 300) {
|
|
||||||
return callback(new Error(`failed to upload file ${res.statusCode}`))
|
|
||||||
}
|
|
||||||
|
|
||||||
callback(null, JSON.parse(body).entity_id)
|
|
||||||
}
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
function uploadExampleFile(owner, projectId, folderId, callback) {
|
function uploadExampleFile(owner, projectId, folderId, callback) {
|
||||||
uploadFile(
|
owner.uploadExampleFileInProject(
|
||||||
owner,
|
|
||||||
projectId,
|
projectId,
|
||||||
folderId,
|
folderId,
|
||||||
'1pixel.png',
|
'1pixel.png',
|
||||||
'1pixel.png',
|
|
||||||
'image/png',
|
|
||||||
callback
|
callback
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -175,66 +149,15 @@ describe('ProjectStructureChanges', function() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function moveItem(owner, projectId, type, itemId, folderId, callback) {
|
function moveItem(owner, projectId, type, itemId, folderId, callback) {
|
||||||
owner.request.post(
|
owner.moveItemInProject(projectId, type, itemId, folderId, callback)
|
||||||
{
|
|
||||||
uri: `project/${projectId}/${type}/${itemId}/move`,
|
|
||||||
json: {
|
|
||||||
folder_id: folderId
|
|
||||||
}
|
|
||||||
},
|
|
||||||
(error, res) => {
|
|
||||||
if (error) {
|
|
||||||
return callback(error)
|
|
||||||
}
|
|
||||||
if (res.statusCode < 200 || res.statusCode >= 300) {
|
|
||||||
return callback(new Error(`failed to move ${type} ${res.statusCode}`))
|
|
||||||
}
|
|
||||||
|
|
||||||
callback()
|
|
||||||
}
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function renameItem(owner, projectId, type, itemId, name, callback) {
|
function renameItem(owner, projectId, type, itemId, name, callback) {
|
||||||
owner.request.post(
|
owner.renameItemInProject(projectId, type, itemId, name, callback)
|
||||||
{
|
|
||||||
uri: `project/${projectId}/${type}/${itemId}/rename`,
|
|
||||||
json: {
|
|
||||||
name: name
|
|
||||||
}
|
|
||||||
},
|
|
||||||
(error, res) => {
|
|
||||||
if (error) {
|
|
||||||
return callback(error)
|
|
||||||
}
|
|
||||||
if (res.statusCode < 200 || res.statusCode >= 300) {
|
|
||||||
return callback(
|
|
||||||
new Error(`failed to rename ${type} ${res.statusCode}`)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
callback()
|
|
||||||
}
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function deleteItem(owner, projectId, type, itemId, callback) {
|
function deleteItem(owner, projectId, type, itemId, callback) {
|
||||||
owner.request.delete(
|
owner.deleteItemInProject(projectId, type, itemId, callback)
|
||||||
{
|
|
||||||
uri: `project/${projectId}/${type}/${itemId}`
|
|
||||||
},
|
|
||||||
(error, res) => {
|
|
||||||
if (error) {
|
|
||||||
return callback(error)
|
|
||||||
}
|
|
||||||
if (res.statusCode < 200 || res.statusCode >= 300) {
|
|
||||||
return callback(
|
|
||||||
new Error(`failed to delete folder ${res.statusCode}`)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
callback()
|
|
||||||
}
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function verifyVersionIncremented(
|
function verifyVersionIncremented(
|
||||||
|
|
|
@ -5,6 +5,8 @@ const UserModel = require('../../../../app/src/models/User').User
|
||||||
const UserUpdater = require('../../../../app/src/Features/User/UserUpdater')
|
const UserUpdater = require('../../../../app/src/Features/User/UserUpdater')
|
||||||
const AuthenticationManager = require('../../../../app/src/Features/Authentication/AuthenticationManager')
|
const AuthenticationManager = require('../../../../app/src/Features/Authentication/AuthenticationManager')
|
||||||
const { promisify } = require('util')
|
const { promisify } = require('util')
|
||||||
|
const fs = require('fs')
|
||||||
|
const Path = require('path')
|
||||||
|
|
||||||
let count = 0
|
let count = 0
|
||||||
|
|
||||||
|
@ -401,6 +403,112 @@ class User {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uploadFileInProject(projectId, folderId, file, name, contentType, callback) {
|
||||||
|
const imageFile = fs.createReadStream(
|
||||||
|
Path.resolve(Path.join(__dirname, '..', '..', 'files', file))
|
||||||
|
)
|
||||||
|
|
||||||
|
this.request.post(
|
||||||
|
{
|
||||||
|
uri: `project/${projectId}/upload`,
|
||||||
|
qs: {
|
||||||
|
folder_id: String(folderId)
|
||||||
|
},
|
||||||
|
formData: {
|
||||||
|
qqfile: {
|
||||||
|
value: imageFile,
|
||||||
|
options: {
|
||||||
|
filename: name,
|
||||||
|
contentType: contentType
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
(error, res, body) => {
|
||||||
|
if (error) {
|
||||||
|
return callback(error)
|
||||||
|
}
|
||||||
|
if (res.statusCode < 200 || res.statusCode >= 300) {
|
||||||
|
return callback(new Error(`failed to upload file ${res.statusCode}`))
|
||||||
|
}
|
||||||
|
|
||||||
|
callback(null, JSON.parse(body).entity_id)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
uploadExampleFileInProject(projectId, folderId, name, callback) {
|
||||||
|
this.uploadFileInProject(
|
||||||
|
projectId,
|
||||||
|
folderId,
|
||||||
|
'1pixel.png',
|
||||||
|
name,
|
||||||
|
'image/png',
|
||||||
|
callback
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
moveItemInProject(projectId, type, itemId, folderId, callback) {
|
||||||
|
this.request.post(
|
||||||
|
{
|
||||||
|
uri: `project/${projectId}/${type}/${itemId}/move`,
|
||||||
|
json: {
|
||||||
|
folder_id: folderId
|
||||||
|
}
|
||||||
|
},
|
||||||
|
(error, res) => {
|
||||||
|
if (error) {
|
||||||
|
return callback(error)
|
||||||
|
}
|
||||||
|
if (res.statusCode < 200 || res.statusCode >= 300) {
|
||||||
|
return callback(new Error(`failed to move ${type} ${res.statusCode}`))
|
||||||
|
}
|
||||||
|
|
||||||
|
callback()
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
renameItemInProject(projectId, type, itemId, name, callback) {
|
||||||
|
this.request.post(
|
||||||
|
{
|
||||||
|
uri: `project/${projectId}/${type}/${itemId}/rename`,
|
||||||
|
json: {
|
||||||
|
name: name
|
||||||
|
}
|
||||||
|
},
|
||||||
|
(error, res) => {
|
||||||
|
if (error) {
|
||||||
|
return callback(error)
|
||||||
|
}
|
||||||
|
if (res.statusCode < 200 || res.statusCode >= 300) {
|
||||||
|
return callback(
|
||||||
|
new Error(`failed to rename ${type} ${res.statusCode}`)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
callback()
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
deleteItemInProject(projectId, type, itemId, callback) {
|
||||||
|
this.request.delete(
|
||||||
|
`project/${projectId}/${type}/${itemId}`,
|
||||||
|
(error, res) => {
|
||||||
|
if (error) {
|
||||||
|
return callback(error)
|
||||||
|
}
|
||||||
|
if (res.statusCode < 200 || res.statusCode >= 300) {
|
||||||
|
return callback(
|
||||||
|
new Error(`failed to delete ${type} ${res.statusCode}`)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
callback()
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
addUserToProject(projectId, user, privileges, callback) {
|
addUserToProject(projectId, user, privileges, callback) {
|
||||||
let updateOp
|
let updateOp
|
||||||
if (privileges === 'readAndWrite') {
|
if (privileges === 'readAndWrite') {
|
||||||
|
|
Loading…
Reference in a new issue