{"version":3,"file":"api-mFrM-9qG.chunk.mjs","sources":["../src/utils/api.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { ActivityFactoryQueryOptions, IActivityFactory, IActivityFilter, IActivitySidebarAction, IActivitySidebarEntry } from '../models/ActivityAPI.ts'\n\nimport logger from './logger.ts'\n\ndeclare global {\n\tinterface Window {\n\t\tOCA?: {\n\t\t\tActivity?: {\n\t\t\t\t/**\n\t\t\t\t * Register new actions for a given activity type\n\t\t\t\t */\n\t\t\t\tregisterSidebarEntries: (factory: IActivityFactory) => void\n\t\t\t\t/**\n\t\t\t\t * Register an external action that should be shown in the Activity sidebar panel\n\t\t\t\t */\n\t\t\t\tregisterSidebarAction: (action: IActivitySidebarAction) => void\n\t\t\t\t/**\n\t\t\t\t * Register an filter function to filter out activities on the sidebar, useful together with `registerSidebarEntries`\n\t\t\t\t */\n\t\t\t\tregisterSidebarFilter: (filter: IActivityFilter) => void\n\t\t\t\t__sidebar_actions: IActivitySidebarAction[]\n\t\t\t\t__sidebar_factories: IActivityFactory[]\n\t\t\t\t__sidebar_filters: IActivityFilter[]\n\t\t\t}\n\t\t\tViewer?: {\n\t\t\t\topen(options: { path?: string }): void\n\t\t\t\tget mimetypes(): string[]\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * Register the global API\n */\nexport function registerGlobalAPI() {\n\twindow.OCA = window.OCA ?? {}\n\twindow.OCA.Activity = {\n\t\t...window.OCA.Activity,\n\t\t__sidebar_actions: window.OCA.Activity?.__sidebar_actions ?? [],\n\t\t__sidebar_factories: window.OCA.Activity?.__sidebar_factories ?? [],\n\t\t__sidebar_filters: window.OCA.Activity?.__sidebar_filters ?? [],\n\n\t\tregisterSidebarAction(action: IActivitySidebarAction) {\n\t\t\twindow.OCA!.Activity!.__sidebar_actions.push(action)\n\t\t\tlogger.debug('Registered new sidebar action')\n\t\t},\n\n\t\tregisterSidebarEntries(factory: IActivityFactory) {\n\t\t\twindow!.OCA!.Activity!.__sidebar_factories.push(factory)\n\t\t\tlogger.debug('Registered new sidebar actions factory')\n\t\t},\n\n\t\tregisterSidebarFilter(filter: IActivityFilter) {\n\t\t\twindow!.OCA!.Activity!.__sidebar_filters.push(filter)\n\t\t},\n\t}\n\n\tlogger.info('Activity API registered')\n}\n\n/**\n * Get all external actions that should be showed in the Activity panel\n */\nexport function getSidebarActions() {\n\treturn window.OCA?.Activity?.__sidebar_actions ?? []\n}\n\n/**\n * Get all additional activity stream entries for a given file object\n *\n * @param options Filter options for the additional entries\n */\nexport async function getAdditionalEntries(options: ActivityFactoryQueryOptions) {\n\tif (window.OCA?.Activity?.__sidebar_factories === undefined) {\n\t\treturn []\n\t}\n\n\tconst entries: IActivitySidebarEntry[] = []\n\tfor (const factory of window.OCA.Activity.__sidebar_factories) {\n\t\ttry {\n\t\t\tentries.push(...(await factory(options)))\n\t\t} catch (error) {\n\t\t\tlogger.error('Error loading additional activity entries', { error })\n\t\t}\n\t}\n\treturn entries\n}\n\n/**\n * Get all sidebar entry filters\n */\nexport function getActivityFilters() {\n\treturn window.OCA?.Activity?.__sidebar_filters ?? []\n}\n"],"names":["registerGlobalAPI","action","logger","factory","filter","getSidebarActions","getAdditionalEntries","options","entries","error","getActivityFilters"],"mappings":"gDAwCO,SAASA,GAAoB,CAC5B,OAAA,IAAM,OAAO,KAAO,CAAC,EAC5B,OAAO,IAAI,SAAW,CACrB,GAAG,OAAO,IAAI,SACd,kBAAmB,OAAO,IAAI,UAAU,mBAAqB,CAAC,EAC9D,oBAAqB,OAAO,IAAI,UAAU,qBAAuB,CAAC,EAClE,kBAAmB,OAAO,IAAI,UAAU,mBAAqB,CAAC,EAE9D,sBAAsBC,EAAgC,CACrD,OAAO,IAAK,SAAU,kBAAkB,KAAKA,CAAM,EACnDC,EAAO,MAAM,+BAA+B,CAC7C,EAEA,uBAAuBC,EAA2B,CACjD,OAAQ,IAAK,SAAU,oBAAoB,KAAKA,CAAO,EACvDD,EAAO,MAAM,wCAAwC,CACtD,EAEA,sBAAsBE,EAAyB,CAC9C,OAAQ,IAAK,SAAU,kBAAkB,KAAKA,CAAM,CAAA,CAEtD,EAEAF,EAAO,KAAK,yBAAyB,CACtC,CAKO,SAASG,GAAoB,CACnC,OAAO,OAAO,KAAK,UAAU,mBAAqB,CAAC,CACpD,CAOA,eAAsBC,EAAqBC,EAAsC,CAChF,GAAI,OAAO,KAAK,UAAU,sBAAwB,OACjD,MAAO,CAAC,EAGT,MAAMC,EAAmC,CAAC,EAC1C,UAAWL,KAAW,OAAO,IAAI,SAAS,oBACrC,GAAA,CACHK,EAAQ,KAAK,GAAI,MAAML,EAAQI,CAAO,CAAE,QAChCE,EAAO,CACfP,EAAO,MAAM,4CAA6C,CAAE,MAAAO,CAAA,CAAO,CAAA,CAG9D,OAAAD,CACR,CAKO,SAASE,GAAqB,CACpC,OAAO,OAAO,KAAK,UAAU,mBAAqB,CAAC,CACpD"}