1 import { all } from 'redux-saga/effects';
3 import type { PassSaga, RootSagaOptions } from '@proton/pass/store/types';
5 import aliasDetailsRequest from './alias/alias-details-request.saga';
6 import aliasOptionsRequest from './alias/alias-options-request.saga';
7 import aliasSyncSagas from './alias/alias-sync.sagas';
8 import lockCreate from './auth/lock-create.saga';
9 import lock from './auth/lock.saga';
10 import passwordConfirm from './auth/password-confirm.saga';
11 import passwordExtra from './auth/password-extra.saga';
12 import ssoSagas from './auth/sso.sagas';
13 import unlock from './auth/unlock.saga';
14 import boot from './client/boot.saga';
15 import cache from './client/cache.saga';
16 import notification from './client/notification.saga';
17 import reportProblem from './client/report-problem.saga';
18 import settings from './client/settings.saga';
19 import sync from './client/sync.saga';
20 import events from './events/events.saga';
21 import itemsImport from './import/import.saga';
22 import inviteAccept from './invites/invite-accept.saga';
23 import inviteAddressesValidate from './invites/invite-addresses-validate.saga';
24 import inviteCreate from './invites/invite-create.saga';
25 import inviteRecommendations from './invites/invite-recommendations.saga';
26 import inviteReject from './invites/invite-reject.saga';
27 import inviteRemove from './invites/invite-remove.saga';
28 import inviteResend from './invites/invite-resend.saga';
29 import newUserInvitePromote from './invites/new-user-invite-promote.saga';
30 import newUserInviteRemove from './invites/new-user-invite-remove.saga';
31 import itemBulkDelete from './items/item-bulk-delete.saga';
32 import itemBulkMove from './items/item-bulk-move.saga';
33 import itemBulkRestore from './items/item-bulk-restore.saga';
34 import itemBulkTrash from './items/item-bulk-trash.saga';
35 import itemCreation from './items/item-creation.saga';
36 import itemDelete from './items/item-delete.saga';
37 import itemEdit from './items/item-edit.saga';
38 import itemHistory from './items/item-history.saga';
39 import itemMove from './items/item-move.saga';
40 import itemPin from './items/item-pin.saga';
41 import itemRestore from './items/item-restore.saga';
42 import itemTrash from './items/item-trash.saga';
43 import itemUnpin from './items/item-unpin.saga';
44 import itemSetFlags from './items/item.set-flags.saga';
45 import getOrganizationSettings from './organization/organization-settings.saga';
46 import secureLinkSagas from './secure-links/secure-links.sagas';
47 import shareAccessSagas from './shares/share-access.saga';
48 import shareEditRole from './shares/share-edit-role.saga';
49 import shareLeave from './shares/share-leave.saga';
50 import shareRemoveMember from './shares/share-remove-member.saga';
51 import featureFlags from './user/feature-flags.saga';
52 import userAccess from './user/user-access.saga';
53 import userSettings from './user/user-settings.saga';
54 import trashDelete from './vaults/trash-empty.saga';
55 import trashRestore from './vaults/trash-restore.saga';
56 import vaultCreation from './vaults/vault-creation.saga';
57 import vaultDelete from './vaults/vault-delete.saga';
58 import vaultEdit from './vaults/vault-edit.saga';
59 import vaultMoveAllItems from './vaults/vault-move-all-items.saga';
60 import vaultTransferOwner from './vaults/vault-transfer-owner.saga';
62 const COMMON_SAGAS = [
73 getOrganizationSettings,
75 inviteAddressesValidate,
77 inviteRecommendations,
121 export const rootSagaFactory = (platformSagas: PassSaga[]) =>
122 function* workerRootSaga(options: RootSagaOptions) {
123 yield all(COMMON_SAGAS.concat(platformSagas).map((saga) => saga(options)));