invenio-app-ils 1.0.0a54__py2.py3-none-any.whl → 6.1.0__py2.py3-none-any.whl

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 (331) hide show
  1. invenio_app_ils/__init__.py +2 -2
  2. invenio_app_ils/acquisition/api.py +3 -1
  3. invenio_app_ils/acquisition/config.py +10 -21
  4. invenio_app_ils/acquisition/jsonresolvers/order_order_lines.py +1 -0
  5. invenio_app_ils/acquisition/mappings/os-v1/acq_orders/order-v1.0.0.json +364 -0
  6. invenio_app_ils/acquisition/mappings/os-v2/__init__.py +0 -0
  7. invenio_app_ils/acquisition/mappings/os-v2/acq_orders/order-v1.0.0.json +364 -0
  8. invenio_app_ils/acquisition/mappings/v7/acq_orders/order-v1.0.0.json +14 -0
  9. invenio_app_ils/acquisition/search.py +5 -15
  10. invenio_app_ils/assets/semantic-ui/less/theme.config +103 -0
  11. invenio_app_ils/assets/semantic-ui/templates/.gitkeep +0 -0
  12. invenio_app_ils/circulation/api.py +153 -67
  13. invenio_app_ils/circulation/config.py +29 -25
  14. invenio_app_ils/circulation/indexer.py +14 -19
  15. invenio_app_ils/circulation/loaders/__init__.py +2 -0
  16. invenio_app_ils/circulation/loaders/schemas/json/loan_checkout.py +2 -3
  17. invenio_app_ils/circulation/loaders/schemas/json/loan_request.py +82 -16
  18. invenio_app_ils/circulation/loaders/schemas/json/loan_self_checkout.py +19 -0
  19. invenio_app_ils/circulation/notifications/api.py +23 -19
  20. invenio_app_ils/circulation/notifications/messages.py +6 -6
  21. invenio_app_ils/circulation/notifications/tasks.py +1 -2
  22. invenio_app_ils/circulation/receivers.py +2 -5
  23. invenio_app_ils/circulation/search.py +23 -22
  24. invenio_app_ils/circulation/serializers/__init__.py +2 -2
  25. invenio_app_ils/circulation/serializers/csv.py +1 -3
  26. invenio_app_ils/circulation/serializers/custom_fields.py +5 -9
  27. invenio_app_ils/circulation/serializers/json.py +2 -6
  28. invenio_app_ils/circulation/serializers/response.py +12 -12
  29. invenio_app_ils/circulation/stats/views.py +5 -15
  30. invenio_app_ils/circulation/tasks.py +2 -6
  31. invenio_app_ils/circulation/templates/invenio_app_ils_circulation/notifications/self_checkout.html +19 -0
  32. invenio_app_ils/circulation/templates/invenio_app_ils_circulation/notifications/update_dates.html +19 -0
  33. invenio_app_ils/circulation/utils.py +23 -17
  34. invenio_app_ils/circulation/views.py +103 -39
  35. invenio_app_ils/cli.py +220 -260
  36. invenio_app_ils/closures/api.py +72 -7
  37. invenio_app_ils/closures/serializers/__init__.py +16 -0
  38. invenio_app_ils/closures/serializers/response.py +35 -0
  39. invenio_app_ils/closures/serializers/schema.py +28 -0
  40. invenio_app_ils/closures/tasks.py +4 -11
  41. invenio_app_ils/closures/views.py +66 -0
  42. invenio_app_ils/config.py +207 -150
  43. invenio_app_ils/document_requests/api.py +6 -21
  44. invenio_app_ils/document_requests/loaders/__init__.py +4 -12
  45. invenio_app_ils/document_requests/mappings/{v6 → os-v1}/__init__.py +2 -2
  46. invenio_app_ils/document_requests/mappings/os-v1/document_requests/document_request-v1.0.0.json +196 -0
  47. invenio_app_ils/document_requests/mappings/os-v2/__init__.py +8 -0
  48. invenio_app_ils/document_requests/mappings/os-v2/document_requests/document_request-v1.0.0.json +196 -0
  49. invenio_app_ils/document_requests/notifications/api.py +2 -7
  50. invenio_app_ils/document_requests/notifications/messages.py +3 -7
  51. invenio_app_ils/document_requests/search.py +2 -6
  52. invenio_app_ils/document_requests/views.py +4 -10
  53. invenio_app_ils/documents/api.py +19 -25
  54. invenio_app_ils/documents/indexer.py +13 -20
  55. invenio_app_ils/documents/jsonresolvers/document_circulation.py +11 -33
  56. invenio_app_ils/documents/jsonresolvers/document_eitem.py +1 -0
  57. invenio_app_ils/documents/jsonresolvers/document_item.py +8 -9
  58. invenio_app_ils/documents/jsonresolvers/document_stock.py +7 -7
  59. invenio_app_ils/documents/loaders/jsonschemas/document.py +3 -14
  60. invenio_app_ils/documents/mappings/{v6 → os-v1}/__init__.py +1 -1
  61. invenio_app_ils/documents/mappings/os-v1/documents/document-v1.0.0.json +932 -0
  62. invenio_app_ils/documents/mappings/os-v1/documents/document-v2.0.0.json +1066 -0
  63. invenio_app_ils/documents/mappings/os-v2/__init__.py +8 -0
  64. invenio_app_ils/documents/mappings/os-v2/documents/document-v1.0.0.json +932 -0
  65. invenio_app_ils/documents/mappings/os-v2/documents/document-v2.0.0.json +1066 -0
  66. invenio_app_ils/documents/mappings/v7/documents/document-v1.0.0.json +102 -11
  67. invenio_app_ils/documents/mappings/v7/documents/document-v2.0.0.json +1066 -0
  68. invenio_app_ils/documents/schemas/documents/document-v2.0.0.json +732 -0
  69. invenio_app_ils/eitems/api.py +41 -7
  70. invenio_app_ils/eitems/loaders/jsonschemas/eitems.py +6 -6
  71. invenio_app_ils/eitems/mappings/{v6 → os-v1}/__init__.py +1 -1
  72. invenio_app_ils/eitems/mappings/os-v1/eitems/eitem-v1.0.0.json +139 -0
  73. invenio_app_ils/eitems/mappings/os-v1/eitems/eitem-v2.0.0.json +142 -0
  74. invenio_app_ils/eitems/mappings/os-v1/eitems/eitem-v3.0.0.json +179 -0
  75. invenio_app_ils/{series/mappings/v6 → eitems/mappings/os-v2}/__init__.py +1 -1
  76. invenio_app_ils/eitems/mappings/os-v2/eitems/eitem-v1.0.0.json +139 -0
  77. invenio_app_ils/eitems/mappings/os-v2/eitems/eitem-v2.0.0.json +142 -0
  78. invenio_app_ils/eitems/mappings/os-v2/eitems/eitem-v3.0.0.json +179 -0
  79. invenio_app_ils/eitems/mappings/v7/eitems/eitem-v1.0.0.json +12 -2
  80. invenio_app_ils/eitems/mappings/v7/eitems/eitem-v2.0.0.json +142 -0
  81. invenio_app_ils/eitems/mappings/v7/eitems/eitem-v3.0.0.json +179 -0
  82. invenio_app_ils/eitems/schemas/eitems/eitem-v2.0.0.json +120 -0
  83. invenio_app_ils/eitems/schemas/eitems/eitem-v3.0.0.json +120 -0
  84. invenio_app_ils/eitems/search.py +3 -9
  85. invenio_app_ils/errors.py +119 -6
  86. invenio_app_ils/ext.py +15 -18
  87. invenio_app_ils/facets.py +13 -15
  88. invenio_app_ils/files/receivers.py +1 -1
  89. invenio_app_ils/files/views.py +1 -2
  90. invenio_app_ils/ill/api.py +1 -2
  91. invenio_app_ils/ill/config.py +10 -16
  92. invenio_app_ils/ill/jsonresolvers/borrowing_request_document.py +2 -3
  93. invenio_app_ils/ill/jsonresolvers/borrowing_request_patron.py +1 -3
  94. invenio_app_ils/ill/jsonresolvers/borrowing_request_provider.py +1 -3
  95. invenio_app_ils/ill/loaders/__init__.py +3 -9
  96. invenio_app_ils/ill/loaders/jsonschemas/patron_loan_actions.py +1 -8
  97. invenio_app_ils/ill/loaders/jsonschemas/patron_loan_extension_actions.py +3 -8
  98. invenio_app_ils/ill/mappings/{v6 → os-v1}/__init__.py +1 -1
  99. invenio_app_ils/ill/mappings/os-v1/ill_borrowing_requests/borrowing_request-v1.0.0.json +254 -0
  100. invenio_app_ils/{acquisition/mappings/v6 → ill/mappings/os-v2}/__init__.py +1 -1
  101. invenio_app_ils/ill/mappings/os-v2/ill_borrowing_requests/borrowing_request-v1.0.0.json +254 -0
  102. invenio_app_ils/ill/mappings/v7/ill_borrowing_requests/borrowing_request-v1.0.0.json +14 -0
  103. invenio_app_ils/ill/notifications/api.py +1 -4
  104. invenio_app_ils/ill/search.py +3 -9
  105. invenio_app_ils/ill/serializers/__init__.py +1 -3
  106. invenio_app_ils/ill/views.py +2 -4
  107. invenio_app_ils/internal_locations/api.py +1 -4
  108. invenio_app_ils/internal_locations/mappings/{v6 → os-v1}/__init__.py +1 -1
  109. invenio_app_ils/internal_locations/mappings/os-v1/internal_locations/internal_location-v1.0.0.json +108 -0
  110. invenio_app_ils/internal_locations/mappings/os-v2/__init__.py +8 -0
  111. invenio_app_ils/internal_locations/mappings/os-v2/internal_locations/internal_location-v1.0.0.json +108 -0
  112. invenio_app_ils/internal_locations/search.py +1 -3
  113. invenio_app_ils/items/api.py +18 -15
  114. invenio_app_ils/items/indexer.py +1 -3
  115. invenio_app_ils/items/jsonresolvers/item_document.py +1 -1
  116. invenio_app_ils/items/jsonresolvers/item_internal_location.py +2 -6
  117. invenio_app_ils/items/loaders/jsonschemas/items.py +2 -0
  118. {tests/api/circulation → invenio_app_ils/items/mappings/os-v1}/__init__.py +1 -1
  119. invenio_app_ils/items/mappings/os-v1/items/item-v1.0.0.json +285 -0
  120. invenio_app_ils/items/mappings/os-v1/items/item-v2.0.0.json +326 -0
  121. {tests/api/ill → invenio_app_ils/items/mappings/os-v2}/__init__.py +1 -1
  122. invenio_app_ils/items/mappings/os-v2/items/item-v1.0.0.json +285 -0
  123. invenio_app_ils/items/mappings/os-v2/items/item-v2.0.0.json +326 -0
  124. invenio_app_ils/items/mappings/v7/items/item-v1.0.0.json +11 -0
  125. invenio_app_ils/items/mappings/v7/items/item-v2.0.0.json +326 -0
  126. invenio_app_ils/items/schemas/items/item-v1.0.0.json +22 -0
  127. invenio_app_ils/items/schemas/items/item-v2.0.0.json +172 -0
  128. invenio_app_ils/items/search.py +18 -11
  129. invenio_app_ils/items/serializers/item.py +7 -6
  130. invenio_app_ils/literature/api.py +1 -3
  131. invenio_app_ils/literature/search.py +3 -5
  132. invenio_app_ils/literature/serializers/csv.py +1 -3
  133. invenio_app_ils/literature/serializers/json.py +1 -3
  134. invenio_app_ils/locations/api.py +2 -4
  135. invenio_app_ils/locations/indexer.py +3 -9
  136. invenio_app_ils/locations/loaders/__init__.py +1 -3
  137. invenio_app_ils/locations/loaders/jsonschemas/location.py +4 -11
  138. invenio_app_ils/locations/mappings/{v6 → os-v1}/__init__.py +1 -1
  139. invenio_app_ils/locations/mappings/os-v1/locations/location-v1.0.0.json +90 -0
  140. invenio_app_ils/locations/mappings/os-v2/__init__.py +8 -0
  141. invenio_app_ils/locations/mappings/os-v2/locations/location-v1.0.0.json +90 -0
  142. invenio_app_ils/notifications/messages.py +4 -3
  143. invenio_app_ils/notifications/tasks.py +1 -3
  144. invenio_app_ils/notifications/views.py +2 -2
  145. invenio_app_ils/patrons/anonymization.py +53 -32
  146. invenio_app_ils/patrons/api.py +3 -5
  147. invenio_app_ils/patrons/cli.py +1 -2
  148. invenio_app_ils/patrons/indexer.py +4 -13
  149. invenio_app_ils/patrons/mappings/os-v1/__init__.py +8 -0
  150. invenio_app_ils/patrons/mappings/os-v1/patrons/patron-v1.0.0.json +42 -0
  151. invenio_app_ils/patrons/mappings/os-v2/__init__.py +8 -0
  152. invenio_app_ils/patrons/mappings/os-v2/patrons/patron-v1.0.0.json +42 -0
  153. invenio_app_ils/patrons/views.py +4 -14
  154. invenio_app_ils/permissions.py +93 -35
  155. invenio_app_ils/providers/api.py +2 -6
  156. invenio_app_ils/providers/config.py +11 -19
  157. invenio_app_ils/providers/indexer.py +2 -6
  158. invenio_app_ils/providers/mappings/{v6 → os-v1}/__init__.py +1 -1
  159. invenio_app_ils/providers/mappings/os-v1/providers/provider-v1.0.0.json +57 -0
  160. invenio_app_ils/providers/mappings/os-v2/__init__.py +8 -0
  161. invenio_app_ils/providers/mappings/os-v2/providers/provider-v1.0.0.json +57 -0
  162. invenio_app_ils/providers/mappings/v7/__init__.py +1 -1
  163. invenio_app_ils/providers/proxies.py +1 -3
  164. invenio_app_ils/records/api.py +3 -9
  165. invenio_app_ils/records/loaders/schemas/changed_by.py +1 -3
  166. invenio_app_ils/records/loaders/schemas/identifiers.py +23 -0
  167. invenio_app_ils/records/metadata_extensions.py +1 -4
  168. invenio_app_ils/records/permissions.py +8 -2
  169. invenio_app_ils/records/serializers/__init__.py +1 -4
  170. invenio_app_ils/records/views.py +4 -7
  171. invenio_app_ils/records_relations/api.py +11 -34
  172. invenio_app_ils/records_relations/indexer.py +1 -3
  173. invenio_app_ils/records_relations/retriever.py +14 -9
  174. invenio_app_ils/records_relations/views.py +16 -50
  175. invenio_app_ils/relations/api.py +17 -16
  176. invenio_app_ils/search_permissions.py +24 -24
  177. invenio_app_ils/series/api.py +10 -12
  178. invenio_app_ils/series/loaders/jsonschemas/series.py +3 -2
  179. invenio_app_ils/{items/mappings/v6 → series/mappings/os-v1}/__init__.py +1 -1
  180. invenio_app_ils/series/mappings/os-v1/series/series-v1.0.0.json +324 -0
  181. invenio_app_ils/series/mappings/os-v1/series/series-v2.0.0.json +396 -0
  182. {tests/api/acquisition → invenio_app_ils/series/mappings/os-v2}/__init__.py +1 -1
  183. invenio_app_ils/series/mappings/os-v2/series/series-v1.0.0.json +324 -0
  184. invenio_app_ils/series/mappings/os-v2/series/series-v2.0.0.json +396 -0
  185. invenio_app_ils/series/mappings/v7/series/series-v1.0.0.json +35 -3
  186. invenio_app_ils/series/mappings/v7/series/series-v2.0.0.json +396 -0
  187. invenio_app_ils/series/schemas/series/series-v2.0.0.json +354 -0
  188. invenio_app_ils/stats/aggregations/aggr_file_download/os-v1/aggr-file-download-v1.json +60 -0
  189. invenio_app_ils/stats/aggregations/aggr_file_download/os-v2/__init__.py +9 -0
  190. invenio_app_ils/stats/aggregations/aggr_file_download/os-v2/aggr-file-download-v1.json +60 -0
  191. invenio_app_ils/stats/event_builders.py +73 -0
  192. invenio_app_ils/stats/file_download/os-v1/file-download-v1.json +72 -0
  193. invenio_app_ils/stats/file_download/os-v2/__init__.py +9 -0
  194. invenio_app_ils/stats/file_download/os-v2/file-download-v1.json +72 -0
  195. invenio_app_ils/stats/processors.py +30 -0
  196. invenio_app_ils/stats/templates/aggregations/__init__.py +8 -0
  197. invenio_app_ils/stats/templates/aggregations/ils_record_changes/__init__.py +8 -0
  198. invenio_app_ils/stats/templates/aggregations/ils_record_changes/os-v2/__init__.py +8 -0
  199. invenio_app_ils/stats/templates/aggregations/ils_record_changes/os-v2/aggr-ils-record-changes-v1.json +41 -0
  200. {tests → invenio_app_ils/stats/templates/events}/__init__.py +2 -2
  201. invenio_app_ils/stats/templates/events/ils_record_changes/__init__.py +8 -0
  202. invenio_app_ils/stats/templates/events/ils_record_changes/os-v2/__init__.py +8 -0
  203. invenio_app_ils/stats/templates/events/ils_record_changes/os-v2/ils-record-changes-v1.json +41 -0
  204. invenio_app_ils/templates/logged_out.html +12 -0
  205. invenio_app_ils/views.py +18 -4
  206. invenio_app_ils/vocabularies/api.py +1 -1
  207. invenio_app_ils/vocabularies/cli.py +6 -18
  208. invenio_app_ils/vocabularies/data/acq_order_line_payment_modes.json +5 -0
  209. invenio_app_ils/vocabularies/data/identifier_schemes.json +5 -0
  210. invenio_app_ils/vocabularies/indexer.py +1 -4
  211. invenio_app_ils/vocabularies/jsonresolvers/licenses.py +2 -11
  212. invenio_app_ils/vocabularies/mappings/os-v1/__init__.py +8 -0
  213. invenio_app_ils/vocabularies/mappings/os-v1/vocabularies/vocabulary-v1.0.0.json +23 -0
  214. invenio_app_ils/vocabularies/mappings/os-v2/__init__.py +8 -0
  215. invenio_app_ils/vocabularies/mappings/os-v2/vocabularies/vocabulary-v1.0.0.json +23 -0
  216. invenio_app_ils/vocabularies/sources/base.py +1 -3
  217. invenio_app_ils/webpack.py +27 -0
  218. invenio_app_ils-6.1.0.dist-info/METADATA +627 -0
  219. {invenio_app_ils-1.0.0a54.dist-info → invenio_app_ils-6.1.0.dist-info}/RECORD +227 -249
  220. {invenio_app_ils-1.0.0a54.dist-info → invenio_app_ils-6.1.0.dist-info}/WHEEL +1 -1
  221. {invenio_app_ils-1.0.0a54.dist-info → invenio_app_ils-6.1.0.dist-info}/entry_points.txt +9 -5
  222. {invenio_app_ils-1.0.0a54.dist-info → invenio_app_ils-6.1.0.dist-info}/top_level.txt +0 -1
  223. invenio_app_ils/acquisition/mappings/v6/acq_orders/order-v1.0.0.json +0 -352
  224. invenio_app_ils/document_requests/mappings/v6/document_requests/document_request-v1.0.0.json +0 -199
  225. invenio_app_ils/documents/mappings/v6/documents/document-v1.0.0.json +0 -843
  226. invenio_app_ils/eitems/mappings/v6/eitems/eitem-v1.0.0.json +0 -131
  227. invenio_app_ils/ill/mappings/v6/ill_borrowing_requests/borrowing_request-v1.0.0.json +0 -242
  228. invenio_app_ils/internal_locations/mappings/v6/internal_locations/internal_location-v1.0.0.json +0 -110
  229. invenio_app_ils/items/mappings/v6/items/item-v1.0.0.json +0 -276
  230. invenio_app_ils/locations/mappings/v6/locations/location-v1.0.0.json +0 -92
  231. invenio_app_ils/notifications/admin.py +0 -57
  232. invenio_app_ils/patrons/mappings/v6/__init__.py +0 -8
  233. invenio_app_ils/patrons/mappings/v6/patrons/patron-v1.0.0.json +0 -44
  234. invenio_app_ils/providers/mappings/v6/providers/provider-v1.0.0.json +0 -59
  235. invenio_app_ils/series/mappings/v6/series/series-v1.0.0.json +0 -298
  236. invenio_app_ils/stats/aggregations/aggr_file_download/v6/aggr-file-download-v1.json +0 -59
  237. invenio_app_ils/stats/file_download/v6/file-download-v1.json +0 -74
  238. invenio_app_ils/version.py +0 -14
  239. invenio_app_ils/vocabularies/mappings/v6/__init__.py +0 -8
  240. invenio_app_ils/vocabularies/mappings/v6/vocabularies/vocabulary-v1.0.0.json +0 -25
  241. invenio_app_ils-1.0.0a54.dist-info/METADATA +0 -95
  242. tests/api/__init__.py +0 -8
  243. tests/api/acquisition/test_acq_orders_crud.py +0 -102
  244. tests/api/acquisition/test_acq_orders_permissions.py +0 -104
  245. tests/api/acquisition/test_acq_providers_permissions.py +0 -83
  246. tests/api/circulation/test_expired_loans.py +0 -88
  247. tests/api/circulation/test_loan_checkout.py +0 -216
  248. tests/api/circulation/test_loan_default_durations.py +0 -57
  249. tests/api/circulation/test_loan_document_resolver.py +0 -18
  250. tests/api/circulation/test_loan_extend.py +0 -132
  251. tests/api/circulation/test_loan_item_permissions.py +0 -139
  252. tests/api/circulation/test_loan_item_resolver.py +0 -26
  253. tests/api/circulation/test_loan_list_permissions.py +0 -104
  254. tests/api/circulation/test_loan_patron_resolver.py +0 -38
  255. tests/api/circulation/test_loan_request.py +0 -234
  256. tests/api/circulation/test_loan_update.py +0 -150
  257. tests/api/circulation/test_notifications.py +0 -229
  258. tests/api/conftest.py +0 -236
  259. tests/api/document_requests/__init__.py +0 -8
  260. tests/api/document_requests/test_document_requests.py +0 -131
  261. tests/api/document_requests/test_document_requests_permissions.py +0 -177
  262. tests/api/document_requests/test_notifications_filter.py +0 -36
  263. tests/api/ill/test_ill_brw_crud.py +0 -84
  264. tests/api/ill/test_ill_brw_reqs_patron_loan_create_action.py +0 -207
  265. tests/api/ill/test_ill_brw_reqs_patron_loan_extension_actions.py +0 -298
  266. tests/api/ill/test_ill_brw_reqs_permissions.py +0 -169
  267. tests/api/ill/test_ill_providers_permissions.py +0 -82
  268. tests/api/ils/__init__.py +0 -8
  269. tests/api/ils/documents/__init__.py +0 -8
  270. tests/api/ils/documents/test_document_crud.py +0 -57
  271. tests/api/ils/documents/test_document_permissions.py +0 -106
  272. tests/api/ils/documents/test_document_resolvers.py +0 -35
  273. tests/api/ils/eitems/__init__.py +0 -8
  274. tests/api/ils/eitems/test_eitems_crud.py +0 -41
  275. tests/api/ils/eitems/test_eitems_permissions.py +0 -84
  276. tests/api/ils/eitems/test_files.py +0 -172
  277. tests/api/ils/items/__init__.py +0 -8
  278. tests/api/ils/items/test_apis.py +0 -43
  279. tests/api/ils/items/test_items_crud.py +0 -60
  280. tests/api/ils/items/test_items_permissions.py +0 -107
  281. tests/api/ils/items/test_items_update.py +0 -47
  282. tests/api/ils/records_relations/__init__.py +0 -8
  283. tests/api/ils/records_relations/helpers.py +0 -115
  284. tests/api/ils/records_relations/test_records_relations_parentchild.py +0 -560
  285. tests/api/ils/records_relations/test_records_relations_sequence.py +0 -302
  286. tests/api/ils/records_relations/test_records_relations_siblings.py +0 -678
  287. tests/api/ils/series/__init__.py +0 -8
  288. tests/api/ils/series/test_series_permissions.py +0 -95
  289. tests/api/ils/test_anonymization.py +0 -189
  290. tests/api/ils/test_apis.py +0 -76
  291. tests/api/ils/test_closures.py +0 -324
  292. tests/api/ils/test_errors.py +0 -126
  293. tests/api/ils/test_facets.py +0 -84
  294. tests/api/ils/test_internal_locations.py +0 -96
  295. tests/api/ils/test_loaders.py +0 -55
  296. tests/api/ils/test_metadata_extensions.py +0 -205
  297. tests/api/ils/test_notifications.py +0 -183
  298. tests/api/ils/test_notifications_mails.py +0 -39
  299. tests/api/ils/test_notifications_permissions.py +0 -55
  300. tests/api/ils/test_patrons.py +0 -106
  301. tests/api/ils/test_record_delete.py +0 -46
  302. tests/api/ils/test_record_permissions.py +0 -135
  303. tests/api/ils/test_resolvers.py +0 -207
  304. tests/api/ils/test_stats.py +0 -160
  305. tests/api/ils/test_tasks.py +0 -211
  306. tests/api/ils/test_vocabularies.py +0 -35
  307. tests/conftest.py +0 -123
  308. tests/data/acq_orders.json +0 -89
  309. tests/data/acq_providers.json +0 -12
  310. tests/data/document_requests.json +0 -77
  311. tests/data/documents.json +0 -237
  312. tests/data/eitems.json +0 -66
  313. tests/data/ill_borrowing_requests.json +0 -77
  314. tests/data/ill_providers.json +0 -12
  315. tests/data/internal_locations.json +0 -22
  316. tests/data/items.json +0 -271
  317. tests/data/loans.json +0 -133
  318. tests/data/loans_most_loaned.json +0 -128
  319. tests/data/locations.json +0 -20
  320. tests/data/series.json +0 -33
  321. tests/helpers.py +0 -104
  322. tests/templates/notifications/title_body.html +0 -8
  323. tests/templates/notifications/title_body_html.html +0 -13
  324. tests/templates/notifications/title_body_html_ctx.html +0 -13
  325. tests/templates/notifications/title_only.html +0 -3
  326. tests/test_version.py +0 -17
  327. /tests/templates/notifications/blank.html → /invenio_app_ils/acquisition/mappings/os-v1/__init__.py +0 -0
  328. /invenio_app_ils/stats/aggregations/aggr_file_download/{v6 → os-v1}/__init__.py +0 -0
  329. /invenio_app_ils/stats/file_download/{v6 → os-v1}/__init__.py +0 -0
  330. {invenio_app_ils-1.0.0a54.dist-info → invenio_app_ils-6.1.0.dist-info/licenses}/AUTHORS.rst +0 -0
  331. {invenio_app_ils-1.0.0a54.dist-info → invenio_app_ils-6.1.0.dist-info/licenses}/LICENSE +0 -0
tests/conftest.py DELETED
@@ -1,123 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- #
3
- # Copyright (C) 2020 CERN.
4
- #
5
- # invenio-app-ils is free software; you can redistribute it and/or modify it
6
- # under the terms of the MIT License; see LICENSE file for more details.
7
-
8
- """Common pytest fixtures and plugins."""
9
-
10
- import os
11
-
12
- import jinja2
13
- import pytest
14
- from flask import Blueprint
15
- from invenio_access.models import ActionRoles
16
- from invenio_access.permissions import superuser_access
17
- from invenio_accounts.models import Role
18
- from invenio_userprofiles import UserProfile
19
-
20
- from invenio_app_ils.permissions import backoffice_access_action
21
-
22
-
23
- @pytest.fixture()
24
- def users(app, db):
25
- """Create admin, librarians and patrons."""
26
- # with Postgresql, when dropping the User table, the sequence is not
27
- # automatically reset to 1, causing issues with the tests demo data.
28
- db.session.execute("ALTER SEQUENCE IF EXISTS accounts_user_id_seq RESTART")
29
- db.session.commit()
30
-
31
- with db.session.begin_nested():
32
- datastore = app.extensions["security"].datastore
33
- # create users
34
- patron1 = datastore.create_user(
35
- email="patron1@test.com", password="123456", active=True
36
- )
37
-
38
- patron2 = datastore.create_user(
39
- email="patron2@test.com", password="123456", active=True
40
- )
41
- patron3 = datastore.create_user(
42
- email="patron3@test.com", password="123456", active=True
43
- )
44
- librarian = datastore.create_user(
45
- email="librarian@test.com", password="123456", active=True
46
- )
47
- librarian2 = datastore.create_user(
48
- email="librarian2@test.com", password="123456", active=True
49
- )
50
- admin = datastore.create_user(
51
- email="admin@test.com", password="123456", active=True
52
- )
53
- # Give role to admin
54
- admin_role = Role(name="admin")
55
- db.session.add(
56
- ActionRoles(action=superuser_access.value, role=admin_role)
57
- )
58
- datastore.add_role_to_user(admin, admin_role)
59
- # Give role to librarian
60
- librarian_role = Role(name="librarian")
61
- db.session.add(
62
- ActionRoles(
63
- action=backoffice_access_action.value, role=librarian_role
64
- )
65
- )
66
- datastore.add_role_to_user(librarian, librarian_role)
67
- # Give role to librarian2
68
- db.session.add(
69
- ActionRoles(
70
- action=backoffice_access_action.value, role=librarian_role
71
- )
72
- )
73
- datastore.add_role_to_user(librarian2, librarian_role)
74
- db.session.commit()
75
-
76
- for patron, name in [
77
- (admin, "Admin User"),
78
- (librarian, "Librarian One"),
79
- (librarian2, "Librarian Two"),
80
- (patron1, "Patron One"),
81
- (patron2, "Patron Two"),
82
- (patron3, "Patron Three"),
83
- ]:
84
- profile = UserProfile(
85
- **dict(
86
- user_id=patron.id,
87
- _displayname="id_" + str(patron.id),
88
- full_name=name,
89
- )
90
- )
91
- db.session.add(profile)
92
- db.session.commit()
93
-
94
- return {
95
- "admin": admin,
96
- "librarian": librarian,
97
- "librarian2": librarian2,
98
- "patron1": patron1,
99
- "patron2": patron2,
100
- "patron3": patron3,
101
- }
102
-
103
-
104
- @pytest.fixture(scope="module")
105
- def app_with_notifs(app):
106
- """App with notifications test templates."""
107
- app.register_blueprint(
108
- Blueprint(
109
- "invenio_app_ils_tests", __name__, template_folder="templates"
110
- )
111
- )
112
- # add extra test templates to the search app blueprint, to fake the
113
- # existence of `invenio-theme` base templates.
114
- test_templates_path = os.path.join(os.path.dirname(__file__), "templates")
115
- enhanced_jinja_loader = jinja2.ChoiceLoader(
116
- [
117
- app.jinja_loader,
118
- jinja2.FileSystemLoader(test_templates_path),
119
- ]
120
- )
121
- # override default app jinja_loader to add the new path
122
- app.jinja_loader = enhanced_jinja_loader
123
- yield app
@@ -1,89 +0,0 @@
1
- [
2
- {
3
- "order_date": "2020-01-27",
4
- "order_lines": [
5
- {
6
- "copies_ordered": 5,
7
- "document_pid": "docid-1",
8
- "medium": "hardcover",
9
- "recipient": "library"
10
- }
11
- ],
12
- "pid": "acqoid-1",
13
- "status": "PENDING",
14
- "provider_pid": "acq-provid-1"
15
- },
16
- {
17
- "order_date": "2020-01-25",
18
- "order_lines": [
19
- {
20
- "copies_ordered": 2,
21
- "document_pid": "docid-2",
22
- "medium": "hardcover",
23
- "recipient": "library"
24
- }
25
- ],
26
- "pid": "acqoid-2",
27
- "status": "ORDERED",
28
- "provider_pid": "acq-provid-1"
29
- },
30
- {
31
- "order_date": "2020-01-15",
32
- "order_lines": [
33
- {
34
- "copies_ordered": 1,
35
- "document_pid": "docid-3",
36
- "medium": "hardcover",
37
- "recipient": "library"
38
- }
39
- ],
40
- "pid": "acqoid-3",
41
- "status": "ORDERED",
42
- "provider_pid": "acq-provid-2"
43
- },
44
- {
45
- "order_date": "2020-01-29",
46
- "order_lines": [
47
- {
48
- "copies_ordered": 10,
49
- "document_pid": "docid-4",
50
- "medium": "hardcover",
51
- "recipient": "library"
52
- }
53
- ],
54
- "pid": "acqoid-4",
55
- "status": "RECEIVED",
56
- "provider_pid": "acq-provid-2"
57
- },
58
- {
59
- "order_date": "2020-01-28",
60
- "order_lines": [
61
- {
62
- "copies_ordered": 7,
63
- "document_pid": "docid-4",
64
- "medium": "hardcover",
65
- "patron_pid": "2",
66
- "recipient": "library"
67
- }
68
- ],
69
- "pid": "acqoid-5",
70
- "status": "CANCELLED",
71
- "cancel_reason": "A reason",
72
- "provider_pid": "acq-provid-2"
73
- },
74
- {
75
- "order_date": "2020-01-29",
76
- "order_lines": [
77
- {
78
- "copies_ordered": 1,
79
- "document_pid": "docid-1",
80
- "medium": "hardcover",
81
- "recipient": "patron",
82
- "patron_pid": "1"
83
- }
84
- ],
85
- "pid": "acqoid-6",
86
- "status": "ORDERED",
87
- "provider_pid": "acq-provid-2"
88
- }
89
- ]
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "name": "Store 1",
4
- "pid": "acq-provid-1",
5
- "type": "VENDOR"
6
- },
7
- {
8
- "name": "Store 2",
9
- "pid": "acq-provid-2",
10
- "type": "VENDOR"
11
- }
12
- ]
@@ -1,77 +0,0 @@
1
- [
2
- {
3
- "pid": "dreq-1",
4
- "state": "PENDING",
5
- "patron_pid": "1",
6
- "medium": "PAPER",
7
- "title": "Test title 1",
8
- "request_type": "LOAN",
9
- "document_pid": "docid-1",
10
- "physical_item_provider": {
11
- "pid": "acqoid-1",
12
- "pid_type": "acqoid"
13
- }
14
- },
15
- {
16
- "pid": "dreq-2",
17
- "state": "DECLINED",
18
- "patron_pid": "2",
19
- "request_type": "BUY",
20
- "medium": "PAPER",
21
- "title": "Test title 2",
22
- "decline_reason": "Test."
23
- },
24
- {
25
- "pid": "dreq-3",
26
- "state": "ACCEPTED",
27
- "patron_pid": "3",
28
- "request_type": "LOAN",
29
- "medium": "PAPER",
30
- "document_pid": "docid-1",
31
- "title": "Test title 3",
32
- "physical_item_provider": {
33
- "pid": "acqoid-1",
34
- "pid_type": "acqoid"
35
- }
36
- },
37
-
38
- {
39
- "pid": "dreq-4",
40
- "state": "ACCEPTED",
41
- "patron_pid": "4",
42
- "request_type": "BUY",
43
- "medium": "PAPER",
44
- "document_pid": "docid-2",
45
- "title": "Test title 4",
46
- "physical_item_provider": {
47
- "pid": "acqoid-1",
48
- "pid_type": "acqoid"
49
- }
50
- },
51
- {
52
- "pid": "dreq-5",
53
- "state": "PENDING",
54
- "patron_pid": "1",
55
- "medium": "PAPER",
56
- "title": "Test title 1",
57
- "request_type": "LOAN",
58
- "document_pid": "docid-1",
59
- "physical_item_provider": {
60
- "pid": "acqoid-1",
61
- "pid_type": "acqoid"
62
- }
63
- },
64
- {
65
- "pid": "dreq-6",
66
- "state": "PENDING",
67
- "patron_pid": "1",
68
- "medium": "PAPER",
69
- "title": "Test title 1",
70
- "request_type": "LOAN",
71
- "document_pid": "docid-1",
72
- "physical_item_provider": {
73
- "pid": "acqoid-1",
74
- "pid_type": "acqoid"
75
- }
76
- }
77
- ]
tests/data/documents.json DELETED
@@ -1,237 +0,0 @@
1
- [
2
- {
3
- "$schema": "https://127.0.0.1:5000/schemas/documents/document-v1.0.0.json",
4
- "pid": "docid-1",
5
- "created_by": {"type": "script", "value": "demo"},
6
- "title": "The Gulf: The Making of An American Sea",
7
- "authors": [{ "full_name": "Jack E. Davis" }],
8
- "abstract": "This is an abstract",
9
- "languages": ["ENG"],
10
- "edition": "1",
11
- "keywords": [
12
- {
13
- "source": "X",
14
- "value": "Patata"
15
- }],
16
- "document_type": "BOOK",
17
- "publication_year": "1950"
18
- },
19
- {
20
- "$schema": "https://127.0.0.1:5000/schemas/documents/document-v1.0.0.json",
21
- "pid": "docid-2",
22
- "created_by": {"type": "script", "value": "demo"},
23
- "title": "Prairie Fires: The American Dreams of Laura Ingalls Wilder",
24
- "authors": [{ "full_name": "Caroline Fraser" }],
25
- "abstract": "This is an abstract",
26
- "languages": ["ITA"],
27
- "keywords": [
28
- {
29
- "source": "X",
30
- "value": "Patata"
31
- }],
32
- "document_type": "BOOK",
33
- "publication_year": "1950"
34
- },
35
- {
36
- "$schema": "https://127.0.0.1:5000/schemas/documents/document-v1.0.0.json",
37
- "pid": "docid-3",
38
- "created_by": {"type": "script", "value": "demo"},
39
- "title": "Half-light: Collected Poems 1965-2016",
40
- "authors": [{ "full_name": "Frank Bidart" }],
41
- "abstract": "This is an abstract",
42
- "edition": "3",
43
- "keywords": [
44
- {
45
- "source": "X",
46
- "value": "Patata"
47
- }],
48
- "document_type": "BOOK",
49
- "publication_year": "1950"
50
- },
51
- {
52
- "$schema": "https://127.0.0.1:5000/schemas/documents/document-v1.0.0.json",
53
- "pid": "docid-4",
54
- "created_by": {"type": "script", "value": "demo"},
55
- "title": "Locking Up Our Own: Crime and Punishment in Black America",
56
- "authors": [{ "full_name": "James Forman Jr." }],
57
- "abstract": "This is an abstract",
58
- "keywords": [
59
- {
60
- "source": "X",
61
- "value": "Patata"
62
- }],
63
- "document_type": "BOOK",
64
- "publication_year": "1950"
65
- },
66
- {
67
- "$schema": "https://127.0.0.1:5000/schemas/documents/document-v1.0.0.json",
68
- "pid": "docid-5",
69
- "created_by": {"type": "script", "value": "demo"},
70
- "title": "Less: A Novel",
71
- "authors": [{ "full_name": "Andrew Sean Greer" }],
72
- "abstract": "This is an abstract",
73
- "document_type": "STANDARD",
74
- "publication_year": "1950"
75
- },
76
- {
77
- "$schema": "https://127.0.0.1:5000/schemas/documents/document-v1.0.0.json",
78
- "pid": "docid-6",
79
- "created_by": {"type": "script", "value": "demo"},
80
- "title": "Less: A Novel",
81
- "languages": ["POL"],
82
- "authors": [{ "full_name": "Andrew Sean Greer" }],
83
- "abstract": "This is an abstract",
84
- "document_type": "BOOK",
85
- "publication_year": "1950"
86
- },
87
- {
88
- "$schema": "https://127.0.0.1:5000/schemas/documents/document-v1.0.0.json",
89
- "pid": "docid-7",
90
- "created_by": {"type": "script", "value": "demo"},
91
- "title": "Less: A Novel",
92
- "authors": [{ "full_name": "Andrew Sean Greer" }],
93
- "abstract": "This is an abstract",
94
- "document_type": "SERIAL_ISSUE",
95
- "publication_year": "1950"
96
- },
97
- {
98
- "$schema": "https://127.0.0.1:5000/schemas/documents/document-v1.0.0.json",
99
- "pid": "docid-8",
100
- "created_by": {"type": "script", "value": "demo"},
101
- "title": "Less: A Novel",
102
- "authors": [{ "full_name": "Andrew Sean Greer" }],
103
- "abstract": "This is an abstract",
104
- "document_type": "THESIS",
105
- "publication_year": "1950"
106
- },
107
- {
108
- "$schema": "https://127.0.0.1:5000/schemas/documents/document-v1.0.0.json",
109
- "pid": "docid-9",
110
- "created_by": {"type": "script", "value": "demo"},
111
- "title": "The early years, 1879-1902",
112
- "authors": [
113
- { "full_name": "Einstein, Albert" },
114
- { "full_name": "Stachel, John J et al." }
115
- ],
116
- "abstract": "This is a document volume v.1 part of a MULTIPART MONOGRAPH",
117
- "document_type": "BOOK",
118
- "publication_year": "1950"
119
- },
120
- {
121
- "$schema": "https://127.0.0.1:5000/schemas/documents/document-v1.0.0.json",
122
- "pid": "docid-10",
123
- "created_by": {"type": "script", "value": "demo"},
124
- "title": "The Swiss years : writings, 1900-1909",
125
- "authors": [
126
- { "full_name": "Einstein, Albert" },
127
- { "full_name": "Stachel, John J et al." }
128
- ],
129
- "abstract": "This is a document volume v.2 part of a MULTIPART MONOGRAPH",
130
- "document_type": "BOOK",
131
- "publication_year": "1950"
132
- },
133
- {
134
- "$schema": "https://127.0.0.1:5000/schemas/documents/document-v1.0.0.json",
135
- "pid": "docid-11",
136
- "created_by": {"type": "script", "value": "demo"},
137
- "title": "The Swiss years : writings, 1909-1911",
138
- "authors": [
139
- { "full_name": "Einstein, Albert" },
140
- { "full_name": "Stachel, John J et al." }
141
- ],
142
- "abstract": "This is a document volume v.3 part of a MULTIPART MONOGRAPH",
143
- "document_type": "BOOK",
144
- "publication_year": "1950"
145
- },
146
- {
147
- "$schema": "https://127.0.0.1:5000/schemas/documents/document-v1.0.0.json",
148
- "pid": "docid-12",
149
- "created_by": {"type": "script", "value": "demo"},
150
- "title": "Camera, equipment, and basic photographic techniques",
151
- "authors": [
152
- { "full_name": "Einstein, Albert" },
153
- { "full_name": "Stachel, John J et al." }
154
- ],
155
- "abstract": "This is a document volume v.1 part of a MULTIPART MONOGRAPH",
156
- "document_type": "THESIS",
157
- "publication_year": "1950"
158
- },
159
- {
160
- "$schema": "https://127.0.0.1:5000/schemas/documents/document-v1.0.0.json",
161
- "pid": "docid-13",
162
- "created_by": {"type": "script", "value": "demo"},
163
- "title": "Visual concepts and composition",
164
- "authors": [
165
- { "full_name": "Banek, Cora" },
166
- { "full_name": "Banek, Georg" }
167
- ],
168
- "abstract": "This is a document volume v.2 part of a MULTIPART MONOGRAPH",
169
- "document_type": "BOOK",
170
- "publication_year": "1950"
171
- },
172
- {
173
- "$schema": "https://127.0.0.1:5000/schemas/documents/document-v1.0.0.json",
174
- "pid": "docid-14",
175
- "created_by": {"type": "script", "value": "demo"},
176
- "title": "Flavor physics and the TeV scale",
177
- "authors": [{ "full_name": "Hou, George W S" }],
178
- "abstract": "This is a document part of a SERIAL",
179
- "document_type": "BOOK",
180
- "publication_year": "1950"
181
- },
182
- {
183
- "$schema": "https://127.0.0.1:5000/schemas/documents/document-v1.0.0.json",
184
- "pid": "docid-15",
185
- "created_by": {"type": "script", "value": "demo"},
186
- "title": "Symmetry and symmetry-breaking in semiconductors : fine structure of exciton states",
187
- "authors": [
188
- { "full_name": "Hönerlage, Bernd" },
189
- { "full_name": "Pelant, Ivan" }
190
- ],
191
- "abstract": "This is a document part of a SERIAL",
192
- "document_type": "BOOK",
193
- "publication_year": "1950"
194
- },
195
- {
196
- "$schema": "https://127.0.0.1:5000/schemas/documents/document-v1.0.0.json",
197
- "pid": "docid-16",
198
- "created_by": {"type": "script", "value": "demo"},
199
- "title": "Macroscopic quantum electrodynamics and ground-state Casimir, Casimir–Polder and van der Waals forces",
200
- "authors": [{ "full_name": "Buhmann, Stefan Yoshi" }],
201
- "abstract": "This is a document volume v.1 part of a MULTIPART MONOGRAPH part of a SERIAL",
202
- "document_type": "BOOK",
203
- "publication_year": "1950"
204
- },
205
- {
206
- "$schema": "https://127.0.0.1:5000/schemas/documents/document-v1.0.0.json",
207
- "pid": "docid-17",
208
- "created_by": {"type": "script", "value": "demo"},
209
- "title": "Many-body effects, excited atoms, finite temperature and quantum friction",
210
- "authors": [{ "full_name": "Buhmann, Stefan Yoshi" }],
211
- "abstract": "This is a document volume v.1 part of a MULTIPART MONOGRAPH part of a SERIAL",
212
- "document_type": "BOOK",
213
- "publication_year": "1950"
214
- },
215
- {
216
- "$schema": "https://127.0.0.1:5000/schemas/documents/document-v1.0.0.json",
217
- "pid": "docid-closed-access",
218
- "created_by": {"type": "script", "value": "demo"},
219
- "title": "Closed access document",
220
- "authors": [{ "full_name": "Buhmann, Stefan Yoshi" }],
221
- "abstract": "Just an abstract",
222
- "document_type": "BOOK",
223
- "restricted": true,
224
- "publication_year": "1950"
225
- },
226
- {
227
- "$schema": "https://127.0.0.1:5000/schemas/documents/document-v1.0.0.json",
228
- "pid": "docid-open-access",
229
- "created_by": {"type": "script", "value": "demo"},
230
- "title": "Open access document",
231
- "authors": [{ "full_name": "Buhmann, Stefan Yoshi" }],
232
- "abstract": "Just an abstract",
233
- "document_type": "BOOK",
234
- "restricted": false,
235
- "publication_year": "1950"
236
- }
237
- ]
tests/data/eitems.json DELETED
@@ -1,66 +0,0 @@
1
- [
2
- {
3
- "pid": "eitemid-1",
4
- "created_by": {"type": "script", "value": "demo"},
5
- "document_pid": "docid-1",
6
- "internal_notes": "An internal note",
7
- "description": "Description of the electronic item",
8
- "open_access": true,
9
- "document": {
10
- "title": "Document 1 title"
11
- }
12
- },
13
- {
14
- "pid": "eitemid-2",
15
- "created_by": {"type": "script", "value": "demo"},
16
- "document_pid": "docid-2",
17
- "internal_notes": "An internal note",
18
- "description": "Description of the electronic item",
19
- "open_access": false,
20
- "document": {
21
- "title": "Document 2 title"
22
- }
23
- },
24
- {
25
- "$schema": "https://127.0.0.1:5000/schemas/eitems/eitem-v1.0.0.json",
26
- "bucket_id": "5d877356-59b2-4886-9e7f-0ba2cb6a5fd3",
27
- "document_pid": "docid-3",
28
- "files": [
29
- {
30
- "bucket": "5d877356-59b2-4886-9e7f-0ba2cb6a5fd3",
31
- "checksum": "md5: 623bd0cc7ab348d72543c0a4d901daa4",
32
- "file_id": "5007ba23-ebf5-4664-ad8d-98d839d5acb0",
33
- "key": "file1.pdf",
34
- "size": 196879,
35
- "version_id": "284412f1-ef0c-4b4a-8c63-f85b40d02dc1"
36
- },
37
- {
38
- "bucket": "5d877356-59b2-4886-9e7f-0ba2cb6a5fd3",
39
- "checksum": "md5: 1b7ea8126d278ecbfa9fcb9b0d7dc5af",
40
- "file_id": "cd878cfd-e756-4355-98d3-21784f1633c2",
41
- "key": "file2.txt",
42
- "size": 16,
43
- "version_id": "f86b4dd2-88e6-4af7-bdd5-42aa6c5a7fbc"
44
- }
45
- ],
46
- "open_access": true,
47
- "pid": "eitemid-3",
48
- "created_by": {"type": "script", "value": "demo"}
49
- },
50
- {
51
- "$schema": "https://127.0.0.1:5000/schemas/eitems/eitem-v1.0.0.json",
52
- "document_pid": "docid-1",
53
- "files": [],
54
- "open_access": true,
55
- "pid": "eitemid-4",
56
- "created_by": {"type": "script", "value": "demo"}
57
- },
58
- {
59
- "$schema": "https://127.0.0.1:5000/schemas/eitems/eitem-v1.0.0.json",
60
- "document_pid": "docid-1",
61
- "files": [],
62
- "open_access": false,
63
- "pid": "eitemid-5",
64
- "created_by": {"type": "script", "value": "demo"}
65
- }
66
- ]
@@ -1,77 +0,0 @@
1
- [
2
- {
3
- "document_pid": "docid-1",
4
- "provider_pid": "ill-provid-1",
5
- "patron_pid": "1",
6
- "pid": "illbid-1",
7
- "status": "PENDING",
8
- "type": "PHYSICAL_COPY"
9
- },
10
- {
11
- "document_pid": "docid-2",
12
- "provider_pid": "ill-provid-1",
13
- "patron_pid": "2",
14
- "pid": "illbid-2",
15
- "status": "REQUESTED",
16
- "type": "DIGITAL"
17
- },
18
- {
19
- "document_pid": "docid-3",
20
- "provider_pid": "ill-provid-2",
21
- "patron_pid": "1",
22
- "pid": "illbid-3",
23
- "status": "ON_LOAN",
24
- "type": "PHYSICAL_COPY"
25
- },
26
- {
27
- "document_pid": "docid-4",
28
- "provider_pid": "ill-provid-2",
29
- "patron_pid": "1",
30
- "pid": "illbid-4",
31
- "status": "RETURNED",
32
- "type": "PHYSICAL_COPY"
33
- },
34
- {
35
- "document_pid": "docid-5",
36
- "provider_pid": "ill-provid-2",
37
- "patron_pid": "2",
38
- "pid": "illbid-5",
39
- "status": "CANCELLED",
40
- "cancel_reason": "USER_CANCEL",
41
- "type": "DIGITAL"
42
- },
43
- {
44
- "document_pid": "docid-3",
45
- "provider_pid": "ill-provid-1",
46
- "patron_pid": "2",
47
- "pid": "illbid-6",
48
- "status": "ON_LOAN",
49
- "type": "PHYSICAL_COPY"
50
- },
51
- {
52
- "document_pid": "docid-3",
53
- "provider_pid": "ill-provid-1",
54
- "patron_pid": "1",
55
- "pid": "illbid-7",
56
- "status": "ON_LOAN",
57
- "type": "PHYSICAL_COPY",
58
- "patron_loan": {
59
- "extension": {
60
- "status": "PENDING"
61
- }
62
- }
63
- },
64
- {
65
- "document_pid": "docid-3",
66
- "provider_pid": "ill-provid-1",
67
- "patron_pid": "1",
68
- "pid": "illbid-8",
69
- "status": "ON_LOAN",
70
- "type": "PHYSICAL_COPY",
71
- "patron_loan": {
72
- "extension": {
73
- "status": "DECLINED"
74
- }
75
- }
76
- }
77
- ]