|
|
@ -236,7 +236,6 @@ export class AssetsService { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public replaceFile(appName: string, id: string, file: File, version?: Version): Observable<number | AssetReplacedDto> { |
|
|
public replaceFile(appName: string, id: string, file: File, version?: Version): Observable<number | AssetReplacedDto> { |
|
|
return new Observable<number | AssetReplacedDto>(subscriber => { |
|
|
|
|
|
const url = this.apiUrl.buildUrl(`api/apps/${appName}/assets/${id}/content`); |
|
|
const url = this.apiUrl.buildUrl(`api/apps/${appName}/assets/${id}/content`); |
|
|
|
|
|
|
|
|
const req = new HttpRequest('PUT', url, getFormData(file), { |
|
|
const req = new HttpRequest('PUT', url, getFormData(file), { |
|
|
@ -246,15 +245,14 @@ export class AssetsService { |
|
|
reportProgress: true |
|
|
reportProgress: true |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
this.http.request(req) |
|
|
return this.http.request(req) |
|
|
.pretifyError('Failed to replace asset. Please reload.') |
|
|
.map(event => { |
|
|
.subscribe(event => { |
|
|
|
|
|
if (event.type === HttpEventType.UploadProgress) { |
|
|
if (event.type === HttpEventType.UploadProgress) { |
|
|
const percentDone = Math.round(100 * event.loaded / event.total); |
|
|
const percentDone = Math.round(100 * event.loaded / event.total); |
|
|
|
|
|
|
|
|
subscriber.next(percentDone); |
|
|
return percentDone; |
|
|
} else if (event instanceof HttpResponse) { |
|
|
} else if (event instanceof HttpResponse) { |
|
|
const response = event.body; |
|
|
const response: any = event.body; |
|
|
|
|
|
|
|
|
const dto = new AssetReplacedDto( |
|
|
const dto = new AssetReplacedDto( |
|
|
response.fileSize, |
|
|
response.fileSize, |
|
|
@ -265,27 +263,26 @@ export class AssetsService { |
|
|
response.pixelHeight, |
|
|
response.pixelHeight, |
|
|
new Version(response.version.toString())); |
|
|
new Version(response.version.toString())); |
|
|
|
|
|
|
|
|
subscriber.next(dto); |
|
|
return dto; |
|
|
} |
|
|
} |
|
|
}, err => { |
|
|
}) |
|
|
subscriber.error(err); |
|
|
.pretifyError('Failed to replace asset. Please reload.'); |
|
|
}, () => { |
|
|
|
|
|
subscriber.complete(); |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public putAsset(appName: string, id: string, dto: UpdateAssetDto, version?: Version): Observable<any> { |
|
|
public deleteAsset(appName: string, id: string, version?: Version): Observable<any> { |
|
|
const url = this.apiUrl.buildUrl(`api/apps/${appName}/assets/${id}`); |
|
|
const url = this.apiUrl.buildUrl(`api/apps/${appName}/assets/${id}`); |
|
|
|
|
|
|
|
|
return HTTP.putVersioned(this.http, url, dto, version) |
|
|
return HTTP.deleteVersioned(this.http, url, version) |
|
|
|
|
|
.do(() => { |
|
|
|
|
|
this.localCache.remove(`asset.${id}`); |
|
|
|
|
|
}) |
|
|
.pretifyError('Failed to delete asset. Please reload.'); |
|
|
.pretifyError('Failed to delete asset. Please reload.'); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public deleteAsset(appName: string, id: string, version?: Version): Observable<any> { |
|
|
public putAsset(appName: string, id: string, dto: UpdateAssetDto, version?: Version): Observable<any> { |
|
|
const url = this.apiUrl.buildUrl(`api/apps/${appName}/assets/${id}`); |
|
|
const url = this.apiUrl.buildUrl(`api/apps/${appName}/assets/${id}`); |
|
|
|
|
|
|
|
|
return HTTP.deleteVersioned(this.http, url, version) |
|
|
return HTTP.putVersioned(this.http, url, dto, version) |
|
|
.pretifyError('Failed to delete asset. Please reload.'); |
|
|
.pretifyError('Failed to delete asset. Please reload.'); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|