jamespot-user-api 1.0.43 → 1.0.47
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/JApplication.html +1 -1
- package/documentation/classes/JApplicationApi.html +8 -8
- package/documentation/classes/JArticleApi.html +1 -1
- package/documentation/classes/JAudienceApi.html +1 -1
- package/documentation/classes/JBaseApi.html +1 -1
- package/documentation/classes/JBaseObject.html +1 -1
- package/documentation/classes/JBookmark.html +1 -1
- package/documentation/classes/JBookmarkApi.html +1 -1
- package/documentation/classes/JCommunityApi.html +1 -1
- package/documentation/classes/JConcept.html +1 -1
- package/documentation/classes/JConceptApi.html +1 -1
- package/documentation/classes/JDiapazoneApi.html +1 -1
- package/documentation/classes/JFileApi.html +1 -1
- package/documentation/classes/JFilebankApi.html +1 -1
- package/documentation/classes/JGroupApi.html +1 -1
- package/documentation/classes/JLandApi.html +1 -1
- package/documentation/classes/JMessengerApi.html +1 -1
- package/documentation/classes/JSearchApi.html +6 -6
- package/documentation/classes/JUser.html +1 -1
- package/documentation/classes/JUserApi.html +3 -3
- package/documentation/classes/JWedocApi.html +1 -1
- package/documentation/classes/JamespotUserApi.html +1 -1
- package/documentation/classes/Network.html +1 -1
- package/documentation/enums/JApplicationStatus.html +1 -1
- package/documentation/index.html +1 -1
- package/documentation/interfaces/ApiError.html +1 -1
- package/documentation/interfaces/ApiWrapper.html +1 -1
- package/documentation/interfaces/AseiGroups.html +1 -1
- package/documentation/interfaces/AseiInstitution.html +1 -1
- package/documentation/interfaces/AseiRights.html +1 -1
- package/documentation/interfaces/AseiTicket.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/CreateGroup.html +1 -1
- package/documentation/interfaces/FileBankProps.html +1 -1
- package/documentation/interfaces/FileOption.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/PagingResults.html +1 -1
- package/documentation/interfaces/Result.html +1 -1
- package/documentation/interfaces/RootFolderProps.html +1 -1
- package/documentation/interfaces/SearchCategoryModel.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/SearchResultProps.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/TmpApplication.html +1 -1
- package/documentation/interfaces/TmpUser.html +1 -1
- package/documentation/interfaces/UserModel.html +1 -1
- package/documentation/modules.html +1 -1
- package/lib/jamespot-user-api.js.map +1 -1
- package/lib/src/apis/search.d.ts +2 -2
- package/lib/src/types/search.d.ts +3 -0
- package/package.json +1 -1
- package/src/apis/application.ts +0 -132
- package/src/apis/article.ts +0 -74
- package/src/apis/asei.ts +0 -73
- package/src/apis/audience.ts +0 -18
- package/src/apis/base.ts +0 -9
- package/src/apis/bookmark.ts +0 -110
- package/src/apis/community.ts +0 -20
- package/src/apis/concept.ts +0 -31
- package/src/apis/diapazone.ts +0 -65
- package/src/apis/file.ts +0 -14
- package/src/apis/filebank.ts +0 -50
- package/src/apis/group.ts +0 -48
- package/src/apis/index.ts +0 -17
- package/src/apis/jamespotUserApi.ts +0 -69
- package/src/apis/jland.ts +0 -51
- package/src/apis/messenger.ts +0 -25
- package/src/apis/search.ts +0 -85
- package/src/apis/taxonomy.ts +0 -30
- package/src/apis/user.ts +0 -53
- package/src/apis/wedoc.ts +0 -77
- package/src/classes/JApplication.ts +0 -55
- package/src/classes/JBaseObject.ts +0 -64
- package/src/classes/JBookmark.ts +0 -44
- package/src/classes/JConcept.ts +0 -3
- package/src/classes/JDiapazone.ts +0 -42
- package/src/classes/JFile.ts +0 -37
- package/src/classes/JUser.ts +0 -7
- package/src/classes/index.ts +0 -5
- package/src/index.ts +0 -21
- package/src/indexMock.ts +0 -17
- package/src/mock/data/autocomplete/audience/data.json +0 -191
- package/src/mock/data/autocomplete/community/data.json +0 -47
- package/src/mock/data/autocomplete/taxonomy/data.json +0 -35
- package/src/mock/data/autocomplete/user/data.json +0 -107
- package/src/mock/data/bookmarks/addBookmark/data.json +0 -54
- package/src/mock/data/bookmarks/addLink/data.json +0 -63
- package/src/mock/data/bookmarks/bookmarkList/data.json +0 -271
- package/src/mock/data/bookmarks/delete/data.json +0 -12
- package/src/mock/data/community/sendRequest/data.json +0 -12
- package/src/mock/data/file/create/data.json +0 -18
- package/src/mock/data/messenger/newMessage/data.json +0 -47
- package/src/mock/data/misc/tokenCSRF/data.json +0 -7
- package/src/mock/data/search/getConfig/data.json +0 -318
- package/src/mock/data/search/lastQueries/data.json +0 -7
- package/src/mock/data/search/proposition/data.json +0 -125
- package/src/mock/data/spot/create/data.json +0 -7
- package/src/mock/data/spot/get-available-widget/data.json +0 -56
- package/src/mock/data/spot/get-categories/data.json +0 -28
- package/src/mock/data/user/signIn/data.json +0 -197
- package/src/mock/windowMock.ts +0 -113
- package/src/types/asei.ts +0 -33
- package/src/types/autocomplete.ts +0 -17
- package/src/types/group.ts +0 -27
- package/src/types/index.ts +0 -7
- package/src/types/listWrapper.ts +0 -6
- package/src/types/search.ts +0 -105
- package/src/types/taxonomy.ts +0 -47
- package/src/types/user.ts +0 -14
- package/src/types/utils.ts +0 -66
- package/src/util/network.ts +0 -96
|
@@ -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/home/runner/work/jamespot-user-api/jamespot-user-api/src/classes/JApplication.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/home/runner/work/jamespot-user-api/jamespot-user-api/src/classes/JBaseObject.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/classes/JConcept.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/classes/JUser.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/classes/JBookmark.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/base.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/application.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/article.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/asei.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/audience.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/community.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/concept.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/file.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/filebank.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/group.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/jland.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/messenger.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/search.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/bookmark.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/taxonomy.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/user.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/classes/JDiapazone.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/diapazone.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/classes/JFile.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/wedoc.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/jamespotUserApi.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/util/network.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/index.ts"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n/* FIXME when working on studio typing */\n\nimport { JBaseObject } from './JBaseObject';\n\nexport enum JApplicationStatus {\n local = 'local',\n installed = 'installed',\n autosaved = 'autosaved',\n saved = 'saved',\n}\nexport class JApplication extends JBaseObject {\n private status?: JApplicationStatus;\n\n public constructor(id?: string, type?: string, status?: JApplicationStatus) {\n super(id, type);\n if (status) {\n this.setStatus(status);\n } else {\n this.setStatus(JApplicationStatus.local);\n }\n }\n\n public get(prop: string): any {\n if (prop === 'status') {\n return this.getStatus();\n }\n return super.get(prop);\n }\n\n public set(prop: string, val: any): void {\n if (prop === 'status') {\n return this.setStatus(val);\n }\n return super.set(prop, val);\n }\n\n public setStatus(status: JApplicationStatus): void {\n this.status = status;\n }\n public getStatus(): JApplicationStatus | undefined {\n return this.status;\n }\n\n public updateUsing(newerJApplication: JApplication): JApplication {\n if (this.getId() === newerJApplication.getId() && this.getType() === newerJApplication.getType()) {\n Object.keys(newerJApplication.record).forEach((key: string) => {\n this.set(key, newerJApplication.get(key));\n });\n } else {\n throw new Error('Incompatible update');\n }\n return this;\n }\n}\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};","/* eslint-disable @typescript-eslint/no-explicit-any */\n/* FIXME when working on studio typing */\n\n/** Base class to represent objects retreived from or sent to the backend.\n * This JBaseObject is then derived to provide a more understandable result for each API.\n */\nexport class JBaseObject {\n protected type?: string;\n protected id?: string;\n protected record: Record<string, any> = {};\n\n public constructor(id?: string, type?: string) {\n if (id) {\n this.set('id', id);\n }\n if (type) {\n this.set('type', type);\n }\n }\n\n public hydrate(data: any = {}): void {\n Object.keys(data).forEach((key) => {\n this.set(key, data[key]);\n });\n }\n\n public getType(): string | undefined {\n return this.type;\n }\n\n public getId(): string | undefined {\n return this.id;\n }\n\n public getUri(): string {\n return `${this.getType()}/${this.getId()}`;\n }\n\n public get(prop: string): any {\n switch (prop) {\n case 'type':\n return this.getType();\n case 'id':\n return this.getId();\n case 'uri':\n return this.getUri();\n default:\n return this.record[prop];\n }\n }\n\n public set(prop: string, val: any): void {\n switch (prop) {\n case 'type':\n this.type = val;\n break;\n case 'id':\n this.id = val;\n break;\n default:\n this.record[prop] = val;\n }\n }\n}\n","import { JBaseObject } from './JBaseObject';\n\nexport class JConcept extends JBaseObject {}\n","import { JBaseObject } from './JBaseObject';\n\nexport class JUser extends JBaseObject {\n public getMail(): string {\n return this.get('_values').mail;\n }\n}\n","export class JBookmark {\n public id?: number;\n public type?: string;\n public targetId?: number;\n public targetType?: string;\n public bookmarkUrl?: string;\n public bookmarkOrder?: number;\n public bookmarkLabel?: string;\n public bookmarkMeta?: string;\n public _cssClass?: string;\n public _cssColor?: string;\n public _values?: Record<string, string>;\n public url?: string;\n\n private static fields: string[] = [\n 'id',\n 'type',\n 'targetId',\n 'targetType',\n 'bookmarkUrl',\n 'bookmarkOrder',\n 'bookmarkLabel',\n 'bookmarkMeta',\n '_cssClass',\n '_cssColor',\n '_values',\n 'url',\n ];\n\n public static createFromObject(o: Record<string, object>): JBookmark {\n const toRet = new JBookmark();\n const copy: Record<string, object> = {};\n // Clean unknown elements\n JBookmark.fields.forEach((p) => {\n if (o[p] !== undefined) {\n copy[p] = o[p];\n }\n });\n\n Object.assign(toRet, copy);\n\n return toRet;\n }\n}\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 { JApplication, JApplicationStatus } from '../classes';\nimport { ApiWrapper, BaseMessages } from '../types';\nimport { JBaseApi } from './base';\nimport { OF } from '../util/network';\n\nexport interface TmpApplication {\n idApp: string;\n type: string;\n}\n\nexport class JApplicationApi extends JBaseApi {\n /**\n * List applications\n * @returns {@link JApplication} objects, in light format\n */\n public list(): Promise<JApplication[]> {\n return this.network.post<Array<TmpApplication>, BaseMessages>({ o: 'studio', f: 'list' }).then((res) => {\n if (Array.isArray(res.result)) {\n return res.result.map((entry) => {\n const nApp = new JApplication(entry.idApp);\n nApp.hydrate(entry);\n return nApp;\n });\n }\n throw 'Bad response from backend';\n });\n }\n\n private stdCall<T extends OF = OF>(parameters: T): Promise<JApplication> {\n return this.network.post<TmpApplication, BaseMessages>(parameters).then((res) => {\n const jApplication = new JApplication(res.result.idApp);\n jApplication.hydrate(res.result);\n return jApplication;\n });\n }\n\n private stdCSRFCall<T extends OF = OF>(parameters: T): Promise<JApplication> {\n return this.network.postCSRF<TmpApplication, BaseMessages>(parameters).then((res) => {\n const jApplication = new JApplication(res.result.idApp);\n jApplication.hydrate(res.result);\n return jApplication;\n });\n }\n\n /**\n * Get one application\n * @returns {@link JApplication} object in full format\n */\n public get(idApp: string, status?: JApplicationStatus): Promise<JApplication> {\n return this.stdCall({ o: 'studio', f: 'get', idApp, status });\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): Promise<JApplication> {\n return this.stdCSRFCall({ o: 'studio', f: 'install', value: xmlBody });\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): Promise<JApplication> {\n return this.stdCSRFCall({ o: 'studio', f: 'suspend', idApp });\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): Promise<JApplication> {\n return this.stdCSRFCall({ o: 'studio', f: 'restart', idApp });\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: JApplicationStatus): Promise<JApplication> {\n if (status === JApplicationStatus.saved || status === JApplicationStatus.autosaved) {\n return this.stdCSRFCall({\n o: 'studio',\n f: 'save',\n idApp,\n value,\n status,\n });\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: JApplicationStatus): Promise<Array<string>> {\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 } else {\n throw res.messages;\n }\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 { ApiWrapper, BaseMessages, Filters, Little, Orders, PagingResults } 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;\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};\n\nexport type BaseArticle = {\n id: number;\n type: string;\n dateCreation: string;\n dateModified: string;\n title: string;\n};\n\nexport class JArticleApi extends JBaseApi {\n public list(config: ArticleListConfig): Promise<ApiWrapper<PagingResults<{ title: string }>>> {\n return this.network.post({\n o: 'ObjectListJamespot',\n f: 'ArticleQueryList',\n ...config,\n } as OF);\n }\n\n public get<T extends Little = Little>(config: ArticleGetConfig): Promise<ApiWrapper<T>> {\n return this.network.post({\n o: 'article',\n f: 'get',\n ...config,\n } as OF);\n }\n\n public create<T>(article: ArticleCreation): Promise<ApiWrapper<BaseArticle & T>> {\n return this.network.post({\n o: 'article',\n f: 'create',\n ...article,\n } as OF);\n }\n\n public update<T extends { uri: string }>(article: T): Promise<ApiWrapper<never, BaseMessages>> {\n return this.network.post({\n o: 'article',\n f: 'update',\n ...article,\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 { JBaseApi } from './base';\nimport { OF } from '../util/network';\nimport { AseiGroups, AseiRights, AseiTicket, AseiTicketStatus, Filters, Orders } from '../types';\nimport { JArticleApi } from './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 { AudienceAutocomplete } from '../types/autocomplete';\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, 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 { JConcept } from '../classes';\nimport { OF } from '../util/network';\n\nexport class JConceptApi extends JBaseApi {\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): Promise<JConcept[]> {\n return this.network\n .post<Array<{ id: string; type: string }>>({\n o: 'autocomplete',\n f: 'taxonomy',\n q: query,\n idTaxonomy,\n idToUri: false,\n } as OF)\n .then((res) => {\n if (Array.isArray(res.result)) {\n return res.result.map((concept) => {\n const jConcept = new JConcept(concept.id, concept.type);\n jConcept.hydrate(concept);\n return jConcept;\n });\n }\n throw 'Bad response from backend';\n });\n }\n}\n","import { FileOption } from '../util/network';\nimport { JBaseApi } from './base';\n\nexport class JFileApi extends JBaseApi {\n // FIXME when doing the first file upload\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public create(token: string, attrName: 'attachment' | 'image', file: File, options: FileOption): Promise<any> {\n const body = new FormData();\n body.append('token', token);\n body.append('attrName', attrName);\n body.append(attrName, file);\n return this.network.postFile(body, options);\n }\n}\n","import { JBaseApi } from './base';\nimport { OF } from '../util/network';\nimport { ListWrapper } from '../types/listWrapper';\nimport { Little, 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 Little {\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<ListWrapper<FolderProps>> {\n return this.network\n .post<Array<FolderProps>>({ o: 'fileBank', f: 'getFolders', parentURI } as OF)\n .then((res) => {\n return { data: res.result };\n });\n }\n}\n","import { ApiWrapper, Category, CreateGroup, GroupWidgets, Little, PagingResults } from '../types';\nimport { JBaseApi } from './base';\nimport { OF } from '../util/network';\n\nexport class JGroupApi extends JBaseApi {\n public create({ type, widgets, ...group }: CreateGroup): Promise<ApiWrapper<string>> {\n return this.network.post({\n o: 'spot',\n f: 'create',\n ...group,\n type: type || 'spot',\n widgets: JSON.stringify(widgets),\n } as OF);\n }\n\n public getApplications(): Promise<ApiWrapper<GroupWidgets>> {\n return this.network.post({ o: 'spot', f: 'get-available-widget' });\n }\n\n public getCategories(): Promise<ApiWrapper<Category[]>> {\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(\n idSpot: number | string,\n query?: string,\n limit?: number,\n page = 1,\n ): Promise<ApiWrapper<PagingResults<Little>>> {\n return this.network.post<PagingResults<Little>>({\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 { ApiWrapper } from '../types';\nimport { OF } from '../util/network';\n\nexport type JLandLog = {\n idLog: number;\n slug: string;\n dateCreation: string;\n map: string;\n mail: string;\n};\n\nexport type JLandStat = {\n mail: string;\n cnt: string;\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","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 { ApiWrapper, SearchConfig, SearchQuery, SearchQueryResult, SearchResultCatProps } 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<string[]>> {\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<any> {\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<any> {\n return this.network.post({ o: 'search', f: 'setAdminConfig', config } as OF);\n }\n}\n","import { ApiWrapper, BaseMessagesOne } from '../types';\nimport { JBaseApi } from './base';\nimport { JBookmark } from '../classes/JBookmark';\nimport { ListWrapper } from '../types/listWrapper';\nimport { OF } from '../util/network';\n\nexport interface ListFilterSpec {\n query?: string;\n page?: number;\n limit?: number;\n orders?: {\n name: string;\n sort: string;\n }[];\n}\n\ntype Bookmark = Record<string, object>;\n\ntype BookmarkList = {\n page: number;\n cnt: number;\n limit: number;\n data: Bookmark[];\n};\n\nexport class JBookmarkApi extends JBaseApi {\n public getList(filterSpecs: ListFilterSpec): Promise<ListWrapper<JBookmark>> {\n return this.network\n .post<BookmarkList>({\n o: 'object',\n f: 'list',\n namespace: 'bookmarks',\n view: 'list',\n ...filterSpecs,\n } as OF)\n .then((res) => {\n const result = res.result;\n\n if (Array.isArray(result.data)) {\n const data: JBookmark[] = result.data.map((entry) => JBookmark.createFromObject(entry));\n return { page: result.page, cnt: result.cnt, limit: result.limit, data };\n }\n\n throw {\n error: res.error,\n messages: res.messages,\n };\n });\n }\n\n public addLink(targetId: number, targetType: string): Promise<JBookmark> {\n return this.network\n .post<Bookmark>({\n o: 'custom',\n f: 'actionAdd',\n type: 'bookmarkLink',\n targetId,\n targetType,\n format: 'list',\n } as OF)\n .then((res) => {\n const result = res.result;\n return JBookmark.createFromObject(result);\n });\n }\n\n public addBookmark(bookmark: JBookmark): Promise<JBookmark> {\n return this.network\n .postCSRF<Bookmark, BaseMessagesOne>({\n o: 'bookmarks',\n f: 'add',\n ...bookmark,\n } as OF)\n .then((res) => {\n const result = res.result;\n return JBookmark.createFromObject(result);\n });\n }\n\n public delete(bookmark: JBookmark): Promise<ApiWrapper<null, BaseMessagesOne>> {\n return this.network.postCSRF<null, BaseMessagesOne>({\n o: 'bookmarks',\n f: 'delete',\n bookmarkID: bookmark.id,\n } as OF);\n }\n\n public rename(bookmark: JBookmark): Promise<ApiWrapper<null, BaseMessagesOne>> {\n return this.network.postCSRF<null, BaseMessagesOne>({\n o: 'bookmarks',\n f: 'rename',\n bookmarkID: bookmark.id,\n bookmarkLabel: bookmark.bookmarkLabel,\n } as OF);\n }\n\n public move(\n bookmark: JBookmark,\n bookmarkReference: JBookmark,\n position: 'before' | 'after',\n ): Promise<ApiWrapper<null, BaseMessagesOne>> {\n return this.network.postCSRF<null, BaseMessagesOne>({\n o: 'bookmarks',\n f: 'move',\n bookmarkID: bookmark.id,\n bookmarkReference: bookmarkReference.id,\n bookmarkPosition: position,\n } as OF);\n }\n}\n","import { JBaseApi } from './base';\nimport { OF } from '../util/network';\nimport { ApiWrapper, BaseMessagesOne, Taxonomy, TaxonomyCreate } 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","import { JBaseApi } from './base';\nimport { JUser } from '../classes';\nimport { OF } from '../util/network';\nimport { ApiWrapper, Little } from '../types';\n\nexport interface TmpUser {\n idUser: string;\n type: string;\n id: string;\n}\n\nexport class JUserApi extends JBaseApi {\n /**\n * autocomplete return a list or JUser\n * @param query <string>\n */\n public autocomplete(query: string): Promise<Array<JUser>> {\n return this.network\n .post<Array<TmpUser>>({ o: 'autocomplete', f: 'user', q: query, idToUri: false } as OF)\n .then((res) => {\n if (Array.isArray(res.result)) {\n return res.result.map((user) => {\n const jUser = new JUser(user.idUser, user.type);\n jUser.hydrate(user);\n return jUser;\n });\n }\n throw 'Bad response from backend';\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 Little = Little>(uri: string, format = 'little'): Promise<ApiWrapper<T>> {\n return this.network.post<T>({ o: 'user', f: 'get', uri, format } as OF);\n }\n\n /**\n * signIn function returns a Promise of JUser.\n * @param mail Mail or username\n * @param pwd Password to be validated\n */\n public signIn(mail: string, pwd: string): Promise<JUser> {\n return this.network.post<TmpUser>({ o: 'user', f: 'signIn', mail, password: pwd } as OF).then((res) => {\n const jUser = new JUser(res.result.id, res.result.type);\n jUser.hydrate(res.result);\n return jUser;\n });\n }\n}\n","export class JDiapazone {\n public id!: number;\n public title!: string;\n public type!: string;\n public _user?: Record<string, string>;\n public _audience?: Record<string, string>;\n public _audienceLeft?: number;\n public _right?: Record<string, string>;\n public _cssClass?: string;\n public _cssColor?: string;\n public _values?: Record<string, string>;\n public _extend?: Record<string, string>;\n public _url?: string;\n\n private static fields: string[] = [\n 'id',\n 'title',\n 'type',\n '_user',\n '_audience',\n '_audienceLeft',\n '_right',\n '_cssClass',\n '_cssColor',\n '_values',\n '_extend',\n '_url',\n ];\n public static createFromObject(o: Record<string, object>): JDiapazone {\n const toRet = new JDiapazone();\n const copy: Record<string, object> = {};\n // Clean unknown elements\n JDiapazone.fields.forEach((p) => {\n if (o[p] !== undefined) {\n copy[p] = o[p];\n }\n });\n Object.assign(toRet, copy);\n\n return toRet;\n }\n}\n","import { JBaseApi } from './base';\nimport { ListWrapper } from '../types/listWrapper';\nimport { ApiWrapper } from '../types';\nimport { OF } from '../util/network';\n\nimport { JDiapazone } from '../classes/JDiapazone';\n\ntype Diapazone = Record<string, object>;\n\ntype DiapazoneList = {\n page: number;\n cnt: number;\n limit: number;\n data: Diapazone[];\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<any>,\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 public getList(\n query = '',\n filters: Array<any> = [],\n orders: Array<any> = [],\n page = 1,\n format = 'list',\n ): Promise<ListWrapper<JDiapazone>> {\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 if (Array.isArray(result.data)) {\n const data: JDiapazone[] = result.data.map((entry) => JDiapazone.createFromObject(entry));\n return { page: result.page, cnt: result.cnt, limit: result.limit, data };\n }\n\n throw {\n error: res.error,\n messages: res.messages,\n };\n });\n }\n}\n","export class jFile {\n public id!: number;\n public title!: string;\n public type!: string;\n public dateCreation!: string;\n public mimetype!: string;\n public _extend: any;\n public _user: any;\n public _right: any;\n public _audience: any;\n\n private static fields: string[] = [\n 'id',\n 'title',\n 'type',\n 'dateCreation',\n 'dateModified',\n 'mimetype',\n '_extend',\n '_user',\n '_right',\n '_audience',\n ];\n public static createFromObject(o: Record<string, object>): jFile {\n const toRet = new jFile();\n const copy: Record<string, object> = {};\n // Clean unknown elements\n jFile.fields.forEach((p) => {\n if (o[p] !== undefined) {\n copy[p] = o[p];\n }\n });\n Object.assign(toRet, copy);\n\n return toRet;\n }\n}\n","import { ApiWrapper } from '../types';\nimport { JBaseApi } from './base';\nimport { OF } from '../util/network';\nimport { ListWrapper } from '../types/listWrapper';\nimport { jFile } from '../classes/JFile';\n\ntype File = Record<string, object>;\n\ntype FiletList = {\n page: number;\n cnt: number;\n limit: number;\n data: File[];\n};\n\nimport { Orders, Filters } from '../types';\n\nexport class JWedocApi extends JBaseApi {\n public getFiles(\n page: number,\n query: string,\n filters: Filters,\n orders: Orders,\n limit: number,\n ): Promise<ListWrapper<jFile>> {\n return this.network\n .post<FiletList>({ o: 'onlyOffice', f: 'getFiles', page, query, filters, orders, limit } as OF)\n .then((res) => {\n const result = res.result;\n if (Array.isArray(result.data)) {\n const data: jFile[] = result.data.map((entry) => jFile.createFromObject(entry));\n return { page: result.page, cnt: result.cnt, limit: result.limit, data };\n }\n\n throw {\n error: res.error,\n messages: res.messages,\n };\n });\n }\n\n public getTemplates(): Promise<ApiWrapper<boolean, { code: number; msg: string }>> {\n return this.network.post({ o: 'onlyOffice', f: 'getTemplates' } as OF);\n }\n\n public duplicateFile(\n idFile: number,\n title: string,\n publishTo: Array<any>,\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(\n title: string,\n type: string,\n publishTo: Array<any>,\n ): Promise<ApiWrapper<boolean, { code: number; msg: string }>> {\n return this.network.post({ o: 'onlyOffice', f: 'createFile', title, type, publishTo } as OF);\n }\n\n public updateFile(\n idFile: number,\n title: string,\n publishTo: Array<string>,\n ): Promise<ApiWrapper<boolean, { code: number; msg: string }>> {\n return this.network.post({ o: 'onlyOffice', f: 'updateFile', idFile, title, publishTo } 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 { JApplicationApi } from './application';\nimport { JArticleApi } from './article';\nimport { JAseiApi } from './asei';\nimport { JAudienceApi } from './audience';\nimport { JCommunityApi } from './community';\nimport { JConceptApi } from './concept';\nimport { JFileApi } from './file';\nimport { JFilebankApi } from './filebank';\nimport { JGroupApi } from './group';\nimport { JLandApi } from './jland';\nimport { JMessengerApi } from './messenger';\nimport { JSearchApi } from './search';\nimport { JBookmarkApi } from './bookmark';\nimport { JTaxonomyApi } from './taxonomy';\nimport { JUserApi } from './user';\nimport { JDiapazoneApi } from './diapazone';\nimport { JWedocApi } from './wedoc';\nimport { Network } from '../util/network';\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\n public application: JApplicationApi;\n public article: JArticleApi;\n public asei: JAseiApi;\n public audience: JAudienceApi;\n public community: JCommunityApi;\n public concept: JConceptApi;\n public file: JFileApi;\n public filebank: JFilebankApi;\n public group: JGroupApi;\n public jland: JLandApi;\n public messenger: JMessengerApi;\n public search: JSearchApi;\n public bookmark: JBookmarkApi;\n public taxonomy: JTaxonomyApi;\n public user: JUserApi;\n public diapazone: JDiapazoneApi;\n public wedoc: JWedocApi;\n\n public constructor(network: Network) {\n this.network = network;\n this.application = new JApplicationApi(this.network);\n this.article = new JArticleApi(this.network);\n this.asei = new JAseiApi(this.network);\n this.audience = new JAudienceApi(this.network);\n this.community = new JCommunityApi(this.network);\n this.concept = new JConceptApi(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.messenger = new JMessengerApi(this.network);\n this.search = new JSearchApi(this.network);\n this.bookmark = new JBookmarkApi(this.network);\n this.taxonomy = new JTaxonomyApi(this.network);\n this.user = new JUserApi(this.network);\n this.diapazone = new JDiapazoneApi(this.network);\n this.wedoc = new JWedocApi(this.network);\n }\n}\n","import { ApiWrapper } from '../types';\n\nexport interface FileOption {\n makeImage: boolean;\n size: string;\n}\n\nexport interface OF {\n o: string;\n f: string;\n}\n\nexport class Network {\n private readonly backUrl: string;\n private readonly apiUrl: string;\n private readonly window: Window;\n\n public constructor(window: Window, suffix = '/user-api') {\n this.window = window;\n const location = window.location;\n this.backUrl = `${location.protocol}//${location.host}`;\n this.apiUrl = this.backUrl + suffix;\n }\n\n public static _formatPostOptions(body: object): RequestInit {\n return Object.assign({ method: 'POST', credentials: 'same-origin' as const }, { body: JSON.stringify(body) });\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 // FIXME Promise<Response> should depend of T\n public fetch(body: OF, signal?: AbortSignal): Promise<Response> {\n return this.window.fetch(this.apiUrl, { ...Network._formatPostOptions(body), signal });\n }\n\n public post<T, U = string[]>(body: OF, signal?: AbortSignal): Promise<ApiWrapper<T, U>> {\n return this.fetch(body, signal)\n .then((res: Response) => 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 // FIXME when doing the first file upload\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public postFile(body: FormData, options: FileOption): Promise<any> {\n return this.window\n .fetch(`${this.apiUrl}?o=file&f=create&${Network._formatQueryOptions(Object.freeze(options))}`, {\n method: 'POST',\n credentials: 'same-origin',\n body,\n })\n .then((resp) => resp.json())\n .then((response) => {\n if (response.error === 0) {\n return response.result;\n }\n throw response.error;\n });\n }\n\n public postCSRF<T, U = string[]>(body: OF): Promise<ApiWrapper<T, U>> {\n return this.tokenCSRF().then((tokenCSRF) => this.post(Object.assign(body, { tokenCSRF: tokenCSRF.result })));\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 { JamespotUserApi } from './apis/jamespotUserApi';\nimport { Network } from './util/network';\n\nconst network = new Network(window);\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 './classes';\nexport * from './util/network';\n"],"names":["JApplicationStatus","__webpack_require__","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","JBaseObject","id","type","record","this","set","hydrate","data","keys","forEach","getType","getId","getUri","val","JApplication","status","super","setStatus","local","getStatus","updateUsing","newerJApplication","Error","JConcept","JUser","getMail","mail","JBookmark","static","toRet","copy","fields","p","undefined","assign","JBaseApi","network","JApplicationApi","list","post","f","then","res","Array","isArray","result","map","entry","nApp","idApp","stdCall","parameters","jApplication","stdCSRFCall","postCSRF","install","xmlBody","suspend","restart","save","saved","autosaved","delete","error","messages","cssClassList","JArticleApi","config","create","article","update","count","JAseiApi","page","limit","filters","orders","name","sort","format","requestStatus","uri","requestedStatus","audience","getDedicatedGroups","getConfiguration","right","JAudienceApi","autocomplete","query","q","JCommunityApi","sendRequest","message","idUserTo","JConceptApi","idTaxonomy","idToUri","concept","jConcept","JFileApi","token","attrName","file","options","body","FormData","append","postFile","JFilebankApi","getBanks","getFolders","parentURI","JGroupApi","widgets","group","JSON","stringify","getApplications","getCategories","getObjectListJamespotSpotMembers","idSpot","JLandApi","getLogs","dateEnd","idLogMax","getStats","dateStart","JMessengerApi","sendMessage","idDiscussion","msg","description","getOrCreateDiscussion","idSender","JSearchApi","getConfig","proposition","signal","searchQuery","keywords","category","facetCategories","getLastQueries","getAdminConfig","setAdminConfig","JBookmarkApi","getList","filterSpecs","namespace","view","createFromObject","cnt","addLink","targetId","targetType","addBookmark","bookmark","bookmarkID","rename","bookmarkLabel","move","bookmarkReference","position","bookmarkPosition","JTaxonomyApi","taxonomy","JUserApi","user","jUser","idUser","signIn","pwd","password","JDiapazone","JDiapazoneApi","title","publishTo","jFile","JWedocApi","getFiles","getTemplates","duplicateFile","idFile","deleteFile","createFile","updateFile","getFileInfo","mode","JamespotUserApi","version","application","asei","community","filebank","jland","messenger","search","diapazone","wedoc","Network","window","suffix","location","backUrl","protocol","host","apiUrl","method","credentials","entries","reduce","acc","optKey","optValue","toString","URLSearchParams","fetch","_formatPostOptions","json","errorMsg","catch","err","aborted","_formatQueryOptions","freeze","resp","response","tokenCSRF","JamespotUserApiInstance"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"jamespot-user-api.js","mappings":"mBACA,ICIYA,EDJRC,EAAsB,CEA1BA,EAAwB,CAACC,EAASC,KACjC,IAAI,IAAIC,KAAOD,EACXF,EAAoBI,EAAEF,EAAYC,KAASH,EAAoBI,EAAEH,EAASE,IAC5EE,OAAOC,eAAeL,EAASE,EAAK,CAAEI,YAAY,EAAMC,IAAKN,EAAWC,MCJ3EH,EAAwB,CAACS,EAAKC,IAAUL,OAAOM,UAAUC,eAAeC,KAAKJ,EAAKC,GCClFV,EAAyBC,IACH,oBAAXa,QAA0BA,OAAOC,aAC1CV,OAAOC,eAAeL,EAASa,OAAOC,YAAa,CAAEC,MAAO,WAE7DX,OAAOC,eAAeL,EAAS,aAAc,CAAEe,OAAO,M,0eCChD,MAAMC,EAKT,YAAmBC,EAAaC,GAFtB,KAAAC,OAA8B,GAGhCF,GACAG,KAAKC,IAAI,KAAMJ,GAEfC,GACAE,KAAKC,IAAI,OAAQH,GAIlBI,QAAQC,EAAY,IACvBnB,OAAOoB,KAAKD,GAAME,SAASvB,IACvBkB,KAAKC,IAAInB,EAAKqB,EAAKrB,OAIpBwB,UACH,OAAON,KAAKF,KAGTS,QACH,OAAOP,KAAKH,GAGTW,SACH,MAAO,GAAGR,KAAKM,aAAaN,KAAKO,UAG9BpB,IAAIE,GACP,OAAQA,GACJ,IAAK,OACD,OAAOW,KAAKM,UAChB,IAAK,KACD,OAAON,KAAKO,QAChB,IAAK,MACD,OAAOP,KAAKQ,SAChB,QACI,OAAOR,KAAKD,OAAOV,IAIxBY,IAAIZ,EAAcoB,GACrB,OAAQpB,GACJ,IAAK,OACDW,KAAKF,KAAOW,EACZ,MACJ,IAAK,KACDT,KAAKH,GAAKY,EACV,MACJ,QACIT,KAAKD,OAAOV,GAAQoB,KJvDpC,SAAY/B,GACR,gBACA,wBACA,wBACA,gBAJJ,CAAYA,IAAAA,EAAkB,KAMvB,MAAMgC,UAAqBd,EAG9B,YAAmBC,EAAaC,EAAea,GAC3CC,MAAMf,EAAIC,GACNa,EACAX,KAAKa,UAAUF,GAEfX,KAAKa,UAAUnC,EAAmBoC,OAInC3B,IAAIE,GACP,MAAa,WAATA,EACOW,KAAKe,YAETH,MAAMzB,IAAIE,GAGdY,IAAIZ,EAAcoB,GACrB,MAAa,WAATpB,EACOW,KAAKa,UAAUJ,GAEnBG,MAAMX,IAAIZ,EAAMoB,GAGpBI,UAAUF,GACbX,KAAKW,OAASA,EAEXI,YACH,OAAOf,KAAKW,OAGTK,YAAYC,GACf,GAAIjB,KAAKO,UAAYU,EAAkBV,SAAWP,KAAKM,YAAcW,EAAkBX,UAKnF,MAAM,IAAIY,MAAM,uBAEpB,OANIlC,OAAOoB,KAAKa,EAAkBlB,QAAQM,SAASvB,IAC3CkB,KAAKC,IAAInB,EAAKmC,EAAkB9B,IAAIL,OAKrCkB,MKlDR,MAAMmB,UAAiBvB,GCAvB,MAAMwB,UAAcxB,EAChByB,UACH,OAAOrB,KAAKb,IAAI,WAAWmC,MCJ5B,MAAMC,EA6BFC,wBAAwBzC,GAC3B,MAAM0C,EAAQ,IAAIF,EACZG,EAA+B,GAUrC,OARAH,EAAUI,OAAOtB,SAASuB,SACTC,IAAT9C,EAAE6C,KACFF,EAAKE,GAAK7C,EAAE6C,OAIpB5C,OAAO8C,OAAOL,EAAOC,GAEdD,GA3BI,EAAAE,OAAmB,CAC9B,KACA,OACA,WACA,aACA,cACA,gBACA,gBACA,eACA,YACA,YACA,UACA,OCxBD,MAAMI,EAGT,YAAmBC,GACfhC,KAAKgC,QAAUA,GCIhB,MAAMC,UAAwBF,EAK1BG,OACH,OAAOlC,KAAKgC,QAAQG,KAA0C,CAAEpD,EAAG,SAAUqD,EAAG,SAAUC,MAAMC,IAC5F,GAAIC,MAAMC,QAAQF,EAAIG,QAClB,OAAOH,EAAIG,OAAOC,KAAKC,IACnB,MAAMC,EAAO,IAAIlC,EAAaiC,EAAME,OAEpC,OADAD,EAAK1C,QAAQyC,GACNC,KAGf,KAAM,+BAINE,QAA2BC,GAC/B,OAAO/C,KAAKgC,QAAQG,KAAmCY,GAAYV,MAAMC,IACrE,MAAMU,EAAe,IAAItC,EAAa4B,EAAIG,OAAOI,OAEjD,OADAG,EAAa9C,QAAQoC,EAAIG,QAClBO,KAIPC,YAA+BF,GACnC,OAAO/C,KAAKgC,QAAQkB,SAAuCH,GAAYV,MAAMC,IACzE,MAAMU,EAAe,IAAItC,EAAa4B,EAAIG,OAAOI,OAEjD,OADAG,EAAa9C,QAAQoC,EAAIG,QAClBO,KAQR7D,IAAI0D,EAAelC,GACtB,OAAOX,KAAK8C,QAAQ,CAAE/D,EAAG,SAAUqD,EAAG,MAAOS,MAAAA,EAAOlC,OAAAA,IASjDwC,QAAQC,GACX,OAAOpD,KAAKiD,YAAY,CAAElE,EAAG,SAAUqD,EAAG,UAAWzC,MAAOyD,IAQzDC,QAAQR,GACX,OAAO7C,KAAKiD,YAAY,CAAElE,EAAG,SAAUqD,EAAG,UAAWS,MAAAA,IAQlDS,QAAQT,GACX,OAAO7C,KAAKiD,YAAY,CAAElE,EAAG,SAAUqD,EAAG,UAAWS,MAAAA,IAWlDU,KAAKV,EAAelD,EAAegB,GACtC,GAAIA,IAAWjC,EAAmB8E,OAAS7C,IAAWjC,EAAmB+E,UACrE,OAAOzD,KAAKiD,YAAY,CACpBlE,EAAG,SACHqD,EAAG,OACHS,MAAAA,EACAlD,MAAAA,EACAgB,OAAAA,IAGJ,KAAM,uBAUD+C,OAAOb,EAAelC,G,qCAC/B,OAAOX,KAAKgC,QACPkB,SAAiB,CACdnE,EAAG,SACHqD,EAAG,SACHS,MAAAA,EACAlC,OAAAA,IAEH0B,MAAMC,IACH,GAAkB,IAAdA,EAAIqB,MACJ,OAAOrB,EAAIsB,SAEX,MAAMtB,EAAIsB,a,+RAQnBC,eACH,OAAO7D,KAAKgC,QAAQG,KAAoB,CAAEpD,EAAG,SAAUqD,EAAG,WChG3D,MAAM0B,UAAoB/B,EACtBG,KAAK6B,GACR,OAAO/D,KAAKgC,QAAQG,KAAK,eACrBpD,EAAG,qBACHqD,EAAG,oBACA2B,IAIJ5E,IAA+B4E,GAClC,OAAO/D,KAAKgC,QAAQG,KAAK,eACrBpD,EAAG,UACHqD,EAAG,OACA2B,IAIJC,OAAUC,GACb,OAAOjE,KAAKgC,QAAQG,KAAK,eACrBpD,EAAG,UACHqD,EAAG,UACA6B,IAIJC,OAAkCD,GACrC,OAAOjE,KAAKgC,QAAQG,KAAK,eACrBpD,EAAG,UACHqD,EAAG,UACA6B,IAIJE,MAAMrE,GACT,OAAOE,KAAKgC,QAAQG,KAAK,CACrBpD,EAAG,UACHqD,EAAG,QACHtC,KAAAA,KChEL,MAAMsE,UAAiBrC,EAQnBG,KACHmC,EACAC,EACAC,EACAC,EAAiB,CAAC,CAAEC,KAAM,eAAgBC,KAAM,UAGhD,OADmB,IAAIZ,EAAY9D,KAAKgC,SACtBE,KAAK,CACnBpC,KAAM,sBACN6E,OAAQ,WACRL,MAAAA,EACAD,KAAAA,EACAG,OAAAA,EACAD,QAAAA,IAODK,cACHC,EACAC,EACAC,GAEA,OAAO/E,KAAKgC,QACPG,KAAiB,CAAEpD,EAAG,OAAQqD,EAAG,YAAayC,IAAAA,EAAKC,gBAAAA,EAAiBC,SAAAA,IACpE1C,MAAMC,IACH,GAAIA,GAAOA,EAAIG,OACX,OAAOH,EAAIG,OAEf,KAAM,+BAOXuC,qBACH,OAAOhF,KAAKgC,QAAQG,KAAiB,CAAEpD,EAAG,OAAQqD,EAAG,uBAA8BC,MAAMC,IACrF,GAAIA,GAAOA,EAAIG,OACX,OAAOH,EAAIG,OAEf,KAAM,+BAOPwC,mBACH,OAAOjF,KAAKgC,QAAQG,KAA4B,CAAEpD,EAAG,OAAQqD,EAAG,kBAAmBC,MAAMC,IACrF,GAAIA,GAAOA,EAAIG,OACX,OAAOH,EAAIG,OAAOyC,MAEtB,KAAM,gCCjEX,MAAMC,UAAqBpD,EAKvBqD,aAAaC,GAChB,OAAOrF,KAAKgC,QAAQG,KAAK,CAAEpD,EAAG,eAAgBqD,EAAG,WAAYkD,EAAGD,IAAehD,MAAMC,IACjF,GAAIC,MAAMC,QAAQF,EAAIG,QAClB,OAAOH,EAAIG,OAEf,KAAM,gCCVX,MAAM8C,UAAsBxD,EACxByD,YAAYC,EAAiBC,GAChC,OAAO1F,KAAKgC,QAAQG,KAA6C,CAC7DpD,EAAG,YACHqD,EAAG,cACHqD,QAAAA,EACAC,SAAAA,IAIDN,aAAaE,GAChB,OAAOtF,KAAKgC,QACPG,KAA8B,CAAEpD,EAAG,eAAgBqD,EAAG,YAAakD,EAAAA,IACnEjD,MAAMC,GAAQA,EAAIG,UCbxB,MAAMkD,UAAoB5D,EAMtBqD,aAAaQ,EAAoBP,GACpC,OAAOrF,KAAKgC,QACPG,KAA0C,CACvCpD,EAAG,eACHqD,EAAG,WACHkD,EAAGD,EACHO,WAAAA,EACAC,SAAS,IAEZxD,MAAMC,IACH,GAAIC,MAAMC,QAAQF,EAAIG,QAClB,OAAOH,EAAIG,OAAOC,KAAKoD,IACnB,MAAMC,EAAW,IAAI5E,EAAS2E,EAAQjG,GAAIiG,EAAQhG,MAElD,OADAiG,EAAS7F,QAAQ4F,GACVC,KAGf,KAAM,gCCxBf,MAAMC,UAAiBjE,EAGnBiC,OAAOiC,EAAeC,EAAkCC,EAAYC,GACvE,MAAMC,EAAO,IAAIC,SAIjB,OAHAD,EAAKE,OAAO,QAASN,GACrBI,EAAKE,OAAO,WAAYL,GACxBG,EAAKE,OAAOL,EAAUC,GACfnG,KAAKgC,QAAQwE,SAASH,EAAMD,ICyBpC,MAAMK,UAAqB1E,EACvB2E,SAAS/B,EAAS,QACrB,OAAO3E,KAAKgC,QAAQG,KAA2B,CAAEpD,EAAG,WAAYqD,EAAG,WAAYuC,OAAAA,IAAgBtC,MAAMC,GAC1FA,EAAIG,SAGZkE,WAAWC,GACd,OAAO5G,KAAKgC,QACPG,KAAyB,CAAEpD,EAAG,WAAYqD,EAAG,aAAcwE,UAAAA,IAC3DvE,MAAMC,IACI,CAAEnC,KAAMmC,EAAIG,YC1C5B,MAAMoE,UAAkB9E,EACpBiC,OAAO,G,IAAA,KAAElE,EAAI,QAAEgH,GAAO,EAAKC,E,yUAAK,GAAzB,oBACV,OAAO/G,KAAKgC,QAAQG,KAAK,6BACrBpD,EAAG,OACHqD,EAAG,UACA2E,GAAK,CACRjH,KAAMA,GAAQ,OACdgH,QAASE,KAAKC,UAAUH,MAIzBI,kBACH,OAAOlH,KAAKgC,QAAQG,KAAK,CAAEpD,EAAG,OAAQqD,EAAG,yBAGtC+E,gBACH,OAAOnH,KAAKgC,QAAQG,KAAiB,CAAEpD,EAAG,OAAQqD,EAAG,mBAWlDgF,iCACHC,EACAhC,EACAf,EACAD,EAAO,GAEP,OAAOrE,KAAKgC,QAAQG,KAA4B,CAC5CpD,EAAG,qBACHqD,EAAG,cACHiF,OAAAA,EACA/C,MAAAA,EACAD,KAAAA,EACAM,OAAQ,aACRU,MAAAA,KC3BL,MAAMiC,UAAiBvF,EACnBwF,SAAQ,QACXC,EAAO,SACPC,IAKA,OAAOzH,KAAKgC,QAAQG,KAAK,CACrBpD,EAAG,QACHqD,EAAG,YACHoF,QAAAA,EACAC,SAAAA,IAIDC,UAAS,IACZhF,EAAG,UACHiF,EAAS,QACTH,IAMA,OAAOxH,KAAKgC,QAAQG,KAAK,CACrBpD,EAAG,QACHqD,EAAG,aACHM,IAAAA,EACAiF,UAAAA,EACAH,QAAAA,KC3CL,MAAMI,UAAsB7F,EAExB8F,YAAYpC,EAAiBqC,GAChC,OAAO9H,KAAKgC,QAAQG,KAAK,CACrBpD,EAAG,YACHqD,EAAG,aACH0F,aAAAA,EACAC,IAAK,CAAEC,YAAavC,KAGrBwC,sBAAsBC,EAAkBxC,GAC3C,MAAMoC,EAAeI,EAAWxC,EAAW,GAAGwC,KAAYxC,IAAa,GAAGA,KAAYwC,IACtF,OAAOlI,KAAKgC,QAAQG,KAAK,CACrBpD,EAAG,YACHqD,EAAG,gBACH0F,aAAAA,EACAhI,KAAM,gBACN4F,SAAAA,KCVL,MAAMyC,UAAmBpG,EAIrBqG,YACH,OAAOpI,KAAKgC,QAAQG,KAAK,CAAEpD,EAAG,SAAUqD,EAAG,cAQxCiG,aACH,MAAEhD,EAAK,OAAEV,GACT2D,GAEA,OAAOtI,KAAKgC,QAAQG,KAAK,CAAEpD,EAAG,SAAUqD,EAAG,cAAeiD,MAAAA,EAAOV,OAAQA,GAAU,UAAkB2D,GAmBlGC,YAAYlD,EAAoBiD,GACnC,MAAM,SAAEE,EAAQ,SAAEC,EAAQ,gBAAEC,EAAe,QAAEnE,EAAO,KAAEF,EAAI,MAAEC,EAAK,KAAEI,EAAI,QAAE0B,GAAYf,EACrF,OAAOrF,KAAKgC,QAAQG,KAChB,CACIpD,EAAG,SACHqD,EAAG,QACHoG,SAAAA,EACAC,SAAAA,EACAC,gBAAAA,EACAnE,QAAAA,EACAF,KAAAA,EACAC,MAAAA,EACAI,KAAAA,EACA0B,QAAAA,GAEJkC,GAODK,iBACH,OAAO3I,KAAKgC,QAAQG,KAAK,CAAEpD,EAAG,SAAUqD,EAAG,mBAQxCwG,iBACH,OAAO5I,KAAKgC,QAAQG,KAAK,CAAEpD,EAAG,SAAUqD,EAAG,mBASxCyG,eAAe9E,GAClB,OAAO/D,KAAKgC,QAAQG,KAAK,CAAEpD,EAAG,SAAUqD,EAAG,iBAAkB2B,OAAAA,KChE9D,MAAM+E,UAAqB/G,EACvBgH,QAAQC,GACX,OAAOhJ,KAAKgC,QACPG,KAAmB,eAChBpD,EAAG,SACHqD,EAAG,OACH6G,UAAW,YACXC,KAAM,QACHF,IAEN3G,MAAMC,IACH,MAAMG,EAASH,EAAIG,OAEnB,GAAIF,MAAMC,QAAQC,EAAOtC,MAAO,CAC5B,MAAMA,EAAoBsC,EAAOtC,KAAKuC,KAAKC,GAAUpB,EAAU4H,iBAAiBxG,KAChF,MAAO,CAAE0B,KAAM5B,EAAO4B,KAAM+E,IAAK3G,EAAO2G,IAAK9E,MAAO7B,EAAO6B,MAAOnE,KAAAA,GAGtE,KAAM,CACFwD,MAAOrB,EAAIqB,MACXC,SAAUtB,EAAIsB,aAKvByF,QAAQC,EAAkBC,GAC7B,OAAOvJ,KAAKgC,QACPG,KAAe,CACZpD,EAAG,SACHqD,EAAG,YACHtC,KAAM,eACNwJ,SAAAA,EACAC,WAAAA,EACA5E,OAAQ,SAEXtC,MAAMC,IACH,MAAMG,EAASH,EAAIG,OACnB,OAAOlB,EAAU4H,iBAAiB1G,MAIvC+G,YAAYC,GACf,OAAOzJ,KAAKgC,QACPkB,SAAoC,eACjCnE,EAAG,YACHqD,EAAG,OACAqH,IAENpH,MAAMC,IACH,MAAMG,EAASH,EAAIG,OACnB,OAAOlB,EAAU4H,iBAAiB1G,MAIvCiB,OAAO+F,GACV,OAAOzJ,KAAKgC,QAAQkB,SAAgC,CAChDnE,EAAG,YACHqD,EAAG,SACHsH,WAAYD,EAAS5J,KAItB8J,OAAOF,GACV,OAAOzJ,KAAKgC,QAAQkB,SAAgC,CAChDnE,EAAG,YACHqD,EAAG,SACHsH,WAAYD,EAAS5J,GACrB+J,cAAeH,EAASG,gBAIzBC,KACHJ,EACAK,EACAC,GAEA,OAAO/J,KAAKgC,QAAQkB,SAAgC,CAChDnE,EAAG,YACHqD,EAAG,OACHsH,WAAYD,EAAS5J,GACrBiK,kBAAmBA,EAAkBjK,GACrCmK,iBAAkBD,KCtGvB,MAAME,UAAqBlI,EAIvBG,OACH,OAAOlC,KAAKgC,QACPG,KAAiB,CACdpD,EAAG,WACHqD,EAAG,SAENC,MAAMC,IACH,GAAIC,MAAMC,QAAQF,EAAIG,QAClB,OAAOH,EAAIG,OAEf,KAAM,+BAIXuB,OAAOkG,GACV,OAAOlK,KAAKgC,QAAQG,KAAgC,eAChDpD,EAAG,WACHqD,EAAG,UACA8H,KCfR,MAAMC,UAAiBpI,EAKnBqD,aAAaC,GAChB,OAAOrF,KAAKgC,QACPG,KAAqB,CAAEpD,EAAG,eAAgBqD,EAAG,OAAQkD,EAAGD,EAAOQ,SAAS,IACxExD,MAAMC,IACH,GAAIC,MAAMC,QAAQF,EAAIG,QAClB,OAAOH,EAAIG,OAAOC,KAAK0H,IACnB,MAAMC,EAAQ,IAAIjJ,EAAMgJ,EAAKE,OAAQF,EAAKtK,MAE1C,OADAuK,EAAMnK,QAAQkK,GACPC,KAGf,KAAM,+BASXlL,IAA+B0F,EAAaF,EAAS,UACxD,OAAO3E,KAAKgC,QAAQG,KAAQ,CAAEpD,EAAG,OAAQqD,EAAG,MAAOyC,IAAAA,EAAKF,OAAAA,IAQrD4F,OAAOjJ,EAAckJ,GACxB,OAAOxK,KAAKgC,QAAQG,KAAc,CAAEpD,EAAG,OAAQqD,EAAG,SAAUd,KAAAA,EAAMmJ,SAAUD,IAAanI,MAAMC,IAC3F,MAAM+H,EAAQ,IAAIjJ,EAAMkB,EAAIG,OAAO5C,GAAIyC,EAAIG,OAAO3C,MAElD,OADAuK,EAAMnK,QAAQoC,EAAIG,QACX4H,MCjDZ,MAAMK,EA4BFlJ,wBAAwBzC,GAC3B,MAAM0C,EAAQ,IAAIiJ,EACZhJ,EAA+B,GASrC,OAPAgJ,EAAW/I,OAAOtB,SAASuB,SACVC,IAAT9C,EAAE6C,KACFF,EAAKE,GAAK7C,EAAE6C,OAGpB5C,OAAO8C,OAAOL,EAAOC,GAEdD,GAzBI,EAAAE,OAAmB,CAC9B,KACA,QACA,OACA,QACA,YACA,gBACA,SACA,YACA,YACA,UACA,UACA,QCVD,MAAMgJ,UAAsB5I,EACxBiC,OACHlE,EACAmG,EACA2E,EACAjD,EACAkD,GAEA,OAAO7K,KAAKgC,QAAQG,KAAK,CACrBpD,EAAG,UACHqD,EAAG,SACHtC,KAAAA,EACAmG,MAAAA,EACA2E,MAAAA,EACAjD,UAAAA,EACAkD,UAAAA,IAGD9B,QACH1D,EAAQ,GACRd,EAAsB,GACtBC,EAAqB,GACrBH,EAAO,EACPM,EAAS,QAET,OAAO3E,KAAKgC,QACPG,KAAoB,CACjBpD,EAAG,aACHqD,EAAG,qBACHiD,MAAAA,EACAd,QAAAA,EACAC,OAAAA,EACAH,KAAAA,EACAM,OAAAA,IAEHtC,MAAMC,IACH,MAAMG,EAASH,EAAIG,OACnB,GAAIF,MAAMC,QAAQC,EAAOtC,MAAO,CAC5B,MAAMA,EAAqBsC,EAAOtC,KAAKuC,KAAKC,GAAU+H,EAAWvB,iBAAiBxG,KAClF,MAAO,CAAE0B,KAAM5B,EAAO4B,KAAM+E,IAAK3G,EAAO2G,IAAK9E,MAAO7B,EAAO6B,MAAOnE,KAAAA,GAGtE,KAAM,CACFwD,MAAOrB,EAAIqB,MACXC,SAAUtB,EAAIsB,cC5D3B,MAAMkH,EAuBFtJ,wBAAwBzC,GAC3B,MAAM0C,EAAQ,IAAIqJ,EACZpJ,EAA+B,GASrC,OAPAoJ,EAAMnJ,OAAOtB,SAASuB,SACLC,IAAT9C,EAAE6C,KACFF,EAAKE,GAAK7C,EAAE6C,OAGpB5C,OAAO8C,OAAOL,EAAOC,GAEdD,GAvBI,EAAAE,OAAmB,CAC9B,KACA,QACA,OACA,eACA,eACA,WACA,UACA,QACA,SACA,aCJD,MAAMoJ,UAAkBhJ,EACpBiJ,SACH3G,EACAgB,EACAd,EACAC,EACAF,GAEA,OAAOtE,KAAKgC,QACPG,KAAgB,CAAEpD,EAAG,aAAcqD,EAAG,WAAYiC,KAAAA,EAAMgB,MAAAA,EAAOd,QAAAA,EAASC,OAAAA,EAAQF,MAAAA,IAChFjC,MAAMC,IACH,MAAMG,EAASH,EAAIG,OACnB,GAAIF,MAAMC,QAAQC,EAAOtC,MAAO,CAC5B,MAAMA,EAAgBsC,EAAOtC,KAAKuC,KAAKC,GAAUmI,EAAM3B,iBAAiBxG,KACxE,MAAO,CAAE0B,KAAM5B,EAAO4B,KAAM+E,IAAK3G,EAAO2G,IAAK9E,MAAO7B,EAAO6B,MAAOnE,KAAAA,GAGtE,KAAM,CACFwD,MAAOrB,EAAIqB,MACXC,SAAUtB,EAAIsB,aAKvBqH,eACH,OAAOjL,KAAKgC,QAAQG,KAAK,CAAEpD,EAAG,aAAcqD,EAAG,iBAG5C8I,cACHC,EACAP,EACAC,GAEA,OAAO7K,KAAKgC,QAAQG,KAAK,CAAEpD,EAAG,aAAcqD,EAAG,gBAAiB+I,OAAAA,EAAQP,MAAAA,EAAOC,UAAAA,IAG5EO,WAAWD,GACd,OAAOnL,KAAKgC,QAAQG,KAAK,CAAEpD,EAAG,aAAcqD,EAAG,aAAc+I,OAAAA,IAG1DE,WACHT,EACA9K,EACA+K,GAEA,OAAO7K,KAAKgC,QAAQG,KAAK,CAAEpD,EAAG,aAAcqD,EAAG,aAAcwI,MAAAA,EAAO9K,KAAAA,EAAM+K,UAAAA,IAGvES,WACHH,EACAP,EACAC,GAEA,OAAO7K,KAAKgC,QAAQG,KAAK,CAAEpD,EAAG,aAAcqD,EAAG,aAAc+I,OAAAA,EAAQP,MAAAA,EAAOC,UAAAA,IAGzEU,YAAYJ,EAAgBK,GAC/B,OAAOxL,KAAKgC,QAAQG,KAAK,CAAEpD,EAAG,aAAcqD,EAAG,cAAe+I,OAAAA,EAAQK,KAAAA,KChDvE,MAAMC,EAsBT,YAAmBzJ,GArBZ,KAAA0J,QAAU,MAsBb1L,KAAKgC,QAAUA,EACfhC,KAAK2L,YAAc,IAAI1J,EAAgBjC,KAAKgC,SAC5ChC,KAAKiE,QAAU,IAAIH,EAAY9D,KAAKgC,SACpChC,KAAK4L,KAAO,IAAIxH,EAASpE,KAAKgC,SAC9BhC,KAAK+E,SAAW,IAAII,EAAanF,KAAKgC,SACtChC,KAAK6L,UAAY,IAAItG,EAAcvF,KAAKgC,SACxChC,KAAK8F,QAAU,IAAIH,EAAY3F,KAAKgC,SACpChC,KAAKmG,KAAO,IAAIH,EAAShG,KAAKgC,SAC9BhC,KAAK8L,SAAW,IAAIrF,EAAazG,KAAKgC,SACtChC,KAAK+G,MAAQ,IAAIF,EAAU7G,KAAKgC,SAChChC,KAAK+L,MAAQ,IAAIzE,EAAStH,KAAKgC,SAC/BhC,KAAKgM,UAAY,IAAIpE,EAAc5H,KAAKgC,SACxChC,KAAKiM,OAAS,IAAI9D,EAAWnI,KAAKgC,SAClChC,KAAKyJ,SAAW,IAAIX,EAAa9I,KAAKgC,SACtChC,KAAKkK,SAAW,IAAID,EAAajK,KAAKgC,SACtChC,KAAKoK,KAAO,IAAID,EAASnK,KAAKgC,SAC9BhC,KAAKkM,UAAY,IAAIvB,EAAc3K,KAAKgC,SACxChC,KAAKmM,MAAQ,IAAIpB,EAAU/K,KAAKgC,UCtDjC,MAAMoK,EAKT,YAAmBC,EAAgBC,EAAS,aACxCtM,KAAKqM,OAASA,EACd,MAAME,EAAWF,EAAOE,SACxBvM,KAAKwM,QAAU,GAAGD,EAASE,aAAaF,EAASG,OACjD1M,KAAK2M,OAAS3M,KAAKwM,QAAUF,EAG1B9K,0BAA0B6E,GAC7B,OAAOrH,OAAO8C,OAAO,CAAE8K,OAAQ,OAAQC,YAAa,eAA0B,CAAExG,KAAMW,KAAKC,UAAUZ,KAGlG7E,2BAA2B4E,GAC9B,OAAOpH,OAAO8N,QAAQ1G,GACjB2G,QAAO,CAACC,GAAMC,EAAQC,MACnBF,EAAIzG,OAAO0G,EAAQC,EAASC,YACrBH,IACR,IAAII,iBACND,WAIFE,MAAMhH,EAAUiC,GACnB,OAAOtI,KAAKqM,OAAOgB,MAAMrN,KAAK2M,OAAQ,OAAF,wBAAOP,EAAQkB,mBAAmBjH,IAAK,CAAEiC,OAAAA,KAG1EnG,KAAsBkE,EAAUiC,GACnC,OAAOtI,KAAKqN,MAAMhH,EAAMiC,GACnBjG,MAAMC,GAAkBA,EAAIiL,SAC5BlL,MAAMC,IACH,GAAkB,IAAdA,EAAIqB,MACJ,OAAOrB,EAEX,KAAM,CACFqB,MAAOrB,EAAIqB,MACX6J,SAAUlL,EAAIkL,SACd5J,SAAUtB,EAAIsB,aAGrB6J,OAAOC,IACJ,GAAIpF,GAAUA,EAAOqF,QACjB,KAAM,CACFhK,OAAQ,EACRgK,SAAS,GAGjB,MAAMD,KAMXlH,SAASH,EAAgBD,GAC5B,OAAOpG,KAAKqM,OACPgB,MAAM,GAAGrN,KAAK2M,0BAA0BP,EAAQwB,oBAAoB5O,OAAO6O,OAAOzH,MAAa,CAC5FwG,OAAQ,OACRC,YAAa,cACbxG,KAAAA,IAEHhE,MAAMyL,GAASA,EAAKP,SACpBlL,MAAM0L,IACH,GAAuB,IAAnBA,EAASpK,MACT,OAAOoK,EAAStL,OAEpB,MAAMsL,EAASpK,SAIpBT,SAA0BmD,GAC7B,OAAOrG,KAAKgO,YAAY3L,MAAM2L,GAAchO,KAAKmC,KAAKnD,OAAO8C,OAAOuE,EAAM,CAAE2H,UAAWA,EAAUvL,YAG9FwD,QACH,OAAOjG,KAAKmC,KAAK,CAAEpD,EAAG,OAAQqD,EAAG,UAG9B4L,YACH,OAAOhO,KAAKmC,KAAK,CAAEpD,EAAG,OAAQqD,EAAG,eC1FzC,MAAMJ,EAAU,IAAIoK,EAAQC,QACtB4B,EAA0B,IAAIxC,EAAgBzJ,GAQpDqK,OAAOZ,gBAAkBwC,EAGzB,U","sources":["webpack://jamespot-user-api/webpack/bootstrap","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/classes/JApplication.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/home/runner/work/jamespot-user-api/jamespot-user-api/src/classes/JBaseObject.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/classes/JConcept.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/classes/JUser.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/classes/JBookmark.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/base.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/application.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/article.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/asei.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/audience.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/community.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/concept.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/file.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/filebank.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/group.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/jland.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/messenger.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/search.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/bookmark.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/taxonomy.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/user.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/classes/JDiapazone.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/diapazone.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/classes/JFile.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/wedoc.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/apis/jamespotUserApi.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/util/network.ts","webpack://jamespot-user-api/../../../../../react/jamespot-user-api/home/runner/work/jamespot-user-api/jamespot-user-api/src/index.ts"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n/* FIXME when working on studio typing */\n\nimport { JBaseObject } from './JBaseObject';\n\nexport enum JApplicationStatus {\n local = 'local',\n installed = 'installed',\n autosaved = 'autosaved',\n saved = 'saved',\n}\nexport class JApplication extends JBaseObject {\n private status?: JApplicationStatus;\n\n public constructor(id?: string, type?: string, status?: JApplicationStatus) {\n super(id, type);\n if (status) {\n this.setStatus(status);\n } else {\n this.setStatus(JApplicationStatus.local);\n }\n }\n\n public get(prop: string): any {\n if (prop === 'status') {\n return this.getStatus();\n }\n return super.get(prop);\n }\n\n public set(prop: string, val: any): void {\n if (prop === 'status') {\n return this.setStatus(val);\n }\n return super.set(prop, val);\n }\n\n public setStatus(status: JApplicationStatus): void {\n this.status = status;\n }\n public getStatus(): JApplicationStatus | undefined {\n return this.status;\n }\n\n public updateUsing(newerJApplication: JApplication): JApplication {\n if (this.getId() === newerJApplication.getId() && this.getType() === newerJApplication.getType()) {\n Object.keys(newerJApplication.record).forEach((key: string) => {\n this.set(key, newerJApplication.get(key));\n });\n } else {\n throw new Error('Incompatible update');\n }\n return this;\n }\n}\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};","/* eslint-disable @typescript-eslint/no-explicit-any */\n/* FIXME when working on studio typing */\n\n/** Base class to represent objects retreived from or sent to the backend.\n * This JBaseObject is then derived to provide a more understandable result for each API.\n */\nexport class JBaseObject {\n protected type?: string;\n protected id?: string;\n protected record: Record<string, any> = {};\n\n public constructor(id?: string, type?: string) {\n if (id) {\n this.set('id', id);\n }\n if (type) {\n this.set('type', type);\n }\n }\n\n public hydrate(data: any = {}): void {\n Object.keys(data).forEach((key) => {\n this.set(key, data[key]);\n });\n }\n\n public getType(): string | undefined {\n return this.type;\n }\n\n public getId(): string | undefined {\n return this.id;\n }\n\n public getUri(): string {\n return `${this.getType()}/${this.getId()}`;\n }\n\n public get(prop: string): any {\n switch (prop) {\n case 'type':\n return this.getType();\n case 'id':\n return this.getId();\n case 'uri':\n return this.getUri();\n default:\n return this.record[prop];\n }\n }\n\n public set(prop: string, val: any): void {\n switch (prop) {\n case 'type':\n this.type = val;\n break;\n case 'id':\n this.id = val;\n break;\n default:\n this.record[prop] = val;\n }\n }\n}\n","import { JBaseObject } from './JBaseObject';\n\nexport class JConcept extends JBaseObject {}\n","import { JBaseObject } from './JBaseObject';\n\nexport class JUser extends JBaseObject {\n public getMail(): string {\n return this.get('_values').mail;\n }\n}\n","export class JBookmark {\n public id?: number;\n public type?: string;\n public targetId?: number;\n public targetType?: string;\n public bookmarkUrl?: string;\n public bookmarkOrder?: number;\n public bookmarkLabel?: string;\n public bookmarkMeta?: string;\n public _cssClass?: string;\n public _cssColor?: string;\n public _values?: Record<string, string>;\n public url?: string;\n\n private static fields: string[] = [\n 'id',\n 'type',\n 'targetId',\n 'targetType',\n 'bookmarkUrl',\n 'bookmarkOrder',\n 'bookmarkLabel',\n 'bookmarkMeta',\n '_cssClass',\n '_cssColor',\n '_values',\n 'url',\n ];\n\n public static createFromObject(o: Record<string, object>): JBookmark {\n const toRet = new JBookmark();\n const copy: Record<string, object> = {};\n // Clean unknown elements\n JBookmark.fields.forEach((p) => {\n if (o[p] !== undefined) {\n copy[p] = o[p];\n }\n });\n\n Object.assign(toRet, copy);\n\n return toRet;\n }\n}\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 { JApplication, JApplicationStatus } from '../classes';\nimport { ApiWrapper, BaseMessages } from '../types';\nimport { JBaseApi } from './base';\nimport { OF } from '../util/network';\n\nexport interface TmpApplication {\n idApp: string;\n type: string;\n}\n\nexport class JApplicationApi extends JBaseApi {\n /**\n * List applications\n * @returns {@link JApplication} objects, in light format\n */\n public list(): Promise<JApplication[]> {\n return this.network.post<Array<TmpApplication>, BaseMessages>({ o: 'studio', f: 'list' }).then((res) => {\n if (Array.isArray(res.result)) {\n return res.result.map((entry) => {\n const nApp = new JApplication(entry.idApp);\n nApp.hydrate(entry);\n return nApp;\n });\n }\n throw 'Bad response from backend';\n });\n }\n\n private stdCall<T extends OF = OF>(parameters: T): Promise<JApplication> {\n return this.network.post<TmpApplication, BaseMessages>(parameters).then((res) => {\n const jApplication = new JApplication(res.result.idApp);\n jApplication.hydrate(res.result);\n return jApplication;\n });\n }\n\n private stdCSRFCall<T extends OF = OF>(parameters: T): Promise<JApplication> {\n return this.network.postCSRF<TmpApplication, BaseMessages>(parameters).then((res) => {\n const jApplication = new JApplication(res.result.idApp);\n jApplication.hydrate(res.result);\n return jApplication;\n });\n }\n\n /**\n * Get one application\n * @returns {@link JApplication} object in full format\n */\n public get(idApp: string, status?: JApplicationStatus): Promise<JApplication> {\n return this.stdCall({ o: 'studio', f: 'get', idApp, status });\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): Promise<JApplication> {\n return this.stdCSRFCall({ o: 'studio', f: 'install', value: xmlBody });\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): Promise<JApplication> {\n return this.stdCSRFCall({ o: 'studio', f: 'suspend', idApp });\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): Promise<JApplication> {\n return this.stdCSRFCall({ o: 'studio', f: 'restart', idApp });\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: JApplicationStatus): Promise<JApplication> {\n if (status === JApplicationStatus.saved || status === JApplicationStatus.autosaved) {\n return this.stdCSRFCall({\n o: 'studio',\n f: 'save',\n idApp,\n value,\n status,\n });\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: JApplicationStatus): Promise<Array<string>> {\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 } else {\n throw res.messages;\n }\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 { ApiWrapper, BaseMessages, Filters, Little, Orders, PagingResults } 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;\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};\n\nexport type BaseArticle = {\n id: number;\n type: string;\n dateCreation: string;\n dateModified: string;\n title: string;\n};\n\nexport class JArticleApi extends JBaseApi {\n public list(config: ArticleListConfig): Promise<ApiWrapper<PagingResults<{ title: string }>>> {\n return this.network.post({\n o: 'ObjectListJamespot',\n f: 'ArticleQueryList',\n ...config,\n } as OF);\n }\n\n public get<T extends Little = Little>(config: ArticleGetConfig): Promise<ApiWrapper<T>> {\n return this.network.post({\n o: 'article',\n f: 'get',\n ...config,\n } as OF);\n }\n\n public create<T>(article: ArticleCreation): Promise<ApiWrapper<BaseArticle & T>> {\n return this.network.post({\n o: 'article',\n f: 'create',\n ...article,\n } as OF);\n }\n\n public update<T extends { uri: string }>(article: T): Promise<ApiWrapper<never, BaseMessages>> {\n return this.network.post({\n o: 'article',\n f: 'update',\n ...article,\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 { JBaseApi } from './base';\nimport { OF } from '../util/network';\nimport { AseiGroups, AseiRights, AseiTicket, AseiTicketStatus, Filters, Orders } from '../types';\nimport { JArticleApi } from './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 { AudienceAutocomplete } from '../types/autocomplete';\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, 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 { JConcept } from '../classes';\nimport { OF } from '../util/network';\n\nexport class JConceptApi extends JBaseApi {\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): Promise<JConcept[]> {\n return this.network\n .post<Array<{ id: string; type: string }>>({\n o: 'autocomplete',\n f: 'taxonomy',\n q: query,\n idTaxonomy,\n idToUri: false,\n } as OF)\n .then((res) => {\n if (Array.isArray(res.result)) {\n return res.result.map((concept) => {\n const jConcept = new JConcept(concept.id, concept.type);\n jConcept.hydrate(concept);\n return jConcept;\n });\n }\n throw 'Bad response from backend';\n });\n }\n}\n","import { FileOption } from '../util/network';\nimport { JBaseApi } from './base';\n\nexport class JFileApi extends JBaseApi {\n // FIXME when doing the first file upload\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public create(token: string, attrName: 'attachment' | 'image', file: File, options: FileOption): Promise<any> {\n const body = new FormData();\n body.append('token', token);\n body.append('attrName', attrName);\n body.append(attrName, file);\n return this.network.postFile(body, options);\n }\n}\n","import { JBaseApi } from './base';\nimport { OF } from '../util/network';\nimport { ListWrapper } from '../types/listWrapper';\nimport { Little, 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 Little {\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<ListWrapper<FolderProps>> {\n return this.network\n .post<Array<FolderProps>>({ o: 'fileBank', f: 'getFolders', parentURI } as OF)\n .then((res) => {\n return { data: res.result };\n });\n }\n}\n","import { ApiWrapper, Category, CreateGroup, GroupWidgets, Little, PagingResults } from '../types';\nimport { JBaseApi } from './base';\nimport { OF } from '../util/network';\n\nexport class JGroupApi extends JBaseApi {\n public create({ type, widgets, ...group }: CreateGroup): Promise<ApiWrapper<string>> {\n return this.network.post({\n o: 'spot',\n f: 'create',\n ...group,\n type: type || 'spot',\n widgets: JSON.stringify(widgets),\n } as OF);\n }\n\n public getApplications(): Promise<ApiWrapper<GroupWidgets>> {\n return this.network.post({ o: 'spot', f: 'get-available-widget' });\n }\n\n public getCategories(): Promise<ApiWrapper<Category[]>> {\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(\n idSpot: number | string,\n query?: string,\n limit?: number,\n page = 1,\n ): Promise<ApiWrapper<PagingResults<Little>>> {\n return this.network.post<PagingResults<Little>>({\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 { ApiWrapper } from '../types';\nimport { OF } from '../util/network';\n\nexport type JLandLog = {\n idLog: number;\n slug: string;\n dateCreation: string;\n map: string;\n mail: string;\n};\n\nexport type JLandStat = {\n mail: string;\n cnt: string;\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","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} 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<any> {\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<any> {\n return this.network.post({ o: 'search', f: 'setAdminConfig', config } as OF);\n }\n}\n","import { ApiWrapper, BaseMessagesOne } from '../types';\nimport { JBaseApi } from './base';\nimport { JBookmark } from '../classes/JBookmark';\nimport { ListWrapper } from '../types/listWrapper';\nimport { OF } from '../util/network';\n\nexport interface ListFilterSpec {\n query?: string;\n page?: number;\n limit?: number;\n orders?: {\n name: string;\n sort: string;\n }[];\n}\n\ntype Bookmark = Record<string, object>;\n\ntype BookmarkList = {\n page: number;\n cnt: number;\n limit: number;\n data: Bookmark[];\n};\n\nexport class JBookmarkApi extends JBaseApi {\n public getList(filterSpecs: ListFilterSpec): Promise<ListWrapper<JBookmark>> {\n return this.network\n .post<BookmarkList>({\n o: 'object',\n f: 'list',\n namespace: 'bookmarks',\n view: 'list',\n ...filterSpecs,\n } as OF)\n .then((res) => {\n const result = res.result;\n\n if (Array.isArray(result.data)) {\n const data: JBookmark[] = result.data.map((entry) => JBookmark.createFromObject(entry));\n return { page: result.page, cnt: result.cnt, limit: result.limit, data };\n }\n\n throw {\n error: res.error,\n messages: res.messages,\n };\n });\n }\n\n public addLink(targetId: number, targetType: string): Promise<JBookmark> {\n return this.network\n .post<Bookmark>({\n o: 'custom',\n f: 'actionAdd',\n type: 'bookmarkLink',\n targetId,\n targetType,\n format: 'list',\n } as OF)\n .then((res) => {\n const result = res.result;\n return JBookmark.createFromObject(result);\n });\n }\n\n public addBookmark(bookmark: JBookmark): Promise<JBookmark> {\n return this.network\n .postCSRF<Bookmark, BaseMessagesOne>({\n o: 'bookmarks',\n f: 'add',\n ...bookmark,\n } as OF)\n .then((res) => {\n const result = res.result;\n return JBookmark.createFromObject(result);\n });\n }\n\n public delete(bookmark: JBookmark): Promise<ApiWrapper<null, BaseMessagesOne>> {\n return this.network.postCSRF<null, BaseMessagesOne>({\n o: 'bookmarks',\n f: 'delete',\n bookmarkID: bookmark.id,\n } as OF);\n }\n\n public rename(bookmark: JBookmark): Promise<ApiWrapper<null, BaseMessagesOne>> {\n return this.network.postCSRF<null, BaseMessagesOne>({\n o: 'bookmarks',\n f: 'rename',\n bookmarkID: bookmark.id,\n bookmarkLabel: bookmark.bookmarkLabel,\n } as OF);\n }\n\n public move(\n bookmark: JBookmark,\n bookmarkReference: JBookmark,\n position: 'before' | 'after',\n ): Promise<ApiWrapper<null, BaseMessagesOne>> {\n return this.network.postCSRF<null, BaseMessagesOne>({\n o: 'bookmarks',\n f: 'move',\n bookmarkID: bookmark.id,\n bookmarkReference: bookmarkReference.id,\n bookmarkPosition: position,\n } as OF);\n }\n}\n","import { JBaseApi } from './base';\nimport { OF } from '../util/network';\nimport { ApiWrapper, BaseMessagesOne, Taxonomy, TaxonomyCreate } 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","import { JBaseApi } from './base';\nimport { JUser } from '../classes';\nimport { OF } from '../util/network';\nimport { ApiWrapper, Little } from '../types';\n\nexport interface TmpUser {\n idUser: string;\n type: string;\n id: string;\n}\n\nexport class JUserApi extends JBaseApi {\n /**\n * autocomplete return a list or JUser\n * @param query <string>\n */\n public autocomplete(query: string): Promise<Array<JUser>> {\n return this.network\n .post<Array<TmpUser>>({ o: 'autocomplete', f: 'user', q: query, idToUri: false } as OF)\n .then((res) => {\n if (Array.isArray(res.result)) {\n return res.result.map((user) => {\n const jUser = new JUser(user.idUser, user.type);\n jUser.hydrate(user);\n return jUser;\n });\n }\n throw 'Bad response from backend';\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 Little = Little>(uri: string, format = 'little'): Promise<ApiWrapper<T>> {\n return this.network.post<T>({ o: 'user', f: 'get', uri, format } as OF);\n }\n\n /**\n * signIn function returns a Promise of JUser.\n * @param mail Mail or username\n * @param pwd Password to be validated\n */\n public signIn(mail: string, pwd: string): Promise<JUser> {\n return this.network.post<TmpUser>({ o: 'user', f: 'signIn', mail, password: pwd } as OF).then((res) => {\n const jUser = new JUser(res.result.id, res.result.type);\n jUser.hydrate(res.result);\n return jUser;\n });\n }\n}\n","export class JDiapazone {\n public id!: number;\n public title!: string;\n public type!: string;\n public _user?: Record<string, string>;\n public _audience?: Record<string, string>;\n public _audienceLeft?: number;\n public _right?: Record<string, string>;\n public _cssClass?: string;\n public _cssColor?: string;\n public _values?: Record<string, string>;\n public _extend?: Record<string, string>;\n public _url?: string;\n\n private static fields: string[] = [\n 'id',\n 'title',\n 'type',\n '_user',\n '_audience',\n '_audienceLeft',\n '_right',\n '_cssClass',\n '_cssColor',\n '_values',\n '_extend',\n '_url',\n ];\n public static createFromObject(o: Record<string, object>): JDiapazone {\n const toRet = new JDiapazone();\n const copy: Record<string, object> = {};\n // Clean unknown elements\n JDiapazone.fields.forEach((p) => {\n if (o[p] !== undefined) {\n copy[p] = o[p];\n }\n });\n Object.assign(toRet, copy);\n\n return toRet;\n }\n}\n","import { JBaseApi } from './base';\nimport { ListWrapper } from '../types/listWrapper';\nimport { ApiWrapper } from '../types';\nimport { OF } from '../util/network';\n\nimport { JDiapazone } from '../classes/JDiapazone';\n\ntype Diapazone = Record<string, object>;\n\ntype DiapazoneList = {\n page: number;\n cnt: number;\n limit: number;\n data: Diapazone[];\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<any>,\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 public getList(\n query = '',\n filters: Array<any> = [],\n orders: Array<any> = [],\n page = 1,\n format = 'list',\n ): Promise<ListWrapper<JDiapazone>> {\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 if (Array.isArray(result.data)) {\n const data: JDiapazone[] = result.data.map((entry) => JDiapazone.createFromObject(entry));\n return { page: result.page, cnt: result.cnt, limit: result.limit, data };\n }\n\n throw {\n error: res.error,\n messages: res.messages,\n };\n });\n }\n}\n","export class jFile {\n public id!: number;\n public title!: string;\n public type!: string;\n public dateCreation!: string;\n public mimetype!: string;\n public _extend: any;\n public _user: any;\n public _right: any;\n public _audience: any;\n\n private static fields: string[] = [\n 'id',\n 'title',\n 'type',\n 'dateCreation',\n 'dateModified',\n 'mimetype',\n '_extend',\n '_user',\n '_right',\n '_audience',\n ];\n public static createFromObject(o: Record<string, object>): jFile {\n const toRet = new jFile();\n const copy: Record<string, object> = {};\n // Clean unknown elements\n jFile.fields.forEach((p) => {\n if (o[p] !== undefined) {\n copy[p] = o[p];\n }\n });\n Object.assign(toRet, copy);\n\n return toRet;\n }\n}\n","import { ApiWrapper } from '../types';\nimport { JBaseApi } from './base';\nimport { OF } from '../util/network';\nimport { ListWrapper } from '../types/listWrapper';\nimport { jFile } from '../classes/JFile';\n\ntype File = Record<string, object>;\n\ntype FiletList = {\n page: number;\n cnt: number;\n limit: number;\n data: File[];\n};\n\nimport { Orders, Filters } from '../types';\n\nexport class JWedocApi extends JBaseApi {\n public getFiles(\n page: number,\n query: string,\n filters: Filters,\n orders: Orders,\n limit: number,\n ): Promise<ListWrapper<jFile>> {\n return this.network\n .post<FiletList>({ o: 'onlyOffice', f: 'getFiles', page, query, filters, orders, limit } as OF)\n .then((res) => {\n const result = res.result;\n if (Array.isArray(result.data)) {\n const data: jFile[] = result.data.map((entry) => jFile.createFromObject(entry));\n return { page: result.page, cnt: result.cnt, limit: result.limit, data };\n }\n\n throw {\n error: res.error,\n messages: res.messages,\n };\n });\n }\n\n public getTemplates(): Promise<ApiWrapper<boolean, { code: number; msg: string }>> {\n return this.network.post({ o: 'onlyOffice', f: 'getTemplates' } as OF);\n }\n\n public duplicateFile(\n idFile: number,\n title: string,\n publishTo: Array<any>,\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(\n title: string,\n type: string,\n publishTo: Array<any>,\n ): Promise<ApiWrapper<boolean, { code: number; msg: string }>> {\n return this.network.post({ o: 'onlyOffice', f: 'createFile', title, type, publishTo } as OF);\n }\n\n public updateFile(\n idFile: number,\n title: string,\n publishTo: Array<string>,\n ): Promise<ApiWrapper<boolean, { code: number; msg: string }>> {\n return this.network.post({ o: 'onlyOffice', f: 'updateFile', idFile, title, publishTo } 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 { JApplicationApi } from './application';\nimport { JArticleApi } from './article';\nimport { JAseiApi } from './asei';\nimport { JAudienceApi } from './audience';\nimport { JCommunityApi } from './community';\nimport { JConceptApi } from './concept';\nimport { JFileApi } from './file';\nimport { JFilebankApi } from './filebank';\nimport { JGroupApi } from './group';\nimport { JLandApi } from './jland';\nimport { JMessengerApi } from './messenger';\nimport { JSearchApi } from './search';\nimport { JBookmarkApi } from './bookmark';\nimport { JTaxonomyApi } from './taxonomy';\nimport { JUserApi } from './user';\nimport { JDiapazoneApi } from './diapazone';\nimport { JWedocApi } from './wedoc';\nimport { Network } from '../util/network';\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\n public application: JApplicationApi;\n public article: JArticleApi;\n public asei: JAseiApi;\n public audience: JAudienceApi;\n public community: JCommunityApi;\n public concept: JConceptApi;\n public file: JFileApi;\n public filebank: JFilebankApi;\n public group: JGroupApi;\n public jland: JLandApi;\n public messenger: JMessengerApi;\n public search: JSearchApi;\n public bookmark: JBookmarkApi;\n public taxonomy: JTaxonomyApi;\n public user: JUserApi;\n public diapazone: JDiapazoneApi;\n public wedoc: JWedocApi;\n\n public constructor(network: Network) {\n this.network = network;\n this.application = new JApplicationApi(this.network);\n this.article = new JArticleApi(this.network);\n this.asei = new JAseiApi(this.network);\n this.audience = new JAudienceApi(this.network);\n this.community = new JCommunityApi(this.network);\n this.concept = new JConceptApi(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.messenger = new JMessengerApi(this.network);\n this.search = new JSearchApi(this.network);\n this.bookmark = new JBookmarkApi(this.network);\n this.taxonomy = new JTaxonomyApi(this.network);\n this.user = new JUserApi(this.network);\n this.diapazone = new JDiapazoneApi(this.network);\n this.wedoc = new JWedocApi(this.network);\n }\n}\n","import { ApiWrapper } from '../types';\n\nexport interface FileOption {\n makeImage: boolean;\n size: string;\n}\n\nexport interface OF {\n o: string;\n f: string;\n}\n\nexport class Network {\n private readonly backUrl: string;\n private readonly apiUrl: string;\n private readonly window: Window;\n\n public constructor(window: Window, suffix = '/user-api') {\n this.window = window;\n const location = window.location;\n this.backUrl = `${location.protocol}//${location.host}`;\n this.apiUrl = this.backUrl + suffix;\n }\n\n public static _formatPostOptions(body: object): RequestInit {\n return Object.assign({ method: 'POST', credentials: 'same-origin' as const }, { body: JSON.stringify(body) });\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 // FIXME Promise<Response> should depend of T\n public fetch(body: OF, signal?: AbortSignal): Promise<Response> {\n return this.window.fetch(this.apiUrl, { ...Network._formatPostOptions(body), signal });\n }\n\n public post<T, U = string[]>(body: OF, signal?: AbortSignal): Promise<ApiWrapper<T, U>> {\n return this.fetch(body, signal)\n .then((res: Response) => 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 // FIXME when doing the first file upload\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public postFile(body: FormData, options: FileOption): Promise<any> {\n return this.window\n .fetch(`${this.apiUrl}?o=file&f=create&${Network._formatQueryOptions(Object.freeze(options))}`, {\n method: 'POST',\n credentials: 'same-origin',\n body,\n })\n .then((resp) => resp.json())\n .then((response) => {\n if (response.error === 0) {\n return response.result;\n }\n throw response.error;\n });\n }\n\n public postCSRF<T, U = string[]>(body: OF): Promise<ApiWrapper<T, U>> {\n return this.tokenCSRF().then((tokenCSRF) => this.post(Object.assign(body, { tokenCSRF: tokenCSRF.result })));\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 { JamespotUserApi } from './apis/jamespotUserApi';\nimport { Network } from './util/network';\n\nconst network = new Network(window);\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 './classes';\nexport * from './util/network';\n"],"names":["JApplicationStatus","__webpack_require__","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","JBaseObject","id","type","record","this","set","hydrate","data","keys","forEach","getType","getId","getUri","val","JApplication","status","super","setStatus","local","getStatus","updateUsing","newerJApplication","Error","JConcept","JUser","getMail","mail","JBookmark","static","toRet","copy","fields","p","undefined","assign","JBaseApi","network","JApplicationApi","list","post","f","then","res","Array","isArray","result","map","entry","nApp","idApp","stdCall","parameters","jApplication","stdCSRFCall","postCSRF","install","xmlBody","suspend","restart","save","saved","autosaved","delete","error","messages","cssClassList","JArticleApi","config","create","article","update","count","JAseiApi","page","limit","filters","orders","name","sort","format","requestStatus","uri","requestedStatus","audience","getDedicatedGroups","getConfiguration","right","JAudienceApi","autocomplete","query","q","JCommunityApi","sendRequest","message","idUserTo","JConceptApi","idTaxonomy","idToUri","concept","jConcept","JFileApi","token","attrName","file","options","body","FormData","append","postFile","JFilebankApi","getBanks","getFolders","parentURI","JGroupApi","widgets","group","JSON","stringify","getApplications","getCategories","getObjectListJamespotSpotMembers","idSpot","JLandApi","getLogs","dateEnd","idLogMax","getStats","dateStart","JMessengerApi","sendMessage","idDiscussion","msg","description","getOrCreateDiscussion","idSender","JSearchApi","getConfig","proposition","signal","searchQuery","keywords","category","facetCategories","getLastQueries","getAdminConfig","setAdminConfig","JBookmarkApi","getList","filterSpecs","namespace","view","createFromObject","cnt","addLink","targetId","targetType","addBookmark","bookmark","bookmarkID","rename","bookmarkLabel","move","bookmarkReference","position","bookmarkPosition","JTaxonomyApi","taxonomy","JUserApi","user","jUser","idUser","signIn","pwd","password","JDiapazone","JDiapazoneApi","title","publishTo","jFile","JWedocApi","getFiles","getTemplates","duplicateFile","idFile","deleteFile","createFile","updateFile","getFileInfo","mode","JamespotUserApi","version","application","asei","community","filebank","jland","messenger","search","diapazone","wedoc","Network","window","suffix","location","backUrl","protocol","host","apiUrl","method","credentials","entries","reduce","acc","optKey","optValue","toString","URLSearchParams","fetch","_formatPostOptions","json","errorMsg","catch","err","aborted","_formatQueryOptions","freeze","resp","response","tokenCSRF","JamespotUserApiInstance"],"sourceRoot":""}
|
package/lib/src/apis/search.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ApiWrapper, SearchConfig, SearchQuery, SearchQueryResult, SearchResultCatProps } from '../types';
|
|
1
|
+
import { ApiWrapper, SearchConfig, SearchQuery, SearchQueryResult, SearchResultCatProps, SearchLastQuery } from '../types';
|
|
2
2
|
import { JBaseApi } from './base';
|
|
3
3
|
export declare class JSearchApi extends JBaseApi {
|
|
4
4
|
/**
|
|
@@ -34,7 +34,7 @@ export declare class JSearchApi extends JBaseApi {
|
|
|
34
34
|
/**
|
|
35
35
|
* return the five last keywords typed in the searchbar by the user
|
|
36
36
|
*/
|
|
37
|
-
getLastQueries(): Promise<ApiWrapper<
|
|
37
|
+
getLastQueries(): Promise<ApiWrapper<SearchLastQuery[]>>;
|
|
38
38
|
/**
|
|
39
39
|
* return the current platform json search-config object
|
|
40
40
|
*/
|
package/package.json
CHANGED
package/src/apis/application.ts
DELETED
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import { JApplication, JApplicationStatus } from '../classes';
|
|
2
|
-
import { ApiWrapper, BaseMessages } from '../types';
|
|
3
|
-
import { JBaseApi } from './base';
|
|
4
|
-
import { OF } from '../util/network';
|
|
5
|
-
|
|
6
|
-
export interface TmpApplication {
|
|
7
|
-
idApp: string;
|
|
8
|
-
type: string;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export class JApplicationApi extends JBaseApi {
|
|
12
|
-
/**
|
|
13
|
-
* List applications
|
|
14
|
-
* @returns {@link JApplication} objects, in light format
|
|
15
|
-
*/
|
|
16
|
-
public list(): Promise<JApplication[]> {
|
|
17
|
-
return this.network.post<Array<TmpApplication>, BaseMessages>({ o: 'studio', f: 'list' }).then((res) => {
|
|
18
|
-
if (Array.isArray(res.result)) {
|
|
19
|
-
return res.result.map((entry) => {
|
|
20
|
-
const nApp = new JApplication(entry.idApp);
|
|
21
|
-
nApp.hydrate(entry);
|
|
22
|
-
return nApp;
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
throw 'Bad response from backend';
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
private stdCall<T extends OF = OF>(parameters: T): Promise<JApplication> {
|
|
30
|
-
return this.network.post<TmpApplication, BaseMessages>(parameters).then((res) => {
|
|
31
|
-
const jApplication = new JApplication(res.result.idApp);
|
|
32
|
-
jApplication.hydrate(res.result);
|
|
33
|
-
return jApplication;
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
private stdCSRFCall<T extends OF = OF>(parameters: T): Promise<JApplication> {
|
|
38
|
-
return this.network.postCSRF<TmpApplication, BaseMessages>(parameters).then((res) => {
|
|
39
|
-
const jApplication = new JApplication(res.result.idApp);
|
|
40
|
-
jApplication.hydrate(res.result);
|
|
41
|
-
return jApplication;
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Get one application
|
|
47
|
-
* @returns {@link JApplication} object in full format
|
|
48
|
-
*/
|
|
49
|
-
public get(idApp: string, status?: JApplicationStatus): Promise<JApplication> {
|
|
50
|
-
return this.stdCall({ o: 'studio', f: 'get', idApp, status });
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Install this application.
|
|
55
|
-
* If everything is ok, remove previous saved and autosaved versions of this application.
|
|
56
|
-
* @param xmlBody: string XML file
|
|
57
|
-
* @returns {@link JApplication} object in full format
|
|
58
|
-
*/
|
|
59
|
-
public install(xmlBody: string): Promise<JApplication> {
|
|
60
|
-
return this.stdCSRFCall({ o: 'studio', f: 'install', value: xmlBody });
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Suspend an installed application.
|
|
65
|
-
* @param idApp: application's id
|
|
66
|
-
* @returns {@link JApplication} object in full format
|
|
67
|
-
*/
|
|
68
|
-
public suspend(idApp: string): Promise<JApplication> {
|
|
69
|
-
return this.stdCSRFCall({ o: 'studio', f: 'suspend', idApp });
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Restart an suspended application.
|
|
74
|
-
* @param idApp: application's id
|
|
75
|
-
* @returns {@link JApplication} object in full format
|
|
76
|
-
*/
|
|
77
|
-
public restart(idApp: string): Promise<JApplication> {
|
|
78
|
-
return this.stdCSRFCall({ o: 'studio', f: 'restart', idApp });
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Save a 'local', 'saved' or 'autosaved' version of the application
|
|
83
|
-
* Returns a 'save' or 'autosaved' application.
|
|
84
|
-
* @param idApp: application's id
|
|
85
|
-
* @param value: data to be saved
|
|
86
|
-
* @param status: must be either 'saved' or 'autosaved'.
|
|
87
|
-
* @returns {@link JApplication} object in full format
|
|
88
|
-
*/
|
|
89
|
-
public save(idApp: string, value: string, status: JApplicationStatus): Promise<JApplication> {
|
|
90
|
-
if (status === JApplicationStatus.saved || status === JApplicationStatus.autosaved) {
|
|
91
|
-
return this.stdCSRFCall({
|
|
92
|
-
o: 'studio',
|
|
93
|
-
f: 'save',
|
|
94
|
-
idApp,
|
|
95
|
-
value,
|
|
96
|
-
status,
|
|
97
|
-
});
|
|
98
|
-
} else {
|
|
99
|
-
throw 'Invalid status value';
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* Delete a selected status of the application
|
|
105
|
-
* @param idApp application id to delete
|
|
106
|
-
* @param status application status to select
|
|
107
|
-
* @returns message after delete execution
|
|
108
|
-
*/
|
|
109
|
-
public async delete(idApp: string, status: JApplicationStatus): Promise<Array<string>> {
|
|
110
|
-
return this.network
|
|
111
|
-
.postCSRF<string>({
|
|
112
|
-
o: 'studio',
|
|
113
|
-
f: 'delete',
|
|
114
|
-
idApp,
|
|
115
|
-
status,
|
|
116
|
-
} as OF)
|
|
117
|
-
.then((res) => {
|
|
118
|
-
if (res.error === 0) {
|
|
119
|
-
return res.messages;
|
|
120
|
-
} else {
|
|
121
|
-
throw res.messages;
|
|
122
|
-
}
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
/**
|
|
127
|
-
* Get cssClass possible values.
|
|
128
|
-
*/
|
|
129
|
-
public cssClassList(): Promise<ApiWrapper<Array<string>>> {
|
|
130
|
-
return this.network.post<Array<string>>({ o: 'studio', f: 'icons' });
|
|
131
|
-
}
|
|
132
|
-
}
|
package/src/apis/article.ts
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { JBaseApi } from './base';
|
|
2
|
-
import { ApiWrapper, BaseMessages, Filters, Little, Orders, PagingResults } from '../types';
|
|
3
|
-
import { OF } from '../util/network';
|
|
4
|
-
|
|
5
|
-
export type ArticleListConfig = {
|
|
6
|
-
type: string;
|
|
7
|
-
format: string;
|
|
8
|
-
query?: string;
|
|
9
|
-
limit?: number;
|
|
10
|
-
page?: number;
|
|
11
|
-
orders?: Orders;
|
|
12
|
-
filters?: Filters;
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
export type ArticleGetConfig = {
|
|
16
|
-
uri?: string;
|
|
17
|
-
idArticle?: number;
|
|
18
|
-
format?: string;
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
export type ArticleCreation = {
|
|
22
|
-
title: string;
|
|
23
|
-
description: string;
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
export type BaseArticle = {
|
|
27
|
-
id: number;
|
|
28
|
-
type: string;
|
|
29
|
-
dateCreation: string;
|
|
30
|
-
dateModified: string;
|
|
31
|
-
title: string;
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
export class JArticleApi extends JBaseApi {
|
|
35
|
-
public list(config: ArticleListConfig): Promise<ApiWrapper<PagingResults<{ title: string }>>> {
|
|
36
|
-
return this.network.post({
|
|
37
|
-
o: 'ObjectListJamespot',
|
|
38
|
-
f: 'ArticleQueryList',
|
|
39
|
-
...config,
|
|
40
|
-
} as OF);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
public get<T extends Little = Little>(config: ArticleGetConfig): Promise<ApiWrapper<T>> {
|
|
44
|
-
return this.network.post({
|
|
45
|
-
o: 'article',
|
|
46
|
-
f: 'get',
|
|
47
|
-
...config,
|
|
48
|
-
} as OF);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
public create<T>(article: ArticleCreation): Promise<ApiWrapper<BaseArticle & T>> {
|
|
52
|
-
return this.network.post({
|
|
53
|
-
o: 'article',
|
|
54
|
-
f: 'create',
|
|
55
|
-
...article,
|
|
56
|
-
} as OF);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
public update<T extends { uri: string }>(article: T): Promise<ApiWrapper<never, BaseMessages>> {
|
|
60
|
-
return this.network.post({
|
|
61
|
-
o: 'article',
|
|
62
|
-
f: 'update',
|
|
63
|
-
...article,
|
|
64
|
-
} as OF);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
public count(type: string): Promise<ApiWrapper<number>> {
|
|
68
|
-
return this.network.post({
|
|
69
|
-
o: 'article',
|
|
70
|
-
f: 'count',
|
|
71
|
-
type,
|
|
72
|
-
} as OF);
|
|
73
|
-
}
|
|
74
|
-
}
|