diff --git a/src/services/OrgAssetsService.ts b/src/services/OrgAssetsService.ts index 0d0695412..a4bfa80ba 100644 --- a/src/services/OrgAssetsService.ts +++ b/src/services/OrgAssetsService.ts @@ -10,6 +10,19 @@ export class OrgAssetsService extends FileBrowserService { // Site organization assets library server relative URL private _orgAssetsLibraryServerRelativeSiteUrl: string = null; + private get orgAssetsLibraryServerRelativeSiteUrl(): string { + return this._orgAssetsLibraryServerRelativeSiteUrl; + } + + private set orgAssetsLibraryServerRelativeSiteUrl(value: string) { + if (value === "/") { + this._orgAssetsLibraryServerRelativeSiteUrl = ""; + } + else { + this._orgAssetsLibraryServerRelativeSiteUrl = value?.replace(/\/$/, "") ?? null + } + } + /** * Constructor * @param context Component context @@ -35,11 +48,11 @@ export class OrgAssetsService extends FileBrowserService { } // Remove all the rest of the folder path - let libName = folderPath.replace(`${this._orgAssetsLibraryServerRelativeSiteUrl}/`, ''); + let libName = folderPath.replace(`${this.orgAssetsLibraryServerRelativeSiteUrl}/`, ''); libName = libName.split('/')[0]; // Build absolute library URL - const libFullUrl = this.buildAbsoluteUrl(`${this._orgAssetsLibraryServerRelativeSiteUrl}/${libName}`); + const libFullUrl = this.buildAbsoluteUrl(`${this.orgAssetsLibraryServerRelativeSiteUrl}/${libName}`); let queryStringParams: string = ""; // Do not pass FolderServerRelativeUrl as query parameter @@ -66,7 +79,7 @@ export class OrgAssetsService extends FileBrowserService { /** * Gets document and media libraries from the site * @param includePageLibraries Unused parameter (not used in this implementation) - * @returns Document and media libraries from the site + * @returns Document and media libraries from the site */ public getSiteMediaLibraries = async (includePageLibraries: boolean = false): Promise => { try { @@ -81,7 +94,7 @@ export class OrgAssetsService extends FileBrowserService { return null; } - this._orgAssetsLibraryServerRelativeSiteUrl = orgAssetsData ? orgAssetsData.OrgAssets.Url.DecodedUrl : null; + this.orgAssetsLibraryServerRelativeSiteUrl = orgAssetsData ? orgAssetsData.OrgAssets.Url.DecodedUrl : null; const libs: ILibrary[] = orgAssetsData && orgAssetsData.OrgAssets ? orgAssetsData.OrgAssets.OrgAssetsLibraries.Items.map((libItem) => { return this._parseOrgAssetsLibraryItem(libItem); }) : []; return libs; } catch (error) { @@ -100,7 +113,7 @@ export class OrgAssetsService extends FileBrowserService { absoluteUrl: this.buildAbsoluteUrl(libItem.LibraryUrl.DecodedUrl), title: libItem.DisplayName, serverRelativeUrl: libItem.LibraryUrl.DecodedUrl, - iconPath: libItem.ThumbnailUrl && libItem.ThumbnailUrl.DecodedUrl ? this.buildAbsoluteUrl(`${this._orgAssetsLibraryServerRelativeSiteUrl}/${libItem.ThumbnailUrl.DecodedUrl}`) : null + iconPath: libItem.ThumbnailUrl && libItem.ThumbnailUrl.DecodedUrl ? this.buildAbsoluteUrl(`${this.orgAssetsLibraryServerRelativeSiteUrl}/${libItem.ThumbnailUrl.DecodedUrl}`) : null }; return orgAssetsLibrary;