user files fixes

This commit is contained in:
mrfry 2023-05-01 20:26:04 +02:00
parent 7a69e920d4
commit 9665db7bbe

View file

@ -23,7 +23,7 @@ import fs from 'fs'
import logger from '../../../utils/logger' import logger from '../../../utils/logger'
import utils from '../../../utils/utils' import utils from '../../../utils/utils'
import { Request, SubmoduleData, User } from '../../../types/basicTypes' import { Request, SubmoduleData, User } from '../../../types/basicTypes'
import { paths, publicDir } from '../../../utils/files' import { paths } from '../../../utils/files'
import constants from '../../../constants' import constants from '../../../constants'
export interface UserDirDataFile { export interface UserDirDataFile {
@ -33,9 +33,9 @@ export interface UserDirDataFile {
downvotes: number[] downvotes: number[]
} }
function listDir(subdir: string, userFilesDir: string) { function listDir(subdir: string) {
const safeSubdir = subdir.replace(/\.+/g, '').replace(/\/+/g, '') const safeSubdir = subdir.replace(/\.+/g, '').replace(/\/+/g, '')
const dir = userFilesDir + '/' + safeSubdir const dir = paths.userFilesDir + '/' + safeSubdir
const usersFile = dir + '/' + constants.userFilesDataFileName const usersFile = dir + '/' + constants.userFilesDataFileName
if (!utils.FileExists(dir)) { if (!utils.FileExists(dir)) {
@ -67,7 +67,7 @@ function listDir(subdir: string, userFilesDir: string) {
acc.push({ acc.push({
name: file, name: file,
path: dir.replace(publicDir, '') + '/' + file, path: dir.replace('public/', '') + '/' + file,
size: stat.size, size: stat.size,
date: stat.mtime.getTime(), date: stat.mtime.getTime(),
user: users && users[file] ? users[file].uid : -1, user: users && users[file] ? users[file].uid : -1,
@ -105,7 +105,7 @@ function setup(data: SubmoduleData): void {
const dir = x[2] const dir = x[2]
const fname = x.pop() const fname = x.pop()
const dataFilePath = const dataFilePath =
publicDir + paths.userFilesDir +
'/' + '/' +
dir + dir +
'/' + '/' +
@ -138,7 +138,7 @@ function setup(data: SubmoduleData): void {
const subdir: string = req.query.subdir const subdir: string = req.query.subdir
if (subdir) { if (subdir) {
const result = listDir(subdir, paths.userFilesDir) const result = listDir(subdir)
res.json(result) res.json(result)
} else { } else {
res.json({ res.json({
@ -331,7 +331,7 @@ function setup(data: SubmoduleData): void {
utils.WriteFile(JSON.stringify(data), dataFilePath) utils.WriteFile(JSON.stringify(data), dataFilePath)
} }
const result = listDir(dir, paths.userFilesDir) const result = listDir(dir)
res.json(result) res.json(result)
}) })
@ -348,7 +348,7 @@ function setup(data: SubmoduleData): void {
}) })
return return
} }
const result = listDir(name, paths.userFilesDir) const result = listDir(name)
if (result.files.length === 0) { if (result.files.length === 0) {
utils.deleteDir(paths.userFilesDir + '/' + safeName) utils.deleteDir(paths.userFilesDir + '/' + safeName)
} else { } else {