@northern.tech/store 0.32.0 → 0.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/actions.d.cts +3 -1
- package/dist/actions.d.ts +3 -1
- package/dist/appSlice/selectors.d.cts +2 -2
- package/dist/appSlice/selectors.d.ts +2 -2
- package/dist/appSlice/thunks.d.cts +1 -1
- package/dist/appSlice/thunks.d.ts +1 -1
- package/dist/commonSelectors.d.cts +6 -6
- package/dist/commonSelectors.d.ts +6 -6
- package/dist/deploymentsSlice/selectors.d.cts +2 -2
- package/dist/deploymentsSlice/selectors.d.ts +2 -2
- package/dist/deploymentsSlice/thunks.d.cts +1 -2
- package/dist/deploymentsSlice/thunks.d.ts +1 -2
- package/dist/devicesSlice/selectors.d.cts +2 -2
- package/dist/devicesSlice/selectors.d.ts +2 -2
- package/dist/devicesSlice/thunks.d.cts +1 -1
- package/dist/devicesSlice/thunks.d.ts +1 -1
- package/dist/{index-C-q632wO.d.cts → index-SwHfGav1.d.cts} +20 -4
- package/dist/{index-CyokFK2e.d.ts → index-uxdvFzzE.d.ts} +20 -4
- package/dist/monitorSlice/selectors.d.cts +1 -1
- package/dist/monitorSlice/selectors.d.ts +1 -1
- package/dist/monitorSlice/thunks.d.cts +1 -1
- package/dist/monitorSlice/thunks.d.ts +1 -1
- package/dist/onboardingSlice/selectors.d.cts +1 -1
- package/dist/onboardingSlice/selectors.d.ts +1 -1
- package/dist/onboardingSlice/thunks.d.cts +1 -1
- package/dist/onboardingSlice/thunks.d.ts +1 -1
- package/dist/organizationSlice/selectors.d.cts +2 -2
- package/dist/organizationSlice/selectors.d.ts +2 -2
- package/dist/organizationSlice/thunks.d.cts +1 -1
- package/dist/organizationSlice/thunks.d.ts +1 -1
- package/dist/releasesSlice/index.cjs +19 -0
- package/dist/releasesSlice/index.cjs.map +1 -1
- package/dist/releasesSlice/index.d.cts +2 -2
- package/dist/releasesSlice/index.d.ts +2 -2
- package/dist/releasesSlice/index.js +19 -0
- package/dist/releasesSlice/index.js.map +1 -1
- package/dist/releasesSlice/mocks.cjs +28 -0
- package/dist/releasesSlice/mocks.cjs.map +1 -1
- package/dist/releasesSlice/mocks.d.cts +29 -0
- package/dist/releasesSlice/mocks.d.ts +29 -0
- package/dist/releasesSlice/mocks.js +28 -0
- package/dist/releasesSlice/mocks.js.map +1 -1
- package/dist/releasesSlice/selectors.cjs +17 -2
- package/dist/releasesSlice/selectors.cjs.map +1 -1
- package/dist/releasesSlice/selectors.d.cts +74 -12
- package/dist/releasesSlice/selectors.d.ts +74 -12
- package/dist/releasesSlice/selectors.js +14 -3
- package/dist/releasesSlice/selectors.js.map +1 -1
- package/dist/releasesSlice/thunks.cjs +93 -18
- package/dist/releasesSlice/thunks.cjs.map +1 -1
- package/dist/releasesSlice/thunks.d.cts +40 -5
- package/dist/releasesSlice/thunks.d.ts +40 -5
- package/dist/releasesSlice/thunks.js +93 -21
- package/dist/releasesSlice/thunks.js.map +1 -1
- package/dist/selectors.cjs +4 -0
- package/dist/selectors.d.cts +2 -2
- package/dist/selectors.d.ts +2 -2
- package/dist/selectors.js +2 -2
- package/dist/{store-b5cF2WB5.d.cts → store-BC3rDsIH.d.cts} +2 -2
- package/dist/{store-D-xvZXiY.d.ts → store-BjVukDvt.d.ts} +2 -2
- package/dist/store.d.cts +1 -1
- package/dist/store.d.ts +1 -1
- package/dist/storehooks.d.cts +13 -13
- package/dist/storehooks.d.ts +13 -13
- package/dist/thunks.cjs +40 -21
- package/dist/thunks.cjs.map +1 -1
- package/dist/thunks.d.cts +3 -3
- package/dist/thunks.d.ts +3 -3
- package/dist/thunks.js +38 -23
- package/dist/thunks.js.map +1 -1
- package/dist/usersSlice/selectors.d.cts +2 -2
- package/dist/usersSlice/selectors.d.ts +2 -2
- package/dist/usersSlice/thunks.cjs +1 -0
- package/dist/usersSlice/thunks.d.cts +42 -29
- package/dist/usersSlice/thunks.d.ts +42 -29
- package/dist/usersSlice/thunks.js +2 -2
- package/package.json +2 -2
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { o as UserSliceType } from "../index-ez3oxfRo.js";
|
|
2
|
-
import { a as ReleasesList, i as ReleaseSliceType, n as ManifestsList, r as Release } from "../index-
|
|
2
|
+
import { a as ReleasesList, i as ReleaseSliceType, n as ManifestsList, r as Release, s as SoftwareList } from "../index-uxdvFzzE.js";
|
|
3
3
|
import { n as OnboardingSliceType } from "../index-CJkrL0oA.js";
|
|
4
4
|
import { o as DeploymentsSliceType } from "../index-CkwVnIqd.js";
|
|
5
5
|
import { s as DeviceSliceType } from "../index-BI9O8JWe.js";
|
|
6
6
|
import { t as AppSliceType } from "../index-Bp1WpATs.js";
|
|
7
7
|
import { t as MonitorSliceType } from "../index-DUvrw_Ed.js";
|
|
8
8
|
import { t as OrganizationSliceType } from "../index-C6wNUfiV.js";
|
|
9
|
-
import { r as RootState } from "../store-
|
|
9
|
+
import { r as RootState } from "../store-BjVukDvt.js";
|
|
10
10
|
import * as _$_northern_tech_utils_constants0 from "@northern.tech/utils/constants";
|
|
11
|
-
import { Manifest, ReleaseV2 } from "@northern.tech/types/MenderTypes";
|
|
11
|
+
import { Manifest, ReleaseV2, Software } from "@northern.tech/types/MenderTypes";
|
|
12
12
|
import * as _$_northern_tech_types_types_gen0 from "@northern.tech/types/types.gen";
|
|
13
13
|
import * as _$reselect from "reselect";
|
|
14
14
|
|
|
@@ -234,18 +234,18 @@ declare const getHasReleases: ((state: {
|
|
|
234
234
|
organization: OrganizationSliceType;
|
|
235
235
|
releases: ReleaseSliceType;
|
|
236
236
|
users: UserSliceType;
|
|
237
|
-
}) => boolean) & {
|
|
237
|
+
}) => number | boolean) & {
|
|
238
238
|
clearCache: () => void;
|
|
239
239
|
resultsCount: () => number;
|
|
240
240
|
resetResultsCount: () => void;
|
|
241
241
|
} & {
|
|
242
|
-
resultFunc: (resultFuncArgs_0: ReleasesList, resultFuncArgs_1: Record<string, Release>) => boolean;
|
|
243
|
-
memoizedResultFunc: ((resultFuncArgs_0: ReleasesList, resultFuncArgs_1: Record<string, Release>) => boolean) & {
|
|
242
|
+
resultFunc: (resultFuncArgs_0: ReleasesList, resultFuncArgs_1: Record<string, Release>) => number | boolean;
|
|
243
|
+
memoizedResultFunc: ((resultFuncArgs_0: ReleasesList, resultFuncArgs_1: Record<string, Release>) => number | boolean) & {
|
|
244
244
|
clearCache: () => void;
|
|
245
245
|
resultsCount: () => number;
|
|
246
246
|
resetResultsCount: () => void;
|
|
247
247
|
};
|
|
248
|
-
lastResult: () => boolean;
|
|
248
|
+
lastResult: () => number | boolean;
|
|
249
249
|
dependencies: [(state: RootState) => ReleasesList, (state: RootState) => Record<string, Release>];
|
|
250
250
|
recomputations: () => number;
|
|
251
251
|
resetRecomputations: () => void;
|
|
@@ -623,18 +623,18 @@ declare const getHasManifests: ((state: {
|
|
|
623
623
|
organization: OrganizationSliceType;
|
|
624
624
|
releases: ReleaseSliceType;
|
|
625
625
|
users: UserSliceType;
|
|
626
|
-
}) => boolean) & {
|
|
626
|
+
}) => number | boolean) & {
|
|
627
627
|
clearCache: () => void;
|
|
628
628
|
resultsCount: () => number;
|
|
629
629
|
resetResultsCount: () => void;
|
|
630
630
|
} & {
|
|
631
|
-
resultFunc: (resultFuncArgs_0: ManifestsList, resultFuncArgs_1: Record<string, Manifest>) => boolean;
|
|
632
|
-
memoizedResultFunc: ((resultFuncArgs_0: ManifestsList, resultFuncArgs_1: Record<string, Manifest>) => boolean) & {
|
|
631
|
+
resultFunc: (resultFuncArgs_0: ManifestsList, resultFuncArgs_1: Record<string, Manifest>) => number | boolean;
|
|
632
|
+
memoizedResultFunc: ((resultFuncArgs_0: ManifestsList, resultFuncArgs_1: Record<string, Manifest>) => number | boolean) & {
|
|
633
633
|
clearCache: () => void;
|
|
634
634
|
resultsCount: () => number;
|
|
635
635
|
resetResultsCount: () => void;
|
|
636
636
|
};
|
|
637
|
-
lastResult: () => boolean;
|
|
637
|
+
lastResult: () => number | boolean;
|
|
638
638
|
dependencies: [(state: RootState) => ManifestsList, (state: RootState) => Record<string, Manifest>];
|
|
639
639
|
recomputations: () => number;
|
|
640
640
|
resetRecomputations: () => void;
|
|
@@ -733,6 +733,68 @@ declare const getSelectedManifests: ((state: {
|
|
|
733
733
|
memoize: typeof _$reselect.weakMapMemoize;
|
|
734
734
|
argsMemoize: typeof _$reselect.weakMapMemoize;
|
|
735
735
|
};
|
|
736
|
+
declare const getSoftwareById: (state: RootState) => Record<string, Software>;
|
|
737
|
+
declare const getSoftwareListState: (state: RootState) => SoftwareList;
|
|
738
|
+
declare const getSoftwareList: ((state: {
|
|
739
|
+
app: AppSliceType;
|
|
740
|
+
devices: DeviceSliceType;
|
|
741
|
+
deployments: DeploymentsSliceType;
|
|
742
|
+
monitor: MonitorSliceType;
|
|
743
|
+
onboarding: OnboardingSliceType;
|
|
744
|
+
organization: OrganizationSliceType;
|
|
745
|
+
releases: ReleaseSliceType;
|
|
746
|
+
users: UserSliceType;
|
|
747
|
+
}) => Software[]) & {
|
|
748
|
+
clearCache: () => void;
|
|
749
|
+
resultsCount: () => number;
|
|
750
|
+
resetResultsCount: () => void;
|
|
751
|
+
} & {
|
|
752
|
+
resultFunc: (resultFuncArgs_0: Record<string, Software>, resultFuncArgs_1: string[], resultFuncArgs_2: {}) => Software[];
|
|
753
|
+
memoizedResultFunc: ((resultFuncArgs_0: Record<string, Software>, resultFuncArgs_1: string[], resultFuncArgs_2: {}) => Software[]) & {
|
|
754
|
+
clearCache: () => void;
|
|
755
|
+
resultsCount: () => number;
|
|
756
|
+
resetResultsCount: () => void;
|
|
757
|
+
};
|
|
758
|
+
lastResult: () => Software[];
|
|
759
|
+
dependencies: [(state: RootState) => Record<string, Software>, (state: RootState) => string[], () => {}];
|
|
760
|
+
recomputations: () => number;
|
|
761
|
+
resetRecomputations: () => void;
|
|
762
|
+
dependencyRecomputations: () => number;
|
|
763
|
+
resetDependencyRecomputations: () => void;
|
|
764
|
+
} & {
|
|
765
|
+
memoize: typeof _$reselect.weakMapMemoize;
|
|
766
|
+
argsMemoize: typeof _$reselect.weakMapMemoize;
|
|
767
|
+
};
|
|
768
|
+
declare const getHasSoftware: ((state: {
|
|
769
|
+
app: AppSliceType;
|
|
770
|
+
devices: DeviceSliceType;
|
|
771
|
+
deployments: DeploymentsSliceType;
|
|
772
|
+
monitor: MonitorSliceType;
|
|
773
|
+
onboarding: OnboardingSliceType;
|
|
774
|
+
organization: OrganizationSliceType;
|
|
775
|
+
releases: ReleaseSliceType;
|
|
776
|
+
users: UserSliceType;
|
|
777
|
+
}) => number | boolean) & {
|
|
778
|
+
clearCache: () => void;
|
|
779
|
+
resultsCount: () => number;
|
|
780
|
+
resetResultsCount: () => void;
|
|
781
|
+
} & {
|
|
782
|
+
resultFunc: (resultFuncArgs_0: SoftwareList, resultFuncArgs_1: Record<string, Software>) => number | boolean;
|
|
783
|
+
memoizedResultFunc: ((resultFuncArgs_0: SoftwareList, resultFuncArgs_1: Record<string, Software>) => number | boolean) & {
|
|
784
|
+
clearCache: () => void;
|
|
785
|
+
resultsCount: () => number;
|
|
786
|
+
resetResultsCount: () => void;
|
|
787
|
+
};
|
|
788
|
+
lastResult: () => number | boolean;
|
|
789
|
+
dependencies: [(state: RootState) => SoftwareList, (state: RootState) => Record<string, Software>];
|
|
790
|
+
recomputations: () => number;
|
|
791
|
+
resetRecomputations: () => void;
|
|
792
|
+
dependencyRecomputations: () => number;
|
|
793
|
+
resetDependencyRecomputations: () => void;
|
|
794
|
+
} & {
|
|
795
|
+
memoize: typeof _$reselect.weakMapMemoize;
|
|
796
|
+
argsMemoize: typeof _$reselect.weakMapMemoize;
|
|
797
|
+
};
|
|
736
798
|
//#endregion
|
|
737
|
-
export { getActiveTab, getDeltaJobById, getDeltaJobsById, getDeltaJobsListState, getHasManifests, getHasReleases, getManifestTags, getManifestTagsById, getManifestsById, getManifestsList, getManifestsListState, getReleaseListState, getReleaseTags, getReleaseTagsById, getReleasesById, getReleasesList, getSelectedJob, getSelectedManifest, getSelectedManifests, getSelectedRelease, getSelectedReleases, getSoftwareTags, getSoftwareTagsById, getUpdateTypes };
|
|
799
|
+
export { getActiveTab, getDeltaJobById, getDeltaJobsById, getDeltaJobsListState, getHasManifests, getHasReleases, getHasSoftware, getManifestTags, getManifestTagsById, getManifestsById, getManifestsList, getManifestsListState, getReleaseListState, getReleaseTags, getReleaseTagsById, getReleasesById, getReleasesList, getSelectedJob, getSelectedManifest, getSelectedManifests, getSelectedRelease, getSelectedReleases, getSoftwareById, getSoftwareList, getSoftwareListState, getSoftwareTags, getSoftwareTagsById, getUpdateTypes };
|
|
738
800
|
//# sourceMappingURL=selectors.d.ts.map
|
|
@@ -23,7 +23,7 @@ const getReleasesList = createSelector([
|
|
|
23
23
|
], listItemMapper);
|
|
24
24
|
const getReleaseTags = createSelector([getTags], ({ releases }) => releases);
|
|
25
25
|
const getReleaseTagsById = createSelector([getReleaseTags], transformToId);
|
|
26
|
-
const getHasReleases = createSelector([getReleaseListState, getReleasesById], ({ searchTotal, total }, byId) => !!
|
|
26
|
+
const getHasReleases = createSelector([getReleaseListState, getReleasesById], ({ searchTotal, total }, byId) => total || searchTotal || !!Object.keys(byId).length);
|
|
27
27
|
const getSelectedRelease = createSelector([getReleasesById, getSelectedReleaseId], (byId, id) => byId[id || ""] ?? {});
|
|
28
28
|
const getSelectedReleases = createSelector([getReleaseListState, getReleasesList], ({ selection }, releases) => selection.map((index) => releases[index]));
|
|
29
29
|
const getDeltaJobsListState = (state) => state.releases.deltaJobsList;
|
|
@@ -44,10 +44,21 @@ const getManifestsList = createSelector([
|
|
|
44
44
|
getListedManifests,
|
|
45
45
|
getManifestMappingDefaults
|
|
46
46
|
], listItemMapper);
|
|
47
|
-
const getHasManifests = createSelector([getManifestsListState, getManifestsById], ({ searchTotal, total }, byId) => !!
|
|
47
|
+
const getHasManifests = createSelector([getManifestsListState, getManifestsById], ({ searchTotal, total }, byId) => total || searchTotal || !!Object.keys(byId).length);
|
|
48
48
|
const getSelectedManifest = createSelector([getManifestsById, getSelectedManifestId], (byId, id) => byId[id || ""] ?? {});
|
|
49
49
|
const getSelectedManifests = createSelector([getManifestsListState, getManifestsList], ({ selection }, manifests) => selection.map((index) => manifests[index]));
|
|
50
|
+
const getSoftwareById = (state) => state.releases.softwareById;
|
|
51
|
+
const getSoftwareListState = (state) => state.releases.softwareList;
|
|
52
|
+
const getListedSoftware = (state) => state.releases.softwareList.softwareIds;
|
|
53
|
+
const softwareDefaults = {};
|
|
54
|
+
const getSoftwareMappingDefaults = () => softwareDefaults;
|
|
55
|
+
const getSoftwareList = createSelector([
|
|
56
|
+
getSoftwareById,
|
|
57
|
+
getListedSoftware,
|
|
58
|
+
getSoftwareMappingDefaults
|
|
59
|
+
], listItemMapper);
|
|
60
|
+
const getHasSoftware = createSelector([getSoftwareListState, getSoftwareById], ({ searchTotal, total }, byId) => total || searchTotal || !!Object.keys(byId).length);
|
|
50
61
|
//#endregion
|
|
51
|
-
export { getActiveTab, getDeltaJobById, getDeltaJobsById, getDeltaJobsListState, getHasManifests, getHasReleases, getManifestTags, getManifestTagsById, getManifestsById, getManifestsList, getManifestsListState, getReleaseListState, getReleaseTags, getReleaseTagsById, getReleasesById, getReleasesList, getSelectedJob, getSelectedManifest, getSelectedManifests, getSelectedRelease, getSelectedReleases, getSoftwareTags, getSoftwareTagsById, getUpdateTypes };
|
|
62
|
+
export { getActiveTab, getDeltaJobById, getDeltaJobsById, getDeltaJobsListState, getHasManifests, getHasReleases, getHasSoftware, getManifestTags, getManifestTagsById, getManifestsById, getManifestsList, getManifestsListState, getReleaseListState, getReleaseTags, getReleaseTagsById, getReleasesById, getReleasesList, getSelectedJob, getSelectedManifest, getSelectedManifests, getSelectedRelease, getSelectedReleases, getSoftwareById, getSoftwareList, getSoftwareListState, getSoftwareTags, getSoftwareTagsById, getUpdateTypes };
|
|
52
63
|
|
|
53
64
|
//# sourceMappingURL=selectors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectors.js","names":[],"sources":["../../src/releasesSlice/selectors.ts"],"sourcesContent":["// Copyright 2023 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport type { Manifest, ReleaseV2 } from '@northern.tech/types/MenderTypes';\nimport { createSelector } from '@reduxjs/toolkit';\n\nimport type { RootState } from '../store';\nimport { listItemMapper } from '../utils';\n\nconst transformToId = tags => tags.reduce((accu, key) => ({ ...accu, [key]: key }), {});\n\nexport const getActiveTab = (state: RootState) => state.releases.tab;\nconst getSelectedReleaseId = (state: RootState) => state.releases.selectedRelease;\nexport const getReleasesById = (state: RootState) => state.releases.byId;\nconst getTags = (state: RootState) => state.releases.tags;\nexport const getReleaseListState = (state: RootState) => state.releases.releasesList;\nconst getListedReleases = (state: RootState) => state.releases.releasesList.releaseIds;\nexport const getUpdateTypes = (state: RootState) => state.releases.updateTypes;\nconst releaseDefaults = {};\nconst getReleaseMappingDefaults = () => releaseDefaults;\nexport const getSoftwareTags = createSelector([getTags], ({ software }) => software);\nexport const getSoftwareTagsById = createSelector([getSoftwareTags], transformToId);\nexport const getReleasesList = createSelector([getReleasesById, getListedReleases, getReleaseMappingDefaults], listItemMapper<ReleaseV2>);\n\nexport const getReleaseTags = createSelector([getTags], ({ releases }) => releases);\nexport const getReleaseTagsById = createSelector([getReleaseTags], transformToId);\nexport const getHasReleases = createSelector(\n [getReleaseListState, getReleasesById],\n ({ searchTotal, total }, byId) => !!
|
|
1
|
+
{"version":3,"file":"selectors.js","names":[],"sources":["../../src/releasesSlice/selectors.ts"],"sourcesContent":["// Copyright 2023 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport type { Manifest, ReleaseV2, Software } from '@northern.tech/types/MenderTypes';\nimport { createSelector } from '@reduxjs/toolkit';\n\nimport type { RootState } from '../store';\nimport { listItemMapper } from '../utils';\n\nconst transformToId = tags => tags.reduce((accu, key) => ({ ...accu, [key]: key }), {});\n\nexport const getActiveTab = (state: RootState) => state.releases.tab;\nconst getSelectedReleaseId = (state: RootState) => state.releases.selectedRelease;\nexport const getReleasesById = (state: RootState) => state.releases.byId;\nconst getTags = (state: RootState) => state.releases.tags;\nexport const getReleaseListState = (state: RootState) => state.releases.releasesList;\nconst getListedReleases = (state: RootState) => state.releases.releasesList.releaseIds;\nexport const getUpdateTypes = (state: RootState) => state.releases.updateTypes;\nconst releaseDefaults = {};\nconst getReleaseMappingDefaults = () => releaseDefaults;\nexport const getSoftwareTags = createSelector([getTags], ({ software }) => software);\nexport const getSoftwareTagsById = createSelector([getSoftwareTags], transformToId);\nexport const getReleasesList = createSelector([getReleasesById, getListedReleases, getReleaseMappingDefaults], listItemMapper<ReleaseV2>);\n\nexport const getReleaseTags = createSelector([getTags], ({ releases }) => releases);\nexport const getReleaseTagsById = createSelector([getReleaseTags], transformToId);\nexport const getHasReleases = createSelector(\n [getReleaseListState, getReleasesById],\n ({ searchTotal, total }, byId) => total || searchTotal || !!Object.keys(byId).length\n);\n\nexport const getSelectedRelease = createSelector([getReleasesById, getSelectedReleaseId], (byId, id) => byId[id || ''] ?? {});\n\nexport const getSelectedReleases = createSelector([getReleaseListState, getReleasesList], ({ selection }, releases) => selection.map(index => releases[index]));\n\nexport const getDeltaJobsListState = (state: RootState) => state.releases.deltaJobsList;\nexport const getDeltaJobsById = (state: RootState) => state.releases.deltaJobs;\nexport const getDeltaJobById = createSelector([getDeltaJobsById, (_, jobId) => jobId], (byId, jobId: string) => byId[jobId]);\nconst getSelectedJobId = (state: RootState) => state.releases.selectedJob;\nexport const getSelectedJob = createSelector([getDeltaJobsById, getSelectedJobId], (byId, jobId) => byId[jobId || '']);\n\nconst getSelectedManifestId = (state: RootState) => state.releases.selectedManifest;\nexport const getManifestTags = createSelector([getTags], ({ manifests }) => manifests);\nexport const getManifestTagsById = createSelector([getManifestTags], transformToId);\nexport const getManifestsById = (state: RootState) => state.releases.manifestsById;\nexport const getManifestsListState = (state: RootState) => state.releases.manifestsList;\nconst getListedManifests = (state: RootState) => state.releases.manifestsList.manifestIds;\nconst manifestDefaults = {};\nconst getManifestMappingDefaults = () => manifestDefaults;\nexport const getManifestsList = createSelector([getManifestsById, getListedManifests, getManifestMappingDefaults], listItemMapper<Manifest>);\n\nexport const getHasManifests = createSelector(\n [getManifestsListState, getManifestsById],\n ({ searchTotal, total }, byId) => total || searchTotal || !!Object.keys(byId).length\n);\n\nexport const getSelectedManifest = createSelector([getManifestsById, getSelectedManifestId], (byId, id) => byId[id || ''] ?? {});\n\nexport const getSelectedManifests = createSelector([getManifestsListState, getManifestsList], ({ selection }, manifests) =>\n selection.map(index => manifests[index])\n);\n\nexport const getSoftwareById = (state: RootState) => state.releases.softwareById;\nexport const getSoftwareListState = (state: RootState) => state.releases.softwareList;\nconst getListedSoftware = (state: RootState) => state.releases.softwareList.softwareIds;\nconst softwareDefaults = {};\nconst getSoftwareMappingDefaults = () => softwareDefaults;\nexport const getSoftwareList = createSelector([getSoftwareById, getListedSoftware, getSoftwareMappingDefaults], listItemMapper<Software>);\n\nexport const getHasSoftware = createSelector(\n [getSoftwareListState, getSoftwareById],\n ({ searchTotal, total }, byId) => total || searchTotal || !!Object.keys(byId).length\n);\n"],"mappings":"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"}
|
|
@@ -409,8 +409,12 @@ const getUpdateTypes = require_store.createAppAsyncThunk(`${require_releasesSlic
|
|
|
409
409
|
const getDeltaGenerationJobs = require_store.createAppAsyncThunk(`${require_releasesSlice_index.sliceName}/getDeltaGenerationJobs`, (options = {}, { dispatch }) => {
|
|
410
410
|
const { page = defaultPage, perPage = defaultPerPage, sort = {} } = options;
|
|
411
411
|
const { key: sortKey, direction: sortDirection } = sort;
|
|
412
|
-
const sortParam = sortKey && sortDirection ?
|
|
413
|
-
return require_api_general_api.default.get(`${_northern_tech_utils_constants.deploymentsApiUrlV2}/deployments/releases/delta/jobs
|
|
412
|
+
const sortParam = sortKey && sortDirection ? `${sortKey}:${sortDirection}` : void 0;
|
|
413
|
+
return require_api_general_api.default.get(`${_northern_tech_utils_constants.deploymentsApiUrlV2}/deployments/releases/delta/jobs`, { params: {
|
|
414
|
+
page,
|
|
415
|
+
per_page: perPage,
|
|
416
|
+
sort: sortParam
|
|
417
|
+
} }).then(({ data, headers }) => {
|
|
414
418
|
const result = {
|
|
415
419
|
jobs: data,
|
|
416
420
|
total: Number(headers[_northern_tech_utils_constants.headerNames.total]) || data.length
|
|
@@ -426,21 +430,17 @@ const manifestSortingDefaults = {
|
|
|
426
430
|
direction: _northern_tech_utils_constants.SORTING_OPTIONS.desc,
|
|
427
431
|
key: "modified"
|
|
428
432
|
};
|
|
429
|
-
const
|
|
430
|
-
accu[manifest.name] = manifest;
|
|
431
|
-
return accu;
|
|
432
|
-
}, {});
|
|
433
|
+
const transformReceivedSoftware = (items) => Object.fromEntries(items.map((item) => [item.name, item]));
|
|
433
434
|
const manifestListRetrieval = (config) => {
|
|
434
|
-
const { searchTerm
|
|
435
|
+
const { searchTerm, page = defaultPage, perPage = defaultPerPage, sort = manifestSortingDefaults } = config;
|
|
435
436
|
const { key: attribute, direction } = sort;
|
|
436
|
-
const
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
].filter((i) => i).join("&")}`);
|
|
437
|
+
const sorting = attribute ? `${attribute}:${direction}`.toLowerCase() : void 0;
|
|
438
|
+
return require_api_general_api.default.get(`${_northern_tech_utils_constants.deploymentsApiUrlV1alpha1}/manifests`, { params: {
|
|
439
|
+
page,
|
|
440
|
+
per_page: perPage,
|
|
441
|
+
name: searchTerm,
|
|
442
|
+
sort: sorting
|
|
443
|
+
} });
|
|
444
444
|
};
|
|
445
445
|
const deductManifestSearchState = (receivedManifests, config, total, state) => {
|
|
446
446
|
let manifestsListState = { ...state.manifestsList };
|
|
@@ -461,7 +461,7 @@ const toManifestCreationData = ({ description, tags }) => {
|
|
|
461
461
|
if (tags?.length) formData.append("tags", tags.join(","));
|
|
462
462
|
return formData;
|
|
463
463
|
};
|
|
464
|
-
const uploadManifest = require_store.createAppAsyncThunk(`${require_releasesSlice_index.sliceName}/uploadManifest`, async ({ file, meta }, { dispatch }) => {
|
|
464
|
+
const uploadManifest = require_store.createAppAsyncThunk(`${require_releasesSlice_index.sliceName}/uploadManifest`, async ({ file, meta }, { dispatch, rejectWithValue }) => {
|
|
465
465
|
const formData = toManifestCreationData(meta);
|
|
466
466
|
formData.append("size", file.size.toString());
|
|
467
467
|
formData.append("artifact", file);
|
|
@@ -493,7 +493,7 @@ const uploadManifest = require_store.createAppAsyncThunk(`${require_releasesSlic
|
|
|
493
493
|
message: "The upload has been cancelled",
|
|
494
494
|
autoHideDuration: require_constants.TIMEOUTS.fiveSeconds
|
|
495
495
|
}));
|
|
496
|
-
return require_store.commonErrorHandler(err, `Manifest couldn't be uploaded.`, dispatch);
|
|
496
|
+
return require_store.commonErrorHandler(err, `Manifest couldn't be uploaded.`, dispatch).catch((e) => rejectWithValue((0, _northern_tech_utils_helpers.extractErrorMessage)(e)));
|
|
497
497
|
} finally {
|
|
498
498
|
dispatch(cleanUpUpload(uploadId));
|
|
499
499
|
}
|
|
@@ -546,7 +546,7 @@ const getManifests = require_store.createAppAsyncThunk(`${require_releasesSlice_
|
|
|
546
546
|
const { data: receivedManifests = [], headers = {} } = await manifestListRetrieval(config).catch((err) => require_store.commonErrorHandler(err, `Please check your connection`, dispatch));
|
|
547
547
|
const total = headers[_northern_tech_utils_constants.headerNames.total] ? Number(headers[_northern_tech_utils_constants.headerNames.total]) : 0;
|
|
548
548
|
const state = getState().releases;
|
|
549
|
-
const flatManifests =
|
|
549
|
+
const flatManifests = transformReceivedSoftware(receivedManifests);
|
|
550
550
|
const combinedManifests = {
|
|
551
551
|
...state.manifestsById,
|
|
552
552
|
...flatManifests
|
|
@@ -566,6 +566,14 @@ const getManifest = require_store.createAppAsyncThunk(`${require_releasesSlice_i
|
|
|
566
566
|
dispatch(require_releasesSlice_index.actions.receiveManifest(manifest));
|
|
567
567
|
return manifest;
|
|
568
568
|
});
|
|
569
|
+
const updateManifestInfo = require_store.createAppAsyncThunk(`${require_releasesSlice_index.sliceName}/updateManifestInfo`, ({ name, info }, { dispatch, getState }) => require_api_general_api.default.patch(`${_northern_tech_utils_constants.deploymentsApiUrlV1alpha1}/manifests/${name}`, info).catch((err) => require_store.commonErrorHandler(err, `Manifest details couldn't be updated.`, dispatch)).then(() => {
|
|
570
|
+
dispatch(require_releasesSlice_index.actions.receiveManifest({
|
|
571
|
+
...require_releasesSlice_selectors.getManifestsById(getState())[name],
|
|
572
|
+
...info,
|
|
573
|
+
name
|
|
574
|
+
}));
|
|
575
|
+
dispatch(setSnackbar("Manifest details were updated successfully."));
|
|
576
|
+
}));
|
|
569
577
|
const removeManifests = require_store.createAppAsyncThunk(`${require_releasesSlice_index.sliceName}/removeManifests`, async (names, { dispatch, getState }) => {
|
|
570
578
|
const nameParams = names.map((name) => `name=${encodeURIComponent(name)}`).join("&");
|
|
571
579
|
await require_api_general_api.default.delete(`${_northern_tech_utils_constants.deploymentsApiUrlV1alpha1}/manifests?${nameParams}`).catch((err) => require_store.commonErrorHandler(err, `Manifest${names.length > 1 ? "s" : ""} couldn't be deleted.`, dispatch));
|
|
@@ -610,6 +618,70 @@ const setManifestsListState = require_store.createAppAsyncThunk(`${require_relea
|
|
|
610
618
|
if (currentState.page !== nextState.page || currentState.perPage > nextState.perPage || !(0, _northern_tech_utils_helpers.deepCompare)(currentState.sort, nextState.sort)) nextState.selection = [];
|
|
611
619
|
dispatch(require_releasesSlice_index.actions.setManifestsListState(nextState));
|
|
612
620
|
});
|
|
621
|
+
const softwareSortingDefaults = {
|
|
622
|
+
direction: _northern_tech_utils_constants.SORTING_OPTIONS.desc,
|
|
623
|
+
key: "modified"
|
|
624
|
+
};
|
|
625
|
+
const softwareListRetrieval = (config) => {
|
|
626
|
+
const { searchTerm, page = defaultPage, perPage = defaultPerPage, sort = softwareSortingDefaults } = config;
|
|
627
|
+
const { key: attribute, direction } = sort;
|
|
628
|
+
const sorting = attribute ? `${attribute}:${direction}`.toLowerCase() : void 0;
|
|
629
|
+
return require_api_general_api.default.get(`${_northern_tech_utils_constants.deploymentsApiUrlV1alpha1}/software`, { params: {
|
|
630
|
+
page,
|
|
631
|
+
per_page: perPage,
|
|
632
|
+
name: searchTerm,
|
|
633
|
+
sort: sorting
|
|
634
|
+
} });
|
|
635
|
+
};
|
|
636
|
+
const deductSoftwareSearchState = (receivedSoftware, config, total, state) => {
|
|
637
|
+
let softwareListState = { ...state.softwareList };
|
|
638
|
+
const { searchTerm, sort = {} } = config;
|
|
639
|
+
const softwareIds = Object.values(receivedSoftware).sort((0, _northern_tech_utils_helpers.customSort)(sort.direction === _northern_tech_utils_constants.SORTING_OPTIONS.desc, sort.key)).map((item) => item.name);
|
|
640
|
+
const isFiltering = !!searchTerm;
|
|
641
|
+
softwareListState = {
|
|
642
|
+
...softwareListState,
|
|
643
|
+
softwareIds,
|
|
644
|
+
searchTotal: isFiltering ? total : state.softwareList.searchTotal,
|
|
645
|
+
total: !isFiltering ? total : state.softwareList.total
|
|
646
|
+
};
|
|
647
|
+
return softwareListState;
|
|
648
|
+
};
|
|
649
|
+
const getSoftware = require_store.createAppAsyncThunk(`${require_releasesSlice_index.sliceName}/getSoftware`, async (passedConfig = {}, { dispatch, getState }) => {
|
|
650
|
+
const config = {
|
|
651
|
+
...require_releasesSlice_selectors.getSoftwareListState(getState()),
|
|
652
|
+
...passedConfig
|
|
653
|
+
};
|
|
654
|
+
const { data: receivedSoftware = [], headers = {} } = await softwareListRetrieval(config).catch((err) => require_store.commonErrorHandler(err, `Please check your connection`, dispatch));
|
|
655
|
+
const total = headers[_northern_tech_utils_constants.headerNames.total] ? Number(headers[_northern_tech_utils_constants.headerNames.total]) : 0;
|
|
656
|
+
const state = getState().releases;
|
|
657
|
+
const flatSoftware = transformReceivedSoftware(receivedSoftware);
|
|
658
|
+
const combinedSoftware = {
|
|
659
|
+
...state.softwareById,
|
|
660
|
+
...flatSoftware
|
|
661
|
+
};
|
|
662
|
+
dispatch(require_releasesSlice_index.actions.receiveSoftwareItems(combinedSoftware));
|
|
663
|
+
const softwareListState = deductSoftwareSearchState(receivedSoftware, config, total, state);
|
|
664
|
+
dispatch(require_releasesSlice_index.actions.setSoftwareListState(softwareListState));
|
|
665
|
+
return combinedSoftware;
|
|
666
|
+
});
|
|
667
|
+
const setSoftwareListState = require_store.createAppAsyncThunk(`${require_releasesSlice_index.sliceName}/setSoftwareListState`, async (selectionState, { dispatch, getState }) => {
|
|
668
|
+
const currentState = require_releasesSlice_selectors.getSoftwareListState(getState());
|
|
669
|
+
const nextState = {
|
|
670
|
+
...currentState,
|
|
671
|
+
...selectionState,
|
|
672
|
+
sort: {
|
|
673
|
+
...currentState.sort,
|
|
674
|
+
...selectionState.sort
|
|
675
|
+
}
|
|
676
|
+
};
|
|
677
|
+
const { isLoading: currentLoading, ...currentRequestState } = currentState;
|
|
678
|
+
const { isLoading: selectionLoading, ...selectionRequestState } = nextState;
|
|
679
|
+
if (!(0, _northern_tech_utils_helpers.deepCompare)(currentRequestState, selectionRequestState)) {
|
|
680
|
+
nextState.isLoading = true;
|
|
681
|
+
dispatch(getSoftware(nextState)).unwrap().finally(() => dispatch(setSoftwareListState({ isLoading: false })).unwrap());
|
|
682
|
+
}
|
|
683
|
+
dispatch(require_releasesSlice_index.actions.setSoftwareListState(nextState));
|
|
684
|
+
});
|
|
613
685
|
//#endregion
|
|
614
686
|
exports.cancelFileUpload = cancelFileUpload;
|
|
615
687
|
exports.createArtifact = createArtifact;
|
|
@@ -626,6 +698,7 @@ exports.getManifest = getManifest;
|
|
|
626
698
|
exports.getManifests = getManifests;
|
|
627
699
|
exports.getRelease = getRelease;
|
|
628
700
|
exports.getReleases = getReleases;
|
|
701
|
+
exports.getSoftware = getSoftware;
|
|
629
702
|
exports.getUpdateTypes = getUpdateTypes;
|
|
630
703
|
exports.removeArtifact = removeArtifact;
|
|
631
704
|
exports.removeManifest = removeManifest;
|
|
@@ -639,6 +712,8 @@ exports.setReleaseTags = setReleaseTags;
|
|
|
639
712
|
exports.setReleasesListState = setReleasesListState;
|
|
640
713
|
exports.setReleasesTags = setReleasesTags;
|
|
641
714
|
exports.setSingleReleaseTags = setSingleReleaseTags;
|
|
715
|
+
exports.setSoftwareListState = setSoftwareListState;
|
|
716
|
+
exports.updateManifestInfo = updateManifestInfo;
|
|
642
717
|
exports.updateReleaseInfo = updateReleaseInfo;
|
|
643
718
|
exports.uploadArtifact = uploadArtifact;
|
|
644
719
|
exports.uploadManifest = uploadManifest;
|