diff --git a/frontend/app/shared/components/assets/asset-folder.component.scss b/frontend/app/shared/components/assets/asset-folder.component.scss index a2d87a346..d6730b4c0 100644 --- a/frontend/app/shared/components/assets/asset-folder.component.scss +++ b/frontend/app/shared/components/assets/asset-folder.component.scss @@ -14,7 +14,7 @@ img { & { border-bottom-width: 1px; border-width: 1px; - cursor: default; + cursor: pointer; width: $asset-width; } diff --git a/frontend/app/shared/services/assets.service.spec.ts b/frontend/app/shared/services/assets.service.spec.ts index 041b9beb6..bd8db5502 100644 --- a/frontend/app/shared/services/assets.service.spec.ts +++ b/frontend/app/shared/services/assets.service.spec.ts @@ -242,6 +242,25 @@ describe('AssetsService', () => { expect(asset!).toEqual(createAsset(12)); })); + it('should make post without parent id to create asset', + inject([AssetsService, HttpTestingController], (assetsService: AssetsService, httpMock: HttpTestingController) => { + + let asset: AssetDto; + + assetsService.postAssetFile('my-app', null!).subscribe(result => { + asset = result; + }); + + const req = httpMock.expectOne('http://service/p/api/apps/my-app/assets'); + + expect(req.request.method).toEqual('POST'); + expect(req.request.headers.get('If-Match')).toBeNull(); + + req.flush(assetResponse(12)); + + expect(asset!).toEqual(createAsset(12)); + })); + it('should return proper error when upload failed with 413', inject([AssetsService, HttpTestingController], (assetsService: AssetsService, httpMock: HttpTestingController) => { diff --git a/frontend/app/shared/services/assets.service.ts b/frontend/app/shared/services/assets.service.ts index 06508a231..3a9bc885d 100644 --- a/frontend/app/shared/services/assets.service.ts +++ b/frontend/app/shared/services/assets.service.ts @@ -282,7 +282,11 @@ export class AssetsService { } public postAssetFile(appName: string, file: Blob, parentId?: string): Observable { - const url = this.apiUrl.buildUrl(`api/apps/${appName}/assets?parentId=${parentId}`); + let url = this.apiUrl.buildUrl(`api/apps/${appName}/assets`); + + if (parentId) { + url += `?parentId=${parentId}`; + } return HTTP.upload(this.http, 'POST', url, file).pipe( filter(event => diff --git a/frontend/app/shared/state/asset-uploader.state.ts b/frontend/app/shared/state/asset-uploader.state.ts index 78a73ac8a..59e83607f 100644 --- a/frontend/app/shared/state/asset-uploader.state.ts +++ b/frontend/app/shared/state/asset-uploader.state.ts @@ -64,7 +64,7 @@ export class AssetUploaderState extends State { } public uploadFile(file: File, target?: AssetsState): Observable { - const parentId = target?.parentId || undefined; + const parentId = target?.parentId; const stream = this.assetsService.postAssetFile(this.appName, file, parentId);