@learnorama/mozaik-sdk 0.8.3-staging.32.1 → 0.9.1-staging.36.1
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/README.md +107 -0
- package/dist/api/account.d.ts +29 -28
- package/dist/api/account.js +43 -28
- package/dist/api/account.js.map +1 -1
- package/dist/api/admin-catalogue.d.ts +1 -1
- package/dist/api/admin-catalogue.js.map +1 -1
- package/dist/api/admin-consumption.d.ts +1 -1
- package/dist/api/admin-consumption.js.map +1 -1
- package/dist/api/admin-desk.d.ts +23 -1
- package/dist/api/admin-desk.js +59 -1
- package/dist/api/admin-desk.js.map +1 -1
- package/dist/api/admin-licenses.d.ts +1 -1
- package/dist/api/admin-licenses.js.map +1 -1
- package/dist/api/admin-patrons.d.ts +1 -1
- package/dist/api/admin-patrons.js.map +1 -1
- package/dist/api/admin-reviews.d.ts +1 -1
- package/dist/api/admin-reviews.js.map +1 -1
- package/dist/api/admin-roles.d.ts +1 -1
- package/dist/api/admin-roles.js.map +1 -1
- package/dist/api/admin-support.d.ts +1 -1
- package/dist/api/admin-support.js.map +1 -1
- package/dist/api/admin-tenants.d.ts +1 -1
- package/dist/api/admin-tenants.js.map +1 -1
- package/dist/api/admin-tutoring.d.ts +1 -1
- package/dist/api/admin-tutoring.js.map +1 -1
- package/dist/api/auth.d.ts +11 -1
- package/dist/api/auth.js +31 -1
- package/dist/api/auth.js.map +1 -1
- package/dist/api/biblio-catalogue.d.ts +11 -1
- package/dist/api/biblio-catalogue.js +23 -1
- package/dist/api/biblio-catalogue.js.map +1 -1
- package/dist/api/biblio-home.d.ts +6 -1
- package/dist/api/biblio-home.js +5 -0
- package/dist/api/biblio-home.js.map +1 -1
- package/dist/api/biblio-library.d.ts +9 -6
- package/dist/api/biblio-library.js +22 -9
- package/dist/api/biblio-library.js.map +1 -1
- package/dist/api/biblio-nextory.d.ts +1 -1
- package/dist/api/biblio-nextory.js.map +1 -1
- package/dist/api/biblio-press.d.ts +34 -25
- package/dist/api/biblio-press.js +73 -32
- package/dist/api/biblio-press.js.map +1 -1
- package/dist/api/biblio-search.d.ts +1 -1
- package/dist/api/biblio-search.js.map +1 -1
- package/dist/api/biblio-telemetry.d.ts +1 -1
- package/dist/api/biblio-telemetry.js.map +1 -1
- package/dist/api/consumption.d.ts +1 -1
- package/dist/api/consumption.js.map +1 -1
- package/dist/api/cvs-app.d.ts +1 -1
- package/dist/api/cvs-app.js.map +1 -1
- package/dist/api/cvs-documents.d.ts +1 -1
- package/dist/api/cvs-documents.js.map +1 -1
- package/dist/api/cvs-favorites.d.ts +1 -1
- package/dist/api/cvs-favorites.js.map +1 -1
- package/dist/api/cvs-ils.d.ts +1 -1
- package/dist/api/cvs-ils.js.map +1 -1
- package/dist/api/cvs-loans.d.ts +1 -1
- package/dist/api/cvs-loans.js.map +1 -1
- package/dist/api/cvs-payments.d.ts +1 -1
- package/dist/api/cvs-payments.js.map +1 -1
- package/dist/api/cvs-streaming.d.ts +1 -1
- package/dist/api/cvs-streaming.js.map +1 -1
- package/dist/api/index.d.ts +9 -9
- package/dist/api/index.js +9 -9
- package/dist/api/partner-catalogue.d.ts +20 -1
- package/dist/api/partner-catalogue.js +44 -1
- package/dist/api/partner-catalogue.js.map +1 -1
- package/dist/api/partner-reader.d.ts +34 -6
- package/dist/api/partner-reader.js +48 -6
- package/dist/api/partner-reader.js.map +1 -1
- package/dist/api/profiles.d.ts +86 -33
- package/dist/api/profiles.js +302 -33
- package/dist/api/profiles.js.map +1 -1
- package/dist/api/search.d.ts +1 -1
- package/dist/api/search.js.map +1 -1
- package/dist/api/tutoring-catalogue.d.ts +1 -1
- package/dist/api/tutoring-catalogue.js.map +1 -1
- package/dist/api/tutoring-chat.d.ts +1 -1
- package/dist/api/tutoring-chat.js.map +1 -1
- package/dist/api/tutoring-dispatch.d.ts +1 -1
- package/dist/api/tutoring-dispatch.js.map +1 -1
- package/dist/api/tutoring-practitioner.d.ts +1 -1
- package/dist/api/tutoring-practitioner.js.map +1 -1
- package/dist/api/tutoring-requests.d.ts +1 -1
- package/dist/api/tutoring-requests.js.map +1 -1
- package/dist/chunks/client2.d.ts +1 -1
- package/dist/chunks/connection.d.ts +1 -1
- package/dist/chunks/index.d.ts +1220 -372
- package/dist/index.d.ts +3 -3
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/models.d.ts +2 -2
- package/dist/models.js +91 -1
- package/dist/models.js.map +1 -1
- package/dist/react/account.d.ts +83 -28
- package/dist/react/account.js +92 -29
- package/dist/react/account.js.map +1 -1
- package/dist/react/admin-catalogue.d.ts +1 -1
- package/dist/react/admin-catalogue.js +1 -1
- package/dist/react/admin-catalogue.js.map +1 -1
- package/dist/react/admin-consumption.d.ts +1 -1
- package/dist/react/admin-consumption.js +1 -1
- package/dist/react/admin-consumption.js.map +1 -1
- package/dist/react/admin-desk.d.ts +104 -1
- package/dist/react/admin-desk.js +132 -2
- package/dist/react/admin-desk.js.map +1 -1
- package/dist/react/admin-licenses.d.ts +1 -1
- package/dist/react/admin-licenses.js +1 -1
- package/dist/react/admin-licenses.js.map +1 -1
- package/dist/react/admin-patrons.d.ts +1 -1
- package/dist/react/admin-patrons.js +1 -1
- package/dist/react/admin-patrons.js.map +1 -1
- package/dist/react/admin-reviews.d.ts +1 -1
- package/dist/react/admin-reviews.js +1 -1
- package/dist/react/admin-reviews.js.map +1 -1
- package/dist/react/admin-roles.d.ts +1 -1
- package/dist/react/admin-roles.js +1 -1
- package/dist/react/admin-roles.js.map +1 -1
- package/dist/react/admin-support.d.ts +1 -1
- package/dist/react/admin-support.js +1 -1
- package/dist/react/admin-support.js.map +1 -1
- package/dist/react/admin-tenants.d.ts +1 -1
- package/dist/react/admin-tenants.js +1 -1
- package/dist/react/admin-tenants.js.map +1 -1
- package/dist/react/admin-tutoring.d.ts +1 -1
- package/dist/react/admin-tutoring.js +1 -1
- package/dist/react/admin-tutoring.js.map +1 -1
- package/dist/react/auth.d.ts +29 -1
- package/dist/react/auth.js +60 -2
- package/dist/react/auth.js.map +1 -1
- package/dist/react/biblio-catalogue.d.ts +38 -1
- package/dist/react/biblio-catalogue.js +48 -2
- package/dist/react/biblio-catalogue.js.map +1 -1
- package/dist/react/biblio-home.d.ts +6 -1
- package/dist/react/biblio-home.js +6 -1
- package/dist/react/biblio-home.js.map +1 -1
- package/dist/react/biblio-library.d.ts +15 -11
- package/dist/react/biblio-library.js +32 -19
- package/dist/react/biblio-library.js.map +1 -1
- package/dist/react/biblio-nextory.d.ts +1 -1
- package/dist/react/biblio-nextory.js +1 -1
- package/dist/react/biblio-nextory.js.map +1 -1
- package/dist/react/biblio-press.d.ts +119 -64
- package/dist/react/biblio-press.js +153 -59
- package/dist/react/biblio-press.js.map +1 -1
- package/dist/react/biblio-search.d.ts +1 -1
- package/dist/react/biblio-search.js +1 -1
- package/dist/react/biblio-search.js.map +1 -1
- package/dist/react/biblio-telemetry.d.ts +1 -1
- package/dist/react/biblio-telemetry.js +1 -1
- package/dist/react/biblio-telemetry.js.map +1 -1
- package/dist/react/chat.d.ts +1 -1
- package/dist/react/consumption.d.ts +1 -1
- package/dist/react/consumption.js +1 -1
- package/dist/react/consumption.js.map +1 -1
- package/dist/react/cvs-app.d.ts +1 -1
- package/dist/react/cvs-app.js +1 -1
- package/dist/react/cvs-app.js.map +1 -1
- package/dist/react/cvs-documents.d.ts +1 -1
- package/dist/react/cvs-documents.js +1 -1
- package/dist/react/cvs-documents.js.map +1 -1
- package/dist/react/cvs-favorites.d.ts +1 -1
- package/dist/react/cvs-favorites.js +1 -1
- package/dist/react/cvs-favorites.js.map +1 -1
- package/dist/react/cvs-ils.d.ts +1 -1
- package/dist/react/cvs-ils.js +1 -1
- package/dist/react/cvs-ils.js.map +1 -1
- package/dist/react/cvs-loans.d.ts +1 -1
- package/dist/react/cvs-loans.js +1 -1
- package/dist/react/cvs-loans.js.map +1 -1
- package/dist/react/cvs-payments.d.ts +1 -1
- package/dist/react/cvs-payments.js +1 -1
- package/dist/react/cvs-payments.js.map +1 -1
- package/dist/react/cvs-streaming.d.ts +1 -1
- package/dist/react/cvs-streaming.js +1 -1
- package/dist/react/cvs-streaming.js.map +1 -1
- package/dist/react/index.d.ts +9 -9
- package/dist/react/index.js +9 -9
- package/dist/react/partner-catalogue.d.ts +74 -1
- package/dist/react/partner-catalogue.js +95 -2
- package/dist/react/partner-catalogue.js.map +1 -1
- package/dist/react/partner-reader.d.ts +79 -6
- package/dist/react/partner-reader.js +102 -7
- package/dist/react/partner-reader.js.map +1 -1
- package/dist/react/profiles.d.ts +406 -33
- package/dist/react/profiles.js +760 -59
- package/dist/react/profiles.js.map +1 -1
- package/dist/react/search.d.ts +1 -1
- package/dist/react/search.js +1 -1
- package/dist/react/search.js.map +1 -1
- package/dist/react/tutoring-catalogue.d.ts +1 -1
- package/dist/react/tutoring-catalogue.js +1 -1
- package/dist/react/tutoring-catalogue.js.map +1 -1
- package/dist/react/tutoring-chat.d.ts +1 -1
- package/dist/react/tutoring-chat.js +1 -1
- package/dist/react/tutoring-chat.js.map +1 -1
- package/dist/react/tutoring-dispatch.d.ts +1 -1
- package/dist/react/tutoring-dispatch.js +1 -1
- package/dist/react/tutoring-dispatch.js.map +1 -1
- package/dist/react/tutoring-practitioner.d.ts +1 -1
- package/dist/react/tutoring-practitioner.js +1 -1
- package/dist/react/tutoring-practitioner.js.map +1 -1
- package/dist/react/tutoring-requests.d.ts +1 -1
- package/dist/react/tutoring-requests.js +1 -1
- package/dist/react/tutoring-requests.js.map +1 -1
- package/package.json +7 -7
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
import {
|
|
2
|
+
import { Cn as PartnerFavoriteListRead, On as PartnerCategoryListRead, Tn as PartnerFacetsRead, _n as PartnerMediaRead, io as PartnerProvider, mt as ReadPartnerFacetsParams, pt as ReadPartnerHomeParams, sr as ListMediaParams, vn as PartnerMediaPage, xn as PartnerHomeRead } from "../chunks/index.js";
|
|
3
3
|
import { c as request } from "../chunks/client.js";
|
|
4
4
|
//#region src/api/partner-catalogue/partner-catalogue.d.ts
|
|
5
5
|
export declare const getListPartnerCategoriesUrl: (provider: PartnerProvider) => string;
|
|
@@ -14,6 +14,16 @@ export declare const getListPartnerCategoriesUrl: (provider: PartnerProvider) =>
|
|
|
14
14
|
* @summary List Partner Categories
|
|
15
15
|
*/
|
|
16
16
|
export declare const listPartnerCategories: (provider: PartnerProvider, options?: Parameters<typeof request>[1]) => Promise<PartnerCategoryListRead>;
|
|
17
|
+
export declare const getReadPartnerFacetsUrl: (provider: PartnerProvider, params?: ReadPartnerFacetsParams) => string;
|
|
18
|
+
/**
|
|
19
|
+
* Available languages and shelves in this profile's visible catalogue.
|
|
20
|
+
*
|
|
21
|
+
* Values are usable directly in ``/media`` filters, including the empty
|
|
22
|
+
* language value for titles whose provider supplied no language. Each facet
|
|
23
|
+
* drops its own filter so alternatives remain reachable.
|
|
24
|
+
* @summary Read Partner Facets
|
|
25
|
+
*/
|
|
26
|
+
export declare const readPartnerFacets: (provider: PartnerProvider, params?: ReadPartnerFacetsParams, options?: Parameters<typeof request>[1]) => Promise<PartnerFacetsRead>;
|
|
17
27
|
export declare const getListPartnerFavoritesUrl: (provider: PartnerProvider) => string;
|
|
18
28
|
/**
|
|
19
29
|
* This reader's bookmarks, filtered to what they may still see.
|
|
@@ -45,6 +55,15 @@ export declare const getAddPartnerFavoriteUrl: (provider: PartnerProvider, media
|
|
|
45
55
|
* @summary Add Partner Favorite
|
|
46
56
|
*/
|
|
47
57
|
export declare const addPartnerFavorite: (provider: PartnerProvider, mediaId: number, options?: Parameters<typeof request>[1]) => Promise<void>;
|
|
58
|
+
export declare const getReadPartnerHomeUrl: (provider: PartnerProvider, params?: ReadPartnerHomeParams) => string;
|
|
59
|
+
/**
|
|
60
|
+
* Visible shelves, favourites and locally saved readings for this profile.
|
|
61
|
+
*
|
|
62
|
+
* At most ``limit`` cards per section. No provider request, reader URL, licence
|
|
63
|
+
* allocation or consumption event is produced by browsing this home.
|
|
64
|
+
* @summary Read Partner Home
|
|
65
|
+
*/
|
|
66
|
+
export declare const readPartnerHome: (provider: PartnerProvider, params?: ReadPartnerHomeParams, options?: Parameters<typeof request>[1]) => Promise<PartnerHomeRead>;
|
|
48
67
|
export declare const getListMediaUrl: (provider: PartnerProvider, params?: ListMediaParams) => string;
|
|
49
68
|
/**
|
|
50
69
|
* A page of the catalogue.
|
|
@@ -20,6 +20,28 @@ const listPartnerCategories = async (provider, options) => {
|
|
|
20
20
|
method: "GET"
|
|
21
21
|
});
|
|
22
22
|
};
|
|
23
|
+
const getReadPartnerFacetsUrl = (provider, params) => {
|
|
24
|
+
const normalizedParams = new URLSearchParams();
|
|
25
|
+
Object.entries(params || {}).forEach(([key, value]) => {
|
|
26
|
+
if (value !== void 0) normalizedParams.append(key, value === null ? "null" : String(value));
|
|
27
|
+
});
|
|
28
|
+
const stringifiedParams = normalizedParams.toString();
|
|
29
|
+
return stringifiedParams.length > 0 ? `/partners/${provider}/facets?${stringifiedParams}` : `/partners/${provider}/facets`;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Available languages and shelves in this profile's visible catalogue.
|
|
33
|
+
*
|
|
34
|
+
* Values are usable directly in ``/media`` filters, including the empty
|
|
35
|
+
* language value for titles whose provider supplied no language. Each facet
|
|
36
|
+
* drops its own filter so alternatives remain reachable.
|
|
37
|
+
* @summary Read Partner Facets
|
|
38
|
+
*/
|
|
39
|
+
const readPartnerFacets = async (provider, params, options) => {
|
|
40
|
+
return request(getReadPartnerFacetsUrl(provider, params), {
|
|
41
|
+
...options,
|
|
42
|
+
method: "GET"
|
|
43
|
+
});
|
|
44
|
+
};
|
|
23
45
|
const getListPartnerFavoritesUrl = (provider) => {
|
|
24
46
|
return `/partners/${provider}/favorites`;
|
|
25
47
|
};
|
|
@@ -72,6 +94,27 @@ const addPartnerFavorite = async (provider, mediaId, options) => {
|
|
|
72
94
|
method: "PUT"
|
|
73
95
|
});
|
|
74
96
|
};
|
|
97
|
+
const getReadPartnerHomeUrl = (provider, params) => {
|
|
98
|
+
const normalizedParams = new URLSearchParams();
|
|
99
|
+
Object.entries(params || {}).forEach(([key, value]) => {
|
|
100
|
+
if (value !== void 0) normalizedParams.append(key, value === null ? "null" : String(value));
|
|
101
|
+
});
|
|
102
|
+
const stringifiedParams = normalizedParams.toString();
|
|
103
|
+
return stringifiedParams.length > 0 ? `/partners/${provider}/home-feed?${stringifiedParams}` : `/partners/${provider}/home-feed`;
|
|
104
|
+
};
|
|
105
|
+
/**
|
|
106
|
+
* Visible shelves, favourites and locally saved readings for this profile.
|
|
107
|
+
*
|
|
108
|
+
* At most ``limit`` cards per section. No provider request, reader URL, licence
|
|
109
|
+
* allocation or consumption event is produced by browsing this home.
|
|
110
|
+
* @summary Read Partner Home
|
|
111
|
+
*/
|
|
112
|
+
const readPartnerHome = async (provider, params, options) => {
|
|
113
|
+
return request(getReadPartnerHomeUrl(provider, params), {
|
|
114
|
+
...options,
|
|
115
|
+
method: "GET"
|
|
116
|
+
});
|
|
117
|
+
};
|
|
75
118
|
const getListMediaUrl = (provider, params) => {
|
|
76
119
|
const normalizedParams = new URLSearchParams();
|
|
77
120
|
Object.entries(params || {}).forEach(([key, value]) => {
|
|
@@ -120,6 +163,6 @@ const readMedia = async (provider, mediaId, options) => {
|
|
|
120
163
|
});
|
|
121
164
|
};
|
|
122
165
|
//#endregion
|
|
123
|
-
export { addPartnerFavorite, getAddPartnerFavoriteUrl, getListMediaUrl, getListPartnerCategoriesUrl, getListPartnerFavoritesUrl, getReadMediaUrl, getRemovePartnerFavoriteUrl, listMedia, listPartnerCategories, listPartnerFavorites, readMedia, removePartnerFavorite };
|
|
166
|
+
export { addPartnerFavorite, getAddPartnerFavoriteUrl, getListMediaUrl, getListPartnerCategoriesUrl, getListPartnerFavoritesUrl, getReadMediaUrl, getReadPartnerFacetsUrl, getReadPartnerHomeUrl, getRemovePartnerFavoriteUrl, listMedia, listPartnerCategories, listPartnerFavorites, readMedia, readPartnerFacets, readPartnerHome, removePartnerFavorite };
|
|
124
167
|
|
|
125
168
|
//# sourceMappingURL=partner-catalogue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"partner-catalogue.js","names":[],"sources":["../../src/api/partner-catalogue/partner-catalogue.ts"],"sourcesContent":["/**\n * Generated by orval 🍺\n * Do not edit manually.\n * Mozaik backend\n * Four products behind one API — Biblio, Médiathèques, the partner catalogues (Nextory and YouScribe) and Prof Express. Authentication is Keycloak SSO only, once, for all of them: see the **auth** section below for the browser flow and the three failure modes.\n * OpenAPI spec version: 0.8.3\n */\nimport type {\n ListMediaParams,\n PartnerCategoryListRead,\n PartnerFavoriteListRead,\n PartnerMediaPage,\n PartnerMediaRead,\n PartnerProvider\n} from '../../models';\n\nimport { request } from '../../client';\n\nexport const getListPartnerCategoriesUrl = (provider: PartnerProvider,) => {\n\n\n\n\n return `/partners/${provider}/categories`\n}\n\n/**\n * The provider's taxonomy, with a count per node for this caller's slice.\n *\n * Counts come from ``partner_category_total`` and are summed across languages,\n * because the menu shows one number and the rollup is keyed per language. A\n * node with no matching rollup row reports ``0`` rather than being hidden: the\n * tree shape is stable, and a branch that vanishes because today's import found\n * nothing in it is harder to reason about than one that reads zero.\n * @summary List Partner Categories\n */\nexport const listPartnerCategories = async (provider: PartnerProvider, options?: Parameters<typeof request>[1]): Promise<PartnerCategoryListRead> => {\n\n return request<PartnerCategoryListRead>(getListPartnerCategoriesUrl(provider),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getListPartnerFavoritesUrl = (provider: PartnerProvider,) => {\n\n\n\n\n return `/partners/${provider}/favorites`\n}\n\n/**\n * This reader's bookmarks, filtered to what they may still see.\n *\n * The filter matters: a title can become adult-only, or leave the plan, between\n * being bookmarked and being listed. The legacy joined favourites to media with\n * no visibility predicate at all.\n * @summary List Partner Favorites\n */\nexport const listPartnerFavorites = async (provider: PartnerProvider, options?: Parameters<typeof request>[1]): Promise<PartnerFavoriteListRead> => {\n\n return request<PartnerFavoriteListRead>(getListPartnerFavoritesUrl(provider),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getRemovePartnerFavoriteUrl = (provider: PartnerProvider,\n mediaId: number,) => {\n\n\n\n\n return `/partners/${provider}/favorites/${mediaId}`\n}\n\n/**\n * Remove a bookmark. Idempotent, and deliberately not visibility-filtered.\n *\n * A reader must be able to unbookmark a title they can no longer see —\n * otherwise a media leaving their plan strands a row they have no way to\n * remove.\n * @summary Remove Partner Favorite\n */\nexport const removePartnerFavorite = async (provider: PartnerProvider,\n mediaId: number, options?: Parameters<typeof request>[1]): Promise<void> => {\n\n return request<void>(getRemovePartnerFavoriteUrl(provider,mediaId),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n);}\n\n\nexport const getAddPartnerFavoriteUrl = (provider: PartnerProvider,\n mediaId: number,) => {\n\n\n\n\n return `/partners/${provider}/favorites/${mediaId}`\n}\n\n/**\n * Bookmark a title. Idempotent.\n *\n * ``PUT``/``DELETE`` rather than the legacy's ``POST /toggle-favorite.json``. A\n * toggle is not idempotent, and the legacy's had no uniqueness behind it: two\n * tabs toggling at once left two rows, and un-toggling then removed one of\n * them, so the title stayed bookmarked.\n * @summary Add Partner Favorite\n */\nexport const addPartnerFavorite = async (provider: PartnerProvider,\n mediaId: number, options?: Parameters<typeof request>[1]): Promise<void> => {\n\n return request<void>(getAddPartnerFavoriteUrl(provider,mediaId),\n {\n ...options,\n method: 'PUT'\n\n\n }\n);}\n\n\nexport const getListMediaUrl = (provider: PartnerProvider,\n params?: ListMediaParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/partners/${provider}/media?${stringifiedParams}` : `/partners/${provider}/media`\n}\n\n/**\n * A page of the catalogue.\n *\n * ``q`` ranks through Elasticsearch and then **intersects** with the same\n * visibility subquery as an unfiltered listing — the index knows nothing about\n * plans or ages, so authorisation happens here whatever the index returns. An\n * index that is missing or unreachable yields no candidates, which reads as an\n * empty page rather than an unfiltered one.\n *\n * A search result keeps the index's ranking rather than applying ``order``:\n * re-sorting relevance by publication date discards the only thing the search\n * contributed. That is why ``order`` is ignored when ``q`` is present, not\n * silently combined with it.\n * @summary List Media\n */\nexport const listMedia = async (provider: PartnerProvider,\n params?: ListMediaParams, options?: Parameters<typeof request>[1]): Promise<PartnerMediaPage> => {\n\n return request<PartnerMediaPage>(getListMediaUrl(provider,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getReadMediaUrl = (provider: PartnerProvider,\n mediaId: number,) => {\n\n\n\n\n return `/partners/${provider}/media/${mediaId}`\n}\n\n/**\n * One title.\n *\n * A media outside the caller's slice is ``404``, not ``403``: whether an adult\n * title exists is itself something a minor's client should not be able to\n * determine, and the legacy's detail page dereferenced an unknown id straight\n * into a 500.\n * @summary Read Media\n */\nexport const readMedia = async (provider: PartnerProvider,\n mediaId: number, options?: Parameters<typeof request>[1]): Promise<PartnerMediaRead> => {\n\n return request<PartnerMediaRead>(getReadMediaUrl(provider,mediaId),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n"],"mappings":";;;AAkBA,MAAa,+BAA+B,aAA+B;CAKzE,OAAO,aAAa,SAAS;AAC/B;;;;;;;;;;;AAYA,MAAa,wBAAwB,OAAO,UAA2B,YAA8E;CAEnJ,OAAO,QAAiC,4BAA4B,QAAQ,GAC5E;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,8BAA8B,aAA+B;CAKxE,OAAO,aAAa,SAAS;AAC/B;;;;;;;;;AAUA,MAAa,uBAAuB,OAAO,UAA2B,YAA8E;CAElJ,OAAO,QAAiC,2BAA2B,QAAQ,GAC3E;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,+BAA+B,UACxC,YAAqB;CAKvB,OAAO,aAAa,SAAS,aAAa;AAC5C;;;;;;;;;AAUA,MAAa,wBAAwB,OAAO,UACxC,SAAiB,YAA2D;CAE9E,OAAO,QAAc,4BAA4B,UAAS,OAAO,GACjE;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,4BAA4B,UACrC,YAAqB;CAKvB,OAAO,aAAa,SAAS,aAAa;AAC5C;;;;;;;;;;AAWA,MAAa,qBAAqB,OAAO,UACrC,SAAiB,YAA2D;CAE9E,OAAO,QAAc,yBAAyB,UAAS,OAAO,GAC9D;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,mBAAmB,UAC5B,WAA8B;CAChC,MAAM,mBAAmB,IAAI,gBAAgB;CAE7C,OAAO,QAAQ,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,WAAW;EAErD,IAAI,UAAU,KAAA,GACZ,iBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;CAExE,CAAC;CAED,MAAM,oBAAoB,iBAAiB,SAAS;CAEpD,OAAO,kBAAkB,SAAS,IAAI,aAAa,SAAS,SAAS,sBAAsB,aAAa,SAAS;AACnH;;;;;;;;;;;;;;;;AAiBA,MAAa,YAAY,OAAO,UAC5B,QAA0B,YAAuE;CAEnG,OAAO,QAA0B,gBAAgB,UAAS,MAAM,GAChE;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,mBAAmB,UAC5B,YAAqB;CAKvB,OAAO,aAAa,SAAS,SAAS;AACxC;;;;;;;;;;AAWA,MAAa,YAAY,OAAO,UAC5B,SAAiB,YAAuE;CAE1F,OAAO,QAA0B,gBAAgB,UAAS,OAAO,GACjE;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE"}
|
|
1
|
+
{"version":3,"file":"partner-catalogue.js","names":[],"sources":["../../src/api/partner-catalogue/partner-catalogue.ts"],"sourcesContent":["/**\n * Generated by orval 🍺\n * Do not edit manually.\n * Mozaik backend\n * Four products behind one API — Biblio, Médiathèques, the partner catalogues (Nextory and YouScribe) and Prof Express. Authentication is Keycloak SSO only, once, for all of them: see the **auth** section below for the browser flow and the three failure modes.\n * OpenAPI spec version: 0.9.1\n */\nimport type {\n ListMediaParams,\n PartnerCategoryListRead,\n PartnerFacetsRead,\n PartnerFavoriteListRead,\n PartnerHomeRead,\n PartnerMediaPage,\n PartnerMediaRead,\n PartnerProvider,\n ReadPartnerFacetsParams,\n ReadPartnerHomeParams\n} from '../../models';\n\nimport { request } from '../../client';\n\nexport const getListPartnerCategoriesUrl = (provider: PartnerProvider,) => {\n\n\n\n\n return `/partners/${provider}/categories`\n}\n\n/**\n * The provider's taxonomy, with a count per node for this caller's slice.\n *\n * Counts come from ``partner_category_total`` and are summed across languages,\n * because the menu shows one number and the rollup is keyed per language. A\n * node with no matching rollup row reports ``0`` rather than being hidden: the\n * tree shape is stable, and a branch that vanishes because today's import found\n * nothing in it is harder to reason about than one that reads zero.\n * @summary List Partner Categories\n */\nexport const listPartnerCategories = async (provider: PartnerProvider, options?: Parameters<typeof request>[1]): Promise<PartnerCategoryListRead> => {\n\n return request<PartnerCategoryListRead>(getListPartnerCategoriesUrl(provider),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getReadPartnerFacetsUrl = (provider: PartnerProvider,\n params?: ReadPartnerFacetsParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/partners/${provider}/facets?${stringifiedParams}` : `/partners/${provider}/facets`\n}\n\n/**\n * Available languages and shelves in this profile's visible catalogue.\n *\n * Values are usable directly in ``/media`` filters, including the empty\n * language value for titles whose provider supplied no language. Each facet\n * drops its own filter so alternatives remain reachable.\n * @summary Read Partner Facets\n */\nexport const readPartnerFacets = async (provider: PartnerProvider,\n params?: ReadPartnerFacetsParams, options?: Parameters<typeof request>[1]): Promise<PartnerFacetsRead> => {\n\n return request<PartnerFacetsRead>(getReadPartnerFacetsUrl(provider,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getListPartnerFavoritesUrl = (provider: PartnerProvider,) => {\n\n\n\n\n return `/partners/${provider}/favorites`\n}\n\n/**\n * This reader's bookmarks, filtered to what they may still see.\n *\n * The filter matters: a title can become adult-only, or leave the plan, between\n * being bookmarked and being listed. The legacy joined favourites to media with\n * no visibility predicate at all.\n * @summary List Partner Favorites\n */\nexport const listPartnerFavorites = async (provider: PartnerProvider, options?: Parameters<typeof request>[1]): Promise<PartnerFavoriteListRead> => {\n\n return request<PartnerFavoriteListRead>(getListPartnerFavoritesUrl(provider),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getRemovePartnerFavoriteUrl = (provider: PartnerProvider,\n mediaId: number,) => {\n\n\n\n\n return `/partners/${provider}/favorites/${mediaId}`\n}\n\n/**\n * Remove a bookmark. Idempotent, and deliberately not visibility-filtered.\n *\n * A reader must be able to unbookmark a title they can no longer see —\n * otherwise a media leaving their plan strands a row they have no way to\n * remove.\n * @summary Remove Partner Favorite\n */\nexport const removePartnerFavorite = async (provider: PartnerProvider,\n mediaId: number, options?: Parameters<typeof request>[1]): Promise<void> => {\n\n return request<void>(getRemovePartnerFavoriteUrl(provider,mediaId),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n);}\n\n\nexport const getAddPartnerFavoriteUrl = (provider: PartnerProvider,\n mediaId: number,) => {\n\n\n\n\n return `/partners/${provider}/favorites/${mediaId}`\n}\n\n/**\n * Bookmark a title. Idempotent.\n *\n * ``PUT``/``DELETE`` rather than the legacy's ``POST /toggle-favorite.json``. A\n * toggle is not idempotent, and the legacy's had no uniqueness behind it: two\n * tabs toggling at once left two rows, and un-toggling then removed one of\n * them, so the title stayed bookmarked.\n * @summary Add Partner Favorite\n */\nexport const addPartnerFavorite = async (provider: PartnerProvider,\n mediaId: number, options?: Parameters<typeof request>[1]): Promise<void> => {\n\n return request<void>(getAddPartnerFavoriteUrl(provider,mediaId),\n {\n ...options,\n method: 'PUT'\n\n\n }\n);}\n\n\nexport const getReadPartnerHomeUrl = (provider: PartnerProvider,\n params?: ReadPartnerHomeParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/partners/${provider}/home-feed?${stringifiedParams}` : `/partners/${provider}/home-feed`\n}\n\n/**\n * Visible shelves, favourites and locally saved readings for this profile.\n *\n * At most ``limit`` cards per section. No provider request, reader URL, licence\n * allocation or consumption event is produced by browsing this home.\n * @summary Read Partner Home\n */\nexport const readPartnerHome = async (provider: PartnerProvider,\n params?: ReadPartnerHomeParams, options?: Parameters<typeof request>[1]): Promise<PartnerHomeRead> => {\n\n return request<PartnerHomeRead>(getReadPartnerHomeUrl(provider,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getListMediaUrl = (provider: PartnerProvider,\n params?: ListMediaParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/partners/${provider}/media?${stringifiedParams}` : `/partners/${provider}/media`\n}\n\n/**\n * A page of the catalogue.\n *\n * ``q`` ranks through Elasticsearch and then **intersects** with the same\n * visibility subquery as an unfiltered listing — the index knows nothing about\n * plans or ages, so authorisation happens here whatever the index returns. An\n * index that is missing or unreachable yields no candidates, which reads as an\n * empty page rather than an unfiltered one.\n *\n * A search result keeps the index's ranking rather than applying ``order``:\n * re-sorting relevance by publication date discards the only thing the search\n * contributed. That is why ``order`` is ignored when ``q`` is present, not\n * silently combined with it.\n * @summary List Media\n */\nexport const listMedia = async (provider: PartnerProvider,\n params?: ListMediaParams, options?: Parameters<typeof request>[1]): Promise<PartnerMediaPage> => {\n\n return request<PartnerMediaPage>(getListMediaUrl(provider,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getReadMediaUrl = (provider: PartnerProvider,\n mediaId: number,) => {\n\n\n\n\n return `/partners/${provider}/media/${mediaId}`\n}\n\n/**\n * One title.\n *\n * A media outside the caller's slice is ``404``, not ``403``: whether an adult\n * title exists is itself something a minor's client should not be able to\n * determine, and the legacy's detail page dereferenced an unknown id straight\n * into a 500.\n * @summary Read Media\n */\nexport const readMedia = async (provider: PartnerProvider,\n mediaId: number, options?: Parameters<typeof request>[1]): Promise<PartnerMediaRead> => {\n\n return request<PartnerMediaRead>(getReadMediaUrl(provider,mediaId),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n"],"mappings":";;;AAsBA,MAAa,+BAA+B,aAA+B;CAKzE,OAAO,aAAa,SAAS;AAC/B;;;;;;;;;;;AAYA,MAAa,wBAAwB,OAAO,UAA2B,YAA8E;CAEnJ,OAAO,QAAiC,4BAA4B,QAAQ,GAC5E;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,2BAA2B,UACpC,WAAsC;CACxC,MAAM,mBAAmB,IAAI,gBAAgB;CAE7C,OAAO,QAAQ,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,WAAW;EAErD,IAAI,UAAU,KAAA,GACZ,iBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;CAExE,CAAC;CAED,MAAM,oBAAoB,iBAAiB,SAAS;CAEpD,OAAO,kBAAkB,SAAS,IAAI,aAAa,SAAS,UAAU,sBAAsB,aAAa,SAAS;AACpH;;;;;;;;;AAUA,MAAa,oBAAoB,OAAO,UACpC,QAAkC,YAAwE;CAE5G,OAAO,QAA2B,wBAAwB,UAAS,MAAM,GACzE;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,8BAA8B,aAA+B;CAKxE,OAAO,aAAa,SAAS;AAC/B;;;;;;;;;AAUA,MAAa,uBAAuB,OAAO,UAA2B,YAA8E;CAElJ,OAAO,QAAiC,2BAA2B,QAAQ,GAC3E;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,+BAA+B,UACxC,YAAqB;CAKvB,OAAO,aAAa,SAAS,aAAa;AAC5C;;;;;;;;;AAUA,MAAa,wBAAwB,OAAO,UACxC,SAAiB,YAA2D;CAE9E,OAAO,QAAc,4BAA4B,UAAS,OAAO,GACjE;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,4BAA4B,UACrC,YAAqB;CAKvB,OAAO,aAAa,SAAS,aAAa;AAC5C;;;;;;;;;;AAWA,MAAa,qBAAqB,OAAO,UACrC,SAAiB,YAA2D;CAE9E,OAAO,QAAc,yBAAyB,UAAS,OAAO,GAC9D;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,yBAAyB,UAClC,WAAoC;CACtC,MAAM,mBAAmB,IAAI,gBAAgB;CAE7C,OAAO,QAAQ,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,WAAW;EAErD,IAAI,UAAU,KAAA,GACZ,iBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;CAExE,CAAC;CAED,MAAM,oBAAoB,iBAAiB,SAAS;CAEpD,OAAO,kBAAkB,SAAS,IAAI,aAAa,SAAS,aAAa,sBAAsB,aAAa,SAAS;AACvH;;;;;;;;AASA,MAAa,kBAAkB,OAAO,UAClC,QAAgC,YAAsE;CAExG,OAAO,QAAyB,sBAAsB,UAAS,MAAM,GACrE;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,mBAAmB,UAC5B,WAA8B;CAChC,MAAM,mBAAmB,IAAI,gBAAgB;CAE7C,OAAO,QAAQ,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,WAAW;EAErD,IAAI,UAAU,KAAA,GACZ,iBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;CAExE,CAAC;CAED,MAAM,oBAAoB,iBAAiB,SAAS;CAEpD,OAAO,kBAAkB,SAAS,IAAI,aAAa,SAAS,SAAS,sBAAsB,aAAa,SAAS;AACnH;;;;;;;;;;;;;;;;AAiBA,MAAa,YAAY,OAAO,UAC5B,QAA0B,YAAuE;CAEnG,OAAO,QAA0B,gBAAgB,UAAS,MAAM,GAChE;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,mBAAmB,UAC5B,YAAqB;CAKvB,OAAO,aAAa,SAAS,SAAS;AACxC;;;;;;;;;;AAWA,MAAa,YAAY,OAAO,UAC5B,SAAiB,YAAuE;CAE1F,OAAO,QAA0B,gBAAgB,UAAS,OAAO,GACjE;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
import {
|
|
2
|
+
import { St as ReadingPositionRead, Tt as ReaderPackageRead, bt as ReadingPositionWrite, gt as ReadPackageParams, io as PartnerProvider, mc as CurrentReadingListRead, n as YouScribeAuthRead, t as YouScribeReaderRead } from "../chunks/index.js";
|
|
3
3
|
import { c as request } from "../chunks/client.js";
|
|
4
4
|
//#region src/api/partner-reader/partner-reader.d.ts
|
|
5
5
|
export declare const getReadPackageUrl: (provider: PartnerProvider, mediaId: number, params?: ReadPackageParams) => string;
|
|
@@ -23,7 +23,7 @@ export declare const getReadPackageUrl: (provider: PartnerProvider, mediaId: num
|
|
|
23
23
|
export declare const readPackage: (provider: PartnerProvider, mediaId: number, params?: ReadPackageParams, options?: Parameters<typeof request>[1]) => Promise<ReaderPackageRead>;
|
|
24
24
|
export declare const getReadPositionUrl: (provider: PartnerProvider, mediaId: number) => string;
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
26
|
+
* The last synchronized local position, or the partner's when none is saved.
|
|
27
27
|
*
|
|
28
28
|
* ``404`` when the partner holds no position — a book never opened has no
|
|
29
29
|
* place to return to, and reporting zero would make a client jump a reader who
|
|
@@ -33,14 +33,31 @@ export declare const getReadPositionUrl: (provider: PartnerProvider, mediaId: nu
|
|
|
33
33
|
export declare const readPosition: (provider: PartnerProvider, mediaId: number, options?: Parameters<typeof request>[1]) => Promise<ReadingPositionRead>;
|
|
34
34
|
export declare const getWritePositionUrl: (provider: PartnerProvider, mediaId: number) => string;
|
|
35
35
|
/**
|
|
36
|
-
*
|
|
36
|
+
* Synchronize and save progress, with the partner's metering alongside it.
|
|
37
37
|
*
|
|
38
|
-
* ``usage_blocks`` is forwarded
|
|
39
|
-
*
|
|
40
|
-
*
|
|
38
|
+
* ``usage_blocks`` is forwarded before a new position, matching the legacy's
|
|
39
|
+
* call order. The two reports are independent: an older position may carry
|
|
40
|
+
* usage the partner has not received yet.
|
|
41
|
+
*
|
|
42
|
+
* Only a strictly newer ``reachedAt`` replaces the saved position. Stale or
|
|
43
|
+
* duplicate writes return that saved position without updating it upstream.
|
|
44
|
+
* Provided usage blocks are still forwarded, including on retries; the
|
|
45
|
+
* partner's deduplication contract is unknown. Conflicting positions at the
|
|
46
|
+
* same instant return 409 before any outbound write.
|
|
47
|
+
* Progress is a resume point, not a measurement of time spent reading.
|
|
41
48
|
* @summary Write Position
|
|
42
49
|
*/
|
|
43
50
|
export declare const writePosition: (provider: PartnerProvider, mediaId: number, readingPositionWrite: ReadingPositionWrite, options?: Parameters<typeof request>[1]) => Promise<ReadingPositionRead>;
|
|
51
|
+
export declare const getOpenNativeReaderUrl: (provider: PartnerProvider, mediaId: number) => string;
|
|
52
|
+
/**
|
|
53
|
+
* Authorize a YouScribe native title and open its consumption lease.
|
|
54
|
+
*
|
|
55
|
+
* Pass externalId and token to the YouScribe SDK. Mozaik requests keep using
|
|
56
|
+
* mediaId. Renew lease.eventId while the reader is open and close it when the
|
|
57
|
+
* reader exits; reopening the same title reuses its active lease.
|
|
58
|
+
* @summary Open Native Reader
|
|
59
|
+
*/
|
|
60
|
+
export declare const openNativeReader: (provider: PartnerProvider, mediaId: number, options?: Parameters<typeof request>[1]) => Promise<YouScribeReaderRead>;
|
|
44
61
|
export declare const getListCurrentReadingsUrl: (provider: PartnerProvider) => string;
|
|
45
62
|
/**
|
|
46
63
|
* The partner's own "continue reading" list, joined back to our catalogue.
|
|
@@ -52,5 +69,16 @@ export declare const getListCurrentReadingsUrl: (provider: PartnerProvider) => s
|
|
|
52
69
|
* @summary List Current Readings
|
|
53
70
|
*/
|
|
54
71
|
export declare const listCurrentReadings: (provider: PartnerProvider, options?: Parameters<typeof request>[1]) => Promise<CurrentReadingListRead>;
|
|
72
|
+
export declare const getReadNativeAuthUrl: (provider: PartnerProvider) => string;
|
|
73
|
+
/**
|
|
74
|
+
* YouScribe native SDK credentials for the selected, authorized profile.
|
|
75
|
+
*
|
|
76
|
+
* Equivalent to the legacy YouScribe user/auth endpoint. This does not create
|
|
77
|
+
* a licence or a consumption event. Open a title through its reader-auth POST
|
|
78
|
+
* to obtain the lease used for consumption heartbeats. The token is personal:
|
|
79
|
+
* never persist it, log it, or share it between profiles.
|
|
80
|
+
* @summary Read Native Auth
|
|
81
|
+
*/
|
|
82
|
+
export declare const readNativeAuth: (provider: PartnerProvider, options?: Parameters<typeof request>[1]) => Promise<YouScribeAuthRead>;
|
|
55
83
|
//#endregion
|
|
56
84
|
//# sourceMappingURL=partner-reader.d.ts.map
|
|
@@ -36,7 +36,7 @@ const getReadPositionUrl = (provider, mediaId) => {
|
|
|
36
36
|
return `/partners/${provider}/media/${mediaId}/position`;
|
|
37
37
|
};
|
|
38
38
|
/**
|
|
39
|
-
*
|
|
39
|
+
* The last synchronized local position, or the partner's when none is saved.
|
|
40
40
|
*
|
|
41
41
|
* ``404`` when the partner holds no position — a book never opened has no
|
|
42
42
|
* place to return to, and reporting zero would make a client jump a reader who
|
|
@@ -53,11 +53,18 @@ const getWritePositionUrl = (provider, mediaId) => {
|
|
|
53
53
|
return `/partners/${provider}/media/${mediaId}/position`;
|
|
54
54
|
};
|
|
55
55
|
/**
|
|
56
|
-
*
|
|
56
|
+
* Synchronize and save progress, with the partner's metering alongside it.
|
|
57
57
|
*
|
|
58
|
-
* ``usage_blocks`` is forwarded
|
|
59
|
-
*
|
|
60
|
-
*
|
|
58
|
+
* ``usage_blocks`` is forwarded before a new position, matching the legacy's
|
|
59
|
+
* call order. The two reports are independent: an older position may carry
|
|
60
|
+
* usage the partner has not received yet.
|
|
61
|
+
*
|
|
62
|
+
* Only a strictly newer ``reachedAt`` replaces the saved position. Stale or
|
|
63
|
+
* duplicate writes return that saved position without updating it upstream.
|
|
64
|
+
* Provided usage blocks are still forwarded, including on retries; the
|
|
65
|
+
* partner's deduplication contract is unknown. Conflicting positions at the
|
|
66
|
+
* same instant return 409 before any outbound write.
|
|
67
|
+
* Progress is a resume point, not a measurement of time spent reading.
|
|
61
68
|
* @summary Write Position
|
|
62
69
|
*/
|
|
63
70
|
const writePosition = async (provider, mediaId, readingPositionWrite, options) => {
|
|
@@ -79,6 +86,23 @@ const writePosition = async (provider, mediaId, readingPositionWrite, options) =
|
|
|
79
86
|
body: JSON.stringify(readingPositionWrite)
|
|
80
87
|
});
|
|
81
88
|
};
|
|
89
|
+
const getOpenNativeReaderUrl = (provider, mediaId) => {
|
|
90
|
+
return `/partners/${provider}/media/${mediaId}/reader-auth`;
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* Authorize a YouScribe native title and open its consumption lease.
|
|
94
|
+
*
|
|
95
|
+
* Pass externalId and token to the YouScribe SDK. Mozaik requests keep using
|
|
96
|
+
* mediaId. Renew lease.eventId while the reader is open and close it when the
|
|
97
|
+
* reader exits; reopening the same title reuses its active lease.
|
|
98
|
+
* @summary Open Native Reader
|
|
99
|
+
*/
|
|
100
|
+
const openNativeReader = async (provider, mediaId, options) => {
|
|
101
|
+
return request(getOpenNativeReaderUrl(provider, mediaId), {
|
|
102
|
+
...options,
|
|
103
|
+
method: "POST"
|
|
104
|
+
});
|
|
105
|
+
};
|
|
82
106
|
const getListCurrentReadingsUrl = (provider) => {
|
|
83
107
|
return `/partners/${provider}/readings`;
|
|
84
108
|
};
|
|
@@ -97,7 +121,25 @@ const listCurrentReadings = async (provider, options) => {
|
|
|
97
121
|
method: "GET"
|
|
98
122
|
});
|
|
99
123
|
};
|
|
124
|
+
const getReadNativeAuthUrl = (provider) => {
|
|
125
|
+
return `/partners/${provider}/user/auth`;
|
|
126
|
+
};
|
|
127
|
+
/**
|
|
128
|
+
* YouScribe native SDK credentials for the selected, authorized profile.
|
|
129
|
+
*
|
|
130
|
+
* Equivalent to the legacy YouScribe user/auth endpoint. This does not create
|
|
131
|
+
* a licence or a consumption event. Open a title through its reader-auth POST
|
|
132
|
+
* to obtain the lease used for consumption heartbeats. The token is personal:
|
|
133
|
+
* never persist it, log it, or share it between profiles.
|
|
134
|
+
* @summary Read Native Auth
|
|
135
|
+
*/
|
|
136
|
+
const readNativeAuth = async (provider, options) => {
|
|
137
|
+
return request(getReadNativeAuthUrl(provider), {
|
|
138
|
+
...options,
|
|
139
|
+
method: "GET"
|
|
140
|
+
});
|
|
141
|
+
};
|
|
100
142
|
//#endregion
|
|
101
|
-
export { getListCurrentReadingsUrl, getReadPackageUrl, getReadPositionUrl, getWritePositionUrl, listCurrentReadings, readPackage, readPosition, writePosition };
|
|
143
|
+
export { getListCurrentReadingsUrl, getOpenNativeReaderUrl, getReadNativeAuthUrl, getReadPackageUrl, getReadPositionUrl, getWritePositionUrl, listCurrentReadings, openNativeReader, readNativeAuth, readPackage, readPosition, writePosition };
|
|
102
144
|
|
|
103
145
|
//# sourceMappingURL=partner-reader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"partner-reader.js","names":[],"sources":["../../src/api/partner-reader/partner-reader.ts"],"sourcesContent":["/**\n * Generated by orval 🍺\n * Do not edit manually.\n * Mozaik backend\n * Four products behind one API — Biblio, Médiathèques, the partner catalogues (Nextory and YouScribe) and Prof Express. Authentication is Keycloak SSO only, once, for all of them: see the **auth** section below for the browser flow and the three failure modes.\n * OpenAPI spec version: 0.
|
|
1
|
+
{"version":3,"file":"partner-reader.js","names":[],"sources":["../../src/api/partner-reader/partner-reader.ts"],"sourcesContent":["/**\n * Generated by orval 🍺\n * Do not edit manually.\n * Mozaik backend\n * Four products behind one API — Biblio, Médiathèques, the partner catalogues (Nextory and YouScribe) and Prof Express. Authentication is Keycloak SSO only, once, for all of them: see the **auth** section below for the browser flow and the three failure modes.\n * OpenAPI spec version: 0.9.1\n */\nimport type {\n CurrentReadingListRead,\n PartnerProvider,\n ReadPackageParams,\n ReaderPackageRead,\n ReadingPositionRead,\n ReadingPositionWrite,\n YouScribeAuthRead,\n YouScribeReaderRead\n} from '../../models';\n\nimport { request } from '../../client';\n\nexport const getReadPackageUrl = (provider: PartnerProvider,\n mediaId: number,\n params?: ReadPackageParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/partners/${provider}/media/${mediaId}/package?${stringifiedParams}` : `/partners/${provider}/media/${mediaId}/package`\n}\n\n/**\n * Where to fetch the content itself.\n *\n * The returned URL is a short-lived DRM-wrapped credential. It is not cached\n * here and should not be stored by the client.\n *\n * Opens a consumption lease, so the read appears in the ledger and counts\n * against the establishment's live seats like any other. Its id comes back in\n * ``lease``: keep it alive with ``PUT /consumption/{eventId}`` and drop it with\n * ``DELETE`` when the reader closes. A client that does neither is not broken\n * — the reaper closes the lease about a minute after the last heartbeat — but\n * every such read is a seat held past the end of it.\n *\n * Re-opening the same title returns the lease already held rather than a\n * second one, so a page reload does not leak a seat.\n * @summary Read Package\n */\nexport const readPackage = async (provider: PartnerProvider,\n mediaId: number,\n params?: ReadPackageParams, options?: Parameters<typeof request>[1]): Promise<ReaderPackageRead> => {\n\n return request<ReaderPackageRead>(getReadPackageUrl(provider,mediaId,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getReadPositionUrl = (provider: PartnerProvider,\n mediaId: number,) => {\n\n\n\n\n return `/partners/${provider}/media/${mediaId}/position`\n}\n\n/**\n * The last synchronized local position, or the partner's when none is saved.\n *\n * ``404`` when the partner holds no position — a book never opened has no\n * place to return to, and reporting zero would make a client jump a reader who\n * *is* mid-book back to the start if the call ever failed soft.\n * @summary Read Position\n */\nexport const readPosition = async (provider: PartnerProvider,\n mediaId: number, options?: Parameters<typeof request>[1]): Promise<ReadingPositionRead> => {\n\n return request<ReadingPositionRead>(getReadPositionUrl(provider,mediaId),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getWritePositionUrl = (provider: PartnerProvider,\n mediaId: number,) => {\n\n\n\n\n return `/partners/${provider}/media/${mediaId}/position`\n}\n\n/**\n * Synchronize and save progress, with the partner's metering alongside it.\n *\n * ``usage_blocks`` is forwarded before a new position, matching the legacy's\n * call order. The two reports are independent: an older position may carry\n * usage the partner has not received yet.\n *\n * Only a strictly newer ``reachedAt`` replaces the saved position. Stale or\n * duplicate writes return that saved position without updating it upstream.\n * Provided usage blocks are still forwarded, including on retries; the\n * partner's deduplication contract is unknown. Conflicting positions at the\n * same instant return 409 before any outbound write.\n * Progress is a resume point, not a measurement of time spent reading.\n * @summary Write Position\n */\nexport const writePosition = async (provider: PartnerProvider,\n mediaId: number,\n readingPositionWrite: ReadingPositionWrite, options?: Parameters<typeof request>[1]): Promise<ReadingPositionRead> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Symbol.iterator in h) {\n return Object.fromEntries(\n Array.from(h as Iterable<Iterable<string>>, (entry) => Array.from(entry) as [string, string]),\n );\n }\n const headers: Record<string, string | readonly string[]> = {};\n for (const [name, value] of Object.entries<string | readonly string[] | undefined>(h)) {\n if (value !== undefined) headers[name] = value;\n }\n return headers;\n };\nreturn request<ReadingPositionRead>(getWritePositionUrl(provider,mediaId),\n {\n ...options,\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(readingPositionWrite)\n }\n);}\n\n\nexport const getOpenNativeReaderUrl = (provider: PartnerProvider,\n mediaId: number,) => {\n\n\n\n\n return `/partners/${provider}/media/${mediaId}/reader-auth`\n}\n\n/**\n * Authorize a YouScribe native title and open its consumption lease.\n *\n * Pass externalId and token to the YouScribe SDK. Mozaik requests keep using\n * mediaId. Renew lease.eventId while the reader is open and close it when the\n * reader exits; reopening the same title reuses its active lease.\n * @summary Open Native Reader\n */\nexport const openNativeReader = async (provider: PartnerProvider,\n mediaId: number, options?: Parameters<typeof request>[1]): Promise<YouScribeReaderRead> => {\n\n return request<YouScribeReaderRead>(getOpenNativeReaderUrl(provider,mediaId),\n {\n ...options,\n method: 'POST'\n\n\n }\n);}\n\n\nexport const getListCurrentReadingsUrl = (provider: PartnerProvider,) => {\n\n\n\n\n return `/partners/${provider}/readings`\n}\n\n/**\n * The partner's own \"continue reading\" list, joined back to our catalogue.\n *\n * Entries the partner knows and our catalogue does not are dropped rather than\n * surfaced with a null id: the import runs nightly and the partner's list is\n * live, so a title added today is genuinely not browsable here yet, and a card\n * that cannot be opened is worse than one that is absent.\n * @summary List Current Readings\n */\nexport const listCurrentReadings = async (provider: PartnerProvider, options?: Parameters<typeof request>[1]): Promise<CurrentReadingListRead> => {\n\n return request<CurrentReadingListRead>(getListCurrentReadingsUrl(provider),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getReadNativeAuthUrl = (provider: PartnerProvider,) => {\n\n\n\n\n return `/partners/${provider}/user/auth`\n}\n\n/**\n * YouScribe native SDK credentials for the selected, authorized profile.\n *\n * Equivalent to the legacy YouScribe user/auth endpoint. This does not create\n * a licence or a consumption event. Open a title through its reader-auth POST\n * to obtain the lease used for consumption heartbeats. The token is personal:\n * never persist it, log it, or share it between profiles.\n * @summary Read Native Auth\n */\nexport const readNativeAuth = async (provider: PartnerProvider, options?: Parameters<typeof request>[1]): Promise<YouScribeAuthRead> => {\n\n return request<YouScribeAuthRead>(getReadNativeAuthUrl(provider),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n"],"mappings":";;;AAoBA,MAAa,qBAAqB,UAC9B,SACA,WAAgC;CAClC,MAAM,mBAAmB,IAAI,gBAAgB;CAE7C,OAAO,QAAQ,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,WAAW;EAErD,IAAI,UAAU,KAAA,GACZ,iBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;CAExE,CAAC;CAED,MAAM,oBAAoB,iBAAiB,SAAS;CAEpD,OAAO,kBAAkB,SAAS,IAAI,aAAa,SAAS,SAAS,QAAQ,WAAW,sBAAsB,aAAa,SAAS,SAAS,QAAQ;AACvJ;;;;;;;;;;;;;;;;;;AAmBA,MAAa,cAAc,OAAO,UAC9B,SACA,QAA4B,YAAwE;CAEtG,OAAO,QAA2B,kBAAkB,UAAS,SAAQ,MAAM,GAC3E;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,sBAAsB,UAC/B,YAAqB;CAKvB,OAAO,aAAa,SAAS,SAAS,QAAQ;AAChD;;;;;;;;;AAUA,MAAa,eAAe,OAAO,UAC/B,SAAiB,YAA0E;CAE7F,OAAO,QAA6B,mBAAmB,UAAS,OAAO,GACvE;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,uBAAuB,UAChC,YAAqB;CAKvB,OAAO,aAAa,SAAS,SAAS,QAAQ;AAChD;;;;;;;;;;;;;;;;AAiBA,MAAa,gBAAgB,OAAO,UAChC,SACA,sBAA4C,YAA0E;CAEtH,MAAM,cAAc,MAAwF;EAC5G,IAAI,CAAC,GAAG,OAAO,CAAC;EAChB,IAAI,aAAa,SAAS,OAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;EAC/D,IAAI,OAAO,YAAY,GACrB,OAAO,OAAO,YACZ,MAAM,KAAK,IAAkC,UAAU,MAAM,KAAK,KAAK,CAAqB,CAC9F;EAEF,MAAM,UAAsD,CAAC;EAC7D,KAAK,MAAM,CAAC,MAAM,UAAU,OAAO,QAAgD,CAAC,GAClF,IAAI,UAAU,KAAA,GAAW,QAAQ,QAAQ;EAE3C,OAAO;CACT;CACF,OAAO,QAA6B,oBAAoB,UAAS,OAAO,GACtE;EACE,GAAG;EACH,QAAQ;EACR,SAAS;GAAE,gBAAgB;GAAoB,GAAG,WAAW,SAAS,OAAO;EAAE;EAC/E,MAAM,KAAK,UAAU,oBAAoB;CAC3C,CACF;AAAE;AAGF,MAAa,0BAA0B,UACnC,YAAqB;CAKvB,OAAO,aAAa,SAAS,SAAS,QAAQ;AAChD;;;;;;;;;AAUA,MAAa,mBAAmB,OAAO,UACnC,SAAiB,YAA0E;CAE7F,OAAO,QAA6B,uBAAuB,UAAS,OAAO,GAC3E;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,6BAA6B,aAA+B;CAKvE,OAAO,aAAa,SAAS;AAC/B;;;;;;;;;;AAWA,MAAa,sBAAsB,OAAO,UAA2B,YAA6E;CAEhJ,OAAO,QAAgC,0BAA0B,QAAQ,GACzE;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,wBAAwB,aAA+B;CAKlE,OAAO,aAAa,SAAS;AAC/B;;;;;;;;;;AAWA,MAAa,iBAAiB,OAAO,UAA2B,YAAwE;CAEtI,OAAO,QAA2B,qBAAqB,QAAQ,GAC/D;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE"}
|
package/dist/api/profiles.d.ts
CHANGED
|
@@ -1,64 +1,117 @@
|
|
|
1
1
|
|
|
2
|
-
import {
|
|
2
|
+
import { At as ProfileUpdateWrite, Fr as IndependentInvitationWrite, Ft as ProfileRead, Mt as ProfileSessionRead, Pn as OpenChildProfileWrite, Pt as ProfileListRead, Rt as ProfileCreateWrite, _i as GuardianPinWrite, ci as HouseholdGuardianListRead, ii as HouseholdInvitationRead, ji as ExitChildProfileWrite, ni as HouseholdInvitationWrite, oi as HouseholdInvitationAcceptWrite, ri as HouseholdInvitationListRead, si as HouseholdGuardianWrite, vi as GuardianPinResetWrite, yi as GuardianPinResetRead } from "../chunks/index.js";
|
|
3
3
|
import { c as request } from "../chunks/client.js";
|
|
4
4
|
//#region src/api/profiles/profiles.d.ts
|
|
5
|
+
export declare const getSetPinUrl: () => string;
|
|
6
|
+
/**
|
|
7
|
+
* @summary Set Pin
|
|
8
|
+
*/
|
|
9
|
+
export declare const setPin: (guardianPinWrite: GuardianPinWrite, options?: Parameters<typeof request>[1]) => Promise<void>;
|
|
10
|
+
export declare const getRequestResetUrl: () => string;
|
|
11
|
+
/**
|
|
12
|
+
* @summary Request Reset
|
|
13
|
+
*/
|
|
14
|
+
export declare const requestReset: (options?: Parameters<typeof request>[1]) => Promise<GuardianPinResetRead>;
|
|
15
|
+
export declare const getConfirmResetUrl: () => string;
|
|
16
|
+
/**
|
|
17
|
+
* @summary Confirm Reset
|
|
18
|
+
*/
|
|
19
|
+
export declare const confirmReset: (guardianPinResetWrite: GuardianPinResetWrite, options?: Parameters<typeof request>[1]) => Promise<void>;
|
|
20
|
+
export declare const getProfileSessionUrl: () => string;
|
|
21
|
+
/**
|
|
22
|
+
* @summary Profile Session
|
|
23
|
+
*/
|
|
24
|
+
export declare const profileSession: (options?: Parameters<typeof request>[1]) => Promise<ProfileSessionRead>;
|
|
25
|
+
export declare const getOpenChildUrl: () => string;
|
|
26
|
+
/**
|
|
27
|
+
* @summary Open Child
|
|
28
|
+
*/
|
|
29
|
+
export declare const openChild: (openChildProfileWrite: OpenChildProfileWrite, options?: Parameters<typeof request>[1]) => Promise<ProfileSessionRead>;
|
|
30
|
+
export declare const getExitChildUrl: () => string;
|
|
31
|
+
/**
|
|
32
|
+
* @summary Exit Child
|
|
33
|
+
*/
|
|
34
|
+
export declare const exitChild: (exitChildProfileWrite: ExitChildProfileWrite, options?: Parameters<typeof request>[1]) => Promise<ProfileSessionRead>;
|
|
5
35
|
export declare const getListProfilesUrl: () => string;
|
|
6
36
|
/**
|
|
7
|
-
*
|
|
37
|
+
* Holder sees household cards; another adult sees self and supervised children.
|
|
8
38
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* differently — the difference was presentation, which is the client's problem.
|
|
39
|
+
* Cards never grant the right to open another adult's profile. Expired pending
|
|
40
|
+
* invitations remain manageable but no longer reserve capacity.
|
|
12
41
|
* @summary List Profiles
|
|
13
42
|
*/
|
|
14
43
|
export declare const listProfiles: (options?: Parameters<typeof request>[1]) => Promise<ProfileListRead>;
|
|
15
44
|
export declare const getCreateProfileUrl: () => string;
|
|
16
45
|
/**
|
|
17
|
-
* Add a profile to this account (E21).
|
|
18
|
-
*
|
|
19
|
-
* The new row inherits ``tenant_id`` from the holder rather than accepting one:
|
|
20
|
-
* a profile belongs to the same company as the account it hangs off, and
|
|
21
|
-
* letting that be supplied would be a way into another tenant.
|
|
22
|
-
*
|
|
23
|
-
* A profile has no credential of its own. It has no ``login``, no ``email`` and
|
|
24
|
-
* no password — it is reached by switching within an authenticated session, so
|
|
25
|
-
* there is nothing for it to authenticate *with*.
|
|
26
46
|
* @summary Create Profile
|
|
27
47
|
*/
|
|
28
48
|
export declare const createProfile: (profileCreateWrite: ProfileCreateWrite, options?: Parameters<typeof request>[1]) => Promise<ProfileRead>;
|
|
49
|
+
export declare const getGuardianCandidatesUrl: () => string;
|
|
50
|
+
/**
|
|
51
|
+
* @summary Guardian Candidates
|
|
52
|
+
*/
|
|
53
|
+
export declare const guardianCandidates: (options?: Parameters<typeof request>[1]) => Promise<HouseholdGuardianListRead>;
|
|
54
|
+
export declare const getListInvitationsUrl: () => string;
|
|
55
|
+
/**
|
|
56
|
+
* @summary List Invitations
|
|
57
|
+
*/
|
|
58
|
+
export declare const listInvitations: (options?: Parameters<typeof request>[1]) => Promise<HouseholdInvitationListRead>;
|
|
59
|
+
export declare const getInviteAdultUrl: () => string;
|
|
60
|
+
/**
|
|
61
|
+
* @summary Invite Adult
|
|
62
|
+
*/
|
|
63
|
+
export declare const inviteAdult: (householdInvitationWrite: HouseholdInvitationWrite, options?: Parameters<typeof request>[1]) => Promise<HouseholdInvitationRead>;
|
|
64
|
+
export declare const getAcceptInvitationUrl: () => string;
|
|
65
|
+
/**
|
|
66
|
+
* Requires a verified login email; never creates an unrelated root account.
|
|
67
|
+
* @summary Accept Invitation
|
|
68
|
+
*/
|
|
69
|
+
export declare const acceptInvitation: (householdInvitationAcceptWrite: HouseholdInvitationAcceptWrite, options?: Parameters<typeof request>[1]) => Promise<ProfileRead>;
|
|
70
|
+
export declare const getRevokeInvitationUrl: (invitationId: number) => string;
|
|
71
|
+
/**
|
|
72
|
+
* @summary Revoke Invitation
|
|
73
|
+
*/
|
|
74
|
+
export declare const revokeInvitation: (invitationId: number, options?: Parameters<typeof request>[1]) => Promise<void>;
|
|
75
|
+
export declare const getResendInvitationUrl: (invitationId: number) => string;
|
|
76
|
+
/**
|
|
77
|
+
* @summary Resend Invitation
|
|
78
|
+
*/
|
|
79
|
+
export declare const resendInvitation: (invitationId: number, options?: Parameters<typeof request>[1]) => Promise<HouseholdInvitationRead>;
|
|
29
80
|
export declare const getDeleteProfileUrl: (profileId: number) => string;
|
|
30
81
|
/**
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* Deleting a profile that is already gone is ``204``, not ``404``: the caller
|
|
34
|
-
* asked for it to be absent and it is absent. A retried delete after a timeout
|
|
35
|
-
* must not read as a failure.
|
|
36
|
-
*
|
|
37
|
-
* The account holder cannot be deleted this way — that is E17, which anonymises
|
|
38
|
-
* the whole account and is a different decision with different consequences.
|
|
82
|
+
* Deactivate membership without discarding profile history or its ancestry.
|
|
39
83
|
* @summary Delete Profile
|
|
40
84
|
*/
|
|
41
85
|
export declare const deleteProfile: (profileId: number, options?: Parameters<typeof request>[1]) => Promise<void>;
|
|
42
86
|
export declare const getReadProfileUrl: (profileId: number) => string;
|
|
43
87
|
/**
|
|
44
|
-
* One profile (E22). Returns the resource; the legacy rendered an edit form.
|
|
45
88
|
* @summary Read Profile
|
|
46
89
|
*/
|
|
47
90
|
export declare const readProfile: (profileId: number, options?: Parameters<typeof request>[1]) => Promise<ProfileRead>;
|
|
48
91
|
export declare const getUpdateProfileUrl: (profileId: number) => string;
|
|
49
92
|
/**
|
|
50
|
-
* Partially update a profile (E23).
|
|
51
|
-
*
|
|
52
|
-
* The target comes from the path and the row is re-read from the database
|
|
53
|
-
* before anything is written, so nothing in the body can retarget the write.
|
|
54
|
-
* That is the one habit worth keeping from the legacy handler, which overwrote
|
|
55
|
-
* the identity fields from the trusted record for exactly this reason.
|
|
56
|
-
*
|
|
57
|
-
* ``exclude_unset`` is what makes this a PATCH rather than a PUT wearing the
|
|
58
|
-
* wrong verb: a field the client did not send is untouched, which is not the
|
|
59
|
-
* same as a field it sent as null.
|
|
60
93
|
* @summary Update Profile
|
|
61
94
|
*/
|
|
62
95
|
export declare const updateProfile: (profileId: number, profileUpdateWrite: ProfileUpdateWrite, options?: Parameters<typeof request>[1]) => Promise<ProfileRead>;
|
|
96
|
+
export declare const getListGuardiansUrl: (profileId: number) => string;
|
|
97
|
+
/**
|
|
98
|
+
* @summary List Guardians
|
|
99
|
+
*/
|
|
100
|
+
export declare const listGuardians: (profileId: number, options?: Parameters<typeof request>[1]) => Promise<HouseholdGuardianListRead>;
|
|
101
|
+
export declare const getAddGuardianUrl: (profileId: number) => string;
|
|
102
|
+
/**
|
|
103
|
+
* @summary Add Guardian
|
|
104
|
+
*/
|
|
105
|
+
export declare const addGuardian: (profileId: number, householdGuardianWrite: HouseholdGuardianWrite, options?: Parameters<typeof request>[1]) => Promise<HouseholdGuardianListRead>;
|
|
106
|
+
export declare const getRemoveGuardianUrl: (profileId: number, adultId: number) => string;
|
|
107
|
+
/**
|
|
108
|
+
* @summary Remove Guardian
|
|
109
|
+
*/
|
|
110
|
+
export declare const removeGuardian: (profileId: number, adultId: number, options?: Parameters<typeof request>[1]) => Promise<void>;
|
|
111
|
+
export declare const getInviteIndependentMinorUrl: (profileId: number) => string;
|
|
112
|
+
/**
|
|
113
|
+
* @summary Invite Independent Minor
|
|
114
|
+
*/
|
|
115
|
+
export declare const inviteIndependentMinor: (profileId: number, independentInvitationWrite: IndependentInvitationWrite, options?: Parameters<typeof request>[1]) => Promise<HouseholdInvitationRead>;
|
|
63
116
|
//#endregion
|
|
64
117
|
//# sourceMappingURL=profiles.d.ts.map
|