jamespot-user-api 1.0.103 → 1.0.105
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/documentation/assets/search.js +1 -1
- package/documentation/classes/AdminLicenseApi.html +58 -0
- package/documentation/classes/AdminStoreApi.html +1 -1
- package/documentation/classes/AdminUtilsApi.html +3 -0
- package/documentation/classes/JApplicationApi.html +8 -8
- package/documentation/classes/JArticleApi.html +1 -1
- package/documentation/classes/JAssetReservation.html +1 -1
- package/documentation/classes/JAudienceApi.html +1 -1
- package/documentation/classes/JBaseApi.html +1 -1
- package/documentation/classes/JBookmarkApi.html +1 -1
- package/documentation/classes/JCommunityApi.html +1 -1
- package/documentation/classes/JDiapazoneApi.html +1 -1
- package/documentation/classes/JFileApi.html +5 -5
- package/documentation/classes/JFilebankApi.html +1 -1
- package/documentation/classes/JGroupApi.html +7 -7
- package/documentation/classes/JLandApi.html +1 -1
- package/documentation/classes/JMessengerApi.html +1 -1
- package/documentation/classes/JSearchApi.html +6 -6
- package/documentation/classes/JShareApi.html +1 -1
- package/documentation/classes/JTaxonomyApi.html +2 -2
- package/documentation/classes/JUserApi.html +4 -4
- package/documentation/classes/JWedocApi.html +1 -1
- package/documentation/classes/JamespotUserApi.html +1 -1
- package/documentation/classes/Network.html +1 -1
- package/documentation/classes/WindowBrowser.html +1 -1
- package/documentation/enums/StudioApplicationStatus.html +1 -1
- package/documentation/index.html +1 -1
- package/documentation/interfaces/AccessRightObject.html +1 -1
- package/documentation/interfaces/AdminLicenseUser.html +1 -0
- package/documentation/interfaces/ApiDefaultWrapper.html +1 -1
- package/documentation/interfaces/ApiError.html +1 -1
- package/documentation/interfaces/ApiWrapper.html +1 -1
- package/documentation/interfaces/BaseAutocomplete.html +1 -1
- package/documentation/interfaces/BaseMessage.html +1 -1
- package/documentation/interfaces/Category.html +1 -1
- package/documentation/interfaces/FileBankProps.html +1 -1
- package/documentation/interfaces/FolderProps.html +1 -1
- package/documentation/interfaces/ListFilterSpec.html +1 -1
- package/documentation/interfaces/OF.html +1 -1
- package/documentation/interfaces/ObjectListProps.html +1 -1
- package/documentation/interfaces/PagingResults.html +1 -1
- package/documentation/interfaces/RootFolderProps.html +1 -1
- package/documentation/interfaces/SearchCategoryModel.html +1 -1
- package/documentation/interfaces/SearchCategoryValue.html +1 -1
- package/documentation/interfaces/SearchConfig.html +1 -1
- package/documentation/interfaces/SearchFacetModel.html +1 -1
- package/documentation/interfaces/SearchFacetValueModel.html +1 -1
- package/documentation/interfaces/SearchQuery.html +1 -1
- package/documentation/interfaces/SearchQueryFilterModel.html +1 -1
- package/documentation/interfaces/SearchQueryOption.html +1 -1
- package/documentation/interfaces/SearchQueryResult.html +1 -1
- package/documentation/interfaces/SearchQuerySortModel.html +1 -1
- package/documentation/interfaces/SearchResultCatProps.html +1 -1
- package/documentation/interfaces/SearchResultPropsApp.html +1 -1
- package/documentation/interfaces/SearchResultPropsObject.html +1 -1
- package/documentation/interfaces/SpotProps.html +1 -1
- package/documentation/interfaces/Taxonomy.html +1 -1
- package/documentation/interfaces/TaxonomyCreate.html +1 -1
- package/documentation/interfaces/WindowInterface.html +1 -1
- package/documentation/modules.html +6 -5
- package/lib/jamespot-user-api.js +1 -1
- package/lib/jamespot-user-api.js.map +1 -1
- package/lib/src/apis/admin/index.d.ts +3 -0
- package/lib/src/apis/admin/license.d.ts +74 -0
- package/lib/src/apis/{Licenses → admin}/licenses.mock.d.ts +3 -4
- package/lib/src/apis/{adminStore.d.ts → admin/store.d.ts} +2 -3
- package/lib/src/apis/admin/utils.d.ts +8 -0
- package/lib/src/apis/drive/drive.d.ts +20 -0
- package/lib/src/apis/drive/drive.mock.d.ts +4 -0
- package/lib/src/apis/index.d.ts +1 -2
- package/lib/src/apis/jamespotUserApi.d.ts +5 -3
- package/lib/src/apis/jland/jland.d.ts +2 -3
- package/lib/src/apis/user/user.d.ts +0 -1
- package/lib/src/types/adminLicence.d.ts +43 -0
- package/lib/src/types/adminUtils.d.ts +18 -0
- package/lib/src/types/drive.d.ts +27 -0
- package/lib/src/types/index.d.ts +3 -0
- package/lib/src/types/model.d.ts +3 -1
- package/lib/src/types/user.d.ts +5 -0
- package/lib/src/types/utils.d.ts +1 -1
- package/lib/src/util/Test.d.ts +3 -1
- package/package.json +1 -1
- package/phpunitMock/articleCount-mpArticle.json +1 -1
- package/phpunitMock/articleCreate-mpArticle-little.json +9 -6
- package/phpunitMock/articleGet-mpArticle-list.json +4 -4
- package/phpunitMock/articleUpdate-mpArticleView.json +7 -7
- package/phpunitMock/autocompleteAudience-u.json +42 -0
- package/phpunitMock/autocompleteTaxonomy-default.json +2 -2
- package/phpunitMock/licenseManagerAssignLicense-default.json +1 -7
- package/phpunitMock/licenseManagerCountLicensesNotAssigned-count.json +7 -15
- package/phpunitMock/licenseManagerGetLicensesAssigned-default.json +48 -48
- package/phpunitMock/licenseManagerUnassignLicense-default.json +1 -7
- package/phpunitMock/objectListJamespotArticleList-mpArticle-little.json +1 -109
- package/phpunitMock/objectListJamespotUserMap-default.json +1 -11
- package/phpunitMock/objectListJamespotUserQueryList-rawList.json +25 -14
- package/phpunitMock/objectListMediaLibraryGetUnclassifiedFiles-default.json +7 -13
- package/phpunitMock/objectListTaxonomyConcept-default.json +16 -16
- package/phpunitMock/objectListTaxonomyHierarchyConcept-default.json +2 -2
- package/phpunitMock/searchGetConfig-default.json +4 -3
- package/phpunitMock/searchProposition-gro.json +34 -0
- package/phpunitMock/searchQuery-admin.json +4 -3
- package/phpunitMock/supportConfiguration-configuration.json +51 -0
- package/phpunitMock/taxonomyCreate-default.json +6 -6
- package/phpunitMock/taxonomyList-default.json +95 -17
- package/phpunitMock/userDirectoryConfiguration-default.json +3 -1
- package/phpunitMock/userGet-rawView.json +5 -3
- package/documentation/classes/JLicenseApi.html +0 -18
- package/lib/src/apis/Licenses/licenses.d.ts +0 -44
- /package/lib/src/apis/{Licenses → admin}/licences.test.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jamespot-user-api.js","mappings":"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","sources":["webpack://jamespot-user-api/webpack/bootstrap","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/application/types.ts","webpack://jamespot-user-api/webpack/runtime/define property getters","webpack://jamespot-user-api/webpack/runtime/hasOwnProperty shorthand","webpack://jamespot-user-api/webpack/runtime/make namespace object","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/base.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/adminStore.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/application/application.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/article/article.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/assetReservation.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/audience/audience.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/bookmark.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/community.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/diapazone.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/file.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/filebank.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/group.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/asei.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/mediaLibrary/mediaLibrary.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/jland/jland.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/messenger.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/search/search.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/taxonomy/taxonomy.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/user/user.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/wedoc.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/share.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/Licenses/licenses.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/jamespotUserApi.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/util/network.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/window/WindowBrowser.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/types/user.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/util/file.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/util/ensure.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/index.ts"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","import { jObjectLittle, Rights, ValueOf } from '../../types';\r\n\r\nexport type ApplicationType = {\r\n name: string;\r\n label: string;\r\n icon: string;\r\n img: string;\r\n url: string;\r\n description: string;\r\n color?: string;\r\n hasLicense: boolean;\r\n sref?: string;\r\n type?: string;\r\n _extend?: {\r\n [key: string]: any;\r\n };\r\n};\r\n\r\nexport type StudioAction = {\r\n action: string;\r\n nameApp: string;\r\n};\r\n\r\nexport interface AccessRightObject extends jObjectLittle {\r\n firstname?: string;\r\n lastname?: string;\r\n mail?: string;\r\n privacy?: string;\r\n category?: string;\r\n description?: string;\r\n image?: string | null;\r\n _values: {\r\n firstname?: string;\r\n lastname?: string;\r\n mail?: string;\r\n title: string;\r\n dateCreation: string;\r\n dateModified: string;\r\n privacy?: number;\r\n category?: string;\r\n };\r\n _cssColor: string;\r\n _cssClass: string;\r\n _right: Rights;\r\n}\r\n\r\nexport type StudioApplicationBase = {\r\n idApp: string;\r\n type?: string;\r\n name?: string;\r\n label?: string;\r\n description?: string;\r\n checkAccess?: boolean;\r\n attrExposed?: Array<string>;\r\n status: StudioApplicationStatusEnumBased;\r\n suspended?: boolean;\r\n view?: string;\r\n author?: string;\r\n columns?: Record<string, string>;\r\n accessRightList?: string[];\r\n accessRightObjectList?: Array<AccessRightObject>;\r\n typeModel?: unknown;\r\n value?: string;\r\n manifest?: StudioManifest;\r\n img?: string;\r\n icon?: string;\r\n color?: string;\r\n url?: string;\r\n types?: string;\r\n urlTarget?: boolean;\r\n order?: number;\r\n dateCreation?: string;\r\n studioVersion?: number;\r\n showImport?: boolean;\r\n showMap?: boolean;\r\n mail2RSE?: boolean;\r\n action?: StudioAction;\r\n display?: string;\r\n};\r\n\r\nexport type StudioManifest = {\r\n dateCreation: string;\r\n author: string;\r\n manifestVersion: number;\r\n version: number;\r\n};\r\n\r\nexport enum StudioApplicationStatus {\r\n local = 'local',\r\n installed = 'installed',\r\n autosaved = 'autosaved',\r\n saved = 'saved',\r\n}\r\n\r\nexport type StudioApplicationStatusEnumBased = ValueOf<StudioApplicationStatus>;\r\n\r\nexport type StudioApplication = StudioApplicationBase & {};\r\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { Network } from '../util/network';\n\nexport class JBaseApi {\n public network: Network;\n\n public constructor(network: Network) {\n this.network = network;\n }\n}\n","import { ApiWrapper } from '../types';\nimport { JBaseApi } from './base';\nimport { OF } from '../util/network';\nimport { StoreItem, StoreFinalize } from '../types/adminStore';\n\nexport class AdminStoreApi extends JBaseApi {\n public getItem(uri: string): Promise<ApiWrapper<StoreItem>> {\n return this.network.post({\n o: 'adminStore',\n f: 'getItem',\n uri,\n } as OF);\n }\n public checkoutBilling(uri: string): Promise<ApiWrapper<boolean>> {\n return this.network.postCSRF({\n o: 'adminStore',\n f: 'checkoutBilling',\n uri,\n } as OF);\n }\n public checkoutFinalize(uri: string): Promise<ApiWrapper<StoreFinalize>> {\n return this.network.postCSRF({\n o: 'adminStore',\n f: 'checkoutFinalize',\n uri,\n } as OF);\n }\n}\n","import { ApiWrapper, BaseMessages } from '../../types';\nimport { JBaseApi } from '../base';\nimport { OF } from '../../util/network';\nimport {\n StudioApplication,\n StudioApplicationBase,\n StudioApplicationStatus,\n StudioApplicationStatusEnumBased,\n} from './types';\n\nexport class JApplicationApi extends JBaseApi {\n /**\n * List applications\n * @returns {@link JApplication} objects, in light format\n */\n public list() {\n return this.network.post<Array<StudioApplicationBase>>({ o: 'studio', f: 'list' });\n }\n\n /**\n * Get one application\n * @returns {@link JApplication} object in full format\n */\n public get(idApp: string, status?: StudioApplicationStatusEnumBased) {\n return this.network.post<StudioApplication>({ o: 'studio', f: 'get', idApp, status } as OF);\n }\n\n /**\n * Install this application.\n * If everything is ok, remove previous saved and autosaved versions of this application.\n * @param xmlBody: string XML file\n * @returns {@link JApplication} object in full format\n */\n public install(xmlBody: string) {\n return this.network.postCSRF<StudioApplication>({ o: 'studio', f: 'install', value: xmlBody } as OF);\n }\n\n /**\n * Suspend an installed application.\n * @param idApp: application's id\n * @returns {@link JApplication} object in full format\n */\n public suspend(idApp: string) {\n return this.network.postCSRF<StudioApplication>({ o: 'studio', f: 'suspend', idApp } as OF);\n }\n\n /**\n * Restart an suspended application.\n * @param idApp: application's id\n * @returns {@link JApplication} object in full format\n */\n public restart(idApp: string) {\n return this.network.postCSRF<StudioApplication>({ o: 'studio', f: 'restart', idApp } as OF);\n }\n\n /**\n * Save a 'local', 'saved' or 'autosaved' version of the application\n * Returns a 'save' or 'autosaved' application.\n * @param idApp: application's id\n * @param value: data to be saved\n * @param status: must be either 'saved' or 'autosaved'.\n * @returns {@link JApplication} object in full format\n */\n public save(idApp: string, value: string, status: StudioApplicationStatusEnumBased) {\n if (status === StudioApplicationStatus.saved || status === StudioApplicationStatus.autosaved) {\n return this.network.postCSRF<StudioApplication>({\n o: 'studio',\n f: 'save',\n idApp,\n value,\n status,\n } as OF);\n } else {\n throw 'Invalid status value';\n }\n }\n\n /**\n * Delete a selected status of the application\n * @param idApp application id to delete\n * @param status application status to select\n * @returns message after delete execution\n */\n public async delete(idApp: string, status: StudioApplicationStatusEnumBased): Promise<BaseMessages> {\n return this.network\n .postCSRF<string>({\n o: 'studio',\n f: 'delete',\n idApp,\n status,\n } as OF)\n .then((res) => {\n if (res.error === 0) {\n return res.messages;\n }\n throw res.messages;\n });\n }\n\n /**\n * Get cssClass possible values.\n */\n public cssClassList(): Promise<ApiWrapper<Array<string>>> {\n return this.network.post<Array<string>>({ o: 'studio', f: 'icons' });\n }\n}\n","import { JBaseApi } from '../base';\nimport {\n ApiWrapper,\n BaseMessages,\n Filters,\n jArticleLittle,\n jArticleView,\n MaybeWithToken,\n Orders,\n PagingResults,\n} from '../../types';\nimport { OF } from '../../util/network';\n\nexport type ArticleListConfig = {\n type: string;\n format?: string;\n query?: string;\n limit?: number;\n page?: number;\n orders?: Orders;\n filters?: Filters | undefined;\n};\n\nexport type ArticleGetConfig = {\n uri?: string;\n idArticle?: number;\n format?: string;\n};\n\nexport type ArticleCreation = {\n title?: string;\n description?: string;\n type?: string;\n publishTo?: string;\n idSpot?: Array<string>;\n};\n\nexport type BaseArticle = {\n id: number;\n type: string;\n dateCreation: string;\n dateModified: string;\n title: string;\n uri: string;\n};\n\nexport class JArticleApi extends JBaseApi {\n public list<T extends jArticleLittle = jArticleLittle>(\n config: ArticleListConfig,\n ): Promise<ApiWrapper<PagingResults<T>>> {\n return this.network.post({\n o: 'objectList',\n f: 'jamespotArticleQueryList',\n ...config,\n } as OF);\n }\n\n public get<T extends jArticleLittle = jArticleLittle>(\n config: ArticleGetConfig,\n ): Promise<ApiWrapper<T & { _nbAttachedFiles: number }, BaseMessages>> {\n return this.network.post({\n o: 'article',\n f: 'get',\n ...config,\n } as OF);\n }\n\n public create<T extends jArticleLittle = jArticleLittle>(\n article: MaybeWithToken<ArticleCreation>,\n format?: string,\n ): Promise<ApiWrapper<Array<T>, BaseMessages>> {\n return this.network.maybePostToken({\n o: 'article',\n f: 'create',\n format: format ?? 'raw-list',\n ...article,\n } as OF);\n }\n\n public update<T extends { uri: string }, U extends jArticleView>(article: T): Promise<ApiWrapper<U, BaseMessages>> {\n return this.network.post({\n o: 'article',\n f: 'update',\n ...article,\n } as OF);\n }\n\n public delete(id: number): Promise<ApiWrapper<boolean, BaseMessages>> {\n return this.network.postCSRF({\n o: 'article',\n f: 'delete',\n idArticle: id,\n } as OF);\n }\n\n public count(type: string): Promise<ApiWrapper<number>> {\n return this.network.post({\n o: 'article',\n f: 'count',\n type,\n } as OF);\n }\n}\n","import { ApiWrapper, BaseMessages } from '../types';\nimport { JBaseApi } from './base';\nimport { OF } from '../util/network';\nimport { PagingResults, Orders, Filters } from '../types';\nimport { AssetReservationConfiguration, BookableAssetList, ReservationList } from '../types';\n\nexport class JAssetReservation extends JBaseApi {\n public configuration(): Promise<ApiWrapper<AssetReservationConfiguration>> {\n return this.network.post({\n o: 'assetReservation',\n f: 'configuration',\n } as OF);\n }\n public createReservation(params: {\n uri: string;\n date: string;\n hourStart: string;\n hourEnd: string;\n uriUser?: string;\n description?: string;\n }): Promise<ApiWrapper<ReservationList, BaseMessages>> {\n return this.network.postCSRF({\n o: 'assetReservation',\n f: 'createReservation',\n format: 'raw-list',\n ...params,\n } as OF);\n }\n\n public getReservations({\n format = 'raw-list',\n ...params\n }: {\n format?: string;\n uri: string;\n dateStart: string;\n dateEnd: string;\n }): Promise<ApiWrapper<ReservationList[], BaseMessages>> {\n return this.network.post({\n o: 'assetReservation',\n f: 'getReservations',\n format,\n ...params,\n } as OF);\n }\n\n public cancelReservation(id: number): Promise<ApiWrapper<ReservationList, BaseMessages>> {\n return this.network.post({\n o: 'assetReservation',\n f: 'cancelReservation',\n format: 'raw-list',\n idArticle: id,\n } as OF);\n }\n\n public bookByDate({\n format = 'raw-list',\n ...params\n }: {\n format?: string;\n date: string;\n hourStart: string;\n hourEnd: string;\n }): Promise<ApiWrapper<BookableAssetList[], BaseMessages>> {\n return this.network.post({\n o: 'assetReservation',\n f: 'BookByDate',\n format,\n ...params,\n } as OF);\n }\n\n public getList({\n format = 'raw-list',\n ...params\n }: {\n format?: string;\n query?: string;\n limit?: number;\n page?: number;\n orders?: Orders;\n filters?: Filters | undefined;\n viewMode?: 'history' | undefined;\n }): Promise<ApiWrapper<PagingResults<ReservationList>, BaseMessages>> {\n return this.network.post({\n o: 'objectList',\n f: 'assetReservationList',\n format,\n ...params,\n } as OF);\n }\n}\n","import { AudienceAutocomplete } from '../../types';\nimport { JBaseApi } from '../base';\nimport { OF } from '../../util/network';\n\nexport class JAudienceApi extends JBaseApi {\n /**\n * autocomplete\n * return the list of user and Spot\n */\n public autocomplete(query: string): Promise<AudienceAutocomplete[]> {\n return this.network.post({ o: 'autocomplete', f: 'audience', q: query } as OF).then((res) => {\n if (Array.isArray(res.result)) {\n return res.result;\n }\n throw 'Bad response from backend';\n });\n }\n}\n","import { ApiWrapper, BaseMessagesOne, Orders, PagingResults } from '../types';\nimport { JBaseApi } from './base';\nimport { OF } from '../util/network';\nimport { BookmarkTypes } from '../types';\n\nexport interface ListFilterSpec {\n query?: string;\n page?: number;\n limit?: number;\n orders?: Orders;\n}\n\nexport class JBookmarkApi extends JBaseApi {\n public getFormattedList<T extends keyof BookmarkTypes>(filterSpecs: ListFilterSpec, format: T) {\n return this.network.post<PagingResults<BookmarkTypes[typeof format]>>({\n o: 'objectList',\n f: 'bookmarksList',\n format: format,\n ...filterSpecs,\n } as OF);\n }\n\n public addFormattedLink<T extends keyof BookmarkTypes>(targetId: number, targetType: string, format: T) {\n const requestedFormat = format ?? 'list';\n return this.network.post<BookmarkTypes[T]>({\n o: 'custom',\n f: 'actionAdd',\n type: 'bookmarkLink',\n targetId,\n targetType,\n format: requestedFormat,\n } as OF);\n }\n\n public addBookmark(\n bookmark: Pick<BookmarkTypes[keyof BookmarkTypes], 'bookmarkLabel' | 'bookmarkMeta' | 'bookmarkUrl'>,\n format?: keyof BookmarkTypes,\n ) {\n const requestedFormat = format ?? 'list';\n return this.network.postCSRF<BookmarkTypes[typeof requestedFormat], BaseMessagesOne>({\n o: 'bookmarks',\n f: 'add',\n ...bookmark,\n } as OF);\n }\n\n public delete(bookmarkId: number): Promise<ApiWrapper<null, BaseMessagesOne>> {\n return this.network.postCSRF<null, BaseMessagesOne>({\n o: 'bookmarks',\n f: 'delete',\n bookmarkID: bookmarkId,\n } as OF);\n }\n\n public rename(\n bookmarkID: number,\n bookmarkLabel: string,\n bookmarkUrl?: string,\n ): Promise<ApiWrapper<null, BaseMessagesOne>> {\n return this.network.postCSRF<null, BaseMessagesOne>({\n o: 'bookmarks',\n f: 'rename',\n bookmarkID,\n bookmarkLabel,\n bookmarkUrl,\n } as OF);\n }\n\n public move(\n bookmarkID: number,\n bookmarkReference: number,\n position: 'before' | 'after',\n ): Promise<ApiWrapper<null, BaseMessagesOne>> {\n return this.network.postCSRF<null, BaseMessagesOne>({\n o: 'bookmarks',\n f: 'move',\n bookmarkID,\n bookmarkReference,\n bookmarkPosition: position,\n } as OF);\n }\n}\n","import { ApiWrapper, CommunityAutocomplete } from '../types';\nimport { JBaseApi } from './base';\nimport { OF } from '../util/network';\n\nexport class JCommunityApi extends JBaseApi {\n public sendRequest(message: string, idUserTo: number): Promise<ApiWrapper<boolean, { code: number; msg: string }>> {\n return this.network.post<boolean, { code: number; msg: string }>({\n o: 'community',\n f: 'sendRequest',\n message,\n idUserTo,\n } as OF);\n }\n\n public autocomplete(q: string): Promise<CommunityAutocomplete[]> {\n return this.network\n .post<CommunityAutocomplete[]>({ o: 'autocomplete', f: 'community', q } as OF)\n .then((res) => res.result);\n }\n}\n","import { JBaseApi } from './base';\nimport { ApiWrapper } from '../types';\nimport { OF } from '../util/network';\n\ntype Diapazone = Record<string, object>;\n\ntype DiapazoneList = {\n page: number;\n cnt: number;\n limit: number;\n data: Diapazone[];\n};\n\ntype DiapazoneFilter = {\n name: string;\n value: string;\n operator: '<' | '>';\n isNull?: boolean;\n};\n\ntype DiapazoneOrder = {\n name: string;\n sort: string;\n};\n\nexport class JDiapazoneApi extends JBaseApi {\n public create(\n type: string,\n token: string,\n title: string,\n dateStart: string,\n publishTo: Array<string>,\n ): Promise<ApiWrapper<string>> {\n return this.network.post({\n o: 'article',\n f: 'create',\n type,\n token,\n title,\n dateStart,\n publishTo,\n } as OF);\n }\n\n public getList(\n query = '',\n filters: Array<DiapazoneFilter> = [],\n orders: Array<DiapazoneOrder> = [],\n page = 1,\n format = 'list',\n ) {\n return this.network\n .post<DiapazoneList>({\n o: 'objectList',\n f: 'diapazoneQueryList',\n query,\n filters,\n orders,\n page,\n format,\n } as OF)\n .then((res) => {\n const result = res.result;\n\n if (Array.isArray(result.data)) {\n return result;\n }\n\n throw {\n error: res.error,\n messages: res.messages,\n };\n });\n }\n}\n","import { FileCropConfig, FileResponse, UploadConfig } from '../types';\nimport { OF } from '../util/network';\nimport { JBaseApi } from './base';\n\nexport class JFileApi extends JBaseApi {\n /**\n * Upload a file to the server. use the same token to link the file to an article\n * @param config configuration object. One of \"file\" and \"url\" is mandatory\n */\n public upload(config: UploadConfig) {\n const body = new FormData();\n body.append('attrName', config.attrName);\n if (config.file) {\n body.append(config.attrName, config.file);\n } else if (config.url) {\n body.append('url', config.url);\n }\n body.append('token', config.token);\n return this.network.postFile(body);\n }\n\n /**\n * Upload a list of files to the server. use the same token to link the file to an article\n * @param attrName file name (attachment, image, bannerImage, etc.)\n * @param files files\n * @param token token\n */\n public async uploadMany(configArray: Array<UploadConfig>) {\n return Promise.all(configArray.map((config) => this.upload(config)));\n }\n\n /**\n * Crop an image\n * @param config crop configuration\n * @returns\n */\n public async update(idFile: number | string, type: string, config: FileCropConfig) {\n return this.network\n .post<FileResponse>({\n o: 'file',\n f: 'update',\n idFile,\n type,\n cropDatas: {\n w: config.width,\n h: config.height,\n x: config.x,\n y: config.y,\n rotation: config.rotation,\n rotateBeforeCrop: true,\n },\n killSize: config.killSize,\n } as OF)\n .then((res) => {\n if (!res.result.crop) {\n return res;\n }\n const crop = JSON.parse(res.result.crop as unknown as string);\n return {\n ...res,\n result: {\n ...res.result,\n crop: {\n width: crop.w,\n height: crop.h,\n x: crop.x,\n y: crop.y,\n rotation: crop.rotation,\n },\n },\n };\n });\n }\n\n /**\n * delete file. This action is not automatic. You need to update the content associated with the deleted image with the same token\n * @param idFile file id\n * @param attrName attribute name\n * @param token token\n * @returns\n */\n public async deleteFile(idFile: number | string, attrName: string, token: string) {\n return this.network.post<''>({\n o: 'file',\n f: 'delete',\n idFile,\n attrName,\n token,\n } as OF);\n }\n\n /**\n * delete the image associated with a content. This action is permanent. There is no two step process with a token\n * @param id content id\n * @param type content type\n * @returns\n */\n public async deleteImage(id: number | string, type: string) {\n return this.network.post<{ id: number }>({\n o: 'file',\n f: 'deleteImage',\n id,\n type,\n } as OF);\n }\n}\n","import { JBaseApi } from './base';\nimport { OF } from '../util/network';\nimport { jObjectLittle, PagingResults, Rights } from '../types';\n\nexport interface RootFolderProps {\n id: number;\n title: string;\n uri: string;\n type: string;\n mainType: string;\n folderColor?: string;\n}\n\nexport interface SpotProps {\n id: number;\n title: string;\n uri: string;\n type: string;\n mainType: string;\n folderColor?: string;\n}\n\nexport interface FileBankProps {\n recents: any[];\n rootFolder: RootFolderProps;\n spot: SpotProps;\n}\n\nexport interface FolderProps extends jObjectLittle {\n mainType: string;\n folderColor?: string;\n parentURI?: string;\n _right: Rights;\n}\n\nexport class JFilebankApi extends JBaseApi {\n public getBanks(format = 'list'): Promise<Array<FileBankProps>> {\n return this.network.post<Array<FileBankProps>>({ o: 'fileBank', f: 'getBanks', format } as OF).then((res) => {\n return res.result;\n });\n }\n public getFolders(parentURI: string): Promise<PagingResults<FolderProps[]>> {\n return this.network\n .post<PagingResults<FolderProps[]>>({ o: 'fileBank', f: 'getFolders', parentURI } as OF)\n .then((res) => {\n return res.result;\n });\n }\n}\n","import {\n ApiReturn,\n Category,\n CreateGroup,\n Format,\n GroupList,\n GroupProperties,\n GroupView,\n GroupWidget,\n jObjectLittle,\n PagingResults,\n UpdateGroup,\n} from '../types';\nimport { JBaseApi } from './base';\nimport { OF } from '../util/network';\n\nexport class JGroupApi extends JBaseApi {\n /**\n * Create a group from scratch\n * @param group\n * @param format return format\n * @returns\n */\n public create<T extends Format = undefined>(group: CreateGroup, format?: T) {\n return this.network.post<ApiReturn<T, jObjectLittle, GroupList, GroupView, jObjectLittle>>({\n o: 'spot',\n f: 'create',\n ...group,\n format,\n } as OF);\n }\n\n /**\n * Update a group\n * @param group group to update. The uri is mandatory and identify the group to update\n * @param format return format\n * @returns\n */\n public update<T extends Format = undefined>(group: UpdateGroup, format?: T) {\n // remove spotBanner from group because if provided, the spot banner image will be deleted\n const { spotBanner: _spotBanner, ...restGroup } = group;\n\n return this.network.postCSRF<ApiReturn<T, jObjectLittle, GroupList, GroupView, string>>({\n o: 'spot',\n f: 'update',\n ...restGroup,\n format,\n } as OF);\n }\n\n /**\n * Get a spot\n * @param idSpot\n * @param format\n * @returns\n */\n public getSpot<T extends Format = undefined>(idSpot: number | string, format?: T) {\n return this.network.post<ApiReturn<T, jObjectLittle, GroupList, GroupView, string>>({\n o: 'spot',\n f: 'getSpot',\n idSpot,\n format,\n } as OF);\n }\n\n /**\n * Get the properties of a group that are not within the model\n * @param idSpot\n * @returns\n */\n public getProperties(idSpot: number | string) {\n return this.network.post<GroupProperties>({\n o: 'spot',\n f: 'getProperties',\n idSpot,\n } as OF);\n }\n\n /**\n * Get the available applications that can be added to a group\n */\n public getApplications() {\n return this.network.post<Record<string, GroupWidget>>({ o: 'spot', f: 'get-available-widget' });\n }\n\n /**\n * Get the available group categories\n * @returns\n */\n public getCategories() {\n return this.network.post<Category[]>({ o: 'spot', f: 'get-categories' });\n }\n\n /**\n * Get the members of a group\n * @param idSpot spot id\n * @param query query string to search within user names\n * @param limit limit per page\n * @param page page number\n * @return array of User\n */\n public getObjectListJamespotSpotMembers(idSpot: number | string, query?: string, limit?: number, page = 1) {\n return this.network.post<PagingResults<jObjectLittle>>({\n o: 'objectListJamespot',\n f: 'SpotMembers',\n idSpot,\n limit,\n page,\n format: 'raw-little',\n query,\n } as OF);\n }\n}\n","import { JBaseApi } from './base';\nimport { OF } from '../util/network';\nimport { AseiGroups, AseiRights, AseiTicket, AseiTicketStatus, Filters, Orders } from '../types';\nimport { JArticleApi } from './article/article';\nimport { ApiWrapper, PagingResults } from '../types';\n\nexport class JAseiApi extends JBaseApi {\n /**\n * List Asei Clearance Tickets\n * @param page page number\n * @param limit number of elements per page\n * @param filters filter object\n * @param orders order object\n */\n public list(\n page: number,\n limit: number,\n filters?: Filters,\n orders: Orders = [{ name: 'dateCreation', sort: 'DESC' }],\n ): Promise<ApiWrapper<PagingResults<AseiTicket>>> {\n const articleApi = new JArticleApi(this.network);\n return articleApi.list({\n type: 'aseiClearanceTicket',\n format: 'raw-view',\n limit,\n page,\n orders,\n filters,\n }) as Promise<ApiWrapper<PagingResults<AseiTicket>>>;\n }\n\n /**\n * change status of an Asei Ticket\n */\n public requestStatus(\n uri: string,\n requestedStatus: AseiTicketStatus,\n audience?: Array<string>,\n ): Promise<AseiTicket> {\n return this.network\n .post<AseiTicket>({ o: 'asei', f: 'setStatus', uri, requestedStatus, audience } as OF)\n .then((res) => {\n if (res && res.result) {\n return res.result;\n }\n throw 'Bad response from backend';\n });\n }\n\n /**\n * Get asei dedicated groups (dsi, administrators)\n */\n public getDedicatedGroups(): Promise<AseiGroups> {\n return this.network.post<AseiGroups>({ o: 'asei', f: 'getDedicatedGroups' } as OF).then((res) => {\n if (res && res.result) {\n return res.result;\n }\n throw 'Bad response from backend';\n });\n }\n\n /**\n * Get asei configuration (rights to access, rights to publish)\n */\n public getConfiguration(): Promise<AseiRights> {\n return this.network.post<{ right: AseiRights }>({ o: 'asei', f: 'configuration' }).then((res) => {\n if (res && res.result) {\n return res.result.right;\n }\n throw 'Bad response from backend';\n });\n }\n}\n","import { JBaseApi } from '../base';\r\nimport { OF } from '../../util/network';\r\nimport { PagingResults, ApiWrapper, MediaLibraryList } from '../../types';\r\n\r\nexport class JMediaLibraryApi extends JBaseApi {\r\n public GetUnclassifiedFiles(format = 'raw-list'): Promise<ApiWrapper<PagingResults<MediaLibraryList>>> {\r\n return this.network.post({\r\n o: 'objectListMediaLibrary',\r\n f: 'GetUnclassifiedFiles',\r\n format: format,\r\n } as OF);\r\n }\r\n}\r\n","import { JBaseApi } from '../base';\nimport { ApiWrapper, jArticleList, MaybeWithToken, PagingResults } from '../../types';\nimport { OF } from '../../util/network';\nimport { ArticleCreation } from '../article/article';\nimport { JLicense } from '../Licenses/licenses';\n\nexport type JLandLog = {\n idLog: number;\n slug: string;\n dateCreation: string;\n map: string;\n mail: string;\n action: string;\n mode: string;\n};\n\nexport type JLandStat = {\n mail: string;\n cnt: string;\n};\n\nexport type JLandMapFlavor = string;\nexport type JLandMapKind = string;\n\nexport type JLandMap = jArticleList & {\n jlandMapFlavor: JLandMapFlavor;\n jlandMapKind: JLandMapKind;\n waMapUrl?: string;\n limit?: number;\n _extend: {\n licenses: Array<JLicense>;\n };\n};\n\nexport type JLandMapCreation = ArticleCreation & {\n jlandMapAggregated: string;\n type: 'jlandmap';\n};\n\nexport class JLandApi extends JBaseApi {\n public getLogs({\n dateEnd,\n idLogMax,\n }: {\n dateEnd?: string;\n idLogMax?: number;\n }): Promise<ApiWrapper<Array<JLandLog>>> {\n return this.network.post({\n o: 'jLand',\n f: 'adminLogs',\n dateEnd,\n idLogMax,\n } as OF);\n }\n\n public getStats({\n map,\n dateStart,\n dateEnd,\n }: {\n map: string;\n dateStart?: string;\n dateEnd?: string;\n }): Promise<ApiWrapper<Array<JLandStat>>> {\n return this.network.post({\n o: 'jLand',\n f: 'adminStats',\n map,\n dateStart,\n dateEnd,\n } as OF);\n }\n\n public getAllMapsAsAdmin(format = 'raw-list,licenses'): Promise<ApiWrapper<PagingResults<JLandMap>>> {\n return this.network.post({\n o: 'objectListJLand',\n f: 'jLandList',\n format: format,\n } as OF);\n }\n\n public createMap(map: MaybeWithToken<JLandMapCreation>, format = 'raw-list') {\n return this.network.maybePostToken({\n ...map,\n o: 'article',\n f: 'create',\n format: format,\n type: 'jlandmap',\n } as OF);\n }\n}\n","import { ApiWrapper } from '../types';\nimport { JBaseApi } from './base';\nimport { OF } from '../util/network';\n\nexport class JMessengerApi extends JBaseApi {\n // FIXME fix return type, set as is since the return type has not been used yet\n public sendMessage(message: string, idDiscussion: string): Promise<ApiWrapper<Record<string, never>>> {\n return this.network.post({\n o: 'messenger',\n f: 'newMessage',\n idDiscussion,\n msg: { description: message },\n } as OF);\n }\n public getOrCreateDiscussion(idSender: number, idUserTo: number): Promise<ApiWrapper<Record<string, never>>> {\n const idDiscussion = idSender < idUserTo ? `${idSender}.${idUserTo}` : `${idUserTo}.${idSender}`;\n return this.network.post({\n o: 'messenger',\n f: 'getDiscussion',\n idDiscussion,\n type: 'messengerUser',\n idUserTo,\n } as OF);\n }\n}\n","import {\n ApiWrapper,\n SearchConfig,\n SearchQuery,\n SearchQueryResult,\n SearchResultCatProps,\n SearchLastQuery,\n SearchAdminConfig,\n} from '../../types';\nimport { JBaseApi } from '../base';\nimport { OF } from '../../util/network';\n\nexport class JSearchApi extends JBaseApi {\n /**\n * return a completed version of the current config, taking in account platform installed modules\n */\n public getConfig(): Promise<ApiWrapper<SearchConfig>> {\n return this.network.post({ o: 'search', f: 'getConfig' });\n }\n\n /**\n * Return a maximum of 8 results for a given text query, classed upon config categories\n * @param query string, words can be preceded by + and - for inclusive/exclusive search\n * @param signal: @AbortSignal to cancel the fetch\n */\n public proposition(\n { query, format }: { query: string; format?: 'list' | 'little' },\n signal?: AbortSignal,\n ): Promise<ApiWrapper<SearchResultCatProps[]>> {\n return this.network.post({ o: 'search', f: 'proposition', query, format: format || 'little' } as OF, signal);\n }\n\n /**\n * Return a page of results based on a text query and various filters.\n * All parameters are optional\n * @param query\n * @param query.keywords string, words can be preceded by + and - for inclusive/exclusive search (default *:*)\n * @param query.category text id of a category from config,if specified: restrict results to these category\n * @param query.facetCategories boolean, if true: count by categories are returned\n * @param query.filters array of @SearchQueryFilterModel @SearchQueryFilterModel.\n * @param query.page integer. default 1. index of returned page (start by 1)\n * @param query.limit integer. default 20. number of result by page\n * @param query.sort @SearchQuerySortModel default score then date\n * @param query.options @SearchQueryOption. extra possible options for the search\n * @param signal: @AbortSignal to cancel the fetch\n\n * // Todo add query.facets (to be specified first)\n */\n public searchQuery(query: SearchQuery, signal?: AbortSignal): Promise<ApiWrapper<SearchQueryResult>> {\n const { keywords, category, facetCategories, filters, page, limit, sort, options } = query;\n return this.network.post(\n {\n o: 'search',\n f: 'query',\n keywords,\n category,\n facetCategories,\n filters,\n page,\n limit,\n sort,\n options,\n } as OF,\n signal,\n );\n }\n\n /**\n * return the five last keywords typed in the searchbar by the user\n */\n public getLastQueries(): Promise<ApiWrapper<SearchLastQuery[]>> {\n return this.network.post({ o: 'search', f: 'getLastQueries' });\n }\n\n /**\n * return the current platform json search-config object\n */\n // FIXME when doing the search admin\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public getAdminConfig(): Promise<ApiWrapper<SearchAdminConfig>> {\n return this.network.post({ o: 'search', f: 'getAdminConfig' });\n }\n\n /**\n * set the platform search-config to the given json object\n * @param config object. json search config\n */\n // FIXME when doing the search admin\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public setAdminConfig(config: any): Promise<ApiWrapper<any>> {\n return this.network.post({ o: 'search', f: 'setAdminConfig', config } as OF);\n }\n}\n","import { JBaseApi } from '../base';\nimport { OF } from '../../util/network';\nimport { ApiWrapper, BaseMessagesOne, PagingResults } from '../../types';\nimport {\n AutoCompeteConcept,\n AutocompleteHierarchy,\n AutoCompleteList,\n Concept,\n Taxonomy,\n TaxonomyCreate,\n} from './types';\n\nexport class JTaxonomyApi extends JBaseApi {\n /**\n * list all taxonomies (no pagination)\n */\n public list(): Promise<Taxonomy[]> {\n return this.network\n .post<Taxonomy[]>({\n o: 'taxonomy',\n f: 'list',\n } as OF)\n .then((res) => {\n if (Array.isArray(res.result)) {\n return res.result;\n }\n throw 'Bad response from backend';\n });\n }\n\n public create(taxonomy: TaxonomyCreate): Promise<ApiWrapper<Taxonomy, BaseMessagesOne>> {\n return this.network.post<Taxonomy, BaseMessagesOne>({\n o: 'taxonomy',\n f: 'create',\n ...taxonomy,\n } as OF);\n }\n\n /**\n * autocomplete return a list of tags\n * @param idTaxonomy taxonomy id\n * @param query search characters\n */\n public autocomplete(idTaxonomy: string, query: string) {\n return this.network.post<Array<{ id: string; type: string }>>({\n o: 'autocomplete',\n f: 'taxonomy',\n q: query,\n idTaxonomy,\n idToUri: false,\n } as OF);\n }\n\n public autocompleteList(payload: AutoCompleteList) {\n return this.network.post<PagingResults<Concept>>({\n o: 'objectListTaxonomy',\n f: 'concept',\n ...payload,\n } as OF);\n }\n\n public autocompleteHierarchy(payload: AutocompleteHierarchy) {\n return this.network.post<PagingResults<AutoCompeteConcept>>({\n o: 'objectListTaxonomyHierarchy',\n f: 'concept',\n ...payload,\n } as OF);\n }\n}\n","import { JBaseApi } from '../base';\nimport { OF } from '../../util/network';\nimport {\n ApiWrapper,\n Little,\n jObjectLittle,\n UserModel,\n UserMapModel,\n jUserAutocomplete,\n ApiPagingResults,\n ApiDefaultWrapper,\n jUserLittle,\n} from '../../types';\n\nexport type User = Little & {\n id: string; // FIXME\n shortUri: string;\n name: string;\n label: string;\n cssClass: string;\n cssColor: string;\n class: string;\n Pseudo: string;\n _values: Record<string, unknown>;\n};\n\nimport { Orders, Filters } from '../../types';\nimport { ArticleCreation } from '../article/article';\n\nexport interface ObjectListProps {\n additionalFilter?: {}; // FIXME\n facets?: {}[]; // FIXME\n filters?: Filters;\n query?: string;\n queryFields?: Array<string>;\n limit?: number;\n page?: number;\n orders?: Orders;\n format?: string;\n}\n\nexport type UserDirectoryConfiguration = {\n userDirectoryShow: '' | '1';\n contactDirectoryShow: '0' | '1';\n businessContactShow: boolean;\n menu: '0' | '1';\n cardFields: Array<string>;\n tableFields: Array<string>;\n viewFields: Array<string>;\n userGeoloc?: boolean;\n sort: string;\n cnt?: number;\n filters: Array<{\n name: string;\n type: string;\n }>;\n};\n\nexport type BusinessContact = {\n mail: string | undefined;\n title: string;\n firstname: string;\n lastname: string;\n phoneNumber?: string | undefined;\n company?: string | undefined;\n function?: string | undefined;\n uri?: string | undefined;\n field1?: string | undefined;\n field2?: string | undefined;\n field3?: string | undefined;\n field4?: string | undefined;\n field5?: string | undefined;\n};\n\nexport class JUserApi extends JBaseApi {\n /**\n * autocomplete return a list users\n * @param query <string>\n */\n public autocomplete(query: string) {\n return this.network\n .post<Array<jUserAutocomplete>>({ o: 'autocomplete', f: 'user', q: query, idToUri: false } as OF)\n .then((res) => {\n return res.result;\n });\n }\n\n /**\n * Get a user\n * @param uri uri\n * @param format little by default. If another format is provided, the generic types should be defined\n */\n public get<T extends jObjectLittle = jObjectLittle>(uri: string, format = 'little'): Promise<ApiWrapper<T>> {\n return this.network.post<T>({ o: 'user', f: 'get', uri, format } as OF);\n }\n\n public configuration(): Promise<ApiWrapper<UserDirectoryConfiguration>> {\n return this.network.post({ o: 'userDirectory', f: 'configuration' } as OF);\n }\n\n public userQueryList<T extends jObjectLittle = jUserLittle>(\n payload: ObjectListProps,\n ): Promise<ApiPagingResults<T>> {\n return this.network.post({ o: 'objectList', f: 'JamespotUserQueryList', ...payload } as OF);\n }\n\n public userMap(payload: ObjectListProps): Promise<ApiPagingResults<UserMapModel>> {\n return this.network.post({ o: 'objectListJamespot', f: 'userMap', ...payload } as OF);\n }\n\n public userBusinessContactQueryList(query: ObjectListProps): Promise<ApiPagingResults<UserModel>> {\n return this.network.post({ o: 'businessContact', f: 'queryList', ...query } as OF);\n }\n\n public userCreateBusinessContact(user: BusinessContact) {\n const userFormatter = {\n ...user,\n pseudo: user.title,\n firstName: user.firstname,\n lastName: user.lastname,\n champ1: user.field1,\n champ2: user.field2,\n champ3: user.field3,\n champ4: user.field4,\n champ5: user.field5,\n };\n const payload = {\n ...userFormatter,\n type: 'businessContactCard',\n publishTo: 'networkPublic/1', // TEMPORARY TILL I FIX J.networks.networkPublic.uri\n };\n return window.JamespotUserApi.article.create(payload as ArticleCreation);\n }\n\n public userUpdateBusinessContact(user: BusinessContact) {\n const userFormatter = {\n ...user,\n pseudo: user.title,\n firstName: user.firstname,\n lastName: user.lastname,\n champ1: user.field1,\n champ2: user.field2,\n champ3: user.field3,\n champ4: user.field4,\n champ5: user.field5,\n };\n const payload = {\n ...userFormatter,\n uri: user.uri,\n publishTo: 'networkPublic/1', // TEMPORARY TILL I FIX J.networks.networkPublic.uri\n };\n return window.JamespotUserApi.article.update(payload as { uri: string });\n }\n\n public userDeleteBusinessContact(idArticle: number) {\n return window.JamespotUserApi.article.delete(idArticle);\n }\n\n public userAddContact(idUser: number): Promise<ApiDefaultWrapper> {\n return this.network.post({ o: 'user', f: 'addContact', idUser } as OF);\n }\n\n public userRemoveContact(idUser: number): Promise<ApiDefaultWrapper> {\n return this.network.post({ o: 'user', f: 'removeContact', idUser } as OF);\n }\n\n /**\n * signIn function returns a Promise of users.\n * @param mail Mail or username\n * @param pwd Password to be validated\n */\n public signIn(mail: string, pwd: string) {\n return this.network.post<jUserAutocomplete>({ o: 'user', f: 'signIn', mail, password: pwd } as OF);\n }\n}\n","import { ApiWrapper, WedocFileType, WedocQueryResults, WedocQueryType, WedocTemplate } from '../types';\nimport { JBaseApi } from './base';\nimport { OF } from '../util/network';\n\nexport class JWedocApi extends JBaseApi {\n public getFiles(query: WedocQueryType): Promise<WedocQueryResults> {\n return this.network.post<WedocQueryResults>({ o: 'onlyOffice', f: 'getFiles', ...query } as OF).then((res) => {\n const result = res.result;\n if (Array.isArray(result.data)) {\n return { page: result.page, cnt: result.cnt, limit: result.limit, data: result.data };\n }\n\n throw {\n error: res.error,\n messages: res.messages,\n };\n });\n }\n\n public getFile(idFile: number, hash?: string): Promise<WedocFileType> {\n return this.network.post<WedocFileType>({ o: 'onlyOffice', f: 'getFile', idFile, hash } as OF).then((res) => {\n return res.result;\n });\n }\n\n public getTemplates(): Promise<WedocTemplate[]> {\n return this.network.post<WedocTemplate[]>({ o: 'onlyOffice', f: 'getTemplates' } as OF).then((res) => {\n return res.result;\n });\n }\n\n public duplicateFile(\n idFile: number,\n title: string,\n publishTo: string[],\n ): Promise<ApiWrapper<boolean, { code: number; msg: string }>> {\n return this.network.post({ o: 'onlyOffice', f: 'duplicateFile', idFile, title, publishTo } as OF);\n }\n\n public deleteFile(idFile: number): Promise<ApiWrapper<boolean, { code: number; msg: string }>> {\n return this.network.post({ o: 'onlyOffice', f: 'deleteFile', idFile } as OF);\n }\n\n public createFile(title: string, type: string, publishTo: string[]): Promise<{ idFile: number }> {\n return this.network\n .post<{ idFile: number }>({ o: 'onlyOffice', f: 'createFile', title, type, publishTo } as OF)\n .then((res) => {\n return res.result;\n });\n }\n\n public updateFile(idFile: number, title: string): Promise<ApiWrapper<boolean, { code: number; msg: string }>> {\n return this.network.post({ o: 'onlyOffice', f: 'updateFile', idFile, title } as OF);\n }\n\n public getFileInfo(idFile: number, mode: string): Promise<ApiWrapper<boolean, { code: number; msg: string }>> {\n return this.network.post({ o: 'onlyOffice', f: 'GetFileInfo', idFile, mode } as OF);\n }\n}\n","import { ApiWrapper } from '../types';\nimport { JBaseApi } from './base';\nimport { OF } from '../util/network';\nimport { ShareAccessObject, ShareAccessProps, ShareAccessRequestProps } from '../types/share';\n\n/*\n * FOR NOW SHARE ACCESS API LINKED TO ONLYOFFICE\n * FOR NOW SHARE ACCESS API LINKED TO ONLYOFFICE\n * FOR NOW SHARE ACCESS API LINKED TO ONLYOFFICE\n * FOR NOW SHARE ACCESS API LINKED TO ONLYOFFICE\n */\n\nexport class JShareApi extends JBaseApi {\n public setObjectAccessRequest(\n uri: string,\n idUser: number,\n requestAccessValue: 'accept' | 'deny',\n requestResponseMessage?: string,\n ): Promise<ApiWrapper<boolean, { code: number; msg: string }>> {\n return this.network.post({\n o: 'onlyOffice',\n f: 'setObjectAccessRequest',\n uri,\n idUser,\n requestAccessValue,\n requestResponseMessage,\n } as OF);\n }\n\n public getObjectAccessRequest(uri: string, idUser?: number): Promise<ShareAccessRequestProps[]> {\n return this.network\n .post<ShareAccessRequestProps[]>({\n o: 'onlyOffice',\n f: 'getObjectAccessRequest',\n uri,\n idUser,\n } as OF)\n .then((res) => {\n return res.result;\n });\n }\n\n public getObject(uri: string): Promise<ShareAccessObject> {\n return this.network.post<ShareAccessObject>({ o: 'onlyOffice', f: 'getObject', uri } as OF).then((res) => {\n return res.result;\n });\n }\n\n public askObjectAccess(uri: string, askAccess: 'read' | 'write', askMessage?: string): Promise<boolean> {\n return this.network\n .post<boolean>({ o: 'onlyOffice', f: 'askObjectAccess', uri, askAccess, askMessage } as OF)\n .then((res) => {\n return res.result;\n });\n }\n\n public setObjectAccess(\n uri: string,\n access: { read: string[]; write: string[] },\n message: string,\n generalAccessRule: string,\n ): Promise<boolean> {\n return this.network\n .post<boolean>({\n o: 'onlyOffice',\n f: 'setObjectAccess',\n uri,\n access,\n message,\n generalAccessRule,\n } as OF)\n .then((res) => {\n return res.result;\n });\n }\n\n public getObjectAccess(uri: string): Promise<ShareAccessProps> {\n return this.network\n .post<ShareAccessProps>({\n o: 'onlyOffice',\n f: 'getObjectAccess',\n uri,\n } as OF)\n .then((res) => {\n return { audience: res.result.audience, read: res.result.read, write: res.result.write };\n });\n }\n}\n","import { JBaseApi } from '../base';\nimport { ApiWrapper } from '../../types';\nimport { OF } from '../../util/network';\n\nexport type JLicense = {\n id: number;\n kind: string;\n dateCreation: string;\n idFeature: number;\n uri: string;\n contentId: number;\n contentType: string;\n status: number;\n};\n\nexport type JLicenseAvailable = {\n [key: string]: number;\n};\n\nexport class JLicenseApi extends JBaseApi {\n /**\n * Retireve the list of liceses assigned to content of a given type\n *\n * @param type type of content for which we want to retrieve the licenses\n * @returns The list of liceses assigned to content of the provided type\n */\n public getLicensesAssigned(type: string): Promise<ApiWrapper<Array<JLicense>>> {\n return this.network.post({\n o: 'licenseManager',\n f: 'getLicensesAssigned',\n type: type,\n } as OF);\n }\n\n /**\n * Retrieves the number of licenses of a given type available. License type is\n * different from the content type to which it can be assigned to.\n *\n * @param kind The kind of license for which we want to know the availability\n * @returns A paromise resolving to an object containing the kind of license as keys and number of available ones as values\n */\n public countLicenseNotAssigned(type: string): Promise<ApiWrapper<JLicenseAvailable>> {\n return this.network.post({\n o: 'licenseManager',\n f: 'countLicensesNotAssigned',\n type: type,\n } as OF);\n }\n\n /**\n * Assigns a license to the content with the provided uri (if any is available)\n * @param uri URI of the object to which a license must be assigned\n * @returns\n */\n public assignLicense(uri: string): Promise<ApiWrapper<boolean>> {\n return this.network.post({\n o: 'licenseManager',\n f: 'assignLicense',\n uri: uri,\n } as OF);\n }\n\n /**\n * Unassigns the licese linked to the content with the provided uri\n * @param uri URI of the object to which a license must be unassigned\n * @returns\n */\n public unassignLicense(uri: string): Promise<ApiWrapper<boolean>> {\n return this.network.post({\n o: 'licenseManager',\n f: 'unassignLicense',\n uri: uri,\n } as OF);\n }\n}\n","import { AdminStoreApi } from './adminStore';\nimport { JApplicationApi } from './application';\nimport { JArticleApi } from './article/article';\nimport { JAseiApi } from './asei';\nimport { JAssetReservation } from './assetReservation';\nimport { JAudienceApi } from './audience/audience';\nimport { JCommunityApi } from './community';\nimport { JFileApi } from './file';\nimport { JFilebankApi } from './filebank';\nimport { JGroupApi } from './group';\nimport { JMediaLibraryApi } from './mediaLibrary/mediaLibrary';\nimport { JLandApi } from './jland/jland';\nimport { JMessengerApi } from './messenger';\nimport { JSearchApi } from './search/search';\nimport { JBookmarkApi } from './bookmark';\nimport { JTaxonomyApi } from './taxonomy';\nimport { JUserApi } from './user/user';\nimport { JDiapazoneApi } from './diapazone';\nimport { JWedocApi } from './wedoc';\nimport { Network } from '../util/network';\nimport { JShareApi } from './share';\nimport { JLicenseApi } from './Licenses/licenses';\n\n/**\n * In browser usage, 'window' should be the window object.\n * In server side usage, 'window' object given must implement the fetch method, used by the Apis.\n * See tests implementation for a working Node sample.\n *\n * Each property (except {@link constants} and {@link window}) is an API providing access to a Jamespot.Pro backend.\n */\nexport class JamespotUserApi {\n public version = '1.0';\n public network: Network;\n public admin: {\n store: AdminStoreApi;\n };\n public application: JApplicationApi;\n public article: JArticleApi;\n public asei: JAseiApi;\n public assetReservation: JAssetReservation;\n public audience: JAudienceApi;\n public bookmark: JBookmarkApi;\n public community: JCommunityApi;\n public diapazone: JDiapazoneApi;\n public file: JFileApi;\n public filebank: JFilebankApi;\n public group: JGroupApi;\n public jland: JLandApi;\n public license: JLicenseApi;\n public mediaLibrary: JMediaLibraryApi;\n public messenger: JMessengerApi;\n public search: JSearchApi;\n public share: JShareApi;\n public taxonomy: JTaxonomyApi;\n public user: JUserApi;\n public wedoc: JWedocApi;\n\n public constructor(network: Network) {\n this.network = network;\n this.admin = {\n store: new AdminStoreApi(this.network),\n };\n this.application = new JApplicationApi(this.network);\n this.article = new JArticleApi(this.network);\n this.asei = new JAseiApi(this.network);\n this.assetReservation = new JAssetReservation(this.network);\n this.audience = new JAudienceApi(this.network);\n this.bookmark = new JBookmarkApi(this.network);\n this.community = new JCommunityApi(this.network);\n this.diapazone = new JDiapazoneApi(this.network);\n this.file = new JFileApi(this.network);\n this.filebank = new JFilebankApi(this.network);\n this.group = new JGroupApi(this.network);\n this.jland = new JLandApi(this.network);\n this.mediaLibrary = new JMediaLibraryApi(this.network);\n this.license = new JLicenseApi(this.network);\n this.messenger = new JMessengerApi(this.network);\n this.search = new JSearchApi(this.network);\n this.share = new JShareApi(this.network);\n this.taxonomy = new JTaxonomyApi(this.network);\n this.user = new JUserApi(this.network);\n this.wedoc = new JWedocApi(this.network);\n }\n}\n","import { ApiWrapper, BaseMessages, FileResponse, MaybeWithCsrf, MaybeWithToken } from '../types';\nimport { FetchReturnType, WindowInterface } from '../window/Window';\n\nexport interface OF {\n o: string;\n f: string;\n}\n\n/**\n * deprecated\n */\nexport class Network {\n private readonly action: string;\n private readonly window: WindowInterface;\n\n public constructor(window: WindowInterface, action = 'api-front') {\n this.window = window;\n this.action = action;\n }\n\n public static _formatPostOptions(body: object): RequestInit {\n const source = body ? { body: JSON.stringify(body) } : undefined;\n return Object.assign({ method: 'POST', credentials: 'same-origin' as const }, source);\n }\n\n public static _formatQueryOptions(options: Record<string, string | boolean | number>): string {\n return Object.entries(options)\n .reduce((acc, [optKey, optValue]) => {\n acc.append(optKey, optValue.toString());\n return acc;\n }, new URLSearchParams())\n .toString();\n }\n\n public async getUrl(o: string, f: string) {\n const backendUrl = await this.window.getBackendUrl();\n let href;\n try {\n const url = new URL(`/${this.action}/${o}/${f}`, backendUrl);\n href = url.href;\n } catch (e) {\n href = `${backendUrl}/${this.action}/${o}/${f}`;\n }\n return href;\n }\n\n public async getHostname() {\n const splittedBackUrl = (await this.window.getBackendUrl()).split('//');\n return splittedBackUrl.length > 1 ? splittedBackUrl[1] : splittedBackUrl[0];\n }\n\n // FIXME Promise<Response> should depend of T\n public async fetch({ o, f, ...body }: OF, signal?: AbortSignal | null): FetchReturnType {\n if (signal === undefined) {\n signal = null;\n }\n const url = await this.getUrl(o, f);\n return this.window.fetch(url, { ...Network._formatPostOptions(body), signal });\n }\n\n public post<T, U = BaseMessages>(body: OF, signal?: AbortSignal): Promise<ApiWrapper<T, U>> {\n return this.fetch(body, signal)\n .then((res) => res.json() as Promise<ApiWrapper<T, U>>)\n .then((res) => {\n if (res.error === 0) {\n return res;\n }\n throw {\n error: res.error,\n errorMsg: res.errorMsg,\n messages: res.messages,\n };\n })\n .catch((err) => {\n if (signal && signal.aborted) {\n throw {\n error: -1,\n aborted: true,\n };\n }\n throw err;\n });\n }\n\n public async postFile(body: FormData) {\n const url = await this.getUrl('file', 'create');\n\n if (!body.get('token')) {\n const { result } = await this.token();\n body.append('token', result);\n }\n\n return this.window\n .fetch(url, {\n method: 'POST',\n credentials: 'same-origin',\n body,\n })\n .then((resp) => resp.json() as Promise<ApiWrapper<FileResponse>>);\n }\n\n public postCSRF<T, U = BaseMessages>(body: OF): Promise<ApiWrapper<T, U>> {\n return this.tokenCSRF().then((tokenCSRF) => this.post(Object.assign(body, { tokenCSRF: tokenCSRF.result })));\n }\n\n public maybePostCSRF<T, U = BaseMessages>(body: MaybeWithCsrf<OF>): Promise<ApiWrapper<T, U>> {\n if ('tokenCSRF' in body && body.tokenCSRF) {\n return this.post(body);\n } else {\n return this.postCSRF(body);\n }\n }\n\n public postToken<T, U = BaseMessages>(body: OF): Promise<ApiWrapper<T, U>> {\n return this.token().then((token) => this.post(Object.assign(body, { token: token.result })));\n }\n\n public maybePostToken<T, U = BaseMessages>(body: MaybeWithToken<OF>): Promise<ApiWrapper<T, U>> {\n if ('token' in body && body.token) {\n return this.post(body);\n } else {\n return this.postToken(body);\n }\n }\n\n public token(): Promise<ApiWrapper<string>> {\n return this.post({ o: 'misc', f: 'token' });\n }\n\n public tokenCSRF(): Promise<ApiWrapper<string>> {\n return this.post({ o: 'misc', f: 'tokenCSRF' });\n }\n}\n","import { WindowInterface } from './Window';\n\nexport class WindowBrowser implements WindowInterface {\n async getBackendUrl() {\n const location = window.location;\n return `${location.protocol}//${location.host}`;\n }\n\n fetch(url: string, init?: RequestInit): Promise<Response> {\n return window.fetch(url, init);\n }\n}\n","import { WidgetsValue } from './model';\nimport { jObjectLittle } from './utils';\n\nexport type UserModel = jObjectLittle & {\n firstname: string;\n lastname: string;\n mail?: string;\n};\n\nexport type UserMapModel = {\n idInType: number;\n lat: number;\n lng: number;\n};\n\nexport const UserLevel = {\n ADMIN: 9,\n USER: 5,\n EXTERNAL: 3,\n GUEST: 0,\n} as const;\n\nexport type jUserLittle = jObjectLittle & {\n level: typeof UserLevel[keyof typeof UserLevel];\n dateCreation: string;\n dateModified: string;\n};\n\nexport type jUserList = jUserLittle & {\n [key: string]: WidgetsValue;\n};\n\nexport type jUserView = jUserList & {};\n","import { FileResponse, WidgetFileType } from '../types';\n\nexport const allowedFileExtensions = ['docx', 'xlsx', 'pptx', 'pdf', 'jpeg', 'png', 'zip', 'mp3', 'mp4', 'jpg', 'txt'];\nexport const mimetypeMap: Record<string, string> = {\n docx: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n pptx: 'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n pdf: 'application/pdf',\n jpeg: 'image/jpeg',\n jpg: 'image/jpg',\n png: 'image/png',\n zip: 'application/zip',\n mp3: 'audio/mp3',\n mp4: 'video/mp4',\n};\n\nexport function getExtensionFromName(name: string | undefined): string | undefined {\n const tryExt = String(name).split('.').pop();\n\n if (tryExt !== undefined) {\n if (allowedFileExtensions.find((ext) => ext === tryExt.toLocaleLowerCase())) {\n return tryExt;\n }\n }\n\n return undefined;\n}\n\nexport function getFileFamily(mime: string): string | undefined {\n if (mime && mime.startsWith('application/')) {\n return 'application';\n }\n if (mime && mime.startsWith('image/')) {\n return 'image';\n }\n if (mime && mime.startsWith('video/')) {\n return 'video';\n }\n if (mime && mime.startsWith('audio/')) {\n return 'audio';\n }\n\n return undefined;\n}\n\nexport function getMimetypeFromExtension(ext: string | undefined): string {\n const cleanExt = ext !== undefined ? String(ext).toLocaleLowerCase() : 'noExt';\n\n return mimetypeMap[cleanExt] ?? 'txt';\n}\n\nexport function apiFileToWidgetFile(fileResponse: FileResponse): WidgetFileType {\n const fileExtension = getExtensionFromName(fileResponse.name);\n const fileType = getMimetypeFromExtension(fileExtension);\n\n // Store the filename to let user write is own title (without midify the file in bdd)\n return {\n id: parseInt(fileResponse.id),\n filename: fileResponse.name,\n mimetype: fileType,\n dimension: fileResponse.imagesize,\n };\n}\n","import { BookmarkCustom, BookmarkLink, BookmarkRawList, jObjectBase } from '../types';\n\nfunction ensureIsBookmarkLink(bookmark: BookmarkCustom | BookmarkLink): bookmark is BookmarkLink {\n return 'targetId' in bookmark && !!bookmark.targetId;\n}\n\nfunction ensureIsBookmarkCustom(bookmark: BookmarkCustom | BookmarkLink): bookmark is BookmarkCustom {\n const bookmarkCustom = bookmark as BookmarkCustom;\n return (\n bookmarkCustom.bookmarkLabel !== undefined ||\n bookmarkCustom.bookmarkMeta !== undefined ||\n bookmarkCustom.bookmarkUrl !== undefined\n );\n}\n\nfunction ensureIsBookmarkRawList(bookmark: jObjectBase | BookmarkRawList): bookmark is BookmarkRawList {\n const asBookmark = bookmark as BookmarkRawList;\n return asBookmark && typeof asBookmark.id === 'number' && typeof asBookmark.targetId === 'number';\n}\n\ntype jObjectTypes = {\n bookmarkLink: BookmarkRawList;\n};\n\nconst ensureFunctions = {\n bookmarkLink: ensureIsBookmarkRawList,\n};\n\nfunction ensureObjectIsType<T extends keyof jObjectTypes>(type: T, object: jObjectBase): object is jObjectTypes[T] {\n return object !== undefined && object !== null && ensureFunctions[type](object);\n}\n\nexport const jEnsure = {\n isBookmarkLink: ensureIsBookmarkLink,\n isBookmarkCustom: ensureIsBookmarkCustom,\n isBookmarkRawList: ensureIsBookmarkRawList,\n objectIsType: ensureObjectIsType,\n};\n","import { JamespotUserApi } from './apis';\nimport { Network } from './util/network';\nimport { WindowBrowser } from './window';\n\nexport const network = new Network(new WindowBrowser());\nconst JamespotUserApiInstance = new JamespotUserApi(network);\n\ndeclare global {\n interface Window {\n JamespotUserApi: JamespotUserApi;\n }\n}\n\nwindow.JamespotUserApi = JamespotUserApiInstance;\n\nexport { JamespotUserApiInstance };\nexport default JamespotUserApiInstance;\n\nexport * from './apis';\nexport * from './types';\nexport * from './util/network';\nexport * from './util/file';\nexport * from './util/ensure';\nexport * from './window';\n\nexport const api = JamespotUserApi;\n"],"names":["StudioApplicationStatus","__webpack_require__","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","JBaseApi","network","this","AdminStoreApi","getItem","uri","post","f","checkoutBilling","postCSRF","checkoutFinalize","JApplicationApi","list","idApp","status","install","xmlBody","suspend","restart","save","saved","autosaved","delete","then","res","error","messages","cssClassList","JArticleApi","config","create","article","format","maybePostToken","update","id","idArticle","count","type","JAssetReservation","configuration","createReservation","params","getReservations","cancelReservation","bookByDate","getList","JAudienceApi","autocomplete","query","q","Array","isArray","result","JBookmarkApi","getFormattedList","filterSpecs","addFormattedLink","targetId","targetType","requestedFormat","addBookmark","bookmark","bookmarkId","bookmarkID","rename","bookmarkLabel","bookmarkUrl","move","bookmarkReference","position","bookmarkPosition","JCommunityApi","sendRequest","message","idUserTo","JDiapazoneApi","token","title","dateStart","publishTo","filters","orders","page","data","JFileApi","upload","body","FormData","append","attrName","file","url","postFile","uploadMany","configArray","Promise","all","map","idFile","cropDatas","w","width","h","height","x","y","rotation","rotateBeforeCrop","killSize","crop","JSON","parse","deleteFile","deleteImage","JFilebankApi","getBanks","getFolders","parentURI","JGroupApi","group","spotBanner","_spotBanner","restGroup","getSpot","idSpot","getProperties","getApplications","getCategories","getObjectListJamespotSpotMembers","limit","JAseiApi","name","sort","requestStatus","requestedStatus","audience","getDedicatedGroups","getConfiguration","right","JMediaLibraryApi","GetUnclassifiedFiles","JLandApi","getLogs","dateEnd","idLogMax","getStats","getAllMapsAsAdmin","createMap","JMessengerApi","sendMessage","idDiscussion","msg","description","getOrCreateDiscussion","idSender","JSearchApi","getConfig","proposition","signal","searchQuery","keywords","category","facetCategories","options","getLastQueries","getAdminConfig","setAdminConfig","JTaxonomyApi","taxonomy","idTaxonomy","idToUri","autocompleteList","payload","autocompleteHierarchy","JUserApi","userQueryList","userMap","userBusinessContactQueryList","userCreateBusinessContact","user","userFormatter","pseudo","firstName","firstname","lastName","lastname","champ1","field1","champ2","field2","champ3","field3","champ4","field4","champ5","field5","window","JamespotUserApi","userUpdateBusinessContact","userDeleteBusinessContact","userAddContact","idUser","userRemoveContact","signIn","mail","pwd","password","JWedocApi","getFiles","cnt","getFile","hash","getTemplates","duplicateFile","createFile","updateFile","getFileInfo","mode","JShareApi","setObjectAccessRequest","requestAccessValue","requestResponseMessage","getObjectAccessRequest","getObject","askObjectAccess","askAccess","askMessage","setObjectAccess","access","generalAccessRule","getObjectAccess","read","write","JLicenseApi","getLicensesAssigned","countLicenseNotAssigned","assignLicense","unassignLicense","version","admin","store","application","asei","assetReservation","community","diapazone","filebank","jland","mediaLibrary","license","messenger","search","share","wedoc","Network","action","static","source","stringify","undefined","assign","method","credentials","entries","reduce","acc","optKey","optValue","toString","URLSearchParams","getUrl","backendUrl","getBackendUrl","href","URL","e","getHostname","splittedBackUrl","split","length","fetch","_formatPostOptions","json","errorMsg","catch","err","aborted","resp","tokenCSRF","maybePostCSRF","postToken","WindowBrowser","location","protocol","host","init","UserLevel","ADMIN","USER","EXTERNAL","GUEST","allowedFileExtensions","mimetypeMap","docx","xlsx","pptx","pdf","jpeg","jpg","png","zip","mp3","mp4","getExtensionFromName","tryExt","String","pop","find","ext","toLocaleLowerCase","getFileFamily","mime","startsWith","getMimetypeFromExtension","cleanExt","apiFileToWidgetFile","fileResponse","fileType","parseInt","filename","mimetype","dimension","imagesize","ensureIsBookmarkRawList","asBookmark","ensureFunctions","bookmarkLink","jEnsure","isBookmarkLink","isBookmarkCustom","bookmarkCustom","bookmarkMeta","isBookmarkRawList","objectIsType","object","JamespotUserApiInstance","api"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"jamespot-user-api.js","mappings":"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","sources":["webpack://jamespot-user-api/webpack/bootstrap","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/application/types.ts","webpack://jamespot-user-api/webpack/runtime/define property getters","webpack://jamespot-user-api/webpack/runtime/hasOwnProperty shorthand","webpack://jamespot-user-api/webpack/runtime/make namespace object","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/base.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/admin/license.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/admin/store.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/admin/utils.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/application/application.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/article/article.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/assetReservation.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/audience/audience.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/bookmark.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/community.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/diapazone.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/file.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/filebank.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/group.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/asei.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/drive/drive.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/mediaLibrary/mediaLibrary.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/jland/jland.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/messenger.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/search/search.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/taxonomy/taxonomy.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/user/user.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/wedoc.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/share.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/apis/jamespotUserApi.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/util/network.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/window/WindowBrowser.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/types/user.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/util/file.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/util/ensure.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/builds/jamespot/internalDevs/continuousdeployment/jamespot-user-api/src/index.ts"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","import { jObjectLittle, Rights, ValueOf } from '../../types';\r\n\r\nexport type ApplicationType = {\r\n name: string;\r\n label: string;\r\n icon: string;\r\n img: string;\r\n url: string;\r\n description: string;\r\n color?: string;\r\n hasLicense: boolean;\r\n sref?: string;\r\n type?: string;\r\n _extend?: {\r\n [key: string]: any;\r\n };\r\n};\r\n\r\nexport type StudioAction = {\r\n action: string;\r\n nameApp: string;\r\n};\r\n\r\nexport interface AccessRightObject extends jObjectLittle {\r\n firstname?: string;\r\n lastname?: string;\r\n mail?: string;\r\n privacy?: string;\r\n category?: string;\r\n description?: string;\r\n image?: string | null;\r\n _values: {\r\n firstname?: string;\r\n lastname?: string;\r\n mail?: string;\r\n title: string;\r\n dateCreation: string;\r\n dateModified: string;\r\n privacy?: number;\r\n category?: string;\r\n };\r\n _cssColor: string;\r\n _cssClass: string;\r\n _right: Rights;\r\n}\r\n\r\nexport type StudioApplicationBase = {\r\n idApp: string;\r\n type?: string;\r\n name?: string;\r\n label?: string;\r\n description?: string;\r\n checkAccess?: boolean;\r\n attrExposed?: Array<string>;\r\n status: StudioApplicationStatusEnumBased;\r\n suspended?: boolean;\r\n view?: string;\r\n author?: string;\r\n columns?: Record<string, string>;\r\n accessRightList?: string[];\r\n accessRightObjectList?: Array<AccessRightObject>;\r\n typeModel?: unknown;\r\n value?: string;\r\n manifest?: StudioManifest;\r\n img?: string;\r\n icon?: string;\r\n color?: string;\r\n url?: string;\r\n types?: string;\r\n urlTarget?: boolean;\r\n order?: number;\r\n dateCreation?: string;\r\n studioVersion?: number;\r\n showImport?: boolean;\r\n showMap?: boolean;\r\n mail2RSE?: boolean;\r\n action?: StudioAction;\r\n display?: string;\r\n};\r\n\r\nexport type StudioManifest = {\r\n dateCreation: string;\r\n author: string;\r\n manifestVersion: number;\r\n version: number;\r\n};\r\n\r\nexport enum StudioApplicationStatus {\r\n local = 'local',\r\n installed = 'installed',\r\n autosaved = 'autosaved',\r\n saved = 'saved',\r\n}\r\n\r\nexport type StudioApplicationStatusEnumBased = ValueOf<StudioApplicationStatus>;\r\n\r\nexport type StudioApplication = StudioApplicationBase & {};\r\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { Network } from '../util/network';\n\nexport class JBaseApi {\n public network: Network;\n\n public constructor(network: Network) {\n this.network = network;\n }\n}\n","import { JBaseApi } from '../base';\nimport { OF } from '../../util/network';\nimport {\n AdminLicensesAssigned,\n AdminLicensesNotAssigned,\n AdminLicenseUserStats,\n ObjectWithoutLicenseFilter,\n} from '../../types';\n\nexport class AdminLicenseApi extends JBaseApi {\n /**\n * Retrieve the user licenses stats\n */\n public getLicenseUserStatistics() {\n return this.network.post<AdminLicenseUserStats>({\n o: 'licenseManager',\n f: 'userStatistics',\n } as OF);\n }\n\n /**\n * Assigns a license to the content with the provided uri (if any is available)\n * @param uri URI of the object to which a license must be assigned\n * @returns boolean\n */\n public assignLicense(uri: string) {\n return this.network.postCSRF<boolean>({\n o: 'licenseManager',\n f: 'assignLicense',\n uri,\n } as OF);\n }\n\n /**\n * Unassigns the license linked to the content with the provided uri\n * @param uri URI of the object to which a license must be unassigned\n * @returns boolean\n */\n public unAssignLicense(uri: string) {\n return this.network.postCSRF<boolean>({\n o: 'licenseManager',\n f: 'unassignLicense',\n uri,\n } as OF);\n }\n\n /**\n * Retrieve the assignment license user mode between automatic | manual\n * @param type retrieve the automatic license assignation\n * @returns a string who's the current assignment selected\n */\n public getAssignmentMode(type: string) {\n return this.network.post<string>({\n o: 'licenseManager',\n f: 'getAssignmentMode',\n type,\n } as OF);\n }\n\n /**\n * Change the mode which the license are affected to the users\n * @param type the type of license that would automatically be assigned\n * @param assignmentMode the mode which the license are affected (automatic | manual)\n * @returns boolean\n */\n public setAssignmentMode(type: string, assignmentMode: string) {\n return this.network.postCSRF<boolean>({\n o: 'licenseManager',\n f: 'setAssignmentMode',\n value: assignmentMode,\n type,\n } as OF);\n }\n\n /**\n * Assign the available licenses\n * @param type the type of licenses for which we will assign the remaining available one\n * @returns boolean\n */\n public assignPossiblesLicenses(type: string) {\n return this.network.postCSRF<boolean>({\n o: 'licenseManager',\n f: 'assignPossiblesLicenses',\n type,\n } as OF);\n }\n\n /**\n * Unassign licenses for inactive users\n * @param type the type of licenses for which we will unassign upon inactive user\n * @returns boolean\n */\n public unAssignUnusedLicenses(type: string) {\n return this.network.postCSRF<boolean>({\n o: 'licenseManager',\n f: 'unassignUnusedLicenses',\n type,\n } as OF);\n }\n\n /**\n * Assign available licenses and unassign license for inactive users\n * @param type the type of licenses for which we will unassign and assign the possible licenses\n * @returns boolean\n */\n public optimizeLicenses(type: string) {\n return this.network.postCSRF<boolean>({\n o: 'licenseManager',\n f: 'optimizeLicenses',\n type,\n } as OF);\n }\n\n /**\n * Retrieves the number of licenses of a given type available. License type is\n * different from the content type to which it can be assigned to.\n *\n * @param type The type of license for which we want to know the availability\n * @param filter the filters array the request can be called with\n * @returns A promise with the number of object without license\n */\n public getObjectsWithoutLicense(type: string, filter?: ObjectWithoutLicenseFilter[]) {\n return this.network.post<number>({\n o: 'licenseManager',\n f: 'countObjectsWithoutLicense',\n type,\n filter,\n } as OF);\n }\n\n /**\n * Retireve the list of licenses assigned to content of a given type\n *\n * @param type type of content for which we want to retrieve the licenses not assigned\n * @returns The number of licenses depending on the type used as param\n */\n public getLicensesNotAssigned(type: string) {\n return this.network.post<AdminLicensesNotAssigned>({\n o: 'licenseManager',\n f: 'countLicensesNotAssigned',\n type,\n } as OF);\n }\n\n /**\n * Retireve the list of licenses assigned to content of a given type\n *\n * @param type type of content for which we want to retrieve the licenses\n * @returns The list of licenses assigned to content of the provided type\n */\n public getLicensesAssigned(type: string) {\n return this.network.post<AdminLicensesAssigned[]>({\n o: 'licenseManager',\n f: 'getLicensesAssigned',\n type,\n } as OF);\n }\n}\n","import { ApiWrapper, StoreItem, StoreFinalize } from '../../types';\nimport { JBaseApi } from '../base';\nimport { OF } from '../../util/network';\n\nexport class AdminStoreApi extends JBaseApi {\n public getItem(uri: string): Promise<ApiWrapper<StoreItem>> {\n return this.network.post({\n o: 'adminStore',\n f: 'getItem',\n uri,\n } as OF);\n }\n public checkoutBilling(uri: string): Promise<ApiWrapper<boolean>> {\n return this.network.postCSRF({\n o: 'adminStore',\n f: 'checkoutBilling',\n uri,\n } as OF);\n }\n public checkoutFinalize(uri: string): Promise<ApiWrapper<StoreFinalize>> {\n return this.network.postCSRF({\n o: 'adminStore',\n f: 'checkoutFinalize',\n uri,\n } as OF);\n }\n}\n","import { AdminApps } from '../../types';\nimport { JBaseApi } from '../base';\nimport { OF } from '../../util/network';\n\nexport class AdminUtilsApi extends JBaseApi {\n /**\n * Request the admin applications and sub applications for the admin panel\n */\n public getApps() {\n return this.network.post<AdminApps>({\n o: 'admin',\n f: 'apps',\n } as OF);\n }\n}\n","import { ApiWrapper, BaseMessages } from '../../types';\nimport { JBaseApi } from '../base';\nimport { OF } from '../../util/network';\nimport {\n StudioApplication,\n StudioApplicationBase,\n StudioApplicationStatus,\n StudioApplicationStatusEnumBased,\n} from './types';\n\nexport class JApplicationApi extends JBaseApi {\n /**\n * List applications\n * @returns {@link JApplication} objects, in light format\n */\n public list() {\n return this.network.post<Array<StudioApplicationBase>>({ o: 'studio', f: 'list' });\n }\n\n /**\n * Get one application\n * @returns {@link JApplication} object in full format\n */\n public get(idApp: string, status?: StudioApplicationStatusEnumBased) {\n return this.network.post<StudioApplication>({ o: 'studio', f: 'get', idApp, status } as OF);\n }\n\n /**\n * Install this application.\n * If everything is ok, remove previous saved and autosaved versions of this application.\n * @param xmlBody: string XML file\n * @returns {@link JApplication} object in full format\n */\n public install(xmlBody: string) {\n return this.network.postCSRF<StudioApplication>({ o: 'studio', f: 'install', value: xmlBody } as OF);\n }\n\n /**\n * Suspend an installed application.\n * @param idApp: application's id\n * @returns {@link JApplication} object in full format\n */\n public suspend(idApp: string) {\n return this.network.postCSRF<StudioApplication>({ o: 'studio', f: 'suspend', idApp } as OF);\n }\n\n /**\n * Restart an suspended application.\n * @param idApp: application's id\n * @returns {@link JApplication} object in full format\n */\n public restart(idApp: string) {\n return this.network.postCSRF<StudioApplication>({ o: 'studio', f: 'restart', idApp } as OF);\n }\n\n /**\n * Save a 'local', 'saved' or 'autosaved' version of the application\n * Returns a 'save' or 'autosaved' application.\n * @param idApp: application's id\n * @param value: data to be saved\n * @param status: must be either 'saved' or 'autosaved'.\n * @returns {@link JApplication} object in full format\n */\n public save(idApp: string, value: string, status: StudioApplicationStatusEnumBased) {\n if (status === StudioApplicationStatus.saved || status === StudioApplicationStatus.autosaved) {\n return this.network.postCSRF<StudioApplication>({\n o: 'studio',\n f: 'save',\n idApp,\n value,\n status,\n } as OF);\n } else {\n throw 'Invalid status value';\n }\n }\n\n /**\n * Delete a selected status of the application\n * @param idApp application id to delete\n * @param status application status to select\n * @returns message after delete execution\n */\n public async delete(idApp: string, status: StudioApplicationStatusEnumBased): Promise<BaseMessages> {\n return this.network\n .postCSRF<string>({\n o: 'studio',\n f: 'delete',\n idApp,\n status,\n } as OF)\n .then((res) => {\n if (res.error === 0) {\n return res.messages;\n }\n throw res.messages;\n });\n }\n\n /**\n * Get cssClass possible values.\n */\n public cssClassList(): Promise<ApiWrapper<Array<string>>> {\n return this.network.post<Array<string>>({ o: 'studio', f: 'icons' });\n }\n}\n","import { JBaseApi } from '../base';\nimport {\n ApiWrapper,\n BaseMessages,\n Filters,\n jArticleLittle,\n jArticleView,\n MaybeWithToken,\n Orders,\n PagingResults,\n} from '../../types';\nimport { OF } from '../../util/network';\n\nexport type ArticleListConfig = {\n type: string;\n format?: string;\n query?: string;\n limit?: number;\n page?: number;\n orders?: Orders;\n filters?: Filters | undefined;\n};\n\nexport type ArticleGetConfig = {\n uri?: string;\n idArticle?: number;\n format?: string;\n};\n\nexport type ArticleCreation = {\n title?: string;\n description?: string;\n type?: string;\n publishTo?: string;\n idSpot?: Array<string>;\n};\n\nexport type BaseArticle = {\n id: number;\n type: string;\n dateCreation: string;\n dateModified: string;\n title: string;\n uri: string;\n};\n\nexport class JArticleApi extends JBaseApi {\n public list<T extends jArticleLittle = jArticleLittle>(\n config: ArticleListConfig,\n ): Promise<ApiWrapper<PagingResults<T>>> {\n return this.network.post({\n o: 'objectList',\n f: 'jamespotArticleQueryList',\n ...config,\n } as OF);\n }\n\n public get<T extends jArticleLittle = jArticleLittle>(\n config: ArticleGetConfig,\n ): Promise<ApiWrapper<T & { _nbAttachedFiles: number }, BaseMessages>> {\n return this.network.post({\n o: 'article',\n f: 'get',\n ...config,\n } as OF);\n }\n\n public create<T extends jArticleLittle = jArticleLittle>(\n article: MaybeWithToken<ArticleCreation>,\n format?: string,\n ): Promise<ApiWrapper<Array<T>, BaseMessages>> {\n return this.network.maybePostToken({\n o: 'article',\n f: 'create',\n format: format ?? 'raw-list',\n ...article,\n } as OF);\n }\n\n public update<T extends { uri: string }, U extends jArticleView>(article: T): Promise<ApiWrapper<U, BaseMessages>> {\n return this.network.post({\n o: 'article',\n f: 'update',\n ...article,\n } as OF);\n }\n\n public delete(id: number): Promise<ApiWrapper<boolean, BaseMessages>> {\n return this.network.postCSRF({\n o: 'article',\n f: 'delete',\n idArticle: id,\n } as OF);\n }\n\n public count(type: string): Promise<ApiWrapper<number>> {\n return this.network.post({\n o: 'article',\n f: 'count',\n type,\n } as OF);\n }\n}\n","import { ApiWrapper, BaseMessages } from '../types';\nimport { JBaseApi } from './base';\nimport { OF } from '../util/network';\nimport { PagingResults, Orders, Filters } from '../types';\nimport { AssetReservationConfiguration, BookableAssetList, ReservationList } from '../types';\n\nexport class JAssetReservation extends JBaseApi {\n public configuration(): Promise<ApiWrapper<AssetReservationConfiguration>> {\n return this.network.post({\n o: 'assetReservation',\n f: 'configuration',\n } as OF);\n }\n public createReservation(params: {\n uri: string;\n date: string;\n hourStart: string;\n hourEnd: string;\n uriUser?: string;\n description?: string;\n }): Promise<ApiWrapper<ReservationList, BaseMessages>> {\n return this.network.postCSRF({\n o: 'assetReservation',\n f: 'createReservation',\n format: 'raw-list',\n ...params,\n } as OF);\n }\n\n public getReservations({\n format = 'raw-list',\n ...params\n }: {\n format?: string;\n uri: string;\n dateStart: string;\n dateEnd: string;\n }): Promise<ApiWrapper<ReservationList[], BaseMessages>> {\n return this.network.post({\n o: 'assetReservation',\n f: 'getReservations',\n format,\n ...params,\n } as OF);\n }\n\n public cancelReservation(id: number): Promise<ApiWrapper<ReservationList, BaseMessages>> {\n return this.network.post({\n o: 'assetReservation',\n f: 'cancelReservation',\n format: 'raw-list',\n idArticle: id,\n } as OF);\n }\n\n public bookByDate({\n format = 'raw-list',\n ...params\n }: {\n format?: string;\n date: string;\n hourStart: string;\n hourEnd: string;\n }): Promise<ApiWrapper<BookableAssetList[], BaseMessages>> {\n return this.network.post({\n o: 'assetReservation',\n f: 'BookByDate',\n format,\n ...params,\n } as OF);\n }\n\n public getList({\n format = 'raw-list',\n ...params\n }: {\n format?: string;\n query?: string;\n limit?: number;\n page?: number;\n orders?: Orders;\n filters?: Filters | undefined;\n viewMode?: 'history' | undefined;\n }): Promise<ApiWrapper<PagingResults<ReservationList>, BaseMessages>> {\n return this.network.post({\n o: 'objectList',\n f: 'assetReservationList',\n format,\n ...params,\n } as OF);\n }\n}\n","import { AudienceAutocomplete } from '../../types';\nimport { JBaseApi } from '../base';\nimport { OF } from '../../util/network';\n\nexport class JAudienceApi extends JBaseApi {\n /**\n * autocomplete\n * return the list of user and Spot\n */\n public autocomplete(query: string): Promise<AudienceAutocomplete[]> {\n return this.network.post({ o: 'autocomplete', f: 'audience', q: query } as OF).then((res) => {\n if (Array.isArray(res.result)) {\n return res.result;\n }\n throw 'Bad response from backend';\n });\n }\n}\n","import { ApiWrapper, BaseMessagesOne, Orders, PagingResults } from '../types';\nimport { JBaseApi } from './base';\nimport { OF } from '../util/network';\nimport { BookmarkTypes } from '../types';\n\nexport interface ListFilterSpec {\n query?: string;\n page?: number;\n limit?: number;\n orders?: Orders;\n}\n\nexport class JBookmarkApi extends JBaseApi {\n public getFormattedList<T extends keyof BookmarkTypes>(filterSpecs: ListFilterSpec, format: T) {\n return this.network.post<PagingResults<BookmarkTypes[typeof format]>>({\n o: 'objectList',\n f: 'bookmarksList',\n format: format,\n ...filterSpecs,\n } as OF);\n }\n\n public addFormattedLink<T extends keyof BookmarkTypes>(targetId: number, targetType: string, format: T) {\n const requestedFormat = format ?? 'list';\n return this.network.post<BookmarkTypes[T]>({\n o: 'custom',\n f: 'actionAdd',\n type: 'bookmarkLink',\n targetId,\n targetType,\n format: requestedFormat,\n } as OF);\n }\n\n public addBookmark(\n bookmark: Pick<BookmarkTypes[keyof BookmarkTypes], 'bookmarkLabel' | 'bookmarkMeta' | 'bookmarkUrl'>,\n format?: keyof BookmarkTypes,\n ) {\n const requestedFormat = format ?? 'list';\n return this.network.postCSRF<BookmarkTypes[typeof requestedFormat], BaseMessagesOne>({\n o: 'bookmarks',\n f: 'add',\n ...bookmark,\n } as OF);\n }\n\n public delete(bookmarkId: number): Promise<ApiWrapper<null, BaseMessagesOne>> {\n return this.network.postCSRF<null, BaseMessagesOne>({\n o: 'bookmarks',\n f: 'delete',\n bookmarkID: bookmarkId,\n } as OF);\n }\n\n public rename(\n bookmarkID: number,\n bookmarkLabel: string,\n bookmarkUrl?: string,\n ): Promise<ApiWrapper<null, BaseMessagesOne>> {\n return this.network.postCSRF<null, BaseMessagesOne>({\n o: 'bookmarks',\n f: 'rename',\n bookmarkID,\n bookmarkLabel,\n bookmarkUrl,\n } as OF);\n }\n\n public move(\n bookmarkID: number,\n bookmarkReference: number,\n position: 'before' | 'after',\n ): Promise<ApiWrapper<null, BaseMessagesOne>> {\n return this.network.postCSRF<null, BaseMessagesOne>({\n o: 'bookmarks',\n f: 'move',\n bookmarkID,\n bookmarkReference,\n bookmarkPosition: position,\n } as OF);\n }\n}\n","import { ApiWrapper, CommunityAutocomplete } from '../types';\nimport { JBaseApi } from './base';\nimport { OF } from '../util/network';\n\nexport class JCommunityApi extends JBaseApi {\n public sendRequest(message: string, idUserTo: number): Promise<ApiWrapper<boolean, { code: number; msg: string }>> {\n return this.network.post<boolean, { code: number; msg: string }>({\n o: 'community',\n f: 'sendRequest',\n message,\n idUserTo,\n } as OF);\n }\n\n public autocomplete(q: string): Promise<CommunityAutocomplete[]> {\n return this.network\n .post<CommunityAutocomplete[]>({ o: 'autocomplete', f: 'community', q } as OF)\n .then((res) => res.result);\n }\n}\n","import { JBaseApi } from './base';\nimport { ApiWrapper } from '../types';\nimport { OF } from '../util/network';\n\ntype Diapazone = Record<string, object>;\n\ntype DiapazoneList = {\n page: number;\n cnt: number;\n limit: number;\n data: Diapazone[];\n};\n\ntype DiapazoneFilter = {\n name: string;\n value: string;\n operator: '<' | '>';\n isNull?: boolean;\n};\n\ntype DiapazoneOrder = {\n name: string;\n sort: string;\n};\n\nexport class JDiapazoneApi extends JBaseApi {\n public create(\n type: string,\n token: string,\n title: string,\n dateStart: string,\n publishTo: Array<string>,\n ): Promise<ApiWrapper<string>> {\n return this.network.post({\n o: 'article',\n f: 'create',\n type,\n token,\n title,\n dateStart,\n publishTo,\n } as OF);\n }\n\n public getList(\n query = '',\n filters: Array<DiapazoneFilter> = [],\n orders: Array<DiapazoneOrder> = [],\n page = 1,\n format = 'list',\n ) {\n return this.network\n .post<DiapazoneList>({\n o: 'objectList',\n f: 'diapazoneQueryList',\n query,\n filters,\n orders,\n page,\n format,\n } as OF)\n .then((res) => {\n const result = res.result;\n\n if (Array.isArray(result.data)) {\n return result;\n }\n\n throw {\n error: res.error,\n messages: res.messages,\n };\n });\n }\n}\n","import { FileCropConfig, FileResponse, UploadConfig } from '../types';\nimport { OF } from '../util/network';\nimport { JBaseApi } from './base';\n\nexport class JFileApi extends JBaseApi {\n /**\n * Upload a file to the server. use the same token to link the file to an article\n * @param config configuration object. One of \"file\" and \"url\" is mandatory\n */\n public upload(config: UploadConfig) {\n const body = new FormData();\n body.append('attrName', config.attrName);\n if (config.file) {\n body.append(config.attrName, config.file);\n } else if (config.url) {\n body.append('url', config.url);\n }\n body.append('token', config.token);\n return this.network.postFile(body);\n }\n\n /**\n * Upload a list of files to the server. use the same token to link the file to an article\n * @param attrName file name (attachment, image, bannerImage, etc.)\n * @param files files\n * @param token token\n */\n public async uploadMany(configArray: Array<UploadConfig>) {\n return Promise.all(configArray.map((config) => this.upload(config)));\n }\n\n /**\n * Crop an image\n * @param config crop configuration\n * @returns\n */\n public async update(idFile: number | string, type: string, config: FileCropConfig) {\n return this.network\n .post<FileResponse>({\n o: 'file',\n f: 'update',\n idFile,\n type,\n cropDatas: {\n w: config.width,\n h: config.height,\n x: config.x,\n y: config.y,\n rotation: config.rotation,\n rotateBeforeCrop: true,\n },\n killSize: config.killSize,\n } as OF)\n .then((res) => {\n if (!res.result.crop) {\n return res;\n }\n const crop = JSON.parse(res.result.crop as unknown as string);\n return {\n ...res,\n result: {\n ...res.result,\n crop: {\n width: crop.w,\n height: crop.h,\n x: crop.x,\n y: crop.y,\n rotation: crop.rotation,\n },\n },\n };\n });\n }\n\n /**\n * delete file. This action is not automatic. You need to update the content associated with the deleted image with the same token\n * @param idFile file id\n * @param attrName attribute name\n * @param token token\n * @returns\n */\n public async deleteFile(idFile: number | string, attrName: string, token: string) {\n return this.network.post<''>({\n o: 'file',\n f: 'delete',\n idFile,\n attrName,\n token,\n } as OF);\n }\n\n /**\n * delete the image associated with a content. This action is permanent. There is no two step process with a token\n * @param id content id\n * @param type content type\n * @returns\n */\n public async deleteImage(id: number | string, type: string) {\n return this.network.post<{ id: number }>({\n o: 'file',\n f: 'deleteImage',\n id,\n type,\n } as OF);\n }\n}\n","import { JBaseApi } from './base';\nimport { OF } from '../util/network';\nimport { jObjectLittle, PagingResults, Rights } from '../types';\n\nexport interface RootFolderProps {\n id: number;\n title: string;\n uri: string;\n type: string;\n mainType: string;\n folderColor?: string;\n}\n\nexport interface SpotProps {\n id: number;\n title: string;\n uri: string;\n type: string;\n mainType: string;\n folderColor?: string;\n}\n\nexport interface FileBankProps {\n recents: any[];\n rootFolder: RootFolderProps;\n spot: SpotProps;\n}\n\nexport interface FolderProps extends jObjectLittle {\n mainType: string;\n folderColor?: string;\n parentURI?: string;\n _right: Rights;\n}\n\nexport class JFilebankApi extends JBaseApi {\n public getBanks(format = 'list'): Promise<Array<FileBankProps>> {\n return this.network.post<Array<FileBankProps>>({ o: 'fileBank', f: 'getBanks', format } as OF).then((res) => {\n return res.result;\n });\n }\n public getFolders(parentURI: string): Promise<PagingResults<FolderProps[]>> {\n return this.network\n .post<PagingResults<FolderProps[]>>({ o: 'fileBank', f: 'getFolders', parentURI } as OF)\n .then((res) => {\n return res.result;\n });\n }\n}\n","import {\n ApiReturn,\n Category,\n CreateGroup,\n Format,\n GroupList,\n GroupProperties,\n GroupView,\n GroupWidget,\n jObjectLittle,\n PagingResults,\n UpdateGroup,\n} from '../types';\nimport { JBaseApi } from './base';\nimport { OF } from '../util/network';\n\nexport class JGroupApi extends JBaseApi {\n /**\n * Create a group from scratch\n * @param group\n * @param format return format\n * @returns\n */\n public create<T extends Format = undefined>(group: CreateGroup, format?: T) {\n return this.network.post<ApiReturn<T, jObjectLittle, GroupList, GroupView, jObjectLittle>>({\n o: 'spot',\n f: 'create',\n ...group,\n format,\n } as OF);\n }\n\n /**\n * Update a group\n * @param group group to update. The uri is mandatory and identify the group to update\n * @param format return format\n * @returns\n */\n public update<T extends Format = undefined>(group: UpdateGroup, format?: T) {\n // remove spotBanner from group because if provided, the spot banner image will be deleted\n const { spotBanner: _spotBanner, ...restGroup } = group;\n\n return this.network.postCSRF<ApiReturn<T, jObjectLittle, GroupList, GroupView, string>>({\n o: 'spot',\n f: 'update',\n ...restGroup,\n format,\n } as OF);\n }\n\n /**\n * Get a spot\n * @param idSpot\n * @param format\n * @returns\n */\n public getSpot<T extends Format = undefined>(idSpot: number | string, format?: T) {\n return this.network.post<ApiReturn<T, jObjectLittle, GroupList, GroupView, string>>({\n o: 'spot',\n f: 'getSpot',\n idSpot,\n format,\n } as OF);\n }\n\n /**\n * Get the properties of a group that are not within the model\n * @param idSpot\n * @returns\n */\n public getProperties(idSpot: number | string) {\n return this.network.post<GroupProperties>({\n o: 'spot',\n f: 'getProperties',\n idSpot,\n } as OF);\n }\n\n /**\n * Get the available applications that can be added to a group\n */\n public getApplications() {\n return this.network.post<Record<string, GroupWidget>>({ o: 'spot', f: 'get-available-widget' });\n }\n\n /**\n * Get the available group categories\n * @returns\n */\n public getCategories() {\n return this.network.post<Category[]>({ o: 'spot', f: 'get-categories' });\n }\n\n /**\n * Get the members of a group\n * @param idSpot spot id\n * @param query query string to search within user names\n * @param limit limit per page\n * @param page page number\n * @return array of User\n */\n public getObjectListJamespotSpotMembers(idSpot: number | string, query?: string, limit?: number, page = 1) {\n return this.network.post<PagingResults<jObjectLittle>>({\n o: 'objectListJamespot',\n f: 'SpotMembers',\n idSpot,\n limit,\n page,\n format: 'raw-little',\n query,\n } as OF);\n }\n}\n","import { JBaseApi } from './base';\nimport { OF } from '../util/network';\nimport { AseiGroups, AseiRights, AseiTicket, AseiTicketStatus, Filters, Orders } from '../types';\nimport { JArticleApi } from './article/article';\nimport { ApiWrapper, PagingResults } from '../types';\n\nexport class JAseiApi extends JBaseApi {\n /**\n * List Asei Clearance Tickets\n * @param page page number\n * @param limit number of elements per page\n * @param filters filter object\n * @param orders order object\n */\n public list(\n page: number,\n limit: number,\n filters?: Filters,\n orders: Orders = [{ name: 'dateCreation', sort: 'DESC' }],\n ): Promise<ApiWrapper<PagingResults<AseiTicket>>> {\n const articleApi = new JArticleApi(this.network);\n return articleApi.list({\n type: 'aseiClearanceTicket',\n format: 'raw-view',\n limit,\n page,\n orders,\n filters,\n }) as Promise<ApiWrapper<PagingResults<AseiTicket>>>;\n }\n\n /**\n * change status of an Asei Ticket\n */\n public requestStatus(\n uri: string,\n requestedStatus: AseiTicketStatus,\n audience?: Array<string>,\n ): Promise<AseiTicket> {\n return this.network\n .post<AseiTicket>({ o: 'asei', f: 'setStatus', uri, requestedStatus, audience } as OF)\n .then((res) => {\n if (res && res.result) {\n return res.result;\n }\n throw 'Bad response from backend';\n });\n }\n\n /**\n * Get asei dedicated groups (dsi, administrators)\n */\n public getDedicatedGroups(): Promise<AseiGroups> {\n return this.network.post<AseiGroups>({ o: 'asei', f: 'getDedicatedGroups' } as OF).then((res) => {\n if (res && res.result) {\n return res.result;\n }\n throw 'Bad response from backend';\n });\n }\n\n /**\n * Get asei configuration (rights to access, rights to publish)\n */\n public getConfiguration(): Promise<AseiRights> {\n return this.network.post<{ right: AseiRights }>({ o: 'asei', f: 'configuration' }).then((res) => {\n if (res && res.result) {\n return res.result.right;\n }\n throw 'Bad response from backend';\n });\n }\n}\n","import { JBaseApi } from '../base';\nimport { ApiWrapper, DriveDocumentParams, DriveItemType, MSGraphGroup, MSGraphSite, MSGraphTenant } from '../../types';\nimport { OF } from '../../util/network';\n\nexport class JDriveApi extends JBaseApi {\n /**\n * Microsoft graph only\n * @returns\n */\n public tenants(): Promise<ApiWrapper<MSGraphTenant[]>> {\n return this.network.post({\n o: 'drive',\n f: 'getTenants',\n } as OF);\n }\n /**\n * Microsoft graph only\n * @returns\n */\n public groups(): Promise<ApiWrapper<MSGraphGroup[]>> {\n return this.network.post({\n o: 'drive',\n f: 'getGroups',\n } as OF);\n }\n /**\n * Microsoft graph only\n * @returns\n */\n public sites(): Promise<ApiWrapper<MSGraphSite[]>> {\n return this.network.post({\n o: 'drive',\n f: 'getSites',\n } as OF);\n }\n\n public documents(service: string, documentParams: DriveDocumentParams): Promise<ApiWrapper<DriveItemType[]>> {\n return this.network.post({\n o: 'drive',\n f: 'getDocuments',\n service,\n documentParams,\n } as OF);\n }\n}\n","import { JBaseApi } from '../base';\r\nimport { OF } from '../../util/network';\r\nimport { PagingResults, ApiWrapper, MediaLibraryList } from '../../types';\r\n\r\nexport class JMediaLibraryApi extends JBaseApi {\r\n public GetUnclassifiedFiles(format = 'raw-list'): Promise<ApiWrapper<PagingResults<MediaLibraryList>>> {\r\n return this.network.post({\r\n o: 'objectListMediaLibrary',\r\n f: 'GetUnclassifiedFiles',\r\n format: format,\r\n } as OF);\r\n }\r\n}\r\n","import { JBaseApi } from '../base';\nimport { ApiWrapper, jArticleList, License, MaybeWithToken, PagingResults } from '../../types';\nimport { OF } from '../../util/network';\nimport { ArticleCreation } from '../article/article';\n\nexport type JLandLog = {\n idLog: number;\n slug: string;\n dateCreation: string;\n map: string;\n mail: string;\n action: string;\n mode: string;\n};\n\nexport type JLandStat = {\n mail: string;\n cnt: string;\n};\n\nexport type JLandMapFlavor = string;\nexport type JLandMapKind = string;\n\nexport type JLandMap = jArticleList & {\n jlandMapFlavor: JLandMapFlavor;\n jlandMapKind: JLandMapKind;\n waMapUrl?: string;\n limit?: number;\n _extend: {\n licenses: Array<License>;\n };\n};\n\nexport type JLandMapCreation = ArticleCreation & {\n jlandMapAggregated: string;\n type: 'jlandmap';\n};\n\nexport class JLandApi extends JBaseApi {\n public getLogs({\n dateEnd,\n idLogMax,\n }: {\n dateEnd?: string;\n idLogMax?: number;\n }): Promise<ApiWrapper<Array<JLandLog>>> {\n return this.network.post({\n o: 'jLand',\n f: 'adminLogs',\n dateEnd,\n idLogMax,\n } as OF);\n }\n\n public getStats({\n map,\n dateStart,\n dateEnd,\n }: {\n map: string;\n dateStart?: string;\n dateEnd?: string;\n }): Promise<ApiWrapper<Array<JLandStat>>> {\n return this.network.post({\n o: 'jLand',\n f: 'adminStats',\n map,\n dateStart,\n dateEnd,\n } as OF);\n }\n\n public getAllMapsAsAdmin(format = 'raw-list,licenses'): Promise<ApiWrapper<PagingResults<JLandMap>>> {\n return this.network.post({\n o: 'objectListJLand',\n f: 'jLandList',\n format: format,\n } as OF);\n }\n\n public createMap(map: MaybeWithToken<JLandMapCreation>, format = 'raw-list') {\n return this.network.maybePostToken({\n ...map,\n o: 'article',\n f: 'create',\n format: format,\n type: 'jlandmap',\n } as OF);\n }\n}\n","import { ApiWrapper } from '../types';\nimport { JBaseApi } from './base';\nimport { OF } from '../util/network';\n\nexport class JMessengerApi extends JBaseApi {\n // FIXME fix return type, set as is since the return type has not been used yet\n public sendMessage(message: string, idDiscussion: string): Promise<ApiWrapper<Record<string, never>>> {\n return this.network.post({\n o: 'messenger',\n f: 'newMessage',\n idDiscussion,\n msg: { description: message },\n } as OF);\n }\n public getOrCreateDiscussion(idSender: number, idUserTo: number): Promise<ApiWrapper<Record<string, never>>> {\n const idDiscussion = idSender < idUserTo ? `${idSender}.${idUserTo}` : `${idUserTo}.${idSender}`;\n return this.network.post({\n o: 'messenger',\n f: 'getDiscussion',\n idDiscussion,\n type: 'messengerUser',\n idUserTo,\n } as OF);\n }\n}\n","import {\n ApiWrapper,\n SearchConfig,\n SearchQuery,\n SearchQueryResult,\n SearchResultCatProps,\n SearchLastQuery,\n SearchAdminConfig,\n} from '../../types';\nimport { JBaseApi } from '../base';\nimport { OF } from '../../util/network';\n\nexport class JSearchApi extends JBaseApi {\n /**\n * return a completed version of the current config, taking in account platform installed modules\n */\n public getConfig(): Promise<ApiWrapper<SearchConfig>> {\n return this.network.post({ o: 'search', f: 'getConfig' });\n }\n\n /**\n * Return a maximum of 8 results for a given text query, classed upon config categories\n * @param query string, words can be preceded by + and - for inclusive/exclusive search\n * @param signal: @AbortSignal to cancel the fetch\n */\n public proposition(\n { query, format }: { query: string; format?: 'list' | 'little' },\n signal?: AbortSignal,\n ): Promise<ApiWrapper<SearchResultCatProps[]>> {\n return this.network.post({ o: 'search', f: 'proposition', query, format: format || 'little' } as OF, signal);\n }\n\n /**\n * Return a page of results based on a text query and various filters.\n * All parameters are optional\n * @param query\n * @param query.keywords string, words can be preceded by + and - for inclusive/exclusive search (default *:*)\n * @param query.category text id of a category from config,if specified: restrict results to these category\n * @param query.facetCategories boolean, if true: count by categories are returned\n * @param query.filters array of @SearchQueryFilterModel @SearchQueryFilterModel.\n * @param query.page integer. default 1. index of returned page (start by 1)\n * @param query.limit integer. default 20. number of result by page\n * @param query.sort @SearchQuerySortModel default score then date\n * @param query.options @SearchQueryOption. extra possible options for the search\n * @param signal: @AbortSignal to cancel the fetch\n\n * // Todo add query.facets (to be specified first)\n */\n public searchQuery(query: SearchQuery, signal?: AbortSignal): Promise<ApiWrapper<SearchQueryResult>> {\n const { keywords, category, facetCategories, filters, page, limit, sort, options } = query;\n return this.network.post(\n {\n o: 'search',\n f: 'query',\n keywords,\n category,\n facetCategories,\n filters,\n page,\n limit,\n sort,\n options,\n } as OF,\n signal,\n );\n }\n\n /**\n * return the five last keywords typed in the searchbar by the user\n */\n public getLastQueries(): Promise<ApiWrapper<SearchLastQuery[]>> {\n return this.network.post({ o: 'search', f: 'getLastQueries' });\n }\n\n /**\n * return the current platform json search-config object\n */\n // FIXME when doing the search admin\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public getAdminConfig(): Promise<ApiWrapper<SearchAdminConfig>> {\n return this.network.post({ o: 'search', f: 'getAdminConfig' });\n }\n\n /**\n * set the platform search-config to the given json object\n * @param config object. json search config\n */\n // FIXME when doing the search admin\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public setAdminConfig(config: any): Promise<ApiWrapper<any>> {\n return this.network.post({ o: 'search', f: 'setAdminConfig', config } as OF);\n }\n}\n","import { JBaseApi } from '../base';\nimport { OF } from '../../util/network';\nimport { ApiWrapper, BaseMessagesOne, PagingResults } from '../../types';\nimport {\n AutoCompeteConcept,\n AutocompleteHierarchy,\n AutoCompleteList,\n Concept,\n Taxonomy,\n TaxonomyCreate,\n} from './types';\n\nexport class JTaxonomyApi extends JBaseApi {\n /**\n * list all taxonomies (no pagination)\n */\n public list(): Promise<Taxonomy[]> {\n return this.network\n .post<Taxonomy[]>({\n o: 'taxonomy',\n f: 'list',\n } as OF)\n .then((res) => {\n if (Array.isArray(res.result)) {\n return res.result;\n }\n throw 'Bad response from backend';\n });\n }\n\n public create(taxonomy: TaxonomyCreate): Promise<ApiWrapper<Taxonomy, BaseMessagesOne>> {\n return this.network.post<Taxonomy, BaseMessagesOne>({\n o: 'taxonomy',\n f: 'create',\n ...taxonomy,\n } as OF);\n }\n\n /**\n * autocomplete return a list of tags\n * @param idTaxonomy taxonomy id\n * @param query search characters\n */\n public autocomplete(idTaxonomy: string, query: string) {\n return this.network.post<Array<{ id: string; type: string }>>({\n o: 'autocomplete',\n f: 'taxonomy',\n q: query,\n idTaxonomy,\n idToUri: false,\n } as OF);\n }\n\n public autocompleteList(payload: AutoCompleteList) {\n return this.network.post<PagingResults<Concept>>({\n o: 'objectListTaxonomy',\n f: 'concept',\n ...payload,\n } as OF);\n }\n\n public autocompleteHierarchy(payload: AutocompleteHierarchy) {\n return this.network.post<PagingResults<AutoCompeteConcept>>({\n o: 'objectListTaxonomyHierarchy',\n f: 'concept',\n ...payload,\n } as OF);\n }\n}\n","import { JBaseApi } from '../base';\nimport { OF } from '../../util/network';\nimport {\n ApiWrapper,\n Little,\n jObjectLittle,\n UserModel,\n UserMapModel,\n jUserAutocomplete,\n ApiPagingResults,\n ApiDefaultWrapper,\n jUserLittle,\n} from '../../types';\n\nexport type User = Little & {\n id: string; // FIXME\n shortUri: string;\n name: string;\n label: string;\n cssClass: string;\n cssColor: string;\n class: string;\n Pseudo: string;\n _values: Record<string, unknown>;\n};\n\nimport { Orders, Filters } from '../../types';\nimport { ArticleCreation } from '../article/article';\n\nexport interface ObjectListProps {\n additionalFilter?: {}; // FIXME\n facets?: {}[]; // FIXME\n filters?: Filters;\n query?: string;\n limit?: number;\n page?: number;\n orders?: Orders;\n format?: string;\n}\n\nexport type UserDirectoryConfiguration = {\n userDirectoryShow: '' | '1';\n contactDirectoryShow: '0' | '1';\n businessContactShow: boolean;\n menu: '0' | '1';\n cardFields: Array<string>;\n tableFields: Array<string>;\n viewFields: Array<string>;\n userGeoloc?: boolean;\n sort: string;\n cnt?: number;\n filters: Array<{\n name: string;\n type: string;\n }>;\n};\n\nexport type BusinessContact = {\n mail: string | undefined;\n title: string;\n firstname: string;\n lastname: string;\n phoneNumber?: string | undefined;\n company?: string | undefined;\n function?: string | undefined;\n uri?: string | undefined;\n field1?: string | undefined;\n field2?: string | undefined;\n field3?: string | undefined;\n field4?: string | undefined;\n field5?: string | undefined;\n};\n\nexport class JUserApi extends JBaseApi {\n /**\n * autocomplete return a list users\n * @param query <string>\n */\n public autocomplete(query: string) {\n return this.network\n .post<Array<jUserAutocomplete>>({ o: 'autocomplete', f: 'user', q: query, idToUri: false } as OF)\n .then((res) => {\n return res.result;\n });\n }\n\n /**\n * Get a user\n * @param uri uri\n * @param format little by default. If another format is provided, the generic types should be defined\n */\n public get<T extends jObjectLittle = jObjectLittle>(uri: string, format = 'little'): Promise<ApiWrapper<T>> {\n return this.network.post<T>({ o: 'user', f: 'get', uri, format } as OF);\n }\n\n public configuration(): Promise<ApiWrapper<UserDirectoryConfiguration>> {\n return this.network.post({ o: 'userDirectory', f: 'configuration' } as OF);\n }\n\n public userQueryList<T extends jObjectLittle = jUserLittle>(\n payload: ObjectListProps,\n ): Promise<ApiPagingResults<T>> {\n return this.network.post({ o: 'objectList', f: 'JamespotUserQueryList', ...payload } as OF);\n }\n\n public userMap(payload: ObjectListProps): Promise<ApiPagingResults<UserMapModel>> {\n return this.network.post({ o: 'objectListJamespot', f: 'userMap', ...payload } as OF);\n }\n\n public userBusinessContactQueryList(query: ObjectListProps): Promise<ApiPagingResults<UserModel>> {\n return this.network.post({ o: 'businessContact', f: 'queryList', ...query } as OF);\n }\n\n public userCreateBusinessContact(user: BusinessContact) {\n const userFormatter = {\n ...user,\n pseudo: user.title,\n firstName: user.firstname,\n lastName: user.lastname,\n champ1: user.field1,\n champ2: user.field2,\n champ3: user.field3,\n champ4: user.field4,\n champ5: user.field5,\n };\n const payload = {\n ...userFormatter,\n type: 'businessContactCard',\n publishTo: 'networkPublic/1', // TEMPORARY TILL I FIX J.networks.networkPublic.uri\n };\n return window.JamespotUserApi.article.create(payload as ArticleCreation);\n }\n\n public userUpdateBusinessContact(user: BusinessContact) {\n const userFormatter = {\n ...user,\n pseudo: user.title,\n firstName: user.firstname,\n lastName: user.lastname,\n champ1: user.field1,\n champ2: user.field2,\n champ3: user.field3,\n champ4: user.field4,\n champ5: user.field5,\n };\n const payload = {\n ...userFormatter,\n uri: user.uri,\n publishTo: 'networkPublic/1', // TEMPORARY TILL I FIX J.networks.networkPublic.uri\n };\n return window.JamespotUserApi.article.update(payload as { uri: string });\n }\n\n public userDeleteBusinessContact(idArticle: number) {\n return window.JamespotUserApi.article.delete(idArticle);\n }\n\n public userAddContact(idUser: number): Promise<ApiDefaultWrapper> {\n return this.network.post({ o: 'user', f: 'addContact', idUser } as OF);\n }\n\n public userRemoveContact(idUser: number): Promise<ApiDefaultWrapper> {\n return this.network.post({ o: 'user', f: 'removeContact', idUser } as OF);\n }\n\n /**\n * signIn function returns a Promise of users.\n * @param mail Mail or username\n * @param pwd Password to be validated\n */\n public signIn(mail: string, pwd: string) {\n return this.network.post<jUserAutocomplete>({ o: 'user', f: 'signIn', mail, password: pwd } as OF);\n }\n}\n","import { ApiWrapper, WedocFileType, WedocQueryResults, WedocQueryType, WedocTemplate } from '../types';\nimport { JBaseApi } from './base';\nimport { OF } from '../util/network';\n\nexport class JWedocApi extends JBaseApi {\n public getFiles(query: WedocQueryType): Promise<WedocQueryResults> {\n return this.network.post<WedocQueryResults>({ o: 'onlyOffice', f: 'getFiles', ...query } as OF).then((res) => {\n const result = res.result;\n if (Array.isArray(result.data)) {\n return { page: result.page, cnt: result.cnt, limit: result.limit, data: result.data };\n }\n\n throw {\n error: res.error,\n messages: res.messages,\n };\n });\n }\n\n public getFile(idFile: number, hash?: string): Promise<WedocFileType> {\n return this.network.post<WedocFileType>({ o: 'onlyOffice', f: 'getFile', idFile, hash } as OF).then((res) => {\n return res.result;\n });\n }\n\n public getTemplates(): Promise<WedocTemplate[]> {\n return this.network.post<WedocTemplate[]>({ o: 'onlyOffice', f: 'getTemplates' } as OF).then((res) => {\n return res.result;\n });\n }\n\n public duplicateFile(\n idFile: number,\n title: string,\n publishTo: string[],\n ): Promise<ApiWrapper<boolean, { code: number; msg: string }>> {\n return this.network.post({ o: 'onlyOffice', f: 'duplicateFile', idFile, title, publishTo } as OF);\n }\n\n public deleteFile(idFile: number): Promise<ApiWrapper<boolean, { code: number; msg: string }>> {\n return this.network.post({ o: 'onlyOffice', f: 'deleteFile', idFile } as OF);\n }\n\n public createFile(title: string, type: string, publishTo: string[]): Promise<{ idFile: number }> {\n return this.network\n .post<{ idFile: number }>({ o: 'onlyOffice', f: 'createFile', title, type, publishTo } as OF)\n .then((res) => {\n return res.result;\n });\n }\n\n public updateFile(idFile: number, title: string): Promise<ApiWrapper<boolean, { code: number; msg: string }>> {\n return this.network.post({ o: 'onlyOffice', f: 'updateFile', idFile, title } as OF);\n }\n\n public getFileInfo(idFile: number, mode: string): Promise<ApiWrapper<boolean, { code: number; msg: string }>> {\n return this.network.post({ o: 'onlyOffice', f: 'GetFileInfo', idFile, mode } as OF);\n }\n}\n","import { ApiWrapper } from '../types';\nimport { JBaseApi } from './base';\nimport { OF } from '../util/network';\nimport { ShareAccessObject, ShareAccessProps, ShareAccessRequestProps } from '../types/share';\n\n/*\n * FOR NOW SHARE ACCESS API LINKED TO ONLYOFFICE\n * FOR NOW SHARE ACCESS API LINKED TO ONLYOFFICE\n * FOR NOW SHARE ACCESS API LINKED TO ONLYOFFICE\n * FOR NOW SHARE ACCESS API LINKED TO ONLYOFFICE\n */\n\nexport class JShareApi extends JBaseApi {\n public setObjectAccessRequest(\n uri: string,\n idUser: number,\n requestAccessValue: 'accept' | 'deny',\n requestResponseMessage?: string,\n ): Promise<ApiWrapper<boolean, { code: number; msg: string }>> {\n return this.network.post({\n o: 'onlyOffice',\n f: 'setObjectAccessRequest',\n uri,\n idUser,\n requestAccessValue,\n requestResponseMessage,\n } as OF);\n }\n\n public getObjectAccessRequest(uri: string, idUser?: number): Promise<ShareAccessRequestProps[]> {\n return this.network\n .post<ShareAccessRequestProps[]>({\n o: 'onlyOffice',\n f: 'getObjectAccessRequest',\n uri,\n idUser,\n } as OF)\n .then((res) => {\n return res.result;\n });\n }\n\n public getObject(uri: string): Promise<ShareAccessObject> {\n return this.network.post<ShareAccessObject>({ o: 'onlyOffice', f: 'getObject', uri } as OF).then((res) => {\n return res.result;\n });\n }\n\n public askObjectAccess(uri: string, askAccess: 'read' | 'write', askMessage?: string): Promise<boolean> {\n return this.network\n .post<boolean>({ o: 'onlyOffice', f: 'askObjectAccess', uri, askAccess, askMessage } as OF)\n .then((res) => {\n return res.result;\n });\n }\n\n public setObjectAccess(\n uri: string,\n access: { read: string[]; write: string[] },\n message: string,\n generalAccessRule: string,\n ): Promise<boolean> {\n return this.network\n .post<boolean>({\n o: 'onlyOffice',\n f: 'setObjectAccess',\n uri,\n access,\n message,\n generalAccessRule,\n } as OF)\n .then((res) => {\n return res.result;\n });\n }\n\n public getObjectAccess(uri: string): Promise<ShareAccessProps> {\n return this.network\n .post<ShareAccessProps>({\n o: 'onlyOffice',\n f: 'getObjectAccess',\n uri,\n } as OF)\n .then((res) => {\n return { audience: res.result.audience, read: res.result.read, write: res.result.write };\n });\n }\n}\n","import { AdminLicenseApi, AdminUtilsApi, AdminStoreApi } from './admin';\nimport { JApplicationApi } from './application';\nimport { JArticleApi } from './article/article';\nimport { JAseiApi } from './asei';\nimport { JAssetReservation } from './assetReservation';\nimport { JAudienceApi } from './audience/audience';\nimport { JCommunityApi } from './community';\nimport { JDriveApi } from './drive/drive';\nimport { JFileApi } from './file';\nimport { JFilebankApi } from './filebank';\nimport { JGroupApi } from './group';\nimport { JMediaLibraryApi } from './mediaLibrary/mediaLibrary';\nimport { JLandApi } from './jland/jland';\nimport { JMessengerApi } from './messenger';\nimport { JSearchApi } from './search/search';\nimport { JBookmarkApi } from './bookmark';\nimport { JTaxonomyApi } from './taxonomy';\nimport { JUserApi } from './user/user';\nimport { JDiapazoneApi } from './diapazone';\nimport { JWedocApi } from './wedoc';\nimport { Network } from '../util/network';\nimport { JShareApi } from './share';\n\n/**\n * In browser usage, 'window' should be the window object.\n * In server side usage, 'window' object given must implement the fetch method, used by the Apis.\n * See tests implementation for a working Node sample.\n *\n * Each property (except {@link constants} and {@link window}) is an API providing access to a Jamespot.Pro backend.\n */\nexport class JamespotUserApi {\n public version = '1.0';\n public network: Network;\n public admin: {\n license: AdminLicenseApi;\n store: AdminStoreApi;\n utils: AdminUtilsApi;\n };\n public application: JApplicationApi;\n public article: JArticleApi;\n public asei: JAseiApi;\n public assetReservation: JAssetReservation;\n public audience: JAudienceApi;\n public bookmark: JBookmarkApi;\n public community: JCommunityApi;\n public diapazone: JDiapazoneApi;\n public drive: JDriveApi;\n public file: JFileApi;\n public filebank: JFilebankApi;\n public group: JGroupApi;\n public jland: JLandApi;\n public mediaLibrary: JMediaLibraryApi;\n public messenger: JMessengerApi;\n public search: JSearchApi;\n public share: JShareApi;\n public taxonomy: JTaxonomyApi;\n public user: JUserApi;\n public wedoc: JWedocApi;\n\n public constructor(network: Network) {\n this.network = network;\n this.admin = {\n license: new AdminLicenseApi(this.network),\n store: new AdminStoreApi(this.network),\n utils: new AdminUtilsApi(this.network),\n };\n this.application = new JApplicationApi(this.network);\n this.article = new JArticleApi(this.network);\n this.asei = new JAseiApi(this.network);\n this.assetReservation = new JAssetReservation(this.network);\n this.audience = new JAudienceApi(this.network);\n this.bookmark = new JBookmarkApi(this.network);\n this.community = new JCommunityApi(this.network);\n this.diapazone = new JDiapazoneApi(this.network);\n this.drive = new JDriveApi(this.network);\n this.file = new JFileApi(this.network);\n this.filebank = new JFilebankApi(this.network);\n this.group = new JGroupApi(this.network);\n this.jland = new JLandApi(this.network);\n this.mediaLibrary = new JMediaLibraryApi(this.network);\n this.messenger = new JMessengerApi(this.network);\n this.search = new JSearchApi(this.network);\n this.share = new JShareApi(this.network);\n this.taxonomy = new JTaxonomyApi(this.network);\n this.user = new JUserApi(this.network);\n this.wedoc = new JWedocApi(this.network);\n }\n}\n","import { ApiWrapper, BaseMessages, FileResponse, MaybeWithCsrf, MaybeWithToken } from '../types';\nimport { FetchReturnType, WindowInterface } from '../window/Window';\n\nexport interface OF {\n o: string;\n f: string;\n}\n\n/**\n * deprecated\n */\nexport class Network {\n private readonly action: string;\n private readonly window: WindowInterface;\n\n public constructor(window: WindowInterface, action = 'api-front') {\n this.window = window;\n this.action = action;\n }\n\n public static _formatPostOptions(body: object): RequestInit {\n const source = body ? { body: JSON.stringify(body) } : undefined;\n return Object.assign({ method: 'POST', credentials: 'same-origin' as const }, source);\n }\n\n public static _formatQueryOptions(options: Record<string, string | boolean | number>): string {\n return Object.entries(options)\n .reduce((acc, [optKey, optValue]) => {\n acc.append(optKey, optValue.toString());\n return acc;\n }, new URLSearchParams())\n .toString();\n }\n\n public async getUrl(o: string, f: string) {\n const backendUrl = await this.window.getBackendUrl();\n let href;\n try {\n const url = new URL(`/${this.action}/${o}/${f}`, backendUrl);\n href = url.href;\n } catch (e) {\n href = `${backendUrl}/${this.action}/${o}/${f}`;\n }\n return href;\n }\n\n public async getHostname() {\n const splittedBackUrl = (await this.window.getBackendUrl()).split('//');\n return splittedBackUrl.length > 1 ? splittedBackUrl[1] : splittedBackUrl[0];\n }\n\n // FIXME Promise<Response> should depend of T\n public async fetch({ o, f, ...body }: OF, signal?: AbortSignal | null): FetchReturnType {\n if (signal === undefined) {\n signal = null;\n }\n const url = await this.getUrl(o, f);\n return this.window.fetch(url, { ...Network._formatPostOptions(body), signal });\n }\n\n public post<T, U = BaseMessages>(body: OF, signal?: AbortSignal): Promise<ApiWrapper<T, U>> {\n return this.fetch(body, signal)\n .then((res) => res.json() as Promise<ApiWrapper<T, U>>)\n .then((res) => {\n if (res.error === 0) {\n return res;\n }\n throw {\n error: res.error,\n errorMsg: res.errorMsg,\n messages: res.messages,\n };\n })\n .catch((err) => {\n if (signal && signal.aborted) {\n throw {\n error: -1,\n aborted: true,\n };\n }\n throw err;\n });\n }\n\n public async postFile(body: FormData) {\n const url = await this.getUrl('file', 'create');\n\n if (!body.get('token')) {\n const { result } = await this.token();\n body.append('token', result);\n }\n\n return this.window\n .fetch(url, {\n method: 'POST',\n credentials: 'same-origin',\n body,\n })\n .then((resp) => resp.json() as Promise<ApiWrapper<FileResponse>>);\n }\n\n public postCSRF<T, U = BaseMessages>(body: OF): Promise<ApiWrapper<T, U>> {\n return this.tokenCSRF().then((tokenCSRF) => this.post(Object.assign(body, { tokenCSRF: tokenCSRF.result })));\n }\n\n public maybePostCSRF<T, U = BaseMessages>(body: MaybeWithCsrf<OF>): Promise<ApiWrapper<T, U>> {\n if ('tokenCSRF' in body && body.tokenCSRF) {\n return this.post(body);\n } else {\n return this.postCSRF(body);\n }\n }\n\n public postToken<T, U = BaseMessages>(body: OF): Promise<ApiWrapper<T, U>> {\n return this.token().then((token) => this.post(Object.assign(body, { token: token.result })));\n }\n\n public maybePostToken<T, U = BaseMessages>(body: MaybeWithToken<OF>): Promise<ApiWrapper<T, U>> {\n if ('token' in body && body.token) {\n return this.post(body);\n } else {\n return this.postToken(body);\n }\n }\n\n public token(): Promise<ApiWrapper<string>> {\n return this.post({ o: 'misc', f: 'token' });\n }\n\n public tokenCSRF(): Promise<ApiWrapper<string>> {\n return this.post({ o: 'misc', f: 'tokenCSRF' });\n }\n}\n","import { WindowInterface } from './Window';\n\nexport class WindowBrowser implements WindowInterface {\n async getBackendUrl() {\n const location = window.location;\n return `${location.protocol}//${location.host}`;\n }\n\n fetch(url: string, init?: RequestInit): Promise<Response> {\n return window.fetch(url, init);\n }\n}\n","import { WidgetsValue } from './model';\nimport { jObjectLittle } from './utils';\n\n/**\n * @deprecated Use jUserList instead\n */\nexport type UserModel = jObjectLittle & {\n firstname: string;\n lastname: string;\n active: number;\n mail?: string;\n};\n\nexport type UserMapModel = {\n idInType: number;\n lat: number;\n lng: number;\n};\n\nexport const UserLevel = {\n ADMIN: 9,\n USER: 5,\n EXTERNAL: 3,\n GUEST: 0,\n} as const;\n\nexport type jUserLittle = jObjectLittle & {\n level: typeof UserLevel[keyof typeof UserLevel];\n dateCreation: string;\n dateModified: string;\n};\n\nexport type jUserList = jUserLittle & {\n active: number;\n [key: string]: WidgetsValue;\n};\n\nexport type jUserView = jUserList & {};\n","import { FileResponse, WidgetFileType } from '../types';\n\nexport const allowedFileExtensions = ['docx', 'xlsx', 'pptx', 'pdf', 'jpeg', 'png', 'zip', 'mp3', 'mp4', 'jpg', 'txt'];\nexport const mimetypeMap: Record<string, string> = {\n docx: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n pptx: 'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n pdf: 'application/pdf',\n jpeg: 'image/jpeg',\n jpg: 'image/jpg',\n png: 'image/png',\n zip: 'application/zip',\n mp3: 'audio/mp3',\n mp4: 'video/mp4',\n};\n\nexport function getExtensionFromName(name: string | undefined): string | undefined {\n const tryExt = String(name).split('.').pop();\n\n if (tryExt !== undefined) {\n if (allowedFileExtensions.find((ext) => ext === tryExt.toLocaleLowerCase())) {\n return tryExt;\n }\n }\n\n return undefined;\n}\n\nexport function getFileFamily(mime: string): string | undefined {\n // Exceptions for PSD and SVG\n if (mime && (mime.startsWith('image/vnd') || mime.startsWith('image/svg'))) {\n return 'application';\n }\n\n if (mime && mime.startsWith('image/')) {\n return 'image';\n }\n if (mime && mime.startsWith('video/')) {\n return 'video';\n }\n if (mime && mime.startsWith('audio/')) {\n return 'audio';\n }\n if (mime && mime.startsWith('font/')) {\n return 'font';\n }\n if (mime && mime.startsWith('text/')) {\n return 'text';\n }\n\n return 'application';\n}\n\nexport function getMimetypeFromExtension(ext: string | undefined): string {\n const cleanExt = ext !== undefined ? String(ext).toLocaleLowerCase() : 'noExt';\n\n return mimetypeMap[cleanExt] ?? 'txt';\n}\n\nexport function apiFileToWidgetFile(fileResponse: FileResponse): WidgetFileType {\n const fileExtension = getExtensionFromName(fileResponse.name);\n const fileType = getMimetypeFromExtension(fileExtension);\n\n // Store the filename to let user write is own title (without midify the file in bdd)\n return {\n id: parseInt(fileResponse.id),\n filename: fileResponse.name,\n mimetype: fileType,\n dimension: fileResponse.imagesize,\n };\n}\n","import { BookmarkCustom, BookmarkLink, BookmarkRawList, jObjectBase } from '../types';\n\nfunction ensureIsBookmarkLink(bookmark: BookmarkCustom | BookmarkLink): bookmark is BookmarkLink {\n return 'targetId' in bookmark && !!bookmark.targetId;\n}\n\nfunction ensureIsBookmarkCustom(bookmark: BookmarkCustom | BookmarkLink): bookmark is BookmarkCustom {\n const bookmarkCustom = bookmark as BookmarkCustom;\n return (\n bookmarkCustom.bookmarkLabel !== undefined ||\n bookmarkCustom.bookmarkMeta !== undefined ||\n bookmarkCustom.bookmarkUrl !== undefined\n );\n}\n\nfunction ensureIsBookmarkRawList(bookmark: jObjectBase | BookmarkRawList): bookmark is BookmarkRawList {\n const asBookmark = bookmark as BookmarkRawList;\n return asBookmark && typeof asBookmark.id === 'number' && typeof asBookmark.targetId === 'number';\n}\n\ntype jObjectTypes = {\n bookmarkLink: BookmarkRawList;\n};\n\nconst ensureFunctions = {\n bookmarkLink: ensureIsBookmarkRawList,\n};\n\nfunction ensureObjectIsType<T extends keyof jObjectTypes>(type: T, object: jObjectBase): object is jObjectTypes[T] {\n return object !== undefined && object !== null && ensureFunctions[type](object);\n}\n\nexport const jEnsure = {\n isBookmarkLink: ensureIsBookmarkLink,\n isBookmarkCustom: ensureIsBookmarkCustom,\n isBookmarkRawList: ensureIsBookmarkRawList,\n objectIsType: ensureObjectIsType,\n};\n","import { JamespotUserApi } from './apis';\nimport { Network } from './util/network';\nimport { WindowBrowser } from './window';\n\nexport const network = new Network(new WindowBrowser());\nconst JamespotUserApiInstance = new JamespotUserApi(network);\n\ndeclare global {\n interface Window {\n JamespotUserApi: JamespotUserApi;\n }\n}\n\nwindow.JamespotUserApi = JamespotUserApiInstance;\n\nexport { JamespotUserApiInstance };\nexport default JamespotUserApiInstance;\n\nexport * from './apis';\nexport * from './types';\nexport * from './util/network';\nexport * from './util/file';\nexport * from './util/ensure';\nexport * from './window';\n\nexport const api = JamespotUserApi;\n"],"names":["StudioApplicationStatus","__webpack_require__","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","JBaseApi","network","this","AdminLicenseApi","getLicenseUserStatistics","post","f","assignLicense","uri","postCSRF","unAssignLicense","getAssignmentMode","type","setAssignmentMode","assignmentMode","assignPossiblesLicenses","unAssignUnusedLicenses","optimizeLicenses","getObjectsWithoutLicense","filter","getLicensesNotAssigned","getLicensesAssigned","AdminStoreApi","getItem","checkoutBilling","checkoutFinalize","AdminUtilsApi","getApps","JApplicationApi","list","idApp","status","install","xmlBody","suspend","restart","save","saved","autosaved","delete","then","res","error","messages","cssClassList","JArticleApi","config","create","article","format","maybePostToken","update","id","idArticle","count","JAssetReservation","configuration","createReservation","params","getReservations","cancelReservation","bookByDate","getList","JAudienceApi","autocomplete","query","q","Array","isArray","result","JBookmarkApi","getFormattedList","filterSpecs","addFormattedLink","targetId","targetType","requestedFormat","addBookmark","bookmark","bookmarkId","bookmarkID","rename","bookmarkLabel","bookmarkUrl","move","bookmarkReference","position","bookmarkPosition","JCommunityApi","sendRequest","message","idUserTo","JDiapazoneApi","token","title","dateStart","publishTo","filters","orders","page","data","JFileApi","upload","body","FormData","append","attrName","file","url","postFile","uploadMany","configArray","Promise","all","map","idFile","cropDatas","w","width","h","height","x","y","rotation","rotateBeforeCrop","killSize","crop","JSON","parse","deleteFile","deleteImage","JFilebankApi","getBanks","getFolders","parentURI","JGroupApi","group","spotBanner","_spotBanner","restGroup","getSpot","idSpot","getProperties","getApplications","getCategories","getObjectListJamespotSpotMembers","limit","JAseiApi","name","sort","requestStatus","requestedStatus","audience","getDedicatedGroups","getConfiguration","right","JDriveApi","tenants","groups","sites","documents","service","documentParams","JMediaLibraryApi","GetUnclassifiedFiles","JLandApi","getLogs","dateEnd","idLogMax","getStats","getAllMapsAsAdmin","createMap","JMessengerApi","sendMessage","idDiscussion","msg","description","getOrCreateDiscussion","idSender","JSearchApi","getConfig","proposition","signal","searchQuery","keywords","category","facetCategories","options","getLastQueries","getAdminConfig","setAdminConfig","JTaxonomyApi","taxonomy","idTaxonomy","idToUri","autocompleteList","payload","autocompleteHierarchy","JUserApi","userQueryList","userMap","userBusinessContactQueryList","userCreateBusinessContact","user","userFormatter","pseudo","firstName","firstname","lastName","lastname","champ1","field1","champ2","field2","champ3","field3","champ4","field4","champ5","field5","window","JamespotUserApi","userUpdateBusinessContact","userDeleteBusinessContact","userAddContact","idUser","userRemoveContact","signIn","mail","pwd","password","JWedocApi","getFiles","cnt","getFile","hash","getTemplates","duplicateFile","createFile","updateFile","getFileInfo","mode","JShareApi","setObjectAccessRequest","requestAccessValue","requestResponseMessage","getObjectAccessRequest","getObject","askObjectAccess","askAccess","askMessage","setObjectAccess","access","generalAccessRule","getObjectAccess","read","write","version","admin","license","store","utils","application","asei","assetReservation","community","diapazone","drive","filebank","jland","mediaLibrary","messenger","search","share","wedoc","Network","action","static","source","stringify","undefined","assign","method","credentials","entries","reduce","acc","optKey","optValue","toString","URLSearchParams","getUrl","backendUrl","getBackendUrl","href","URL","e","getHostname","splittedBackUrl","split","length","fetch","_formatPostOptions","json","errorMsg","catch","err","aborted","resp","tokenCSRF","maybePostCSRF","postToken","WindowBrowser","location","protocol","host","init","UserLevel","ADMIN","USER","EXTERNAL","GUEST","allowedFileExtensions","mimetypeMap","docx","xlsx","pptx","pdf","jpeg","jpg","png","zip","mp3","mp4","getExtensionFromName","tryExt","String","pop","find","ext","toLocaleLowerCase","getFileFamily","mime","startsWith","getMimetypeFromExtension","cleanExt","apiFileToWidgetFile","fileResponse","fileType","parseInt","filename","mimetype","dimension","imagesize","ensureIsBookmarkRawList","asBookmark","ensureFunctions","bookmarkLink","jEnsure","isBookmarkLink","isBookmarkCustom","bookmarkCustom","bookmarkMeta","isBookmarkRawList","objectIsType","object","JamespotUserApiInstance","api"],"sourceRoot":""}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { JBaseApi } from '../base';
|
|
2
|
+
import { AdminLicensesAssigned, AdminLicensesNotAssigned, AdminLicenseUserStats, ObjectWithoutLicenseFilter } from '../../types';
|
|
3
|
+
export declare class AdminLicenseApi extends JBaseApi {
|
|
4
|
+
/**
|
|
5
|
+
* Retrieve the user licenses stats
|
|
6
|
+
*/
|
|
7
|
+
getLicenseUserStatistics(): Promise<import("../../types").ApiWrapper<AdminLicenseUserStats, import("../../types").BaseMessages>>;
|
|
8
|
+
/**
|
|
9
|
+
* Assigns a license to the content with the provided uri (if any is available)
|
|
10
|
+
* @param uri URI of the object to which a license must be assigned
|
|
11
|
+
* @returns boolean
|
|
12
|
+
*/
|
|
13
|
+
assignLicense(uri: string): Promise<import("../../types").ApiWrapper<boolean, import("../../types").BaseMessages>>;
|
|
14
|
+
/**
|
|
15
|
+
* Unassigns the license linked to the content with the provided uri
|
|
16
|
+
* @param uri URI of the object to which a license must be unassigned
|
|
17
|
+
* @returns boolean
|
|
18
|
+
*/
|
|
19
|
+
unAssignLicense(uri: string): Promise<import("../../types").ApiWrapper<boolean, import("../../types").BaseMessages>>;
|
|
20
|
+
/**
|
|
21
|
+
* Retrieve the assignment license user mode between automatic | manual
|
|
22
|
+
* @param type retrieve the automatic license assignation
|
|
23
|
+
* @returns a string who's the current assignment selected
|
|
24
|
+
*/
|
|
25
|
+
getAssignmentMode(type: string): Promise<import("../../types").ApiWrapper<string, import("../../types").BaseMessages>>;
|
|
26
|
+
/**
|
|
27
|
+
* Change the mode which the license are affected to the users
|
|
28
|
+
* @param type the type of license that would automatically be assigned
|
|
29
|
+
* @param assignmentMode the mode which the license are affected (automatic | manual)
|
|
30
|
+
* @returns boolean
|
|
31
|
+
*/
|
|
32
|
+
setAssignmentMode(type: string, assignmentMode: string): Promise<import("../../types").ApiWrapper<boolean, import("../../types").BaseMessages>>;
|
|
33
|
+
/**
|
|
34
|
+
* Assign the available licenses
|
|
35
|
+
* @param type the type of licenses for which we will assign the remaining available one
|
|
36
|
+
* @returns boolean
|
|
37
|
+
*/
|
|
38
|
+
assignPossiblesLicenses(type: string): Promise<import("../../types").ApiWrapper<boolean, import("../../types").BaseMessages>>;
|
|
39
|
+
/**
|
|
40
|
+
* Unassign licenses for inactive users
|
|
41
|
+
* @param type the type of licenses for which we will unassign upon inactive user
|
|
42
|
+
* @returns boolean
|
|
43
|
+
*/
|
|
44
|
+
unAssignUnusedLicenses(type: string): Promise<import("../../types").ApiWrapper<boolean, import("../../types").BaseMessages>>;
|
|
45
|
+
/**
|
|
46
|
+
* Assign available licenses and unassign license for inactive users
|
|
47
|
+
* @param type the type of licenses for which we will unassign and assign the possible licenses
|
|
48
|
+
* @returns boolean
|
|
49
|
+
*/
|
|
50
|
+
optimizeLicenses(type: string): Promise<import("../../types").ApiWrapper<boolean, import("../../types").BaseMessages>>;
|
|
51
|
+
/**
|
|
52
|
+
* Retrieves the number of licenses of a given type available. License type is
|
|
53
|
+
* different from the content type to which it can be assigned to.
|
|
54
|
+
*
|
|
55
|
+
* @param type The type of license for which we want to know the availability
|
|
56
|
+
* @param filter the filters array the request can be called with
|
|
57
|
+
* @returns A promise with the number of object without license
|
|
58
|
+
*/
|
|
59
|
+
getObjectsWithoutLicense(type: string, filter?: ObjectWithoutLicenseFilter[]): Promise<import("../../types").ApiWrapper<number, import("../../types").BaseMessages>>;
|
|
60
|
+
/**
|
|
61
|
+
* Retireve the list of licenses assigned to content of a given type
|
|
62
|
+
*
|
|
63
|
+
* @param type type of content for which we want to retrieve the licenses not assigned
|
|
64
|
+
* @returns The number of licenses depending on the type used as param
|
|
65
|
+
*/
|
|
66
|
+
getLicensesNotAssigned(type: string): Promise<import("../../types").ApiWrapper<AdminLicensesNotAssigned, import("../../types").BaseMessages>>;
|
|
67
|
+
/**
|
|
68
|
+
* Retireve the list of licenses assigned to content of a given type
|
|
69
|
+
*
|
|
70
|
+
* @param type type of content for which we want to retrieve the licenses
|
|
71
|
+
* @returns The list of licenses assigned to content of the provided type
|
|
72
|
+
*/
|
|
73
|
+
getLicensesAssigned(type: string): Promise<import("../../types").ApiWrapper<AdminLicensesAssigned[], import("../../types").BaseMessages>>;
|
|
74
|
+
}
|