@learnorama/mozaik-sdk 0.7.0-staging.26.1 → 0.8.2-staging.31.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 (199) hide show
  1. package/dist/api/account.d.ts +1 -1
  2. package/dist/api/account.js.map +1 -1
  3. package/dist/api/admin-catalogue.d.ts +1 -1
  4. package/dist/api/admin-catalogue.js.map +1 -1
  5. package/dist/api/admin-consumption.d.ts +1 -1
  6. package/dist/api/admin-consumption.js.map +1 -1
  7. package/dist/api/admin-desk.d.ts +86 -1
  8. package/dist/api/admin-desk.js +280 -1
  9. package/dist/api/admin-desk.js.map +1 -1
  10. package/dist/api/admin-licenses.d.ts +1 -1
  11. package/dist/api/admin-licenses.js.map +1 -1
  12. package/dist/api/admin-patrons.d.ts +2 -7
  13. package/dist/api/admin-patrons.js +1 -6
  14. package/dist/api/admin-patrons.js.map +1 -1
  15. package/dist/api/admin-reviews.d.ts +1 -1
  16. package/dist/api/admin-reviews.js.map +1 -1
  17. package/dist/api/admin-roles.d.ts +1 -1
  18. package/dist/api/admin-roles.js.map +1 -1
  19. package/dist/api/admin-support.d.ts +1 -1
  20. package/dist/api/admin-support.js.map +1 -1
  21. package/dist/api/admin-tenants.d.ts +2 -2
  22. package/dist/api/admin-tenants.js +1 -1
  23. package/dist/api/admin-tenants.js.map +1 -1
  24. package/dist/api/admin-tutoring.d.ts +1 -1
  25. package/dist/api/admin-tutoring.js.map +1 -1
  26. package/dist/api/auth.d.ts +1 -1
  27. package/dist/api/auth.js.map +1 -1
  28. package/dist/api/biblio-catalogue.d.ts +1 -1
  29. package/dist/api/biblio-catalogue.js.map +1 -1
  30. package/dist/api/biblio-home.d.ts +1 -1
  31. package/dist/api/biblio-home.js.map +1 -1
  32. package/dist/api/biblio-library.d.ts +1 -1
  33. package/dist/api/biblio-library.js.map +1 -1
  34. package/dist/api/biblio-nextory.d.ts +1 -1
  35. package/dist/api/biblio-nextory.js.map +1 -1
  36. package/dist/api/biblio-press.d.ts +1 -1
  37. package/dist/api/biblio-press.js.map +1 -1
  38. package/dist/api/biblio-search.d.ts +1 -1
  39. package/dist/api/biblio-search.js.map +1 -1
  40. package/dist/api/biblio-telemetry.d.ts +1 -1
  41. package/dist/api/biblio-telemetry.js.map +1 -1
  42. package/dist/api/consumption.d.ts +1 -1
  43. package/dist/api/consumption.js.map +1 -1
  44. package/dist/api/cvs-app.d.ts +1 -1
  45. package/dist/api/cvs-app.js.map +1 -1
  46. package/dist/api/cvs-documents.d.ts +1 -1
  47. package/dist/api/cvs-documents.js.map +1 -1
  48. package/dist/api/cvs-favorites.d.ts +1 -1
  49. package/dist/api/cvs-favorites.js.map +1 -1
  50. package/dist/api/cvs-ils.d.ts +1 -1
  51. package/dist/api/cvs-ils.js.map +1 -1
  52. package/dist/api/cvs-loans.d.ts +1 -1
  53. package/dist/api/cvs-loans.js.map +1 -1
  54. package/dist/api/cvs-payments.d.ts +1 -1
  55. package/dist/api/cvs-payments.js.map +1 -1
  56. package/dist/api/cvs-streaming.d.ts +1 -1
  57. package/dist/api/cvs-streaming.js.map +1 -1
  58. package/dist/api/index.d.ts +2 -2
  59. package/dist/api/index.js +2 -2
  60. package/dist/api/partner-catalogue.d.ts +1 -1
  61. package/dist/api/partner-catalogue.js.map +1 -1
  62. package/dist/api/partner-reader.d.ts +1 -1
  63. package/dist/api/partner-reader.js.map +1 -1
  64. package/dist/api/profiles.d.ts +1 -1
  65. package/dist/api/profiles.js.map +1 -1
  66. package/dist/api/search.d.ts +1 -1
  67. package/dist/api/search.js.map +1 -1
  68. package/dist/api/tutoring-catalogue.d.ts +1 -1
  69. package/dist/api/tutoring-catalogue.js.map +1 -1
  70. package/dist/api/tutoring-chat.d.ts +1 -1
  71. package/dist/api/tutoring-chat.js.map +1 -1
  72. package/dist/api/tutoring-dispatch.d.ts +2 -2
  73. package/dist/api/tutoring-dispatch.js +1 -1
  74. package/dist/api/tutoring-dispatch.js.map +1 -1
  75. package/dist/api/tutoring-practitioner.d.ts +1 -1
  76. package/dist/api/tutoring-practitioner.js.map +1 -1
  77. package/dist/api/tutoring-requests.d.ts +1 -1
  78. package/dist/api/tutoring-requests.js.map +1 -1
  79. package/dist/chunks/client2.d.ts +1 -1
  80. package/dist/chunks/connection.d.ts +1 -1
  81. package/dist/chunks/index.d.ts +789 -223
  82. package/dist/index.d.ts +3 -3
  83. package/dist/index.js +3 -3
  84. package/dist/index.js.map +1 -1
  85. package/dist/models.d.ts +2 -2
  86. package/dist/models.js +15 -1
  87. package/dist/models.js.map +1 -1
  88. package/dist/react/account.d.ts +1 -1
  89. package/dist/react/account.js +1 -1
  90. package/dist/react/account.js.map +1 -1
  91. package/dist/react/admin-catalogue.d.ts +1 -1
  92. package/dist/react/admin-catalogue.js +1 -1
  93. package/dist/react/admin-catalogue.js.map +1 -1
  94. package/dist/react/admin-consumption.d.ts +1 -1
  95. package/dist/react/admin-consumption.js +1 -1
  96. package/dist/react/admin-consumption.js.map +1 -1
  97. package/dist/react/admin-desk.d.ts +545 -1
  98. package/dist/react/admin-desk.js +689 -2
  99. package/dist/react/admin-desk.js.map +1 -1
  100. package/dist/react/admin-licenses.d.ts +1 -1
  101. package/dist/react/admin-licenses.js +1 -1
  102. package/dist/react/admin-licenses.js.map +1 -1
  103. package/dist/react/admin-patrons.d.ts +2 -7
  104. package/dist/react/admin-patrons.js +2 -7
  105. package/dist/react/admin-patrons.js.map +1 -1
  106. package/dist/react/admin-reviews.d.ts +1 -1
  107. package/dist/react/admin-reviews.js +1 -1
  108. package/dist/react/admin-reviews.js.map +1 -1
  109. package/dist/react/admin-roles.d.ts +1 -1
  110. package/dist/react/admin-roles.js +1 -1
  111. package/dist/react/admin-roles.js.map +1 -1
  112. package/dist/react/admin-support.d.ts +1 -1
  113. package/dist/react/admin-support.js +1 -1
  114. package/dist/react/admin-support.js.map +1 -1
  115. package/dist/react/admin-tenants.d.ts +2 -2
  116. package/dist/react/admin-tenants.js +2 -2
  117. package/dist/react/admin-tenants.js.map +1 -1
  118. package/dist/react/admin-tutoring.d.ts +1 -1
  119. package/dist/react/admin-tutoring.js +1 -1
  120. package/dist/react/admin-tutoring.js.map +1 -1
  121. package/dist/react/auth.d.ts +1 -1
  122. package/dist/react/auth.js +1 -1
  123. package/dist/react/auth.js.map +1 -1
  124. package/dist/react/biblio-catalogue.d.ts +1 -1
  125. package/dist/react/biblio-catalogue.js +1 -1
  126. package/dist/react/biblio-catalogue.js.map +1 -1
  127. package/dist/react/biblio-home.d.ts +1 -1
  128. package/dist/react/biblio-home.js +1 -1
  129. package/dist/react/biblio-home.js.map +1 -1
  130. package/dist/react/biblio-library.d.ts +1 -1
  131. package/dist/react/biblio-library.js +1 -1
  132. package/dist/react/biblio-library.js.map +1 -1
  133. package/dist/react/biblio-nextory.d.ts +1 -1
  134. package/dist/react/biblio-nextory.js +1 -1
  135. package/dist/react/biblio-nextory.js.map +1 -1
  136. package/dist/react/biblio-press.d.ts +1 -1
  137. package/dist/react/biblio-press.js +1 -1
  138. package/dist/react/biblio-press.js.map +1 -1
  139. package/dist/react/biblio-search.d.ts +1 -1
  140. package/dist/react/biblio-search.js +1 -1
  141. package/dist/react/biblio-search.js.map +1 -1
  142. package/dist/react/biblio-telemetry.d.ts +1 -1
  143. package/dist/react/biblio-telemetry.js +1 -1
  144. package/dist/react/biblio-telemetry.js.map +1 -1
  145. package/dist/react/chat.d.ts +1 -1
  146. package/dist/react/consumption.d.ts +1 -1
  147. package/dist/react/consumption.js +1 -1
  148. package/dist/react/consumption.js.map +1 -1
  149. package/dist/react/cvs-app.d.ts +1 -1
  150. package/dist/react/cvs-app.js +1 -1
  151. package/dist/react/cvs-app.js.map +1 -1
  152. package/dist/react/cvs-documents.d.ts +1 -1
  153. package/dist/react/cvs-documents.js +1 -1
  154. package/dist/react/cvs-documents.js.map +1 -1
  155. package/dist/react/cvs-favorites.d.ts +1 -1
  156. package/dist/react/cvs-favorites.js +1 -1
  157. package/dist/react/cvs-favorites.js.map +1 -1
  158. package/dist/react/cvs-ils.d.ts +1 -1
  159. package/dist/react/cvs-ils.js +1 -1
  160. package/dist/react/cvs-ils.js.map +1 -1
  161. package/dist/react/cvs-loans.d.ts +1 -1
  162. package/dist/react/cvs-loans.js +1 -1
  163. package/dist/react/cvs-loans.js.map +1 -1
  164. package/dist/react/cvs-payments.d.ts +1 -1
  165. package/dist/react/cvs-payments.js +1 -1
  166. package/dist/react/cvs-payments.js.map +1 -1
  167. package/dist/react/cvs-streaming.d.ts +1 -1
  168. package/dist/react/cvs-streaming.js +1 -1
  169. package/dist/react/cvs-streaming.js.map +1 -1
  170. package/dist/react/index.d.ts +2 -2
  171. package/dist/react/index.js +2 -2
  172. package/dist/react/partner-catalogue.d.ts +1 -1
  173. package/dist/react/partner-catalogue.js +1 -1
  174. package/dist/react/partner-catalogue.js.map +1 -1
  175. package/dist/react/partner-reader.d.ts +1 -1
  176. package/dist/react/partner-reader.js +1 -1
  177. package/dist/react/partner-reader.js.map +1 -1
  178. package/dist/react/profiles.d.ts +1 -1
  179. package/dist/react/profiles.js +1 -1
  180. package/dist/react/profiles.js.map +1 -1
  181. package/dist/react/search.d.ts +1 -1
  182. package/dist/react/search.js +1 -1
  183. package/dist/react/search.js.map +1 -1
  184. package/dist/react/tutoring-catalogue.d.ts +1 -1
  185. package/dist/react/tutoring-catalogue.js +1 -1
  186. package/dist/react/tutoring-catalogue.js.map +1 -1
  187. package/dist/react/tutoring-chat.d.ts +1 -1
  188. package/dist/react/tutoring-chat.js +1 -1
  189. package/dist/react/tutoring-chat.js.map +1 -1
  190. package/dist/react/tutoring-dispatch.d.ts +2 -2
  191. package/dist/react/tutoring-dispatch.js +2 -2
  192. package/dist/react/tutoring-dispatch.js.map +1 -1
  193. package/dist/react/tutoring-practitioner.d.ts +1 -1
  194. package/dist/react/tutoring-practitioner.js +1 -1
  195. package/dist/react/tutoring-practitioner.js.map +1 -1
  196. package/dist/react/tutoring-requests.d.ts +1 -1
  197. package/dist/react/tutoring-requests.js +1 -1
  198. package/dist/react/tutoring-requests.js.map +1 -1
  199. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"biblio-telemetry.js","names":[],"sources":["../../src/api/biblio-telemetry/biblio-telemetry.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 ReadingSessionRead,\n ReadingSessionWrite\n} from '../../models';\n\nimport { request } from '../../client';\n\nexport const getRecordReadingSessionUrl = (sessionTag: string,) => {\n\n\n\n\n return `/biblio/reading-sessions/${sessionTag}`\n}\n\n/**\n * Record one content-consumption session (E54). Idempotent on ``session_tag``.\n *\n * **There is no ``user_id`` and no ``client_id`` in the body, and there must\n * never be.** The legacy endpoint was unauthenticated and took both from the\n * request without checking either against a credential, so consumption records\n * — which is to say the billing record — were forgeable for any account\n * (defect D3). Both come from the token here.\n *\n * ``PUT`` because the legacy handler already checked whether the tag existed and\n * returned success rather than duplicating: that is an upsert keyed by a\n * client-supplied identifier, and the verb now says so. The tag becomes\n * ``ConsumptionEvent.request_key``, so a retried request after a timeout costs\n * one unit rather than two — enforced by a partial unique index, not by\n * checking first and hoping.\n *\n * ``201`` on the first write for a tag, ``200`` when it already existed. Never\n * an error for a repeat: that is what idempotent means (§2.6).\n * @summary Record Reading Session\n */\nexport const recordReadingSession = async (sessionTag: string,\n readingSessionWrite: ReadingSessionWrite, options?: Parameters<typeof request>[1]): Promise<ReadingSessionRead> => {\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<ReadingSessionRead>(getRecordReadingSessionUrl(sessionTag),\n {\n ...options,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(readingSessionWrite)\n }\n);}\n\n\n"],"mappings":";;;AAcA,MAAa,8BAA8B,eAAwB;CAKjE,OAAO,4BAA4B;AACrC;;;;;;;;;;;;;;;;;;;;;AAsBA,MAAa,uBAAuB,OAAO,YACvC,qBAA0C,YAAyE;CAEnH,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,QAA4B,2BAA2B,UAAU,GACtE;EACE,GAAG;EACH,QAAQ;EACR,SAAS;GAAE,gBAAgB;GAAoB,GAAG,WAAW,SAAS,OAAO;EAAE;EAC/E,MAAM,KAAK,UAAU,mBAAmB;CAC1C,CACF;AAAE"}
1
+ {"version":3,"file":"biblio-telemetry.js","names":[],"sources":["../../src/api/biblio-telemetry/biblio-telemetry.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.2\n */\nimport type {\n ReadingSessionRead,\n ReadingSessionWrite\n} from '../../models';\n\nimport { request } from '../../client';\n\nexport const getRecordReadingSessionUrl = (sessionTag: string,) => {\n\n\n\n\n return `/biblio/reading-sessions/${sessionTag}`\n}\n\n/**\n * Record one content-consumption session (E54). Idempotent on ``session_tag``.\n *\n * **There is no ``user_id`` and no ``client_id`` in the body, and there must\n * never be.** The legacy endpoint was unauthenticated and took both from the\n * request without checking either against a credential, so consumption records\n * — which is to say the billing record — were forgeable for any account\n * (defect D3). Both come from the token here.\n *\n * ``PUT`` because the legacy handler already checked whether the tag existed and\n * returned success rather than duplicating: that is an upsert keyed by a\n * client-supplied identifier, and the verb now says so. The tag becomes\n * ``ConsumptionEvent.request_key``, so a retried request after a timeout costs\n * one unit rather than two — enforced by a partial unique index, not by\n * checking first and hoping.\n *\n * ``201`` on the first write for a tag, ``200`` when it already existed. Never\n * an error for a repeat: that is what idempotent means (§2.6).\n * @summary Record Reading Session\n */\nexport const recordReadingSession = async (sessionTag: string,\n readingSessionWrite: ReadingSessionWrite, options?: Parameters<typeof request>[1]): Promise<ReadingSessionRead> => {\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<ReadingSessionRead>(getRecordReadingSessionUrl(sessionTag),\n {\n ...options,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(readingSessionWrite)\n }\n);}\n\n\n"],"mappings":";;;AAcA,MAAa,8BAA8B,eAAwB;CAKjE,OAAO,4BAA4B;AACrC;;;;;;;;;;;;;;;;;;;;;AAsBA,MAAa,uBAAuB,OAAO,YACvC,qBAA0C,YAAyE;CAEnH,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,QAA4B,2BAA2B,UAAU,GACtE;EACE,GAAG;EACH,QAAQ;EACR,SAAS;GAAE,gBAAgB;GAAoB,GAAG,WAAW,SAAS,OAAO;EAAE;EAC/E,MAAM,KAAK,UAAU,mBAAmB;CAC1C,CACF;AAAE"}
@@ -1,5 +1,5 @@
1
1
 
2
- import { Kn as LeaseRead } from "../chunks/index.js";
2
+ import { nr as LeaseRead } from "../chunks/index.js";
3
3
  import { c as request } from "../chunks/client.js";
4
4
  //#region src/api/consumption/consumption.d.ts
5
5
  export declare const getCloseLeaseUrl: (eventId: number) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"consumption.js","names":[],"sources":["../../src/api/consumption/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 LeaseRead\n} from '../../models';\n\nimport { request } from '../../client';\n\nexport const getCloseLeaseUrl = (eventId: number,) => {\n\n\n\n\n return `/consumption/${eventId}`\n}\n\n/**\n * Finish reading. Returns the seat immediately rather than at lapse.\n *\n * ``204`` whether or not the lease was still open: the desired end state is\n * \"closed\", and a client that lost its connection and retried should not get an\n * error for succeeding twice.\n * @summary Close Lease\n */\nexport const closeLease = async (eventId: number, options?: Parameters<typeof request>[1]): Promise<void> => {\n\n return request<void>(getCloseLeaseUrl(eventId),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n);}\n\n\nexport const getRenewLeaseUrl = (eventId: number,) => {\n\n\n\n\n return `/consumption/${eventId}`\n}\n\n/**\n * Heartbeat. Push the lease out; the client repeats before it lapses.\n *\n * ``404`` when the lease is closed, reaped, or somebody else's — the three are\n * deliberately indistinguishable, because a lease id is a bare integer and\n * guessing one must not reveal whether it exists.\n *\n * This does not write the ledger. A reader refreshing every thirty seconds for\n * an hour would be 120 UPDATEs on the table we bill from, for a value that only\n * matters while it is current; the durable extent is settled once, at close.\n * @summary Renew Lease\n */\nexport const renewLease = async (eventId: number, options?: Parameters<typeof request>[1]): Promise<LeaseRead> => {\n\n return request<LeaseRead>(getRenewLeaseUrl(eventId),\n {\n ...options,\n method: 'PUT'\n\n\n }\n);}\n\n\n"],"mappings":";;;AAaA,MAAa,oBAAoB,YAAqB;CAKpD,OAAO,gBAAgB;AACzB;;;;;;;;;AAUA,MAAa,aAAa,OAAO,SAAiB,YAA2D;CAE3G,OAAO,QAAc,iBAAiB,OAAO,GAC7C;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,oBAAoB,YAAqB;CAKpD,OAAO,gBAAgB;AACzB;;;;;;;;;;;;;AAcA,MAAa,aAAa,OAAO,SAAiB,YAAgE;CAEhH,OAAO,QAAmB,iBAAiB,OAAO,GAClD;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE"}
1
+ {"version":3,"file":"consumption.js","names":[],"sources":["../../src/api/consumption/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.8.2\n */\nimport type {\n LeaseRead\n} from '../../models';\n\nimport { request } from '../../client';\n\nexport const getCloseLeaseUrl = (eventId: number,) => {\n\n\n\n\n return `/consumption/${eventId}`\n}\n\n/**\n * Finish reading. Returns the seat immediately rather than at lapse.\n *\n * ``204`` whether or not the lease was still open: the desired end state is\n * \"closed\", and a client that lost its connection and retried should not get an\n * error for succeeding twice.\n * @summary Close Lease\n */\nexport const closeLease = async (eventId: number, options?: Parameters<typeof request>[1]): Promise<void> => {\n\n return request<void>(getCloseLeaseUrl(eventId),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n);}\n\n\nexport const getRenewLeaseUrl = (eventId: number,) => {\n\n\n\n\n return `/consumption/${eventId}`\n}\n\n/**\n * Heartbeat. Push the lease out; the client repeats before it lapses.\n *\n * ``404`` when the lease is closed, reaped, or somebody else's — the three are\n * deliberately indistinguishable, because a lease id is a bare integer and\n * guessing one must not reveal whether it exists.\n *\n * This does not write the ledger. A reader refreshing every thirty seconds for\n * an hour would be 120 UPDATEs on the table we bill from, for a value that only\n * matters while it is current; the durable extent is settled once, at close.\n * @summary Renew Lease\n */\nexport const renewLease = async (eventId: number, options?: Parameters<typeof request>[1]): Promise<LeaseRead> => {\n\n return request<LeaseRead>(getRenewLeaseUrl(eventId),\n {\n ...options,\n method: 'PUT'\n\n\n }\n);}\n\n\n"],"mappings":";;;AAaA,MAAa,oBAAoB,YAAqB;CAKpD,OAAO,gBAAgB;AACzB;;;;;;;;;AAUA,MAAa,aAAa,OAAO,SAAiB,YAA2D;CAE3G,OAAO,QAAc,iBAAiB,OAAO,GAC7C;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,oBAAoB,YAAqB;CAKpD,OAAO,gBAAgB;AACzB;;;;;;;;;;;;;AAcA,MAAa,aAAa,OAAO,SAAiB,YAAgE;CAEhH,OAAO,QAAmB,iBAAiB,OAAO,GAClD;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE"}
@@ -1,5 +1,5 @@
1
1
 
2
- import { It as PlaybackReportWrite, Lt as PlaybackReportRead, Tn as ListNotificationsParams, an as NotificationListRead } from "../chunks/index.js";
2
+ import { Fn as ListNotificationsParams, Ht as PlaybackReportWrite, Ut as PlaybackReportRead, hn as NotificationListRead } from "../chunks/index.js";
3
3
  import { c as request } from "../chunks/client.js";
4
4
  //#region src/api/cvs-app/cvs-app.d.ts
5
5
  export declare const getListNotificationsUrl: (params?: ListNotificationsParams) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"cvs-app.js","names":[],"sources":["../../src/api/cvs-app/cvs-app.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 ListNotificationsParams,\n NotificationListRead,\n PlaybackReportRead,\n PlaybackReportWrite\n} from '../../models';\n\nimport { request } from '../../client';\n\nexport const getListNotificationsUrl = (params?: ListNotificationsParams,) => {\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 ? `/cvs/notifications?${stringifiedParams}` : `/cvs/notifications`\n}\n\n/**\n * Notifications published to this caller's library.\n *\n * **These are tenant broadcasts, not a per-user inbox.** ``app_notification``\n * has no user column and no read state — ``app_notification_bm`` links a\n * notification to a library and that is the whole model. So ``unread_count`` is\n * always ``0`` here and every notification is returned every time.\n *\n * Giving each member their own read state is a schema change (a\n * ``notification_read`` row per user and notification), not a query change. It\n * is worth doing — a broadcast list that never shrinks is one people stop\n * opening — but it is a decision rather than a port, so it is not made here.\n * @summary List Notifications\n */\nexport const listNotifications = async (params?: ListNotificationsParams, options?: Parameters<typeof request>[1]): Promise<NotificationListRead> => {\n\n return request<NotificationListRead>(getListNotificationsUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getCreateReportUrl = () => {\n\n\n\n\n return `/cvs/reports`\n}\n\n/**\n * Report a playback problem.\n *\n * The identifying fields are taken from the credential, not the body. The\n * legacy took ``adhId``, ``bmId`` and ``bmBibLocaleId`` from the query string\n * and declared no ``Authorization`` at all, so anyone holding the shared\n * ``api_key`` — which every deployed app binary contains — could file a report\n * in any patron's name, at any library. The DTO still carries those three\n * fields, marked transition-only, and this handler ignores every one of them.\n *\n * ``email`` is free text that ends up in a message. Authenticated and\n * rate-limited it is a support channel; unauthenticated it is a spam relay with\n * the library's return address on it.\n * @summary Create Report\n */\nexport const createReport = async (playbackReportWrite: PlaybackReportWrite, options?: Parameters<typeof request>[1]): Promise<PlaybackReportRead> => {\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<PlaybackReportRead>(getCreateReportUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(playbackReportWrite)\n }\n);}\n\n\n"],"mappings":";;;AAgBA,MAAa,2BAA2B,WAAsC;CAC5E,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,sBAAsB,sBAAsB;AACpF;;;;;;;;;;;;;;;AAgBA,MAAa,oBAAoB,OAAO,QAAkC,YAA2E;CAEnJ,OAAO,QAA8B,wBAAwB,MAAM,GACnE;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,2BAA2B;CAKtC,OAAO;AACT;;;;;;;;;;;;;;;;AAiBA,MAAa,eAAe,OAAO,qBAA0C,YAAyE;CAElJ,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,QAA4B,mBAAmB,GACpD;EACE,GAAG;EACH,QAAQ;EACR,SAAS;GAAE,gBAAgB;GAAoB,GAAG,WAAW,SAAS,OAAO;EAAE;EAC/E,MAAM,KAAK,UAAU,mBAAmB;CAC1C,CACF;AAAE"}
1
+ {"version":3,"file":"cvs-app.js","names":[],"sources":["../../src/api/cvs-app/cvs-app.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.2\n */\nimport type {\n ListNotificationsParams,\n NotificationListRead,\n PlaybackReportRead,\n PlaybackReportWrite\n} from '../../models';\n\nimport { request } from '../../client';\n\nexport const getListNotificationsUrl = (params?: ListNotificationsParams,) => {\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 ? `/cvs/notifications?${stringifiedParams}` : `/cvs/notifications`\n}\n\n/**\n * Notifications published to this caller's library.\n *\n * **These are tenant broadcasts, not a per-user inbox.** ``app_notification``\n * has no user column and no read state — ``app_notification_bm`` links a\n * notification to a library and that is the whole model. So ``unread_count`` is\n * always ``0`` here and every notification is returned every time.\n *\n * Giving each member their own read state is a schema change (a\n * ``notification_read`` row per user and notification), not a query change. It\n * is worth doing — a broadcast list that never shrinks is one people stop\n * opening — but it is a decision rather than a port, so it is not made here.\n * @summary List Notifications\n */\nexport const listNotifications = async (params?: ListNotificationsParams, options?: Parameters<typeof request>[1]): Promise<NotificationListRead> => {\n\n return request<NotificationListRead>(getListNotificationsUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getCreateReportUrl = () => {\n\n\n\n\n return `/cvs/reports`\n}\n\n/**\n * Report a playback problem.\n *\n * The identifying fields are taken from the credential, not the body. The\n * legacy took ``adhId``, ``bmId`` and ``bmBibLocaleId`` from the query string\n * and declared no ``Authorization`` at all, so anyone holding the shared\n * ``api_key`` — which every deployed app binary contains — could file a report\n * in any patron's name, at any library. The DTO still carries those three\n * fields, marked transition-only, and this handler ignores every one of them.\n *\n * ``email`` is free text that ends up in a message. Authenticated and\n * rate-limited it is a support channel; unauthenticated it is a spam relay with\n * the library's return address on it.\n * @summary Create Report\n */\nexport const createReport = async (playbackReportWrite: PlaybackReportWrite, options?: Parameters<typeof request>[1]): Promise<PlaybackReportRead> => {\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<PlaybackReportRead>(getCreateReportUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(playbackReportWrite)\n }\n);}\n\n\n"],"mappings":";;;AAgBA,MAAa,2BAA2B,WAAsC;CAC5E,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,sBAAsB,sBAAsB;AACpF;;;;;;;;;;;;;;;AAgBA,MAAa,oBAAoB,OAAO,QAAkC,YAA2E;CAEnJ,OAAO,QAA8B,wBAAwB,MAAM,GACnE;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,2BAA2B;CAKtC,OAAO;AACT;;;;;;;;;;;;;;;;AAiBA,MAAa,eAAe,OAAO,qBAA0C,YAAyE;CAElJ,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,QAA4B,mBAAmB,GACpD;EACE,GAAG;EACH,QAAQ;EACR,SAAS;GAAE,gBAAgB;GAAoB,GAAG,WAAW,SAAS,OAAO;EAAE;EAC/E,MAAM,KAAK,UAAU,mBAAmB;CAC1C,CACF;AAAE"}
@@ -1,5 +1,5 @@
1
1
 
2
- import { F as SupplierGrantRead, Gr as DocumentPage, Hr as DocumentRead, Vr as DocumentSearchWrite, X as ReviewUpdateWrite, Z as ReviewRead, Zn as LastPositionWrite, in as OpenAtSupplierParams, vt as RatingUpdateWrite } from "../chunks/index.js";
2
+ import { B as SupplierGrantRead, Ct as RatingUpdateWrite, Qr as DocumentRead, Zr as DocumentSearchWrite, mn as OpenAtSupplierParams, nt as ReviewRead, sr as LastPositionWrite, ti as DocumentPage, tt as ReviewUpdateWrite } from "../chunks/index.js";
3
3
  import { c as request } from "../chunks/client.js";
4
4
  //#region src/api/cvs-documents/cvs-documents.d.ts
5
5
  export declare const getSearchDocumentsUrl: () => string;
@@ -1 +1 @@
1
- {"version":3,"file":"cvs-documents.js","names":[],"sources":["../../src/api/cvs-documents/cvs-documents.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 DocumentPage,\n DocumentRead,\n DocumentSearchWrite,\n LastPositionWrite,\n OpenAtSupplierParams,\n RatingUpdateWrite,\n ReviewRead,\n ReviewUpdateWrite,\n SupplierGrantRead\n} from '../../models';\n\nimport { request } from '../../client';\n\nexport const getSearchDocumentsUrl = () => {\n\n\n\n\n return `/cvs/documents/search`\n}\n\n/**\n * Search the CVS catalogue.\n *\n * ``POST`` because the legacy put the query in the body and the mobile clients\n * send it that way. It is a read, so it stays safe: nothing here writes.\n *\n * Same division as ``/search``: the index ranks, PostgreSQL authorises. An\n * index outage degrades to no results rather than to an unfiltered catalogue.\n * @summary Search Documents\n */\nexport const searchDocuments = async (documentSearchWrite: DocumentSearchWrite, options?: Parameters<typeof request>[1]): Promise<DocumentPage> => {\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<DocumentPage>(getSearchDocumentsUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(documentSearchWrite)\n }\n);}\n\n\nexport const getReadDocumentUrl = (docId: number,) => {\n\n\n\n\n return `/cvs/documents/${docId}`\n}\n\n/**\n * One work, if this caller's contract reaches it.\n *\n * Missing until now, which was an oversight rather than a decision: search,\n * rating, review and position all existed and there was no way to fetch the\n * thing they act on. The legacy has no equivalent either — the app assembles a\n * document sheet from whatever the menu endpoint already returned, which is why\n * a deep link into a title has never worked properly.\n * @summary Read Document\n */\nexport const readDocument = async (docId: number, options?: Parameters<typeof request>[1]): Promise<DocumentRead> => {\n\n return request<DocumentRead>(getReadDocumentUrl(docId),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getOpenAtSupplierUrl = (docId: number,\n params?: OpenAtSupplierParams,) => {\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 ? `/cvs/documents/${docId}/grant?${stringifiedParams}` : `/cvs/documents/${docId}/grant`\n}\n\n/**\n * Authorise this patron to open one title at the supplier hosting it.\n *\n * Replaces the legacy ``wstoken``: 4,878 lines dispatching on\n * ``frn.plate_forme`` through 57 near-identical arms. The signing schemes\n * reduce to eight (:class:`~app.models.enums.TokenFormula`) and the platform\n * map to a table, so what is left here is the order of operations.\n *\n * **Entitle, seat, then sign** — the same order the streaming route uses, and\n * for the same reason. A signature is cheap to produce and impossible to\n * recall once it has left; a seat can be released. Signing first would mean a\n * refused request had already handed a patron something that works.\n *\n * ``404`` when the caller is not entitled or the title does not exist — the\n * two are deliberately indistinguishable, as everywhere else in this API.\n * ``409`` when every seat is taken: the caller *is* entitled and should be\n * offered \"try later\", not \"buy a subscription\". ``409`` too when the supplier\n * sits on a platform nobody implemented — four do, and the legacy cannot serve\n * them either, so the honest answer is that this title is not openable rather\n * than a 500 from a missing branch.\n *\n * ``mode`` is the legacy's ``$upload``: ``stream`` to consult in place,\n * ``download`` to take a copy away. It does two things, and both matter —\n *\n * * **The library is billed for the right act.** ``exemp`` records streaming\n * and download separately, and ``pret_download`` is the only column where a\n * loan duration ever appears. Granting a download as a view bills the wrong\n * quota.\n * * **Three platforms sign it.** Jeux CVS, CVS Livres and Komics Initiative\n * append the flag *after* the second key, so a stream and a download of the\n * same title by the same patron at the same second carry different\n * signatures. For the other platforms it is inert.\n *\n * The returned token is for the *supplier*, not for us. See\n * :class:`~app.datamodels.cvs.downloads.SupplierGrantRead`.\n * @summary Open At Supplier\n */\nexport const openAtSupplier = async (docId: number,\n params?: OpenAtSupplierParams, options?: Parameters<typeof request>[1]): Promise<SupplierGrantRead> => {\n\n return request<SupplierGrantRead>(getOpenAtSupplierUrl(docId,params),\n {\n ...options,\n method: 'POST'\n\n\n }\n);}\n\n\nexport const getReadLastPositionUrl = (docId: number,) => {\n\n\n\n\n return `/cvs/documents/${docId}/position`\n}\n\n/**\n * Where this patron got to, or ``0`` if they have not started.\n *\n * New: the legacy has no way to read the position back, so a client that lost\n * its local state could never resume. Absent means not started, which is why\n * the row is not created on read.\n * @summary Read Last Position\n */\nexport const readLastPosition = async (docId: number, options?: Parameters<typeof request>[1]): Promise<LastPositionWrite> => {\n\n return request<LastPositionWrite>(getReadLastPositionUrl(docId),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getSetLastPositionUrl = (docId: number,) => {\n\n\n\n\n return `/cvs/documents/${docId}/position`\n}\n\n/**\n * Record where this patron got to.\n *\n * A write, and the legacy declares it ``GET`` with the position in the query\n * string — which makes resuming a book a cacheable idempotent read that mutates\n * state, and puts it outside the CSRF layer for free.\n *\n * Stored in :class:`~app.models.activity.ReadingPosition`, which the products\n * share — CVS and the partner reader today — so a member who reads across them\n * keeps their place in one shape.\n * @summary Set Last Position\n */\nexport const setLastPosition = async (docId: number,\n lastPositionWrite: LastPositionWrite, 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>(getSetLastPositionUrl(docId),\n {\n ...options,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(lastPositionWrite)\n }\n);}\n\n\nexport const getRateDocumentUrl = (docId: number,) => {\n\n\n\n\n return `/cvs/documents/${docId}/rating`\n}\n\n/**\n * Rate a document. Idempotent — rating again replaces the earlier score.\n *\n * ``PUT`` on the rating sub-resource rather than the legacy\n * ``POST /document/rating/update`` with the id in the body: the identifier\n * belongs in the path, and \"update\" in a path names an operation in a position\n * reserved for a resource.\n * @summary Rate Document\n */\nexport const rateDocument = async (docId: number,\n ratingUpdateWrite: RatingUpdateWrite, 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>(getRateDocumentUrl(docId),\n {\n ...options,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(ratingUpdateWrite)\n }\n);}\n\n\nexport const getWriteReviewUrl = (docId: number,) => {\n\n\n\n\n return `/cvs/documents/${docId}/review`\n}\n\n/**\n * Write or replace this patron's review of a document.\n *\n * One review per person per document, so this is a ``PUT`` on a singular\n * sub-resource rather than a ``POST`` to a collection. The legacy had two routes\n * — with and without an ``avisId`` — for what is one row.\n *\n * Every write resets the review to unpublished. An edit after moderation is a\n * new thing to moderate, and carrying the old approval forward is how an\n * approved review becomes a different text.\n * @summary Write Review\n */\nexport const writeReview = async (docId: number,\n reviewUpdateWrite: ReviewUpdateWrite, options?: Parameters<typeof request>[1]): Promise<ReviewRead> => {\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<ReviewRead>(getWriteReviewUrl(docId),\n {\n ...options,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(reviewUpdateWrite)\n }\n);}\n\n\n"],"mappings":"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"}
1
+ {"version":3,"file":"cvs-documents.js","names":[],"sources":["../../src/api/cvs-documents/cvs-documents.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.2\n */\nimport type {\n DocumentPage,\n DocumentRead,\n DocumentSearchWrite,\n LastPositionWrite,\n OpenAtSupplierParams,\n RatingUpdateWrite,\n ReviewRead,\n ReviewUpdateWrite,\n SupplierGrantRead\n} from '../../models';\n\nimport { request } from '../../client';\n\nexport const getSearchDocumentsUrl = () => {\n\n\n\n\n return `/cvs/documents/search`\n}\n\n/**\n * Search the CVS catalogue.\n *\n * ``POST`` because the legacy put the query in the body and the mobile clients\n * send it that way. It is a read, so it stays safe: nothing here writes.\n *\n * Same division as ``/search``: the index ranks, PostgreSQL authorises. An\n * index outage degrades to no results rather than to an unfiltered catalogue.\n * @summary Search Documents\n */\nexport const searchDocuments = async (documentSearchWrite: DocumentSearchWrite, options?: Parameters<typeof request>[1]): Promise<DocumentPage> => {\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<DocumentPage>(getSearchDocumentsUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(documentSearchWrite)\n }\n);}\n\n\nexport const getReadDocumentUrl = (docId: number,) => {\n\n\n\n\n return `/cvs/documents/${docId}`\n}\n\n/**\n * One work, if this caller's contract reaches it.\n *\n * Missing until now, which was an oversight rather than a decision: search,\n * rating, review and position all existed and there was no way to fetch the\n * thing they act on. The legacy has no equivalent either — the app assembles a\n * document sheet from whatever the menu endpoint already returned, which is why\n * a deep link into a title has never worked properly.\n * @summary Read Document\n */\nexport const readDocument = async (docId: number, options?: Parameters<typeof request>[1]): Promise<DocumentRead> => {\n\n return request<DocumentRead>(getReadDocumentUrl(docId),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getOpenAtSupplierUrl = (docId: number,\n params?: OpenAtSupplierParams,) => {\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 ? `/cvs/documents/${docId}/grant?${stringifiedParams}` : `/cvs/documents/${docId}/grant`\n}\n\n/**\n * Authorise this patron to open one title at the supplier hosting it.\n *\n * Replaces the legacy ``wstoken``: 4,878 lines dispatching on\n * ``frn.plate_forme`` through 57 near-identical arms. The signing schemes\n * reduce to eight (:class:`~app.models.enums.TokenFormula`) and the platform\n * map to a table, so what is left here is the order of operations.\n *\n * **Entitle, seat, then sign** — the same order the streaming route uses, and\n * for the same reason. A signature is cheap to produce and impossible to\n * recall once it has left; a seat can be released. Signing first would mean a\n * refused request had already handed a patron something that works.\n *\n * ``404`` when the caller is not entitled or the title does not exist — the\n * two are deliberately indistinguishable, as everywhere else in this API.\n * ``409`` when every seat is taken: the caller *is* entitled and should be\n * offered \"try later\", not \"buy a subscription\". ``409`` too when the supplier\n * sits on a platform nobody implemented — four do, and the legacy cannot serve\n * them either, so the honest answer is that this title is not openable rather\n * than a 500 from a missing branch.\n *\n * ``mode`` is the legacy's ``$upload``: ``stream`` to consult in place,\n * ``download`` to take a copy away. It does two things, and both matter —\n *\n * * **The library is billed for the right act.** ``exemp`` records streaming\n * and download separately, and ``pret_download`` is the only column where a\n * loan duration ever appears. Granting a download as a view bills the wrong\n * quota.\n * * **Three platforms sign it.** Jeux CVS, CVS Livres and Komics Initiative\n * append the flag *after* the second key, so a stream and a download of the\n * same title by the same patron at the same second carry different\n * signatures. For the other platforms it is inert.\n *\n * The returned token is for the *supplier*, not for us. See\n * :class:`~app.datamodels.cvs.downloads.SupplierGrantRead`.\n * @summary Open At Supplier\n */\nexport const openAtSupplier = async (docId: number,\n params?: OpenAtSupplierParams, options?: Parameters<typeof request>[1]): Promise<SupplierGrantRead> => {\n\n return request<SupplierGrantRead>(getOpenAtSupplierUrl(docId,params),\n {\n ...options,\n method: 'POST'\n\n\n }\n);}\n\n\nexport const getReadLastPositionUrl = (docId: number,) => {\n\n\n\n\n return `/cvs/documents/${docId}/position`\n}\n\n/**\n * Where this patron got to, or ``0`` if they have not started.\n *\n * New: the legacy has no way to read the position back, so a client that lost\n * its local state could never resume. Absent means not started, which is why\n * the row is not created on read.\n * @summary Read Last Position\n */\nexport const readLastPosition = async (docId: number, options?: Parameters<typeof request>[1]): Promise<LastPositionWrite> => {\n\n return request<LastPositionWrite>(getReadLastPositionUrl(docId),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getSetLastPositionUrl = (docId: number,) => {\n\n\n\n\n return `/cvs/documents/${docId}/position`\n}\n\n/**\n * Record where this patron got to.\n *\n * A write, and the legacy declares it ``GET`` with the position in the query\n * string — which makes resuming a book a cacheable idempotent read that mutates\n * state, and puts it outside the CSRF layer for free.\n *\n * Stored in :class:`~app.models.activity.ReadingPosition`, which the products\n * share — CVS and the partner reader today — so a member who reads across them\n * keeps their place in one shape.\n * @summary Set Last Position\n */\nexport const setLastPosition = async (docId: number,\n lastPositionWrite: LastPositionWrite, 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>(getSetLastPositionUrl(docId),\n {\n ...options,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(lastPositionWrite)\n }\n);}\n\n\nexport const getRateDocumentUrl = (docId: number,) => {\n\n\n\n\n return `/cvs/documents/${docId}/rating`\n}\n\n/**\n * Rate a document. Idempotent — rating again replaces the earlier score.\n *\n * ``PUT`` on the rating sub-resource rather than the legacy\n * ``POST /document/rating/update`` with the id in the body: the identifier\n * belongs in the path, and \"update\" in a path names an operation in a position\n * reserved for a resource.\n * @summary Rate Document\n */\nexport const rateDocument = async (docId: number,\n ratingUpdateWrite: RatingUpdateWrite, 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>(getRateDocumentUrl(docId),\n {\n ...options,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(ratingUpdateWrite)\n }\n);}\n\n\nexport const getWriteReviewUrl = (docId: number,) => {\n\n\n\n\n return `/cvs/documents/${docId}/review`\n}\n\n/**\n * Write or replace this patron's review of a document.\n *\n * One review per person per document, so this is a ``PUT`` on a singular\n * sub-resource rather than a ``POST`` to a collection. The legacy had two routes\n * — with and without an ``avisId`` — for what is one row.\n *\n * Every write resets the review to unpublished. An edit after moderation is a\n * new thing to moderate, and carrying the old approval forward is how an\n * approved review becomes a different text.\n * @summary Write Review\n */\nexport const writeReview = async (docId: number,\n reviewUpdateWrite: ReviewUpdateWrite, options?: Parameters<typeof request>[1]): Promise<ReviewRead> => {\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<ReviewRead>(getWriteReviewUrl(docId),\n {\n ...options,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(reviewUpdateWrite)\n }\n);}\n\n\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
 
2
- import { Ar as SelectionRead, Or as FavoriteListRead } from "../chunks/index.js";
2
+ import { Br as SelectionRead, Rr as FavoriteListRead } from "../chunks/index.js";
3
3
  import { c as request } from "../chunks/client.js";
4
4
  //#region src/api/cvs-favorites/cvs-favorites.d.ts
5
5
  export declare const getListCvsFavoritesUrl: () => string;
@@ -1 +1 @@
1
- {"version":3,"file":"cvs-favorites.js","names":[],"sources":["../../src/api/cvs-favorites/cvs-favorites.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 FavoriteListRead,\n SelectionRead\n} from '../../models';\n\nimport { request } from '../../client';\n\nexport const getListCvsFavoritesUrl = () => {\n\n\n\n\n return `/cvs/favorites`\n}\n\n/**\n * The caller's favourites.\n *\n * Entitlement-filtered. A title the library has stopped licensing stays in the\n * list — removing it silently would lose the patron's own curation over a\n * contract change they had nothing to do with — but it is not returned here,\n * because a client cannot open it. When the licence comes back, so does the\n * entry.\n * @summary List Cvs Favorites\n */\nexport const listCvsFavorites = async ( options?: Parameters<typeof request>[1]): Promise<FavoriteListRead> => {\n\n return request<FavoriteListRead>(getListCvsFavoritesUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getRemoveCvsFavoriteUrl = (docId: number,) => {\n\n\n\n\n return `/cvs/favorites/${docId}`\n}\n\n/**\n * Remove a work from the caller's list. Idempotent.\n *\n * Scoped to ``kind = 8`` through the list lookup, so this can never delete a\n * line out of the patron's loans or reservations — which live in the same two\n * tables and would look identical to a query that only matched on\n * ``(user_id, doc_id)``.\n * @summary Remove Cvs Favorite\n */\nexport const removeCvsFavorite = async (docId: number, options?: Parameters<typeof request>[1]): Promise<void> => {\n\n return request<void>(getRemoveCvsFavoriteUrl(docId),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n);}\n\n\nexport const getAddCvsFavoriteUrl = (docId: number,) => {\n\n\n\n\n return `/cvs/favorites/${docId}`\n}\n\n/**\n * Add a work to the caller's list. Idempotent.\n *\n * ``PUT`` and ``DELETE`` on the item, rather than the legacy's single route\n * answering both ``POST`` and ``DELETE`` on a path with a required\n * ``{selectionId}`` its own handler declares optional.\n *\n * Not entitlement-gated. A patron may bookmark something their library has not\n * licensed yet — that is a signal worth having, and it is what an acquisitions\n * request is made of. Reaching the work is gated, at the point of reaching it.\n * @summary Add Cvs Favorite\n */\nexport const addCvsFavorite = async (docId: number, options?: Parameters<typeof request>[1]): Promise<void> => {\n\n return request<void>(getAddCvsFavoriteUrl(docId),\n {\n ...options,\n method: 'PUT'\n\n\n }\n);}\n\n\nexport const getListSelectionsUrl = () => {\n\n\n\n\n return `/cvs/lists`\n}\n\n/**\n * Every list this patron holds, of every kind.\n *\n * Read-only and deliberately unfiltered: a client showing \"my loans\" and \"my\n * list\" side by side needs to know which is which, and hiding the ILS-mirrored\n * kinds would only make it guess.\n * @summary List Selections\n */\nexport const listSelections = async ( options?: Parameters<typeof request>[1]): Promise<SelectionRead[]> => {\n\n return request<SelectionRead[]>(getListSelectionsUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n"],"mappings":";;;AAcA,MAAa,+BAA+B;CAK1C,OAAO;AACT;;;;;;;;;;;AAYA,MAAa,mBAAmB,OAAQ,YAAuE;CAE7G,OAAO,QAA0B,uBAAuB,GACxD;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,2BAA2B,UAAmB;CAKzD,OAAO,kBAAkB;AAC3B;;;;;;;;;;AAWA,MAAa,oBAAoB,OAAO,OAAe,YAA2D;CAEhH,OAAO,QAAc,wBAAwB,KAAK,GAClD;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,wBAAwB,UAAmB;CAKtD,OAAO,kBAAkB;AAC3B;;;;;;;;;;;;;AAcA,MAAa,iBAAiB,OAAO,OAAe,YAA2D;CAE7G,OAAO,QAAc,qBAAqB,KAAK,GAC/C;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,6BAA6B;CAKxC,OAAO;AACT;;;;;;;;;AAUA,MAAa,iBAAiB,OAAQ,YAAsE;CAE1G,OAAO,QAAyB,qBAAqB,GACrD;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE"}
1
+ {"version":3,"file":"cvs-favorites.js","names":[],"sources":["../../src/api/cvs-favorites/cvs-favorites.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.2\n */\nimport type {\n FavoriteListRead,\n SelectionRead\n} from '../../models';\n\nimport { request } from '../../client';\n\nexport const getListCvsFavoritesUrl = () => {\n\n\n\n\n return `/cvs/favorites`\n}\n\n/**\n * The caller's favourites.\n *\n * Entitlement-filtered. A title the library has stopped licensing stays in the\n * list — removing it silently would lose the patron's own curation over a\n * contract change they had nothing to do with — but it is not returned here,\n * because a client cannot open it. When the licence comes back, so does the\n * entry.\n * @summary List Cvs Favorites\n */\nexport const listCvsFavorites = async ( options?: Parameters<typeof request>[1]): Promise<FavoriteListRead> => {\n\n return request<FavoriteListRead>(getListCvsFavoritesUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getRemoveCvsFavoriteUrl = (docId: number,) => {\n\n\n\n\n return `/cvs/favorites/${docId}`\n}\n\n/**\n * Remove a work from the caller's list. Idempotent.\n *\n * Scoped to ``kind = 8`` through the list lookup, so this can never delete a\n * line out of the patron's loans or reservations — which live in the same two\n * tables and would look identical to a query that only matched on\n * ``(user_id, doc_id)``.\n * @summary Remove Cvs Favorite\n */\nexport const removeCvsFavorite = async (docId: number, options?: Parameters<typeof request>[1]): Promise<void> => {\n\n return request<void>(getRemoveCvsFavoriteUrl(docId),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n);}\n\n\nexport const getAddCvsFavoriteUrl = (docId: number,) => {\n\n\n\n\n return `/cvs/favorites/${docId}`\n}\n\n/**\n * Add a work to the caller's list. Idempotent.\n *\n * ``PUT`` and ``DELETE`` on the item, rather than the legacy's single route\n * answering both ``POST`` and ``DELETE`` on a path with a required\n * ``{selectionId}`` its own handler declares optional.\n *\n * Not entitlement-gated. A patron may bookmark something their library has not\n * licensed yet — that is a signal worth having, and it is what an acquisitions\n * request is made of. Reaching the work is gated, at the point of reaching it.\n * @summary Add Cvs Favorite\n */\nexport const addCvsFavorite = async (docId: number, options?: Parameters<typeof request>[1]): Promise<void> => {\n\n return request<void>(getAddCvsFavoriteUrl(docId),\n {\n ...options,\n method: 'PUT'\n\n\n }\n);}\n\n\nexport const getListSelectionsUrl = () => {\n\n\n\n\n return `/cvs/lists`\n}\n\n/**\n * Every list this patron holds, of every kind.\n *\n * Read-only and deliberately unfiltered: a client showing \"my loans\" and \"my\n * list\" side by side needs to know which is which, and hiding the ILS-mirrored\n * kinds would only make it guess.\n * @summary List Selections\n */\nexport const listSelections = async ( options?: Parameters<typeof request>[1]): Promise<SelectionRead[]> => {\n\n return request<SelectionRead[]>(getListSelectionsUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n"],"mappings":";;;AAcA,MAAa,+BAA+B;CAK1C,OAAO;AACT;;;;;;;;;;;AAYA,MAAa,mBAAmB,OAAQ,YAAuE;CAE7G,OAAO,QAA0B,uBAAuB,GACxD;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,2BAA2B,UAAmB;CAKzD,OAAO,kBAAkB;AAC3B;;;;;;;;;;AAWA,MAAa,oBAAoB,OAAO,OAAe,YAA2D;CAEhH,OAAO,QAAc,wBAAwB,KAAK,GAClD;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,wBAAwB,UAAmB;CAKtD,OAAO,kBAAkB;AAC3B;;;;;;;;;;;;;AAcA,MAAa,iBAAiB,OAAO,OAAe,YAA2D;CAE7G,OAAO,QAAc,qBAAqB,KAAK,GAC/C;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,6BAA6B;CAKxC,OAAO;AACT;;;;;;;;;AAUA,MAAa,iBAAiB,OAAQ,YAAsE;CAE1G,OAAO,QAAyB,qBAAqB,GACrD;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE"}
@@ -1,5 +1,5 @@
1
1
 
2
- import { $n as IlsTagWrite, ar as IlsPasswordWrite, cr as IlsLoanListRead, dr as IlsHoldListRead, er as IlsSuggestionOptionListRead, ft as ReadIlsHoldableParams, hr as IlsAccountRead, ir as IlsReviewWrite, jn as ListIlsLoansParams, mr as IlsActionRead, nr as IlsStatusRead, or as IlsLocationListRead, pr as IlsHoldableRead, rr as IlsSignInWrite, ur as IlsHoldWrite } from "../chunks/index.js";
2
+ import { Cr as IlsHoldableRead, Tr as IlsAccountRead, Vn as ListIlsLoansParams, _t as ReadIlsHoldableParams, br as IlsHoldWrite, fr as IlsStatusRead, gr as IlsLocationListRead, hr as IlsPasswordWrite, lr as IlsTagWrite, mr as IlsReviewWrite, pr as IlsSignInWrite, ur as IlsSuggestionOptionListRead, vr as IlsLoanListRead, wr as IlsActionRead, xr as IlsHoldListRead } from "../chunks/index.js";
3
3
  import { c as request } from "../chunks/client.js";
4
4
  //#region src/api/cvs-ils/cvs-ils.d.ts
5
5
  export declare const getReadIlsAccountUrl: () => string;
@@ -1 +1 @@
1
- {"version":3,"file":"cvs-ils.js","names":[],"sources":["../../src/api/cvs-ils/cvs-ils.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 IlsAccountRead,\n IlsActionRead,\n IlsHoldListRead,\n IlsHoldWrite,\n IlsHoldableRead,\n IlsLoanListRead,\n IlsLocationListRead,\n IlsPasswordWrite,\n IlsReviewWrite,\n IlsSignInWrite,\n IlsStatusRead,\n IlsSuggestionOptionListRead,\n IlsTagWrite,\n ListIlsLoansParams,\n ReadIlsHoldableParams\n} from '../../models';\n\nimport { request } from '../../client';\n\nexport const getReadIlsAccountUrl = () => {\n\n\n\n\n return `/ils/account`\n}\n\n/**\n * The borrower record held by the library.\n *\n * Passed through unmodelled — PMB documents no shape for this call and the\n * four libraries run different versions, so a fixed schema would drop exactly\n * the fine and expiry fields a patron most needs.\n * @summary Read Ils Account\n */\nexport const readIlsAccount = async ( options?: Parameters<typeof request>[1]): Promise<IlsAccountRead> => {\n\n return request<IlsAccountRead>(getReadIlsAccountUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getListIlsHoldLocationsUrl = () => {\n\n\n\n\n return `/ils/hold-locations`\n}\n\n/**\n * Branches a reservation may be collected from.\n *\n * A separate call from ``/ils/locations`` because it is a different list —\n * not every branch accepts collections, and offering one that does not\n * produces a hold the patron can never pick up.\n * @summary List Ils Hold Locations\n */\nexport const listIlsHoldLocations = async ( options?: Parameters<typeof request>[1]): Promise<IlsLocationListRead> => {\n\n return request<IlsLocationListRead>(getListIlsHoldLocationsUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getListIlsHoldsUrl = () => {\n\n\n\n\n return `/ils/holds`\n}\n\n/**\n * This patron's reservations, with their place in each queue.\n * @summary List Ils Holds\n */\nexport const listIlsHolds = async ( options?: Parameters<typeof request>[1]): Promise<IlsHoldListRead> => {\n\n return request<IlsHoldListRead>(getListIlsHoldsUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getPlaceIlsHoldUrl = () => {\n\n\n\n\n return `/ils/holds`\n}\n\n/**\n * Reserve a record, for collection at a branch.\n *\n * Check ``GET /ils/records/{record_id}/holdable`` first if you want to show\n * the patron why not before they try — this returns the library's refusal\n * either way.\n * @summary Place Ils Hold\n */\nexport const placeIlsHold = async (ilsHoldWrite: IlsHoldWrite, options?: Parameters<typeof request>[1]): Promise<IlsActionRead> => {\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<IlsActionRead>(getPlaceIlsHoldUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(ilsHoldWrite)\n }\n);}\n\n\nexport const getCancelIlsHoldUrl = (holdId: number,) => {\n\n\n\n\n return `/ils/holds/${holdId}`\n}\n\n/**\n * Cancel a reservation. The library decides whether it may still be.\n * @summary Cancel Ils Hold\n */\nexport const cancelIlsHold = async (holdId: number, options?: Parameters<typeof request>[1]): Promise<IlsActionRead> => {\n\n return request<IlsActionRead>(getCancelIlsHoldUrl(holdId),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n);}\n\n\nexport const getListIlsLoansUrl = (params?: ListIlsLoansParams,) => {\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 ? `/ils/loans?${stringifiedParams}` : `/ils/loans`\n}\n\n/**\n * What this patron has out from their library.\n *\n * ``state`` replaces PMB's integer ``loan_type``. The wire values were 0, 1\n * and 2 with the meanings in the vendor's documentation and nowhere in the\n * URL; a client should not have to know that 2 means overdue.\n * @summary List Ils Loans\n */\nexport const listIlsLoans = async (params?: ListIlsLoansParams, options?: Parameters<typeof request>[1]): Promise<IlsLoanListRead> => {\n\n return request<IlsLoanListRead>(getListIlsLoansUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getRenewIlsLoanUrl = (barcode: string,) => {\n\n\n\n\n return `/ils/loans/${barcode}/renewals`\n}\n\n/**\n * Extend one loan.\n *\n * Keyed on the **item barcode**, not a loan id, because that is what PMB\n * renews — a physical copy — and it is the number printed on the book. It is\n * also what ``GET /ils/loans`` returns as ``barcode``.\n *\n * A refusal is a ``200`` with ``ok: false``, not an error: \"this cannot be\n * renewed again\" is the library's answer to a valid question, and the reason\n * it gives is worth showing the patron.\n * @summary Renew Ils Loan\n */\nexport const renewIlsLoan = async (barcode: string, options?: Parameters<typeof request>[1]): Promise<IlsActionRead> => {\n\n return request<IlsActionRead>(getRenewIlsLoanUrl(barcode),\n {\n ...options,\n method: 'POST'\n\n\n }\n);}\n\n\nexport const getListIlsLocationsUrl = () => {\n\n\n\n\n return `/ils/locations`\n}\n\n/**\n * Every branch in the library's catalogue.\n * @summary List Ils Locations\n */\nexport const listIlsLocations = async ( options?: Parameters<typeof request>[1]): Promise<IlsLocationListRead> => {\n\n return request<IlsLocationListRead>(getListIlsLocationsUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getChangeIlsPasswordUrl = () => {\n\n\n\n\n return `/ils/password`\n}\n\n/**\n * Change the password on the **library's** system.\n *\n * Not the Mozaik one. A patron who changes it here still signs in to this\n * platform with their Mozaik credentials, and saying so in the UI avoids the\n * support ticket.\n * @summary Change Ils Password\n */\nexport const changeIlsPassword = async (ilsPasswordWrite: IlsPasswordWrite, options?: Parameters<typeof request>[1]): Promise<IlsActionRead> => {\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<IlsActionRead>(getChangeIlsPasswordUrl(),\n {\n ...options,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(ilsPasswordWrite)\n }\n);}\n\n\nexport const getReadIlsHoldableUrl = (recordId: number,\n params?: ReadIlsHoldableParams,) => {\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 ? `/ils/records/${recordId}/holdable?${stringifiedParams}` : `/ils/records/${recordId}/holdable`\n}\n\n/**\n * Whether this patron may reserve this record, and the library's reason.\n * @summary Read Ils Holdable\n */\nexport const readIlsHoldable = async (recordId: number,\n params?: ReadIlsHoldableParams, options?: Parameters<typeof request>[1]): Promise<IlsHoldableRead> => {\n\n return request<IlsHoldableRead>(getReadIlsHoldableUrl(recordId,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getAddIlsReviewUrl = (recordId: number,) => {\n\n\n\n\n return `/ils/records/${recordId}/reviews`\n}\n\n/**\n * Post a review to the library's OPAC, where its other borrowers see it.\n *\n * Distinct from a Mozaik review: this one lives on the library's system and\n * is not moderated here.\n * @summary Add Ils Review\n */\nexport const addIlsReview = async (recordId: number,\n ilsReviewWrite: IlsReviewWrite, options?: Parameters<typeof request>[1]): Promise<IlsActionRead> => {\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<IlsActionRead>(getAddIlsReviewUrl(recordId),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(ilsReviewWrite)\n }\n);}\n\n\nexport const getAddIlsTagUrl = (recordId: number,) => {\n\n\n\n\n return `/ils/records/${recordId}/tags`\n}\n\n/**\n * Tag a record in the library's catalogue.\n * @summary Add Ils Tag\n */\nexport const addIlsTag = async (recordId: number,\n ilsTagWrite: IlsTagWrite, options?: Parameters<typeof request>[1]): Promise<IlsActionRead> => {\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<IlsActionRead>(getAddIlsTagUrl(recordId),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(ilsTagWrite)\n }\n);}\n\n\nexport const getSignOutOfIlsUrl = () => {\n\n\n\n\n return `/ils/session`\n}\n\n/**\n * Drop the link. Idempotent, and never fails on the library's account.\n *\n * Our copy of the session goes first. Telling PMB is best-effort: if the\n * library is down, the patron is still signed out here, which is the part\n * they asked for and the part that matters for a shared device.\n * @summary Sign Out Of Ils\n */\nexport const signOutOfIls = async ( options?: Parameters<typeof request>[1]): Promise<void> => {\n\n return request<void>(getSignOutOfIlsUrl(),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n);}\n\n\nexport const getSignInToIlsUrl = () => {\n\n\n\n\n return `/ils/session`\n}\n\n/**\n * Link this patron to their library account with their card credentials.\n *\n * Replaces ``login``, ``login-md5`` and ``login-aes``: those are three ways to\n * carry one password to a server of unknown vintage, and the connector\n * negotiates between them — AES first, because it is the only one that does\n * not hand the library a password it can replay.\n *\n * **The credentials are not stored.** They open an upstream session and are\n * discarded; the session is what persists, and it expires. That is why there\n * is no silent re-login anywhere below — a patron whose session lapses is\n * asked again, because we deliberately cannot do it for them.\n *\n * ``401`` for a wrong card number or password — the patron's, at their\n * library, not their Mozaik credentials.\n * @summary Sign In To Ils\n */\nexport const signInToIls = async (ilsSignInWrite: IlsSignInWrite, options?: Parameters<typeof request>[1]): Promise<IlsStatusRead> => {\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<IlsStatusRead>(getSignInToIlsUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(ilsSignInWrite)\n }\n);}\n\n\nexport const getReadIlsStatusUrl = () => {\n\n\n\n\n return `/ils/status`\n}\n\n/**\n * Whether this library has a catalogue system, and whether we speak it.\n *\n * **Read this first.** Most libraries have no ILS, and a client that assumes\n * otherwise renders a \"my loans\" tab that can only ever answer ``409``.\n *\n * Never 409s itself — \"there is no integration\" is the answer, not an error.\n * @summary Read Ils Status\n */\nexport const readIlsStatus = async ( options?: Parameters<typeof request>[1]): Promise<IlsStatusRead> => {\n\n return request<IlsStatusRead>(getReadIlsStatusUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getListIlsSuggestionCategoriesUrl = () => {\n\n\n\n\n return `/ils/suggestion-categories`\n}\n\n/**\n * Categories a purchase suggestion may name.\n *\n * The suggestion itself is not submitted here: PMB's OPAC borrower services\n * expose the two vocabularies and no ``add_suggestion``, so the legacy could\n * not submit one either. Carried because a client building a suggestion form\n * needs them, and their absence would look like an oversight rather than the\n * vendor's.\n * @summary List Ils Suggestion Categories\n */\nexport const listIlsSuggestionCategories = async ( options?: Parameters<typeof request>[1]): Promise<IlsSuggestionOptionListRead> => {\n\n return request<IlsSuggestionOptionListRead>(getListIlsSuggestionCategoriesUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getListIlsSuggestionSourcesUrl = () => {\n\n\n\n\n return `/ils/suggestion-sources`\n}\n\n/**\n * Sources a purchase suggestion may cite. See the note on categories.\n * @summary List Ils Suggestion Sources\n */\nexport const listIlsSuggestionSources = async ( options?: Parameters<typeof request>[1]): Promise<IlsSuggestionOptionListRead> => {\n\n return request<IlsSuggestionOptionListRead>(getListIlsSuggestionSourcesUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n"],"mappings":"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"}
1
+ {"version":3,"file":"cvs-ils.js","names":[],"sources":["../../src/api/cvs-ils/cvs-ils.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.2\n */\nimport type {\n IlsAccountRead,\n IlsActionRead,\n IlsHoldListRead,\n IlsHoldWrite,\n IlsHoldableRead,\n IlsLoanListRead,\n IlsLocationListRead,\n IlsPasswordWrite,\n IlsReviewWrite,\n IlsSignInWrite,\n IlsStatusRead,\n IlsSuggestionOptionListRead,\n IlsTagWrite,\n ListIlsLoansParams,\n ReadIlsHoldableParams\n} from '../../models';\n\nimport { request } from '../../client';\n\nexport const getReadIlsAccountUrl = () => {\n\n\n\n\n return `/ils/account`\n}\n\n/**\n * The borrower record held by the library.\n *\n * Passed through unmodelled — PMB documents no shape for this call and the\n * four libraries run different versions, so a fixed schema would drop exactly\n * the fine and expiry fields a patron most needs.\n * @summary Read Ils Account\n */\nexport const readIlsAccount = async ( options?: Parameters<typeof request>[1]): Promise<IlsAccountRead> => {\n\n return request<IlsAccountRead>(getReadIlsAccountUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getListIlsHoldLocationsUrl = () => {\n\n\n\n\n return `/ils/hold-locations`\n}\n\n/**\n * Branches a reservation may be collected from.\n *\n * A separate call from ``/ils/locations`` because it is a different list —\n * not every branch accepts collections, and offering one that does not\n * produces a hold the patron can never pick up.\n * @summary List Ils Hold Locations\n */\nexport const listIlsHoldLocations = async ( options?: Parameters<typeof request>[1]): Promise<IlsLocationListRead> => {\n\n return request<IlsLocationListRead>(getListIlsHoldLocationsUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getListIlsHoldsUrl = () => {\n\n\n\n\n return `/ils/holds`\n}\n\n/**\n * This patron's reservations, with their place in each queue.\n * @summary List Ils Holds\n */\nexport const listIlsHolds = async ( options?: Parameters<typeof request>[1]): Promise<IlsHoldListRead> => {\n\n return request<IlsHoldListRead>(getListIlsHoldsUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getPlaceIlsHoldUrl = () => {\n\n\n\n\n return `/ils/holds`\n}\n\n/**\n * Reserve a record, for collection at a branch.\n *\n * Check ``GET /ils/records/{record_id}/holdable`` first if you want to show\n * the patron why not before they try — this returns the library's refusal\n * either way.\n * @summary Place Ils Hold\n */\nexport const placeIlsHold = async (ilsHoldWrite: IlsHoldWrite, options?: Parameters<typeof request>[1]): Promise<IlsActionRead> => {\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<IlsActionRead>(getPlaceIlsHoldUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(ilsHoldWrite)\n }\n);}\n\n\nexport const getCancelIlsHoldUrl = (holdId: number,) => {\n\n\n\n\n return `/ils/holds/${holdId}`\n}\n\n/**\n * Cancel a reservation. The library decides whether it may still be.\n * @summary Cancel Ils Hold\n */\nexport const cancelIlsHold = async (holdId: number, options?: Parameters<typeof request>[1]): Promise<IlsActionRead> => {\n\n return request<IlsActionRead>(getCancelIlsHoldUrl(holdId),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n);}\n\n\nexport const getListIlsLoansUrl = (params?: ListIlsLoansParams,) => {\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 ? `/ils/loans?${stringifiedParams}` : `/ils/loans`\n}\n\n/**\n * What this patron has out from their library.\n *\n * ``state`` replaces PMB's integer ``loan_type``. The wire values were 0, 1\n * and 2 with the meanings in the vendor's documentation and nowhere in the\n * URL; a client should not have to know that 2 means overdue.\n * @summary List Ils Loans\n */\nexport const listIlsLoans = async (params?: ListIlsLoansParams, options?: Parameters<typeof request>[1]): Promise<IlsLoanListRead> => {\n\n return request<IlsLoanListRead>(getListIlsLoansUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getRenewIlsLoanUrl = (barcode: string,) => {\n\n\n\n\n return `/ils/loans/${barcode}/renewals`\n}\n\n/**\n * Extend one loan.\n *\n * Keyed on the **item barcode**, not a loan id, because that is what PMB\n * renews — a physical copy — and it is the number printed on the book. It is\n * also what ``GET /ils/loans`` returns as ``barcode``.\n *\n * A refusal is a ``200`` with ``ok: false``, not an error: \"this cannot be\n * renewed again\" is the library's answer to a valid question, and the reason\n * it gives is worth showing the patron.\n * @summary Renew Ils Loan\n */\nexport const renewIlsLoan = async (barcode: string, options?: Parameters<typeof request>[1]): Promise<IlsActionRead> => {\n\n return request<IlsActionRead>(getRenewIlsLoanUrl(barcode),\n {\n ...options,\n method: 'POST'\n\n\n }\n);}\n\n\nexport const getListIlsLocationsUrl = () => {\n\n\n\n\n return `/ils/locations`\n}\n\n/**\n * Every branch in the library's catalogue.\n * @summary List Ils Locations\n */\nexport const listIlsLocations = async ( options?: Parameters<typeof request>[1]): Promise<IlsLocationListRead> => {\n\n return request<IlsLocationListRead>(getListIlsLocationsUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getChangeIlsPasswordUrl = () => {\n\n\n\n\n return `/ils/password`\n}\n\n/**\n * Change the password on the **library's** system.\n *\n * Not the Mozaik one. A patron who changes it here still signs in to this\n * platform with their Mozaik credentials, and saying so in the UI avoids the\n * support ticket.\n * @summary Change Ils Password\n */\nexport const changeIlsPassword = async (ilsPasswordWrite: IlsPasswordWrite, options?: Parameters<typeof request>[1]): Promise<IlsActionRead> => {\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<IlsActionRead>(getChangeIlsPasswordUrl(),\n {\n ...options,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(ilsPasswordWrite)\n }\n);}\n\n\nexport const getReadIlsHoldableUrl = (recordId: number,\n params?: ReadIlsHoldableParams,) => {\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 ? `/ils/records/${recordId}/holdable?${stringifiedParams}` : `/ils/records/${recordId}/holdable`\n}\n\n/**\n * Whether this patron may reserve this record, and the library's reason.\n * @summary Read Ils Holdable\n */\nexport const readIlsHoldable = async (recordId: number,\n params?: ReadIlsHoldableParams, options?: Parameters<typeof request>[1]): Promise<IlsHoldableRead> => {\n\n return request<IlsHoldableRead>(getReadIlsHoldableUrl(recordId,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getAddIlsReviewUrl = (recordId: number,) => {\n\n\n\n\n return `/ils/records/${recordId}/reviews`\n}\n\n/**\n * Post a review to the library's OPAC, where its other borrowers see it.\n *\n * Distinct from a Mozaik review: this one lives on the library's system and\n * is not moderated here.\n * @summary Add Ils Review\n */\nexport const addIlsReview = async (recordId: number,\n ilsReviewWrite: IlsReviewWrite, options?: Parameters<typeof request>[1]): Promise<IlsActionRead> => {\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<IlsActionRead>(getAddIlsReviewUrl(recordId),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(ilsReviewWrite)\n }\n);}\n\n\nexport const getAddIlsTagUrl = (recordId: number,) => {\n\n\n\n\n return `/ils/records/${recordId}/tags`\n}\n\n/**\n * Tag a record in the library's catalogue.\n * @summary Add Ils Tag\n */\nexport const addIlsTag = async (recordId: number,\n ilsTagWrite: IlsTagWrite, options?: Parameters<typeof request>[1]): Promise<IlsActionRead> => {\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<IlsActionRead>(getAddIlsTagUrl(recordId),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(ilsTagWrite)\n }\n);}\n\n\nexport const getSignOutOfIlsUrl = () => {\n\n\n\n\n return `/ils/session`\n}\n\n/**\n * Drop the link. Idempotent, and never fails on the library's account.\n *\n * Our copy of the session goes first. Telling PMB is best-effort: if the\n * library is down, the patron is still signed out here, which is the part\n * they asked for and the part that matters for a shared device.\n * @summary Sign Out Of Ils\n */\nexport const signOutOfIls = async ( options?: Parameters<typeof request>[1]): Promise<void> => {\n\n return request<void>(getSignOutOfIlsUrl(),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n);}\n\n\nexport const getSignInToIlsUrl = () => {\n\n\n\n\n return `/ils/session`\n}\n\n/**\n * Link this patron to their library account with their card credentials.\n *\n * Replaces ``login``, ``login-md5`` and ``login-aes``: those are three ways to\n * carry one password to a server of unknown vintage, and the connector\n * negotiates between them — AES first, because it is the only one that does\n * not hand the library a password it can replay.\n *\n * **The credentials are not stored.** They open an upstream session and are\n * discarded; the session is what persists, and it expires. That is why there\n * is no silent re-login anywhere below — a patron whose session lapses is\n * asked again, because we deliberately cannot do it for them.\n *\n * ``401`` for a wrong card number or password — the patron's, at their\n * library, not their Mozaik credentials.\n * @summary Sign In To Ils\n */\nexport const signInToIls = async (ilsSignInWrite: IlsSignInWrite, options?: Parameters<typeof request>[1]): Promise<IlsStatusRead> => {\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<IlsStatusRead>(getSignInToIlsUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(ilsSignInWrite)\n }\n);}\n\n\nexport const getReadIlsStatusUrl = () => {\n\n\n\n\n return `/ils/status`\n}\n\n/**\n * Whether this library has a catalogue system, and whether we speak it.\n *\n * **Read this first.** Most libraries have no ILS, and a client that assumes\n * otherwise renders a \"my loans\" tab that can only ever answer ``409``.\n *\n * Never 409s itself — \"there is no integration\" is the answer, not an error.\n * @summary Read Ils Status\n */\nexport const readIlsStatus = async ( options?: Parameters<typeof request>[1]): Promise<IlsStatusRead> => {\n\n return request<IlsStatusRead>(getReadIlsStatusUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getListIlsSuggestionCategoriesUrl = () => {\n\n\n\n\n return `/ils/suggestion-categories`\n}\n\n/**\n * Categories a purchase suggestion may name.\n *\n * The suggestion itself is not submitted here: PMB's OPAC borrower services\n * expose the two vocabularies and no ``add_suggestion``, so the legacy could\n * not submit one either. Carried because a client building a suggestion form\n * needs them, and their absence would look like an oversight rather than the\n * vendor's.\n * @summary List Ils Suggestion Categories\n */\nexport const listIlsSuggestionCategories = async ( options?: Parameters<typeof request>[1]): Promise<IlsSuggestionOptionListRead> => {\n\n return request<IlsSuggestionOptionListRead>(getListIlsSuggestionCategoriesUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getListIlsSuggestionSourcesUrl = () => {\n\n\n\n\n return `/ils/suggestion-sources`\n}\n\n/**\n * Sources a purchase suggestion may cite. See the note on categories.\n * @summary List Ils Suggestion Sources\n */\nexport const listIlsSuggestionSources = async ( options?: Parameters<typeof request>[1]): Promise<IlsSuggestionOptionListRead> => {\n\n return request<IlsSuggestionOptionListRead>(getListIlsSuggestionSourcesUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
 
2
- import { An as ListLoansParams, Yo as BorrowWrite, gn as LoanRead, hn as LoanPage } from "../chunks/index.js";
2
+ import { Bn as ListLoansParams, En as LoanRead, Ls as BorrowWrite, Tn as LoanPage } from "../chunks/index.js";
3
3
  import { c as request } from "../chunks/client.js";
4
4
  //#region src/api/cvs-loans/cvs-loans.d.ts
5
5
  export declare const getListLoansUrl: (params?: ListLoansParams) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"cvs-loans.js","names":[],"sources":["../../src/api/cvs-loans/cvs-loans.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 BorrowWrite,\n ListLoansParams,\n LoanPage,\n LoanRead\n} from '../../models';\n\nimport { request } from '../../client';\n\nexport const getListLoansUrl = (params?: ListLoansParams,) => {\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 ? `/cvs/loans?${stringifiedParams}` : `/cvs/loans`\n}\n\n/**\n * What this caller currently holds (and optionally what they have returned).\n *\n * Replaces ``/download/details``, which took a ``downloadid`` and answered about\n * one loan at a time — so a client rebuilding its shelf after reinstalling made\n * one request per title, and had no way to discover the ids in the first place.\n * @summary List Loans\n */\nexport const listLoans = async (params?: ListLoansParams, options?: Parameters<typeof request>[1]): Promise<LoanPage> => {\n\n return request<LoanPage>(getListLoansUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getBorrowUrl = () => {\n\n\n\n\n return `/cvs/loans`\n}\n\n/**\n * Borrow a work.\n *\n * The order matters and is the whole point of the entitlement model:\n *\n * 1. **Entitled?** — is this act permitted on this work under a live contract.\n * 2. **A seat free?** — ``max_concurrent`` counted from unreturned loans.\n * 3. **Units left?** — reserved in Redis *before* the row is written, so a\n * refusal costs no database work.\n * 4. **Append.** The ledger row is the loan.\n *\n * Idempotent on ``request_key``: a retried borrow returns the loan the first\n * attempt created rather than taking a second copy of the same title.\n * @summary Borrow\n */\nexport const borrow = async (borrowWrite: BorrowWrite, options?: Parameters<typeof request>[1]): Promise<LoanRead> => {\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<LoanRead>(getBorrowUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(borrowWrite)\n }\n);}\n\n\nexport const getReturnLoanUrl = (loanId: number,) => {\n\n\n\n\n return `/cvs/loans/${loanId}`\n}\n\n/**\n * Give a loan back early, freeing its seat. Idempotent.\n *\n * Returning something already returned is ``204``: the caller wanted it back on\n * the shelf and it is on the shelf. The legacy answered an error, which meant a\n * retried return looked like a failure and clients stopped retrying.\n *\n * The unit stays spent — see the module docstring. Only the seat comes back.\n * @summary Return Loan\n */\nexport const returnLoan = async (loanId: number, options?: Parameters<typeof request>[1]): Promise<void> => {\n\n return request<void>(getReturnLoanUrl(loanId),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n);}\n\n\nexport const getExtendLoanUrl = (loanId: number,) => {\n\n\n\n\n return `/cvs/loans/${loanId}/extensions`\n}\n\n/**\n * Prolong a loan.\n *\n * Bounded by the grant's ``max_extensions`` — the legacy's ``nb_extend`` — and\n * refused once the loan has been returned or has lapsed. Extending something\n * that already expired is not an extension, it is a new loan, and it should\n * spend a new unit rather than quietly avoid one.\n *\n * Not idempotent, deliberately: two extension requests mean two extensions, and\n * a client that wants exactly one should not send two.\n * @summary Extend Loan\n */\nexport const extendLoan = async (loanId: number, options?: Parameters<typeof request>[1]): Promise<LoanRead> => {\n\n return request<LoanRead>(getExtendLoanUrl(loanId),\n {\n ...options,\n method: 'POST'\n\n\n }\n);}\n\n\n"],"mappings":";;;AAgBA,MAAa,mBAAmB,WAA8B;CAC5D,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,cAAc,sBAAsB;AAC5E;;;;;;;;;AAUA,MAAa,YAAY,OAAO,QAA0B,YAA+D;CAEvH,OAAO,QAAkB,gBAAgB,MAAM,GAC/C;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,qBAAqB;CAKhC,OAAO;AACT;;;;;;;;;;;;;;;;AAiBA,MAAa,SAAS,OAAO,aAA0B,YAA+D;CAElH,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,QAAkB,aAAa,GACpC;EACE,GAAG;EACH,QAAQ;EACR,SAAS;GAAE,gBAAgB;GAAoB,GAAG,WAAW,SAAS,OAAO;EAAE;EAC/E,MAAM,KAAK,UAAU,WAAW;CAClC,CACF;AAAE;AAGF,MAAa,oBAAoB,WAAoB;CAKnD,OAAO,cAAc;AACvB;;;;;;;;;;;AAYA,MAAa,aAAa,OAAO,QAAgB,YAA2D;CAE1G,OAAO,QAAc,iBAAiB,MAAM,GAC5C;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,oBAAoB,WAAoB;CAKnD,OAAO,cAAc,OAAO;AAC9B;;;;;;;;;;;;;AAcA,MAAa,aAAa,OAAO,QAAgB,YAA+D;CAE9G,OAAO,QAAkB,iBAAiB,MAAM,GAChD;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE"}
1
+ {"version":3,"file":"cvs-loans.js","names":[],"sources":["../../src/api/cvs-loans/cvs-loans.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.2\n */\nimport type {\n BorrowWrite,\n ListLoansParams,\n LoanPage,\n LoanRead\n} from '../../models';\n\nimport { request } from '../../client';\n\nexport const getListLoansUrl = (params?: ListLoansParams,) => {\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 ? `/cvs/loans?${stringifiedParams}` : `/cvs/loans`\n}\n\n/**\n * What this caller currently holds (and optionally what they have returned).\n *\n * Replaces ``/download/details``, which took a ``downloadid`` and answered about\n * one loan at a time — so a client rebuilding its shelf after reinstalling made\n * one request per title, and had no way to discover the ids in the first place.\n * @summary List Loans\n */\nexport const listLoans = async (params?: ListLoansParams, options?: Parameters<typeof request>[1]): Promise<LoanPage> => {\n\n return request<LoanPage>(getListLoansUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getBorrowUrl = () => {\n\n\n\n\n return `/cvs/loans`\n}\n\n/**\n * Borrow a work.\n *\n * The order matters and is the whole point of the entitlement model:\n *\n * 1. **Entitled?** — is this act permitted on this work under a live contract.\n * 2. **A seat free?** — ``max_concurrent`` counted from unreturned loans.\n * 3. **Units left?** — reserved in Redis *before* the row is written, so a\n * refusal costs no database work.\n * 4. **Append.** The ledger row is the loan.\n *\n * Idempotent on ``request_key``: a retried borrow returns the loan the first\n * attempt created rather than taking a second copy of the same title.\n * @summary Borrow\n */\nexport const borrow = async (borrowWrite: BorrowWrite, options?: Parameters<typeof request>[1]): Promise<LoanRead> => {\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<LoanRead>(getBorrowUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(borrowWrite)\n }\n);}\n\n\nexport const getReturnLoanUrl = (loanId: number,) => {\n\n\n\n\n return `/cvs/loans/${loanId}`\n}\n\n/**\n * Give a loan back early, freeing its seat. Idempotent.\n *\n * Returning something already returned is ``204``: the caller wanted it back on\n * the shelf and it is on the shelf. The legacy answered an error, which meant a\n * retried return looked like a failure and clients stopped retrying.\n *\n * The unit stays spent — see the module docstring. Only the seat comes back.\n * @summary Return Loan\n */\nexport const returnLoan = async (loanId: number, options?: Parameters<typeof request>[1]): Promise<void> => {\n\n return request<void>(getReturnLoanUrl(loanId),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n);}\n\n\nexport const getExtendLoanUrl = (loanId: number,) => {\n\n\n\n\n return `/cvs/loans/${loanId}/extensions`\n}\n\n/**\n * Prolong a loan.\n *\n * Bounded by the grant's ``max_extensions`` — the legacy's ``nb_extend`` — and\n * refused once the loan has been returned or has lapsed. Extending something\n * that already expired is not an extension, it is a new loan, and it should\n * spend a new unit rather than quietly avoid one.\n *\n * Not idempotent, deliberately: two extension requests mean two extensions, and\n * a client that wants exactly one should not send two.\n * @summary Extend Loan\n */\nexport const extendLoan = async (loanId: number, options?: Parameters<typeof request>[1]): Promise<LoanRead> => {\n\n return request<LoanRead>(getExtendLoanUrl(loanId),\n {\n ...options,\n method: 'POST'\n\n\n }\n);}\n\n\n"],"mappings":";;;AAgBA,MAAa,mBAAmB,WAA8B;CAC5D,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,cAAc,sBAAsB;AAC5E;;;;;;;;;AAUA,MAAa,YAAY,OAAO,QAA0B,YAA+D;CAEvH,OAAO,QAAkB,gBAAgB,MAAM,GAC/C;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,qBAAqB;CAKhC,OAAO;AACT;;;;;;;;;;;;;;;;AAiBA,MAAa,SAAS,OAAO,aAA0B,YAA+D;CAElH,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,QAAkB,aAAa,GACpC;EACE,GAAG;EACH,QAAQ;EACR,SAAS;GAAE,gBAAgB;GAAoB,GAAG,WAAW,SAAS,OAAO;EAAE;EAC/E,MAAM,KAAK,UAAU,WAAW;CAClC,CACF;AAAE;AAGF,MAAa,oBAAoB,WAAoB;CAKnD,OAAO,cAAc;AACvB;;;;;;;;;;;AAYA,MAAa,aAAa,OAAO,QAAgB,YAA2D;CAE1G,OAAO,QAAc,iBAAiB,MAAM,GAC5C;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,oBAAoB,WAAoB;CAKnD,OAAO,cAAc,OAAO;AAC9B;;;;;;;;;;;;;AAcA,MAAa,aAAa,OAAO,QAAgB,YAA+D;CAE9G,OAAO,QAAkB,iBAAiB,MAAM,GAChD;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE"}
@@ -1,5 +1,5 @@
1
1
 
2
- import { Ht as PaymentRead, Rt as PaymentStartWrite, Vt as PaymentListRead, zt as PaymentStartRead } from "../chunks/index.js";
2
+ import { Gt as PaymentStartRead, Jt as PaymentRead, Wt as PaymentStartWrite, qt as PaymentListRead } from "../chunks/index.js";
3
3
  import { c as request } from "../chunks/client.js";
4
4
  //#region src/api/cvs-payments/cvs-payments.d.ts
5
5
  export declare const getListPaymentsUrl: () => string;
@@ -1 +1 @@
1
- {"version":3,"file":"cvs-payments.js","names":[],"sources":["../../src/api/cvs-payments/cvs-payments.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 PaymentListRead,\n PaymentRead,\n PaymentStartRead,\n PaymentStartWrite\n} from '../../models';\n\nimport { request } from '../../client';\n\nexport const getListPaymentsUrl = () => {\n\n\n\n\n return `/cvs/payments`\n}\n\n/**\n * This patron's top-ups, newest first. The legacy's ``historyPayments()``.\n * @summary List Payments\n */\nexport const listPayments = async ( options?: Parameters<typeof request>[1]): Promise<PaymentListRead> => {\n\n return request<PaymentListRead>(getListPaymentsUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getStartPaymentUrl = () => {\n\n\n\n\n return `/cvs/payments`\n}\n\n/**\n * Begin a top-up and get the hand-off to send the patron to.\n *\n * **Which provider answers is the library's setting**, not the client's\n * choice. PayPal returns ``approvalUrl``; Paybox returns ``form``, because\n * its hand-off is a signed POST and not a redirect. Read ``provider`` rather\n * than testing which field is null.\n *\n * ``409`` for an amount this library does not sell — the tariff is the\n * server's, because a client that may name its own price may name zero, and\n * it differs per provider (Paybox sells séances at 3 €, PayPal credits at\n * 5.90 €). ``503`` when the library sells nothing or its merchant account is\n * unconfigured, with nothing written.\n *\n * Nothing is charged here and nothing is credited. This opens a pending row\n * and the provider hand-off, and that is all.\n *\n * ``requestKey`` makes it idempotent: a retried start returns the hand-off the\n * first attempt opened rather than opening a second, because a patron who\n * then pays both has been charged twice for one intent.\n * @summary Start Payment\n */\nexport const startPayment = async (paymentStartWrite: PaymentStartWrite, options?: Parameters<typeof request>[1]): Promise<PaymentStartRead> => {\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<PaymentStartRead>(getStartPaymentUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(paymentStartWrite)\n }\n);}\n\n\nexport const getReadPaymentUrl = (paymentId: number,) => {\n\n\n\n\n return `/cvs/payments/${paymentId}`\n}\n\n/**\n * One top-up, and what became of it.\n *\n * This is what a client reads after the provider sends the browser back. The\n * landing URL says what the patron *did*; this says what the *provider* told\n * us, which is the only version that credits anything.\n *\n * ``404`` for somebody else's payment, indistinguishable from one that does\n * not exist: a payment id is a bare integer.\n * @summary Read Payment\n */\nexport const readPayment = async (paymentId: number, options?: Parameters<typeof request>[1]): Promise<PaymentRead> => {\n\n return request<PaymentRead>(getReadPaymentUrl(paymentId),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n"],"mappings":";;;AAgBA,MAAa,2BAA2B;CAKtC,OAAO;AACT;;;;;AAMA,MAAa,eAAe,OAAQ,YAAsE;CAExG,OAAO,QAAyB,mBAAmB,GACnD;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,2BAA2B;CAKtC,OAAO;AACT;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAa,eAAe,OAAO,mBAAsC,YAAuE;CAE5I,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,QAA0B,mBAAmB,GAClD;EACE,GAAG;EACH,QAAQ;EACR,SAAS;GAAE,gBAAgB;GAAoB,GAAG,WAAW,SAAS,OAAO;EAAE;EAC/E,MAAM,KAAK,UAAU,iBAAiB;CACxC,CACF;AAAE;AAGF,MAAa,qBAAqB,cAAuB;CAKvD,OAAO,iBAAiB;AAC1B;;;;;;;;;;;;AAaA,MAAa,cAAc,OAAO,WAAmB,YAAkE;CAErH,OAAO,QAAqB,kBAAkB,SAAS,GACvD;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE"}
1
+ {"version":3,"file":"cvs-payments.js","names":[],"sources":["../../src/api/cvs-payments/cvs-payments.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.2\n */\nimport type {\n PaymentListRead,\n PaymentRead,\n PaymentStartRead,\n PaymentStartWrite\n} from '../../models';\n\nimport { request } from '../../client';\n\nexport const getListPaymentsUrl = () => {\n\n\n\n\n return `/cvs/payments`\n}\n\n/**\n * This patron's top-ups, newest first. The legacy's ``historyPayments()``.\n * @summary List Payments\n */\nexport const listPayments = async ( options?: Parameters<typeof request>[1]): Promise<PaymentListRead> => {\n\n return request<PaymentListRead>(getListPaymentsUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getStartPaymentUrl = () => {\n\n\n\n\n return `/cvs/payments`\n}\n\n/**\n * Begin a top-up and get the hand-off to send the patron to.\n *\n * **Which provider answers is the library's setting**, not the client's\n * choice. PayPal returns ``approvalUrl``; Paybox returns ``form``, because\n * its hand-off is a signed POST and not a redirect. Read ``provider`` rather\n * than testing which field is null.\n *\n * ``409`` for an amount this library does not sell — the tariff is the\n * server's, because a client that may name its own price may name zero, and\n * it differs per provider (Paybox sells séances at 3 €, PayPal credits at\n * 5.90 €). ``503`` when the library sells nothing or its merchant account is\n * unconfigured, with nothing written.\n *\n * Nothing is charged here and nothing is credited. This opens a pending row\n * and the provider hand-off, and that is all.\n *\n * ``requestKey`` makes it idempotent: a retried start returns the hand-off the\n * first attempt opened rather than opening a second, because a patron who\n * then pays both has been charged twice for one intent.\n * @summary Start Payment\n */\nexport const startPayment = async (paymentStartWrite: PaymentStartWrite, options?: Parameters<typeof request>[1]): Promise<PaymentStartRead> => {\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<PaymentStartRead>(getStartPaymentUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(paymentStartWrite)\n }\n);}\n\n\nexport const getReadPaymentUrl = (paymentId: number,) => {\n\n\n\n\n return `/cvs/payments/${paymentId}`\n}\n\n/**\n * One top-up, and what became of it.\n *\n * This is what a client reads after the provider sends the browser back. The\n * landing URL says what the patron *did*; this says what the *provider* told\n * us, which is the only version that credits anything.\n *\n * ``404`` for somebody else's payment, indistinguishable from one that does\n * not exist: a payment id is a bare integer.\n * @summary Read Payment\n */\nexport const readPayment = async (paymentId: number, options?: Parameters<typeof request>[1]): Promise<PaymentRead> => {\n\n return request<PaymentRead>(getReadPaymentUrl(paymentId),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n"],"mappings":";;;AAgBA,MAAa,2BAA2B;CAKtC,OAAO;AACT;;;;;AAMA,MAAa,eAAe,OAAQ,YAAsE;CAExG,OAAO,QAAyB,mBAAmB,GACnD;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE;AAGF,MAAa,2BAA2B;CAKtC,OAAO;AACT;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAa,eAAe,OAAO,mBAAsC,YAAuE;CAE5I,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,QAA0B,mBAAmB,GAClD;EACE,GAAG;EACH,QAAQ;EACR,SAAS;GAAE,gBAAgB;GAAoB,GAAG,WAAW,SAAS,OAAO;EAAE;EAC/E,MAAM,KAAK,UAAU,iBAAiB;CACxC,CACF;AAAE;AAGF,MAAa,qBAAqB,cAAuB;CAKvD,OAAO,iBAAiB;AAC1B;;;;;;;;;;;;AAaA,MAAa,cAAc,OAAO,WAAmB,YAAkE;CAErH,OAAO,QAAqB,kBAAkB,SAAS,GACvD;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE"}
@@ -1,5 +1,5 @@
1
1
 
2
- import { B as StreamingSessionRead, z as StreamingStartQuery } from "../chunks/index.js";
2
+ import { G as StreamingSessionRead, W as StreamingStartQuery } from "../chunks/index.js";
3
3
  import { c as request } from "../chunks/client.js";
4
4
  //#region src/api/cvs-streaming/cvs-streaming.d.ts
5
5
  export declare const getStartSessionUrl: () => string;
@@ -1 +1 @@
1
- {"version":3,"file":"cvs-streaming.js","names":[],"sources":["../../src/api/cvs-streaming/cvs-streaming.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 StreamingSessionRead,\n StreamingStartQuery\n} from '../../models';\n\nimport { request } from '../../client';\n\nexport const getStartSessionUrl = () => {\n\n\n\n\n return `/streaming/sessions`\n}\n\n/**\n * Begin playing a title. Returns the manifests and, if encrypted, a licence.\n *\n * ``409`` when every seat is taken, ``404`` when the caller is not entitled or\n * the title has no video, ``503`` when the DRM broker cannot be reached.\n *\n * **404 and not 403 for an entitlement refusal**, consistently with the rest\n * of the API: whether a particular library licensed a particular film is not\n * something an unentitled caller gets to enumerate.\n *\n * **The seat is taken before the licence is minted.** A licence is a real cost\n * with a third party and cannot be un-minted; a lease can be closed. So the\n * order is entitle, seat, then mint — and a client that gets a 409 has cost\n * the library nothing.\n *\n * Not idempotent on its own, but honours ``Idempotency-Key``: a retried start\n * returns the lease the first attempt opened rather than taking a second seat.\n * A licence is re-minted on the retry, which is correct — the first response\n * may never have arrived, and a licence is cheap to replace while a seat is\n * not.\n * @summary Start Session\n */\nexport const startSession = async (streamingStartQuery: StreamingStartQuery, options?: Parameters<typeof request>[1]): Promise<StreamingSessionRead> => {\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<StreamingSessionRead>(getStartSessionUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(streamingStartQuery)\n }\n);}\n\n\nexport const getStreamingDetailsUrl = (docId: number,) => {\n\n\n\n\n return `/streaming/${docId}/details`\n}\n\n/**\n * What a title needs in order to play, without starting anything.\n *\n * No lease, no licence, no unit — a client rendering a \"play\" button should not\n * have to spend a view to find out whether the button should be enabled.\n * ``404`` when there is no playable video.\n * @summary Streaming Details\n */\nexport const streamingDetails = async (docId: number, options?: Parameters<typeof request>[1]): Promise<StreamingSessionRead> => {\n\n return request<StreamingSessionRead>(getStreamingDetailsUrl(docId),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n"],"mappings":";;;AAcA,MAAa,2BAA2B;CAKtC,OAAO;AACT;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAa,eAAe,OAAO,qBAA0C,YAA2E;CAEpJ,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,QAA8B,mBAAmB,GACtD;EACE,GAAG;EACH,QAAQ;EACR,SAAS;GAAE,gBAAgB;GAAoB,GAAG,WAAW,SAAS,OAAO;EAAE;EAC/E,MAAM,KAAK,UAAU,mBAAmB;CAC1C,CACF;AAAE;AAGF,MAAa,0BAA0B,UAAmB;CAKxD,OAAO,cAAc,MAAM;AAC7B;;;;;;;;;AAUA,MAAa,mBAAmB,OAAO,OAAe,YAA2E;CAE/H,OAAO,QAA8B,uBAAuB,KAAK,GACjE;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE"}
1
+ {"version":3,"file":"cvs-streaming.js","names":[],"sources":["../../src/api/cvs-streaming/cvs-streaming.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.2\n */\nimport type {\n StreamingSessionRead,\n StreamingStartQuery\n} from '../../models';\n\nimport { request } from '../../client';\n\nexport const getStartSessionUrl = () => {\n\n\n\n\n return `/streaming/sessions`\n}\n\n/**\n * Begin playing a title. Returns the manifests and, if encrypted, a licence.\n *\n * ``409`` when every seat is taken, ``404`` when the caller is not entitled or\n * the title has no video, ``503`` when the DRM broker cannot be reached.\n *\n * **404 and not 403 for an entitlement refusal**, consistently with the rest\n * of the API: whether a particular library licensed a particular film is not\n * something an unentitled caller gets to enumerate.\n *\n * **The seat is taken before the licence is minted.** A licence is a real cost\n * with a third party and cannot be un-minted; a lease can be closed. So the\n * order is entitle, seat, then mint — and a client that gets a 409 has cost\n * the library nothing.\n *\n * Not idempotent on its own, but honours ``Idempotency-Key``: a retried start\n * returns the lease the first attempt opened rather than taking a second seat.\n * A licence is re-minted on the retry, which is correct — the first response\n * may never have arrived, and a licence is cheap to replace while a seat is\n * not.\n * @summary Start Session\n */\nexport const startSession = async (streamingStartQuery: StreamingStartQuery, options?: Parameters<typeof request>[1]): Promise<StreamingSessionRead> => {\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<StreamingSessionRead>(getStartSessionUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(streamingStartQuery)\n }\n);}\n\n\nexport const getStreamingDetailsUrl = (docId: number,) => {\n\n\n\n\n return `/streaming/${docId}/details`\n}\n\n/**\n * What a title needs in order to play, without starting anything.\n *\n * No lease, no licence, no unit — a client rendering a \"play\" button should not\n * have to spend a view to find out whether the button should be enabled.\n * ``404`` when there is no playable video.\n * @summary Streaming Details\n */\nexport const streamingDetails = async (docId: number, options?: Parameters<typeof request>[1]): Promise<StreamingSessionRead> => {\n\n return request<StreamingSessionRead>(getStreamingDetailsUrl(docId),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n"],"mappings":";;;AAcA,MAAa,2BAA2B;CAKtC,OAAO;AACT;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAa,eAAe,OAAO,qBAA0C,YAA2E;CAEpJ,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,QAA8B,mBAAmB,GACtD;EACE,GAAG;EACH,QAAQ;EACR,SAAS;GAAE,gBAAgB;GAAoB,GAAG,WAAW,SAAS,OAAO;EAAE;EAC/E,MAAM,KAAK,UAAU,mBAAmB;CAC1C,CACF;AAAE;AAGF,MAAa,0BAA0B,UAAmB;CAKxD,OAAO,cAAc,MAAM;AAC7B;;;;;;;;;AAUA,MAAa,mBAAmB,OAAO,OAAe,YAA2E;CAE/H,OAAO,QAA8B,uBAAuB,KAAK,GACjE;EACE,GAAG;EACH,QAAQ;CAGV,CACF;AAAE"}
@@ -2,7 +2,7 @@
2
2
  import { deleteAccount, getDeleteAccountUrl, getListServicesUrl, getReadAccountUrl, getUpdateAccountUrl, listServices, readAccount, updateAccount } from "./account.js";
3
3
  import { amendTheme, createTheme, deleteTheme, getAmendThemeUrl, getCreateThemeUrl, getDeleteThemeUrl, getListThemesUrl, getReadThemeUrl, getReorderThemesUrl, listThemes, readTheme, reorderThemes } from "./admin-catalogue.js";
4
4
  import { forceCloseLease, getForceCloseLeaseUrl, getListLiveLeasesUrl, listLiveLeases } from "./admin-consumption.js";
5
- import { deskAttentionItems, deskBackofficeContext, deskConsumptionSummary, deskContentRatingsSummary, deskCountPatrons, deskDashboardOverview, deskExplainAccess, deskFindPractitioners, deskGetAuditEvent, deskGetCatalogueCollection, deskGetCatalogueItem, deskGetConsumptionEvent, deskGetContract, deskGetIlsStatus, deskGetLoan, deskGetPatron, deskGetPatronActivity, deskGetPatronServices, deskGetPayment, deskGetPractitioner, deskGetReadingProgress, deskGetReview, deskGetTenant, deskGetTenantIntegrations, deskGetTutoringAnswer, deskGetTutoringRequest, deskGetUsageLimits, deskListAuditEvents, deskListCatalogueCollections, deskListConsumptionEvents, deskListContentRatings, deskListContracts, deskListEntitlementExclusions, deskListEntitlementGrants, deskListExpiringDocuments, deskListLiveLeases, deskListLoans, deskListPatronProfiles, deskListPatrons, deskListPayments, deskListPractitionerDocuments, deskListReviews, deskListTenants, deskListTutoringFeedback, deskListTutoringRequests, deskLoansSummary, deskMetricTimeseries, deskPartnerLicenseSummary, deskPaymentsSummary, deskReferenceData, deskReviewsSummary, deskSearchBackoffice, deskSearchCatalogue, deskTenantStats, deskTutoringRequestsSummary, getDeskAttentionItemsUrl, getDeskBackofficeContextUrl, getDeskConsumptionSummaryUrl, getDeskContentRatingsSummaryUrl, getDeskCountPatronsUrl, getDeskDashboardOverviewUrl, getDeskExplainAccessUrl, getDeskFindPractitionersUrl, getDeskGetAuditEventUrl, getDeskGetCatalogueCollectionUrl, getDeskGetCatalogueItemUrl, getDeskGetConsumptionEventUrl, getDeskGetContractUrl, getDeskGetIlsStatusUrl, getDeskGetLoanUrl, getDeskGetPatronActivityUrl, getDeskGetPatronServicesUrl, getDeskGetPatronUrl, getDeskGetPaymentUrl, getDeskGetPractitionerUrl, getDeskGetReadingProgressUrl, getDeskGetReviewUrl, getDeskGetTenantIntegrationsUrl, getDeskGetTenantUrl, getDeskGetTutoringAnswerUrl, getDeskGetTutoringRequestUrl, getDeskGetUsageLimitsUrl, getDeskListAuditEventsUrl, getDeskListCatalogueCollectionsUrl, getDeskListConsumptionEventsUrl, getDeskListContentRatingsUrl, getDeskListContractsUrl, getDeskListEntitlementExclusionsUrl, getDeskListEntitlementGrantsUrl, getDeskListExpiringDocumentsUrl, getDeskListLiveLeasesUrl, getDeskListLoansUrl, getDeskListPatronProfilesUrl, getDeskListPatronsUrl, getDeskListPaymentsUrl, getDeskListPractitionerDocumentsUrl, getDeskListReviewsUrl, getDeskListTenantsUrl, getDeskListTutoringFeedbackUrl, getDeskListTutoringRequestsUrl, getDeskLoansSummaryUrl, getDeskMetricTimeseriesUrl, getDeskPartnerLicenseSummaryUrl, getDeskPaymentsSummaryUrl, getDeskReferenceDataUrl, getDeskReviewsSummaryUrl, getDeskSearchBackofficeUrl, getDeskSearchCatalogueUrl, getDeskTenantStatsUrl, getDeskTutoringRequestsSummaryUrl } from "./admin-desk.js";
5
+ import { catalogueDetails, catalogueInventory, catalogueSummary, contractCoverage, contractUsage, dataCoverage, deskAttentionItems, deskBackofficeContext, deskConsumptionSummary, deskContentRatingsSummary, deskCountPatrons, deskDashboardOverview, deskExplainAccess, deskFindPractitioners, deskGetAuditEvent, deskGetCatalogueCollection, deskGetCatalogueItem, deskGetConsumptionEvent, deskGetContract, deskGetIlsStatus, deskGetLoan, deskGetPatron, deskGetPatronActivity, deskGetPatronServices, deskGetPayment, deskGetPractitioner, deskGetReadingProgress, deskGetReview, deskGetTenant, deskGetTenantIntegrations, deskGetTutoringAnswer, deskGetTutoringRequest, deskGetUsageLimits, deskListAuditEvents, deskListCatalogueCollections, deskListConsumptionEvents, deskListContentRatings, deskListContracts, deskListEntitlementExclusions, deskListEntitlementGrants, deskListExpiringDocuments, deskListLiveLeases, deskListLoans, deskListPatronProfiles, deskListPatrons, deskListPayments, deskListPractitionerDocuments, deskListReviews, deskListTenants, deskListTutoringFeedback, deskListTutoringRequests, deskLoansSummary, deskMetricTimeseries, deskPartnerLicenseSummary, deskPaymentsSummary, deskReferenceData, deskReviewsSummary, deskSearchBackoffice, deskSearchCatalogue, deskTenantStats, deskTutoringRequestsSummary, getCatalogueDetailsUrl, getCatalogueInventoryUrl, getCatalogueSummaryUrl, getContractCoverageUrl, getContractUsageUrl, getDataCoverageUrl, getDeskAttentionItemsUrl, getDeskBackofficeContextUrl, getDeskConsumptionSummaryUrl, getDeskContentRatingsSummaryUrl, getDeskCountPatronsUrl, getDeskDashboardOverviewUrl, getDeskExplainAccessUrl, getDeskFindPractitionersUrl, getDeskGetAuditEventUrl, getDeskGetCatalogueCollectionUrl, getDeskGetCatalogueItemUrl, getDeskGetConsumptionEventUrl, getDeskGetContractUrl, getDeskGetIlsStatusUrl, getDeskGetLoanUrl, getDeskGetPatronActivityUrl, getDeskGetPatronServicesUrl, getDeskGetPatronUrl, getDeskGetPaymentUrl, getDeskGetPractitionerUrl, getDeskGetReadingProgressUrl, getDeskGetReviewUrl, getDeskGetTenantIntegrationsUrl, getDeskGetTenantUrl, getDeskGetTutoringAnswerUrl, getDeskGetTutoringRequestUrl, getDeskGetUsageLimitsUrl, getDeskListAuditEventsUrl, getDeskListCatalogueCollectionsUrl, getDeskListConsumptionEventsUrl, getDeskListContentRatingsUrl, getDeskListContractsUrl, getDeskListEntitlementExclusionsUrl, getDeskListEntitlementGrantsUrl, getDeskListExpiringDocumentsUrl, getDeskListLiveLeasesUrl, getDeskListLoansUrl, getDeskListPatronProfilesUrl, getDeskListPatronsUrl, getDeskListPaymentsUrl, getDeskListPractitionerDocumentsUrl, getDeskListReviewsUrl, getDeskListTenantsUrl, getDeskListTutoringFeedbackUrl, getDeskListTutoringRequestsUrl, getDeskLoansSummaryUrl, getDeskMetricTimeseriesUrl, getDeskPartnerLicenseSummaryUrl, getDeskPaymentsSummaryUrl, getDeskReferenceDataUrl, getDeskReviewsSummaryUrl, getDeskSearchBackofficeUrl, getDeskSearchCatalogueUrl, getDeskTenantStatsUrl, getDeskTutoringRequestsSummaryUrl, getPartnerLicenseUrl, getPartnerLicensesUrl, getPatronAccessMatrixUrl, getPatronOverviewUrl, getPractitionerWorkloadUrl, getScreenManifestUrl, getTenantHierarchyUrl, getTenantOverviewUrl, getTopContentUrl, getTutoringPerformanceUrl, getTutoringTimelineUrl, partnerLicense, partnerLicenses, patronAccessMatrix, patronOverview, practitionerWorkload, screenManifest, tenantHierarchy, tenantOverview, topContent, tutoringPerformance, tutoringTimeline } from "./admin-desk.js";
6
6
  import { getReadPatronLicenseUrl, readPatronLicense } from "./admin-licenses.js";
7
7
  import { getListPatronsUrl, getReadPatronUrl, getUpdatePatronUrl, listPatrons, readPatron, updatePatron } from "./admin-patrons.js";
8
8
  import { getListReviewsUrl, getModerateReviewUrl, listReviews, moderateReview } from "./admin-reviews.js";
@@ -35,4 +35,4 @@ import { getListMessagesUrl, getMintChatTicketUrl, getSendMessageUrl, listMessag
35
35
  import { dispatchRequest, getDispatchRequestUrl, getListQueueUrl, getTriageRequestUrl, listQueue, triageRequest } from "./tutoring-dispatch.js";
36
36
  import { answerRequest, claimRequest, closeRequest, getAnswerRequestUrl, getClaimRequestUrl, getCloseRequestUrl, getOpenRoomUrl, openRoom } from "./tutoring-practitioner.js";
37
37
  import { cancelRequest, deleteAttachment, getCancelRequestUrl, getDeleteAttachmentUrl, getGetRequestUrl, getListMyRequestsUrl, getRateRequestUrl, getRequest, getSubmitRequestUrl, getUploadAttachmentUrl, listMyRequests, rateRequest, submitRequest, uploadAttachment } from "./tutoring-requests.js";
38
- export { addBiblioFavorite, addCvsFavorite, addIlsReview, addIlsTag, addPartnerFavorite, adminCloseRequest, amendGoal, amendLevel, amendPractitioner, amendRequest, amendSubject, amendTheme, answerRequest, authorization, borrow, cancelIlsHold, cancelRequest, changeIlsPassword, claimRequest, closeLease, closeRequest, closeSupportSession, createDemoUser, createGoal, createLevel, createLicense, createProfile, createReport, createSessionFromCode, createSessionFromCredentials, createSubject, createTheme, deleteAccount, deleteAttachment, deleteLicense, deleteProfile, deleteSession, deleteTheme, deskAttentionItems, deskBackofficeContext, deskConsumptionSummary, deskContentRatingsSummary, deskCountPatrons, deskDashboardOverview, deskExplainAccess, deskFindPractitioners, deskGetAuditEvent, deskGetCatalogueCollection, deskGetCatalogueItem, deskGetConsumptionEvent, deskGetContract, deskGetIlsStatus, deskGetLoan, deskGetPatron, deskGetPatronActivity, deskGetPatronServices, deskGetPayment, deskGetPractitioner, deskGetReadingProgress, deskGetReview, deskGetTenant, deskGetTenantIntegrations, deskGetTutoringAnswer, deskGetTutoringRequest, deskGetUsageLimits, deskListAuditEvents, deskListCatalogueCollections, deskListConsumptionEvents, deskListContentRatings, deskListContracts, deskListEntitlementExclusions, deskListEntitlementGrants, deskListExpiringDocuments, deskListLiveLeases, deskListLoans, deskListPatronProfiles, deskListPatrons, deskListPayments, deskListPractitionerDocuments, deskListReviews, deskListTenants, deskListTutoringFeedback, deskListTutoringRequests, deskLoansSummary, deskMetricTimeseries, deskPartnerLicenseSummary, deskPaymentsSummary, deskReferenceData, deskReviewsSummary, deskSearchBackoffice, deskSearchCatalogue, deskTenantStats, deskTutoringRequestsSummary, dispatchRequest, extendLoan, forceCloseLease, getAddBiblioFavoriteUrl, getAddCvsFavoriteUrl, getAddIlsReviewUrl, getAddIlsTagUrl, getAddPartnerFavoriteUrl, getAdminCloseRequestUrl, getAmendGoalUrl, getAmendLevelUrl, getAmendPractitionerUrl, getAmendRequestUrl, getAmendSubjectUrl, getAmendThemeUrl, getAnswerRequestUrl, getAuthorizationUrl, getBorrowUrl, getCancelIlsHoldUrl, getCancelRequestUrl, getChangeIlsPasswordUrl, getClaimRequestUrl, getCloseLeaseUrl, getCloseRequestUrl, getCloseSupportSessionUrl, getCreateDemoUserUrl, getCreateGoalUrl, getCreateLevelUrl, getCreateLicenseUrl, getCreateProfileUrl, getCreateReportUrl, getCreateSessionFromCodeUrl, getCreateSessionFromCredentialsUrl, getCreateSubjectUrl, getCreateThemeUrl, getDeleteAccountUrl, getDeleteAttachmentUrl, getDeleteLicenseUrl, getDeleteProfileUrl, getDeleteSessionUrl, getDeleteThemeUrl, getDeskAttentionItemsUrl, getDeskBackofficeContextUrl, getDeskConsumptionSummaryUrl, getDeskContentRatingsSummaryUrl, getDeskCountPatronsUrl, getDeskDashboardOverviewUrl, getDeskExplainAccessUrl, getDeskFindPractitionersUrl, getDeskGetAuditEventUrl, getDeskGetCatalogueCollectionUrl, getDeskGetCatalogueItemUrl, getDeskGetConsumptionEventUrl, getDeskGetContractUrl, getDeskGetIlsStatusUrl, getDeskGetLoanUrl, getDeskGetPatronActivityUrl, getDeskGetPatronServicesUrl, getDeskGetPatronUrl, getDeskGetPaymentUrl, getDeskGetPractitionerUrl, getDeskGetReadingProgressUrl, getDeskGetReviewUrl, getDeskGetTenantIntegrationsUrl, getDeskGetTenantUrl, getDeskGetTutoringAnswerUrl, getDeskGetTutoringRequestUrl, getDeskGetUsageLimitsUrl, getDeskListAuditEventsUrl, getDeskListCatalogueCollectionsUrl, getDeskListConsumptionEventsUrl, getDeskListContentRatingsUrl, getDeskListContractsUrl, getDeskListEntitlementExclusionsUrl, getDeskListEntitlementGrantsUrl, getDeskListExpiringDocumentsUrl, getDeskListLiveLeasesUrl, getDeskListLoansUrl, getDeskListPatronProfilesUrl, getDeskListPatronsUrl, getDeskListPaymentsUrl, getDeskListPractitionerDocumentsUrl, getDeskListReviewsUrl, getDeskListTenantsUrl, getDeskListTutoringFeedbackUrl, getDeskListTutoringRequestsUrl, getDeskLoansSummaryUrl, getDeskMetricTimeseriesUrl, getDeskPartnerLicenseSummaryUrl, getDeskPaymentsSummaryUrl, getDeskReferenceDataUrl, getDeskReviewsSummaryUrl, getDeskSearchBackofficeUrl, getDeskSearchCatalogueUrl, getDeskTenantStatsUrl, getDeskTutoringRequestsSummaryUrl, getDispatchRequestUrl, getExtendLoanUrl, getForceCloseLeaseUrl, getGetRequestUrl, getLikeContentUrl, getListAllRequestsUrl, getListBiblioCategoriesUrl, getListBiblioFavoritesUrl, getListCurrentReadingsUrl, getListCvsFavoritesUrl, getListEditorsUrl, getListExpiringDocumentsUrl, getListFeedbackUrl, getListGoalsUrl, getListGrantsUrl, getListHistoryUrl, getListIlsHoldLocationsUrl, getListIlsHoldsUrl, getListIlsLoansUrl, getListIlsLocationsUrl, getListIlsSuggestionCategoriesUrl, getListIlsSuggestionSourcesUrl, getListLevelsUrl, getListLiveLeasesUrl, getListLoansUrl, getListMediaUrl, getListMessagesUrl, getListMyRequestsUrl, getListNotificationsUrl, getListPacksUrl, getListPartnerCategoriesUrl, getListPartnerFavoritesUrl, getListPatronsUrl, getListPaymentsUrl, getListPractitionerDocumentsUrl, getListPractitionersUrl, getListPressArticlesUrl, getListProfilesUrl, getListQueueUrl, getListReviewsUrl, getListSelectionsUrl, getListServicesUrl, getListSubjectsUrl, getListTenantsUrl, getListThemesUrl, getMintChatTicketUrl, getModerateFeedbackUrl, getModerateReviewUrl, getOpenAtSupplierUrl, getOpenRoomUrl, getOpenSupportSessionUrl, getPlaceIlsHoldUrl, getRateDocumentUrl, getRateRequestUrl, getReadAccountUrl, getReadCatalogThemeUrl, getReadCatalogUrl, getReadContentUrl, getReadDocumentUrl, getReadDraftUrl, getReadEditorUrl, getReadHomeFeedUrl, getReadIlsAccountUrl, getReadIlsHoldableUrl, getReadIlsStatusUrl, getReadLastPositionUrl, getReadLearningPathUrl, getReadLicenseUrl, getReadMeUrl, getReadMediaUrl, getReadPackUrl, getReadPackageUrl, getReadPatronLicenseUrl, getReadPatronUrl, getReadPaymentUrl, getReadPositionUrl, getReadPreferencesUrl, getReadPressArticleUrl, getReadPressReviewUrl, getReadProfileUrl, getReadRecommendationsUrl, getReadRequestUrl, getReadTenantUrl, getReadThemeUrl, getRecordReadingSessionUrl, getRefreshSessionUrl, getRemoveBiblioFavoriteUrl, getRemoveCvsFavoriteUrl, getRemovePartnerFavoriteUrl, getRenewIlsLoanUrl, getRenewLeaseUrl, getReorderThemesUrl, getReplaceCategoryPreferencesUrl, getReplaceGrantsUrl, getRequest, getReturnLoanUrl, getReviewDraftUrl, getSearchDocumentsUrl, getSearchEverythingUrl, getSearchTenantsUrl, getSearchUrl, getSendMessageUrl, getSetLastPositionUrl, getSignInToIlsUrl, getSignOutOfIlsUrl, getStartPaymentUrl, getStartSessionUrl, getStreamingDetailsUrl, getSubmitRequestUrl, getTenantDirectoryUrl, getTriageRequestUrl, getUnlikeContentUrl, getUpdateAccountUrl, getUpdatePatronUrl, getUpdateProfileUrl, getUpdateTenantUrl, getUploadAttachmentUrl, getWritePositionUrl, getWriteReviewUrl, likeContent, listAllRequests, listBiblioCategories, listBiblioFavorites, listCurrentReadings, listCvsFavorites, listEditors, listExpiringDocuments, listFeedback, listGoals, listGrants, listHistory, listIlsHoldLocations, listIlsHolds, listIlsLoans, listIlsLocations, listIlsSuggestionCategories, listIlsSuggestionSources, listLevels, listLiveLeases, listLoans, listMedia, listMessages, listMyRequests, listNotifications, listPacks, listPartnerCategories, listPartnerFavorites, listPatrons, listPayments, listPractitionerDocuments, listPractitioners, listPressArticles, listProfiles, listQueue, listReviews, listSelections, listServices, listSubjects, listTenants, listThemes, mintChatTicket, moderateFeedback, moderateReview, openAtSupplier, openRoom, openSupportSession, placeIlsHold, rateDocument, rateRequest, readAccount, readCatalog, readCatalogTheme, readContent, readDocument, readDraft, readEditor, readHomeFeed, readIlsAccount, readIlsHoldable, readIlsStatus, readLastPosition, readLearningPath, readLicense, readMe, readMedia, readPack, readPackage, readPatron, readPatronLicense, readPayment, readPosition, readPreferences, readPressArticle, readPressReview, readProfile, readRecommendations, readRequest, readTenant, readTheme, recordReadingSession, refreshSession, removeBiblioFavorite, removeCvsFavorite, removePartnerFavorite, renewIlsLoan, renewLease, reorderThemes, replaceCategoryPreferences, replaceGrants, returnLoan, reviewDraft, search, searchDocuments, searchEverything, searchTenants, sendMessage, setLastPosition, signInToIls, signOutOfIls, startPayment, startSession, streamingDetails, submitRequest, tenantDirectory, triageRequest, unlikeContent, updateAccount, updatePatron, updateProfile, updateTenant, uploadAttachment, writePosition, writeReview };
38
+ export { addBiblioFavorite, addCvsFavorite, addIlsReview, addIlsTag, addPartnerFavorite, adminCloseRequest, amendGoal, amendLevel, amendPractitioner, amendRequest, amendSubject, amendTheme, answerRequest, authorization, borrow, cancelIlsHold, cancelRequest, catalogueDetails, catalogueInventory, catalogueSummary, changeIlsPassword, claimRequest, closeLease, closeRequest, closeSupportSession, contractCoverage, contractUsage, createDemoUser, createGoal, createLevel, createLicense, createProfile, createReport, createSessionFromCode, createSessionFromCredentials, createSubject, createTheme, dataCoverage, deleteAccount, deleteAttachment, deleteLicense, deleteProfile, deleteSession, deleteTheme, deskAttentionItems, deskBackofficeContext, deskConsumptionSummary, deskContentRatingsSummary, deskCountPatrons, deskDashboardOverview, deskExplainAccess, deskFindPractitioners, deskGetAuditEvent, deskGetCatalogueCollection, deskGetCatalogueItem, deskGetConsumptionEvent, deskGetContract, deskGetIlsStatus, deskGetLoan, deskGetPatron, deskGetPatronActivity, deskGetPatronServices, deskGetPayment, deskGetPractitioner, deskGetReadingProgress, deskGetReview, deskGetTenant, deskGetTenantIntegrations, deskGetTutoringAnswer, deskGetTutoringRequest, deskGetUsageLimits, deskListAuditEvents, deskListCatalogueCollections, deskListConsumptionEvents, deskListContentRatings, deskListContracts, deskListEntitlementExclusions, deskListEntitlementGrants, deskListExpiringDocuments, deskListLiveLeases, deskListLoans, deskListPatronProfiles, deskListPatrons, deskListPayments, deskListPractitionerDocuments, deskListReviews, deskListTenants, deskListTutoringFeedback, deskListTutoringRequests, deskLoansSummary, deskMetricTimeseries, deskPartnerLicenseSummary, deskPaymentsSummary, deskReferenceData, deskReviewsSummary, deskSearchBackoffice, deskSearchCatalogue, deskTenantStats, deskTutoringRequestsSummary, dispatchRequest, extendLoan, forceCloseLease, getAddBiblioFavoriteUrl, getAddCvsFavoriteUrl, getAddIlsReviewUrl, getAddIlsTagUrl, getAddPartnerFavoriteUrl, getAdminCloseRequestUrl, getAmendGoalUrl, getAmendLevelUrl, getAmendPractitionerUrl, getAmendRequestUrl, getAmendSubjectUrl, getAmendThemeUrl, getAnswerRequestUrl, getAuthorizationUrl, getBorrowUrl, getCancelIlsHoldUrl, getCancelRequestUrl, getCatalogueDetailsUrl, getCatalogueInventoryUrl, getCatalogueSummaryUrl, getChangeIlsPasswordUrl, getClaimRequestUrl, getCloseLeaseUrl, getCloseRequestUrl, getCloseSupportSessionUrl, getContractCoverageUrl, getContractUsageUrl, getCreateDemoUserUrl, getCreateGoalUrl, getCreateLevelUrl, getCreateLicenseUrl, getCreateProfileUrl, getCreateReportUrl, getCreateSessionFromCodeUrl, getCreateSessionFromCredentialsUrl, getCreateSubjectUrl, getCreateThemeUrl, getDataCoverageUrl, getDeleteAccountUrl, getDeleteAttachmentUrl, getDeleteLicenseUrl, getDeleteProfileUrl, getDeleteSessionUrl, getDeleteThemeUrl, getDeskAttentionItemsUrl, getDeskBackofficeContextUrl, getDeskConsumptionSummaryUrl, getDeskContentRatingsSummaryUrl, getDeskCountPatronsUrl, getDeskDashboardOverviewUrl, getDeskExplainAccessUrl, getDeskFindPractitionersUrl, getDeskGetAuditEventUrl, getDeskGetCatalogueCollectionUrl, getDeskGetCatalogueItemUrl, getDeskGetConsumptionEventUrl, getDeskGetContractUrl, getDeskGetIlsStatusUrl, getDeskGetLoanUrl, getDeskGetPatronActivityUrl, getDeskGetPatronServicesUrl, getDeskGetPatronUrl, getDeskGetPaymentUrl, getDeskGetPractitionerUrl, getDeskGetReadingProgressUrl, getDeskGetReviewUrl, getDeskGetTenantIntegrationsUrl, getDeskGetTenantUrl, getDeskGetTutoringAnswerUrl, getDeskGetTutoringRequestUrl, getDeskGetUsageLimitsUrl, getDeskListAuditEventsUrl, getDeskListCatalogueCollectionsUrl, getDeskListConsumptionEventsUrl, getDeskListContentRatingsUrl, getDeskListContractsUrl, getDeskListEntitlementExclusionsUrl, getDeskListEntitlementGrantsUrl, getDeskListExpiringDocumentsUrl, getDeskListLiveLeasesUrl, getDeskListLoansUrl, getDeskListPatronProfilesUrl, getDeskListPatronsUrl, getDeskListPaymentsUrl, getDeskListPractitionerDocumentsUrl, getDeskListReviewsUrl, getDeskListTenantsUrl, getDeskListTutoringFeedbackUrl, getDeskListTutoringRequestsUrl, getDeskLoansSummaryUrl, getDeskMetricTimeseriesUrl, getDeskPartnerLicenseSummaryUrl, getDeskPaymentsSummaryUrl, getDeskReferenceDataUrl, getDeskReviewsSummaryUrl, getDeskSearchBackofficeUrl, getDeskSearchCatalogueUrl, getDeskTenantStatsUrl, getDeskTutoringRequestsSummaryUrl, getDispatchRequestUrl, getExtendLoanUrl, getForceCloseLeaseUrl, getGetRequestUrl, getLikeContentUrl, getListAllRequestsUrl, getListBiblioCategoriesUrl, getListBiblioFavoritesUrl, getListCurrentReadingsUrl, getListCvsFavoritesUrl, getListEditorsUrl, getListExpiringDocumentsUrl, getListFeedbackUrl, getListGoalsUrl, getListGrantsUrl, getListHistoryUrl, getListIlsHoldLocationsUrl, getListIlsHoldsUrl, getListIlsLoansUrl, getListIlsLocationsUrl, getListIlsSuggestionCategoriesUrl, getListIlsSuggestionSourcesUrl, getListLevelsUrl, getListLiveLeasesUrl, getListLoansUrl, getListMediaUrl, getListMessagesUrl, getListMyRequestsUrl, getListNotificationsUrl, getListPacksUrl, getListPartnerCategoriesUrl, getListPartnerFavoritesUrl, getListPatronsUrl, getListPaymentsUrl, getListPractitionerDocumentsUrl, getListPractitionersUrl, getListPressArticlesUrl, getListProfilesUrl, getListQueueUrl, getListReviewsUrl, getListSelectionsUrl, getListServicesUrl, getListSubjectsUrl, getListTenantsUrl, getListThemesUrl, getMintChatTicketUrl, getModerateFeedbackUrl, getModerateReviewUrl, getOpenAtSupplierUrl, getOpenRoomUrl, getOpenSupportSessionUrl, getPartnerLicenseUrl, getPartnerLicensesUrl, getPatronAccessMatrixUrl, getPatronOverviewUrl, getPlaceIlsHoldUrl, getPractitionerWorkloadUrl, getRateDocumentUrl, getRateRequestUrl, getReadAccountUrl, getReadCatalogThemeUrl, getReadCatalogUrl, getReadContentUrl, getReadDocumentUrl, getReadDraftUrl, getReadEditorUrl, getReadHomeFeedUrl, getReadIlsAccountUrl, getReadIlsHoldableUrl, getReadIlsStatusUrl, getReadLastPositionUrl, getReadLearningPathUrl, getReadLicenseUrl, getReadMeUrl, getReadMediaUrl, getReadPackUrl, getReadPackageUrl, getReadPatronLicenseUrl, getReadPatronUrl, getReadPaymentUrl, getReadPositionUrl, getReadPreferencesUrl, getReadPressArticleUrl, getReadPressReviewUrl, getReadProfileUrl, getReadRecommendationsUrl, getReadRequestUrl, getReadTenantUrl, getReadThemeUrl, getRecordReadingSessionUrl, getRefreshSessionUrl, getRemoveBiblioFavoriteUrl, getRemoveCvsFavoriteUrl, getRemovePartnerFavoriteUrl, getRenewIlsLoanUrl, getRenewLeaseUrl, getReorderThemesUrl, getReplaceCategoryPreferencesUrl, getReplaceGrantsUrl, getRequest, getReturnLoanUrl, getReviewDraftUrl, getScreenManifestUrl, getSearchDocumentsUrl, getSearchEverythingUrl, getSearchTenantsUrl, getSearchUrl, getSendMessageUrl, getSetLastPositionUrl, getSignInToIlsUrl, getSignOutOfIlsUrl, getStartPaymentUrl, getStartSessionUrl, getStreamingDetailsUrl, getSubmitRequestUrl, getTenantDirectoryUrl, getTenantHierarchyUrl, getTenantOverviewUrl, getTopContentUrl, getTriageRequestUrl, getTutoringPerformanceUrl, getTutoringTimelineUrl, getUnlikeContentUrl, getUpdateAccountUrl, getUpdatePatronUrl, getUpdateProfileUrl, getUpdateTenantUrl, getUploadAttachmentUrl, getWritePositionUrl, getWriteReviewUrl, likeContent, listAllRequests, listBiblioCategories, listBiblioFavorites, listCurrentReadings, listCvsFavorites, listEditors, listExpiringDocuments, listFeedback, listGoals, listGrants, listHistory, listIlsHoldLocations, listIlsHolds, listIlsLoans, listIlsLocations, listIlsSuggestionCategories, listIlsSuggestionSources, listLevels, listLiveLeases, listLoans, listMedia, listMessages, listMyRequests, listNotifications, listPacks, listPartnerCategories, listPartnerFavorites, listPatrons, listPayments, listPractitionerDocuments, listPractitioners, listPressArticles, listProfiles, listQueue, listReviews, listSelections, listServices, listSubjects, listTenants, listThemes, mintChatTicket, moderateFeedback, moderateReview, openAtSupplier, openRoom, openSupportSession, partnerLicense, partnerLicenses, patronAccessMatrix, patronOverview, placeIlsHold, practitionerWorkload, rateDocument, rateRequest, readAccount, readCatalog, readCatalogTheme, readContent, readDocument, readDraft, readEditor, readHomeFeed, readIlsAccount, readIlsHoldable, readIlsStatus, readLastPosition, readLearningPath, readLicense, readMe, readMedia, readPack, readPackage, readPatron, readPatronLicense, readPayment, readPosition, readPreferences, readPressArticle, readPressReview, readProfile, readRecommendations, readRequest, readTenant, readTheme, recordReadingSession, refreshSession, removeBiblioFavorite, removeCvsFavorite, removePartnerFavorite, renewIlsLoan, renewLease, reorderThemes, replaceCategoryPreferences, replaceGrants, returnLoan, reviewDraft, screenManifest, search, searchDocuments, searchEverything, searchTenants, sendMessage, setLastPosition, signInToIls, signOutOfIls, startPayment, startSession, streamingDetails, submitRequest, tenantDirectory, tenantHierarchy, tenantOverview, topContent, triageRequest, tutoringPerformance, tutoringTimeline, unlikeContent, updateAccount, updatePatron, updateProfile, updateTenant, uploadAttachment, writePosition, writeReview };
package/dist/api/index.js CHANGED
@@ -4,7 +4,7 @@ import { authorization, createSessionFromCode, createSessionFromCredentials, del
4
4
  import { deleteAccount, getDeleteAccountUrl, getListServicesUrl, getReadAccountUrl, getUpdateAccountUrl, listServices, readAccount, updateAccount } from "./account.js";
5
5
  import { amendTheme, createTheme, deleteTheme, getAmendThemeUrl, getCreateThemeUrl, getDeleteThemeUrl, getListThemesUrl, getReadThemeUrl, getReorderThemesUrl, listThemes, readTheme, reorderThemes } from "./admin-catalogue.js";
6
6
  import { forceCloseLease, getForceCloseLeaseUrl, getListLiveLeasesUrl, listLiveLeases } from "./admin-consumption.js";
7
- import { deskAttentionItems, deskBackofficeContext, deskConsumptionSummary, deskContentRatingsSummary, deskCountPatrons, deskDashboardOverview, deskExplainAccess, deskFindPractitioners, deskGetAuditEvent, deskGetCatalogueCollection, deskGetCatalogueItem, deskGetConsumptionEvent, deskGetContract, deskGetIlsStatus, deskGetLoan, deskGetPatron, deskGetPatronActivity, deskGetPatronServices, deskGetPayment, deskGetPractitioner, deskGetReadingProgress, deskGetReview, deskGetTenant, deskGetTenantIntegrations, deskGetTutoringAnswer, deskGetTutoringRequest, deskGetUsageLimits, deskListAuditEvents, deskListCatalogueCollections, deskListConsumptionEvents, deskListContentRatings, deskListContracts, deskListEntitlementExclusions, deskListEntitlementGrants, deskListExpiringDocuments, deskListLiveLeases, deskListLoans, deskListPatronProfiles, deskListPatrons, deskListPayments, deskListPractitionerDocuments, deskListReviews, deskListTenants, deskListTutoringFeedback, deskListTutoringRequests, deskLoansSummary, deskMetricTimeseries, deskPartnerLicenseSummary, deskPaymentsSummary, deskReferenceData, deskReviewsSummary, deskSearchBackoffice, deskSearchCatalogue, deskTenantStats, deskTutoringRequestsSummary, getDeskAttentionItemsUrl, getDeskBackofficeContextUrl, getDeskConsumptionSummaryUrl, getDeskContentRatingsSummaryUrl, getDeskCountPatronsUrl, getDeskDashboardOverviewUrl, getDeskExplainAccessUrl, getDeskFindPractitionersUrl, getDeskGetAuditEventUrl, getDeskGetCatalogueCollectionUrl, getDeskGetCatalogueItemUrl, getDeskGetConsumptionEventUrl, getDeskGetContractUrl, getDeskGetIlsStatusUrl, getDeskGetLoanUrl, getDeskGetPatronActivityUrl, getDeskGetPatronServicesUrl, getDeskGetPatronUrl, getDeskGetPaymentUrl, getDeskGetPractitionerUrl, getDeskGetReadingProgressUrl, getDeskGetReviewUrl, getDeskGetTenantIntegrationsUrl, getDeskGetTenantUrl, getDeskGetTutoringAnswerUrl, getDeskGetTutoringRequestUrl, getDeskGetUsageLimitsUrl, getDeskListAuditEventsUrl, getDeskListCatalogueCollectionsUrl, getDeskListConsumptionEventsUrl, getDeskListContentRatingsUrl, getDeskListContractsUrl, getDeskListEntitlementExclusionsUrl, getDeskListEntitlementGrantsUrl, getDeskListExpiringDocumentsUrl, getDeskListLiveLeasesUrl, getDeskListLoansUrl, getDeskListPatronProfilesUrl, getDeskListPatronsUrl, getDeskListPaymentsUrl, getDeskListPractitionerDocumentsUrl, getDeskListReviewsUrl, getDeskListTenantsUrl, getDeskListTutoringFeedbackUrl, getDeskListTutoringRequestsUrl, getDeskLoansSummaryUrl, getDeskMetricTimeseriesUrl, getDeskPartnerLicenseSummaryUrl, getDeskPaymentsSummaryUrl, getDeskReferenceDataUrl, getDeskReviewsSummaryUrl, getDeskSearchBackofficeUrl, getDeskSearchCatalogueUrl, getDeskTenantStatsUrl, getDeskTutoringRequestsSummaryUrl } from "./admin-desk.js";
7
+ import { catalogueDetails, catalogueInventory, catalogueSummary, contractCoverage, contractUsage, dataCoverage, deskAttentionItems, deskBackofficeContext, deskConsumptionSummary, deskContentRatingsSummary, deskCountPatrons, deskDashboardOverview, deskExplainAccess, deskFindPractitioners, deskGetAuditEvent, deskGetCatalogueCollection, deskGetCatalogueItem, deskGetConsumptionEvent, deskGetContract, deskGetIlsStatus, deskGetLoan, deskGetPatron, deskGetPatronActivity, deskGetPatronServices, deskGetPayment, deskGetPractitioner, deskGetReadingProgress, deskGetReview, deskGetTenant, deskGetTenantIntegrations, deskGetTutoringAnswer, deskGetTutoringRequest, deskGetUsageLimits, deskListAuditEvents, deskListCatalogueCollections, deskListConsumptionEvents, deskListContentRatings, deskListContracts, deskListEntitlementExclusions, deskListEntitlementGrants, deskListExpiringDocuments, deskListLiveLeases, deskListLoans, deskListPatronProfiles, deskListPatrons, deskListPayments, deskListPractitionerDocuments, deskListReviews, deskListTenants, deskListTutoringFeedback, deskListTutoringRequests, deskLoansSummary, deskMetricTimeseries, deskPartnerLicenseSummary, deskPaymentsSummary, deskReferenceData, deskReviewsSummary, deskSearchBackoffice, deskSearchCatalogue, deskTenantStats, deskTutoringRequestsSummary, getCatalogueDetailsUrl, getCatalogueInventoryUrl, getCatalogueSummaryUrl, getContractCoverageUrl, getContractUsageUrl, getDataCoverageUrl, getDeskAttentionItemsUrl, getDeskBackofficeContextUrl, getDeskConsumptionSummaryUrl, getDeskContentRatingsSummaryUrl, getDeskCountPatronsUrl, getDeskDashboardOverviewUrl, getDeskExplainAccessUrl, getDeskFindPractitionersUrl, getDeskGetAuditEventUrl, getDeskGetCatalogueCollectionUrl, getDeskGetCatalogueItemUrl, getDeskGetConsumptionEventUrl, getDeskGetContractUrl, getDeskGetIlsStatusUrl, getDeskGetLoanUrl, getDeskGetPatronActivityUrl, getDeskGetPatronServicesUrl, getDeskGetPatronUrl, getDeskGetPaymentUrl, getDeskGetPractitionerUrl, getDeskGetReadingProgressUrl, getDeskGetReviewUrl, getDeskGetTenantIntegrationsUrl, getDeskGetTenantUrl, getDeskGetTutoringAnswerUrl, getDeskGetTutoringRequestUrl, getDeskGetUsageLimitsUrl, getDeskListAuditEventsUrl, getDeskListCatalogueCollectionsUrl, getDeskListConsumptionEventsUrl, getDeskListContentRatingsUrl, getDeskListContractsUrl, getDeskListEntitlementExclusionsUrl, getDeskListEntitlementGrantsUrl, getDeskListExpiringDocumentsUrl, getDeskListLiveLeasesUrl, getDeskListLoansUrl, getDeskListPatronProfilesUrl, getDeskListPatronsUrl, getDeskListPaymentsUrl, getDeskListPractitionerDocumentsUrl, getDeskListReviewsUrl, getDeskListTenantsUrl, getDeskListTutoringFeedbackUrl, getDeskListTutoringRequestsUrl, getDeskLoansSummaryUrl, getDeskMetricTimeseriesUrl, getDeskPartnerLicenseSummaryUrl, getDeskPaymentsSummaryUrl, getDeskReferenceDataUrl, getDeskReviewsSummaryUrl, getDeskSearchBackofficeUrl, getDeskSearchCatalogueUrl, getDeskTenantStatsUrl, getDeskTutoringRequestsSummaryUrl, getPartnerLicenseUrl, getPartnerLicensesUrl, getPatronAccessMatrixUrl, getPatronOverviewUrl, getPractitionerWorkloadUrl, getScreenManifestUrl, getTenantHierarchyUrl, getTenantOverviewUrl, getTopContentUrl, getTutoringPerformanceUrl, getTutoringTimelineUrl, partnerLicense, partnerLicenses, patronAccessMatrix, patronOverview, practitionerWorkload, screenManifest, tenantHierarchy, tenantOverview, topContent, tutoringPerformance, tutoringTimeline } from "./admin-desk.js";
8
8
  import { getReadPatronLicenseUrl, readPatronLicense } from "./admin-licenses.js";
9
9
  import { getListPatronsUrl, getReadPatronUrl, getUpdatePatronUrl, listPatrons, readPatron, updatePatron } from "./admin-patrons.js";
10
10
  import { getListReviewsUrl, getModerateReviewUrl, listReviews, moderateReview } from "./admin-reviews.js";
@@ -35,4 +35,4 @@ import { getListGoalsUrl, getListLevelsUrl, getListSubjectsUrl, listGoals, listL
35
35
  import { dispatchRequest, getDispatchRequestUrl, getListQueueUrl, getTriageRequestUrl, listQueue, triageRequest } from "./tutoring-dispatch.js";
36
36
  import { answerRequest, claimRequest, closeRequest, getAnswerRequestUrl, getClaimRequestUrl, getCloseRequestUrl, getOpenRoomUrl, openRoom } from "./tutoring-practitioner.js";
37
37
  import { cancelRequest, deleteAttachment, getCancelRequestUrl, getDeleteAttachmentUrl, getGetRequestUrl, getListMyRequestsUrl, getRateRequestUrl, getRequest, getSubmitRequestUrl, getUploadAttachmentUrl, listMyRequests, rateRequest, submitRequest, uploadAttachment } from "./tutoring-requests.js";
38
- export { addBiblioFavorite, addCvsFavorite, addIlsReview, addIlsTag, addPartnerFavorite, adminCloseRequest, amendGoal, amendLevel, amendPractitioner, amendRequest, amendSubject, amendTheme, answerRequest, authorization, borrow, cancelIlsHold, cancelRequest, changeIlsPassword, claimRequest, closeLease, closeRequest, closeSupportSession, createDemoUser, createGoal, createLevel, createLicense, createProfile, createReport, createSessionFromCode, createSessionFromCredentials, createSubject, createTheme, deleteAccount, deleteAttachment, deleteLicense, deleteProfile, deleteSession, deleteTheme, deskAttentionItems, deskBackofficeContext, deskConsumptionSummary, deskContentRatingsSummary, deskCountPatrons, deskDashboardOverview, deskExplainAccess, deskFindPractitioners, deskGetAuditEvent, deskGetCatalogueCollection, deskGetCatalogueItem, deskGetConsumptionEvent, deskGetContract, deskGetIlsStatus, deskGetLoan, deskGetPatron, deskGetPatronActivity, deskGetPatronServices, deskGetPayment, deskGetPractitioner, deskGetReadingProgress, deskGetReview, deskGetTenant, deskGetTenantIntegrations, deskGetTutoringAnswer, deskGetTutoringRequest, deskGetUsageLimits, deskListAuditEvents, deskListCatalogueCollections, deskListConsumptionEvents, deskListContentRatings, deskListContracts, deskListEntitlementExclusions, deskListEntitlementGrants, deskListExpiringDocuments, deskListLiveLeases, deskListLoans, deskListPatronProfiles, deskListPatrons, deskListPayments, deskListPractitionerDocuments, deskListReviews, deskListTenants, deskListTutoringFeedback, deskListTutoringRequests, deskLoansSummary, deskMetricTimeseries, deskPartnerLicenseSummary, deskPaymentsSummary, deskReferenceData, deskReviewsSummary, deskSearchBackoffice, deskSearchCatalogue, deskTenantStats, deskTutoringRequestsSummary, dispatchRequest, extendLoan, forceCloseLease, getAddBiblioFavoriteUrl, getAddCvsFavoriteUrl, getAddIlsReviewUrl, getAddIlsTagUrl, getAddPartnerFavoriteUrl, getAdminCloseRequestUrl, getAmendGoalUrl, getAmendLevelUrl, getAmendPractitionerUrl, getAmendRequestUrl, getAmendSubjectUrl, getAmendThemeUrl, getAnswerRequestUrl, getAuthorizationUrl, getBorrowUrl, getCancelIlsHoldUrl, getCancelRequestUrl, getChangeIlsPasswordUrl, getClaimRequestUrl, getCloseLeaseUrl, getCloseRequestUrl, getCloseSupportSessionUrl, getCreateDemoUserUrl, getCreateGoalUrl, getCreateLevelUrl, getCreateLicenseUrl, getCreateProfileUrl, getCreateReportUrl, getCreateSessionFromCodeUrl, getCreateSessionFromCredentialsUrl, getCreateSubjectUrl, getCreateThemeUrl, getDeleteAccountUrl, getDeleteAttachmentUrl, getDeleteLicenseUrl, getDeleteProfileUrl, getDeleteSessionUrl, getDeleteThemeUrl, getDeskAttentionItemsUrl, getDeskBackofficeContextUrl, getDeskConsumptionSummaryUrl, getDeskContentRatingsSummaryUrl, getDeskCountPatronsUrl, getDeskDashboardOverviewUrl, getDeskExplainAccessUrl, getDeskFindPractitionersUrl, getDeskGetAuditEventUrl, getDeskGetCatalogueCollectionUrl, getDeskGetCatalogueItemUrl, getDeskGetConsumptionEventUrl, getDeskGetContractUrl, getDeskGetIlsStatusUrl, getDeskGetLoanUrl, getDeskGetPatronActivityUrl, getDeskGetPatronServicesUrl, getDeskGetPatronUrl, getDeskGetPaymentUrl, getDeskGetPractitionerUrl, getDeskGetReadingProgressUrl, getDeskGetReviewUrl, getDeskGetTenantIntegrationsUrl, getDeskGetTenantUrl, getDeskGetTutoringAnswerUrl, getDeskGetTutoringRequestUrl, getDeskGetUsageLimitsUrl, getDeskListAuditEventsUrl, getDeskListCatalogueCollectionsUrl, getDeskListConsumptionEventsUrl, getDeskListContentRatingsUrl, getDeskListContractsUrl, getDeskListEntitlementExclusionsUrl, getDeskListEntitlementGrantsUrl, getDeskListExpiringDocumentsUrl, getDeskListLiveLeasesUrl, getDeskListLoansUrl, getDeskListPatronProfilesUrl, getDeskListPatronsUrl, getDeskListPaymentsUrl, getDeskListPractitionerDocumentsUrl, getDeskListReviewsUrl, getDeskListTenantsUrl, getDeskListTutoringFeedbackUrl, getDeskListTutoringRequestsUrl, getDeskLoansSummaryUrl, getDeskMetricTimeseriesUrl, getDeskPartnerLicenseSummaryUrl, getDeskPaymentsSummaryUrl, getDeskReferenceDataUrl, getDeskReviewsSummaryUrl, getDeskSearchBackofficeUrl, getDeskSearchCatalogueUrl, getDeskTenantStatsUrl, getDeskTutoringRequestsSummaryUrl, getDispatchRequestUrl, getExtendLoanUrl, getForceCloseLeaseUrl, getGetRequestUrl, getLikeContentUrl, getListAllRequestsUrl, getListBiblioCategoriesUrl, getListBiblioFavoritesUrl, getListCurrentReadingsUrl, getListCvsFavoritesUrl, getListEditorsUrl, getListExpiringDocumentsUrl, getListFeedbackUrl, getListGoalsUrl, getListGrantsUrl, getListHistoryUrl, getListIlsHoldLocationsUrl, getListIlsHoldsUrl, getListIlsLoansUrl, getListIlsLocationsUrl, getListIlsSuggestionCategoriesUrl, getListIlsSuggestionSourcesUrl, getListLevelsUrl, getListLiveLeasesUrl, getListLoansUrl, getListMediaUrl, getListMessagesUrl, getListMyRequestsUrl, getListNotificationsUrl, getListPacksUrl, getListPartnerCategoriesUrl, getListPartnerFavoritesUrl, getListPatronsUrl, getListPaymentsUrl, getListPractitionerDocumentsUrl, getListPractitionersUrl, getListPressArticlesUrl, getListProfilesUrl, getListQueueUrl, getListReviewsUrl, getListSelectionsUrl, getListServicesUrl, getListSubjectsUrl, getListTenantsUrl, getListThemesUrl, getMintChatTicketUrl, getModerateFeedbackUrl, getModerateReviewUrl, getOpenAtSupplierUrl, getOpenRoomUrl, getOpenSupportSessionUrl, getPlaceIlsHoldUrl, getRateDocumentUrl, getRateRequestUrl, getReadAccountUrl, getReadCatalogThemeUrl, getReadCatalogUrl, getReadContentUrl, getReadDocumentUrl, getReadDraftUrl, getReadEditorUrl, getReadHomeFeedUrl, getReadIlsAccountUrl, getReadIlsHoldableUrl, getReadIlsStatusUrl, getReadLastPositionUrl, getReadLearningPathUrl, getReadLicenseUrl, getReadMeUrl, getReadMediaUrl, getReadPackUrl, getReadPackageUrl, getReadPatronLicenseUrl, getReadPatronUrl, getReadPaymentUrl, getReadPositionUrl, getReadPreferencesUrl, getReadPressArticleUrl, getReadPressReviewUrl, getReadProfileUrl, getReadRecommendationsUrl, getReadRequestUrl, getReadTenantUrl, getReadThemeUrl, getRecordReadingSessionUrl, getRefreshSessionUrl, getRemoveBiblioFavoriteUrl, getRemoveCvsFavoriteUrl, getRemovePartnerFavoriteUrl, getRenewIlsLoanUrl, getRenewLeaseUrl, getReorderThemesUrl, getReplaceCategoryPreferencesUrl, getReplaceGrantsUrl, getRequest, getReturnLoanUrl, getReviewDraftUrl, getSearchDocumentsUrl, getSearchEverythingUrl, getSearchTenantsUrl, getSearchUrl, getSendMessageUrl, getSetLastPositionUrl, getSignInToIlsUrl, getSignOutOfIlsUrl, getStartPaymentUrl, getStartSessionUrl, getStreamingDetailsUrl, getSubmitRequestUrl, getTenantDirectoryUrl, getTriageRequestUrl, getUnlikeContentUrl, getUpdateAccountUrl, getUpdatePatronUrl, getUpdateProfileUrl, getUpdateTenantUrl, getUploadAttachmentUrl, getWritePositionUrl, getWriteReviewUrl, likeContent, listAllRequests, listBiblioCategories, listBiblioFavorites, listCurrentReadings, listCvsFavorites, listEditors, listExpiringDocuments, listFeedback, listGoals, listGrants, listHistory, listIlsHoldLocations, listIlsHolds, listIlsLoans, listIlsLocations, listIlsSuggestionCategories, listIlsSuggestionSources, listLevels, listLiveLeases, listLoans, listMedia, listMessages, listMyRequests, listNotifications, listPacks, listPartnerCategories, listPartnerFavorites, listPatrons, listPayments, listPractitionerDocuments, listPractitioners, listPressArticles, listProfiles, listQueue, listReviews, listSelections, listServices, listSubjects, listTenants, listThemes, mintChatTicket, moderateFeedback, moderateReview, openAtSupplier, openRoom, openSupportSession, placeIlsHold, rateDocument, rateRequest, readAccount, readCatalog, readCatalogTheme, readContent, readDocument, readDraft, readEditor, readHomeFeed, readIlsAccount, readIlsHoldable, readIlsStatus, readLastPosition, readLearningPath, readLicense, readMe, readMedia, readPack, readPackage, readPatron, readPatronLicense, readPayment, readPosition, readPreferences, readPressArticle, readPressReview, readProfile, readRecommendations, readRequest, readTenant, readTheme, recordReadingSession, refreshSession, removeBiblioFavorite, removeCvsFavorite, removePartnerFavorite, renewIlsLoan, renewLease, reorderThemes, replaceCategoryPreferences, replaceGrants, returnLoan, reviewDraft, search, searchDocuments, searchEverything, searchTenants, sendMessage, setLastPosition, signInToIls, signOutOfIls, startPayment, startSession, streamingDetails, submitRequest, tenantDirectory, triageRequest, unlikeContent, updateAccount, updatePatron, updateProfile, updateTenant, uploadAttachment, writePosition, writeReview };
38
+ export { addBiblioFavorite, addCvsFavorite, addIlsReview, addIlsTag, addPartnerFavorite, adminCloseRequest, amendGoal, amendLevel, amendPractitioner, amendRequest, amendSubject, amendTheme, answerRequest, authorization, borrow, cancelIlsHold, cancelRequest, catalogueDetails, catalogueInventory, catalogueSummary, changeIlsPassword, claimRequest, closeLease, closeRequest, closeSupportSession, contractCoverage, contractUsage, createDemoUser, createGoal, createLevel, createLicense, createProfile, createReport, createSessionFromCode, createSessionFromCredentials, createSubject, createTheme, dataCoverage, deleteAccount, deleteAttachment, deleteLicense, deleteProfile, deleteSession, deleteTheme, deskAttentionItems, deskBackofficeContext, deskConsumptionSummary, deskContentRatingsSummary, deskCountPatrons, deskDashboardOverview, deskExplainAccess, deskFindPractitioners, deskGetAuditEvent, deskGetCatalogueCollection, deskGetCatalogueItem, deskGetConsumptionEvent, deskGetContract, deskGetIlsStatus, deskGetLoan, deskGetPatron, deskGetPatronActivity, deskGetPatronServices, deskGetPayment, deskGetPractitioner, deskGetReadingProgress, deskGetReview, deskGetTenant, deskGetTenantIntegrations, deskGetTutoringAnswer, deskGetTutoringRequest, deskGetUsageLimits, deskListAuditEvents, deskListCatalogueCollections, deskListConsumptionEvents, deskListContentRatings, deskListContracts, deskListEntitlementExclusions, deskListEntitlementGrants, deskListExpiringDocuments, deskListLiveLeases, deskListLoans, deskListPatronProfiles, deskListPatrons, deskListPayments, deskListPractitionerDocuments, deskListReviews, deskListTenants, deskListTutoringFeedback, deskListTutoringRequests, deskLoansSummary, deskMetricTimeseries, deskPartnerLicenseSummary, deskPaymentsSummary, deskReferenceData, deskReviewsSummary, deskSearchBackoffice, deskSearchCatalogue, deskTenantStats, deskTutoringRequestsSummary, dispatchRequest, extendLoan, forceCloseLease, getAddBiblioFavoriteUrl, getAddCvsFavoriteUrl, getAddIlsReviewUrl, getAddIlsTagUrl, getAddPartnerFavoriteUrl, getAdminCloseRequestUrl, getAmendGoalUrl, getAmendLevelUrl, getAmendPractitionerUrl, getAmendRequestUrl, getAmendSubjectUrl, getAmendThemeUrl, getAnswerRequestUrl, getAuthorizationUrl, getBorrowUrl, getCancelIlsHoldUrl, getCancelRequestUrl, getCatalogueDetailsUrl, getCatalogueInventoryUrl, getCatalogueSummaryUrl, getChangeIlsPasswordUrl, getClaimRequestUrl, getCloseLeaseUrl, getCloseRequestUrl, getCloseSupportSessionUrl, getContractCoverageUrl, getContractUsageUrl, getCreateDemoUserUrl, getCreateGoalUrl, getCreateLevelUrl, getCreateLicenseUrl, getCreateProfileUrl, getCreateReportUrl, getCreateSessionFromCodeUrl, getCreateSessionFromCredentialsUrl, getCreateSubjectUrl, getCreateThemeUrl, getDataCoverageUrl, getDeleteAccountUrl, getDeleteAttachmentUrl, getDeleteLicenseUrl, getDeleteProfileUrl, getDeleteSessionUrl, getDeleteThemeUrl, getDeskAttentionItemsUrl, getDeskBackofficeContextUrl, getDeskConsumptionSummaryUrl, getDeskContentRatingsSummaryUrl, getDeskCountPatronsUrl, getDeskDashboardOverviewUrl, getDeskExplainAccessUrl, getDeskFindPractitionersUrl, getDeskGetAuditEventUrl, getDeskGetCatalogueCollectionUrl, getDeskGetCatalogueItemUrl, getDeskGetConsumptionEventUrl, getDeskGetContractUrl, getDeskGetIlsStatusUrl, getDeskGetLoanUrl, getDeskGetPatronActivityUrl, getDeskGetPatronServicesUrl, getDeskGetPatronUrl, getDeskGetPaymentUrl, getDeskGetPractitionerUrl, getDeskGetReadingProgressUrl, getDeskGetReviewUrl, getDeskGetTenantIntegrationsUrl, getDeskGetTenantUrl, getDeskGetTutoringAnswerUrl, getDeskGetTutoringRequestUrl, getDeskGetUsageLimitsUrl, getDeskListAuditEventsUrl, getDeskListCatalogueCollectionsUrl, getDeskListConsumptionEventsUrl, getDeskListContentRatingsUrl, getDeskListContractsUrl, getDeskListEntitlementExclusionsUrl, getDeskListEntitlementGrantsUrl, getDeskListExpiringDocumentsUrl, getDeskListLiveLeasesUrl, getDeskListLoansUrl, getDeskListPatronProfilesUrl, getDeskListPatronsUrl, getDeskListPaymentsUrl, getDeskListPractitionerDocumentsUrl, getDeskListReviewsUrl, getDeskListTenantsUrl, getDeskListTutoringFeedbackUrl, getDeskListTutoringRequestsUrl, getDeskLoansSummaryUrl, getDeskMetricTimeseriesUrl, getDeskPartnerLicenseSummaryUrl, getDeskPaymentsSummaryUrl, getDeskReferenceDataUrl, getDeskReviewsSummaryUrl, getDeskSearchBackofficeUrl, getDeskSearchCatalogueUrl, getDeskTenantStatsUrl, getDeskTutoringRequestsSummaryUrl, getDispatchRequestUrl, getExtendLoanUrl, getForceCloseLeaseUrl, getGetRequestUrl, getLikeContentUrl, getListAllRequestsUrl, getListBiblioCategoriesUrl, getListBiblioFavoritesUrl, getListCurrentReadingsUrl, getListCvsFavoritesUrl, getListEditorsUrl, getListExpiringDocumentsUrl, getListFeedbackUrl, getListGoalsUrl, getListGrantsUrl, getListHistoryUrl, getListIlsHoldLocationsUrl, getListIlsHoldsUrl, getListIlsLoansUrl, getListIlsLocationsUrl, getListIlsSuggestionCategoriesUrl, getListIlsSuggestionSourcesUrl, getListLevelsUrl, getListLiveLeasesUrl, getListLoansUrl, getListMediaUrl, getListMessagesUrl, getListMyRequestsUrl, getListNotificationsUrl, getListPacksUrl, getListPartnerCategoriesUrl, getListPartnerFavoritesUrl, getListPatronsUrl, getListPaymentsUrl, getListPractitionerDocumentsUrl, getListPractitionersUrl, getListPressArticlesUrl, getListProfilesUrl, getListQueueUrl, getListReviewsUrl, getListSelectionsUrl, getListServicesUrl, getListSubjectsUrl, getListTenantsUrl, getListThemesUrl, getMintChatTicketUrl, getModerateFeedbackUrl, getModerateReviewUrl, getOpenAtSupplierUrl, getOpenRoomUrl, getOpenSupportSessionUrl, getPartnerLicenseUrl, getPartnerLicensesUrl, getPatronAccessMatrixUrl, getPatronOverviewUrl, getPlaceIlsHoldUrl, getPractitionerWorkloadUrl, getRateDocumentUrl, getRateRequestUrl, getReadAccountUrl, getReadCatalogThemeUrl, getReadCatalogUrl, getReadContentUrl, getReadDocumentUrl, getReadDraftUrl, getReadEditorUrl, getReadHomeFeedUrl, getReadIlsAccountUrl, getReadIlsHoldableUrl, getReadIlsStatusUrl, getReadLastPositionUrl, getReadLearningPathUrl, getReadLicenseUrl, getReadMeUrl, getReadMediaUrl, getReadPackUrl, getReadPackageUrl, getReadPatronLicenseUrl, getReadPatronUrl, getReadPaymentUrl, getReadPositionUrl, getReadPreferencesUrl, getReadPressArticleUrl, getReadPressReviewUrl, getReadProfileUrl, getReadRecommendationsUrl, getReadRequestUrl, getReadTenantUrl, getReadThemeUrl, getRecordReadingSessionUrl, getRefreshSessionUrl, getRemoveBiblioFavoriteUrl, getRemoveCvsFavoriteUrl, getRemovePartnerFavoriteUrl, getRenewIlsLoanUrl, getRenewLeaseUrl, getReorderThemesUrl, getReplaceCategoryPreferencesUrl, getReplaceGrantsUrl, getRequest, getReturnLoanUrl, getReviewDraftUrl, getScreenManifestUrl, getSearchDocumentsUrl, getSearchEverythingUrl, getSearchTenantsUrl, getSearchUrl, getSendMessageUrl, getSetLastPositionUrl, getSignInToIlsUrl, getSignOutOfIlsUrl, getStartPaymentUrl, getStartSessionUrl, getStreamingDetailsUrl, getSubmitRequestUrl, getTenantDirectoryUrl, getTenantHierarchyUrl, getTenantOverviewUrl, getTopContentUrl, getTriageRequestUrl, getTutoringPerformanceUrl, getTutoringTimelineUrl, getUnlikeContentUrl, getUpdateAccountUrl, getUpdatePatronUrl, getUpdateProfileUrl, getUpdateTenantUrl, getUploadAttachmentUrl, getWritePositionUrl, getWriteReviewUrl, likeContent, listAllRequests, listBiblioCategories, listBiblioFavorites, listCurrentReadings, listCvsFavorites, listEditors, listExpiringDocuments, listFeedback, listGoals, listGrants, listHistory, listIlsHoldLocations, listIlsHolds, listIlsLoans, listIlsLocations, listIlsSuggestionCategories, listIlsSuggestionSources, listLevels, listLiveLeases, listLoans, listMedia, listMessages, listMyRequests, listNotifications, listPacks, listPartnerCategories, listPartnerFavorites, listPatrons, listPayments, listPractitionerDocuments, listPractitioners, listPressArticles, listProfiles, listQueue, listReviews, listSelections, listServices, listSubjects, listTenants, listThemes, mintChatTicket, moderateFeedback, moderateReview, openAtSupplier, openRoom, openSupportSession, partnerLicense, partnerLicenses, patronAccessMatrix, patronOverview, placeIlsHold, practitionerWorkload, rateDocument, rateRequest, readAccount, readCatalog, readCatalogTheme, readContent, readDocument, readDraft, readEditor, readHomeFeed, readIlsAccount, readIlsHoldable, readIlsStatus, readLastPosition, readLearningPath, readLicense, readMe, readMedia, readPack, readPackage, readPatron, readPatronLicense, readPayment, readPosition, readPreferences, readPressArticle, readPressReview, readProfile, readRecommendations, readRequest, readTenant, readTheme, recordReadingSession, refreshSession, removeBiblioFavorite, removeCvsFavorite, removePartnerFavorite, renewIlsLoan, renewLease, reorderThemes, replaceCategoryPreferences, replaceGrants, returnLoan, reviewDraft, screenManifest, search, searchDocuments, searchEverything, searchTenants, sendMessage, setLastPosition, signInToIls, signOutOfIls, startPayment, startSession, streamingDetails, submitRequest, tenantDirectory, tenantHierarchy, tenantOverview, topContent, triageRequest, tutoringPerformance, tutoringTimeline, unlikeContent, updateAccount, updatePatron, updateProfile, updateTenant, uploadAttachment, writePosition, writeReview };
@@ -1,5 +1,5 @@
1
1
 
2
- import { Jt as PartnerMediaRead, Mi as PartnerProvider, On as ListMediaParams, Qt as PartnerCategoryListRead, Xt as PartnerFavoriteListRead, Yt as PartnerMediaPage } from "../chunks/index.js";
2
+ import { Rn as ListMediaParams, Zi as PartnerProvider, cn as PartnerCategoryListRead, nn as PartnerMediaRead, on as PartnerFavoriteListRead, rn as PartnerMediaPage } 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;