@learnorama/mozaik-sdk 0.14.0-staging.50.1 → 0.14.2-staging.52.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 (275) hide show
  1. package/CUSTOMER-ADMIN.md +101 -0
  2. package/CVS-PLAYBACK.md +135 -0
  3. package/PRESS.md +208 -0
  4. package/README.md +36 -4
  5. package/TV-LOGIN.md +137 -0
  6. package/dist/api/account.d.ts +1 -1
  7. package/dist/api/account.js.map +1 -1
  8. package/dist/api/admin-catalogue.d.ts +88 -1
  9. package/dist/api/admin-catalogue.js +301 -1
  10. package/dist/api/admin-catalogue.js.map +1 -1
  11. package/dist/api/admin-consumption.d.ts +1 -1
  12. package/dist/api/admin-consumption.js.map +1 -1
  13. package/dist/api/admin-contracts.d.ts +1 -1
  14. package/dist/api/admin-contracts.js.map +1 -1
  15. package/dist/api/admin-customer.d.ts +79 -0
  16. package/dist/api/admin-customer.js +213 -0
  17. package/dist/api/admin-customer.js.map +1 -0
  18. package/dist/api/admin-desk.d.ts +1 -1
  19. package/dist/api/admin-desk.js.map +1 -1
  20. package/dist/api/admin-licenses.d.ts +1 -1
  21. package/dist/api/admin-licenses.js.map +1 -1
  22. package/dist/api/admin-partner-selections.d.ts +1 -1
  23. package/dist/api/admin-partner-selections.js.map +1 -1
  24. package/dist/api/admin-patrons.d.ts +1 -1
  25. package/dist/api/admin-patrons.js.map +1 -1
  26. package/dist/api/admin-reviews.d.ts +1 -1
  27. package/dist/api/admin-reviews.js.map +1 -1
  28. package/dist/api/admin-roles.d.ts +1 -1
  29. package/dist/api/admin-roles.js.map +1 -1
  30. package/dist/api/admin-support.d.ts +1 -1
  31. package/dist/api/admin-support.js.map +1 -1
  32. package/dist/api/admin-tenants.js.map +1 -1
  33. package/dist/api/admin-tutoring.d.ts +1 -1
  34. package/dist/api/admin-tutoring.js.map +1 -1
  35. package/dist/api/auth-device.d.ts +1 -1
  36. package/dist/api/auth-device.js.map +1 -1
  37. package/dist/api/auth.d.ts +1 -1
  38. package/dist/api/auth.js.map +1 -1
  39. package/dist/api/biblio-billing-webhooks.d.ts +1 -1
  40. package/dist/api/biblio-billing-webhooks.js.map +1 -1
  41. package/dist/api/biblio-billing.d.ts +1 -1
  42. package/dist/api/biblio-billing.js.map +1 -1
  43. package/dist/api/biblio-catalogue.d.ts +1 -1
  44. package/dist/api/biblio-catalogue.js.map +1 -1
  45. package/dist/api/biblio-home.d.ts +1 -1
  46. package/dist/api/biblio-home.js.map +1 -1
  47. package/dist/api/biblio-learning-author-profiles.d.ts +1 -1
  48. package/dist/api/biblio-learning-author-profiles.js.map +1 -1
  49. package/dist/api/biblio-learning-authoring.d.ts +1 -1
  50. package/dist/api/biblio-learning-authoring.js.map +1 -1
  51. package/dist/api/biblio-learning-editorial.d.ts +1 -1
  52. package/dist/api/biblio-learning-editorial.js.map +1 -1
  53. package/dist/api/biblio-learning-feedback.d.ts +1 -1
  54. package/dist/api/biblio-learning-feedback.js.map +1 -1
  55. package/dist/api/biblio-learning-finance.d.ts +1 -1
  56. package/dist/api/biblio-learning-finance.js.map +1 -1
  57. package/dist/api/biblio-learning-integrations.d.ts +1 -1
  58. package/dist/api/biblio-learning-integrations.js.map +1 -1
  59. package/dist/api/biblio-learning-membership.d.ts +1 -1
  60. package/dist/api/biblio-learning-membership.js.map +1 -1
  61. package/dist/api/biblio-learning.d.ts +1 -1
  62. package/dist/api/biblio-learning.js.map +1 -1
  63. package/dist/api/biblio-library.d.ts +13 -1
  64. package/dist/api/biblio-library.js +25 -1
  65. package/dist/api/biblio-library.js.map +1 -1
  66. package/dist/api/biblio-nextory.d.ts +1 -1
  67. package/dist/api/biblio-nextory.js.map +1 -1
  68. package/dist/api/biblio-press.d.ts +107 -1
  69. package/dist/api/biblio-press.js +246 -1
  70. package/dist/api/biblio-press.js.map +1 -1
  71. package/dist/api/biblio-search.js.map +1 -1
  72. package/dist/api/biblio-telemetry.d.ts +1 -1
  73. package/dist/api/biblio-telemetry.js.map +1 -1
  74. package/dist/api/consumption.d.ts +4 -4
  75. package/dist/api/consumption.js +3 -3
  76. package/dist/api/consumption.js.map +1 -1
  77. package/dist/api/cvs-app.d.ts +1 -1
  78. package/dist/api/cvs-app.js.map +1 -1
  79. package/dist/api/cvs-documents.d.ts +33 -1
  80. package/dist/api/cvs-documents.js +81 -1
  81. package/dist/api/cvs-documents.js.map +1 -1
  82. package/dist/api/cvs-favorites.d.ts +1 -1
  83. package/dist/api/cvs-favorites.js.map +1 -1
  84. package/dist/api/cvs-ils.d.ts +1 -1
  85. package/dist/api/cvs-ils.js.map +1 -1
  86. package/dist/api/cvs-loans.d.ts +1 -1
  87. package/dist/api/cvs-loans.js.map +1 -1
  88. package/dist/api/cvs-payments.d.ts +1 -1
  89. package/dist/api/cvs-payments.js.map +1 -1
  90. package/dist/api/cvs-streaming.d.ts +11 -0
  91. package/dist/api/cvs-streaming.js +19 -1
  92. package/dist/api/cvs-streaming.js.map +1 -1
  93. package/dist/api/index.d.ts +7 -6
  94. package/dist/api/index.js +7 -6
  95. package/dist/api/partner-catalogue.d.ts +1 -1
  96. package/dist/api/partner-catalogue.js.map +1 -1
  97. package/dist/api/partner-reader.d.ts +1 -1
  98. package/dist/api/partner-reader.js.map +1 -1
  99. package/dist/api/profiles.d.ts +1 -1
  100. package/dist/api/profiles.js.map +1 -1
  101. package/dist/api/search.d.ts +1 -1
  102. package/dist/api/search.js.map +1 -1
  103. package/dist/api/tutoring-catalogue.d.ts +1 -1
  104. package/dist/api/tutoring-catalogue.js.map +1 -1
  105. package/dist/api/tutoring-chat.d.ts +1 -1
  106. package/dist/api/tutoring-chat.js.map +1 -1
  107. package/dist/api/tutoring-dispatch.d.ts +1 -1
  108. package/dist/api/tutoring-dispatch.js.map +1 -1
  109. package/dist/api/tutoring-practitioner.js.map +1 -1
  110. package/dist/api/tutoring-requests.d.ts +1 -1
  111. package/dist/api/tutoring-requests.js.map +1 -1
  112. package/dist/auth.d.ts +1 -1
  113. package/dist/chunks/client2.d.ts +1 -1
  114. package/dist/chunks/connection.d.ts +1 -1
  115. package/dist/chunks/index.d.ts +2091 -593
  116. package/dist/index.d.ts +3 -3
  117. package/dist/index.js +3 -3
  118. package/dist/index.js.map +1 -1
  119. package/dist/models.d.ts +2 -2
  120. package/dist/models.js +230 -2
  121. package/dist/models.js.map +1 -1
  122. package/dist/react/account.d.ts +1 -1
  123. package/dist/react/account.js +1 -1
  124. package/dist/react/account.js.map +1 -1
  125. package/dist/react/admin-catalogue.d.ts +365 -1
  126. package/dist/react/admin-catalogue.js +652 -2
  127. package/dist/react/admin-catalogue.js.map +1 -1
  128. package/dist/react/admin-consumption.d.ts +1 -1
  129. package/dist/react/admin-consumption.js +1 -1
  130. package/dist/react/admin-consumption.js.map +1 -1
  131. package/dist/react/admin-contracts.d.ts +1 -1
  132. package/dist/react/admin-contracts.js +1 -1
  133. package/dist/react/admin-contracts.js.map +1 -1
  134. package/dist/react/admin-customer.d.ts +347 -0
  135. package/dist/react/admin-customer.js +545 -0
  136. package/dist/react/admin-customer.js.map +1 -0
  137. package/dist/react/admin-desk.d.ts +1 -1
  138. package/dist/react/admin-desk.js +1 -1
  139. package/dist/react/admin-desk.js.map +1 -1
  140. package/dist/react/admin-licenses.d.ts +1 -1
  141. package/dist/react/admin-licenses.js +1 -1
  142. package/dist/react/admin-licenses.js.map +1 -1
  143. package/dist/react/admin-partner-selections.d.ts +1 -1
  144. package/dist/react/admin-partner-selections.js +1 -1
  145. package/dist/react/admin-partner-selections.js.map +1 -1
  146. package/dist/react/admin-patrons.d.ts +1 -1
  147. package/dist/react/admin-patrons.js +1 -1
  148. package/dist/react/admin-patrons.js.map +1 -1
  149. package/dist/react/admin-reviews.d.ts +1 -1
  150. package/dist/react/admin-reviews.js +1 -1
  151. package/dist/react/admin-reviews.js.map +1 -1
  152. package/dist/react/admin-roles.d.ts +1 -1
  153. package/dist/react/admin-roles.js +1 -1
  154. package/dist/react/admin-roles.js.map +1 -1
  155. package/dist/react/admin-support.d.ts +1 -1
  156. package/dist/react/admin-support.js +1 -1
  157. package/dist/react/admin-support.js.map +1 -1
  158. package/dist/react/admin-tenants.d.ts +1 -1
  159. package/dist/react/admin-tenants.js +1 -1
  160. package/dist/react/admin-tenants.js.map +1 -1
  161. package/dist/react/admin-tutoring.d.ts +1 -1
  162. package/dist/react/admin-tutoring.js +1 -1
  163. package/dist/react/admin-tutoring.js.map +1 -1
  164. package/dist/react/auth-device.d.ts +1 -1
  165. package/dist/react/auth-device.js +1 -1
  166. package/dist/react/auth-device.js.map +1 -1
  167. package/dist/react/auth.d.ts +1 -1
  168. package/dist/react/auth.js +1 -1
  169. package/dist/react/auth.js.map +1 -1
  170. package/dist/react/biblio-billing-webhooks.d.ts +1 -1
  171. package/dist/react/biblio-billing-webhooks.js +1 -1
  172. package/dist/react/biblio-billing-webhooks.js.map +1 -1
  173. package/dist/react/biblio-billing.d.ts +1 -1
  174. package/dist/react/biblio-billing.js +1 -1
  175. package/dist/react/biblio-billing.js.map +1 -1
  176. package/dist/react/biblio-catalogue.d.ts +1 -1
  177. package/dist/react/biblio-catalogue.js +1 -1
  178. package/dist/react/biblio-catalogue.js.map +1 -1
  179. package/dist/react/biblio-home.d.ts +1 -1
  180. package/dist/react/biblio-home.js +1 -1
  181. package/dist/react/biblio-home.js.map +1 -1
  182. package/dist/react/biblio-learning-author-profiles.d.ts +1 -1
  183. package/dist/react/biblio-learning-author-profiles.js +1 -1
  184. package/dist/react/biblio-learning-author-profiles.js.map +1 -1
  185. package/dist/react/biblio-learning-authoring.d.ts +1 -1
  186. package/dist/react/biblio-learning-authoring.js +1 -1
  187. package/dist/react/biblio-learning-authoring.js.map +1 -1
  188. package/dist/react/biblio-learning-editorial.d.ts +1 -1
  189. package/dist/react/biblio-learning-editorial.js +1 -1
  190. package/dist/react/biblio-learning-editorial.js.map +1 -1
  191. package/dist/react/biblio-learning-feedback.d.ts +1 -1
  192. package/dist/react/biblio-learning-feedback.js +1 -1
  193. package/dist/react/biblio-learning-feedback.js.map +1 -1
  194. package/dist/react/biblio-learning-finance.d.ts +1 -1
  195. package/dist/react/biblio-learning-finance.js +1 -1
  196. package/dist/react/biblio-learning-finance.js.map +1 -1
  197. package/dist/react/biblio-learning-integrations.d.ts +1 -1
  198. package/dist/react/biblio-learning-integrations.js +1 -1
  199. package/dist/react/biblio-learning-integrations.js.map +1 -1
  200. package/dist/react/biblio-learning-membership.d.ts +1 -1
  201. package/dist/react/biblio-learning-membership.js +1 -1
  202. package/dist/react/biblio-learning-membership.js.map +1 -1
  203. package/dist/react/biblio-learning.d.ts +1 -1
  204. package/dist/react/biblio-learning.js +1 -1
  205. package/dist/react/biblio-learning.js.map +1 -1
  206. package/dist/react/biblio-library.d.ts +30 -1
  207. package/dist/react/biblio-library.js +54 -2
  208. package/dist/react/biblio-library.js.map +1 -1
  209. package/dist/react/biblio-nextory.d.ts +1 -1
  210. package/dist/react/biblio-nextory.js +1 -1
  211. package/dist/react/biblio-nextory.js.map +1 -1
  212. package/dist/react/biblio-press.d.ts +427 -1
  213. package/dist/react/biblio-press.js +609 -2
  214. package/dist/react/biblio-press.js.map +1 -1
  215. package/dist/react/biblio-search.d.ts +1 -1
  216. package/dist/react/biblio-search.js +1 -1
  217. package/dist/react/biblio-search.js.map +1 -1
  218. package/dist/react/biblio-telemetry.d.ts +1 -1
  219. package/dist/react/biblio-telemetry.js +1 -1
  220. package/dist/react/biblio-telemetry.js.map +1 -1
  221. package/dist/react/chat.d.ts +1 -1
  222. package/dist/react/consumption.d.ts +4 -4
  223. package/dist/react/consumption.js +4 -4
  224. package/dist/react/consumption.js.map +1 -1
  225. package/dist/react/cvs-app.d.ts +1 -1
  226. package/dist/react/cvs-app.js +1 -1
  227. package/dist/react/cvs-app.js.map +1 -1
  228. package/dist/react/cvs-documents.d.ts +141 -1
  229. package/dist/react/cvs-documents.js +179 -2
  230. package/dist/react/cvs-documents.js.map +1 -1
  231. package/dist/react/cvs-favorites.d.ts +1 -1
  232. package/dist/react/cvs-favorites.js +1 -1
  233. package/dist/react/cvs-favorites.js.map +1 -1
  234. package/dist/react/cvs-ils.d.ts +1 -1
  235. package/dist/react/cvs-ils.js +1 -1
  236. package/dist/react/cvs-ils.js.map +1 -1
  237. package/dist/react/cvs-loans.d.ts +1 -1
  238. package/dist/react/cvs-loans.js +1 -1
  239. package/dist/react/cvs-loans.js.map +1 -1
  240. package/dist/react/cvs-payments.d.ts +1 -1
  241. package/dist/react/cvs-payments.js +1 -1
  242. package/dist/react/cvs-payments.js.map +1 -1
  243. package/dist/react/cvs-streaming.d.ts +39 -1
  244. package/dist/react/cvs-streaming.js +45 -2
  245. package/dist/react/cvs-streaming.js.map +1 -1
  246. package/dist/react/index.d.ts +7 -6
  247. package/dist/react/index.js +7 -6
  248. package/dist/react/partner-catalogue.d.ts +1 -1
  249. package/dist/react/partner-catalogue.js +1 -1
  250. package/dist/react/partner-catalogue.js.map +1 -1
  251. package/dist/react/partner-reader.d.ts +1 -1
  252. package/dist/react/partner-reader.js +1 -1
  253. package/dist/react/partner-reader.js.map +1 -1
  254. package/dist/react/profiles.d.ts +1 -1
  255. package/dist/react/profiles.js +1 -1
  256. package/dist/react/profiles.js.map +1 -1
  257. package/dist/react/search.d.ts +1 -1
  258. package/dist/react/search.js +1 -1
  259. package/dist/react/search.js.map +1 -1
  260. package/dist/react/tutoring-catalogue.d.ts +1 -1
  261. package/dist/react/tutoring-catalogue.js +1 -1
  262. package/dist/react/tutoring-catalogue.js.map +1 -1
  263. package/dist/react/tutoring-chat.d.ts +1 -1
  264. package/dist/react/tutoring-chat.js +1 -1
  265. package/dist/react/tutoring-chat.js.map +1 -1
  266. package/dist/react/tutoring-dispatch.d.ts +1 -1
  267. package/dist/react/tutoring-dispatch.js +1 -1
  268. package/dist/react/tutoring-dispatch.js.map +1 -1
  269. package/dist/react/tutoring-practitioner.d.ts +1 -1
  270. package/dist/react/tutoring-practitioner.js +1 -1
  271. package/dist/react/tutoring-practitioner.js.map +1 -1
  272. package/dist/react/tutoring-requests.d.ts +1 -1
  273. package/dist/react/tutoring-requests.js +1 -1
  274. package/dist/react/tutoring-requests.js.map +1 -1
  275. package/package.json +12 -8
@@ -1,5 +1,5 @@
1
1
 
2
- import { Jo as LearningCatalogueMessagesParams, Mo as LearningCourseRevisionFragmentsParams, Po as LearningCourseMessagesParams, So as LearningEditorialFragmentPage, _i as LearningSubmissionHistoryPage, a as ValidationErrorResponse, bo as LearningEditorialMessagePage, gi as LearningSubmissionHistoryParams, js as LearningAssetRead, qo as LearningCatalogueRevisionFragmentsParams, uc as HTTPExceptionResponse, wo as LearningEditorialFragmentDetailRead, xo as LearningEditorialMessageRead, yo as LearningEditorialMessageWrite } from "../chunks/index.js";
2
+ import { $s as LearningCatalogueMessagesParams, Ds as LearningEditorialFragmentPage, Es as LearningEditorialMessageRead, Ic as LearningAssetRead, Ls as LearningCourseRevisionFragmentsParams, Qs as LearningCatalogueRevisionFragmentsParams, Sa as LearningSubmissionHistoryPage, Ts as LearningEditorialMessagePage, a as ValidationErrorResponse, hl as HTTPExceptionResponse, ks as LearningEditorialFragmentDetailRead, ws as LearningEditorialMessageWrite, xa as LearningSubmissionHistoryParams, zs as LearningCourseMessagesParams } from "../chunks/index.js";
3
3
  import { a as ErrorType, c as request, n as BodyType } from "../chunks/client.js";
4
4
  import { DataTag, DefinedInitialDataOptions, DefinedUseQueryResult, QueryClient, QueryKey, UndefinedInitialDataOptions, UseMutationOptions, UseMutationResult, UseQueryOptions, UseQueryResult } from "@tanstack/react-query";
5
5
  //#region src/react/biblio-learning-editorial/biblio-learning-editorial.d.ts
@@ -7,7 +7,7 @@ import { useMutation, useQuery } from "@tanstack/react-query";
7
7
  * Do not edit manually.
8
8
  * Mozaik backend
9
9
  * 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.
10
- * OpenAPI spec version: 0.14.0
10
+ * OpenAPI spec version: 0.14.2
11
11
  */
12
12
  const withQueryKey = (query, queryKey) => {
13
13
  const result = { queryKey };
@@ -1 +1 @@
1
- {"version":3,"file":"biblio-learning-editorial.js","names":[],"sources":["../../src/react/biblio-learning-editorial/biblio-learning-editorial.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.14.0\n */\nimport {\n useMutation,\n useQuery\n} from '@tanstack/react-query';\nimport type {\n DataTag,\n DefinedInitialDataOptions,\n DefinedUseQueryResult,\n MutationFunction,\n QueryClient,\n QueryFunction,\n QueryKey,\n UndefinedInitialDataOptions,\n UseMutationOptions,\n UseMutationResult,\n UseQueryOptions,\n UseQueryResult\n} from '@tanstack/react-query';\n\nimport type {\n HTTPExceptionResponse,\n LearningAssetRead,\n LearningCatalogueMessagesParams,\n LearningCatalogueRevisionFragmentsParams,\n LearningCourseMessagesParams,\n LearningCourseRevisionFragmentsParams,\n LearningEditorialFragmentDetailRead,\n LearningEditorialFragmentPage,\n LearningEditorialMessagePage,\n LearningEditorialMessageRead,\n LearningEditorialMessageWrite,\n LearningSubmissionHistoryPage,\n LearningSubmissionHistoryParams,\n ValidationErrorResponse\n} from '../../models';\n\nimport { request } from '../../client';\nimport type { ErrorType , BodyType } from '../../client';\n\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\n\n\nconst withQueryKey = <T extends object, K>(query: T, queryKey: K): T & { queryKey: K } => {\n const result = { queryKey } as T & { queryKey: K };\n for (const key of Object.keys(query)) {\n // The explicit queryKey always wins, matching the previous\n // `{ ...query, queryKey }` spread where it was set last.\n if (key === 'queryKey') continue;\n Object.defineProperty(result, key, {\n enumerable: true,\n configurable: true,\n get: () => (query as Record<string, unknown>)[key],\n });\n }\n return result;\n};\n\nexport const getLearningCatalogueMessagesUrl = (catalogueId: number,\n params?: LearningCatalogueMessagesParams,) => {\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 ? `/learning/author/catalogues/${catalogueId}/messages?${stringifiedParams}` : `/learning/author/catalogues/${catalogueId}/messages`\n}\n\n/**\n * Requires the effective independent author profile and the relevant catalogue, ownership or global authority. Support impersonation is rejected. Requires catalogue review authority. Results are filtered to the caller's scope before pagination; page is one-based and limit is bounded by the shared pagination contract. Ordered by message ID, including subjects not linked to a native course. sourceObjectClass and sourceObjectId are exact source-subject selectors and must be supplied together; they never grant access to another catalogue.\n * @summary List a catalogue's private editorial archive\n */\nexport const learningCatalogueMessages = async (catalogueId: number,\n params?: LearningCatalogueMessagesParams, options?: Parameters<typeof request>[1]): Promise<LearningEditorialMessagePage> => {\n\n return request<LearningEditorialMessagePage>(getLearningCatalogueMessagesUrl(catalogueId,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getLearningCatalogueMessagesQueryKey = (catalogueId: number,\n params?: LearningCatalogueMessagesParams,) => {\n return [\n `/learning/author/catalogues/${catalogueId}/messages`, ...(params ? [params] : [])\n ] as const;\n }\n\n\nexport const getLearningCatalogueMessagesQueryOptions = <TData = Awaited<ReturnType<typeof learningCatalogueMessages>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(catalogueId: number,\n params?: LearningCatalogueMessagesParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCatalogueMessages>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getLearningCatalogueMessagesQueryKey(catalogueId,params);\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof learningCatalogueMessages>>> = ({ signal }) => learningCatalogueMessages(catalogueId,params, { signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, enabled: catalogueId !== null && catalogueId !== undefined, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof learningCatalogueMessages>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type LearningCatalogueMessagesQueryResult = NonNullable<Awaited<ReturnType<typeof learningCatalogueMessages>>>\nexport type LearningCatalogueMessagesQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useLearningCatalogueMessages<TData = Awaited<ReturnType<typeof learningCatalogueMessages>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n catalogueId: number,\n params: undefined | LearningCatalogueMessagesParams, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCatalogueMessages>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningCatalogueMessages>>,\n TError,\n Awaited<ReturnType<typeof learningCatalogueMessages>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningCatalogueMessages<TData = Awaited<ReturnType<typeof learningCatalogueMessages>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n catalogueId: number,\n params?: LearningCatalogueMessagesParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCatalogueMessages>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningCatalogueMessages>>,\n TError,\n Awaited<ReturnType<typeof learningCatalogueMessages>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningCatalogueMessages<TData = Awaited<ReturnType<typeof learningCatalogueMessages>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n catalogueId: number,\n params?: LearningCatalogueMessagesParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCatalogueMessages>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary List a catalogue's private editorial archive\n */\n\nexport function useLearningCatalogueMessages<TData = Awaited<ReturnType<typeof learningCatalogueMessages>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n catalogueId: number,\n params?: LearningCatalogueMessagesParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCatalogueMessages>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getLearningCatalogueMessagesQueryOptions(catalogueId,params,options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\nexport const getLearningCatalogueRevisionFragmentsUrl = (catalogueId: number,\n params?: LearningCatalogueRevisionFragmentsParams,) => {\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 ? `/learning/author/catalogues/${catalogueId}/revision-fragments?${stringifiedParams}` : `/learning/author/catalogues/${catalogueId}/revision-fragments`\n}\n\n/**\n * Requires the effective independent author profile and the relevant catalogue, ownership or global authority. Support impersonation is rejected. Requires catalogue review authority. Results are filtered to the caller's scope before pagination; page is one-based and limit is bounded by the shared pagination contract. A fragment is partial source evidence, not a complete native revision or a replayable patch. Missing source dates and publication facts remain unknown; neither version labels nor source status prove publication. Ordered by fragment ID. Optional sourceObjectClass/sourceObjectId must be supplied together and match exactly; this archive can include subjects without a native course mapping.\n * @summary List a catalogue's imported revision fragments\n */\nexport const learningCatalogueRevisionFragments = async (catalogueId: number,\n params?: LearningCatalogueRevisionFragmentsParams, options?: Parameters<typeof request>[1]): Promise<LearningEditorialFragmentPage> => {\n\n return request<LearningEditorialFragmentPage>(getLearningCatalogueRevisionFragmentsUrl(catalogueId,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getLearningCatalogueRevisionFragmentsQueryKey = (catalogueId: number,\n params?: LearningCatalogueRevisionFragmentsParams,) => {\n return [\n `/learning/author/catalogues/${catalogueId}/revision-fragments`, ...(params ? [params] : [])\n ] as const;\n }\n\n\nexport const getLearningCatalogueRevisionFragmentsQueryOptions = <TData = Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(catalogueId: number,\n params?: LearningCatalogueRevisionFragmentsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getLearningCatalogueRevisionFragmentsQueryKey(catalogueId,params);\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>> = ({ signal }) => learningCatalogueRevisionFragments(catalogueId,params, { signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, enabled: catalogueId !== null && catalogueId !== undefined, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type LearningCatalogueRevisionFragmentsQueryResult = NonNullable<Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>>\nexport type LearningCatalogueRevisionFragmentsQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useLearningCatalogueRevisionFragments<TData = Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n catalogueId: number,\n params: undefined | LearningCatalogueRevisionFragmentsParams, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>,\n TError,\n Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningCatalogueRevisionFragments<TData = Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n catalogueId: number,\n params?: LearningCatalogueRevisionFragmentsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>,\n TError,\n Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningCatalogueRevisionFragments<TData = Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n catalogueId: number,\n params?: LearningCatalogueRevisionFragmentsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary List a catalogue's imported revision fragments\n */\n\nexport function useLearningCatalogueRevisionFragments<TData = Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n catalogueId: number,\n params?: LearningCatalogueRevisionFragmentsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getLearningCatalogueRevisionFragmentsQueryOptions(catalogueId,params,options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\nexport const getLearningCourseMessagesUrl = (courseId: number,\n params?: LearningCourseMessagesParams,) => {\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 ? `/learning/author/courses/${courseId}/messages?${stringifiedParams}` : `/learning/author/courses/${courseId}/messages`\n}\n\n/**\n * Requires course read-authoring authority; support impersonation is rejected. Results are filtered to the caller's scope before pagination; page is one-based and limit is bounded by the shared pagination contract. Ordered by message ID. Omitting revisionId includes all course messages; specifying it returns only that revision's messages and requires the revision to belong to courseId. Imported discussion can preserve unknown userId and createdAt.\n * @summary List private course editorial messages\n */\nexport const learningCourseMessages = async (courseId: number,\n params?: LearningCourseMessagesParams, options?: Parameters<typeof request>[1]): Promise<LearningEditorialMessagePage> => {\n\n return request<LearningEditorialMessagePage>(getLearningCourseMessagesUrl(courseId,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getLearningCourseMessagesQueryKey = (courseId: number,\n params?: LearningCourseMessagesParams,) => {\n return [\n `/learning/author/courses/${courseId}/messages`, ...(params ? [params] : [])\n ] as const;\n }\n\n\nexport const getLearningCourseMessagesQueryOptions = <TData = Awaited<ReturnType<typeof learningCourseMessages>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(courseId: number,\n params?: LearningCourseMessagesParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCourseMessages>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getLearningCourseMessagesQueryKey(courseId,params);\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof learningCourseMessages>>> = ({ signal }) => learningCourseMessages(courseId,params, { signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, enabled: courseId !== null && courseId !== undefined, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof learningCourseMessages>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type LearningCourseMessagesQueryResult = NonNullable<Awaited<ReturnType<typeof learningCourseMessages>>>\nexport type LearningCourseMessagesQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useLearningCourseMessages<TData = Awaited<ReturnType<typeof learningCourseMessages>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n courseId: number,\n params: undefined | LearningCourseMessagesParams, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCourseMessages>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningCourseMessages>>,\n TError,\n Awaited<ReturnType<typeof learningCourseMessages>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningCourseMessages<TData = Awaited<ReturnType<typeof learningCourseMessages>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n courseId: number,\n params?: LearningCourseMessagesParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCourseMessages>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningCourseMessages>>,\n TError,\n Awaited<ReturnType<typeof learningCourseMessages>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningCourseMessages<TData = Awaited<ReturnType<typeof learningCourseMessages>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n courseId: number,\n params?: LearningCourseMessagesParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCourseMessages>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary List private course editorial messages\n */\n\nexport function useLearningCourseMessages<TData = Awaited<ReturnType<typeof learningCourseMessages>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n courseId: number,\n params?: LearningCourseMessagesParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCourseMessages>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getLearningCourseMessagesQueryOptions(courseId,params,options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\nexport const getLearningAddEditorialMessageUrl = (courseId: number,) => {\n\n\n\n\n return `/learning/author/courses/${courseId}/messages`\n}\n\n/**\n * Requires course edit authority, catalogue review authority or global authority; support impersonation is rejected. Appends an attributed message without changing the course definition. Optional revisionId must identify a revision of this course. Omit it or use null for a course-level discussion.\n * @summary Add a private course editorial message\n */\nexport const learningAddEditorialMessage = async (courseId: number,\n learningEditorialMessageWrite: LearningEditorialMessageWrite, options?: Parameters<typeof request>[1]): Promise<LearningEditorialMessageRead> => {\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<LearningEditorialMessageRead>(getLearningAddEditorialMessageUrl(courseId),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(learningEditorialMessageWrite)\n }\n);}\n\n\n\n\n\nexport const getLearningAddEditorialMessageMutationKey = () => ['learningAddEditorialMessage'] as const;\n\nexport const getLearningAddEditorialMessageMutationOptions = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof learningAddEditorialMessage>>, TError,LearningAddEditorialMessageMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n): UseMutationOptions<Awaited<ReturnType<typeof learningAddEditorialMessage>>, TError,LearningAddEditorialMessageMutationVariables, TContext> => {\n\nconst mutationKey = getLearningAddEditorialMessageMutationKey();\nconst {mutation: mutationOptions, request: requestOptions} = options ?\n options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?\n options\n : {...options, mutation: {...options.mutation, mutationKey}}\n : {mutation: { mutationKey, }, request: undefined};\n\n\n\n\n const mutationFn: MutationFunction<Awaited<ReturnType<typeof learningAddEditorialMessage>>, LearningAddEditorialMessageMutationVariables> = (props) => {\n const {courseId,data} = props ?? {};\n\n return learningAddEditorialMessage(courseId,data,requestOptions)\n }\n\n\n\n\n\n\n return { mutationFn, ...mutationOptions }}\n\n export type LearningAddEditorialMessageMutationResult = NonNullable<Awaited<ReturnType<typeof learningAddEditorialMessage>>>\n export type LearningAddEditorialMessageMutationBody = BodyType<LearningEditorialMessageWrite>\n export type LearningAddEditorialMessageMutationError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n export type LearningAddEditorialMessageMutationVariables = {courseId: number;data: BodyType<LearningEditorialMessageWrite>}\n\n /**\n * @summary Add a private course editorial message\n */\nexport const useLearningAddEditorialMessage = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof learningAddEditorialMessage>>, TError,LearningAddEditorialMessageMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient): UseMutationResult<\n Awaited<ReturnType<typeof learningAddEditorialMessage>>,\n TError,\n LearningAddEditorialMessageMutationVariables,\n TContext\n > => {\n return useMutation(getLearningAddEditorialMessageMutationOptions(options), queryClient);\n }\n export const getLearningCourseRevisionFragmentsUrl = (courseId: number,\n params?: LearningCourseRevisionFragmentsParams,) => {\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 ? `/learning/author/courses/${courseId}/revision-fragments?${stringifiedParams}` : `/learning/author/courses/${courseId}/revision-fragments`\n}\n\n/**\n * Requires course read-authoring authority and rejects support impersonation. Results are filtered to the caller's scope before pagination; page is one-based and limit is bounded by the shared pagination contract. A fragment is partial source evidence, not a complete native revision or a replayable patch. Missing source dates and publication facts remain unknown; neither version labels nor source status prove publication. Summaries are ordered by fragment ID; use the fragment detail route for retained source bytes.\n * @summary List a course's imported revision fragments\n */\nexport const learningCourseRevisionFragments = async (courseId: number,\n params?: LearningCourseRevisionFragmentsParams, options?: Parameters<typeof request>[1]): Promise<LearningEditorialFragmentPage> => {\n\n return request<LearningEditorialFragmentPage>(getLearningCourseRevisionFragmentsUrl(courseId,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getLearningCourseRevisionFragmentsQueryKey = (courseId: number,\n params?: LearningCourseRevisionFragmentsParams,) => {\n return [\n `/learning/author/courses/${courseId}/revision-fragments`, ...(params ? [params] : [])\n ] as const;\n }\n\n\nexport const getLearningCourseRevisionFragmentsQueryOptions = <TData = Awaited<ReturnType<typeof learningCourseRevisionFragments>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(courseId: number,\n params?: LearningCourseRevisionFragmentsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCourseRevisionFragments>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getLearningCourseRevisionFragmentsQueryKey(courseId,params);\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof learningCourseRevisionFragments>>> = ({ signal }) => learningCourseRevisionFragments(courseId,params, { signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, enabled: courseId !== null && courseId !== undefined, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof learningCourseRevisionFragments>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type LearningCourseRevisionFragmentsQueryResult = NonNullable<Awaited<ReturnType<typeof learningCourseRevisionFragments>>>\nexport type LearningCourseRevisionFragmentsQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useLearningCourseRevisionFragments<TData = Awaited<ReturnType<typeof learningCourseRevisionFragments>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n courseId: number,\n params: undefined | LearningCourseRevisionFragmentsParams, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCourseRevisionFragments>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningCourseRevisionFragments>>,\n TError,\n Awaited<ReturnType<typeof learningCourseRevisionFragments>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningCourseRevisionFragments<TData = Awaited<ReturnType<typeof learningCourseRevisionFragments>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n courseId: number,\n params?: LearningCourseRevisionFragmentsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCourseRevisionFragments>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningCourseRevisionFragments>>,\n TError,\n Awaited<ReturnType<typeof learningCourseRevisionFragments>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningCourseRevisionFragments<TData = Awaited<ReturnType<typeof learningCourseRevisionFragments>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n courseId: number,\n params?: LearningCourseRevisionFragmentsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCourseRevisionFragments>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary List a course's imported revision fragments\n */\n\nexport function useLearningCourseRevisionFragments<TData = Awaited<ReturnType<typeof learningCourseRevisionFragments>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n courseId: number,\n params?: LearningCourseRevisionFragmentsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCourseRevisionFragments>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getLearningCourseRevisionFragmentsQueryOptions(courseId,params,options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\nexport const getLearningRevisionFragmentUrl = (fragmentId: number,) => {\n\n\n\n\n return `/learning/author/revision-fragments/${fragmentId}`\n}\n\n/**\n * Requires read-authoring authority on a linked course, or review authority on its catalogue when no course is linked. Unscoped fragments are unavailable. A fragment is partial source evidence, not a complete native revision or a replayable patch. Missing source dates and publication facts remain unknown; neither version labels nor source status prove publication. sourcePayload is opaque base64 source evidence, not a complete native course definition. sourcePayloadSha256 records its evidence digest; payload retention may be absent.\n * @summary Read a private imported revision fragment\n */\nexport const learningRevisionFragment = async (fragmentId: number, options?: Parameters<typeof request>[1]): Promise<LearningEditorialFragmentDetailRead> => {\n\n return request<LearningEditorialFragmentDetailRead>(getLearningRevisionFragmentUrl(fragmentId),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getLearningRevisionFragmentQueryKey = (fragmentId: number,) => {\n return [\n `/learning/author/revision-fragments/${fragmentId}`\n ] as const;\n }\n\n\nexport const getLearningRevisionFragmentQueryOptions = <TData = Awaited<ReturnType<typeof learningRevisionFragment>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(fragmentId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningRevisionFragment>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getLearningRevisionFragmentQueryKey(fragmentId);\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof learningRevisionFragment>>> = ({ signal }) => learningRevisionFragment(fragmentId, { signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, enabled: fragmentId !== null && fragmentId !== undefined, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof learningRevisionFragment>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type LearningRevisionFragmentQueryResult = NonNullable<Awaited<ReturnType<typeof learningRevisionFragment>>>\nexport type LearningRevisionFragmentQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useLearningRevisionFragment<TData = Awaited<ReturnType<typeof learningRevisionFragment>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n fragmentId: number, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningRevisionFragment>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningRevisionFragment>>,\n TError,\n Awaited<ReturnType<typeof learningRevisionFragment>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningRevisionFragment<TData = Awaited<ReturnType<typeof learningRevisionFragment>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n fragmentId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningRevisionFragment>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningRevisionFragment>>,\n TError,\n Awaited<ReturnType<typeof learningRevisionFragment>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningRevisionFragment<TData = Awaited<ReturnType<typeof learningRevisionFragment>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n fragmentId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningRevisionFragment>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary Read a private imported revision fragment\n */\n\nexport function useLearningRevisionFragment<TData = Awaited<ReturnType<typeof learningRevisionFragment>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n fragmentId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningRevisionFragment>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getLearningRevisionFragmentQueryOptions(fragmentId,options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\nexport const getLearningSubmissionHistoryUrl = (params?: LearningSubmissionHistoryParams,) => {\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 ? `/learning/submissions/history?${stringifiedParams}` : `/learning/submissions/history`\n}\n\n/**\n * Returns only the effective profile's imported submission evidence; support impersonation is rejected. Results are filtered to the caller's scope before pagination; page is one-based and limit is bounded by the shared pagination contract. Ordered by submission ID. A record attests that a submission existed, without inventing an attempt, date, grade or correction. assetId can be null when no retained file is linked.\n * @summary List my historical exercise submissions\n */\nexport const learningSubmissionHistory = async (params?: LearningSubmissionHistoryParams, options?: Parameters<typeof request>[1]): Promise<LearningSubmissionHistoryPage> => {\n\n return request<LearningSubmissionHistoryPage>(getLearningSubmissionHistoryUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getLearningSubmissionHistoryQueryKey = (params?: LearningSubmissionHistoryParams,) => {\n return [\n `/learning/submissions/history`, ...(params ? [params] : [])\n ] as const;\n }\n\n\nexport const getLearningSubmissionHistoryQueryOptions = <TData = Awaited<ReturnType<typeof learningSubmissionHistory>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(params?: LearningSubmissionHistoryParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningSubmissionHistory>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getLearningSubmissionHistoryQueryKey(params);\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof learningSubmissionHistory>>> = ({ signal }) => learningSubmissionHistory(params, { signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof learningSubmissionHistory>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type LearningSubmissionHistoryQueryResult = NonNullable<Awaited<ReturnType<typeof learningSubmissionHistory>>>\nexport type LearningSubmissionHistoryQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useLearningSubmissionHistory<TData = Awaited<ReturnType<typeof learningSubmissionHistory>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n params: undefined | LearningSubmissionHistoryParams, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningSubmissionHistory>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningSubmissionHistory>>,\n TError,\n Awaited<ReturnType<typeof learningSubmissionHistory>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningSubmissionHistory<TData = Awaited<ReturnType<typeof learningSubmissionHistory>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n params?: LearningSubmissionHistoryParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningSubmissionHistory>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningSubmissionHistory>>,\n TError,\n Awaited<ReturnType<typeof learningSubmissionHistory>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningSubmissionHistory<TData = Awaited<ReturnType<typeof learningSubmissionHistory>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n params?: LearningSubmissionHistoryParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningSubmissionHistory>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary List my historical exercise submissions\n */\n\nexport function useLearningSubmissionHistory<TData = Awaited<ReturnType<typeof learningSubmissionHistory>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n params?: LearningSubmissionHistoryParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningSubmissionHistory>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getLearningSubmissionHistoryQueryOptions(params,options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\nexport const getLearningSubmissionHistoryResourceUrl = (submissionId: number,) => {\n\n\n\n\n return `/learning/submissions/history/${submissionId}/resource`\n}\n\n/**\n * Requires ownership of both the historical submission and its active, unshared submission asset. Support impersonation is rejected. Returns a delivery descriptor rather than file bytes; absence of a retained asset returns 404 and does not erase the submission evidence.\n * @summary Get my historical submission's private resource\n */\nexport const learningSubmissionHistoryResource = async (submissionId: number, options?: Parameters<typeof request>[1]): Promise<LearningAssetRead> => {\n\n return request<LearningAssetRead>(getLearningSubmissionHistoryResourceUrl(submissionId),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getLearningSubmissionHistoryResourceQueryKey = (submissionId: number,) => {\n return [\n `/learning/submissions/history/${submissionId}/resource`\n ] as const;\n }\n\n\nexport const getLearningSubmissionHistoryResourceQueryOptions = <TData = Awaited<ReturnType<typeof learningSubmissionHistoryResource>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(submissionId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningSubmissionHistoryResource>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getLearningSubmissionHistoryResourceQueryKey(submissionId);\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof learningSubmissionHistoryResource>>> = ({ signal }) => learningSubmissionHistoryResource(submissionId, { signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, enabled: submissionId !== null && submissionId !== undefined, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof learningSubmissionHistoryResource>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type LearningSubmissionHistoryResourceQueryResult = NonNullable<Awaited<ReturnType<typeof learningSubmissionHistoryResource>>>\nexport type LearningSubmissionHistoryResourceQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useLearningSubmissionHistoryResource<TData = Awaited<ReturnType<typeof learningSubmissionHistoryResource>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n submissionId: number, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningSubmissionHistoryResource>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningSubmissionHistoryResource>>,\n TError,\n Awaited<ReturnType<typeof learningSubmissionHistoryResource>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningSubmissionHistoryResource<TData = Awaited<ReturnType<typeof learningSubmissionHistoryResource>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n submissionId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningSubmissionHistoryResource>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningSubmissionHistoryResource>>,\n TError,\n Awaited<ReturnType<typeof learningSubmissionHistoryResource>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningSubmissionHistoryResource<TData = Awaited<ReturnType<typeof learningSubmissionHistoryResource>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n submissionId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningSubmissionHistoryResource>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary Get my historical submission's private resource\n */\n\nexport function useLearningSubmissionHistoryResource<TData = Awaited<ReturnType<typeof learningSubmissionHistoryResource>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n submissionId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningSubmissionHistoryResource>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getLearningSubmissionHistoryResourceQueryOptions(submissionId,options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\n"],"mappings":"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"}
1
+ {"version":3,"file":"biblio-learning-editorial.js","names":[],"sources":["../../src/react/biblio-learning-editorial/biblio-learning-editorial.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.14.2\n */\nimport {\n useMutation,\n useQuery\n} from '@tanstack/react-query';\nimport type {\n DataTag,\n DefinedInitialDataOptions,\n DefinedUseQueryResult,\n MutationFunction,\n QueryClient,\n QueryFunction,\n QueryKey,\n UndefinedInitialDataOptions,\n UseMutationOptions,\n UseMutationResult,\n UseQueryOptions,\n UseQueryResult\n} from '@tanstack/react-query';\n\nimport type {\n HTTPExceptionResponse,\n LearningAssetRead,\n LearningCatalogueMessagesParams,\n LearningCatalogueRevisionFragmentsParams,\n LearningCourseMessagesParams,\n LearningCourseRevisionFragmentsParams,\n LearningEditorialFragmentDetailRead,\n LearningEditorialFragmentPage,\n LearningEditorialMessagePage,\n LearningEditorialMessageRead,\n LearningEditorialMessageWrite,\n LearningSubmissionHistoryPage,\n LearningSubmissionHistoryParams,\n ValidationErrorResponse\n} from '../../models';\n\nimport { request } from '../../client';\nimport type { ErrorType , BodyType } from '../../client';\n\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\n\n\nconst withQueryKey = <T extends object, K>(query: T, queryKey: K): T & { queryKey: K } => {\n const result = { queryKey } as T & { queryKey: K };\n for (const key of Object.keys(query)) {\n // The explicit queryKey always wins, matching the previous\n // `{ ...query, queryKey }` spread where it was set last.\n if (key === 'queryKey') continue;\n Object.defineProperty(result, key, {\n enumerable: true,\n configurable: true,\n get: () => (query as Record<string, unknown>)[key],\n });\n }\n return result;\n};\n\nexport const getLearningCatalogueMessagesUrl = (catalogueId: number,\n params?: LearningCatalogueMessagesParams,) => {\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 ? `/learning/author/catalogues/${catalogueId}/messages?${stringifiedParams}` : `/learning/author/catalogues/${catalogueId}/messages`\n}\n\n/**\n * Requires the effective independent author profile and the relevant catalogue, ownership or global authority. Support impersonation is rejected. Requires catalogue review authority. Results are filtered to the caller's scope before pagination; page is one-based and limit is bounded by the shared pagination contract. Ordered by message ID, including subjects not linked to a native course. sourceObjectClass and sourceObjectId are exact source-subject selectors and must be supplied together; they never grant access to another catalogue.\n * @summary List a catalogue's private editorial archive\n */\nexport const learningCatalogueMessages = async (catalogueId: number,\n params?: LearningCatalogueMessagesParams, options?: Parameters<typeof request>[1]): Promise<LearningEditorialMessagePage> => {\n\n return request<LearningEditorialMessagePage>(getLearningCatalogueMessagesUrl(catalogueId,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getLearningCatalogueMessagesQueryKey = (catalogueId: number,\n params?: LearningCatalogueMessagesParams,) => {\n return [\n `/learning/author/catalogues/${catalogueId}/messages`, ...(params ? [params] : [])\n ] as const;\n }\n\n\nexport const getLearningCatalogueMessagesQueryOptions = <TData = Awaited<ReturnType<typeof learningCatalogueMessages>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(catalogueId: number,\n params?: LearningCatalogueMessagesParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCatalogueMessages>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getLearningCatalogueMessagesQueryKey(catalogueId,params);\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof learningCatalogueMessages>>> = ({ signal }) => learningCatalogueMessages(catalogueId,params, { signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, enabled: catalogueId !== null && catalogueId !== undefined, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof learningCatalogueMessages>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type LearningCatalogueMessagesQueryResult = NonNullable<Awaited<ReturnType<typeof learningCatalogueMessages>>>\nexport type LearningCatalogueMessagesQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useLearningCatalogueMessages<TData = Awaited<ReturnType<typeof learningCatalogueMessages>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n catalogueId: number,\n params: undefined | LearningCatalogueMessagesParams, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCatalogueMessages>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningCatalogueMessages>>,\n TError,\n Awaited<ReturnType<typeof learningCatalogueMessages>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningCatalogueMessages<TData = Awaited<ReturnType<typeof learningCatalogueMessages>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n catalogueId: number,\n params?: LearningCatalogueMessagesParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCatalogueMessages>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningCatalogueMessages>>,\n TError,\n Awaited<ReturnType<typeof learningCatalogueMessages>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningCatalogueMessages<TData = Awaited<ReturnType<typeof learningCatalogueMessages>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n catalogueId: number,\n params?: LearningCatalogueMessagesParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCatalogueMessages>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary List a catalogue's private editorial archive\n */\n\nexport function useLearningCatalogueMessages<TData = Awaited<ReturnType<typeof learningCatalogueMessages>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n catalogueId: number,\n params?: LearningCatalogueMessagesParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCatalogueMessages>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getLearningCatalogueMessagesQueryOptions(catalogueId,params,options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\nexport const getLearningCatalogueRevisionFragmentsUrl = (catalogueId: number,\n params?: LearningCatalogueRevisionFragmentsParams,) => {\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 ? `/learning/author/catalogues/${catalogueId}/revision-fragments?${stringifiedParams}` : `/learning/author/catalogues/${catalogueId}/revision-fragments`\n}\n\n/**\n * Requires the effective independent author profile and the relevant catalogue, ownership or global authority. Support impersonation is rejected. Requires catalogue review authority. Results are filtered to the caller's scope before pagination; page is one-based and limit is bounded by the shared pagination contract. A fragment is partial source evidence, not a complete native revision or a replayable patch. Missing source dates and publication facts remain unknown; neither version labels nor source status prove publication. Ordered by fragment ID. Optional sourceObjectClass/sourceObjectId must be supplied together and match exactly; this archive can include subjects without a native course mapping.\n * @summary List a catalogue's imported revision fragments\n */\nexport const learningCatalogueRevisionFragments = async (catalogueId: number,\n params?: LearningCatalogueRevisionFragmentsParams, options?: Parameters<typeof request>[1]): Promise<LearningEditorialFragmentPage> => {\n\n return request<LearningEditorialFragmentPage>(getLearningCatalogueRevisionFragmentsUrl(catalogueId,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getLearningCatalogueRevisionFragmentsQueryKey = (catalogueId: number,\n params?: LearningCatalogueRevisionFragmentsParams,) => {\n return [\n `/learning/author/catalogues/${catalogueId}/revision-fragments`, ...(params ? [params] : [])\n ] as const;\n }\n\n\nexport const getLearningCatalogueRevisionFragmentsQueryOptions = <TData = Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(catalogueId: number,\n params?: LearningCatalogueRevisionFragmentsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getLearningCatalogueRevisionFragmentsQueryKey(catalogueId,params);\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>> = ({ signal }) => learningCatalogueRevisionFragments(catalogueId,params, { signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, enabled: catalogueId !== null && catalogueId !== undefined, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type LearningCatalogueRevisionFragmentsQueryResult = NonNullable<Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>>\nexport type LearningCatalogueRevisionFragmentsQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useLearningCatalogueRevisionFragments<TData = Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n catalogueId: number,\n params: undefined | LearningCatalogueRevisionFragmentsParams, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>,\n TError,\n Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningCatalogueRevisionFragments<TData = Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n catalogueId: number,\n params?: LearningCatalogueRevisionFragmentsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>,\n TError,\n Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningCatalogueRevisionFragments<TData = Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n catalogueId: number,\n params?: LearningCatalogueRevisionFragmentsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary List a catalogue's imported revision fragments\n */\n\nexport function useLearningCatalogueRevisionFragments<TData = Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n catalogueId: number,\n params?: LearningCatalogueRevisionFragmentsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCatalogueRevisionFragments>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getLearningCatalogueRevisionFragmentsQueryOptions(catalogueId,params,options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\nexport const getLearningCourseMessagesUrl = (courseId: number,\n params?: LearningCourseMessagesParams,) => {\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 ? `/learning/author/courses/${courseId}/messages?${stringifiedParams}` : `/learning/author/courses/${courseId}/messages`\n}\n\n/**\n * Requires course read-authoring authority; support impersonation is rejected. Results are filtered to the caller's scope before pagination; page is one-based and limit is bounded by the shared pagination contract. Ordered by message ID. Omitting revisionId includes all course messages; specifying it returns only that revision's messages and requires the revision to belong to courseId. Imported discussion can preserve unknown userId and createdAt.\n * @summary List private course editorial messages\n */\nexport const learningCourseMessages = async (courseId: number,\n params?: LearningCourseMessagesParams, options?: Parameters<typeof request>[1]): Promise<LearningEditorialMessagePage> => {\n\n return request<LearningEditorialMessagePage>(getLearningCourseMessagesUrl(courseId,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getLearningCourseMessagesQueryKey = (courseId: number,\n params?: LearningCourseMessagesParams,) => {\n return [\n `/learning/author/courses/${courseId}/messages`, ...(params ? [params] : [])\n ] as const;\n }\n\n\nexport const getLearningCourseMessagesQueryOptions = <TData = Awaited<ReturnType<typeof learningCourseMessages>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(courseId: number,\n params?: LearningCourseMessagesParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCourseMessages>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getLearningCourseMessagesQueryKey(courseId,params);\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof learningCourseMessages>>> = ({ signal }) => learningCourseMessages(courseId,params, { signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, enabled: courseId !== null && courseId !== undefined, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof learningCourseMessages>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type LearningCourseMessagesQueryResult = NonNullable<Awaited<ReturnType<typeof learningCourseMessages>>>\nexport type LearningCourseMessagesQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useLearningCourseMessages<TData = Awaited<ReturnType<typeof learningCourseMessages>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n courseId: number,\n params: undefined | LearningCourseMessagesParams, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCourseMessages>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningCourseMessages>>,\n TError,\n Awaited<ReturnType<typeof learningCourseMessages>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningCourseMessages<TData = Awaited<ReturnType<typeof learningCourseMessages>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n courseId: number,\n params?: LearningCourseMessagesParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCourseMessages>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningCourseMessages>>,\n TError,\n Awaited<ReturnType<typeof learningCourseMessages>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningCourseMessages<TData = Awaited<ReturnType<typeof learningCourseMessages>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n courseId: number,\n params?: LearningCourseMessagesParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCourseMessages>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary List private course editorial messages\n */\n\nexport function useLearningCourseMessages<TData = Awaited<ReturnType<typeof learningCourseMessages>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n courseId: number,\n params?: LearningCourseMessagesParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCourseMessages>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getLearningCourseMessagesQueryOptions(courseId,params,options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\nexport const getLearningAddEditorialMessageUrl = (courseId: number,) => {\n\n\n\n\n return `/learning/author/courses/${courseId}/messages`\n}\n\n/**\n * Requires course edit authority, catalogue review authority or global authority; support impersonation is rejected. Appends an attributed message without changing the course definition. Optional revisionId must identify a revision of this course. Omit it or use null for a course-level discussion.\n * @summary Add a private course editorial message\n */\nexport const learningAddEditorialMessage = async (courseId: number,\n learningEditorialMessageWrite: LearningEditorialMessageWrite, options?: Parameters<typeof request>[1]): Promise<LearningEditorialMessageRead> => {\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<LearningEditorialMessageRead>(getLearningAddEditorialMessageUrl(courseId),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(learningEditorialMessageWrite)\n }\n);}\n\n\n\n\n\nexport const getLearningAddEditorialMessageMutationKey = () => ['learningAddEditorialMessage'] as const;\n\nexport const getLearningAddEditorialMessageMutationOptions = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof learningAddEditorialMessage>>, TError,LearningAddEditorialMessageMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n): UseMutationOptions<Awaited<ReturnType<typeof learningAddEditorialMessage>>, TError,LearningAddEditorialMessageMutationVariables, TContext> => {\n\nconst mutationKey = getLearningAddEditorialMessageMutationKey();\nconst {mutation: mutationOptions, request: requestOptions} = options ?\n options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?\n options\n : {...options, mutation: {...options.mutation, mutationKey}}\n : {mutation: { mutationKey, }, request: undefined};\n\n\n\n\n const mutationFn: MutationFunction<Awaited<ReturnType<typeof learningAddEditorialMessage>>, LearningAddEditorialMessageMutationVariables> = (props) => {\n const {courseId,data} = props ?? {};\n\n return learningAddEditorialMessage(courseId,data,requestOptions)\n }\n\n\n\n\n\n\n return { mutationFn, ...mutationOptions }}\n\n export type LearningAddEditorialMessageMutationResult = NonNullable<Awaited<ReturnType<typeof learningAddEditorialMessage>>>\n export type LearningAddEditorialMessageMutationBody = BodyType<LearningEditorialMessageWrite>\n export type LearningAddEditorialMessageMutationError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n export type LearningAddEditorialMessageMutationVariables = {courseId: number;data: BodyType<LearningEditorialMessageWrite>}\n\n /**\n * @summary Add a private course editorial message\n */\nexport const useLearningAddEditorialMessage = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof learningAddEditorialMessage>>, TError,LearningAddEditorialMessageMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient): UseMutationResult<\n Awaited<ReturnType<typeof learningAddEditorialMessage>>,\n TError,\n LearningAddEditorialMessageMutationVariables,\n TContext\n > => {\n return useMutation(getLearningAddEditorialMessageMutationOptions(options), queryClient);\n }\n export const getLearningCourseRevisionFragmentsUrl = (courseId: number,\n params?: LearningCourseRevisionFragmentsParams,) => {\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 ? `/learning/author/courses/${courseId}/revision-fragments?${stringifiedParams}` : `/learning/author/courses/${courseId}/revision-fragments`\n}\n\n/**\n * Requires course read-authoring authority and rejects support impersonation. Results are filtered to the caller's scope before pagination; page is one-based and limit is bounded by the shared pagination contract. A fragment is partial source evidence, not a complete native revision or a replayable patch. Missing source dates and publication facts remain unknown; neither version labels nor source status prove publication. Summaries are ordered by fragment ID; use the fragment detail route for retained source bytes.\n * @summary List a course's imported revision fragments\n */\nexport const learningCourseRevisionFragments = async (courseId: number,\n params?: LearningCourseRevisionFragmentsParams, options?: Parameters<typeof request>[1]): Promise<LearningEditorialFragmentPage> => {\n\n return request<LearningEditorialFragmentPage>(getLearningCourseRevisionFragmentsUrl(courseId,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getLearningCourseRevisionFragmentsQueryKey = (courseId: number,\n params?: LearningCourseRevisionFragmentsParams,) => {\n return [\n `/learning/author/courses/${courseId}/revision-fragments`, ...(params ? [params] : [])\n ] as const;\n }\n\n\nexport const getLearningCourseRevisionFragmentsQueryOptions = <TData = Awaited<ReturnType<typeof learningCourseRevisionFragments>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(courseId: number,\n params?: LearningCourseRevisionFragmentsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCourseRevisionFragments>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getLearningCourseRevisionFragmentsQueryKey(courseId,params);\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof learningCourseRevisionFragments>>> = ({ signal }) => learningCourseRevisionFragments(courseId,params, { signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, enabled: courseId !== null && courseId !== undefined, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof learningCourseRevisionFragments>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type LearningCourseRevisionFragmentsQueryResult = NonNullable<Awaited<ReturnType<typeof learningCourseRevisionFragments>>>\nexport type LearningCourseRevisionFragmentsQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useLearningCourseRevisionFragments<TData = Awaited<ReturnType<typeof learningCourseRevisionFragments>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n courseId: number,\n params: undefined | LearningCourseRevisionFragmentsParams, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCourseRevisionFragments>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningCourseRevisionFragments>>,\n TError,\n Awaited<ReturnType<typeof learningCourseRevisionFragments>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningCourseRevisionFragments<TData = Awaited<ReturnType<typeof learningCourseRevisionFragments>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n courseId: number,\n params?: LearningCourseRevisionFragmentsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCourseRevisionFragments>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningCourseRevisionFragments>>,\n TError,\n Awaited<ReturnType<typeof learningCourseRevisionFragments>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningCourseRevisionFragments<TData = Awaited<ReturnType<typeof learningCourseRevisionFragments>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n courseId: number,\n params?: LearningCourseRevisionFragmentsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCourseRevisionFragments>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary List a course's imported revision fragments\n */\n\nexport function useLearningCourseRevisionFragments<TData = Awaited<ReturnType<typeof learningCourseRevisionFragments>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n courseId: number,\n params?: LearningCourseRevisionFragmentsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningCourseRevisionFragments>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getLearningCourseRevisionFragmentsQueryOptions(courseId,params,options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\nexport const getLearningRevisionFragmentUrl = (fragmentId: number,) => {\n\n\n\n\n return `/learning/author/revision-fragments/${fragmentId}`\n}\n\n/**\n * Requires read-authoring authority on a linked course, or review authority on its catalogue when no course is linked. Unscoped fragments are unavailable. A fragment is partial source evidence, not a complete native revision or a replayable patch. Missing source dates and publication facts remain unknown; neither version labels nor source status prove publication. sourcePayload is opaque base64 source evidence, not a complete native course definition. sourcePayloadSha256 records its evidence digest; payload retention may be absent.\n * @summary Read a private imported revision fragment\n */\nexport const learningRevisionFragment = async (fragmentId: number, options?: Parameters<typeof request>[1]): Promise<LearningEditorialFragmentDetailRead> => {\n\n return request<LearningEditorialFragmentDetailRead>(getLearningRevisionFragmentUrl(fragmentId),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getLearningRevisionFragmentQueryKey = (fragmentId: number,) => {\n return [\n `/learning/author/revision-fragments/${fragmentId}`\n ] as const;\n }\n\n\nexport const getLearningRevisionFragmentQueryOptions = <TData = Awaited<ReturnType<typeof learningRevisionFragment>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(fragmentId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningRevisionFragment>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getLearningRevisionFragmentQueryKey(fragmentId);\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof learningRevisionFragment>>> = ({ signal }) => learningRevisionFragment(fragmentId, { signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, enabled: fragmentId !== null && fragmentId !== undefined, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof learningRevisionFragment>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type LearningRevisionFragmentQueryResult = NonNullable<Awaited<ReturnType<typeof learningRevisionFragment>>>\nexport type LearningRevisionFragmentQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useLearningRevisionFragment<TData = Awaited<ReturnType<typeof learningRevisionFragment>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n fragmentId: number, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningRevisionFragment>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningRevisionFragment>>,\n TError,\n Awaited<ReturnType<typeof learningRevisionFragment>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningRevisionFragment<TData = Awaited<ReturnType<typeof learningRevisionFragment>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n fragmentId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningRevisionFragment>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningRevisionFragment>>,\n TError,\n Awaited<ReturnType<typeof learningRevisionFragment>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningRevisionFragment<TData = Awaited<ReturnType<typeof learningRevisionFragment>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n fragmentId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningRevisionFragment>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary Read a private imported revision fragment\n */\n\nexport function useLearningRevisionFragment<TData = Awaited<ReturnType<typeof learningRevisionFragment>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n fragmentId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningRevisionFragment>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getLearningRevisionFragmentQueryOptions(fragmentId,options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\nexport const getLearningSubmissionHistoryUrl = (params?: LearningSubmissionHistoryParams,) => {\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 ? `/learning/submissions/history?${stringifiedParams}` : `/learning/submissions/history`\n}\n\n/**\n * Returns only the effective profile's imported submission evidence; support impersonation is rejected. Results are filtered to the caller's scope before pagination; page is one-based and limit is bounded by the shared pagination contract. Ordered by submission ID. A record attests that a submission existed, without inventing an attempt, date, grade or correction. assetId can be null when no retained file is linked.\n * @summary List my historical exercise submissions\n */\nexport const learningSubmissionHistory = async (params?: LearningSubmissionHistoryParams, options?: Parameters<typeof request>[1]): Promise<LearningSubmissionHistoryPage> => {\n\n return request<LearningSubmissionHistoryPage>(getLearningSubmissionHistoryUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getLearningSubmissionHistoryQueryKey = (params?: LearningSubmissionHistoryParams,) => {\n return [\n `/learning/submissions/history`, ...(params ? [params] : [])\n ] as const;\n }\n\n\nexport const getLearningSubmissionHistoryQueryOptions = <TData = Awaited<ReturnType<typeof learningSubmissionHistory>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(params?: LearningSubmissionHistoryParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningSubmissionHistory>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getLearningSubmissionHistoryQueryKey(params);\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof learningSubmissionHistory>>> = ({ signal }) => learningSubmissionHistory(params, { signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof learningSubmissionHistory>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type LearningSubmissionHistoryQueryResult = NonNullable<Awaited<ReturnType<typeof learningSubmissionHistory>>>\nexport type LearningSubmissionHistoryQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useLearningSubmissionHistory<TData = Awaited<ReturnType<typeof learningSubmissionHistory>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n params: undefined | LearningSubmissionHistoryParams, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningSubmissionHistory>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningSubmissionHistory>>,\n TError,\n Awaited<ReturnType<typeof learningSubmissionHistory>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningSubmissionHistory<TData = Awaited<ReturnType<typeof learningSubmissionHistory>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n params?: LearningSubmissionHistoryParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningSubmissionHistory>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningSubmissionHistory>>,\n TError,\n Awaited<ReturnType<typeof learningSubmissionHistory>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningSubmissionHistory<TData = Awaited<ReturnType<typeof learningSubmissionHistory>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n params?: LearningSubmissionHistoryParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningSubmissionHistory>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary List my historical exercise submissions\n */\n\nexport function useLearningSubmissionHistory<TData = Awaited<ReturnType<typeof learningSubmissionHistory>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n params?: LearningSubmissionHistoryParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningSubmissionHistory>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getLearningSubmissionHistoryQueryOptions(params,options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\nexport const getLearningSubmissionHistoryResourceUrl = (submissionId: number,) => {\n\n\n\n\n return `/learning/submissions/history/${submissionId}/resource`\n}\n\n/**\n * Requires ownership of both the historical submission and its active, unshared submission asset. Support impersonation is rejected. Returns a delivery descriptor rather than file bytes; absence of a retained asset returns 404 and does not erase the submission evidence.\n * @summary Get my historical submission's private resource\n */\nexport const learningSubmissionHistoryResource = async (submissionId: number, options?: Parameters<typeof request>[1]): Promise<LearningAssetRead> => {\n\n return request<LearningAssetRead>(getLearningSubmissionHistoryResourceUrl(submissionId),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getLearningSubmissionHistoryResourceQueryKey = (submissionId: number,) => {\n return [\n `/learning/submissions/history/${submissionId}/resource`\n ] as const;\n }\n\n\nexport const getLearningSubmissionHistoryResourceQueryOptions = <TData = Awaited<ReturnType<typeof learningSubmissionHistoryResource>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(submissionId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningSubmissionHistoryResource>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getLearningSubmissionHistoryResourceQueryKey(submissionId);\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof learningSubmissionHistoryResource>>> = ({ signal }) => learningSubmissionHistoryResource(submissionId, { signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, enabled: submissionId !== null && submissionId !== undefined, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof learningSubmissionHistoryResource>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type LearningSubmissionHistoryResourceQueryResult = NonNullable<Awaited<ReturnType<typeof learningSubmissionHistoryResource>>>\nexport type LearningSubmissionHistoryResourceQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useLearningSubmissionHistoryResource<TData = Awaited<ReturnType<typeof learningSubmissionHistoryResource>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n submissionId: number, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningSubmissionHistoryResource>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningSubmissionHistoryResource>>,\n TError,\n Awaited<ReturnType<typeof learningSubmissionHistoryResource>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningSubmissionHistoryResource<TData = Awaited<ReturnType<typeof learningSubmissionHistoryResource>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n submissionId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningSubmissionHistoryResource>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof learningSubmissionHistoryResource>>,\n TError,\n Awaited<ReturnType<typeof learningSubmissionHistoryResource>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useLearningSubmissionHistoryResource<TData = Awaited<ReturnType<typeof learningSubmissionHistoryResource>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n submissionId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningSubmissionHistoryResource>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary Get my historical submission's private resource\n */\n\nexport function useLearningSubmissionHistoryResource<TData = Awaited<ReturnType<typeof learningSubmissionHistoryResource>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n submissionId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof learningSubmissionHistoryResource>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getLearningSubmissionHistoryResourceQueryOptions(submissionId,options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
 
2
- import { $i as LearningReportingScopePage, Ao as LearningCourseStatsRead, Do as LearningCustomerGrantWrite, Eo as LearningCustomerStatisticsParams, Fa as LearningOwnFeedbackParams, Oo as LearningCustomerCourseStatisticsParams, Qi as LearningReportingScopesParams, Qo as LearningCatalogueCustomerStatisticsParams, To as LearningCustomerStatsRead, a as ValidationErrorResponse, go as LearningFeedbackRead, hi as LearningSurveyRead, ho as LearningFeedbackPage, ko as LearningCourseStatsPage, mi as LearningTenantStatsRead, mo as LearningFeedbackWrite, ts as LearningAuthorStatisticsParams, uc as HTTPExceptionResponse } from "../chunks/index.js";
2
+ import { As as LearningCustomerStatsRead, Bo as LearningOwnFeedbackParams, Fs as LearningCourseStatsRead, Ms as LearningCustomerGrantWrite, Ns as LearningCustomerCourseStatisticsParams, Ps as LearningCourseStatsPage, a as ValidationErrorResponse, ba as LearningSurveyRead, bs as LearningFeedbackPage, hl as HTTPExceptionResponse, io as LearningReportingScopePage, js as LearningCustomerStatisticsParams, oc as LearningAuthorStatisticsParams, rc as LearningCatalogueCustomerStatisticsParams, ro as LearningReportingScopesParams, xs as LearningFeedbackRead, ya as LearningTenantStatsRead, ys as LearningFeedbackWrite } from "../chunks/index.js";
3
3
  import { a as ErrorType, c as request, n as BodyType } from "../chunks/client.js";
4
4
  import { DataTag, DefinedInitialDataOptions, DefinedUseQueryResult, QueryClient, QueryKey, UndefinedInitialDataOptions, UseMutationOptions, UseMutationResult, UseQueryOptions, UseQueryResult } from "@tanstack/react-query";
5
5
  //#region src/react/biblio-learning-feedback/biblio-learning-feedback.d.ts
@@ -7,7 +7,7 @@ import { useMutation, useQuery } from "@tanstack/react-query";
7
7
  * Do not edit manually.
8
8
  * Mozaik backend
9
9
  * 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.
10
- * OpenAPI spec version: 0.14.0
10
+ * OpenAPI spec version: 0.14.2
11
11
  */
12
12
  const withQueryKey = (query, queryKey) => {
13
13
  const result = { queryKey };