Skip to content
Merged

Dev #1139

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
0f2257f
fix(ui): replace dead ui.contentstack.com CDN styles with local sources
umesh-more-cstk Jul 31, 2026
f300b04
fix(delta): resolve entry references correctly and fix premature loca…
Jul 30, 2026
c594b1b
fix(contentful): correct Array.isArray typo in reference field lookup
Jul 31, 2026
3ccf169
fix(delta): resolve entry references correctly and fix premature loca…
Jul 31, 2026
12a6485
fix(delta-ui): iter-2 completion state + Contentful displayField extr…
Aug 3, 2026
e7a8721
fix(security): guard uid-mapper and update-config reads against path …
Aug 3, 2026
e7909df
fix(security): apply path.basename to user-derived segments for Snyk …
Aug 3, 2026
75a274a
fix(security): read uid-mapper via lowdb model to clear Snyk SAST
Aug 3, 2026
8266543
fix(delta-ui): detect completion when terminal message is buried mid-log
Aug 3, 2026
2f9b861
fix(delta): CMG-1097, CMG-1103, CMG-1104, CMG-1105
Aug 4, 2026
3865de5
fix(delta): CMG-1105, CMG-1106
Aug 5, 2026
83e19e5
Merge branch 'dev' into bugfix/ui-legacy-cdn-shim
umesh-more-cstk Aug 5, 2026
85b1049
Merge pull request #1130 from contentstack/bugfix/ui-legacy-cdn-shim
vikrantraut-cstk Aug 5, 2026
9d8c5fe
fix: address PR review comments on #1136
Aug 6, 2026
4fb87ff
Merge remote-tracking branch 'origin/dev' into bugfix/cmg-1101-ref-lo…
Aug 6, 2026
35a4858
feat: show broken/missing assets on Map Entry with retry option
Aug 6, 2026
a2aa06a
fix: address second round of PR review comments on #1136
Aug 6, 2026
1966d56
fix(security): sanitize destination stack id before reading cs_failed…
Aug 6, 2026
c8cce71
polish: improve Map Entry Assets tab layout and status styling
Aug 6, 2026
51c9cbd
Merge pull request #1136 from contentstack/bugfix/cmg-1101-ref-locale
vikrantraut-cstk Aug 6, 2026
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
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -373,3 +373,6 @@ app.json
# Test coverage (global)
coverage/
export-stack/
allien/
aem_data_structure/
.claude/
15 changes: 14 additions & 1 deletion api/src/controllers/projects.contentMapper.controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,18 @@ const updateAssetStatus = async (req: Request, res: Response): Promise<void> =>
res.status(resp?.status).json(resp);
};

/**
* Re-attempts the download for one asset that failed during the last migration run.
*
* @param req - The request object.
* @param res - The response object.
* @returns A Promise that resolves to void.
*/
const retryAssetDownload = async (req: Request, res: Response): Promise<void> => {
const resp = await contentMapperService.retryAssetDownload(req);
res.status(resp?.status).json(resp);
};

export const contentMapperController = {
getContentTypes,
getFieldMapping,
Expand All @@ -229,5 +241,6 @@ export const contentMapperController = {
getEntryMapping,
updateEntryStatus,
getAssetMapping,
updateAssetStatus
updateAssetStatus,
retryAssetDownload
};
9 changes: 9 additions & 0 deletions api/src/routes/contentMapper.routes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,15 @@ router.put(
asyncRouter(contentMapperController.updateAssetStatus)
);

/**
* Retry downloading a single asset that failed during the last migration run
* @route PUT /retryAsset/:projectId/:assetUid
*/
router.put(
"/retryAsset/:projectId/:assetUid",
asyncRouter(contentMapperController.retryAssetDownload)
);

/**
* Get Single Global Field data
* @route GET /:projectId/:globalFieldUid
Expand Down
Loading
Loading