|
341 | 341 | ), |
342 | 342 | ) |
343 | 343 |
|
| 344 | +_RECORD_PERMISSION_FACTORY = ( |
| 345 | + "cernopendata.modules.records.permissions:record_read_permission_factory" |
| 346 | +) |
| 347 | + |
344 | 348 | RECORDS_UI_ENDPOINTS = dict( |
345 | 349 | recid=dict( |
346 | 350 | pid_type="recid", |
347 | 351 | route="/record/<pid_value>", |
348 | | - permission_factory_imp=None, |
| 352 | + permission_factory_imp=_RECORD_PERMISSION_FACTORY, |
349 | 353 | record_class="cernopendata.api:RecordFilesWithIndex", |
350 | 354 | view_imp="cernopendata.modules.records.utils:record_metadata_view", |
351 | 355 | ), |
352 | 356 | recid_files=dict( |
353 | 357 | pid_type="recid", |
354 | 358 | route="/record/<pid_value>/files/<path:filename>", |
| 359 | + permission_factory_imp=_RECORD_PERMISSION_FACTORY, |
355 | 360 | view_imp="cernopendata.modules.records.utils:file_download_ui", |
356 | 361 | record_class="cernopendata.api:RecordFilesWithIndex", |
357 | 362 | ), |
358 | 363 | recid_file_index=dict( |
359 | 364 | pid_type="recid", |
360 | 365 | route="/record/<pid_value>/file_index/<path:file_index>", |
| 366 | + permission_factory_imp=_RECORD_PERMISSION_FACTORY, |
361 | 367 | view_imp="cernopendata.modules.records.utils:get_file_index", |
362 | 368 | record_class="cernopendata.api:RecordFilesWithIndex", |
363 | 369 | ), |
364 | 370 | recid_files_assets=dict( |
365 | 371 | pid_type="recid", |
366 | 372 | route="/record/<pid_value>/files/assets/<path:filepath>", |
| 373 | + permission_factory_imp=_RECORD_PERMISSION_FACTORY, |
367 | 374 | view_imp="cernopendata.modules.records.utils:eos_file_download_ui", |
368 | 375 | record_class="cernopendata.api:RecordFilesWithIndex", |
369 | 376 | ), |
370 | 377 | recid_files_page=dict( |
371 | 378 | pid_type="recid", |
372 | 379 | route="/record/<pid_value>/filepage/<int:page>", |
| 380 | + permission_factory_imp=_RECORD_PERMISSION_FACTORY, |
373 | 381 | view_imp="cernopendata.modules.records.utils:record_file_page", |
374 | 382 | record_class="cernopendata.api:RecordFilesWithIndex", |
375 | 383 | ), |
376 | 384 | recid_export=dict( |
377 | 385 | pid_type="recid", |
378 | 386 | route="/record/<pid_value>/export/<format>", |
| 387 | + permission_factory_imp=_RECORD_PERMISSION_FACTORY, |
379 | 388 | view_imp="cernopendata.modules.records.utils:export_json_view", |
380 | 389 | record_class="cernopendata.api:RecordFilesWithIndex", |
381 | 390 | ), |
382 | 391 | recid_stage=dict( |
383 | 392 | pid_type="recid", |
384 | 393 | route="/record/<pid_value>/stage", |
| 394 | + permission_factory_imp=_RECORD_PERMISSION_FACTORY, |
385 | 395 | view_imp="cernopendata.modules.records.utils:stage", |
386 | 396 | methods=["POST"], |
387 | 397 | record_class="cernopendata.api:RecordFilesWithIndex", |
388 | 398 | ), |
389 | 399 | recid_subscribe=dict( |
390 | 400 | pid_type="recid", |
391 | 401 | route="/record/<pid_value>/subscribe", |
| 402 | + permission_factory_imp=_RECORD_PERMISSION_FACTORY, |
392 | 403 | view_imp="cernopendata.modules.records.utils:subscribe", |
393 | 404 | methods=["POST"], |
394 | 405 | record_class="cernopendata.api:RecordFilesWithIndex", |
@@ -460,6 +471,7 @@ def _query_parser_and(qstr=None): |
460 | 471 | ), |
461 | 472 | }, |
462 | 473 | "search_factory_imp": "cernopendata.modules.records.queries:search_factory", |
| 474 | + "read_permission_factory_imp": _RECORD_PERMISSION_FACTORY, |
463 | 475 | } |
464 | 476 | ) |
465 | 477 |
|
|
0 commit comments