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