refactor: modularize portal server and harden session recovery

This commit is contained in:
john
2026-07-24 18:39:24 +08:00
parent 1d291fd528
commit 785731d98d
109 changed files with 29185 additions and 5836 deletions
+7 -5
View File
@@ -91,7 +91,7 @@ export function createPageDataService(deps = {}) {
async function insertRow(user, datasetName, payload) {
const { service } = await createServiceForUser(user);
try {
return service.insertDatasetRow(datasetName, payload);
return await service.insertDatasetRow(datasetName, payload);
} catch (error) {
throw mapServiceError(error);
}
@@ -100,7 +100,7 @@ export function createPageDataService(deps = {}) {
async function updateRow(user, datasetName, rowId, payload) {
const { service } = await createServiceForUser(user);
try {
return service.updateDatasetRow(datasetName, rowId, payload);
return await service.updateDatasetRow(datasetName, rowId, payload);
} catch (error) {
throw mapServiceError(error);
}
@@ -109,7 +109,9 @@ export function createPageDataService(deps = {}) {
async function softDeleteRow(user, datasetName, rowId) {
const { service } = await createServiceForUser(user);
try {
return service.softDeleteDatasetRow(datasetName, rowId, { deletedBy: user.id });
return await service.softDeleteDatasetRow(datasetName, rowId, {
deletedBy: user.id,
});
} catch (error) {
throw mapServiceError(error);
}
@@ -118,7 +120,7 @@ export function createPageDataService(deps = {}) {
async function restoreRow(user, datasetName, rowId) {
const { service } = await createServiceForUser(user);
try {
return service.restoreSoftDeletedRow(datasetName, rowId);
return await service.restoreSoftDeletedRow(datasetName, rowId);
} catch (error) {
throw mapServiceError(error);
}
@@ -127,7 +129,7 @@ export function createPageDataService(deps = {}) {
async function exportDataset(user, datasetName, query = {}) {
const { service } = await createServiceForUser(user);
try {
return service.exportDatasetRows(datasetName, {
return await service.exportDatasetRows(datasetName, {
format: query.format,
includeDeleted: ['1', 'true', 'yes'].includes(String(query.include_deleted ?? '').toLowerCase()),
limit: query.limit,