Execute export tasks as system user

deploy_packages_to_gitea
Jens Pelzetter 2022-09-24 13:02:47 +02:00
parent a0ac634d1f
commit 6a9580f7a1
3 changed files with 19 additions and 16 deletions

View File

@ -1,12 +1,12 @@
{ {
"name": "@librecms/ccm-cms", "name": "@librecms/ccm-cms",
"version": "7.0.0-SNAPSHOT.2022-09-20T182133", "version": "7.0.0-SNAPSHOT.2022-09-24T104753",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "@librecms/ccm-cms", "name": "@librecms/ccm-cms",
"version": "7.0.0-SNAPSHOT.2022-09-20T182133", "version": "7.0.0-SNAPSHOT.2022-09-24T104753",
"license": "LGPL-3.0-or-later", "license": "LGPL-3.0-or-later",
"dependencies": { "dependencies": {
"@tiptap/core": "^2.0.0-beta.127", "@tiptap/core": "^2.0.0-beta.127",

View File

@ -1,6 +1,6 @@
{ {
"name": "@librecms/ccm-cms", "name": "@librecms/ccm-cms",
"version": "7.0.0-SNAPSHOT.2022-09-20T182133", "version": "7.0.0-SNAPSHOT.2022-09-24T104753",
"description": "JavaScript stuff for ccm-cms", "description": "JavaScript stuff for ccm-cms",
"main": "target/generated-resources/assets/@content-sections/cms-admin.js", "main": "target/generated-resources/assets/@content-sections/cms-admin.js",
"types": "target/generated-resources/assets/@content-sections/cms-admin.d.ts", "types": "target/generated-resources/assets/@content-sections/cms-admin.d.ts",

View File

@ -49,17 +49,10 @@ public class ImExportTasks {
* Listens for {@link org.libreccm.ui.admin.imexport.ExportTask}s. * Listens for {@link org.libreccm.ui.admin.imexport.ExportTask}s.
* *
* @param task The task to execute. * @param task The task to execute.
*
* @return The task.
*/ */
@Transactional(Transactional.TxType.REQUIRED) @Transactional(Transactional.TxType.REQUIRED)
public ExportTask exportEntities(@ObservesAsync final ExportTask task) { public void exportEntities(@ObservesAsync final ExportTask task) {
final Collection<Exportable> entities = task.getEntities(); shiro.getSystemUser().execute(() -> executeExport(task));
final String exportName = task.getName();
importExport.exportEntities(entities, exportName);
task.getStatus().setStatus(ImExportTaskStatus.FINISHED);
return task;
} }
/** /**
@ -69,11 +62,21 @@ public class ImExportTasks {
*/ */
@Transactional(Transactional.TxType.REQUIRED) @Transactional(Transactional.TxType.REQUIRED)
public void importEntitites(@ObservesAsync final ImportTask task) { public void importEntitites(@ObservesAsync final ImportTask task) {
final String importName = task.getName(); shiro.getSystemUser().execute(() -> executeImport(task));
}
shiro.getSystemUser().execute( private void executeExport(final ExportTask task) {
() -> importExport.importEntities(importName) final Collection<Exportable> entities = task.getEntities();
); final String exportName = task.getName();
importExport.exportEntities(entities, exportName);
task.getStatus().setStatus(ImExportTaskStatus.FINISHED);
}
private void executeImport(final ImportTask task) {
final String importName = task.getName();
importExport.importEntities(importName);
task.getStatus().setStatus(ImExportTaskStatus.FINISHED);
} }
} }