mirror of
https://github.com/strapi/strapi.git
synced 2025-07-23 17:10:08 +00:00
Merge pull request #16553 from strapi/fix/protect-assets-backup
This commit is contained in:
commit
af7b42e8d1
@ -727,6 +727,9 @@ class TransferEngine<
|
|||||||
|
|
||||||
async transferAssets(): Promise<void> {
|
async transferAssets(): Promise<void> {
|
||||||
const stage: TransferStage = 'assets';
|
const stage: TransferStage = 'assets';
|
||||||
|
if (this.shouldSkipStage(stage)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const source = await this.sourceProvider.createAssetsReadStream?.();
|
const source = await this.sourceProvider.createAssetsReadStream?.();
|
||||||
const destination = await this.destinationProvider.createAssetsWriteStream?.();
|
const destination = await this.destinationProvider.createAssetsWriteStream?.();
|
||||||
|
@ -156,10 +156,16 @@ class LocalStrapiDestinationProvider implements IDestinationProvider {
|
|||||||
`uploads_backup_${Date.now()}`
|
`uploads_backup_${Date.now()}`
|
||||||
);
|
);
|
||||||
|
|
||||||
|
try {
|
||||||
await fse.move(assetsDirectory, backupDirectory);
|
await fse.move(assetsDirectory, backupDirectory);
|
||||||
await fse.mkdir(assetsDirectory);
|
await fse.mkdir(assetsDirectory);
|
||||||
// Create a .gitkeep file to ensure the directory is not empty
|
// Create a .gitkeep file to ensure the directory is not empty
|
||||||
await fse.outputFile(path.join(assetsDirectory, '.gitkeep'), '');
|
await fse.outputFile(path.join(assetsDirectory, '.gitkeep'), '');
|
||||||
|
} catch (err) {
|
||||||
|
throw new ProviderTransferError(
|
||||||
|
'The backup folder for the assets could not be created inside the public folder. Please ensure Strapi has write permissions on the public directory'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
return new Writable({
|
return new Writable({
|
||||||
objectMode: true,
|
objectMode: true,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user