overleaf/services/web/scripts/count_files_in_projects.js
Timothée Alby 130d21b122 Merge pull request #2776 from overleaf/spd-count-files
Add script to count files and docs in projects

GitOrigin-RevId: 8d5e80ee9d48912d07c0f4ed61398b1a3f1ac0f5
2020-04-29 03:21:58 +00:00

35 lines
979 B
JavaScript

const readline = require('readline')
const ProjectEntityHandler = require('../app/src/Features/Project/ProjectEntityHandler')
const ProjectGetter = require('../app/src/Features/Project/ProjectGetter')
const Errors = require('../app/src/Features/Errors/Errors')
async function countFiles() {
const rl = readline.createInterface({
input: process.stdin
})
for await (const projectId of rl) {
try {
const project = await ProjectGetter.promises.getProject(projectId)
const {
files,
docs
} = await ProjectEntityHandler.promises.getAllEntitiesFromProject(project)
console.error(
projectId,
files.length,
project.deletedFiles.length,
docs.length,
project.deletedDocs.length
)
} catch (err) {
if (err instanceof Errors.NotFoundError) {
console.error(projectId, 'NOTFOUND')
} else {
throw err
}
}
}
}
countFiles().then(() => process.exit(0))