feat(deploy): add adult verification directory creation and permissions setup

- Enhanced deploy-backend.sh and update-backend.sh to create the adult verification directory under /opt/yourpart-data.
- Updated permissions for the new directory to ensure proper access control.
- Refactored file path handling in AdminService and SettingsService to utilize the new directory structure for adult verification files.
This commit is contained in:
Torsten Schulz (local)
2026-03-27 11:24:21 +01:00
parent 02837c7b73
commit 207ef6266a
5 changed files with 41 additions and 4 deletions

View File

@@ -34,6 +34,7 @@ import { v4 as uuidv4 } from 'uuid';
import fs from 'fs';
import path from 'path';
import { fileURLToPath } from 'url';
import { getAdultVerificationBaseDir, getLegacyAdultVerificationBaseDir } from '../utils/storagePaths.js';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
@@ -46,10 +47,12 @@ class AdminService {
const candidates = [];
if (requestData.fileName) {
candidates.push(path.join(__dirname, '..', 'images', 'adult-verification', requestData.fileName));
candidates.push(path.join(getAdultVerificationBaseDir(), requestData.fileName));
candidates.push(path.join(getLegacyAdultVerificationBaseDir(), requestData.fileName));
}
if (requestData.storedFileName && requestData.storedFileName !== requestData.fileName) {
candidates.push(path.join(__dirname, '..', 'images', 'adult-verification', requestData.storedFileName));
candidates.push(path.join(getAdultVerificationBaseDir(), requestData.storedFileName));
candidates.push(path.join(getLegacyAdultVerificationBaseDir(), requestData.storedFileName));
}
if (requestData.filePath) {
candidates.push(path.isAbsolute(requestData.filePath)

View File

@@ -16,6 +16,7 @@ import fsPromises from 'fs/promises';
import path from 'path';
import { fileURLToPath } from 'url';
import { v4 as uuidv4 } from 'uuid';
import { getAdultVerificationBaseDir } from '../utils/storagePaths.js';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
@@ -105,7 +106,7 @@ class SettingsService extends BaseService{
}
buildAdultVerificationFilePath(fileName) {
return path.join(__dirname, '..', 'images', 'adult-verification', fileName);
return path.join(getAdultVerificationBaseDir(), fileName);
}
async saveAdultVerificationDocument(file) {
@@ -513,6 +514,8 @@ class SettingsService extends BaseService{
const savedFile = await this.saveAdultVerificationDocument(file);
const requestPayload = {
fileName: savedFile.fileName,
storedFileName: savedFile.fileName,
filePath: savedFile.filePath,
originalName: file.originalname,
mimeType: file.mimetype,
note: note || '',