feat: put db and uploads in same folder

This commit is contained in:
Elias Schneider
2022-10-12 00:38:38 +02:00
parent 759db40ac9
commit 80cdcda93c
9 changed files with 15 additions and 19 deletions

View File

@@ -27,7 +27,7 @@ export class FileController {
@UseGuards(JwtGuard, ShareOwnerGuard)
@UseInterceptors(
FileInterceptor("file", {
dest: "./uploads/_temp/",
dest: "./data/uploads/_temp/",
})
)
async create(

View File

@@ -8,7 +8,6 @@ import { JwtService } from "@nestjs/jwt";
import { randomUUID } from "crypto";
import * as fs from "fs";
import * as mime from "mime-types";
import { join } from "path";
import { PrismaService } from "src/prisma/prisma.service";
@Injectable()
@@ -29,10 +28,12 @@ export class FileService {
const fileId = randomUUID();
await fs.promises.mkdir(`./uploads/shares/${shareId}`, { recursive: true });
await fs.promises.mkdir(`./data/uploads/shares/${shareId}`, {
recursive: true,
});
fs.promises.rename(
`./uploads/_temp/${file.filename}`,
`./uploads/shares/${shareId}/${fileId}`
`./data/uploads/_temp/${file.filename}`,
`./data/uploads/shares/${shareId}/${fileId}`
);
return await this.prisma.file.create({
@@ -53,7 +54,7 @@ export class FileService {
if (!fileMetaData) throw new NotFoundException("File not found");
const file = fs.createReadStream(
join(process.cwd(), `uploads/shares/${shareId}/${fileId}`)
`./data/uploads/shares/${shareId}/${fileId}`
);
return {
@@ -67,14 +68,14 @@ export class FileService {
}
async deleteAllFiles(shareId: string) {
await fs.promises.rm(`./uploads/shares/${shareId}`, {
await fs.promises.rm(`./data/uploads/shares/${shareId}`, {
recursive: true,
force: true,
});
}
getZip(shareId: string) {
return fs.createReadStream(`./uploads/shares/${shareId}/archive.zip`);
return fs.createReadStream(`./data/uploads/shares/${shareId}/archive.zip`);
}
getFileDownloadUrl(shareId: string, fileId: string) {

View File

@@ -7,7 +7,7 @@ async function bootstrap() {
app.useGlobalPipes(new ValidationPipe());
app.useGlobalInterceptors(new ClassSerializerInterceptor(app.get(Reflector)));
await fs.promises.mkdir("./uploads/_temp", { recursive: true });
await fs.promises.mkdir("./data/uploads/_temp", { recursive: true });
app.setGlobalPrefix("api");
await app.listen(8080);

View File

@@ -8,7 +8,7 @@ export class PrismaService extends PrismaClient {
super({
datasources: {
db: {
url: "file:./pingvin-share.db",
url: "file:../data/pingvin-share.db",
},
},
});

View File

@@ -57,7 +57,7 @@ export class ShareService {
}
async createZip(shareId: string) {
const path = `./uploads/shares/${shareId}`;
const path = `./data/uploads/shares/${shareId}`;
const files = await this.prisma.file.findMany({ where: { shareId } });
const archive = archiver("zip", {