edu-rdm-integration 3.21.0__tar.gz → 3.22.1__tar.gz

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.

Potentially problematic release.


This version of edu-rdm-integration might be problematic. Click here for more details.

Files changed (282) hide show
  1. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/CHANGELOG.md +117 -2
  2. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/PKG-INFO +14 -1
  3. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/README.md +13 -0
  4. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/cleanup_outdated_data/management/commands/rdm_cleanup_outdated_data.py +32 -1
  5. edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/collect_data/migrations/0005_alter_rdmcollectingdatasubstage_previous.py +22 -0
  6. edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/collect_data/migrations/0006_fix_fk_constraints.py +59 -0
  7. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/registry/actions.py +1 -1
  8. edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/export_data/migrations/0003_fix_fk_constraints.py +76 -0
  9. edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/service/service_outdated_data/cleaners/base.py +214 -0
  10. edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/service/service_outdated_data/cleaners/collect_data.py +126 -0
  11. edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/service/service_outdated_data/cleaners/consts.py +12 -0
  12. edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/service/service_outdated_data/cleaners/export_data.py +154 -0
  13. edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/service/service_outdated_data/cleaners/upload_data.py +64 -0
  14. edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/service/service_outdated_data/managers.py +80 -0
  15. edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/upload_data/migrations/0003_auto_20251006_1417.py +28 -0
  16. edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/upload_data/migrations/0004_fix_fk_constraints.py +79 -0
  17. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/models.py +5 -2
  18. edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/upload_data/uploader_log/migrations/__init__.py +0 -0
  19. edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/utils.py +49 -0
  20. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration.egg-info/PKG-INFO +14 -1
  21. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration.egg-info/SOURCES.txt +13 -0
  22. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/CONDUCT.md +0 -0
  23. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/LICENSE +0 -0
  24. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/MANIFEST.in +0 -0
  25. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/pyproject.toml +0 -0
  26. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/setup.cfg +0 -0
  27. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/__init__.py +0 -0
  28. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/apps.py +0 -0
  29. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/collect_and_export_data/__init__.py +0 -0
  30. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/collect_and_export_data/apps.py +0 -0
  31. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/collect_and_export_data/migrations/0001_initial.py +0 -0
  32. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/collect_and_export_data/migrations/0002_auto_20250204_1413.py +0 -0
  33. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/collect_and_export_data/migrations/0003_auto_20250704_0725.py +0 -0
  34. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/collect_and_export_data/migrations/__init__.py +0 -0
  35. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/collect_and_export_data/models.py +0 -0
  36. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/core/__init__.py +0 -0
  37. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/core/consts.py +0 -0
  38. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/core/enums.py +0 -0
  39. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/core/helpers.py +0 -0
  40. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/core/mapping.py +0 -0
  41. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/core/operations.py +0 -0
  42. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/core/redis_cache.py +0 -0
  43. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/core/registry/__init__.py +0 -0
  44. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/core/registry/actions.py +0 -0
  45. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/core/registry/apps.py +0 -0
  46. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/core/registry/templates/ui-js/start-task.js +0 -0
  47. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/core/registry/ui.py +0 -0
  48. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/core/signals.py +0 -0
  49. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/core/storages.py +0 -0
  50. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/core/typing.py +0 -0
  51. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/core/utils.py +0 -0
  52. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0001_initial.py +0 -0
  53. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0002_init_data_uploadstatus.py +0 -0
  54. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0003_create_index_file_upload_status.py +0 -0
  55. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0004_uploaderclientlog.py +0 -0
  56. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0005_auto_20231204_1224.py +0 -0
  57. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0006_request_status_data.py +0 -0
  58. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0007_delete_upload_status.py +0 -0
  59. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0008_transferredentity.py +0 -0
  60. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0009_auto_20240522_1619.py +0 -0
  61. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0010_transferredentity_export_enabled.py +0 -0
  62. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0011_exportingdatasubstageentity.py +0 -0
  63. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0012_exportingdatasubstageattachment_attachment_size.py +0 -0
  64. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0013_set_attachment_size.py +0 -0
  65. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0014_uploaddatacommand.py +0 -0
  66. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0015_set_exporting_sub_stage_status.py +0 -0
  67. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0016_transferredentity_queue_level.py +0 -0
  68. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0017_delete_uploaddatacommand.py +0 -0
  69. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0018_auto_20250704_0725.py +0 -0
  70. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/__init__.py +0 -0
  71. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/models.py +0 -0
  72. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/__init__.py +0 -0
  73. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/cleanup_outdated_data/__init__.py +0 -0
  74. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/cleanup_outdated_data/apps.py +0 -0
  75. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/cleanup_outdated_data/management/__init__.py +0 -0
  76. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/cleanup_outdated_data/management/commands/__init__.py +0 -0
  77. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/transfer/__init__.py +0 -0
  78. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/transfer/actions.py +0 -0
  79. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/transfer/app_meta.py +0 -0
  80. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/transfer/apps.py +0 -0
  81. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/transfer/enums.py +0 -0
  82. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/transfer/migrations/0001_initial.py +0 -0
  83. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/transfer/migrations/__init__.py +0 -0
  84. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/transfer/mixins.py +0 -0
  85. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/transfer/models.py +0 -0
  86. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/transfer/tasks.py +0 -0
  87. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/transfer/templates/ui-js/transferred-entity-list.js +0 -0
  88. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/transfer/ui.py +0 -0
  89. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_entities/__init__.py +0 -0
  90. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_entities/apps.py +0 -0
  91. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_entities/entities.py +0 -0
  92. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_entities/migrations/0001_initial.py +0 -0
  93. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_entities/migrations/0002_rename_regionaldatamartentityenum_rdmentityenum.py +0 -0
  94. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_entities/migrations/__init__.py +0 -0
  95. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_entities/mixins.py +0 -0
  96. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_entities/models.py +0 -0
  97. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_entities/utils.py +0 -0
  98. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_models/__init__.py +0 -0
  99. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_models/apps.py +0 -0
  100. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_models/migrations/0001_initial.py +0 -0
  101. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_models/migrations/0002_rename_regionaldatamartmodelenum_rdmmodelenum.py +0 -0
  102. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_models/migrations/__init__.py +0 -0
  103. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_models/mixins.py +0 -0
  104. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_models/models.py +0 -0
  105. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_models/utils.py +0 -0
  106. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/__init__.py +0 -0
  107. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/__init__.py +0 -0
  108. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/apps.py +0 -0
  109. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/consts.py +0 -0
  110. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/function_templates/__init__.py +0 -0
  111. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/__init__.py-tpl +0 -0
  112. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/apps.py-tpl +0 -0
  113. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/caches.py-tpl +0 -0
  114. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/consts.py-tpl +0 -0
  115. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/enums.py-tpl +0 -0
  116. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/errors.py-tpl +0 -0
  117. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/functions.py-tpl +0 -0
  118. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/helpers.py-tpl +0 -0
  119. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/managers.py-tpl +0 -0
  120. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/presenters.py-tpl +0 -0
  121. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/results.py-tpl +0 -0
  122. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/runners.py-tpl +0 -0
  123. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/strings.py-tpl +0 -0
  124. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/tests.py-tpl +0 -0
  125. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/validators.py-tpl +0 -0
  126. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/__init__.py +0 -0
  127. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/base/__init__.py +0 -0
  128. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/base/caches.py +0 -0
  129. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/base/consts.py +0 -0
  130. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/base/functions.py +0 -0
  131. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/base/helpers.py +0 -0
  132. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/base/managers.py +0 -0
  133. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/base/mixins.py +0 -0
  134. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/base/runners.py +0 -0
  135. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/__init__.py +0 -0
  136. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/__init__.py +0 -0
  137. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/caches.py +0 -0
  138. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/consts.py +0 -0
  139. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/enums.py +0 -0
  140. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/errors.py +0 -0
  141. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/functions.py +0 -0
  142. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/helpers.py +0 -0
  143. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/managers.py +0 -0
  144. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/presenters.py +0 -0
  145. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/results.py +0 -0
  146. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/runners.py +0 -0
  147. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/strings.py +0 -0
  148. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/tests.py +0 -0
  149. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/validators.py +0 -0
  150. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/strategies.py +0 -0
  151. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/__init__.py +0 -0
  152. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/__init__.py +0 -0
  153. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/caches.py +0 -0
  154. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/consts.py +0 -0
  155. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/enums.py +0 -0
  156. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/errors.py +0 -0
  157. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/functions.py +0 -0
  158. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/helpers.py +0 -0
  159. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/managers.py +0 -0
  160. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/presenters.py +0 -0
  161. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/results.py +0 -0
  162. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/runners.py +0 -0
  163. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/strings.py +0 -0
  164. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/tests.py +0 -0
  165. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/validators.py +0 -0
  166. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/strategies.py +0 -0
  167. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/generators.py +0 -0
  168. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/helpers.py +0 -0
  169. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/management/__init__.py +0 -0
  170. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/management/base.py +0 -0
  171. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/management/commands/__init__.py +0 -0
  172. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/management/commands/collect_latest_models_data.py +0 -0
  173. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/management/commands/collect_models_data.py +0 -0
  174. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/migrations/0001_initial.py +0 -0
  175. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/migrations/0002_edurdmcollectdatacommandprogress.py +0 -0
  176. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/migrations/0003_auto_20250704_0810.py +0 -0
  177. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/migrations/0004_auto_20250704_0825.py +0 -0
  178. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/migrations/__init__.py +0 -0
  179. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/mixins.py +0 -0
  180. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/models.py +0 -0
  181. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/operations.py +0 -0
  182. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/registry/__init__.py +0 -0
  183. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/registry/apps.py +0 -0
  184. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/registry/templates/ui-js/collect-command-window.js +0 -0
  185. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/registry/templates/ui-js/validators.js +0 -0
  186. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/registry/ui.py +0 -0
  187. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/tests.py +0 -0
  188. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/__init__.py +0 -0
  189. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/apps.py +0 -0
  190. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/consts.py +0 -0
  191. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/function_templates/__init__.py +0 -0
  192. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/__init__.py-tpl +0 -0
  193. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/apps.py-tpl +0 -0
  194. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/caches.py-tpl +0 -0
  195. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/consts.py-tpl +0 -0
  196. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/enums.py-tpl +0 -0
  197. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/errors.py-tpl +0 -0
  198. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/functions.py-tpl +0 -0
  199. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/helpers.py-tpl +0 -0
  200. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/managers.py-tpl +0 -0
  201. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/presenters.py-tpl +0 -0
  202. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/results.py-tpl +0 -0
  203. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/runners.py-tpl +0 -0
  204. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/strings.py-tpl +0 -0
  205. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/tests.py-tpl +0 -0
  206. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/validators.py-tpl +0 -0
  207. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/functions/__init__.py +0 -0
  208. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/functions/base/__init__.py +0 -0
  209. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/functions/base/caches.py +0 -0
  210. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/functions/base/consts.py +0 -0
  211. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/functions/base/enums.py +0 -0
  212. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/functions/base/errors.py +0 -0
  213. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/functions/base/functions.py +0 -0
  214. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/functions/base/helpers.py +0 -0
  215. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/functions/base/managers.py +0 -0
  216. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/functions/base/presenters.py +0 -0
  217. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/functions/base/requests.py +0 -0
  218. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/functions/base/results.py +0 -0
  219. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/functions/base/runners.py +0 -0
  220. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/functions/base/strings.py +0 -0
  221. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/functions/base/tests.py +0 -0
  222. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/functions/base/validators.py +0 -0
  223. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/generators.py +0 -0
  224. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/helpers.py +0 -0
  225. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/management/__init__.py +0 -0
  226. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/management/base.py +0 -0
  227. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/management/commands/__init__.py +0 -0
  228. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/management/commands/export_entities_data.py +0 -0
  229. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/management/commands/export_latest_entities_data.py +0 -0
  230. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/migrations/0001_initial.py +0 -0
  231. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/migrations/0002_auto_20250704_0810.py +0 -0
  232. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/migrations/__init__.py +0 -0
  233. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/mixins.py +0 -0
  234. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/models.py +0 -0
  235. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/operations.py +0 -0
  236. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/registry/__init__.py +0 -0
  237. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/registry/actions.py +0 -0
  238. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/registry/apps.py +0 -0
  239. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/registry/templates/ui-js/create-export-command-win.js +0 -0
  240. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/registry/templates/ui-js/stage_for_export.js +0 -0
  241. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/registry/ui.py +0 -0
  242. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/strategies.py +0 -0
  243. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/service/__init__.py +0 -0
  244. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/service/apps.py +0 -0
  245. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/service/model_outdated_data/__init__.py +0 -0
  246. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/service/model_outdated_data/cleaners.py +0 -0
  247. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/service/model_outdated_data/managers.py +0 -0
  248. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/service/service_outdated_data/__init__.py +0 -0
  249. {edu_rdm_integration-3.21.0/src/edu_rdm_integration/stages/upload_data → edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/service/service_outdated_data/cleaners}/__init__.py +0 -0
  250. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/service/tasks.py +0 -0
  251. {edu_rdm_integration-3.21.0/src/edu_rdm_integration/stages/upload_data/management → edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/upload_data}/__init__.py +0 -0
  252. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/apps.py +0 -0
  253. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/consts.py +0 -0
  254. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/dataclasses.py +0 -0
  255. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/enums.py +0 -0
  256. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/export_managers.py +0 -0
  257. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/helpers.py +0 -0
  258. {edu_rdm_integration-3.21.0/src/edu_rdm_integration/stages/upload_data/management/commands → edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/upload_data/management}/__init__.py +0 -0
  259. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/management/base.py +0 -0
  260. {edu_rdm_integration-3.21.0/src/edu_rdm_integration/stages/upload_data/migrations → edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/upload_data/management/commands}/__init__.py +0 -0
  261. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/management/commands/async_fix_attachment_size.py +0 -0
  262. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/management/commands/check_upload_status.py +0 -0
  263. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/management/commands/datamart_status.py +0 -0
  264. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/management/commands/datamart_upload.py +0 -0
  265. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/migrations/0001_initial.py +0 -0
  266. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/migrations/0002_auto_20250704_0810.py +0 -0
  267. {edu_rdm_integration-3.21.0/src/edu_rdm_integration/stages/upload_data/uploader_log → edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/upload_data/migrations}/__init__.py +0 -0
  268. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/operations.py +0 -0
  269. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/queues.py +0 -0
  270. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/tasks.py +0 -0
  271. {edu_rdm_integration-3.21.0/src/edu_rdm_integration/stages/upload_data/uploader_log/migrations → edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/upload_data/uploader_log}/__init__.py +0 -0
  272. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/uploader_log/actions.py +0 -0
  273. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/uploader_log/apps.py +0 -0
  274. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/uploader_log/enums.py +0 -0
  275. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/uploader_log/managers.py +0 -0
  276. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/uploader_log/migrations/0001_initial.py +0 -0
  277. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/uploader_log/models.py +0 -0
  278. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/uploader_log/templates/ui-js/object-grid-buttons.js +0 -0
  279. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/uploader_log/ui.py +0 -0
  280. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration.egg-info/dependency_links.txt +0 -0
  281. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration.egg-info/requires.txt +0 -0
  282. {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration.egg-info/top_level.txt +0 -0
@@ -29,6 +29,67 @@
29
29
  ### Удалено
30
30
 
31
31
 
32
+ ## [3.22.1] - 2025-10-10
33
+
34
+ Исправление документации: обновлено описание настройки `RDM_ENABLE_CLEANUP_SERVICE_OUTDATED_DATA` в README.
35
+
36
+ ### Исправлено
37
+
38
+ - [EDUDEVOPS-98](https://jira.bars.group/browse/EDUDEVOPS-98)
39
+ PATCH Обновлено описание настройки `RDM_ENABLE_CLEANUP_SERVICE_OUTDATED_DATA` в README.
40
+
41
+
42
+ ## [3.22.0] - 2025-10-08
43
+
44
+ Добавлена возможность зачистки устаревших данных сервисных моделей РВД.
45
+
46
+ Переименована настройка `COLLECT_PROGRESS_BATCH_SIZE` в `RDM_COLLECT_PROGRESS_BATCH_SIZE`,
47
+ для корректного использования.
48
+
49
+ ### Добавлено
50
+
51
+ - [EDUDEVOPS-98](https://jira.bars.group/browse/EDUDEVOPS-98)
52
+ MINOR Добавлена возможность зачистки устаревших данных сервисных моделей РВД
53
+ в команду/ночной скрипт rdm_cleanup_outdated_data`.
54
+
55
+ ### Исправлено
56
+
57
+ - [EDUDEVOPS-101](https://jira.bars.group/browse/EDUDEVOPS-101)
58
+ PATCH Переименована настройка `COLLECT_PROGRESS_BATCH_SIZE` в `RDM_COLLECT_PROGRESS_BATCH_SIZE`.
59
+
60
+ Добавлены новые настройки
61
+
62
+ | Название настройки в settings | Описание | Значение по умолчанию |
63
+ |---------------------------------------|------------------------------------------------------------|-----------------------|
64
+ | ENABLE_CLEANUP_SERVICE_OUTDATED_DATA | Включение зачистки устаревших данных сервисных моделей РВД | False |
65
+
66
+ В settings.py:
67
+
68
+ - Добавить значение по умолчанию:
69
+ ```
70
+ PROJECT_DEFAULT_CONFIG.update({
71
+ ...
72
+ ('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_SERVICE_OUTDATED_DATA'): False,
73
+ ...
74
+ })
75
+ ```
76
+
77
+ - Получить значение настройки из конфигурационного файла:
78
+ ```
79
+ # Включить зачистку устаревших данных сервисных моделей РВД
80
+ RDM_ENABLE_CLEANUP_SERVICE_OUTDATED_DATA = conf.get_bool('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_SERVICE_OUTDATED_DATA')
81
+ ```
82
+
83
+ В дефолтный конфиг проекта необходимо добавить:
84
+
85
+ ```
86
+ # Настройка зачистки устаревших данных
87
+ [rdm_cleanup_outdated_data]
88
+ # Включить зачистку устаревших данных сервисных моделей РВД
89
+ ENABLE_CLEANUP_SERVICE_OUTDATED_DATA = False
90
+ ```
91
+
92
+
32
93
  ## [3.21.0] - 2025-10-08
33
94
 
34
95
  Переименование m3-django-compat в m3-django-compatibility.
@@ -323,7 +384,7 @@ settings.py в установленные приложения.
323
384
  - Получить значение настройки из конфигурационного файла:
324
385
  ```
325
386
  # Размер батча для bulk_create операций при сборе данных РВД.
326
- COLLECT_PROGRESS_BATCH_SIZE = conf.get_int('rmd_general', 'COLLECT_PROGRESS_BATCH_SIZE')
387
+ RDM_COLLECT_PROGRESS_BATCH_SIZE = conf.get_int('rmd_general', 'COLLECT_PROGRESS_BATCH_SIZE')
327
388
  ```
328
389
 
329
390
  - В дефолтный конфиг проекта необходимо добавить:
@@ -344,6 +405,60 @@ settings.py в установленные приложения.
344
405
  MINOR Поднять версию Django до 4.2.23
345
406
 
346
407
 
408
+ ## [3.15.4] - 2025-01-27
409
+
410
+ Улучшена валидация полей формы сбора данных, добавлена логика взаимозависимости полей batch_size и split_by,
411
+ оптимизирована производительность bulk_create операций.
412
+
413
+ ### Добавлено
414
+
415
+ - Добавлен файл validators.js с валидаторами для полей формы
416
+ - Добавлен валидатор instituteIdsValidator для поля institute_ids
417
+ - Добавлен валидатор instituteCountValidator для поля institute_count
418
+ - Добавлен файл collect-command-window.js с JavaScript логикой для формы
419
+ - Добавлена логика взаимозависимости полей batch_size и split_by
420
+ - Добавлен параметр RDM_COLLECT_PROGRESS_BATCH_SIZE для настройки размера батча
421
+
422
+ ### Изменено
423
+
424
+ - Поле institute_ids: добавлены label, max_length и client_id
425
+ - Поле institute_count: подключен валидатор instituteCountValidator
426
+ - Поле split_by: установлено editable=False для ограничения ввода только из списка
427
+ - Метод save_row в actions.py: заменена логика сохранения на bulk_create с настраиваемым batch_size
428
+ - Добавлена JavaScript логика для корректной проверки обязательности взаимозависимых полей
429
+
430
+ ### Добавлены новые настройки
431
+
432
+ | Название настройки в settings | Описание | Значение по умолчанию |
433
+ |-----------------------------------|-----------------------------------------------------------------------------------------|-----------------------|
434
+ | RDM_COLLECT_PROGRESS_BATCH_SIZE | Размер батча для bulk_create операций при сборе данных РВД. | 10000 |
435
+
436
+ В settings.py:
437
+
438
+ - Добавить значение по умолчанию:
439
+ ```
440
+ PROJECT_DEFAULT_CONFIG.update({
441
+ ...
442
+ ('rmd_general', 'COLLECT_PROGRESS_BATCH_SIZE'): 10000,
443
+ ...
444
+ })
445
+ ```
446
+
447
+ - Получить значение настройки из конфигурационного файла:
448
+ ```
449
+ # Размер батча для bulk_create операций при сборе данных РВД.
450
+ RDM_COLLECT_PROGRESS_BATCH_SIZE = conf.get_int('rmd_general', 'COLLECT_PROGRESS_BATCH_SIZE')
451
+ ```
452
+
453
+ В дефолтный конфиг проекта необходимо добавить:
454
+
455
+ ```
456
+ [rmd_general]
457
+ # Размер батча для bulk_create операций при сборе данных РВД.
458
+ COLLECT_PROGRESS_BATCH_SIZE = 10000
459
+ ```
460
+
461
+
347
462
  ## [3.15.3] - 2025-08-12
348
463
 
349
464
  ### Добавлено
@@ -475,7 +590,7 @@ settings.py в установленные приложения.
475
590
  - Получить значение настройки из конфигурационного файла:
476
591
  ```
477
592
  # Размер батча для bulk_create операций при сборе данных РВД.
478
- COLLECT_PROGRESS_BATCH_SIZE = conf.get_int('rmd_general', 'COLLECT_PROGRESS_BATCH_SIZE')
593
+ RDM_COLLECT_PROGRESS_BATCH_SIZE = conf.get_int('rmd_general', 'COLLECT_PROGRESS_BATCH_SIZE')
479
594
  ```
480
595
 
481
596
  - В дефолтный конфиг проекта необходимо добавить:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: edu-rdm-integration
3
- Version: 3.21.0
3
+ Version: 3.22.1
4
4
  Summary: Интеграция с Региональной витриной данных
5
5
  Author-email: BARS Group <education_dev@bars.group>
6
6
  Project-URL: Homepage, https://stash.bars-open.ru/projects/EDUBASE/repos/edu-rdm-integration/browse
@@ -153,6 +153,7 @@ INSTALLED_APPS = (
153
153
  ('rdm_general', 'EXPORT_CHUNK_SIZE'): 500,
154
154
  ('rdm_general', 'UPLOAD_QUEUE_MAX_SIZE'): 500_000_000,
155
155
  ('rdm_general', 'RDM_MENU_ITEM'): False,
156
+ ('rdm_general', 'COLLECT_PROGRESS_BATCH_SIZE'): 10000,
156
157
  ('rdm_transfer_task', 'MINUTE'): '0',
157
158
  ('rdm_transfer_task', 'HOUR'): '*/4',
158
159
  ('rdm_transfer_task', 'DAY_OF_WEEK'): '*',
@@ -198,6 +199,7 @@ INSTALLED_APPS = (
198
199
  ('uploader_client', 'INSTALLATION_NAME'): '',
199
200
  ('uploader_client', 'INSTALLATION_ID'): '',
200
201
  ('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_MODELS_OUTDATED_DATA'): False,
202
+ ('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_SERVICE_OUTDATED_DATA'): False,
201
203
  ('rdm_cleanup_outdated_data', 'CLEANUP_MODELS_OUTDATED_DATA_CHUNK_SIZE'): 10000,
202
204
  ('rdm_cleanup_outdated_data', 'CLEANUP_MODELS_OUTDATED_DATA_POOL_SIZE'): 10,
203
205
  })
@@ -230,6 +232,9 @@ INSTALLED_APPS = (
230
232
  # Пункт меню "Региональная витрина данных" - Спрятать (False) / Отображать (True)
231
233
  RDM_MENU_ITEM = conf.get_bool('rdm_general', 'RDM_MENU_ITEM')
232
234
 
235
+ # Размер батча для bulk_create операций при сборе данных РВД.
236
+ RDM_COLLECT_PROGRESS_BATCH_SIZE = conf.get_int('rmd_general', 'COLLECT_PROGRESS_BATCH_SIZE')
237
+
233
238
  # Настройка запуска периодической задачи выгрузки данных:
234
239
  RDM_TRANSFER_TASK_MINUTE = conf.get('rdm_transfer_task', 'MINUTE')
235
240
  RDM_TRANSFER_TASK_HOUR = conf.get('rdm_transfer_task', 'HOUR')
@@ -315,6 +320,8 @@ INSTALLED_APPS = (
315
320
 
316
321
  # Включить зачистку устаревших данных моделей РВД
317
322
  RDM_ENABLE_CLEANUP_MODELS_OUTDATED_DATA = conf.get_bool('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_MODELS_OUTDATED_DATA')
323
+ # Включить зачистку устаревших данных сервисных моделей РВД
324
+ RDM_ENABLE_CLEANUP_SERVICE_OUTDATED_DATA = conf.get_bool('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_SERVICE_OUTDATED_DATA')
318
325
  # Размер чанка записей зачистки устаревших данных моделей РВД
319
326
  RDM_CLEANUP_MODELS_OUTDATED_DATA_CHUNK_SIZE = conf.get_int('rdm_cleanup_outdated_data', 'CLEANUP_MODELS_OUTDATED_DATA_CHUNK_SIZE')
320
327
  # Количество подключений к БД для зачистки устаревших данных моделей РВД
@@ -332,6 +339,7 @@ INSTALLED_APPS = (
332
339
  | RDM_UPDATE_NON_EXPORTED_CHUNK_SIZE | # Количество не экспортированных записей моделей обрабатываемых за одну итерацию обновления поля modified | 5000 |
333
340
  | RDM_UPLOAD_QUEUE_MAX_SIZE | Объем очереди файлов в витрину (в байтах). | 500_000_000 |
334
341
  | RDM_MENU_ITEM | Отображение пункта меню Пункт меню "Региональная витрина данных" | False |
342
+ | RDM_COLLECT_PROGRESS_BATCH_SIZE | Размер батча для сохранений записей в базу при сборе данных РВД | 10000 |
335
343
  | RDM_TRANSFER_TASK_MINUTE | Настройка запуска периодической задачи выгрузки данных. Минута | '0' |
336
344
  | RDM_TRANSFER_TASK_HOUR | Настройка запуска периодической задачи выгрузки данных. Час | '*/4' |
337
345
  | RDM_TRANSFER_TASK_DAY_OF_WEEK | Настройка запуска периодической задачи выгрузки данных. День недели | '*' |
@@ -379,6 +387,7 @@ INSTALLED_APPS = (
379
387
  | RDM_EXPORT_LOG_DIR | Директория логов экспорта данных, доступных для скачивания | |
380
388
  | RDM_UPLOAD_LOG_DIR | Директория логов отправки данных в витрину, доступных для скачивания | |
381
389
  | RDM_ENABLE_CLEANUP_MODELS_OUTDATED_DATA | Включение зачистки устаревших данных моделей РВД | False |
390
+ | RDM_ENABLE_CLEANUP_SERVICE_OUTDATED_DATA | Включение зачистки устаревших данных сервисных моделей РВД | False |
382
391
  | RDM_CLEANUP_MODELS_OUTDATED_DATA_CHUNK_SIZE | Размер чанка записей зачистки устаревших данных моделей РВД | 10000 |
383
392
  | RDM_CLEANUP_MODELS_OUTDATED_DATA_POOL_SIZE | Количество подключений к БД для зачистки устаревших данных моделей РВД | 10 |
384
393
 
@@ -395,6 +404,8 @@ INSTALLED_APPS = (
395
404
  EXPORT_CHUNK_SIZE = 500
396
405
  # Количество записей моделей ЭШ обрабатываемых за одну итерацию сбора данных
397
406
  COLLECT_CHUNK_SIZE = 500
407
+ # Размер батча для bulk_create операций при сборе данных РВД
408
+ COLLECT_PROGRESS_BATCH_SIZE = 10000
398
409
  # Количество не экспортированных записей моделей обрабатываемых за одну итерацию обновления поля modified
399
410
  UPDATE_NON_EXPORTED_CHUNK_SIZE = 5000
400
411
  # Объем очереди файлов в витрину (в байтах) - по умолчанию 512 Мбайт.
@@ -482,6 +493,8 @@ INSTALLED_APPS = (
482
493
  [rdm_cleanup_outdated_data]
483
494
  # Включить зачистку устаревших данных моделей РВД
484
495
  ENABLE_CLEANUP_MODELS_OUTDATED_DATA = False
496
+ # Включить зачистку устаревших данных сервисных моделей РВД
497
+ ENABLE_CLEANUP_SERVICE_OUTDATED_DATA = False
485
498
  # Размер чанка записей проверки устаревших данных моделей РВД
486
499
  CLEANUP_MODELS_OUTDATED_DATA_CHUNK_SIZE = 10000
487
500
  # Количество подключений к БД для проверки устаревших данных моделей РВД
@@ -105,6 +105,7 @@ INSTALLED_APPS = (
105
105
  ('rdm_general', 'EXPORT_CHUNK_SIZE'): 500,
106
106
  ('rdm_general', 'UPLOAD_QUEUE_MAX_SIZE'): 500_000_000,
107
107
  ('rdm_general', 'RDM_MENU_ITEM'): False,
108
+ ('rdm_general', 'COLLECT_PROGRESS_BATCH_SIZE'): 10000,
108
109
  ('rdm_transfer_task', 'MINUTE'): '0',
109
110
  ('rdm_transfer_task', 'HOUR'): '*/4',
110
111
  ('rdm_transfer_task', 'DAY_OF_WEEK'): '*',
@@ -150,6 +151,7 @@ INSTALLED_APPS = (
150
151
  ('uploader_client', 'INSTALLATION_NAME'): '',
151
152
  ('uploader_client', 'INSTALLATION_ID'): '',
152
153
  ('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_MODELS_OUTDATED_DATA'): False,
154
+ ('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_SERVICE_OUTDATED_DATA'): False,
153
155
  ('rdm_cleanup_outdated_data', 'CLEANUP_MODELS_OUTDATED_DATA_CHUNK_SIZE'): 10000,
154
156
  ('rdm_cleanup_outdated_data', 'CLEANUP_MODELS_OUTDATED_DATA_POOL_SIZE'): 10,
155
157
  })
@@ -182,6 +184,9 @@ INSTALLED_APPS = (
182
184
  # Пункт меню "Региональная витрина данных" - Спрятать (False) / Отображать (True)
183
185
  RDM_MENU_ITEM = conf.get_bool('rdm_general', 'RDM_MENU_ITEM')
184
186
 
187
+ # Размер батча для bulk_create операций при сборе данных РВД.
188
+ RDM_COLLECT_PROGRESS_BATCH_SIZE = conf.get_int('rmd_general', 'COLLECT_PROGRESS_BATCH_SIZE')
189
+
185
190
  # Настройка запуска периодической задачи выгрузки данных:
186
191
  RDM_TRANSFER_TASK_MINUTE = conf.get('rdm_transfer_task', 'MINUTE')
187
192
  RDM_TRANSFER_TASK_HOUR = conf.get('rdm_transfer_task', 'HOUR')
@@ -267,6 +272,8 @@ INSTALLED_APPS = (
267
272
 
268
273
  # Включить зачистку устаревших данных моделей РВД
269
274
  RDM_ENABLE_CLEANUP_MODELS_OUTDATED_DATA = conf.get_bool('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_MODELS_OUTDATED_DATA')
275
+ # Включить зачистку устаревших данных сервисных моделей РВД
276
+ RDM_ENABLE_CLEANUP_SERVICE_OUTDATED_DATA = conf.get_bool('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_SERVICE_OUTDATED_DATA')
270
277
  # Размер чанка записей зачистки устаревших данных моделей РВД
271
278
  RDM_CLEANUP_MODELS_OUTDATED_DATA_CHUNK_SIZE = conf.get_int('rdm_cleanup_outdated_data', 'CLEANUP_MODELS_OUTDATED_DATA_CHUNK_SIZE')
272
279
  # Количество подключений к БД для зачистки устаревших данных моделей РВД
@@ -284,6 +291,7 @@ INSTALLED_APPS = (
284
291
  | RDM_UPDATE_NON_EXPORTED_CHUNK_SIZE | # Количество не экспортированных записей моделей обрабатываемых за одну итерацию обновления поля modified | 5000 |
285
292
  | RDM_UPLOAD_QUEUE_MAX_SIZE | Объем очереди файлов в витрину (в байтах). | 500_000_000 |
286
293
  | RDM_MENU_ITEM | Отображение пункта меню Пункт меню "Региональная витрина данных" | False |
294
+ | RDM_COLLECT_PROGRESS_BATCH_SIZE | Размер батча для сохранений записей в базу при сборе данных РВД | 10000 |
287
295
  | RDM_TRANSFER_TASK_MINUTE | Настройка запуска периодической задачи выгрузки данных. Минута | '0' |
288
296
  | RDM_TRANSFER_TASK_HOUR | Настройка запуска периодической задачи выгрузки данных. Час | '*/4' |
289
297
  | RDM_TRANSFER_TASK_DAY_OF_WEEK | Настройка запуска периодической задачи выгрузки данных. День недели | '*' |
@@ -331,6 +339,7 @@ INSTALLED_APPS = (
331
339
  | RDM_EXPORT_LOG_DIR | Директория логов экспорта данных, доступных для скачивания | |
332
340
  | RDM_UPLOAD_LOG_DIR | Директория логов отправки данных в витрину, доступных для скачивания | |
333
341
  | RDM_ENABLE_CLEANUP_MODELS_OUTDATED_DATA | Включение зачистки устаревших данных моделей РВД | False |
342
+ | RDM_ENABLE_CLEANUP_SERVICE_OUTDATED_DATA | Включение зачистки устаревших данных сервисных моделей РВД | False |
334
343
  | RDM_CLEANUP_MODELS_OUTDATED_DATA_CHUNK_SIZE | Размер чанка записей зачистки устаревших данных моделей РВД | 10000 |
335
344
  | RDM_CLEANUP_MODELS_OUTDATED_DATA_POOL_SIZE | Количество подключений к БД для зачистки устаревших данных моделей РВД | 10 |
336
345
 
@@ -347,6 +356,8 @@ INSTALLED_APPS = (
347
356
  EXPORT_CHUNK_SIZE = 500
348
357
  # Количество записей моделей ЭШ обрабатываемых за одну итерацию сбора данных
349
358
  COLLECT_CHUNK_SIZE = 500
359
+ # Размер батча для bulk_create операций при сборе данных РВД
360
+ COLLECT_PROGRESS_BATCH_SIZE = 10000
350
361
  # Количество не экспортированных записей моделей обрабатываемых за одну итерацию обновления поля modified
351
362
  UPDATE_NON_EXPORTED_CHUNK_SIZE = 5000
352
363
  # Объем очереди файлов в витрину (в байтах) - по умолчанию 512 Мбайт.
@@ -434,6 +445,8 @@ INSTALLED_APPS = (
434
445
  [rdm_cleanup_outdated_data]
435
446
  # Включить зачистку устаревших данных моделей РВД
436
447
  ENABLE_CLEANUP_MODELS_OUTDATED_DATA = False
448
+ # Включить зачистку устаревших данных сервисных моделей РВД
449
+ ENABLE_CLEANUP_SERVICE_OUTDATED_DATA = False
437
450
  # Размер чанка записей проверки устаревших данных моделей РВД
438
451
  CLEANUP_MODELS_OUTDATED_DATA_CHUNK_SIZE = 10000
439
452
  # Количество подключений к БД для проверки устаревших данных моделей РВД
@@ -11,6 +11,9 @@ from edu_rdm_integration.rdm_models.models import (
11
11
  from edu_rdm_integration.stages.service.model_outdated_data.managers import (
12
12
  ModelOutdatedDataCleanerManager,
13
13
  )
14
+ from edu_rdm_integration.stages.service.service_outdated_data.managers import (
15
+ ServiceOutdatedDataCleanerManager,
16
+ )
14
17
 
15
18
 
16
19
  class Command(BaseCommand):
@@ -33,10 +36,26 @@ class Command(BaseCommand):
33
36
  '--models',
34
37
  action='store',
35
38
  dest='models',
36
- type=lambda ml: [m.strip().upper() for m in ml.strip().split(',')] if ml else None,
39
+ type=lambda ml: [m.strip().upper() for m in ml.split(',')] if ml else None,
37
40
  help=models_help_text,
38
41
  )
39
42
 
43
+ # Аргумент для сервисных стадий
44
+ stages_help_text = (
45
+ 'Значением параметра является перечисление стадий сервисных данных, '
46
+ 'для которых должна быть произведена зачистка устаревших данных. '
47
+ 'Перечисление этапов: collect, export, upload. '
48
+ 'Если стадии не указываются, то зачистка будет произведена для всех стадий. '
49
+ 'Стадии перечисляются через запятую без пробелов.'
50
+ )
51
+ parser.add_argument(
52
+ '--stages',
53
+ action='store',
54
+ dest='stages',
55
+ type=lambda st: [s.strip().lower() for s in st.split(',')] if st else None,
56
+ help=stages_help_text,
57
+ )
58
+
40
59
  parser.add_argument(
41
60
  '--safe',
42
61
  action='store_true',
@@ -62,7 +81,19 @@ class Command(BaseCommand):
62
81
  )
63
82
  model_data_cleaner_manager.run()
64
83
 
84
+ def _cleanup_service_outdated_data(self, options):
85
+ """Очистка устаревших данных сервисных моделей РВД."""
86
+ service_data_cleaner_manager = ServiceOutdatedDataCleanerManager(
87
+ stages=options['stages'],
88
+ safe=options['safe'],
89
+ log_sql=options['log_sql'],
90
+ )
91
+ service_data_cleaner_manager.run()
92
+
65
93
  def handle(self, *args, **options):
66
94
  """Запуск очистки устаревших данных РВД."""
67
95
  if settings.RDM_ENABLE_CLEANUP_MODELS_OUTDATED_DATA:
68
96
  self._cleanup_model_outdated_data(options)
97
+
98
+ if settings.RDM_ENABLE_CLEANUP_SERVICE_OUTDATED_DATA:
99
+ self._cleanup_service_outdated_data(options)
@@ -0,0 +1,22 @@
1
+ # Generated by Django 3.2.24 on 2025-10-08 14:17
2
+
3
+ import django.db.models.deletion
4
+ from django.db import (
5
+ migrations,
6
+ models,
7
+ )
8
+
9
+
10
+ class Migration(migrations.Migration):
11
+
12
+ dependencies = [
13
+ ('edu_rdm_integration_collect_data_stage', '0004_auto_20250704_0825'),
14
+ ]
15
+
16
+ operations = [
17
+ migrations.AlterField(
18
+ model_name='rdmcollectingdatasubstage',
19
+ name='previous',
20
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='edu_rdm_integration_collect_data_stage.rdmcollectingdatasubstage', verbose_name='Предыдущий сбор данных'),
21
+ ),
22
+ ]
@@ -0,0 +1,59 @@
1
+ # Generated by Django 3.2.24 on 2025-10-08 14:43
2
+
3
+ from django.db import (
4
+ migrations,
5
+ )
6
+
7
+ from edu_rdm_integration.stages.utils import (
8
+ update_foreign_key_constraint,
9
+ )
10
+
11
+
12
+ def apply_fk_updates(apps, schema_editor):
13
+ """
14
+ Применяет обновления внешних ключей для конкретных моделей.
15
+
16
+ Здесь задаются таблицы и поведение при удалении записей,
17
+ чтобы синхронизировать фактическое состояние БД с логикой моделей.
18
+ """
19
+ RDMCollectingDataSubStage = apps.get_model('edu_rdm_integration_collect_data_stage', 'RDMCollectingDataSubStage')
20
+ RDMCollectingDataStage = apps.get_model('edu_rdm_integration_collect_data_stage', 'RDMCollectingDataStage')
21
+
22
+ # Модель: RDMCollectingDataSubStage
23
+ # Поле previous_id должно иметь ON DELETE SET NULL
24
+ update_foreign_key_constraint(
25
+ table_name=RDMCollectingDataSubStage._meta.db_table,
26
+ field_name="previous_id",
27
+ target_table=RDMCollectingDataSubStage._meta.db_table,
28
+ on_delete="SET NULL",
29
+ )
30
+
31
+ RDMCollectingDataCommandProgress = apps.get_model('edu_rdm_integration_collect_data_stage', 'RDMCollectingDataCommandProgress')
32
+ # Модель: RDMCollectingDataCommandProgress
33
+ # Поле stage_id должно иметь ON DELETE SET NULL
34
+ update_foreign_key_constraint(
35
+ table_name=RDMCollectingDataCommandProgress._meta.db_table,
36
+ field_name="stage_id",
37
+ target_table=RDMCollectingDataStage._meta.db_table,
38
+ on_delete="SET NULL",
39
+ )
40
+
41
+ # Таблица: rdm_collecting_data_command_progress
42
+ # Поле stage_id должно иметь ON DELETE SET NULL
43
+ update_foreign_key_constraint(
44
+ table_name='rdm_collecting_data_command_progress',
45
+ field_name="stage_id",
46
+ target_table=RDMCollectingDataStage._meta.db_table,
47
+ on_delete="SET NULL",
48
+ )
49
+
50
+
51
+ class Migration(migrations.Migration):
52
+
53
+ dependencies = [
54
+ ('edu_rdm_integration_collect_data_stage', '0005_alter_rdmcollectingdatasubstage_previous'),
55
+ ]
56
+
57
+ operations = [
58
+ migrations.RunPython(apply_fk_updates, reverse_code=migrations.RunPython.noop),
59
+ ]
@@ -278,4 +278,4 @@ class BaseCollectingDataProgressPack(BaseCommandProgressPack):
278
278
  )
279
279
  for command in commands_to_save
280
280
  ]
281
- self.model.objects.bulk_create(objs, batch_size=settings.COLLECT_PROGRESS_BATCH_SIZE)
281
+ self.model.objects.bulk_create(objs, batch_size=settings.RDM_COLLECT_PROGRESS_BATCH_SIZE)
@@ -0,0 +1,76 @@
1
+ # Generated by Django 3.2.24 on 2025-10-08 14:44
2
+
3
+ from django.db import (
4
+ migrations,
5
+ )
6
+
7
+ from edu_rdm_integration.stages.utils import (
8
+ update_foreign_key_constraint,
9
+ )
10
+
11
+
12
+ def apply_fk_updates(apps, schema_editor):
13
+ """
14
+ Применяет обновления внешних ключей для конкретных моделей.
15
+
16
+ Здесь задаются таблицы и поведение при удалении записей,
17
+ чтобы синхронизировать фактическое состояние БД с логикой моделей.
18
+ """
19
+ RDMExportingDataSubStage = apps.get_model('edu_rdm_integration_export_data_stage', 'RDMExportingDataSubStage')
20
+ RDMExportingDataStage = apps.get_model('edu_rdm_integration_export_data_stage', 'RDMExportingDataStage')
21
+
22
+ RDMExportingDataSubStageAttachment = apps.get_model(
23
+ 'edu_rdm_integration_export_data_stage', 'RDMExportingDataSubStageAttachment'
24
+ )
25
+ # Модель: RDMExportingDataSubStageAttachment
26
+ # Поле exporting_data_sub_stage_id должно иметь ON DELETE CASCADE
27
+ update_foreign_key_constraint(
28
+ table_name=RDMExportingDataSubStageAttachment._meta.db_table,
29
+ field_name='exporting_data_sub_stage_id',
30
+ target_table=RDMExportingDataSubStage._meta.db_table,
31
+ on_delete='CASCADE',
32
+ )
33
+
34
+ RDMExportingDataSubStageEntity = apps.get_model(
35
+ 'edu_rdm_integration_export_data_stage', 'RDMExportingDataSubStageEntity'
36
+ )
37
+ # Модель: CollectDataCommandProgress
38
+ # Поле exporting_data_sub_stage_id должно иметь ON DELETE CASCADE
39
+ update_foreign_key_constraint(
40
+ table_name=RDMExportingDataSubStageEntity._meta.db_table,
41
+ field_name='exporting_data_sub_stage_id',
42
+ target_table=RDMExportingDataSubStage._meta.db_table,
43
+ on_delete='CASCADE',
44
+ )
45
+
46
+ RDMExportingDataCommandProgress = apps.get_model(
47
+ 'edu_rdm_integration_export_data_stage', 'RDMExportingDataCommandProgress'
48
+ )
49
+ # Модель: RDMExportingDataCommandProgress
50
+ # Поле stage_id должно иметь ON DELETE SET NULL
51
+ update_foreign_key_constraint(
52
+ table_name=RDMExportingDataCommandProgress._meta.db_table,
53
+ field_name='stage_id',
54
+ target_table=RDMExportingDataStage._meta.db_table,
55
+ on_delete='SET NULL',
56
+ )
57
+
58
+ # Таблица: rdm_exporting_data_command_progress
59
+ # Поле stage_id должно иметь ON DELETE SET NULL
60
+ update_foreign_key_constraint(
61
+ table_name='rdm_exporting_data_command_progress',
62
+ field_name="stage_id",
63
+ target_table=RDMExportingDataStage._meta.db_table,
64
+ on_delete="SET NULL",
65
+ )
66
+
67
+
68
+ class Migration(migrations.Migration):
69
+
70
+ dependencies = [
71
+ ('edu_rdm_integration_export_data_stage', '0002_auto_20250704_0810'),
72
+ ]
73
+
74
+ operations = [
75
+ migrations.RunPython(apply_fk_updates, reverse_code=migrations.RunPython.noop),
76
+ ]