@fluid-app/portal-sdk 0.1.217 → 0.1.219
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/dist/{ContactsScreen-D-g7XEB-.cjs → ContactsScreen-DYVR-UvO.cjs} +1 -1
- package/dist/{FluidProvider-02beRTpR.mjs → FluidProvider-DTttgSXi.mjs} +8 -8
- package/dist/{FluidProvider-02beRTpR.mjs.map → FluidProvider-DTttgSXi.mjs.map} +1 -1
- package/dist/{FluidProvider-BgFmXtHo.cjs → FluidProvider-Dm4BhF_t.cjs} +8 -8
- package/dist/{FluidProvider-BgFmXtHo.cjs.map → FluidProvider-Dm4BhF_t.cjs.map} +1 -1
- package/dist/{ListWidget-C0ltFhxE.cjs → ListWidget-BE7uA4W4.cjs} +1 -2
- package/dist/{ListWidget-Ct8IDkio.mjs → ListWidget-D7y8bfvT.mjs} +252 -120
- package/dist/ListWidget-D7y8bfvT.mjs.map +1 -0
- package/dist/{ListWidget-C7ouNpEo.cjs → ListWidget-DJ-_dMOK.cjs} +251 -119
- package/dist/ListWidget-DJ-_dMOK.cjs.map +1 -0
- package/dist/{MessagingScreen-CJlVOY5R.mjs → MessagingScreen-CwEXQJlW.mjs} +2 -2
- package/dist/{MessagingScreen-CJlVOY5R.mjs.map → MessagingScreen-CwEXQJlW.mjs.map} +1 -1
- package/dist/{MessagingScreen-BkLcqJbs.cjs → MessagingScreen-DLQ5V0m4.cjs} +2 -2
- package/dist/{MessagingScreen-BkLcqJbs.cjs.map → MessagingScreen-DLQ5V0m4.cjs.map} +1 -1
- package/dist/{MessagingScreen-sN7aBvGk.cjs → MessagingScreen-YBXJL7a9.cjs} +6 -6
- package/dist/{MySiteScreen-DUN5TTvU.mjs → MySiteScreen-CyzM9hX3.mjs} +11 -30
- package/dist/{MySiteScreen-DUN5TTvU.mjs.map → MySiteScreen-CyzM9hX3.mjs.map} +1 -1
- package/dist/{MySiteScreen-B0aOIzU4.cjs → MySiteScreen-DPQ66oRs.cjs} +2 -2
- package/dist/{MySiteScreen-B1L8coGs.cjs → MySiteScreen-DxLcG3-S.cjs} +11 -30
- package/dist/MySiteScreen-DxLcG3-S.cjs.map +1 -0
- package/dist/{MySiteWidget-CDQjyrRA.cjs → MySiteWidget-8UsfEK-w.cjs} +1 -1
- package/dist/{MySiteWidget-CDQjyrRA.cjs.map → MySiteWidget-8UsfEK-w.cjs.map} +1 -1
- package/dist/{MySiteWidget-BlUbduit.mjs → MySiteWidget-D46TVWnf.mjs} +1 -1
- package/dist/{MySiteWidget-BlUbduit.mjs.map → MySiteWidget-D46TVWnf.mjs.map} +1 -1
- package/dist/{NestedWidget-ChAWwsRP.cjs → NestedWidget-BjT-UrSi.cjs} +2 -2
- package/dist/{NestedWidget-ChAWwsRP.cjs.map → NestedWidget-BjT-UrSi.cjs.map} +1 -1
- package/dist/{NestedWidget-Dw0QHoqw.mjs → NestedWidget-CEeQeCq0.mjs} +2 -2
- package/dist/{NestedWidget-Dw0QHoqw.mjs.map → NestedWidget-CEeQeCq0.mjs.map} +1 -1
- package/dist/{NestedWidget--suTLM6l.cjs → NestedWidget-D4amXykk.cjs} +2 -2
- package/dist/{PortalContentApiProvider-RXBp8FNj.cjs → PortalContentApiProvider-DXnplIOD.cjs} +273 -82
- package/dist/PortalContentApiProvider-DXnplIOD.cjs.map +1 -0
- package/dist/{PortalContentApiProvider-C9FeVwRb.mjs → PortalContentApiProvider-x81DXmOR.mjs} +273 -82
- package/dist/PortalContentApiProvider-x81DXmOR.mjs.map +1 -0
- package/dist/{ProductsScreen-DNpzJ6lh.cjs → ProductsScreen-3yjIMjYY.cjs} +2 -2
- package/dist/{ProductsScreen-pkOeOW8M.mjs → ProductsScreen-BVyLOe2K.mjs} +2 -2
- package/dist/{ProductsScreen-BD53vh6Y.cjs → ProductsScreen-R0MfWYZJ.cjs} +2 -2
- package/dist/{ProductsScreen-BD53vh6Y.cjs.map → ProductsScreen-R0MfWYZJ.cjs.map} +1 -1
- package/dist/{ProductsScreen-BtUZxJCt.mjs → ProductsScreen-z9hXfFeJ.mjs} +2 -2
- package/dist/{ProductsScreen-BtUZxJCt.mjs.map → ProductsScreen-z9hXfFeJ.mjs.map} +1 -1
- package/dist/{ProfileScreen-rPqgsNCc.cjs → ProfileScreen-B0WRifk_.cjs} +2 -2
- package/dist/{ProfileScreen-rPqgsNCc.cjs.map → ProfileScreen-B0WRifk_.cjs.map} +1 -1
- package/dist/{ProfileScreen-CNYqUDNB.mjs → ProfileScreen-BuejQU_V.mjs} +2 -2
- package/dist/{ProfileScreen-CNYqUDNB.mjs.map → ProfileScreen-BuejQU_V.mjs.map} +1 -1
- package/dist/{ProfileScreen-Bgo6iTKe.cjs → ProfileScreen-g3se9Jw-.cjs} +6 -6
- package/dist/{ShareablesScreen-DC8xXUo4.cjs → ShareablesScreen-Co_gFZva.cjs} +3 -3
- package/dist/{ShareablesScreen-DC8xXUo4.cjs.map → ShareablesScreen-Co_gFZva.cjs.map} +1 -1
- package/dist/{ShareablesScreen-D1J2Kljk.mjs → ShareablesScreen-DpwFh0ky.mjs} +3 -3
- package/dist/{ShareablesScreen-smU5pGyH.cjs → ShareablesScreen-YlMqyP-B.cjs} +3 -3
- package/dist/{ShareablesScreen-CW1e9x4K.mjs → ShareablesScreen-tkaf9R5N.mjs} +3 -3
- package/dist/{ShareablesScreen-CW1e9x4K.mjs.map → ShareablesScreen-tkaf9R5N.mjs.map} +1 -1
- package/dist/{ShopScreen-B9lHJ8L2.mjs → ShopScreen-B4afB5sE.mjs} +2 -2
- package/dist/{ShopScreen-B9lHJ8L2.mjs.map → ShopScreen-B4afB5sE.mjs.map} +1 -1
- package/dist/{ShopScreen-g6FQ4R1_.cjs → ShopScreen-BOjri6Dm.cjs} +6 -6
- package/dist/{ShopScreen-DUHzufCU.cjs → ShopScreen-Untg6XBY.cjs} +2 -2
- package/dist/{ShopScreen-DUHzufCU.cjs.map → ShopScreen-Untg6XBY.cjs.map} +1 -1
- package/dist/index.cjs +27 -27
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +25 -25
- package/dist/{portal_tenant_content-0zpnjBot.cjs → portal_tenant_content-BvYxmADB.cjs} +18 -1
- package/dist/portal_tenant_content-BvYxmADB.cjs.map +1 -0
- package/dist/{portal_tenant_content-DzIQtSLE.mjs → portal_tenant_content-nHEI2qEY.mjs} +13 -2
- package/dist/portal_tenant_content-nHEI2qEY.mjs.map +1 -0
- package/dist/{scroll-arrows-fK_MFlSX.mjs → scroll-arrows-COrfvJk9.mjs} +1 -1
- package/dist/{scroll-arrows-fK_MFlSX.mjs.map → scroll-arrows-COrfvJk9.mjs.map} +1 -1
- package/dist/{scroll-arrows-DVwMDTt3.cjs → scroll-arrows-i0E2N-ct.cjs} +1 -1
- package/dist/{scroll-arrows-DVwMDTt3.cjs.map → scroll-arrows-i0E2N-ct.cjs.map} +1 -1
- package/dist/{use-mysite-portal-BV-BP3CE.mjs → use-mysite-portal-D29HLD1z.mjs} +3 -2
- package/dist/use-mysite-portal-D29HLD1z.mjs.map +1 -0
- package/dist/{use-mysite-portal-DzDYRU0u.cjs → use-mysite-portal-DxNQ3uTi.cjs} +3 -2
- package/dist/use-mysite-portal-DxNQ3uTi.cjs.map +1 -0
- package/package.json +9 -9
- package/dist/ListWidget-C7ouNpEo.cjs.map +0 -1
- package/dist/ListWidget-Ct8IDkio.mjs.map +0 -1
- package/dist/MySiteScreen-B1L8coGs.cjs.map +0 -1
- package/dist/PortalContentApiProvider-C9FeVwRb.mjs.map +0 -1
- package/dist/PortalContentApiProvider-RXBp8FNj.cjs.map +0 -1
- package/dist/portal_tenant_content-0zpnjBot.cjs.map +0 -1
- package/dist/portal_tenant_content-DzIQtSLE.mjs.map +0 -1
- package/dist/use-mysite-portal-BV-BP3CE.mjs.map +0 -1
- package/dist/use-mysite-portal-DzDYRU0u.cjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"portal_tenant_content-0zpnjBot.cjs","names":[],"sources":["../../../api-clients/portal-tenant-content/src/namespaces/portal_tenant_content.ts"],"sourcesContent":["/**\n * Generated API client functions for portal_tenant_content\n *\n * DO NOT EDIT THIS FILE DIRECTLY\n * This file is auto-generated. To update:\n * 1. Update the OpenAPI spec file\n * 2. Run: pnpm generate\n */\n\nimport type { FetchClient } from \"../lib/fetch-client\";\nimport type { operations } from \"../generated/portal-tenant-content\";\n\n// ============================================================================\n// content\n// ============================================================================\n\n/**\n * List media (own uploads and company share media)\n * Returns a paginated list of the member's own uploads and company share media. Training and update media are excluded.\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function media_list(\n client: FetchClient,\n params?: operations[\"media_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"media_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/media`, params);\n}\n\n/**\n * Create a new media item\n * Creates a new media item record.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function media_create(\n client: FetchClient,\n body: operations[\"media_create\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"media_create\"][\"responses\"][201][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/content/media`, body);\n}\n\n/**\n * Get a specific media item\n * Returns a single media item by ID.\n *\n * @param client - Fetch client instance\n * @param id - id\n */\nexport async function media_show(\n client: FetchClient,\n id: string | number,\n): Promise<\n operations[\"media_show\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/media/${id}`);\n}\n\n/**\n * Update a media item (own uploads only)\n * Updates a media item's title, description, status, url, content_format, thumbnail, CTA, and SEO.\n *\n * @param client - Fetch client instance\n * @param id - id\n * @param body - body\n */\nexport async function media_update(\n client: FetchClient,\n id: string | number,\n body: operations[\"media_update\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"media_update\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.patch(`/api/content/media/${id}`, body);\n}\n\n/**\n * Delete a media item (own uploads only)\n * Removes a media item.\n *\n * @param client - Fetch client instance\n * @param id - id\n */\nexport async function media_destroy(\n client: FetchClient,\n id: string | number,\n): Promise<\n operations[\"media_destroy\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.delete(`/api/content/media/${id}`);\n}\n\n/**\n * List products associated with a media item\n * Returns a paginated list of products associated with a media item.\n *\n * @param client - Fetch client instance\n * @param medium_id - medium_id\n * @param [params] - params\n */\nexport async function media_products_list(\n client: FetchClient,\n medium_id: string | number,\n params?: operations[\"media_products_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"media_products_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/media/${medium_id}/products`, params);\n}\n\n/**\n * Associate a product with a media item\n * Creates a product association for a media item.\n *\n * @param client - Fetch client instance\n * @param medium_id - medium_id\n * @param body - body\n */\nexport async function media_products_add(\n client: FetchClient,\n medium_id: string | number,\n body: operations[\"media_products_add\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"media_products_add\"][\"responses\"][201][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/content/media/${medium_id}/products`, body);\n}\n\n/**\n * Remove a product association from a media item\n * Removes a single product association from a media item.\n *\n * @param client - Fetch client instance\n * @param medium_id - medium_id\n * @param id - id\n */\nexport async function media_products_remove(\n client: FetchClient,\n medium_id: string | number,\n id: string | number,\n): Promise<\n operations[\"media_products_remove\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.delete(`/api/content/media/${medium_id}/products/${id}`);\n}\n\n/**\n * List playlists with cursor pagination\n * Returns a paginated list of playlists.\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function playlists_list(\n client: FetchClient,\n params?: operations[\"playlists_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"playlists_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/playlists`, params);\n}\n\n/**\n * Create a new playlist\n * Creates a new playlist.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function playlists_create(\n client: FetchClient,\n body: operations[\"playlists_create\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"playlists_create\"][\"responses\"][201][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/content/playlists`, body);\n}\n\n/**\n * Get a specific playlist\n * Returns a single playlist by ID.\n *\n * @param client - Fetch client instance\n * @param id - id\n */\nexport async function playlists_show(\n client: FetchClient,\n id: string | number,\n): Promise<\n operations[\"playlists_show\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/playlists/${id}`);\n}\n\n/**\n * Update a playlist\n * Updates a playlist's title or metadata.\n *\n * @param client - Fetch client instance\n * @param id - id\n * @param body - body\n */\nexport async function playlists_update(\n client: FetchClient,\n id: string | number,\n body: operations[\"playlists_update\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"playlists_update\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.patch(`/api/content/playlists/${id}`, body);\n}\n\n/**\n * Delete a playlist\n * Removes a playlist.\n *\n * @param client - Fetch client instance\n * @param id - id\n */\nexport async function playlists_destroy(\n client: FetchClient,\n id: string | number,\n): Promise<\n operations[\"playlists_destroy\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.delete(`/api/content/playlists/${id}`);\n}\n\n/**\n * List items in a playlist\n * Returns a paginated list of items in a playlist.\n *\n * @param client - Fetch client instance\n * @param playlist_id - playlist_id\n * @param [params] - params\n */\nexport async function playlists_items_list(\n client: FetchClient,\n playlist_id: string | number,\n params?: operations[\"playlists_items_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"playlists_items_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/playlists/${playlist_id}/items`, params);\n}\n\n/**\n * Add an item to a playlist\n * Adds a media item to a playlist.\n *\n * @param client - Fetch client instance\n * @param playlist_id - playlist_id\n * @param body - body\n */\nexport async function playlists_items_add(\n client: FetchClient,\n playlist_id: string | number,\n body: operations[\"playlists_items_add\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"playlists_items_add\"][\"responses\"][201][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/content/playlists/${playlist_id}/items`, body);\n}\n\n/**\n * Remove an item from a playlist\n * Removes a single item from a playlist.\n *\n * @param client - Fetch client instance\n * @param playlist_id - playlist_id\n * @param id - id\n */\nexport async function playlists_items_remove(\n client: FetchClient,\n playlist_id: string | number,\n id: string | number,\n): Promise<\n operations[\"playlists_items_remove\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.delete(`/api/content/playlists/${playlist_id}/items/${id}`);\n}\n\n/**\n * Get a specific page\n * Returns a single page by ID, scoped to the authenticated rep's company. Response is a lean portal-BFF shape rendered by PortalTenant::Api::PageBlueprinter — not the legacy admin shape. Admin-only fields (html_code, application_theme_template, search_engine_optimizer, open_graph, prompts, etc.) are intentionally omitted.\n *\n * @param client - Fetch client instance\n * @param id - id\n */\nexport async function pages_show(\n client: FetchClient,\n id: string | number,\n): Promise<\n operations[\"pages_show\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/pages/${id}`);\n}\n\n/**\n * List share links for the current user\n * Returns a paginated list of share links.\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function shares_list(\n client: FetchClient,\n params?: operations[\"shares_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"shares_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/shares`, params);\n}\n\n/**\n * Create a share link\n * Creates a new share link for content.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function shares_create(\n client: FetchClient,\n body: operations[\"shares_create\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"shares_create\"][\"responses\"][201][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/shares`, body);\n}\n\n/**\n * List DAM assets\n * Returns a paginated list of DAM assets for the company.\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function dam_assets_list(\n client: FetchClient,\n params?: operations[\"dam_assets_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"dam_assets_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/dam/assets`, params);\n}\n\n/**\n * Create a DAM asset\n * Creates a new DAM asset. Supports two modes:\n1. **JSON placeholder** — send `application/json` with `asset[name]` to\n create a placeholder record for later file upload.\n\n2. **File upload** — send `multipart/form-data` with `asset[file]`,\n `asset[name]`, and optionally `asset[description]` and `asset[tags]`\n to upload a file and create the full asset with variants.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function dam_assets_create(\n client: FetchClient,\n body: operations[\"dam_assets_create\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"dam_assets_create\"][\"responses\"][201][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/content/dam/assets`, body);\n}\n\n/**\n * List paths for a DAM asset\n * Returns a paginated list of path aliases for a DAM asset.\n *\n * @param client - Fetch client instance\n * @param asset_code - asset_code\n * @param [params] - params\n */\nexport async function dam_asset_paths_list(\n client: FetchClient,\n asset_code: string | number,\n params?: operations[\"dam_asset_paths_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"dam_asset_paths_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/dam/assets/${asset_code}/paths`, params);\n}\n\n/**\n * Create a path alias for a DAM asset\n * Creates a new path alias for an existing DAM asset.\n *\n * @param client - Fetch client instance\n * @param asset_code - asset_code\n * @param body - body\n */\nexport async function dam_asset_paths_create(\n client: FetchClient,\n asset_code: string | number,\n body: operations[\"dam_asset_paths_create\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"dam_asset_paths_create\"][\"responses\"][201][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/content/dam/assets/${asset_code}/paths`, body);\n}\n\n/**\n * Query DAM assets using tree paths and tags\n * Searches and retrieves DAM assets using tree path pattern matching, tag-based variant filtering, wildcard name matching, and partial search. Supports cursor pagination for large result sets.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function dam_query(\n client: FetchClient,\n body: operations[\"dam_query\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"dam_query\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/content/dam/query`, body);\n}\n\n/**\n * Delete a DAM asset\n * Permanently destroys a DAM asset, including its ImageKit storage, variants, and database records.\n *\n * @param client - Fetch client instance\n * @param code - code\n */\nexport async function dam_assets_destroy(\n client: FetchClient,\n code: string | number,\n): Promise<\n operations[\"dam_assets_destroy\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.delete(`/api/content/dam/assets/${code}`);\n}\n\n/**\n * Discard (soft-delete) a DAM asset\n * Soft-deletes a DAM asset. Used to discard an in-progress upload without permanently removing the record.\n *\n * @param client - Fetch client instance\n * @param code - code\n */\nexport async function dam_assets_discard(\n client: FetchClient,\n code: string | number,\n): Promise<\n operations[\"dam_assets_discard\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.patch(`/api/content/dam/assets/${code}/discard`);\n}\n\n/**\n * Toggle favorite status on a content item\n * Toggles the favorite status of a content item for the authenticated member. If the item is not currently favorited, it becomes favorited. If it is already favorited, the favorite is removed.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function favorites_toggle(\n client: FetchClient,\n body: operations[\"favorites_toggle\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"favorites_toggle\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/content/favorites/toggle`, body);\n}\n\n// ============================================================================\n// media_metrics\n// ============================================================================\n\n/**\n * Top media by direct visits\n * Ranked list of the company's media by total visits (aggregates metrics_media_visits across all visit sources).\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function content_media_metrics_visits(\n client: FetchClient,\n params?: operations[\"content_media_metrics_visits\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"content_media_metrics_visits\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/media/metrics/visits`, params);\n}\n\n/**\n * Top media by share-link visits\n * Ranked list of the company's media by click-throughs on rep share links (aggregates metrics_share_shareable_visits where shareable_type='Medium').\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function content_media_metrics_share_visits(\n client: FetchClient,\n params?: operations[\"content_media_metrics_share_visits\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"content_media_metrics_share_visits\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/media/metrics/share_visits`, params);\n}\n\n// ============================================================================\n// playlist_metrics\n// ============================================================================\n\n/**\n * Top playlists by direct visits\n * Ranked list of the company's playlists by total visits (aggregates metrics_library_visits since playlists are stored in the libraries table).\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function content_playlists_metrics_visits(\n client: FetchClient,\n params?: operations[\"content_playlists_metrics_visits\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"content_playlists_metrics_visits\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/playlists/metrics/visits`, params);\n}\n\n/**\n * Top playlists by share-link visits\n * Ranked list of the company's playlists by click-throughs on rep share links (aggregates metrics_share_shareable_visits where shareable_type='Library').\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function content_playlists_metrics_share_visits(\n client: FetchClient,\n params?: operations[\"content_playlists_metrics_share_visits\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"content_playlists_metrics_share_visits\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/playlists/metrics/share_visits`, params);\n}\n\n// ============================================================================\n// page_metrics\n// ============================================================================\n\n/**\n * Top pages by direct visits\n * Ranked list of the company's pages by total visits (aggregates metrics_page_visits across all visit sources).\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function content_pages_metrics_visits(\n client: FetchClient,\n params?: operations[\"content_pages_metrics_visits\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"content_pages_metrics_visits\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/pages/metrics/visits`, params);\n}\n\n/**\n * Top pages by share-link visits\n * Ranked list of the company's pages by click-throughs on rep share links (aggregates metrics_share_shareable_visits where shareable_type='Page').\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function content_pages_metrics_share_visits(\n client: FetchClient,\n params?: operations[\"content_pages_metrics_share_visits\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"content_pages_metrics_share_visits\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/pages/metrics/share_visits`, params);\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"portal_tenant_content-DzIQtSLE.mjs","names":[],"sources":["../../../api-clients/portal-tenant-content/src/namespaces/portal_tenant_content.ts"],"sourcesContent":["/**\n * Generated API client functions for portal_tenant_content\n *\n * DO NOT EDIT THIS FILE DIRECTLY\n * This file is auto-generated. To update:\n * 1. Update the OpenAPI spec file\n * 2. Run: pnpm generate\n */\n\nimport type { FetchClient } from \"../lib/fetch-client\";\nimport type { operations } from \"../generated/portal-tenant-content\";\n\n// ============================================================================\n// content\n// ============================================================================\n\n/**\n * List media (own uploads and company share media)\n * Returns a paginated list of the member's own uploads and company share media. Training and update media are excluded.\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function media_list(\n client: FetchClient,\n params?: operations[\"media_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"media_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/media`, params);\n}\n\n/**\n * Create a new media item\n * Creates a new media item record.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function media_create(\n client: FetchClient,\n body: operations[\"media_create\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"media_create\"][\"responses\"][201][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/content/media`, body);\n}\n\n/**\n * Get a specific media item\n * Returns a single media item by ID.\n *\n * @param client - Fetch client instance\n * @param id - id\n */\nexport async function media_show(\n client: FetchClient,\n id: string | number,\n): Promise<\n operations[\"media_show\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/media/${id}`);\n}\n\n/**\n * Update a media item (own uploads only)\n * Updates a media item's title, description, status, url, content_format, thumbnail, CTA, and SEO.\n *\n * @param client - Fetch client instance\n * @param id - id\n * @param body - body\n */\nexport async function media_update(\n client: FetchClient,\n id: string | number,\n body: operations[\"media_update\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"media_update\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.patch(`/api/content/media/${id}`, body);\n}\n\n/**\n * Delete a media item (own uploads only)\n * Removes a media item.\n *\n * @param client - Fetch client instance\n * @param id - id\n */\nexport async function media_destroy(\n client: FetchClient,\n id: string | number,\n): Promise<\n operations[\"media_destroy\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.delete(`/api/content/media/${id}`);\n}\n\n/**\n * List products associated with a media item\n * Returns a paginated list of products associated with a media item.\n *\n * @param client - Fetch client instance\n * @param medium_id - medium_id\n * @param [params] - params\n */\nexport async function media_products_list(\n client: FetchClient,\n medium_id: string | number,\n params?: operations[\"media_products_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"media_products_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/media/${medium_id}/products`, params);\n}\n\n/**\n * Associate a product with a media item\n * Creates a product association for a media item.\n *\n * @param client - Fetch client instance\n * @param medium_id - medium_id\n * @param body - body\n */\nexport async function media_products_add(\n client: FetchClient,\n medium_id: string | number,\n body: operations[\"media_products_add\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"media_products_add\"][\"responses\"][201][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/content/media/${medium_id}/products`, body);\n}\n\n/**\n * Remove a product association from a media item\n * Removes a single product association from a media item.\n *\n * @param client - Fetch client instance\n * @param medium_id - medium_id\n * @param id - id\n */\nexport async function media_products_remove(\n client: FetchClient,\n medium_id: string | number,\n id: string | number,\n): Promise<\n operations[\"media_products_remove\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.delete(`/api/content/media/${medium_id}/products/${id}`);\n}\n\n/**\n * List playlists with cursor pagination\n * Returns a paginated list of playlists.\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function playlists_list(\n client: FetchClient,\n params?: operations[\"playlists_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"playlists_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/playlists`, params);\n}\n\n/**\n * Create a new playlist\n * Creates a new playlist.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function playlists_create(\n client: FetchClient,\n body: operations[\"playlists_create\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"playlists_create\"][\"responses\"][201][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/content/playlists`, body);\n}\n\n/**\n * Get a specific playlist\n * Returns a single playlist by ID.\n *\n * @param client - Fetch client instance\n * @param id - id\n */\nexport async function playlists_show(\n client: FetchClient,\n id: string | number,\n): Promise<\n operations[\"playlists_show\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/playlists/${id}`);\n}\n\n/**\n * Update a playlist\n * Updates a playlist's title or metadata.\n *\n * @param client - Fetch client instance\n * @param id - id\n * @param body - body\n */\nexport async function playlists_update(\n client: FetchClient,\n id: string | number,\n body: operations[\"playlists_update\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"playlists_update\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.patch(`/api/content/playlists/${id}`, body);\n}\n\n/**\n * Delete a playlist\n * Removes a playlist.\n *\n * @param client - Fetch client instance\n * @param id - id\n */\nexport async function playlists_destroy(\n client: FetchClient,\n id: string | number,\n): Promise<\n operations[\"playlists_destroy\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.delete(`/api/content/playlists/${id}`);\n}\n\n/**\n * List items in a playlist\n * Returns a paginated list of items in a playlist.\n *\n * @param client - Fetch client instance\n * @param playlist_id - playlist_id\n * @param [params] - params\n */\nexport async function playlists_items_list(\n client: FetchClient,\n playlist_id: string | number,\n params?: operations[\"playlists_items_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"playlists_items_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/playlists/${playlist_id}/items`, params);\n}\n\n/**\n * Add an item to a playlist\n * Adds a media item to a playlist.\n *\n * @param client - Fetch client instance\n * @param playlist_id - playlist_id\n * @param body - body\n */\nexport async function playlists_items_add(\n client: FetchClient,\n playlist_id: string | number,\n body: operations[\"playlists_items_add\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"playlists_items_add\"][\"responses\"][201][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/content/playlists/${playlist_id}/items`, body);\n}\n\n/**\n * Remove an item from a playlist\n * Removes a single item from a playlist.\n *\n * @param client - Fetch client instance\n * @param playlist_id - playlist_id\n * @param id - id\n */\nexport async function playlists_items_remove(\n client: FetchClient,\n playlist_id: string | number,\n id: string | number,\n): Promise<\n operations[\"playlists_items_remove\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.delete(`/api/content/playlists/${playlist_id}/items/${id}`);\n}\n\n/**\n * Get a specific page\n * Returns a single page by ID, scoped to the authenticated rep's company. Response is a lean portal-BFF shape rendered by PortalTenant::Api::PageBlueprinter — not the legacy admin shape. Admin-only fields (html_code, application_theme_template, search_engine_optimizer, open_graph, prompts, etc.) are intentionally omitted.\n *\n * @param client - Fetch client instance\n * @param id - id\n */\nexport async function pages_show(\n client: FetchClient,\n id: string | number,\n): Promise<\n operations[\"pages_show\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/pages/${id}`);\n}\n\n/**\n * List share links for the current user\n * Returns a paginated list of share links.\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function shares_list(\n client: FetchClient,\n params?: operations[\"shares_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"shares_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/shares`, params);\n}\n\n/**\n * Create a share link\n * Creates a new share link for content.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function shares_create(\n client: FetchClient,\n body: operations[\"shares_create\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"shares_create\"][\"responses\"][201][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/shares`, body);\n}\n\n/**\n * List DAM assets\n * Returns a paginated list of DAM assets for the company.\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function dam_assets_list(\n client: FetchClient,\n params?: operations[\"dam_assets_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"dam_assets_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/dam/assets`, params);\n}\n\n/**\n * Create a DAM asset\n * Creates a new DAM asset. Supports two modes:\n1. **JSON placeholder** — send `application/json` with `asset[name]` to\n create a placeholder record for later file upload.\n\n2. **File upload** — send `multipart/form-data` with `asset[file]`,\n `asset[name]`, and optionally `asset[description]` and `asset[tags]`\n to upload a file and create the full asset with variants.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function dam_assets_create(\n client: FetchClient,\n body: operations[\"dam_assets_create\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"dam_assets_create\"][\"responses\"][201][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/content/dam/assets`, body);\n}\n\n/**\n * List paths for a DAM asset\n * Returns a paginated list of path aliases for a DAM asset.\n *\n * @param client - Fetch client instance\n * @param asset_code - asset_code\n * @param [params] - params\n */\nexport async function dam_asset_paths_list(\n client: FetchClient,\n asset_code: string | number,\n params?: operations[\"dam_asset_paths_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"dam_asset_paths_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/dam/assets/${asset_code}/paths`, params);\n}\n\n/**\n * Create a path alias for a DAM asset\n * Creates a new path alias for an existing DAM asset.\n *\n * @param client - Fetch client instance\n * @param asset_code - asset_code\n * @param body - body\n */\nexport async function dam_asset_paths_create(\n client: FetchClient,\n asset_code: string | number,\n body: operations[\"dam_asset_paths_create\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"dam_asset_paths_create\"][\"responses\"][201][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/content/dam/assets/${asset_code}/paths`, body);\n}\n\n/**\n * Query DAM assets using tree paths and tags\n * Searches and retrieves DAM assets using tree path pattern matching, tag-based variant filtering, wildcard name matching, and partial search. Supports cursor pagination for large result sets.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function dam_query(\n client: FetchClient,\n body: operations[\"dam_query\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"dam_query\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/content/dam/query`, body);\n}\n\n/**\n * Delete a DAM asset\n * Permanently destroys a DAM asset, including its ImageKit storage, variants, and database records.\n *\n * @param client - Fetch client instance\n * @param code - code\n */\nexport async function dam_assets_destroy(\n client: FetchClient,\n code: string | number,\n): Promise<\n operations[\"dam_assets_destroy\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.delete(`/api/content/dam/assets/${code}`);\n}\n\n/**\n * Discard (soft-delete) a DAM asset\n * Soft-deletes a DAM asset. Used to discard an in-progress upload without permanently removing the record.\n *\n * @param client - Fetch client instance\n * @param code - code\n */\nexport async function dam_assets_discard(\n client: FetchClient,\n code: string | number,\n): Promise<\n operations[\"dam_assets_discard\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.patch(`/api/content/dam/assets/${code}/discard`);\n}\n\n/**\n * Toggle favorite status on a content item\n * Toggles the favorite status of a content item for the authenticated member. If the item is not currently favorited, it becomes favorited. If it is already favorited, the favorite is removed.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function favorites_toggle(\n client: FetchClient,\n body: operations[\"favorites_toggle\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"favorites_toggle\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/content/favorites/toggle`, body);\n}\n\n// ============================================================================\n// media_metrics\n// ============================================================================\n\n/**\n * Top media by direct visits\n * Ranked list of the company's media by total visits (aggregates metrics_media_visits across all visit sources).\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function content_media_metrics_visits(\n client: FetchClient,\n params?: operations[\"content_media_metrics_visits\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"content_media_metrics_visits\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/media/metrics/visits`, params);\n}\n\n/**\n * Top media by share-link visits\n * Ranked list of the company's media by click-throughs on rep share links (aggregates metrics_share_shareable_visits where shareable_type='Medium').\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function content_media_metrics_share_visits(\n client: FetchClient,\n params?: operations[\"content_media_metrics_share_visits\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"content_media_metrics_share_visits\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/media/metrics/share_visits`, params);\n}\n\n// ============================================================================\n// playlist_metrics\n// ============================================================================\n\n/**\n * Top playlists by direct visits\n * Ranked list of the company's playlists by total visits (aggregates metrics_library_visits since playlists are stored in the libraries table).\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function content_playlists_metrics_visits(\n client: FetchClient,\n params?: operations[\"content_playlists_metrics_visits\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"content_playlists_metrics_visits\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/playlists/metrics/visits`, params);\n}\n\n/**\n * Top playlists by share-link visits\n * Ranked list of the company's playlists by click-throughs on rep share links (aggregates metrics_share_shareable_visits where shareable_type='Library').\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function content_playlists_metrics_share_visits(\n client: FetchClient,\n params?: operations[\"content_playlists_metrics_share_visits\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"content_playlists_metrics_share_visits\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/playlists/metrics/share_visits`, params);\n}\n\n// ============================================================================\n// page_metrics\n// ============================================================================\n\n/**\n * Top pages by direct visits\n * Ranked list of the company's pages by total visits (aggregates metrics_page_visits across all visit sources).\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function content_pages_metrics_visits(\n client: FetchClient,\n params?: operations[\"content_pages_metrics_visits\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"content_pages_metrics_visits\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/pages/metrics/visits`, params);\n}\n\n/**\n * Top pages by share-link visits\n * Ranked list of the company's pages by click-throughs on rep share links (aggregates metrics_share_shareable_visits where shareable_type='Page').\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function content_pages_metrics_share_visits(\n client: FetchClient,\n params?: operations[\"content_pages_metrics_share_visits\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"content_pages_metrics_share_visits\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/pages/metrics/share_visits`, params);\n}\n"],"mappings":";;;;;;;;AAuBA,eAAsB,WACpB,QACA,QAGA;AACA,QAAO,OAAO,IAAI,sBAAsB,OAAO;;;;;;;;;AAUjD,eAAsB,aACpB,QACA,MAGA;AACA,QAAO,OAAO,KAAK,sBAAsB,KAAK;;;;;;;;;AAUhD,eAAsB,WACpB,QACA,IAGA;AACA,QAAO,OAAO,IAAI,sBAAsB,KAAK;;;;;;;;;;AAW/C,eAAsB,aACpB,QACA,IACA,MAGA;AACA,QAAO,OAAO,MAAM,sBAAsB,MAAM,KAAK;;;;;;;;;AAUvD,eAAsB,cACpB,QACA,IAGA;AACA,QAAO,OAAO,OAAO,sBAAsB,KAAK;;;;;;;;;;AAWlD,eAAsB,oBACpB,QACA,WACA,QAGA;AACA,QAAO,OAAO,IAAI,sBAAsB,UAAU,YAAY,OAAO;;;;;;;;;;AAWvE,eAAsB,mBACpB,QACA,WACA,MAGA;AACA,QAAO,OAAO,KAAK,sBAAsB,UAAU,YAAY,KAAK;;;;;;;;;;AAWtE,eAAsB,sBACpB,QACA,WACA,IAGA;AACA,QAAO,OAAO,OAAO,sBAAsB,UAAU,YAAY,KAAK;;;;;;;;;AAUxE,eAAsB,eACpB,QACA,QAGA;AACA,QAAO,OAAO,IAAI,0BAA0B,OAAO;;;;;;;;;AAUrD,eAAsB,iBACpB,QACA,MAGA;AACA,QAAO,OAAO,KAAK,0BAA0B,KAAK;;;;;;;;;AAUpD,eAAsB,eACpB,QACA,IAGA;AACA,QAAO,OAAO,IAAI,0BAA0B,KAAK;;;;;;;;;;AAWnD,eAAsB,iBACpB,QACA,IACA,MAGA;AACA,QAAO,OAAO,MAAM,0BAA0B,MAAM,KAAK;;;;;;;;;AAU3D,eAAsB,kBACpB,QACA,IAGA;AACA,QAAO,OAAO,OAAO,0BAA0B,KAAK;;;;;;;;;;AAWtD,eAAsB,qBACpB,QACA,aACA,QAGA;AACA,QAAO,OAAO,IAAI,0BAA0B,YAAY,SAAS,OAAO;;;;;;;;;;AAW1E,eAAsB,oBACpB,QACA,aACA,MAGA;AACA,QAAO,OAAO,KAAK,0BAA0B,YAAY,SAAS,KAAK;;;;;;;;;;AAWzE,eAAsB,uBACpB,QACA,aACA,IAGA;AACA,QAAO,OAAO,OAAO,0BAA0B,YAAY,SAAS,KAAK;;;;;;;;;AAU3E,eAAsB,WACpB,QACA,IAGA;AACA,QAAO,OAAO,IAAI,sBAAsB,KAAK;;;;;;;;;AAU/C,eAAsB,YACpB,QACA,QAGA;AACA,QAAO,OAAO,IAAI,eAAe,OAAO;;;;;;;;;AAU1C,eAAsB,cACpB,QACA,MAGA;AACA,QAAO,OAAO,KAAK,eAAe,KAAK;;;;;;;;;AAUzC,eAAsB,gBACpB,QACA,QAGA;AACA,QAAO,OAAO,IAAI,2BAA2B,OAAO;;;;;;;;;;;;;;;AAgBtD,eAAsB,kBACpB,QACA,MAGA;AACA,QAAO,OAAO,KAAK,2BAA2B,KAAK;;;;;;;;;;AAWrD,eAAsB,qBACpB,QACA,YACA,QAGA;AACA,QAAO,OAAO,IAAI,2BAA2B,WAAW,SAAS,OAAO;;;;;;;;;;AAW1E,eAAsB,uBACpB,QACA,YACA,MAGA;AACA,QAAO,OAAO,KAAK,2BAA2B,WAAW,SAAS,KAAK;;;;;;;;;AAUzE,eAAsB,UACpB,QACA,MAGA;AACA,QAAO,OAAO,KAAK,0BAA0B,KAAK;;;;;;;;;AAUpD,eAAsB,mBACpB,QACA,MAGA;AACA,QAAO,OAAO,OAAO,2BAA2B,OAAO;;;;;;;;;AAUzD,eAAsB,mBACpB,QACA,MAGA;AACA,QAAO,OAAO,MAAM,2BAA2B,KAAK,UAAU;;;;;;;;;AA8BhE,eAAsB,6BACpB,QACA,QAGA;AACA,QAAO,OAAO,IAAI,qCAAqC,OAAO;;;;;;;;;AAUhE,eAAsB,mCACpB,QACA,QAGA;AACA,QAAO,OAAO,IAAI,2CAA2C,OAAO;;;;;;;;;AActE,eAAsB,iCACpB,QACA,QAGA;AACA,QAAO,OAAO,IAAI,yCAAyC,OAAO;;;;;;;;;AAUpE,eAAsB,uCACpB,QACA,QAGA;AACA,QAAO,OAAO,IAAI,+CAA+C,OAAO;;;;;;;;;AAc1E,eAAsB,6BACpB,QACA,QAGA;AACA,QAAO,OAAO,IAAI,qCAAqC,OAAO;;;;;;;;;AAUhE,eAAsB,mCACpB,QACA,QAGA;AACA,QAAO,OAAO,IAAI,2CAA2C,OAAO"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-mysite-portal-BV-BP3CE.mjs","names":[],"sources":["../../../mysite/ui/src/portal/hooks/use-mysite-portal.ts"],"sourcesContent":["\"use client\";\n\nimport { useQuery, useMutation, useQueryClient } from \"@tanstack/react-query\";\nimport { useMySiteApi } from \"@fluid-app/mysite-core/mysite-api-context\";\nimport type {\n MySiteProfile,\n MySiteLink,\n MySiteFavorite,\n MySiteTheme,\n CreateLinkBody,\n UpdateLinkBody,\n UpdateProfileBody,\n UpdateSettingsBody,\n AddFavoriteBody,\n} from \"@fluid-app/mysite-core/mysite-api-types\";\n\n// ---------------------------------------------------------------------------\n// Query keys — session-scoped, no userId/affiliateId needed\n// ---------------------------------------------------------------------------\n\nexport const PORTAL_MYSITE_KEYS = {\n profile: () => [\"portal-mysite\", \"profile\"] as const,\n links: () => [\"portal-mysite\", \"links\"] as const,\n favorites: () => [\"portal-mysite\", \"favorites\"] as const,\n themes: () => [\"portal-mysite\", \"themes\"] as const,\n};\n\n// ---------------------------------------------------------------------------\n// Profile hooks\n// ---------------------------------------------------------------------------\n\nexport function usePortalMySiteProfile() {\n const api = useMySiteApi();\n return useQuery<MySiteProfile>({\n queryKey: PORTAL_MYSITE_KEYS.profile(),\n queryFn: () => api.fetchProfile(),\n });\n}\n\nexport function usePortalUpdateProfile(options?: { onSuccess?: () => void }) {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (body: UpdateProfileBody) => api.updateProfile(body),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.profile(),\n });\n options?.onSuccess?.();\n },\n });\n}\n\nexport function usePortalUpdateSettings(options?: { onSuccess?: () => void }) {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (body: UpdateSettingsBody) => api.updateSettings(body),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.profile(),\n });\n options?.onSuccess?.();\n },\n });\n}\n\n// ---------------------------------------------------------------------------\n// Links hooks\n// ---------------------------------------------------------------------------\n\nexport function usePortalLinks() {\n const api = useMySiteApi();\n return useQuery<MySiteLink[]>({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n queryFn: () => api.listLinks(),\n });\n}\n\nexport function usePortalCreateLink() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (body: CreateLinkBody) => api.createLink(body),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n });\n },\n });\n}\n\nexport function usePortalUpdateLink() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({ linkId, body }: { linkId: number; body: UpdateLinkBody }) =>\n api.updateLink(linkId, body),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n });\n },\n });\n}\n\nexport function usePortalDeleteLink() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (linkId: number) => api.deleteLink(linkId),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n });\n },\n });\n}\n\nexport function usePortalReorderLinks() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({\n orderedIds,\n }: {\n orderedIds: number[];\n optimisticItems: MySiteLink[];\n }) => api.reorderLinks(orderedIds),\n onMutate: async ({ optimisticItems }) => {\n await queryClient.cancelQueries({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n });\n const previousData = queryClient.getQueryData<MySiteLink[]>(\n PORTAL_MYSITE_KEYS.links(),\n );\n queryClient.setQueryData(PORTAL_MYSITE_KEYS.links(), optimisticItems);\n return { previousData };\n },\n onError: (_err, _vars, context) => {\n if (context?.previousData) {\n queryClient.setQueryData(\n PORTAL_MYSITE_KEYS.links(),\n context.previousData,\n );\n }\n },\n onSettled: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n });\n },\n });\n}\n\n// ---------------------------------------------------------------------------\n// Favorites hooks\n// ---------------------------------------------------------------------------\n\nexport function usePortalFavorites() {\n const api = useMySiteApi();\n return useQuery<MySiteFavorite[]>({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n queryFn: () => api.listFavorites(),\n });\n}\n\nexport function usePortalAddFavorite() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (body: AddFavoriteBody) => api.addFavorite(body),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n });\n },\n });\n}\n\nexport function usePortalDeleteFavorite() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (favoriteId: number) => api.deleteFavorite(favoriteId),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n });\n },\n });\n}\n\nexport function usePortalReorderFavorites() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({\n orderedIds,\n }: {\n orderedIds: number[];\n optimisticItems: MySiteFavorite[];\n }) => api.reorderFavorites(orderedIds),\n onMutate: async ({ optimisticItems }) => {\n await queryClient.cancelQueries({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n });\n const previousData = queryClient.getQueryData<MySiteFavorite[]>(\n PORTAL_MYSITE_KEYS.favorites(),\n );\n queryClient.setQueryData(PORTAL_MYSITE_KEYS.favorites(), optimisticItems);\n return { previousData };\n },\n onError: (_err, _vars, context) => {\n if (context?.previousData) {\n queryClient.setQueryData(\n PORTAL_MYSITE_KEYS.favorites(),\n context.previousData,\n );\n }\n },\n onSettled: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n });\n },\n });\n}\n\n// ---------------------------------------------------------------------------\n// Themes hook\n// ---------------------------------------------------------------------------\n\nexport function usePortalMySiteThemes() {\n const api = useMySiteApi();\n return useQuery<MySiteTheme[]>({\n queryKey: PORTAL_MYSITE_KEYS.themes(),\n queryFn: () => api.listThemes(),\n });\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-mysite-portal-DzDYRU0u.cjs","names":["useMySiteApi"],"sources":["../../../mysite/ui/src/portal/hooks/use-mysite-portal.ts"],"sourcesContent":["\"use client\";\n\nimport { useQuery, useMutation, useQueryClient } from \"@tanstack/react-query\";\nimport { useMySiteApi } from \"@fluid-app/mysite-core/mysite-api-context\";\nimport type {\n MySiteProfile,\n MySiteLink,\n MySiteFavorite,\n MySiteTheme,\n CreateLinkBody,\n UpdateLinkBody,\n UpdateProfileBody,\n UpdateSettingsBody,\n AddFavoriteBody,\n} from \"@fluid-app/mysite-core/mysite-api-types\";\n\n// ---------------------------------------------------------------------------\n// Query keys — session-scoped, no userId/affiliateId needed\n// ---------------------------------------------------------------------------\n\nexport const PORTAL_MYSITE_KEYS = {\n profile: () => [\"portal-mysite\", \"profile\"] as const,\n links: () => [\"portal-mysite\", \"links\"] as const,\n favorites: () => [\"portal-mysite\", \"favorites\"] as const,\n themes: () => [\"portal-mysite\", \"themes\"] as const,\n};\n\n// ---------------------------------------------------------------------------\n// Profile hooks\n// ---------------------------------------------------------------------------\n\nexport function usePortalMySiteProfile() {\n const api = useMySiteApi();\n return useQuery<MySiteProfile>({\n queryKey: PORTAL_MYSITE_KEYS.profile(),\n queryFn: () => api.fetchProfile(),\n });\n}\n\nexport function usePortalUpdateProfile(options?: { onSuccess?: () => void }) {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (body: UpdateProfileBody) => api.updateProfile(body),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.profile(),\n });\n options?.onSuccess?.();\n },\n });\n}\n\nexport function usePortalUpdateSettings(options?: { onSuccess?: () => void }) {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (body: UpdateSettingsBody) => api.updateSettings(body),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.profile(),\n });\n options?.onSuccess?.();\n },\n });\n}\n\n// ---------------------------------------------------------------------------\n// Links hooks\n// ---------------------------------------------------------------------------\n\nexport function usePortalLinks() {\n const api = useMySiteApi();\n return useQuery<MySiteLink[]>({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n queryFn: () => api.listLinks(),\n });\n}\n\nexport function usePortalCreateLink() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (body: CreateLinkBody) => api.createLink(body),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n });\n },\n });\n}\n\nexport function usePortalUpdateLink() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({ linkId, body }: { linkId: number; body: UpdateLinkBody }) =>\n api.updateLink(linkId, body),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n });\n },\n });\n}\n\nexport function usePortalDeleteLink() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (linkId: number) => api.deleteLink(linkId),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n });\n },\n });\n}\n\nexport function usePortalReorderLinks() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({\n orderedIds,\n }: {\n orderedIds: number[];\n optimisticItems: MySiteLink[];\n }) => api.reorderLinks(orderedIds),\n onMutate: async ({ optimisticItems }) => {\n await queryClient.cancelQueries({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n });\n const previousData = queryClient.getQueryData<MySiteLink[]>(\n PORTAL_MYSITE_KEYS.links(),\n );\n queryClient.setQueryData(PORTAL_MYSITE_KEYS.links(), optimisticItems);\n return { previousData };\n },\n onError: (_err, _vars, context) => {\n if (context?.previousData) {\n queryClient.setQueryData(\n PORTAL_MYSITE_KEYS.links(),\n context.previousData,\n );\n }\n },\n onSettled: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n });\n },\n });\n}\n\n// ---------------------------------------------------------------------------\n// Favorites hooks\n// ---------------------------------------------------------------------------\n\nexport function usePortalFavorites() {\n const api = useMySiteApi();\n return useQuery<MySiteFavorite[]>({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n queryFn: () => api.listFavorites(),\n });\n}\n\nexport function usePortalAddFavorite() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (body: AddFavoriteBody) => api.addFavorite(body),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n });\n },\n });\n}\n\nexport function usePortalDeleteFavorite() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (favoriteId: number) => api.deleteFavorite(favoriteId),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n });\n },\n });\n}\n\nexport function usePortalReorderFavorites() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({\n orderedIds,\n }: {\n orderedIds: number[];\n optimisticItems: MySiteFavorite[];\n }) => api.reorderFavorites(orderedIds),\n onMutate: async ({ optimisticItems }) => {\n await queryClient.cancelQueries({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n });\n const previousData = queryClient.getQueryData<MySiteFavorite[]>(\n PORTAL_MYSITE_KEYS.favorites(),\n );\n queryClient.setQueryData(PORTAL_MYSITE_KEYS.favorites(), optimisticItems);\n return { previousData };\n },\n onError: (_err, _vars, context) => {\n if (context?.previousData) {\n queryClient.setQueryData(\n PORTAL_MYSITE_KEYS.favorites(),\n context.previousData,\n );\n }\n },\n onSettled: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n });\n },\n });\n}\n\n// ---------------------------------------------------------------------------\n// Themes hook\n// ---------------------------------------------------------------------------\n\nexport function usePortalMySiteThemes() {\n const api = useMySiteApi();\n return useQuery<MySiteTheme[]>({\n queryKey: PORTAL_MYSITE_KEYS.themes(),\n queryFn: () => api.listThemes(),\n });\n}\n"],"mappings":"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"}
|