@devtron-labs/devtron-fe-common-lib 0.0.37-beta-1 → 0.0.37-beta-2
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/Common/Common.service.d.ts +2 -2
- package/dist/Common/Constants.d.ts +0 -1
- package/dist/Common/Types.d.ts +5 -35
- package/dist/index.js +74 -191
- package/package.json +1 -1
- package/src/Common/Common.service.ts +76 -221
- package/src/Common/Constants.ts +0 -1
- package/src/Common/ImageTags.tsx +2 -11
- package/src/Common/Types.ts +5 -43
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TeamList, ResponseType, DeploymentNodeType
|
|
1
|
+
import { TeamList, ResponseType, DeploymentNodeType } from './Types';
|
|
2
2
|
export declare const getTeamListMin: () => Promise<TeamList>;
|
|
3
3
|
interface UserRole extends ResponseType {
|
|
4
4
|
result?: {
|
|
@@ -13,7 +13,7 @@ export declare const SourceTypeMap: {
|
|
|
13
13
|
};
|
|
14
14
|
export declare function getUserRole(appName?: string): Promise<UserRole>;
|
|
15
15
|
export declare function setImageTags(request: any, pipelineId: number, artifactId: number): Promise<ResponseType>;
|
|
16
|
-
export declare const
|
|
16
|
+
export declare const getCDMaterials: (cdMaterialId: any, stageType: DeploymentNodeType, abortSignal: AbortSignal, isApprovalNode?: boolean, imageTag?: string) => Promise<any>;
|
|
17
17
|
export declare function extractImage(image: string): string;
|
|
18
18
|
export declare function createGitCommitUrl(url: string, revision: string): string;
|
|
19
19
|
export {};
|
package/dist/Common/Types.d.ts
CHANGED
|
@@ -202,9 +202,6 @@ export declare enum FilterStates {
|
|
|
202
202
|
BLOCKED = 1,
|
|
203
203
|
ERROR = 2
|
|
204
204
|
}
|
|
205
|
-
export declare enum MaterialDataSource {
|
|
206
|
-
EXTERNAL = "ext"
|
|
207
|
-
}
|
|
208
205
|
export interface CDMaterialType {
|
|
209
206
|
index: number;
|
|
210
207
|
id: string;
|
|
@@ -231,31 +228,9 @@ export interface CDMaterialType {
|
|
|
231
228
|
imageReleaseTags?: ReleaseTag[];
|
|
232
229
|
artifactStatus?: string;
|
|
233
230
|
filterState: FilterStates;
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
appliedFiltersState?: FilterStates;
|
|
238
|
-
createdTime?: string;
|
|
239
|
-
deployed?: boolean;
|
|
240
|
-
dataSource?: MaterialDataSource;
|
|
241
|
-
}
|
|
242
|
-
export declare enum CDMaterialServiceEnum {
|
|
243
|
-
ROLLBACK = "rollback",
|
|
244
|
-
CD_MATERIALS = "cd-materials"
|
|
245
|
-
}
|
|
246
|
-
export declare enum CDMaterialResourceQuery {
|
|
247
|
-
PENDING_APPROVAL = "PENDING_APPROVAL"
|
|
248
|
-
}
|
|
249
|
-
export declare enum CDMaterialFilterQuery {
|
|
250
|
-
RESOURCE = "ELIGIBLE_RESOURCES",
|
|
251
|
-
ALL = "ALL_RESOURCES"
|
|
252
|
-
}
|
|
253
|
-
export interface CDMaterialServiceQueryParams {
|
|
254
|
-
search?: string;
|
|
255
|
-
offset?: number;
|
|
256
|
-
size?: number;
|
|
257
|
-
resource?: CDMaterialResourceQuery;
|
|
258
|
-
filter?: CDMaterialFilterQuery;
|
|
231
|
+
registryType?: string;
|
|
232
|
+
imagePath?: string;
|
|
233
|
+
registryName?: string;
|
|
259
234
|
}
|
|
260
235
|
export interface CommonNodeAttr {
|
|
261
236
|
connectingCiPipelineId?: number;
|
|
@@ -362,20 +337,15 @@ export interface FilterConditionsListType {
|
|
|
362
337
|
description: string;
|
|
363
338
|
conditions: FilterConditionsInfo[];
|
|
364
339
|
}
|
|
365
|
-
export interface
|
|
340
|
+
export interface CDMaterialResponseType {
|
|
366
341
|
approvalUsers: string[];
|
|
342
|
+
materials: any[];
|
|
367
343
|
userApprovalConfig: UserApprovalConfigType;
|
|
368
344
|
requestedUserId: number;
|
|
369
|
-
}
|
|
370
|
-
export interface CDMaterialsMetaInfo {
|
|
371
345
|
tagsEditable: boolean;
|
|
372
346
|
appReleaseTagNames: string[];
|
|
373
347
|
hideImageTaggingHardDelete: boolean;
|
|
374
348
|
resourceFilters?: FilterConditionsListType[];
|
|
375
|
-
totalCount: number;
|
|
376
|
-
}
|
|
377
|
-
export interface CDMaterialResponseType extends CDMaterialsMetaInfo, CDMaterialsApprovalInfo {
|
|
378
|
-
materials: CDMaterialType[];
|
|
379
349
|
}
|
|
380
350
|
export interface InputDetailType {
|
|
381
351
|
label: string;
|
package/dist/index.js
CHANGED
|
@@ -44,7 +44,6 @@ var ROUTES = {
|
|
|
44
44
|
PROJECT_LIST_MIN: 'team/autocomplete',
|
|
45
45
|
USER_CHECK_ROLE: 'user/check/roles',
|
|
46
46
|
IMAGE_TAGGING: 'app/image-tagging',
|
|
47
|
-
CD_MATERIAL_GET: 'app/cd-pipeline'
|
|
48
47
|
};
|
|
49
48
|
exports.KEY_VALUE = void 0;
|
|
50
49
|
(function (KEY_VALUE) {
|
|
@@ -431,24 +430,6 @@ exports.FilterStates = void 0;
|
|
|
431
430
|
FilterStates[FilterStates["BLOCKED"] = 1] = "BLOCKED";
|
|
432
431
|
FilterStates[FilterStates["ERROR"] = 2] = "ERROR";
|
|
433
432
|
})(exports.FilterStates || (exports.FilterStates = {}));
|
|
434
|
-
exports.MaterialDataSource = void 0;
|
|
435
|
-
(function (MaterialDataSource) {
|
|
436
|
-
MaterialDataSource["EXTERNAL"] = "ext";
|
|
437
|
-
})(exports.MaterialDataSource || (exports.MaterialDataSource = {}));
|
|
438
|
-
exports.CDMaterialServiceEnum = void 0;
|
|
439
|
-
(function (CDMaterialServiceEnum) {
|
|
440
|
-
CDMaterialServiceEnum["ROLLBACK"] = "rollback";
|
|
441
|
-
CDMaterialServiceEnum["CD_MATERIALS"] = "cd-materials";
|
|
442
|
-
})(exports.CDMaterialServiceEnum || (exports.CDMaterialServiceEnum = {}));
|
|
443
|
-
exports.CDMaterialResourceQuery = void 0;
|
|
444
|
-
(function (CDMaterialResourceQuery) {
|
|
445
|
-
CDMaterialResourceQuery["PENDING_APPROVAL"] = "PENDING_APPROVAL";
|
|
446
|
-
})(exports.CDMaterialResourceQuery || (exports.CDMaterialResourceQuery = {}));
|
|
447
|
-
exports.CDMaterialFilterQuery = void 0;
|
|
448
|
-
(function (CDMaterialFilterQuery) {
|
|
449
|
-
CDMaterialFilterQuery["RESOURCE"] = "ELIGIBLE_RESOURCES";
|
|
450
|
-
CDMaterialFilterQuery["ALL"] = "ALL_RESOURCES";
|
|
451
|
-
})(exports.CDMaterialFilterQuery || (exports.CDMaterialFilterQuery = {}));
|
|
452
433
|
exports.DeploymentAppTypes = void 0;
|
|
453
434
|
(function (DeploymentAppTypes) {
|
|
454
435
|
DeploymentAppTypes["HELM"] = "helm";
|
|
@@ -22708,168 +22689,77 @@ function getUserRole(appName) {
|
|
|
22708
22689
|
function setImageTags(request, pipelineId, artifactId) {
|
|
22709
22690
|
return post("".concat(ROUTES.IMAGE_TAGGING, "/").concat(pipelineId, "/").concat(artifactId), request);
|
|
22710
22691
|
}
|
|
22711
|
-
|
|
22712
|
-
|
|
22713
|
-
|
|
22714
|
-
|
|
22715
|
-
|
|
22716
|
-
|
|
22717
|
-
|
|
22718
|
-
|
|
22719
|
-
|
|
22720
|
-
|
|
22721
|
-
|
|
22722
|
-
|
|
22723
|
-
return "".concat(key, "=").concat(params[key]);
|
|
22724
|
-
})
|
|
22725
|
-
.join('&');
|
|
22726
|
-
return "".concat(url, "?").concat(queryString);
|
|
22727
|
-
};
|
|
22728
|
-
var cdMaterialListModal = function (artifacts, offset, artifactId, artifactStatus) {
|
|
22729
|
-
if (!artifacts || !artifacts.length)
|
|
22730
|
-
return [];
|
|
22731
|
-
var markFirstSelected = offset === 0;
|
|
22732
|
-
var startIndex = offset;
|
|
22733
|
-
var isImageMarked = false;
|
|
22734
|
-
var materials = artifacts.map(function (material, index) {
|
|
22735
|
-
var _a, _b, _c, _d, _e, _f;
|
|
22736
|
-
var artifactStatusValue = '';
|
|
22737
|
-
var filterState = (_a = material.filterState) !== null && _a !== void 0 ? _a : exports.FilterStates.ALLOWED;
|
|
22738
|
-
if (artifactId && artifactStatus && material.id === artifactId) {
|
|
22739
|
-
artifactStatusValue = artifactStatus;
|
|
22692
|
+
// FIXME: This is only returning materials to cater the case of search in approval but it should be a common function service coming from dashboard.
|
|
22693
|
+
var getCDMaterials = function (cdMaterialId, stageType, abortSignal, isApprovalNode, imageTag) {
|
|
22694
|
+
var URL = (!imageTag) ? "app/cd-pipeline/".concat(cdMaterialId, "/material?stage=").concat(stageMap[stageType]) : "app/cd-pipeline/".concat(cdMaterialId, "/material?stage=").concat(stageMap[stageType], "&search=").concat(imageTag);
|
|
22695
|
+
return get(URL, {
|
|
22696
|
+
signal: abortSignal,
|
|
22697
|
+
}).then(function (response) {
|
|
22698
|
+
var _a;
|
|
22699
|
+
var artifacts = (_a = response.result.ci_artifacts) !== null && _a !== void 0 ? _a : [];
|
|
22700
|
+
if (!response.result) {
|
|
22701
|
+
return {
|
|
22702
|
+
materials: [],
|
|
22703
|
+
};
|
|
22740
22704
|
}
|
|
22741
|
-
|
|
22742
|
-
|
|
22743
|
-
|
|
22705
|
+
else {
|
|
22706
|
+
var materials = artifacts.map(function (material, index) {
|
|
22707
|
+
var _a;
|
|
22708
|
+
var artifactStatusValue = '';
|
|
22709
|
+
var filterState = (_a = material.filterState) !== null && _a !== void 0 ? _a : exports.FilterStates.ALLOWED;
|
|
22710
|
+
return {
|
|
22711
|
+
index: index,
|
|
22712
|
+
id: material.id,
|
|
22713
|
+
deployedTime: material.deployed_time
|
|
22714
|
+
? moment(material.deployed_time).format('ddd, DD MMM YYYY, hh:mm A')
|
|
22715
|
+
: 'Not Deployed',
|
|
22716
|
+
deployedBy: material.deployedBy,
|
|
22717
|
+
wfrId: material.wfrId,
|
|
22718
|
+
image: extractImage(material.image),
|
|
22719
|
+
showChanges: false,
|
|
22720
|
+
vulnerabilities: [],
|
|
22721
|
+
buildTime: material.build_time || '',
|
|
22722
|
+
tab: CDModalTab.Changes,
|
|
22723
|
+
showSourceInfo: false,
|
|
22724
|
+
deployed: material.deployed || false,
|
|
22725
|
+
latest: material.latest || false,
|
|
22726
|
+
vulnerabilitiesLoading: true,
|
|
22727
|
+
scanned: material.scanned,
|
|
22728
|
+
scanEnabled: material.scanEnabled,
|
|
22729
|
+
isSelected: !material.vulnerable && filterState === exports.FilterStates.ALLOWED && index === 0,
|
|
22730
|
+
vulnerable: material.vulnerable,
|
|
22731
|
+
runningOnParentCd: material.runningOnParentCd,
|
|
22732
|
+
artifactStatus: artifactStatusValue,
|
|
22733
|
+
userApprovalMetadata: material.userApprovalMetadata,
|
|
22734
|
+
triggeredBy: material.triggeredBy,
|
|
22735
|
+
isVirtualEnvironment: material.isVirtualEnvironment,
|
|
22736
|
+
imageComment: material.imageComment,
|
|
22737
|
+
imageReleaseTags: material.imageReleaseTags,
|
|
22738
|
+
materialInfo: material.material_info
|
|
22739
|
+
? material.material_info.map(function (mat) {
|
|
22740
|
+
return {
|
|
22741
|
+
modifiedTime: mat.modifiedTime ? moment(mat.modifiedTime).format("ddd, DD MMM YYYY, hh:mm A") : '',
|
|
22742
|
+
commitLink: createGitCommitUrl(mat.url, mat.revision),
|
|
22743
|
+
author: mat.author || '',
|
|
22744
|
+
message: mat.message || '',
|
|
22745
|
+
revision: mat.revision || '',
|
|
22746
|
+
tag: mat.tag || '',
|
|
22747
|
+
webhookData: mat.webhookData || '',
|
|
22748
|
+
url: mat.url || '',
|
|
22749
|
+
branch: (material.ciConfigureSourceType === SourceTypeMap.WEBHOOK
|
|
22750
|
+
? material.ciConfigureSourceValue
|
|
22751
|
+
: mat.branch) || '',
|
|
22752
|
+
type: material.ciConfigureSourceType || '',
|
|
22753
|
+
};
|
|
22754
|
+
})
|
|
22755
|
+
: [],
|
|
22756
|
+
filterState: filterState,
|
|
22757
|
+
};
|
|
22758
|
+
});
|
|
22759
|
+
return {
|
|
22760
|
+
materials: materials
|
|
22761
|
+
};
|
|
22744
22762
|
}
|
|
22745
|
-
return {
|
|
22746
|
-
index: startIndex + index,
|
|
22747
|
-
id: material.id,
|
|
22748
|
-
deployedTime: material.deployed_time
|
|
22749
|
-
? moment(material.deployed_time).format('ddd, DD MMM YYYY, hh:mm A')
|
|
22750
|
-
: 'Not Deployed',
|
|
22751
|
-
deployedBy: material.deployedBy,
|
|
22752
|
-
wfrId: material.wfrId,
|
|
22753
|
-
tab: CDModalTab.Changes,
|
|
22754
|
-
image: extractImage(material.image),
|
|
22755
|
-
showChanges: false,
|
|
22756
|
-
vulnerabilities: [],
|
|
22757
|
-
buildTime: material.build_time || '',
|
|
22758
|
-
isSelected: selectImage,
|
|
22759
|
-
showSourceInfo: false,
|
|
22760
|
-
deployed: material.deployed || false,
|
|
22761
|
-
latest: material.latest || false,
|
|
22762
|
-
vulnerabilitiesLoading: true,
|
|
22763
|
-
scanned: material.scanned,
|
|
22764
|
-
scanEnabled: material.scanEnabled,
|
|
22765
|
-
vulnerable: material.vulnerable,
|
|
22766
|
-
runningOnParentCd: material.runningOnParentCd,
|
|
22767
|
-
artifactStatus: artifactStatusValue,
|
|
22768
|
-
userApprovalMetadata: material.userApprovalMetadata,
|
|
22769
|
-
triggeredBy: material.triggeredBy,
|
|
22770
|
-
isVirtualEnvironment: material.isVirtualEnvironment,
|
|
22771
|
-
imageComment: material.imageComment,
|
|
22772
|
-
imageReleaseTags: material.imageReleaseTags,
|
|
22773
|
-
// It is going to be null but required in type so can't remove
|
|
22774
|
-
lastExecution: material.lastExecution,
|
|
22775
|
-
materialInfo: material.material_info
|
|
22776
|
-
? material.material_info.map(function (mat) {
|
|
22777
|
-
return {
|
|
22778
|
-
modifiedTime: mat.modifiedTime
|
|
22779
|
-
? moment(mat.modifiedTime).format('ddd, DD MMM YYYY, hh:mm A')
|
|
22780
|
-
: '',
|
|
22781
|
-
commitLink: createGitCommitUrl(mat.url, mat.revision),
|
|
22782
|
-
author: mat.author || '',
|
|
22783
|
-
message: mat.message || '',
|
|
22784
|
-
revision: mat.revision || '',
|
|
22785
|
-
tag: mat.tag || '',
|
|
22786
|
-
webhookData: mat.webhookData || '',
|
|
22787
|
-
url: mat.url || '',
|
|
22788
|
-
branch: (material.ciConfigureSourceType === SourceTypeMap.WEBHOOK
|
|
22789
|
-
? material.ciConfigureSourceValue
|
|
22790
|
-
: mat.branch) || '',
|
|
22791
|
-
type: material.ciConfigureSourceType || '',
|
|
22792
|
-
};
|
|
22793
|
-
})
|
|
22794
|
-
: [],
|
|
22795
|
-
filterState: filterState,
|
|
22796
|
-
appliedFiltersTimestamp: (_b = material.appliedFiltersTimestamp) !== null && _b !== void 0 ? _b : '',
|
|
22797
|
-
appliedFilters: (_c = material.appliedFilters) !== null && _c !== void 0 ? _c : [],
|
|
22798
|
-
appliedFiltersState: (_d = material.appliedFiltersState) !== null && _d !== void 0 ? _d : exports.FilterStates.ALLOWED,
|
|
22799
|
-
createdTime: (_e = material.createdTime) !== null && _e !== void 0 ? _e : '',
|
|
22800
|
-
dataSource: (_f = material.data_source) !== null && _f !== void 0 ? _f : '',
|
|
22801
|
-
};
|
|
22802
|
-
});
|
|
22803
|
-
return materials;
|
|
22804
|
-
};
|
|
22805
|
-
var processCDMaterialsApprovalInfo = function (enableApproval, cdMaterialsResult) {
|
|
22806
|
-
if (!enableApproval) {
|
|
22807
|
-
return {
|
|
22808
|
-
approvalUsers: [],
|
|
22809
|
-
userApprovalConfig: null,
|
|
22810
|
-
requestedUserId: 0,
|
|
22811
|
-
};
|
|
22812
|
-
}
|
|
22813
|
-
return {
|
|
22814
|
-
approvalUsers: cdMaterialsResult.approvalUsers,
|
|
22815
|
-
userApprovalConfig: cdMaterialsResult.userApprovalConfig,
|
|
22816
|
-
requestedUserId: cdMaterialsResult.requestedUserId,
|
|
22817
|
-
};
|
|
22818
|
-
};
|
|
22819
|
-
var processCDMaterialsMetaInfo = function (cdMaterialsResult) {
|
|
22820
|
-
var _a, _b;
|
|
22821
|
-
if (!cdMaterialsResult) {
|
|
22822
|
-
return {
|
|
22823
|
-
tagsEditable: false,
|
|
22824
|
-
appReleaseTagNames: [],
|
|
22825
|
-
hideImageTaggingHardDelete: false,
|
|
22826
|
-
resourceFilters: [],
|
|
22827
|
-
totalCount: 0,
|
|
22828
|
-
};
|
|
22829
|
-
}
|
|
22830
|
-
return {
|
|
22831
|
-
appReleaseTagNames: cdMaterialsResult.appReleaseTagNames,
|
|
22832
|
-
tagsEditable: cdMaterialsResult.tagsEditable,
|
|
22833
|
-
hideImageTaggingHardDelete: cdMaterialsResult.hideImageTaggingHardDelete,
|
|
22834
|
-
resourceFilters: (_a = cdMaterialsResult.resourceFilters) !== null && _a !== void 0 ? _a : [],
|
|
22835
|
-
totalCount: (_b = cdMaterialsResult.totalCount) !== null && _b !== void 0 ? _b : 0,
|
|
22836
|
-
};
|
|
22837
|
-
};
|
|
22838
|
-
var processCDMaterialServiceResponse = function (cdMaterialsResult, stage, offset, filter) {
|
|
22839
|
-
if (!cdMaterialsResult) {
|
|
22840
|
-
return __assign(__assign({ materials: [] }, processCDMaterialsMetaInfo(cdMaterialsResult)), processCDMaterialsApprovalInfo(false, cdMaterialsResult));
|
|
22841
|
-
}
|
|
22842
|
-
var materials = cdMaterialListModal(cdMaterialsResult.ci_artifacts, offset !== null && offset !== void 0 ? offset : 0, cdMaterialsResult.latest_wf_artifact_id, cdMaterialsResult.latest_wf_artifact_status);
|
|
22843
|
-
var approvalInfo = processCDMaterialsApprovalInfo(stage === exports.DeploymentNodeType.CD || stage === exports.DeploymentNodeType.APPROVAL, cdMaterialsResult);
|
|
22844
|
-
var metaInfo = processCDMaterialsMetaInfo(cdMaterialsResult);
|
|
22845
|
-
// TODO: On update of service would remove from here
|
|
22846
|
-
var filteredMaterials = filter && filter === exports.CDMaterialFilterQuery.RESOURCE
|
|
22847
|
-
? materials.filter(function (material) {
|
|
22848
|
-
return material.filterState === exports.FilterStates.ALLOWED;
|
|
22849
|
-
})
|
|
22850
|
-
: materials;
|
|
22851
|
-
return __assign(__assign({ materials: filteredMaterials }, approvalInfo), metaInfo);
|
|
22852
|
-
};
|
|
22853
|
-
var getSanitizedQueryParams = function (queryParams) {
|
|
22854
|
-
queryParams.filter; var rest = __rest(queryParams, ["filter"]);
|
|
22855
|
-
return rest;
|
|
22856
|
-
};
|
|
22857
|
-
var genericCDMaterialsService = function (serviceType, cdMaterialID, stage, signal, queryParams) {
|
|
22858
|
-
if (queryParams === void 0) { queryParams = {}; }
|
|
22859
|
-
// TODO: On update of service would remove from here
|
|
22860
|
-
var manipulatedParams = getSanitizedQueryParams(queryParams);
|
|
22861
|
-
var URL;
|
|
22862
|
-
switch (serviceType) {
|
|
22863
|
-
case exports.CDMaterialServiceEnum.ROLLBACK:
|
|
22864
|
-
URL = processURL("".concat(ROUTES.CD_MATERIAL_GET, "/").concat(cdMaterialID, "/material/rollback"), manipulatedParams);
|
|
22865
|
-
break;
|
|
22866
|
-
// Meant for handling getCDMaterialList
|
|
22867
|
-
default:
|
|
22868
|
-
URL = processURL("".concat(ROUTES.CD_MATERIAL_GET, "/").concat(cdMaterialID, "/material"), __assign(__assign({}, manipulatedParams), { stage: stageMap[stage] }));
|
|
22869
|
-
break;
|
|
22870
|
-
}
|
|
22871
|
-
return get(URL, { signal: signal }).then(function (response) {
|
|
22872
|
-
return processCDMaterialServiceResponse(response.result, stage, queryParams.offset, queryParams.filter);
|
|
22873
22763
|
});
|
|
22874
22764
|
};
|
|
22875
22765
|
function extractImage(image) {
|
|
@@ -23236,9 +23126,7 @@ var SvgIcEnter = function SvgIcEnter(props) {
|
|
|
23236
23126
|
};
|
|
23237
23127
|
|
|
23238
23128
|
var ImageTagsContainer = function (_a) {
|
|
23239
|
-
var
|
|
23240
|
-
// Setting it to zero in case of external pipeline
|
|
23241
|
-
ciPipelineId = _a.ciPipelineId, artifactId = _a.artifactId, imageComment = _a.imageComment, imageReleaseTags = _a.imageReleaseTags, updateCurrentAppMaterial = _a.updateCurrentAppMaterial, appReleaseTagNames = _a.appReleaseTagNames, setAppReleaseTagNames = _a.setAppReleaseTagNames, tagsEditable = _a.tagsEditable, setTagsEditable = _a.setTagsEditable, toggleCardMode = _a.toggleCardMode, hideHardDelete = _a.hideHardDelete, forceReInit = _a.forceReInit, isSuperAdmin = _a.isSuperAdmin;
|
|
23129
|
+
var ciPipelineId = _a.ciPipelineId, artifactId = _a.artifactId, imageComment = _a.imageComment, imageReleaseTags = _a.imageReleaseTags, updateCurrentAppMaterial = _a.updateCurrentAppMaterial, appReleaseTagNames = _a.appReleaseTagNames, setAppReleaseTagNames = _a.setAppReleaseTagNames, tagsEditable = _a.tagsEditable, setTagsEditable = _a.setTagsEditable, toggleCardMode = _a.toggleCardMode, hideHardDelete = _a.hideHardDelete, forceReInit = _a.forceReInit, isSuperAdmin = _a.isSuperAdmin;
|
|
23242
23130
|
var _b = __read(React.useState(imageReleaseTags ? imageReleaseTags : []), 2), initialTags = _b[0], setInitialTags = _b[1];
|
|
23243
23131
|
var _c = __read(React.useState(imageComment ? imageComment.comment : ''), 2), initialDescription = _c[0], setInitialDescription = _c[1];
|
|
23244
23132
|
var _d = __read(React.useState(appReleaseTagNames ? appReleaseTagNames : []), 2), existingTags = _d[0], setExistingTags = _d[1];
|
|
@@ -23252,7 +23140,6 @@ var ImageTagsContainer = function (_a) {
|
|
|
23252
23140
|
var _m = __read(React.useState([]), 2), hardDeleteTags = _m[0], setHardDeleteTags = _m[1];
|
|
23253
23141
|
var _o = __read(React.useState(''), 2), descriptionValidationMessage = _o[0], setDescriptionValidationMessage = _o[1];
|
|
23254
23142
|
var _p = __read(React.useState(''), 2), textInput = _p[0], setTextInput = _p[1];
|
|
23255
|
-
var _q = __read(React.useState(false), 2), loading = _q[0], setLoading = _q[1];
|
|
23256
23143
|
React.useEffect(function () {
|
|
23257
23144
|
reInitState();
|
|
23258
23145
|
}, [imageReleaseTags, imageComment, tagsEditable]);
|
|
@@ -23400,8 +23287,7 @@ var ImageTagsContainer = function (_a) {
|
|
|
23400
23287
|
hardDeleteTags: hardDeleteTags,
|
|
23401
23288
|
};
|
|
23402
23289
|
// set loading state true
|
|
23403
|
-
|
|
23404
|
-
setImageTags(payload, ciPipelineId !== null && ciPipelineId !== void 0 ? ciPipelineId : 0, artifactId)
|
|
23290
|
+
setImageTags(payload, ciPipelineId, artifactId)
|
|
23405
23291
|
.then(function (res) {
|
|
23406
23292
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
23407
23293
|
var tags = (_b = (_a = res.result) === null || _a === void 0 ? void 0 : _a.imageReleaseTags) === null || _b === void 0 ? void 0 : _b.map(function (tag) { return ({
|
|
@@ -23440,9 +23326,6 @@ var ImageTagsContainer = function (_a) {
|
|
|
23440
23326
|
else {
|
|
23441
23327
|
showError(err);
|
|
23442
23328
|
}
|
|
23443
|
-
})
|
|
23444
|
-
.finally(function () {
|
|
23445
|
-
setLoading(false);
|
|
23446
23329
|
});
|
|
23447
23330
|
return [2 /*return*/];
|
|
23448
23331
|
});
|
|
@@ -23493,10 +23376,10 @@ var ImageTagsContainer = function (_a) {
|
|
|
23493
23376
|
}, tagId: tag.id, softDeleteTags: softDeleteTags, isSuperAdmin: isSuperAdmin, duplicateTag: tag === null || tag === void 0 ? void 0 : tag.duplicateTag, hideHardDelete: hideHardDelete }, tag.id)); }) })), showTagsWarning && (jsxRuntime.jsxs("div", __assign({ className: "cn-7 mb-8 flex left" }, { children: [jsxRuntime.jsx(SvgIcInfoFilled, { className: "form__icon--info icon-dim-16 mr-2" }), "Tags cannot be edited/removed later"] }))), jsxRuntime.jsx("div", __assign({ className: "cn-7 mt-12" }, { children: "Comment" })), jsxRuntime.jsx("div", __assign({ className: "flex left flex-wrap dc__gap-8 w-100 mt-6 mb-12", "data-testid": "add-image-comment-text-area" }, { children: jsxRuntime.jsx("textarea", { value: newDescription, onChange: handleDescriptionChange, className: "flex left flex-wrap dc__gap-8 dc__description-textarea fs-13", style: { height: '90px !important' } }) })), descriptionValidationMessage !== '' && (jsxRuntime.jsxs("div", __assign({ className: "flex left" }, { children: [jsxRuntime.jsx(SvgIcWarning, { className: "form__icon form__icon--error" }), jsxRuntime.jsx("div", __assign({ className: "form__error" }, { children: descriptionValidationMessage }))] }))), jsxRuntime.jsxs("div", __assign({ className: "w-100 flex right mt-12" }, { children: [jsxRuntime.jsx("button", __assign({ className: "cta flex cancel h-32 lh-32-imp", type: "button", onClick: function (e) {
|
|
23494
23377
|
stopPropagation(e);
|
|
23495
23378
|
handleCancel();
|
|
23496
|
-
}
|
|
23379
|
+
} }, { children: "Cancel" })), jsxRuntime.jsx("button", __assign({ className: "cta flex h-32 lh-32-imp ml-12", "data-testid": "save-tags-button", type: "button", onClick: function (e) {
|
|
23497
23380
|
stopPropagation(e);
|
|
23498
23381
|
onClickSave();
|
|
23499
|
-
}
|
|
23382
|
+
} }, { children: "Save" }))] }))] }))) : (jsxRuntime.jsxs("div", __assign({ className: "top br-4 bcn-0 image-tags-container flexbox" }, { children: [jsxRuntime.jsx("div", __assign({ className: "flex left image-tag-left-border w-100 mt-8 mb-8 pr-10 pl-10", "data-testid": "image-tags-container-hover" }, { children: jsxRuntime.jsxs("div", __assign({ className: 'w-100' }, { children: [initialDescription && jsxRuntime.jsx("div", __assign({ className: "mb-6 fs-13 lh-20 dc__word-break-all" }, { children: initialDescription })), jsxRuntime.jsx("div", __assign({ className: "flex-wrap flex left" }, { children: initialTags === null || initialTags === void 0 ? void 0 : initialTags.map(function (tag, index) { return (jsxRuntime.jsx(ImageTagButton, { text: tag === null || tag === void 0 ? void 0 : tag.tagName, isSoftDeleted: tag === null || tag === void 0 ? void 0 : tag.deleted, isEditing: isEditing, onSoftDeleteClick: function (e) {
|
|
23500
23383
|
stopPropagation(e);
|
|
23501
23384
|
handleTagSoftDelete(index);
|
|
23502
23385
|
}, onHardDeleteClick: function (e) {
|
|
@@ -23800,9 +23683,9 @@ exports.closeOnEscKeyPressed = closeOnEscKeyPressed;
|
|
|
23800
23683
|
exports.copyToClipboard = copyToClipboard;
|
|
23801
23684
|
exports.createGitCommitUrl = createGitCommitUrl;
|
|
23802
23685
|
exports.extractImage = extractImage;
|
|
23803
|
-
exports.genericCDMaterialsService = genericCDMaterialsService;
|
|
23804
23686
|
exports.get = get;
|
|
23805
23687
|
exports.getAlphabetIcon = getAlphabetIcon;
|
|
23688
|
+
exports.getCDMaterials = getCDMaterials;
|
|
23806
23689
|
exports.getCookie = getCookie;
|
|
23807
23690
|
exports.getEmptyArrayOfLength = getEmptyArrayOfLength;
|
|
23808
23691
|
exports.getLoginInfo = getLoginInfo;
|
package/package.json
CHANGED
|
@@ -2,19 +2,7 @@ import moment from 'moment';
|
|
|
2
2
|
import {get, post} from './Api';
|
|
3
3
|
import { ROUTES } from './Constants'
|
|
4
4
|
import { sortCallback } from './Helper';
|
|
5
|
-
import {
|
|
6
|
-
TeamList,
|
|
7
|
-
ResponseType,
|
|
8
|
-
DeploymentNodeType,
|
|
9
|
-
CDModalTab,
|
|
10
|
-
FilterStates,
|
|
11
|
-
CDMaterialServiceEnum,
|
|
12
|
-
CDMaterialServiceQueryParams,
|
|
13
|
-
CDMaterialResponseType,
|
|
14
|
-
CDMaterialsMetaInfo,
|
|
15
|
-
CDMaterialsApprovalInfo,
|
|
16
|
-
CDMaterialFilterQuery,
|
|
17
|
-
} from './Types'
|
|
5
|
+
import { TeamList ,ResponseType, DeploymentNodeType, CDModalTab, FilterStates } from './Types';
|
|
18
6
|
|
|
19
7
|
export const getTeamListMin = (): Promise<TeamList> => {
|
|
20
8
|
// ignore active field
|
|
@@ -42,7 +30,7 @@ interface UserRole extends ResponseType {
|
|
|
42
30
|
}
|
|
43
31
|
}
|
|
44
32
|
|
|
45
|
-
|
|
33
|
+
let stageMap = {
|
|
46
34
|
PRECD: 'PRE',
|
|
47
35
|
CD: 'DEPLOY',
|
|
48
36
|
POSTCD: 'POST',
|
|
@@ -63,216 +51,83 @@ export function setImageTags(request, pipelineId: number, artifactId: number){
|
|
|
63
51
|
return post(`${ROUTES.IMAGE_TAGGING}/${pipelineId}/${artifactId}`,request )
|
|
64
52
|
}
|
|
65
53
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
54
|
+
// FIXME: This is only returning materials to cater the case of search in approval but it should be a common function service coming from dashboard.
|
|
55
|
+
export const getCDMaterials = (
|
|
56
|
+
cdMaterialId,
|
|
57
|
+
stageType: DeploymentNodeType,
|
|
58
|
+
abortSignal: AbortSignal,
|
|
59
|
+
isApprovalNode?: boolean,
|
|
60
|
+
imageTag?: string): Promise<any> => {
|
|
61
|
+
const URL = (!imageTag) ? `app/cd-pipeline/${cdMaterialId}/material?stage=${stageMap[stageType]}` : `app/cd-pipeline/${cdMaterialId}/material?stage=${stageMap[stageType]}&search=${imageTag}`
|
|
62
|
+
|
|
63
|
+
return get(URL, {
|
|
64
|
+
signal: abortSignal,
|
|
65
|
+
}).then((response) => {
|
|
66
|
+
let artifacts = response.result.ci_artifacts ?? []
|
|
67
|
+
if (!response.result) {
|
|
68
|
+
return {
|
|
69
|
+
materials: [],
|
|
79
70
|
}
|
|
80
|
-
return `${key}=${params[key]}`
|
|
81
|
-
})
|
|
82
|
-
.join('&')
|
|
83
|
-
|
|
84
|
-
return `${url}?${queryString}`
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
const cdMaterialListModal = (artifacts: any[], offset: number, artifactId?: number, artifactStatus?: string) => {
|
|
88
|
-
if (!artifacts || !artifacts.length) return []
|
|
89
|
-
|
|
90
|
-
const markFirstSelected = offset === 0
|
|
91
|
-
const startIndex = offset
|
|
92
|
-
let isImageMarked = false
|
|
93
|
-
|
|
94
|
-
const materials = artifacts.map((material, index) => {
|
|
95
|
-
let artifactStatusValue = ''
|
|
96
|
-
const filterState = material.filterState ?? FilterStates.ALLOWED
|
|
97
|
-
|
|
98
|
-
if (artifactId && artifactStatus && material.id === artifactId) {
|
|
99
|
-
artifactStatusValue = artifactStatus
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
const selectImage =
|
|
103
|
-
!isImageMarked && markFirstSelected && filterState === FilterStates.ALLOWED ? !material.vulnerable : false
|
|
104
|
-
if (selectImage) {
|
|
105
|
-
isImageMarked = true
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
return {
|
|
109
|
-
index: startIndex + index,
|
|
110
|
-
id: material.id,
|
|
111
|
-
deployedTime: material.deployed_time
|
|
112
|
-
? moment(material.deployed_time).format('ddd, DD MMM YYYY, hh:mm A')
|
|
113
|
-
: 'Not Deployed',
|
|
114
|
-
deployedBy: material.deployedBy,
|
|
115
|
-
wfrId: material.wfrId,
|
|
116
|
-
tab: CDModalTab.Changes,
|
|
117
|
-
image: extractImage(material.image),
|
|
118
|
-
showChanges: false,
|
|
119
|
-
vulnerabilities: [],
|
|
120
|
-
buildTime: material.build_time || '',
|
|
121
|
-
isSelected: selectImage,
|
|
122
|
-
showSourceInfo: false,
|
|
123
|
-
deployed: material.deployed || false,
|
|
124
|
-
latest: material.latest || false,
|
|
125
|
-
vulnerabilitiesLoading: true,
|
|
126
|
-
scanned: material.scanned,
|
|
127
|
-
scanEnabled: material.scanEnabled,
|
|
128
|
-
vulnerable: material.vulnerable,
|
|
129
|
-
runningOnParentCd: material.runningOnParentCd,
|
|
130
|
-
artifactStatus: artifactStatusValue,
|
|
131
|
-
userApprovalMetadata: material.userApprovalMetadata,
|
|
132
|
-
triggeredBy: material.triggeredBy,
|
|
133
|
-
isVirtualEnvironment: material.isVirtualEnvironment,
|
|
134
|
-
imageComment: material.imageComment,
|
|
135
|
-
imageReleaseTags: material.imageReleaseTags,
|
|
136
|
-
// It is going to be null but required in type so can't remove
|
|
137
|
-
lastExecution: material.lastExecution,
|
|
138
|
-
materialInfo: material.material_info
|
|
139
|
-
? material.material_info.map((mat) => {
|
|
140
|
-
return {
|
|
141
|
-
modifiedTime: mat.modifiedTime
|
|
142
|
-
? moment(mat.modifiedTime).format('ddd, DD MMM YYYY, hh:mm A')
|
|
143
|
-
: '',
|
|
144
|
-
commitLink: createGitCommitUrl(mat.url, mat.revision),
|
|
145
|
-
author: mat.author || '',
|
|
146
|
-
message: mat.message || '',
|
|
147
|
-
revision: mat.revision || '',
|
|
148
|
-
tag: mat.tag || '',
|
|
149
|
-
webhookData: mat.webhookData || '',
|
|
150
|
-
url: mat.url || '',
|
|
151
|
-
branch:
|
|
152
|
-
(material.ciConfigureSourceType === SourceTypeMap.WEBHOOK
|
|
153
|
-
? material.ciConfigureSourceValue
|
|
154
|
-
: mat.branch) || '',
|
|
155
|
-
type: material.ciConfigureSourceType || '',
|
|
156
|
-
}
|
|
157
|
-
})
|
|
158
|
-
: [],
|
|
159
|
-
filterState,
|
|
160
|
-
appliedFiltersTimestamp: material.appliedFiltersTimestamp ?? '',
|
|
161
|
-
appliedFilters: material.appliedFilters ?? [],
|
|
162
|
-
appliedFiltersState: material.appliedFiltersState ?? FilterStates.ALLOWED,
|
|
163
|
-
createdTime: material.createdTime ?? '',
|
|
164
|
-
dataSource: material.data_source ?? '',
|
|
165
|
-
}
|
|
166
|
-
})
|
|
167
|
-
return materials
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
const processCDMaterialsApprovalInfo = (enableApproval: boolean, cdMaterialsResult): CDMaterialsApprovalInfo => {
|
|
171
|
-
if (!enableApproval) {
|
|
172
|
-
return {
|
|
173
|
-
approvalUsers: [],
|
|
174
|
-
userApprovalConfig: null,
|
|
175
|
-
requestedUserId: 0,
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
return {
|
|
180
|
-
approvalUsers: cdMaterialsResult.approvalUsers,
|
|
181
|
-
userApprovalConfig: cdMaterialsResult.userApprovalConfig,
|
|
182
|
-
requestedUserId: cdMaterialsResult.requestedUserId,
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
const processCDMaterialsMetaInfo = (cdMaterialsResult): CDMaterialsMetaInfo => {
|
|
187
|
-
if (!cdMaterialsResult) {
|
|
188
|
-
return {
|
|
189
|
-
tagsEditable: false,
|
|
190
|
-
appReleaseTagNames: [],
|
|
191
|
-
hideImageTaggingHardDelete: false,
|
|
192
|
-
resourceFilters: [],
|
|
193
|
-
totalCount: 0,
|
|
194
71
|
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
72
|
+
else {
|
|
73
|
+
const materials = artifacts.map((material, index) => {
|
|
74
|
+
let artifactStatusValue = ''
|
|
75
|
+
const filterState = material.filterState ?? FilterStates.ALLOWED
|
|
76
|
+
|
|
77
|
+
return {
|
|
78
|
+
index,
|
|
79
|
+
id: material.id,
|
|
80
|
+
deployedTime: material.deployed_time
|
|
81
|
+
? moment(material.deployed_time).format('ddd, DD MMM YYYY, hh:mm A')
|
|
82
|
+
: 'Not Deployed',
|
|
83
|
+
deployedBy: material.deployedBy,
|
|
84
|
+
wfrId: material.wfrId,
|
|
85
|
+
image: extractImage(material.image),
|
|
86
|
+
showChanges: false,
|
|
87
|
+
vulnerabilities: [],
|
|
88
|
+
buildTime: material.build_time || '',
|
|
89
|
+
tab: CDModalTab.Changes,
|
|
90
|
+
showSourceInfo: false,
|
|
91
|
+
deployed: material.deployed || false,
|
|
92
|
+
latest: material.latest || false,
|
|
93
|
+
vulnerabilitiesLoading: true,
|
|
94
|
+
scanned: material.scanned,
|
|
95
|
+
scanEnabled: material.scanEnabled,
|
|
96
|
+
isSelected: !material.vulnerable && filterState === FilterStates.ALLOWED && index === 0,
|
|
97
|
+
vulnerable: material.vulnerable,
|
|
98
|
+
runningOnParentCd: material.runningOnParentCd,
|
|
99
|
+
artifactStatus: artifactStatusValue,
|
|
100
|
+
userApprovalMetadata: material.userApprovalMetadata,
|
|
101
|
+
triggeredBy: material.triggeredBy,
|
|
102
|
+
isVirtualEnvironment: material.isVirtualEnvironment,
|
|
103
|
+
imageComment: material.imageComment,
|
|
104
|
+
imageReleaseTags: material.imageReleaseTags,
|
|
105
|
+
materialInfo: material.material_info
|
|
106
|
+
? material.material_info.map((mat) => {
|
|
107
|
+
return {
|
|
108
|
+
modifiedTime: mat.modifiedTime ? moment(mat.modifiedTime).format("ddd, DD MMM YYYY, hh:mm A") : '',
|
|
109
|
+
commitLink: createGitCommitUrl(mat.url, mat.revision),
|
|
110
|
+
author: mat.author || '',
|
|
111
|
+
message: mat.message || '',
|
|
112
|
+
revision: mat.revision || '',
|
|
113
|
+
tag: mat.tag || '',
|
|
114
|
+
webhookData: mat.webhookData || '',
|
|
115
|
+
url: mat.url || '',
|
|
116
|
+
branch:
|
|
117
|
+
(material.ciConfigureSourceType === SourceTypeMap.WEBHOOK
|
|
118
|
+
? material.ciConfigureSourceValue
|
|
119
|
+
: mat.branch) || '',
|
|
120
|
+
type: material.ciConfigureSourceType || '',
|
|
121
|
+
}
|
|
122
|
+
})
|
|
123
|
+
: [],
|
|
124
|
+
filterState,
|
|
125
|
+
}
|
|
126
|
+
})
|
|
127
|
+
return {
|
|
128
|
+
materials: materials
|
|
129
|
+
}
|
|
217
130
|
}
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
const materials = cdMaterialListModal(
|
|
221
|
-
cdMaterialsResult.ci_artifacts,
|
|
222
|
-
offset ?? 0,
|
|
223
|
-
cdMaterialsResult.latest_wf_artifact_id,
|
|
224
|
-
cdMaterialsResult.latest_wf_artifact_status,
|
|
225
|
-
)
|
|
226
|
-
const approvalInfo = processCDMaterialsApprovalInfo(
|
|
227
|
-
stage === DeploymentNodeType.CD || stage === DeploymentNodeType.APPROVAL,
|
|
228
|
-
cdMaterialsResult,
|
|
229
|
-
)
|
|
230
|
-
const metaInfo = processCDMaterialsMetaInfo(cdMaterialsResult)
|
|
231
|
-
|
|
232
|
-
// TODO: On update of service would remove from here
|
|
233
|
-
const filteredMaterials =
|
|
234
|
-
filter && filter === CDMaterialFilterQuery.RESOURCE
|
|
235
|
-
? materials.filter((material) => {
|
|
236
|
-
return material.filterState === FilterStates.ALLOWED
|
|
237
|
-
})
|
|
238
|
-
: materials
|
|
239
|
-
|
|
240
|
-
return {
|
|
241
|
-
materials: filteredMaterials,
|
|
242
|
-
...approvalInfo,
|
|
243
|
-
...metaInfo,
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
const getSanitizedQueryParams = (queryParams: CDMaterialServiceQueryParams): CDMaterialServiceQueryParams => {
|
|
248
|
-
const { filter, ...rest } = queryParams
|
|
249
|
-
return rest
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
export const genericCDMaterialsService = (
|
|
253
|
-
serviceType: CDMaterialServiceEnum,
|
|
254
|
-
cdMaterialID: number,
|
|
255
|
-
stage: DeploymentNodeType,
|
|
256
|
-
signal: AbortSignal,
|
|
257
|
-
queryParams: CDMaterialServiceQueryParams = {},
|
|
258
|
-
): Promise<CDMaterialResponseType> => {
|
|
259
|
-
// TODO: On update of service would remove from here
|
|
260
|
-
const manipulatedParams = getSanitizedQueryParams(queryParams)
|
|
261
|
-
|
|
262
|
-
let URL
|
|
263
|
-
switch (serviceType) {
|
|
264
|
-
case CDMaterialServiceEnum.ROLLBACK:
|
|
265
|
-
URL = processURL(`${ROUTES.CD_MATERIAL_GET}/${cdMaterialID}/material/rollback`, manipulatedParams)
|
|
266
|
-
break
|
|
267
|
-
|
|
268
|
-
// Meant for handling getCDMaterialList
|
|
269
|
-
default:
|
|
270
|
-
URL = processURL(`${ROUTES.CD_MATERIAL_GET}/${cdMaterialID}/material`, { ...manipulatedParams, stage: stageMap[stage] })
|
|
271
|
-
break
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
return get(URL, { signal }).then((response) => {
|
|
275
|
-
return processCDMaterialServiceResponse(response.result, stage, queryParams.offset, queryParams.filter)
|
|
276
131
|
})
|
|
277
132
|
}
|
|
278
133
|
|
package/src/Common/Constants.ts
CHANGED
package/src/Common/ImageTags.tsx
CHANGED
|
@@ -18,10 +18,8 @@ import { showError, stopPropagation } from './Helper'
|
|
|
18
18
|
import { TippyCustomized } from './TippyCustomized'
|
|
19
19
|
import { setImageTags } from './Common.service'
|
|
20
20
|
import Tippy from '@tippyjs/react'
|
|
21
|
-
import { Progressing } from './Progressing'
|
|
22
21
|
|
|
23
22
|
export const ImageTagsContainer = ({
|
|
24
|
-
// Setting it to zero in case of external pipeline
|
|
25
23
|
ciPipelineId,
|
|
26
24
|
artifactId,
|
|
27
25
|
imageComment,
|
|
@@ -49,7 +47,6 @@ export const ImageTagsContainer = ({
|
|
|
49
47
|
const [hardDeleteTags, setHardDeleteTags] = useState<ReleaseTag[]>([])
|
|
50
48
|
const [descriptionValidationMessage, setDescriptionValidationMessage] = useState<string>('')
|
|
51
49
|
const [textInput, setTextInput] = useState<string>('')
|
|
52
|
-
const [loading, setLoading] = useState<boolean>(false)
|
|
53
50
|
|
|
54
51
|
|
|
55
52
|
useEffect(() => {
|
|
@@ -216,8 +213,7 @@ export const ImageTagsContainer = ({
|
|
|
216
213
|
}
|
|
217
214
|
|
|
218
215
|
// set loading state true
|
|
219
|
-
|
|
220
|
-
setImageTags(payload, ciPipelineId ?? 0, artifactId)
|
|
216
|
+
setImageTags(payload, ciPipelineId, artifactId)
|
|
221
217
|
.then((res) => {
|
|
222
218
|
const tags = res.result?.imageReleaseTags?.map((tag) => ({
|
|
223
219
|
id: tag.id,
|
|
@@ -253,9 +249,6 @@ export const ImageTagsContainer = ({
|
|
|
253
249
|
showError(err)
|
|
254
250
|
}
|
|
255
251
|
})
|
|
256
|
-
.finally(()=>{
|
|
257
|
-
setLoading(false)
|
|
258
|
-
})
|
|
259
252
|
}
|
|
260
253
|
|
|
261
254
|
const renderInfoCard = (): JSX.Element => {
|
|
@@ -432,7 +425,6 @@ export const ImageTagsContainer = ({
|
|
|
432
425
|
stopPropagation(e)
|
|
433
426
|
handleCancel()
|
|
434
427
|
}}
|
|
435
|
-
disabled={loading}
|
|
436
428
|
>
|
|
437
429
|
Cancel
|
|
438
430
|
</button>
|
|
@@ -444,9 +436,8 @@ export const ImageTagsContainer = ({
|
|
|
444
436
|
stopPropagation(e)
|
|
445
437
|
onClickSave()
|
|
446
438
|
}}
|
|
447
|
-
disabled={loading}
|
|
448
439
|
>
|
|
449
|
-
|
|
440
|
+
Save
|
|
450
441
|
</button>
|
|
451
442
|
</div>
|
|
452
443
|
</div>
|
package/src/Common/Types.ts
CHANGED
|
@@ -226,10 +226,6 @@ export enum FilterStates {
|
|
|
226
226
|
ERROR = 2,
|
|
227
227
|
}
|
|
228
228
|
|
|
229
|
-
export enum MaterialDataSource {
|
|
230
|
-
EXTERNAL = "ext"
|
|
231
|
-
}
|
|
232
|
-
|
|
233
229
|
export interface CDMaterialType {
|
|
234
230
|
index: number
|
|
235
231
|
id: string
|
|
@@ -256,36 +252,9 @@ export interface CDMaterialType {
|
|
|
256
252
|
imageReleaseTags?: ReleaseTag[]
|
|
257
253
|
artifactStatus?: string
|
|
258
254
|
filterState: FilterStates
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
appliedFilters?: FilterConditionsListType[]
|
|
263
|
-
appliedFiltersState?: FilterStates
|
|
264
|
-
createdTime?: string
|
|
265
|
-
deployed?: boolean
|
|
266
|
-
dataSource?: MaterialDataSource
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
export enum CDMaterialServiceEnum {
|
|
270
|
-
ROLLBACK = 'rollback',
|
|
271
|
-
CD_MATERIALS = 'cd-materials',
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
export enum CDMaterialResourceQuery {
|
|
275
|
-
PENDING_APPROVAL = 'PENDING_APPROVAL'
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
export enum CDMaterialFilterQuery {
|
|
279
|
-
RESOURCE = 'ELIGIBLE_RESOURCES',
|
|
280
|
-
ALL = 'ALL_RESOURCES'
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
export interface CDMaterialServiceQueryParams {
|
|
284
|
-
search?: string
|
|
285
|
-
offset?: number
|
|
286
|
-
size?: number
|
|
287
|
-
resource?: CDMaterialResourceQuery
|
|
288
|
-
filter?: CDMaterialFilterQuery
|
|
255
|
+
registryType?: string;
|
|
256
|
+
imagePath?: string
|
|
257
|
+
registryName?: string
|
|
289
258
|
}
|
|
290
259
|
|
|
291
260
|
export interface CommonNodeAttr {
|
|
@@ -401,22 +370,15 @@ export interface FilterConditionsListType {
|
|
|
401
370
|
conditions: FilterConditionsInfo[]
|
|
402
371
|
}
|
|
403
372
|
|
|
404
|
-
export interface
|
|
373
|
+
export interface CDMaterialResponseType {
|
|
405
374
|
approvalUsers: string[]
|
|
375
|
+
materials: any[]
|
|
406
376
|
userApprovalConfig: UserApprovalConfigType
|
|
407
377
|
requestedUserId: number
|
|
408
|
-
}
|
|
409
|
-
|
|
410
|
-
export interface CDMaterialsMetaInfo {
|
|
411
378
|
tagsEditable: boolean
|
|
412
379
|
appReleaseTagNames: string[]
|
|
413
380
|
hideImageTaggingHardDelete: boolean
|
|
414
381
|
resourceFilters?: FilterConditionsListType[]
|
|
415
|
-
totalCount: number
|
|
416
|
-
}
|
|
417
|
-
|
|
418
|
-
export interface CDMaterialResponseType extends CDMaterialsMetaInfo, CDMaterialsApprovalInfo {
|
|
419
|
-
materials: CDMaterialType[]
|
|
420
382
|
}
|
|
421
383
|
|
|
422
384
|
export interface InputDetailType {
|