Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions src/Controller/HistoryController.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ public function __construct(private readonly HistoryServiceInterface $historySer
{
}

#[Route(path: '/api/migration/get-grouped-logs-of-run', name: 'api.admin.migration.get-grouped-logs-of-run', methods: ['GET'], defaults: ['_acl' => ['admin']])]
#[Route(path: '/api/migration/get-grouped-logs-of-run', name: 'api.admin.migration.get-grouped-logs-of-run', methods: ['GET'], defaults: ['_acl' => ['swag_migration.viewer']])]
public function getGroupedLogsOfRun(Request $request, Context $context): JsonResponse
{
$runUuid = $request->query->getAlnum('runUuid');
Expand All @@ -54,7 +54,7 @@ public function getGroupedLogsOfRun(Request $request, Context $context): JsonRes
]);
}

#[Route(path: '/api/_action/migration/download-logs-of-run', name: 'api.admin.migration.download-logs-of-run', methods: ['POST'], defaults: ['auth_required' => false, '_acl' => ['admin']])]
#[Route(path: '/api/_action/migration/download-logs-of-run', name: 'api.admin.migration.download-logs-of-run', methods: ['POST'], defaults: ['auth_required' => false, '_acl' => ['swag_migration.viewer']])]
public function downloadLogsOfRun(Request $request, Context $context): StreamedResponse
{
$runUuid = $request->request->getAlnum('runUuid');
Expand All @@ -80,7 +80,7 @@ public function downloadLogsOfRun(Request $request, Context $context): StreamedR
return $response;
}

#[Route(path: '/api/_action/migration/clear-data-of-run', name: 'api.admin.migration.clear-data-of-run', methods: ['POST'], defaults: ['_acl' => ['admin']])]
#[Route(path: '/api/_action/migration/clear-data-of-run', name: 'api.admin.migration.clear-data-of-run', methods: ['POST'], defaults: ['_acl' => ['swag_migration.deleter']])]
public function clearDataOfRun(Request $request, Context $context): Response
{
$runUuid = $request->request->getAlnum('runUuid');
Expand All @@ -98,7 +98,7 @@ public function clearDataOfRun(Request $request, Context $context): Response
return new Response();
}

#[Route(path: '/api/_action/migration/is-media-processing', name: 'api.admin.migration.is-media-processing', methods: ['GET'], defaults: ['_acl' => ['admin']])]
#[Route(path: '/api/_action/migration/is-media-processing', name: 'api.admin.migration.is-media-processing', methods: ['GET'], defaults: ['_acl' => ['swag_migration_history:read']])]
public function isMediaProcessing(): JsonResponse
{
$result = $this->historyService->isMediaProcessing();
Expand Down
4 changes: 2 additions & 2 deletions src/Controller/PremappingController.php
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ public function __construct(
) {
}

#[Route(path: '/api/_action/migration/generate-premapping', name: 'api.admin.migration.generate-premapping', methods: ['POST'], defaults: ['_acl' => ['admin']])]
#[Route(path: '/api/_action/migration/generate-premapping', name: 'api.admin.migration.generate-premapping', methods: ['POST'], defaults: ['_acl' => ['swag_migration.editor']])]
public function generatePremapping(Request $request, Context $context): JsonResponse
{
$dataSelectionIds = $request->request->all('dataSelectionIds');
Expand All @@ -41,7 +41,7 @@ public function generatePremapping(Request $request, Context $context): JsonResp
return new JsonResponse($this->premappingService->generatePremapping($context, $migrationContext, $dataSelectionIds));
}

#[Route(path: '/api/_action/migration/write-premapping', name: 'api.admin.migration.write-premapping', methods: ['POST'], defaults: ['_acl' => ['admin']])]
#[Route(path: '/api/_action/migration/write-premapping', name: 'api.admin.migration.write-premapping', methods: ['POST'], defaults: ['_acl' => ['swag_migration.editor']])]
public function writePremapping(Request $request, Context $context): Response
{
$premapping = $request->request->all('premapping');
Expand Down
32 changes: 16 additions & 16 deletions src/Controller/StatusController.php
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ public function __construct(
#[Route(
path: '/api/_action/migration/get-profile-information',
name: 'api.admin.migration.get-profile-information',
defaults: ['_acl' => ['admin']],
defaults: ['_acl' => ['swag_migration.viewer']],
methods: [Request::METHOD_GET]
)]
public function getProfileInformation(Request $request): Response
Expand Down Expand Up @@ -117,7 +117,7 @@ public function getProfileInformation(Request $request): Response
#[Route(
path: '/api/_action/migration/get-profiles',
name: 'api.admin.migration.get-profiles',
defaults: ['_acl' => ['admin']],
defaults: ['_acl' => ['swag_migration.viewer']],
methods: [Request::METHOD_GET]
)]
public function getProfiles(): JsonResponse
Expand All @@ -140,7 +140,7 @@ public function getProfiles(): JsonResponse
#[Route(
path: '/api/_action/migration/get-gateways',
name: 'api.admin.migration.get-gateways',
defaults: ['_acl' => ['admin']],
defaults: ['_acl' => ['swag_migration.viewer']],
methods: [Request::METHOD_GET]
)]
public function getGateways(Request $request): JsonResponse
Expand Down Expand Up @@ -168,7 +168,7 @@ public function getGateways(Request $request): JsonResponse
#[Route(
path: '/api/_action/migration/update-connection-credentials',
name: 'api.admin.migration.update-connection-credentials',
defaults: ['_acl' => ['admin']],
defaults: ['_acl' => ['swag_migration.editor']],
methods: [Request::METHOD_POST]
)]
public function updateConnectionCredentials(Request $request, Context $context): Response
Expand All @@ -195,7 +195,7 @@ public function updateConnectionCredentials(Request $request, Context $context):
#[Route(
path: '/api/_action/migration/data-selection',
name: 'api.admin.migration.data-selection',
defaults: ['_acl' => ['admin']],
defaults: ['_acl' => ['swag_migration.viewer']],
methods: [Request::METHOD_GET]
)]
public function getDataSelection(Request $request, Context $context): JsonResponse
Expand All @@ -222,7 +222,7 @@ public function getDataSelection(Request $request, Context $context): JsonRespon
#[Route(
path: '/api/_action/migration/check-connection',
name: 'api.admin.migration.check-connection',
defaults: ['_acl' => ['admin']],
defaults: ['_acl' => ['swag_migration.viewer']],
methods: [Request::METHOD_POST]
)]
public function checkConnection(Request $request, Context $context): JsonResponse
Expand All @@ -248,7 +248,7 @@ public function checkConnection(Request $request, Context $context): JsonRespons
#[Route(
path: '/api/_action/migration/start-migration',
name: 'api.admin.migration.start-migration',
defaults: ['_acl' => ['admin']],
defaults: ['_acl' => ['swag_migration.creator']],
methods: [Request::METHOD_POST]
)]
public function startMigration(Request $request, Context $context): Response
Expand Down Expand Up @@ -281,7 +281,7 @@ public function startMigration(Request $request, Context $context): Response
#[Route(
path: '/api/_action/migration/get-state',
name: 'api.admin.migration.get-state',
defaults: ['_acl' => ['admin']],
defaults: ['_acl' => ['swag_migration.viewer']],
methods: [Request::METHOD_GET]
)]
public function getState(Context $context): JsonResponse
Expand All @@ -292,7 +292,7 @@ public function getState(Context $context): JsonResponse
#[Route(
path: '/api/_action/migration/approve-finished',
name: 'api.admin.migration.approveFinished',
defaults: ['_acl' => ['admin']],
defaults: ['_acl' => ['swag_migration.editor']],
methods: [Request::METHOD_POST]
)]
public function approveFinishedMigration(Context $context): Response
Expand All @@ -313,7 +313,7 @@ public function approveFinishedMigration(Context $context): Response
#[Route(
path: '/api/_action/migration/abort-migration',
name: 'api.admin.migration.abort-migration',
defaults: ['_acl' => ['admin']],
defaults: ['_acl' => ['swag_migration.editor']],
methods: [Request::METHOD_POST]
)]
public function abortMigration(Context $context): Response
Expand All @@ -330,7 +330,7 @@ public function abortMigration(Context $context): Response
#[Route(
path: '/api/_action/migration/reset-checksums',
name: 'api.admin.migration.reset-checksums',
defaults: ['_acl' => ['admin']],
defaults: ['_acl' => ['swag_migration.deleter']],
methods: [Request::METHOD_POST]
)]
public function resetChecksums(Request $request, Context $context): Response
Expand All @@ -349,7 +349,7 @@ public function resetChecksums(Request $request, Context $context): Response
#[Route(
path: '/api/_action/migration/cleanup-migration-data',
name: 'api.admin.migration.cleanup-migration-data',
defaults: ['_acl' => ['admin']],
defaults: ['_acl' => ['swag_migration.deleter']],
methods: [Request::METHOD_POST]
)]
public function cleanupMigrationData(Context $context): Response
Expand All @@ -360,9 +360,9 @@ public function cleanupMigrationData(Context $context): Response
}

#[Route(
path: '/api/_action/migration/is-truncating-migration-data',
name: 'api.admin.migration.is-truncating-migration-data',
defaults: ['_acl' => ['admin']],
path: '/api/_action/migration/get-reset-status',
name: 'api.admin.migration.get-reset-status',
defaults: ['_acl' => ['swag_migration.viewer']],
methods: [Request::METHOD_GET]
)]
public function isTruncatingMigrationData(Context $context): JsonResponse
Expand All @@ -379,7 +379,7 @@ public function isTruncatingMigrationData(Context $context): JsonResponse
#[Route(
path: '/api/_action/migration/is-resetting-checksums',
name: 'api.admin.migration.is-resetting-checksums',
defaults: ['_acl' => ['admin']],
defaults: ['_acl' => ['swag_migration.viewer']],
methods: [Request::METHOD_GET]
)]
public function isResettingChecksums(Context $context): JsonResponse
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
const MIGRATION_ACL_KEY = 'swag_migration';

const acl = {
category: 'permissions',
parent: 'settings',
key: MIGRATION_ACL_KEY,
roles: {
viewer: {
privileges: [
'swag_migration_connection:read',
'swag_migration_data:read',
'swag_migration_fix:read',
'swag_migration_general_setting:read',
'swag_migration_logging:read',
'swag_migration_mapping:read',
'swag_migration_media_file:read',
'swag_migration_run:read',
'swag_migration_history:read',
'system_config:read',
],
dependencies: [],
},
editor: {
privileges: [
'swag_migration_connection:update',
'swag_migration_data:update',
'swag_migration_fix:update',
'swag_migration_general_setting:update',
'swag_migration_logging:update',
'swag_migration_mapping:update',
'swag_migration_media_file:update',
'swag_migration_run:update',
'swag_migration_history:update',
],
dependencies: [
'swag_migration.viewer',
],
},
creator: {
privileges: [
'swag_migration_connection:create',
'swag_migration_data:create',
'swag_migration_fix:create',
'swag_migration_general_setting:create',
'swag_migration_logging:create',
'swag_migration_mapping:create',
'swag_migration_media_file:create',
'swag_migration_run:create',
'swag_migration_history:create',
],
dependencies: [
'swag_migration.viewer',
'swag_migration.editor',
],
},
deleter: {
privileges: [
'swag_migration_connection:delete',
'swag_migration_data:delete',
'swag_migration_fix:delete',
'swag_migration_general_setting:delete',
'swag_migration_logging:delete',
'swag_migration_mapping:delete',
'swag_migration_media_file:delete',
'swag_migration_run:delete',
'swag_migration_history:delete',
],
dependencies: [
'swag_migration.viewer',
],
},
},
};

Shopware.Service('privileges').addPrivilegeMappingEntry(acl);

/**
* @private
* @sw-package fundamentals@after-sales
*/
export { MIGRATION_ACL_KEY, acl };
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ export default Shopware.Component.wrapComponentConfig({
inject: [
MIGRATION_API_SERVICE,
'repositoryFactory',
'acl',
],

mixins: [
Expand Down
Loading
Loading