@learnorama/mozaik-sdk 0.5.0-staging.22.1 → 0.7.0-staging.26.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.
Files changed (189) hide show
  1. package/README.md +37 -0
  2. package/dist/api/account.d.ts +1 -1
  3. package/dist/api/account.js.map +1 -1
  4. package/dist/api/admin-catalogue.d.ts +1 -1
  5. package/dist/api/admin-catalogue.js.map +1 -1
  6. package/dist/api/admin-consumption.d.ts +1 -1
  7. package/dist/api/admin-consumption.js.map +1 -1
  8. package/dist/api/admin-desk.d.ts +282 -0
  9. package/dist/api/admin-desk.js +913 -0
  10. package/dist/api/admin-desk.js.map +1 -0
  11. package/dist/api/admin-licenses.js.map +1 -1
  12. package/dist/api/admin-patrons.d.ts +1 -1
  13. package/dist/api/admin-patrons.js.map +1 -1
  14. package/dist/api/admin-reviews.d.ts +1 -1
  15. package/dist/api/admin-reviews.js.map +1 -1
  16. package/dist/api/admin-roles.js.map +1 -1
  17. package/dist/api/admin-support.d.ts +1 -1
  18. package/dist/api/admin-support.js.map +1 -1
  19. package/dist/api/admin-tenants.js.map +1 -1
  20. package/dist/api/admin-tutoring.d.ts +1 -1
  21. package/dist/api/admin-tutoring.js.map +1 -1
  22. package/dist/api/auth.d.ts +7 -3
  23. package/dist/api/auth.js +6 -2
  24. package/dist/api/auth.js.map +1 -1
  25. package/dist/api/biblio-catalogue.d.ts +1 -1
  26. package/dist/api/biblio-catalogue.js.map +1 -1
  27. package/dist/api/biblio-home.d.ts +1 -1
  28. package/dist/api/biblio-home.js.map +1 -1
  29. package/dist/api/biblio-library.d.ts +1 -1
  30. package/dist/api/biblio-library.js.map +1 -1
  31. package/dist/api/biblio-nextory.d.ts +1 -1
  32. package/dist/api/biblio-nextory.js.map +1 -1
  33. package/dist/api/biblio-press.d.ts +1 -1
  34. package/dist/api/biblio-press.js.map +1 -1
  35. package/dist/api/biblio-search.js.map +1 -1
  36. package/dist/api/biblio-telemetry.js.map +1 -1
  37. package/dist/api/consumption.d.ts +1 -1
  38. package/dist/api/consumption.js.map +1 -1
  39. package/dist/api/cvs-app.d.ts +1 -1
  40. package/dist/api/cvs-app.js.map +1 -1
  41. package/dist/api/cvs-documents.d.ts +1 -1
  42. package/dist/api/cvs-documents.js.map +1 -1
  43. package/dist/api/cvs-favorites.d.ts +1 -1
  44. package/dist/api/cvs-favorites.js.map +1 -1
  45. package/dist/api/cvs-ils.d.ts +1 -1
  46. package/dist/api/cvs-ils.js.map +1 -1
  47. package/dist/api/cvs-loans.d.ts +1 -1
  48. package/dist/api/cvs-loans.js.map +1 -1
  49. package/dist/api/cvs-payments.js.map +1 -1
  50. package/dist/api/cvs-streaming.js.map +1 -1
  51. package/dist/api/index.d.ts +2 -1
  52. package/dist/api/index.js +2 -1
  53. package/dist/api/partner-catalogue.d.ts +1 -1
  54. package/dist/api/partner-catalogue.js.map +1 -1
  55. package/dist/api/partner-reader.d.ts +1 -1
  56. package/dist/api/partner-reader.js.map +1 -1
  57. package/dist/api/profiles.js.map +1 -1
  58. package/dist/api/search.d.ts +1 -1
  59. package/dist/api/search.js.map +1 -1
  60. package/dist/api/tutoring-catalogue.d.ts +1 -1
  61. package/dist/api/tutoring-catalogue.js.map +1 -1
  62. package/dist/api/tutoring-chat.d.ts +1 -1
  63. package/dist/api/tutoring-chat.js.map +1 -1
  64. package/dist/api/tutoring-dispatch.d.ts +1 -1
  65. package/dist/api/tutoring-dispatch.js.map +1 -1
  66. package/dist/api/tutoring-practitioner.js.map +1 -1
  67. package/dist/api/tutoring-requests.d.ts +1 -1
  68. package/dist/api/tutoring-requests.js.map +1 -1
  69. package/dist/chunks/client2.d.ts +1 -1
  70. package/dist/chunks/connection.d.ts +1 -1
  71. package/dist/chunks/index.d.ts +2141 -382
  72. package/dist/index.d.ts +3 -3
  73. package/dist/index.js +3 -3
  74. package/dist/index.js.map +1 -1
  75. package/dist/models.d.ts +2 -2
  76. package/dist/models.js +72 -1
  77. package/dist/models.js.map +1 -1
  78. package/dist/react/account.d.ts +1 -1
  79. package/dist/react/account.js +1 -1
  80. package/dist/react/account.js.map +1 -1
  81. package/dist/react/admin-catalogue.d.ts +1 -1
  82. package/dist/react/admin-catalogue.js +1 -1
  83. package/dist/react/admin-catalogue.js.map +1 -1
  84. package/dist/react/admin-consumption.d.ts +1 -1
  85. package/dist/react/admin-consumption.js +1 -1
  86. package/dist/react/admin-consumption.js.map +1 -1
  87. package/dist/react/admin-desk.d.ts +1769 -0
  88. package/dist/react/admin-desk.js +2257 -0
  89. package/dist/react/admin-desk.js.map +1 -0
  90. package/dist/react/admin-licenses.d.ts +1 -1
  91. package/dist/react/admin-licenses.js +1 -1
  92. package/dist/react/admin-licenses.js.map +1 -1
  93. package/dist/react/admin-patrons.d.ts +1 -1
  94. package/dist/react/admin-patrons.js +1 -1
  95. package/dist/react/admin-patrons.js.map +1 -1
  96. package/dist/react/admin-reviews.d.ts +1 -1
  97. package/dist/react/admin-reviews.js +1 -1
  98. package/dist/react/admin-reviews.js.map +1 -1
  99. package/dist/react/admin-roles.d.ts +1 -1
  100. package/dist/react/admin-roles.js +1 -1
  101. package/dist/react/admin-roles.js.map +1 -1
  102. package/dist/react/admin-support.d.ts +1 -1
  103. package/dist/react/admin-support.js +1 -1
  104. package/dist/react/admin-support.js.map +1 -1
  105. package/dist/react/admin-tenants.d.ts +1 -1
  106. package/dist/react/admin-tenants.js +1 -1
  107. package/dist/react/admin-tenants.js.map +1 -1
  108. package/dist/react/admin-tutoring.d.ts +1 -1
  109. package/dist/react/admin-tutoring.js +1 -1
  110. package/dist/react/admin-tutoring.js.map +1 -1
  111. package/dist/react/auth.d.ts +7 -3
  112. package/dist/react/auth.js +7 -3
  113. package/dist/react/auth.js.map +1 -1
  114. package/dist/react/biblio-catalogue.d.ts +1 -1
  115. package/dist/react/biblio-catalogue.js +1 -1
  116. package/dist/react/biblio-catalogue.js.map +1 -1
  117. package/dist/react/biblio-home.d.ts +1 -1
  118. package/dist/react/biblio-home.js +1 -1
  119. package/dist/react/biblio-home.js.map +1 -1
  120. package/dist/react/biblio-library.d.ts +1 -1
  121. package/dist/react/biblio-library.js +1 -1
  122. package/dist/react/biblio-library.js.map +1 -1
  123. package/dist/react/biblio-nextory.d.ts +1 -1
  124. package/dist/react/biblio-nextory.js +1 -1
  125. package/dist/react/biblio-nextory.js.map +1 -1
  126. package/dist/react/biblio-press.d.ts +1 -1
  127. package/dist/react/biblio-press.js +1 -1
  128. package/dist/react/biblio-press.js.map +1 -1
  129. package/dist/react/biblio-search.d.ts +1 -1
  130. package/dist/react/biblio-search.js +1 -1
  131. package/dist/react/biblio-search.js.map +1 -1
  132. package/dist/react/biblio-telemetry.d.ts +1 -1
  133. package/dist/react/biblio-telemetry.js +1 -1
  134. package/dist/react/biblio-telemetry.js.map +1 -1
  135. package/dist/react/chat.d.ts +1 -1
  136. package/dist/react/consumption.d.ts +1 -1
  137. package/dist/react/consumption.js +1 -1
  138. package/dist/react/consumption.js.map +1 -1
  139. package/dist/react/cvs-app.d.ts +1 -1
  140. package/dist/react/cvs-app.js +1 -1
  141. package/dist/react/cvs-app.js.map +1 -1
  142. package/dist/react/cvs-documents.d.ts +1 -1
  143. package/dist/react/cvs-documents.js +1 -1
  144. package/dist/react/cvs-documents.js.map +1 -1
  145. package/dist/react/cvs-favorites.d.ts +1 -1
  146. package/dist/react/cvs-favorites.js +1 -1
  147. package/dist/react/cvs-favorites.js.map +1 -1
  148. package/dist/react/cvs-ils.d.ts +1 -1
  149. package/dist/react/cvs-ils.js +1 -1
  150. package/dist/react/cvs-ils.js.map +1 -1
  151. package/dist/react/cvs-loans.d.ts +1 -1
  152. package/dist/react/cvs-loans.js +1 -1
  153. package/dist/react/cvs-loans.js.map +1 -1
  154. package/dist/react/cvs-payments.d.ts +1 -1
  155. package/dist/react/cvs-payments.js +1 -1
  156. package/dist/react/cvs-payments.js.map +1 -1
  157. package/dist/react/cvs-streaming.d.ts +1 -1
  158. package/dist/react/cvs-streaming.js +1 -1
  159. package/dist/react/cvs-streaming.js.map +1 -1
  160. package/dist/react/index.d.ts +2 -1
  161. package/dist/react/index.js +2 -1
  162. package/dist/react/partner-catalogue.d.ts +1 -1
  163. package/dist/react/partner-catalogue.js +1 -1
  164. package/dist/react/partner-catalogue.js.map +1 -1
  165. package/dist/react/partner-reader.d.ts +1 -1
  166. package/dist/react/partner-reader.js +1 -1
  167. package/dist/react/partner-reader.js.map +1 -1
  168. package/dist/react/profiles.d.ts +1 -1
  169. package/dist/react/profiles.js +1 -1
  170. package/dist/react/profiles.js.map +1 -1
  171. package/dist/react/search.d.ts +1 -1
  172. package/dist/react/search.js +1 -1
  173. package/dist/react/search.js.map +1 -1
  174. package/dist/react/tutoring-catalogue.d.ts +1 -1
  175. package/dist/react/tutoring-catalogue.js +1 -1
  176. package/dist/react/tutoring-catalogue.js.map +1 -1
  177. package/dist/react/tutoring-chat.d.ts +1 -1
  178. package/dist/react/tutoring-chat.js +1 -1
  179. package/dist/react/tutoring-chat.js.map +1 -1
  180. package/dist/react/tutoring-dispatch.d.ts +1 -1
  181. package/dist/react/tutoring-dispatch.js +1 -1
  182. package/dist/react/tutoring-dispatch.js.map +1 -1
  183. package/dist/react/tutoring-practitioner.d.ts +1 -1
  184. package/dist/react/tutoring-practitioner.js +1 -1
  185. package/dist/react/tutoring-practitioner.js.map +1 -1
  186. package/dist/react/tutoring-requests.d.ts +1 -1
  187. package/dist/react/tutoring-requests.js +1 -1
  188. package/dist/react/tutoring-requests.js.map +1 -1
  189. package/package.json +7 -7
package/README.md CHANGED
@@ -99,6 +99,43 @@ promise while leaving the application signed out. Tokens are attached through
99
99
  `auth.client`; its identity changes on login/logout and stays stable across
100
100
  refreshes. Old client instances reject requests after a session change.
101
101
 
102
+ ## Native mobile login
103
+
104
+ Native apps use the generated auth functions with `mozaik-mobile`. The browser
105
+ `createMozaikAuth` shortcut above uses HTTP(S) callbacks and browser tab storage.
106
+ The mobile callbacks are `mozaik://auth/callback` and
107
+ `co.mozaik.app://auth/callback`; the API and Keycloak both check them exactly.
108
+
109
+ ```ts
110
+ import { authorization, createSessionFromCode, refreshSession, deleteSession } from '@learnorama/mozaik-sdk/api/auth';
111
+
112
+ // Generate and retain state, nonce and a PKCE verifier in the native app.
113
+ // codeChallenge is base64url(SHA-256(codeVerifier)).
114
+ const login = await authorization({
115
+ client_id: 'mozaik-mobile',
116
+ redirect_uri: 'mozaik://auth/callback',
117
+ code_challenge: codeChallenge,
118
+ state,
119
+ nonce,
120
+ provider: 'google', // Workspace staff; use the partner alias for partner SSO.
121
+ }, { client });
122
+ // Open login.authorizationUrl in the system authentication browser.
123
+ // On the app callback, validate state and the expected issuer before exchanging.
124
+ const session = await createSessionFromCode({
125
+ clientId: 'mozaik-mobile',
126
+ redirectUri: 'mozaik://auth/callback',
127
+ code,
128
+ codeVerifier,
129
+ }, { client });
130
+ // Retain the same client ID for refresh and logout.
131
+ // refreshSession({ clientId: 'mozaik-mobile', refresh_token }, { client });
132
+ // deleteSession({ clientId: 'mozaik-mobile', refresh_token }, { client });
133
+ ```
134
+
135
+ Here `client` is a `createClient({ baseUrl })` transport. Store tokens using the
136
+ native platform's secure storage, and replace the refresh token after rotation.
137
+ Omitting the client ID selects `mozaik-web` for existing browser callers.
138
+
102
139
  ## React SSO shortcut
103
140
 
104
141
  `MozaikAuthProvider` supplies both authentication and its own TanStack Query
@@ -1,5 +1,5 @@
1
1
 
2
- import { Li as AccountUpdateWrite, U as ServiceListRead, zi as AccountDetailRead } from "../chunks/index.js";
2
+ import { U as ServiceListRead, is as AccountUpdateWrite, os as AccountDetailRead } from "../chunks/index.js";
3
3
  import { c as request } from "../chunks/client.js";
4
4
  //#region src/api/account/account.d.ts
5
5
  export declare const getDeleteAccountUrl: () => string;
@@ -1 +1 @@
1
- {"version":3,"file":"account.js","names":[],"sources":["../../src/api/account/account.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.5.0\n */\nimport type {\n AccountDetailRead,\n AccountUpdateWrite,\n ServiceListRead\n} from '../../models';\n\nimport { request } from '../../client';\n\nexport const getDeleteAccountUrl = () => {\n\n\n\n\n return `/me`\n}\n\n/**\n * Close the account (E17). Anonymises; does not erase.\n *\n * The spec asked for the password to be re-submitted. We do not hold one, and\n * assurance is the better guard anyway: a password check would have passed for a\n * session that arrived through a partner handing over a static key in a URL,\n * and ``RequireHighAssurance`` refuses exactly that. The legacy required no\n * confirmation of any kind and accepted the call from a sub-profile (defect D8).\n *\n * **What survives, and why.** The row stays, with identity cleared and\n * ``is_anonymous`` set. Consumption history, loans and billing records point at\n * this user, and deleting the row would either cascade them away — destroying\n * the library's statutory reporting — or orphan them. Clearing the identifying\n * columns satisfies erasure of personal data while leaving the countable facts\n * countable. The retained set is: which tenant, when they registered, and what\n * they consumed, with no name, login, email, birth date or member number.\n *\n * Sub-profiles go with the holder: they are people on the same membership and\n * cannot outlive it. Their rows are anonymised too, not deleted, for the same\n * reason.\n *\n * **The broker is disabled first, and a failure aborts the whole thing.** The\n * credential lives in Keycloak, so anonymising locally while leaving it enabled\n * would let the same person sign in tomorrow and be provisioned a fresh account\n * — erasure that erases nothing. Disabling before any local write means the\n * failure mode is \"nothing happened\", which is recoverable, rather than \"half\n * happened\", which is not.\n *\n * Still missing, and not safe to ship without: no audit record is written.\n * @summary Delete Account\n */\nexport const deleteAccount = async ( options?: Parameters<typeof request>[1]): Promise<void> => {\n\n return request<void>(getDeleteAccountUrl(),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n);}\n\n\nexport const getReadAccountUrl = () => {\n\n\n\n\n return `/me`\n}\n\n/**\n * The authenticated account (E15).\n *\n * No query, no join: ``CurrentUserDep`` has already resolved the row behind the\n * token. The endpoint the legacy should have had here has been returning ``500``\n * on every request for as long as anyone has looked (defect D1).\n * @summary Read Account\n */\nexport const readAccount = async ( options?: Parameters<typeof request>[1]): Promise<AccountDetailRead> => {\n\n return request<AccountDetailRead>(getReadAccountUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getUpdateAccountUrl = () => {\n\n\n\n\n return `/me`\n}\n\n/**\n * Partially update the account (E16).\n *\n * ``exclude_unset`` is what separates PATCH from PUT here: a field the client\n * omitted is left alone, which is not the same as a field it sent as null. The\n * response is built from the persisted row rather than the submitted body.\n * @summary Update Account\n */\nexport const updateAccount = async (accountUpdateWrite: AccountUpdateWrite, options?: Parameters<typeof request>[1]): Promise<AccountDetailRead> => {\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<AccountDetailRead>(getUpdateAccountUrl(),\n {\n ...options,\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(accountUpdateWrite)\n }\n);}\n\n\nexport const getListServicesUrl = () => {\n\n\n\n\n return `/me/services`\n}\n\n/**\n * Third-party services this account's establishment offers (E27).\n *\n * Under ``/me`` rather than ``/biblio/me`` because it is not a catalogue: these\n * are the establishment's own service tiles, and they belong to the tenant\n * whichever catalogue that tenant reads from. It is also the one place the\n * biblio spec describes something the *CVS* schema models, which is why it sat\n * in the wrong module until the prefixes made the mismatch visible.\n *\n * Date-windowed. A service outside its window is absent rather than disabled:\n * the client should not have to know the difference, and a visible dead link is\n * worse than no link.\n * @summary List Services\n */\nexport const listServices = async ( options?: Parameters<typeof request>[1]): Promise<ServiceListRead> => {\n\n return request<ServiceListRead>(getListServicesUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n"],"mappings":";;;AAeA,MAAa,4BAA4B;CAKvC,OAAO;AACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA,MAAa,gBAAgB,OAAQ,YAA2D;CAE9F,OAAO,QAAc,oBAAoB,GACzC;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,0BAA0B;CAKrC,OAAO;AACT;;;;;;;;;AAUA,MAAa,cAAc,OAAQ,YAAwE;CAEzG,OAAO,QAA2B,kBAAkB,GACpD;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,4BAA4B;CAKvC,OAAO;AACT;;;;;;;;;AAUA,MAAa,gBAAgB,OAAO,oBAAwC,YAAwE;CAEhJ,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,QAA2B,oBAAoB,GACpD;EACE,GAAG;EACH,QAAQ;EACR,SAAS;GAAE,gBAAgB;GAAoB,GAAG,WAAW,SAAS,OAAO;EAAE;EAC/E,MAAM,KAAK,UAAU,kBAAkB;CACzC,CACF;AAAE;AAGF,MAAa,2BAA2B;CAKtC,OAAO;AACT;;;;;;;;;;;;;;;AAgBA,MAAa,eAAe,OAAQ,YAAsE;CAExG,OAAO,QAAyB,mBAAmB,GACnD;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE"}
1
+ {"version":3,"file":"account.js","names":[],"sources":["../../src/api/account/account.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.7.0\n */\nimport type {\n AccountDetailRead,\n AccountUpdateWrite,\n ServiceListRead\n} from '../../models';\n\nimport { request } from '../../client';\n\nexport const getDeleteAccountUrl = () => {\n\n\n\n\n return `/me`\n}\n\n/**\n * Close the account (E17). Anonymises; does not erase.\n *\n * The spec asked for the password to be re-submitted. We do not hold one, and\n * assurance is the better guard anyway: a password check would have passed for a\n * session that arrived through a partner handing over a static key in a URL,\n * and ``RequireHighAssurance`` refuses exactly that. The legacy required no\n * confirmation of any kind and accepted the call from a sub-profile (defect D8).\n *\n * **What survives, and why.** The row stays, with identity cleared and\n * ``is_anonymous`` set. Consumption history, loans and billing records point at\n * this user, and deleting the row would either cascade them away — destroying\n * the library's statutory reporting — or orphan them. Clearing the identifying\n * columns satisfies erasure of personal data while leaving the countable facts\n * countable. The retained set is: which tenant, when they registered, and what\n * they consumed, with no name, login, email, birth date or member number.\n *\n * Sub-profiles go with the holder: they are people on the same membership and\n * cannot outlive it. Their rows are anonymised too, not deleted, for the same\n * reason.\n *\n * **The broker is disabled first, and a failure aborts the whole thing.** The\n * credential lives in Keycloak, so anonymising locally while leaving it enabled\n * would let the same person sign in tomorrow and be provisioned a fresh account\n * — erasure that erases nothing. Disabling before any local write means the\n * failure mode is \"nothing happened\", which is recoverable, rather than \"half\n * happened\", which is not.\n *\n * Still missing, and not safe to ship without: no audit record is written.\n * @summary Delete Account\n */\nexport const deleteAccount = async ( options?: Parameters<typeof request>[1]): Promise<void> => {\n\n return request<void>(getDeleteAccountUrl(),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n);}\n\n\nexport const getReadAccountUrl = () => {\n\n\n\n\n return `/me`\n}\n\n/**\n * The authenticated account (E15).\n *\n * No query, no join: ``CurrentUserDep`` has already resolved the row behind the\n * token. The endpoint the legacy should have had here has been returning ``500``\n * on every request for as long as anyone has looked (defect D1).\n * @summary Read Account\n */\nexport const readAccount = async ( options?: Parameters<typeof request>[1]): Promise<AccountDetailRead> => {\n\n return request<AccountDetailRead>(getReadAccountUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getUpdateAccountUrl = () => {\n\n\n\n\n return `/me`\n}\n\n/**\n * Partially update the account (E16).\n *\n * ``exclude_unset`` is what separates PATCH from PUT here: a field the client\n * omitted is left alone, which is not the same as a field it sent as null. The\n * response is built from the persisted row rather than the submitted body.\n * @summary Update Account\n */\nexport const updateAccount = async (accountUpdateWrite: AccountUpdateWrite, options?: Parameters<typeof request>[1]): Promise<AccountDetailRead> => {\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<AccountDetailRead>(getUpdateAccountUrl(),\n {\n ...options,\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(accountUpdateWrite)\n }\n);}\n\n\nexport const getListServicesUrl = () => {\n\n\n\n\n return `/me/services`\n}\n\n/**\n * Third-party services this account's establishment offers (E27).\n *\n * Under ``/me`` rather than ``/biblio/me`` because it is not a catalogue: these\n * are the establishment's own service tiles, and they belong to the tenant\n * whichever catalogue that tenant reads from. It is also the one place the\n * biblio spec describes something the *CVS* schema models, which is why it sat\n * in the wrong module until the prefixes made the mismatch visible.\n *\n * Date-windowed. A service outside its window is absent rather than disabled:\n * the client should not have to know the difference, and a visible dead link is\n * worse than no link.\n * @summary List Services\n */\nexport const listServices = async ( options?: Parameters<typeof request>[1]): Promise<ServiceListRead> => {\n\n return request<ServiceListRead>(getListServicesUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n"],"mappings":";;;AAeA,MAAa,4BAA4B;CAKvC,OAAO;AACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA,MAAa,gBAAgB,OAAQ,YAA2D;CAE9F,OAAO,QAAc,oBAAoB,GACzC;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,0BAA0B;CAKrC,OAAO;AACT;;;;;;;;;AAUA,MAAa,cAAc,OAAQ,YAAwE;CAEzG,OAAO,QAA2B,kBAAkB,GACpD;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,4BAA4B;CAKvC,OAAO;AACT;;;;;;;;;AAUA,MAAa,gBAAgB,OAAO,oBAAwC,YAAwE;CAEhJ,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,QAA2B,oBAAoB,GACpD;EACE,GAAG;EACH,QAAQ;EACR,SAAS;GAAE,gBAAgB;GAAoB,GAAG,WAAW,SAAS,OAAO;EAAE;EAC/E,MAAM,KAAK,UAAU,kBAAkB;CACzC,CACF;AAAE;AAGF,MAAa,2BAA2B;CAKtC,OAAO;AACT;;;;;;;;;;;;;;;AAgBA,MAAa,eAAe,OAAQ,YAAsE;CAExG,OAAO,QAAyB,mBAAmB,GACnD;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE"}
@@ -1,5 +1,5 @@
1
1
 
2
- import { C as ThemeWrite, E as ThemeRead, T as ThemeListRead, w as ThemeOrderWrite, xn as ListThemesParams } from "../chunks/index.js";
2
+ import { C as ThemeWrite, E as ThemeRead, T as ThemeListRead, w as ThemeOrderWrite, yn as ListThemesParams } from "../chunks/index.js";
3
3
  import { c as request } from "../chunks/client.js";
4
4
  //#region src/api/admin-catalogue/admin-catalogue.d.ts
5
5
  export declare const getListThemesUrl: (params?: ListThemesParams) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"admin-catalogue.js","names":[],"sources":["../../src/api/admin-catalogue/admin-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.5.0\n */\nimport type {\n ListThemesParams,\n ThemeListRead,\n ThemeOrderWrite,\n ThemeRead,\n ThemeWrite\n} from '../../models';\n\nimport { request } from '../../client';\n\nexport const getListThemesUrl = (params?: ListThemesParams,) => {\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 ? `/admin/themes?${stringifiedParams}` : `/admin/themes`\n}\n\n/**\n * Every theme, or one pillar's, in display order.\n *\n * Not paginated. There are 27 of them, and a client that has to page through\n * a list it is about to reorder cannot reorder it.\n * @summary List Themes\n */\nexport const listThemes = async (params?: ListThemesParams, options?: Parameters<typeof request>[1]): Promise<ThemeListRead> => {\n\n return request<ThemeListRead>(getListThemesUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getCreateThemeUrl = () => {\n\n\n\n\n return `/admin/themes`\n}\n\n/**\n * Add a theme.\n *\n * ``409`` on a duplicate ``(pillar, title)``: that pair is unique in the\n * schema, and two themes with the same name in the same pillar are\n * indistinguishable to everyone downstream.\n *\n * With no ``sortOrder`` it goes last, which is what the legacy's form does by\n * defaulting the field to the current maximum plus one.\n * @summary Create Theme\n */\nexport const createTheme = async (themeWrite: ThemeWrite, options?: Parameters<typeof request>[1]): Promise<ThemeRead> => {\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<ThemeRead>(getCreateThemeUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(themeWrite)\n }\n);}\n\n\nexport const getReorderThemesUrl = () => {\n\n\n\n\n return `/admin/themes/order`\n}\n\n/**\n * Set the display order for a set of themes, in one transaction.\n *\n * The legacy renumbers one theme per request, so dragging an item in a list of\n * thirty was thirty requests — and closing the tab halfway left the order\n * half-applied, with two themes claiming the same position and the listing\n * silently choosing between them.\n *\n * Ids not named keep their relative order after the ones that are, so a client\n * may send only what moved. An unknown id is ``404`` and nothing is written:\n * a partially applied reorder is the failure this endpoint exists to prevent.\n * @summary Reorder Themes\n */\nexport const reorderThemes = async (themeOrderWrite: ThemeOrderWrite, options?: Parameters<typeof request>[1]): Promise<void> => {\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<void>(getReorderThemesUrl(),\n {\n ...options,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(themeOrderWrite)\n }\n);}\n\n\nexport const getDeleteThemeUrl = (themeId: number,) => {\n\n\n\n\n return `/admin/themes/${themeId}`\n}\n\n/**\n * Remove a theme.\n *\n * ``409`` when works still carry it. The legacy deletes and leaves the\n * references dangling, which is how a catalogue ends up with items filed under\n * a theme that no longer exists and no screen that can find them.\n *\n * Idempotent otherwise: deleting something already gone is ``204``, because\n * the caller wanted it gone and it is gone.\n * @summary Delete Theme\n */\nexport const deleteTheme = async (themeId: number, options?: Parameters<typeof request>[1]): Promise<void> => {\n\n return request<void>(getDeleteThemeUrl(themeId),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n);}\n\n\nexport const getReadThemeUrl = (themeId: number,) => {\n\n\n\n\n return `/admin/themes/${themeId}`\n}\n\n/**\n * One theme.\n * @summary Read Theme\n */\nexport const readTheme = async (themeId: number, options?: Parameters<typeof request>[1]): Promise<ThemeRead> => {\n\n return request<ThemeRead>(getReadThemeUrl(themeId),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getAmendThemeUrl = (themeId: number,) => {\n\n\n\n\n return `/admin/themes/${themeId}`\n}\n\n/**\n * Amend a theme. Same uniqueness rule as creating one.\n * @summary Amend Theme\n */\nexport const amendTheme = async (themeId: number,\n themeWrite: ThemeWrite, options?: Parameters<typeof request>[1]): Promise<ThemeRead> => {\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<ThemeRead>(getAmendThemeUrl(themeId),\n {\n ...options,\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(themeWrite)\n }\n);}\n\n\n"],"mappings":"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"}
1
+ {"version":3,"file":"admin-catalogue.js","names":[],"sources":["../../src/api/admin-catalogue/admin-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.7.0\n */\nimport type {\n ListThemesParams,\n ThemeListRead,\n ThemeOrderWrite,\n ThemeRead,\n ThemeWrite\n} from '../../models';\n\nimport { request } from '../../client';\n\nexport const getListThemesUrl = (params?: ListThemesParams,) => {\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 ? `/admin/themes?${stringifiedParams}` : `/admin/themes`\n}\n\n/**\n * Every theme, or one pillar's, in display order.\n *\n * Not paginated. There are 27 of them, and a client that has to page through\n * a list it is about to reorder cannot reorder it.\n * @summary List Themes\n */\nexport const listThemes = async (params?: ListThemesParams, options?: Parameters<typeof request>[1]): Promise<ThemeListRead> => {\n\n return request<ThemeListRead>(getListThemesUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getCreateThemeUrl = () => {\n\n\n\n\n return `/admin/themes`\n}\n\n/**\n * Add a theme.\n *\n * ``409`` on a duplicate ``(pillar, title)``: that pair is unique in the\n * schema, and two themes with the same name in the same pillar are\n * indistinguishable to everyone downstream.\n *\n * With no ``sortOrder`` it goes last, which is what the legacy's form does by\n * defaulting the field to the current maximum plus one.\n * @summary Create Theme\n */\nexport const createTheme = async (themeWrite: ThemeWrite, options?: Parameters<typeof request>[1]): Promise<ThemeRead> => {\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<ThemeRead>(getCreateThemeUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(themeWrite)\n }\n);}\n\n\nexport const getReorderThemesUrl = () => {\n\n\n\n\n return `/admin/themes/order`\n}\n\n/**\n * Set the display order for a set of themes, in one transaction.\n *\n * The legacy renumbers one theme per request, so dragging an item in a list of\n * thirty was thirty requests — and closing the tab halfway left the order\n * half-applied, with two themes claiming the same position and the listing\n * silently choosing between them.\n *\n * Ids not named keep their relative order after the ones that are, so a client\n * may send only what moved. An unknown id is ``404`` and nothing is written:\n * a partially applied reorder is the failure this endpoint exists to prevent.\n * @summary Reorder Themes\n */\nexport const reorderThemes = async (themeOrderWrite: ThemeOrderWrite, options?: Parameters<typeof request>[1]): Promise<void> => {\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<void>(getReorderThemesUrl(),\n {\n ...options,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(themeOrderWrite)\n }\n);}\n\n\nexport const getDeleteThemeUrl = (themeId: number,) => {\n\n\n\n\n return `/admin/themes/${themeId}`\n}\n\n/**\n * Remove a theme.\n *\n * ``409`` when works still carry it. The legacy deletes and leaves the\n * references dangling, which is how a catalogue ends up with items filed under\n * a theme that no longer exists and no screen that can find them.\n *\n * Idempotent otherwise: deleting something already gone is ``204``, because\n * the caller wanted it gone and it is gone.\n * @summary Delete Theme\n */\nexport const deleteTheme = async (themeId: number, options?: Parameters<typeof request>[1]): Promise<void> => {\n\n return request<void>(getDeleteThemeUrl(themeId),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n);}\n\n\nexport const getReadThemeUrl = (themeId: number,) => {\n\n\n\n\n return `/admin/themes/${themeId}`\n}\n\n/**\n * One theme.\n * @summary Read Theme\n */\nexport const readTheme = async (themeId: number, options?: Parameters<typeof request>[1]): Promise<ThemeRead> => {\n\n return request<ThemeRead>(getReadThemeUrl(themeId),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getAmendThemeUrl = (themeId: number,) => {\n\n\n\n\n return `/admin/themes/${themeId}`\n}\n\n/**\n * Amend a theme. Same uniqueness rule as creating one.\n * @summary Amend Theme\n */\nexport const amendTheme = async (themeId: number,\n themeWrite: ThemeWrite, options?: Parameters<typeof request>[1]): Promise<ThemeRead> => {\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<ThemeRead>(getAmendThemeUrl(themeId),\n {\n ...options,\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(themeWrite)\n }\n);}\n\n\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
 
2
- import { er as LeaseCloseWrite, vn as LiveLeaseListRead } from "../chunks/index.js";
2
+ import { _n as LiveLeaseListRead, qn as LeaseCloseWrite } from "../chunks/index.js";
3
3
  import { c as request } from "../chunks/client.js";
4
4
  //#region src/api/admin-consumption/admin-consumption.d.ts
5
5
  export declare const getListLiveLeasesUrl: () => string;
@@ -1 +1 @@
1
- {"version":3,"file":"admin-consumption.js","names":[],"sources":["../../src/api/admin-consumption/admin-consumption.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.5.0\n */\nimport type {\n LeaseCloseWrite,\n LiveLeaseListRead\n} from '../../models';\n\nimport { request } from '../../client';\n\nexport const getListLiveLeasesUrl = () => {\n\n\n\n\n return `/admin/consumption/live`\n}\n\n/**\n * What is open right now, within the caller's tenant scope.\n *\n * Read from the ledger rather than the Redis live set: this is a diagnostic and\n * must show the truth even when the cache is cold, and it runs once when\n * somebody opens a screen rather than on every read.\n *\n * Shares :func:`~app.services.entitlement.is_live` with the two seat counts.\n * An earlier version of this route filtered on ``returned_at`` alone and so\n * listed every lapsed-but-unreaped lease as live — which made the screen look\n * exactly like a stuck reaper even when the reaper was fine.\n * @summary List Live Leases\n */\nexport const listLiveLeases = async ( options?: Parameters<typeof request>[1]): Promise<LiveLeaseListRead> => {\n\n return request<LiveLeaseListRead>(getListLiveLeasesUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getForceCloseLeaseUrl = (eventId: number,) => {\n\n\n\n\n return `/admin/consumption/${eventId}`\n}\n\n/**\n * Force-close somebody else's lease. The legacy's ``FermeSessionAdherent``.\n *\n * Audited, which the legacy's was not: a button that ends a stranger's reading\n * session and leaves no trace is indistinguishable from abuse of the same\n * button. Tenant-scoped like every staff action, so a lease outside the\n * caller's scope is ``404`` rather than ``403``.\n * @summary Force Close Lease\n */\nexport const forceCloseLease = async (eventId: number,\n leaseCloseWrite: LeaseCloseWrite, options?: Parameters<typeof request>[1]): Promise<void> => {\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<void>(getForceCloseLeaseUrl(eventId),\n {\n ...options,\n method: 'DELETE',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(leaseCloseWrite)\n }\n);}\n\n\n"],"mappings":";;;AAcA,MAAa,6BAA6B;CAKxC,OAAO;AACT;;;;;;;;;;;;;;AAeA,MAAa,iBAAiB,OAAQ,YAAwE;CAE5G,OAAO,QAA2B,qBAAqB,GACvD;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,yBAAyB,YAAqB;CAKzD,OAAO,sBAAsB;AAC/B;;;;;;;;;;AAWA,MAAa,kBAAkB,OAAO,SAClC,iBAAkC,YAA2D;CAE7F,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,QAAc,sBAAsB,OAAO,GAChD;EACE,GAAG;EACH,QAAQ;EACR,SAAS;GAAE,gBAAgB;GAAoB,GAAG,WAAW,SAAS,OAAO;EAAE;EAC/E,MAAM,KAAK,UAAU,eAAe;CACtC,CACF;AAAE"}
1
+ {"version":3,"file":"admin-consumption.js","names":[],"sources":["../../src/api/admin-consumption/admin-consumption.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.7.0\n */\nimport type {\n LeaseCloseWrite,\n LiveLeaseListRead\n} from '../../models';\n\nimport { request } from '../../client';\n\nexport const getListLiveLeasesUrl = () => {\n\n\n\n\n return `/admin/consumption/live`\n}\n\n/**\n * What is open right now, within the caller's tenant scope.\n *\n * Read from the ledger rather than the Redis live set: this is a diagnostic and\n * must show the truth even when the cache is cold, and it runs once when\n * somebody opens a screen rather than on every read.\n *\n * Shares :func:`~app.services.entitlement.is_live` with the two seat counts.\n * An earlier version of this route filtered on ``returned_at`` alone and so\n * listed every lapsed-but-unreaped lease as live — which made the screen look\n * exactly like a stuck reaper even when the reaper was fine.\n * @summary List Live Leases\n */\nexport const listLiveLeases = async ( options?: Parameters<typeof request>[1]): Promise<LiveLeaseListRead> => {\n\n return request<LiveLeaseListRead>(getListLiveLeasesUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getForceCloseLeaseUrl = (eventId: number,) => {\n\n\n\n\n return `/admin/consumption/${eventId}`\n}\n\n/**\n * Force-close somebody else's lease. The legacy's ``FermeSessionAdherent``.\n *\n * Audited, which the legacy's was not: a button that ends a stranger's reading\n * session and leaves no trace is indistinguishable from abuse of the same\n * button. Tenant-scoped like every staff action, so a lease outside the\n * caller's scope is ``404`` rather than ``403``.\n * @summary Force Close Lease\n */\nexport const forceCloseLease = async (eventId: number,\n leaseCloseWrite: LeaseCloseWrite, options?: Parameters<typeof request>[1]): Promise<void> => {\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<void>(getForceCloseLeaseUrl(eventId),\n {\n ...options,\n method: 'DELETE',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(leaseCloseWrite)\n }\n);}\n\n\n"],"mappings":";;;AAcA,MAAa,6BAA6B;CAKxC,OAAO;AACT;;;;;;;;;;;;;;AAeA,MAAa,iBAAiB,OAAQ,YAAwE;CAE5G,OAAO,QAA2B,qBAAqB,GACvD;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,yBAAyB,YAAqB;CAKzD,OAAO,sBAAsB;AAC/B;;;;;;;;;;AAWA,MAAa,kBAAkB,OAAO,SAClC,iBAAkC,YAA2D;CAE7F,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,QAAc,sBAAsB,OAAO,GAChD;EACE,GAAG;EACH,QAAQ;EACR,SAAS;GAAE,gBAAgB;GAAoB,GAAG,WAAW,SAAS,OAAO;EAAE;EAC/E,MAAM,KAAK,UAAU,eAAe;CACtC,CACF;AAAE"}
@@ -0,0 +1,282 @@
1
+
2
+ import { $i as DeskListExpiringDocumentsParams, $r as DeskTimeseriesRead, Aa as DeskFeedbackPage, Ba as DeskDashboardRead, Ca as DeskGetIlsStatusParams, Ci as DeskPaymentsSummaryParams, Da as DeskGetCatalogueCollectionParams, Di as DeskPatronPage, Ea as DeskGetCatalogueItemParams, Ga as DeskCountRead, Hi as DeskListTenantsParams, Ia as DeskEntitlementPage, Ii as DeskLoansSummaryParams, Ja as DeskContractRead, Ka as DeskCountPatronsParams, Ki as DeskListPractitionerDocumentsParams, Li as DeskListTutoringRequestsParams, Ma as DeskExplainAccessParams, Na as DeskExclusionPage, Ni as DeskMetricTimeseriesParams, Oa as DeskGetAuditEventParams, Oi as DeskPatronDetailRead, Qa as DeskConsumptionSummaryParams, Qi as DeskListLiveLeasesParams, Qr as DeskTutoringRead, Ra as DeskDocumentPage, Sa as DeskGetLoanParams, Si as DeskPaymentSummaryRead, Ta as DeskGetConsumptionEventParams, Ti as DeskPaymentRead, Ua as DeskDashboardOverviewParams, Vi as DeskListTutoringFeedbackParams, Wi as DeskListReviewsParams, Xa as DeskContentRatingsSummaryParams, Xi as DeskListPatronProfilesParams, Xr as DeskTutoringRequestsSummaryParams, Ya as DeskContextRead, Yi as DeskListPatronsParams, Za as DeskConsumptionSummaryRead, Zi as DeskListLoansParams, Zr as DeskTutoringPage, _a as DeskGetReadingProgressParams, _o as DeskAnswerRead, aa as DeskListCatalogueCollectionsParams, ao as DeskCataloguePage, ba as DeskGetPatronServicesParams, bi as DeskPractitionerPage, ci as DeskSearchCatalogueParams, da as DeskIlsRead, di as DeskReviewPage, do as DeskAttentionPage, ea as DeskListEntitlementGrantsParams, ei as DeskTenantStatsRead, eo as DeskConsumptionPage, fi as DeskReviewRead, ga as DeskGetReviewParams, gi as DeskRatingPage, ha as DeskGetTenantIntegrationsParams, hi as DeskRatingSummaryRead, ia as DeskListConsumptionEventsParams, ii as DeskServicePage, io as DeskCollectionRead, ji as DeskPartnerLicenseSummaryParams, ka as DeskFindPractitionersParams, ki as DeskPatronActivityPage, li as DeskSearchBackofficeParams, lo as DeskAuditPage, ma as DeskGetTutoringAnswerParams, mo as DeskAttentionItemsParams, na as DeskListContractsParams, ni as DeskTenantRead, oa as DeskListAuditEventsParams, oi as DeskSearchPage, oo as DeskCatalogueRead, pa as DeskGetUsageLimitsParams, pi as DeskReferenceDataRead, qa as DeskContractPage, qi as DeskListPaymentsParams, ra as DeskListContentRatingsParams, ri as DeskSummaryRead, ro as DeskCollectionPage, sa as DeskLicenseSummaryRead, ta as DeskListEntitlementExclusionsParams, ti as DeskTenantPage, to as DeskConsumptionRead, ua as DeskIntegrationRead, ui as DeskReviewsSummaryParams, uo as DeskAuditRead, va as DeskGetPractitionerParams, wa as DeskGetContractParams, wi as DeskPaymentPage, xa as DeskGetPatronActivityParams, xi as DeskPractitionerRead, ya as DeskGetPaymentParams, yi as DeskProgressRead, yo as DeskAccessRead } from "../chunks/index.js";
3
+ import { c as request } from "../chunks/client.js";
4
+ //#region src/api/admin-desk/admin-desk.d.ts
5
+ export declare const getDeskExplainAccessUrl: (params: DeskExplainAccessParams) => string;
6
+ /**
7
+ * @summary Desk Explain Access
8
+ */
9
+ export declare const deskExplainAccess: (params: DeskExplainAccessParams, options?: Parameters<typeof request>[1]) => Promise<DeskAccessRead>;
10
+ export declare const getDeskAttentionItemsUrl: (params: DeskAttentionItemsParams) => string;
11
+ /**
12
+ * @summary Desk Attention Items
13
+ */
14
+ export declare const deskAttentionItems: (params: DeskAttentionItemsParams, options?: Parameters<typeof request>[1]) => Promise<DeskAttentionPage>;
15
+ export declare const getDeskGetAuditEventUrl: (params: DeskGetAuditEventParams) => string;
16
+ /**
17
+ * @summary Desk Get Audit Event
18
+ */
19
+ export declare const deskGetAuditEvent: (params: DeskGetAuditEventParams, options?: Parameters<typeof request>[1]) => Promise<DeskAuditRead>;
20
+ export declare const getDeskListAuditEventsUrl: (params?: DeskListAuditEventsParams) => string;
21
+ /**
22
+ * @summary Desk List Audit Events
23
+ */
24
+ export declare const deskListAuditEvents: (params?: DeskListAuditEventsParams, options?: Parameters<typeof request>[1]) => Promise<DeskAuditPage>;
25
+ export declare const getDeskSearchCatalogueUrl: (params: DeskSearchCatalogueParams) => string;
26
+ /**
27
+ * @summary Desk Search Catalogue
28
+ */
29
+ export declare const deskSearchCatalogue: (params: DeskSearchCatalogueParams, options?: Parameters<typeof request>[1]) => Promise<DeskCataloguePage>;
30
+ export declare const getDeskGetCatalogueCollectionUrl: (params: DeskGetCatalogueCollectionParams) => string;
31
+ /**
32
+ * @summary Desk Get Catalogue Collection
33
+ */
34
+ export declare const deskGetCatalogueCollection: (params: DeskGetCatalogueCollectionParams, options?: Parameters<typeof request>[1]) => Promise<DeskCollectionRead>;
35
+ export declare const getDeskListCatalogueCollectionsUrl: (params: DeskListCatalogueCollectionsParams) => string;
36
+ /**
37
+ * @summary Desk List Catalogue Collections
38
+ */
39
+ export declare const deskListCatalogueCollections: (params: DeskListCatalogueCollectionsParams, options?: Parameters<typeof request>[1]) => Promise<DeskCollectionPage>;
40
+ export declare const getDeskGetCatalogueItemUrl: (params: DeskGetCatalogueItemParams) => string;
41
+ /**
42
+ * @summary Desk Get Catalogue Item
43
+ */
44
+ export declare const deskGetCatalogueItem: (params: DeskGetCatalogueItemParams, options?: Parameters<typeof request>[1]) => Promise<DeskCatalogueRead>;
45
+ export declare const getDeskGetConsumptionEventUrl: (params: DeskGetConsumptionEventParams) => string;
46
+ /**
47
+ * @summary Desk Get Consumption Event
48
+ */
49
+ export declare const deskGetConsumptionEvent: (params: DeskGetConsumptionEventParams, options?: Parameters<typeof request>[1]) => Promise<DeskConsumptionRead>;
50
+ export declare const getDeskListConsumptionEventsUrl: (params?: DeskListConsumptionEventsParams) => string;
51
+ /**
52
+ * @summary Desk List Consumption Events
53
+ */
54
+ export declare const deskListConsumptionEvents: (params?: DeskListConsumptionEventsParams, options?: Parameters<typeof request>[1]) => Promise<DeskConsumptionPage>;
55
+ export declare const getDeskListContentRatingsUrl: (params?: DeskListContentRatingsParams) => string;
56
+ /**
57
+ * @summary Desk List Content Ratings
58
+ */
59
+ export declare const deskListContentRatings: (params?: DeskListContentRatingsParams, options?: Parameters<typeof request>[1]) => Promise<DeskRatingPage>;
60
+ export declare const getDeskBackofficeContextUrl: () => string;
61
+ /**
62
+ * @summary Desk Backoffice Context
63
+ */
64
+ export declare const deskBackofficeContext: (options?: Parameters<typeof request>[1]) => Promise<DeskContextRead>;
65
+ export declare const getDeskGetContractUrl: (params: DeskGetContractParams) => string;
66
+ /**
67
+ * @summary Desk Get Contract
68
+ */
69
+ export declare const deskGetContract: (params: DeskGetContractParams, options?: Parameters<typeof request>[1]) => Promise<DeskContractRead>;
70
+ export declare const getDeskListContractsUrl: (params?: DeskListContractsParams) => string;
71
+ /**
72
+ * @summary Desk List Contracts
73
+ */
74
+ export declare const deskListContracts: (params?: DeskListContractsParams, options?: Parameters<typeof request>[1]) => Promise<DeskContractPage>;
75
+ export declare const getDeskCountPatronsUrl: (params?: DeskCountPatronsParams) => string;
76
+ /**
77
+ * @summary Desk Count Patrons
78
+ */
79
+ export declare const deskCountPatrons: (params?: DeskCountPatronsParams, options?: Parameters<typeof request>[1]) => Promise<DeskCountRead>;
80
+ export declare const getDeskDashboardOverviewUrl: (params: DeskDashboardOverviewParams) => string;
81
+ /**
82
+ * @summary Desk Dashboard Overview
83
+ */
84
+ export declare const deskDashboardOverview: (params: DeskDashboardOverviewParams, options?: Parameters<typeof request>[1]) => Promise<DeskDashboardRead>;
85
+ export declare const getDeskListEntitlementExclusionsUrl: (params?: DeskListEntitlementExclusionsParams) => string;
86
+ /**
87
+ * @summary Desk List Entitlement Exclusions
88
+ */
89
+ export declare const deskListEntitlementExclusions: (params?: DeskListEntitlementExclusionsParams, options?: Parameters<typeof request>[1]) => Promise<DeskExclusionPage>;
90
+ export declare const getDeskListEntitlementGrantsUrl: (params?: DeskListEntitlementGrantsParams) => string;
91
+ /**
92
+ * @summary Desk List Entitlement Grants
93
+ */
94
+ export declare const deskListEntitlementGrants: (params?: DeskListEntitlementGrantsParams, options?: Parameters<typeof request>[1]) => Promise<DeskEntitlementPage>;
95
+ export declare const getDeskListExpiringDocumentsUrl: (params?: DeskListExpiringDocumentsParams) => string;
96
+ /**
97
+ * @summary Desk List Expiring Documents
98
+ */
99
+ export declare const deskListExpiringDocuments: (params?: DeskListExpiringDocumentsParams, options?: Parameters<typeof request>[1]) => Promise<DeskDocumentPage>;
100
+ export declare const getDeskGetIlsStatusUrl: (params: DeskGetIlsStatusParams) => string;
101
+ /**
102
+ * @summary Desk Get Ils Status
103
+ */
104
+ export declare const deskGetIlsStatus: (params: DeskGetIlsStatusParams, options?: Parameters<typeof request>[1]) => Promise<DeskIlsRead>;
105
+ export declare const getDeskListLiveLeasesUrl: (params?: DeskListLiveLeasesParams) => string;
106
+ /**
107
+ * @summary Desk List Live Leases
108
+ */
109
+ export declare const deskListLiveLeases: (params?: DeskListLiveLeasesParams, options?: Parameters<typeof request>[1]) => Promise<DeskConsumptionPage>;
110
+ export declare const getDeskGetLoanUrl: (params: DeskGetLoanParams) => string;
111
+ /**
112
+ * @summary Desk Get Loan
113
+ */
114
+ export declare const deskGetLoan: (params: DeskGetLoanParams, options?: Parameters<typeof request>[1]) => Promise<DeskConsumptionRead>;
115
+ export declare const getDeskListLoansUrl: (params?: DeskListLoansParams) => string;
116
+ /**
117
+ * @summary Desk List Loans
118
+ */
119
+ export declare const deskListLoans: (params?: DeskListLoansParams, options?: Parameters<typeof request>[1]) => Promise<DeskConsumptionPage>;
120
+ export declare const getDeskMetricTimeseriesUrl: (params: DeskMetricTimeseriesParams) => string;
121
+ /**
122
+ * @summary Desk Metric Timeseries
123
+ */
124
+ export declare const deskMetricTimeseries: (params: DeskMetricTimeseriesParams, options?: Parameters<typeof request>[1]) => Promise<DeskTimeseriesRead>;
125
+ export declare const getDeskGetPatronActivityUrl: (params: DeskGetPatronActivityParams) => string;
126
+ /**
127
+ * @summary Desk Get Patron Activity
128
+ */
129
+ export declare const deskGetPatronActivity: (params: DeskGetPatronActivityParams, options?: Parameters<typeof request>[1]) => Promise<DeskPatronActivityPage>;
130
+ export declare const getDeskListPatronProfilesUrl: (params: DeskListPatronProfilesParams) => string;
131
+ /**
132
+ * @summary Desk List Patron Profiles
133
+ */
134
+ export declare const deskListPatronProfiles: (params: DeskListPatronProfilesParams, options?: Parameters<typeof request>[1]) => Promise<DeskPatronPage>;
135
+ export declare const getDeskGetPatronServicesUrl: (params: DeskGetPatronServicesParams) => string;
136
+ /**
137
+ * @summary Desk Get Patron Services
138
+ */
139
+ export declare const deskGetPatronServices: (params: DeskGetPatronServicesParams, options?: Parameters<typeof request>[1]) => Promise<DeskServicePage>;
140
+ export declare const getDeskListPatronsUrl: (params?: DeskListPatronsParams) => string;
141
+ /**
142
+ * @summary Desk List Patrons
143
+ */
144
+ export declare const deskListPatrons: (params?: DeskListPatronsParams, options?: Parameters<typeof request>[1]) => Promise<DeskPatronPage>;
145
+ export declare const getDeskGetPatronUrl: (userId: number) => string;
146
+ /**
147
+ * @summary Desk Get Patron
148
+ */
149
+ export declare const deskGetPatron: (userId: number, options?: Parameters<typeof request>[1]) => Promise<DeskPatronDetailRead>;
150
+ export declare const getDeskGetPaymentUrl: (params: DeskGetPaymentParams) => string;
151
+ /**
152
+ * @summary Desk Get Payment
153
+ */
154
+ export declare const deskGetPayment: (params: DeskGetPaymentParams, options?: Parameters<typeof request>[1]) => Promise<DeskPaymentRead>;
155
+ export declare const getDeskListPaymentsUrl: (params?: DeskListPaymentsParams) => string;
156
+ /**
157
+ * @summary Desk List Payments
158
+ */
159
+ export declare const deskListPayments: (params?: DeskListPaymentsParams, options?: Parameters<typeof request>[1]) => Promise<DeskPaymentPage>;
160
+ export declare const getDeskGetPractitionerUrl: (params: DeskGetPractitionerParams) => string;
161
+ /**
162
+ * @summary Desk Get Practitioner
163
+ */
164
+ export declare const deskGetPractitioner: (params: DeskGetPractitionerParams, options?: Parameters<typeof request>[1]) => Promise<DeskPractitionerRead>;
165
+ export declare const getDeskListPractitionerDocumentsUrl: (params?: DeskListPractitionerDocumentsParams) => string;
166
+ /**
167
+ * @summary Desk List Practitioner Documents
168
+ */
169
+ export declare const deskListPractitionerDocuments: (params?: DeskListPractitionerDocumentsParams, options?: Parameters<typeof request>[1]) => Promise<DeskDocumentPage>;
170
+ export declare const getDeskFindPractitionersUrl: (params?: DeskFindPractitionersParams) => string;
171
+ /**
172
+ * @summary Desk Find Practitioners
173
+ */
174
+ export declare const deskFindPractitioners: (params?: DeskFindPractitionersParams, options?: Parameters<typeof request>[1]) => Promise<DeskPractitionerPage>;
175
+ export declare const getDeskGetReadingProgressUrl: (params: DeskGetReadingProgressParams) => string;
176
+ /**
177
+ * @summary Desk Get Reading Progress
178
+ */
179
+ export declare const deskGetReadingProgress: (params: DeskGetReadingProgressParams, options?: Parameters<typeof request>[1]) => Promise<DeskProgressRead>;
180
+ export declare const getDeskReferenceDataUrl: () => string;
181
+ /**
182
+ * @summary Desk Reference Data
183
+ */
184
+ export declare const deskReferenceData: (options?: Parameters<typeof request>[1]) => Promise<DeskReferenceDataRead>;
185
+ export declare const getDeskGetReviewUrl: (params: DeskGetReviewParams) => string;
186
+ /**
187
+ * @summary Desk Get Review
188
+ */
189
+ export declare const deskGetReview: (params: DeskGetReviewParams, options?: Parameters<typeof request>[1]) => Promise<DeskReviewRead>;
190
+ export declare const getDeskListReviewsUrl: (params?: DeskListReviewsParams) => string;
191
+ /**
192
+ * @summary Desk List Reviews
193
+ */
194
+ export declare const deskListReviews: (params?: DeskListReviewsParams, options?: Parameters<typeof request>[1]) => Promise<DeskReviewPage>;
195
+ export declare const getDeskSearchBackofficeUrl: (params: DeskSearchBackofficeParams) => string;
196
+ /**
197
+ * @summary Desk Search Backoffice
198
+ */
199
+ export declare const deskSearchBackoffice: (params: DeskSearchBackofficeParams, options?: Parameters<typeof request>[1]) => Promise<DeskSearchPage>;
200
+ export declare const getDeskConsumptionSummaryUrl: (params?: DeskConsumptionSummaryParams) => string;
201
+ /**
202
+ * @summary Desk Consumption Summary
203
+ */
204
+ export declare const deskConsumptionSummary: (params?: DeskConsumptionSummaryParams, options?: Parameters<typeof request>[1]) => Promise<DeskConsumptionSummaryRead>;
205
+ export declare const getDeskContentRatingsSummaryUrl: (params?: DeskContentRatingsSummaryParams) => string;
206
+ /**
207
+ * @summary Desk Content Ratings Summary
208
+ */
209
+ export declare const deskContentRatingsSummary: (params?: DeskContentRatingsSummaryParams, options?: Parameters<typeof request>[1]) => Promise<DeskRatingSummaryRead>;
210
+ export declare const getDeskLoansSummaryUrl: (params?: DeskLoansSummaryParams) => string;
211
+ /**
212
+ * @summary Desk Loans Summary
213
+ */
214
+ export declare const deskLoansSummary: (params?: DeskLoansSummaryParams, options?: Parameters<typeof request>[1]) => Promise<DeskConsumptionSummaryRead>;
215
+ export declare const getDeskPartnerLicenseSummaryUrl: (params?: DeskPartnerLicenseSummaryParams) => string;
216
+ /**
217
+ * @summary Desk Partner License Summary
218
+ */
219
+ export declare const deskPartnerLicenseSummary: (params?: DeskPartnerLicenseSummaryParams, options?: Parameters<typeof request>[1]) => Promise<DeskLicenseSummaryRead>;
220
+ export declare const getDeskPaymentsSummaryUrl: (params?: DeskPaymentsSummaryParams) => string;
221
+ /**
222
+ * @summary Desk Payments Summary
223
+ */
224
+ export declare const deskPaymentsSummary: (params?: DeskPaymentsSummaryParams, options?: Parameters<typeof request>[1]) => Promise<DeskPaymentSummaryRead>;
225
+ export declare const getDeskReviewsSummaryUrl: (params?: DeskReviewsSummaryParams) => string;
226
+ /**
227
+ * @summary Desk Reviews Summary
228
+ */
229
+ export declare const deskReviewsSummary: (params?: DeskReviewsSummaryParams, options?: Parameters<typeof request>[1]) => Promise<DeskSummaryRead>;
230
+ export declare const getDeskTutoringRequestsSummaryUrl: (params?: DeskTutoringRequestsSummaryParams) => string;
231
+ /**
232
+ * @summary Desk Tutoring Requests Summary
233
+ */
234
+ export declare const deskTutoringRequestsSummary: (params?: DeskTutoringRequestsSummaryParams, options?: Parameters<typeof request>[1]) => Promise<DeskSummaryRead>;
235
+ export declare const getDeskGetTenantIntegrationsUrl: (params: DeskGetTenantIntegrationsParams) => string;
236
+ /**
237
+ * @summary Desk Get Tenant Integrations
238
+ */
239
+ export declare const deskGetTenantIntegrations: (params: DeskGetTenantIntegrationsParams, options?: Parameters<typeof request>[1]) => Promise<DeskIntegrationRead>;
240
+ export declare const getDeskListTenantsUrl: (params?: DeskListTenantsParams) => string;
241
+ /**
242
+ * @summary Desk List Tenants
243
+ */
244
+ export declare const deskListTenants: (params?: DeskListTenantsParams, options?: Parameters<typeof request>[1]) => Promise<DeskTenantPage>;
245
+ export declare const getDeskGetTenantUrl: (tenantId: number) => string;
246
+ /**
247
+ * @summary Desk Get Tenant
248
+ */
249
+ export declare const deskGetTenant: (tenantId: number, options?: Parameters<typeof request>[1]) => Promise<DeskTenantRead>;
250
+ export declare const getDeskTenantStatsUrl: (tenantId: number) => string;
251
+ /**
252
+ * Counts for this tenant alone, not its descendants.
253
+ * @summary Desk Tenant Stats
254
+ */
255
+ export declare const deskTenantStats: (tenantId: number, options?: Parameters<typeof request>[1]) => Promise<DeskTenantStatsRead>;
256
+ export declare const getDeskGetTutoringAnswerUrl: (params: DeskGetTutoringAnswerParams) => string;
257
+ /**
258
+ * @summary Desk Get Tutoring Answer
259
+ */
260
+ export declare const deskGetTutoringAnswer: (params: DeskGetTutoringAnswerParams, options?: Parameters<typeof request>[1]) => Promise<DeskAnswerRead>;
261
+ export declare const getDeskListTutoringFeedbackUrl: (params?: DeskListTutoringFeedbackParams) => string;
262
+ /**
263
+ * @summary Desk List Tutoring Feedback
264
+ */
265
+ export declare const deskListTutoringFeedback: (params?: DeskListTutoringFeedbackParams, options?: Parameters<typeof request>[1]) => Promise<DeskFeedbackPage>;
266
+ export declare const getDeskListTutoringRequestsUrl: (params?: DeskListTutoringRequestsParams) => string;
267
+ /**
268
+ * @summary Desk List Tutoring Requests
269
+ */
270
+ export declare const deskListTutoringRequests: (params?: DeskListTutoringRequestsParams, options?: Parameters<typeof request>[1]) => Promise<DeskTutoringPage>;
271
+ export declare const getDeskGetTutoringRequestUrl: (requestId: number) => string;
272
+ /**
273
+ * @summary Desk Get Tutoring Request
274
+ */
275
+ export declare const deskGetTutoringRequest: (requestId: number, options?: Parameters<typeof request>[1]) => Promise<DeskTutoringRead>;
276
+ export declare const getDeskGetUsageLimitsUrl: (params: DeskGetUsageLimitsParams) => string;
277
+ /**
278
+ * @summary Desk Get Usage Limits
279
+ */
280
+ export declare const deskGetUsageLimits: (params: DeskGetUsageLimitsParams, options?: Parameters<typeof request>[1]) => Promise<DeskAccessRead>;
281
+ //#endregion
282
+ //# sourceMappingURL=admin-desk.d.ts.map