From 3a340614ed327b9e229a2f608a2611ce1feb8acf Mon Sep 17 00:00:00 2001 From: Kilton937342 Date: Fri, 29 Jul 2022 11:52:32 +0200 Subject: [PATCH] fix db --- .../__pycache__/__init__.cpython-310.pyc | Bin 280 -> 0 bytes .../generateur_csv.cpython-310.pyc | Bin 1667 -> 0 bytes .../generateur_main.cpython-310.pyc | Bin 1623 -> 0 bytes .../api/__pycache__/__init__.cpython-310.pyc | Bin 167 -> 0 bytes .../api/api/__pycache__/asgi.cpython-310.pyc | Bin 918 -> 0 bytes .../api/__pycache__/settings.cpython-310.pyc | Bin 4184 -> 0 bytes .../api/api/__pycache__/urls.cpython-310.pyc | Bin 1077 -> 0 bytes backend/api/db.sqlite3 | Bin 1585152 -> 0 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 173 -> 0 bytes .../__pycache__/admin.cpython-310.pyc | Bin 316 -> 0 bytes .../__pycache__/apps.cpython-310.pyc | Bin 616 -> 0 bytes .../__pycache__/filters.cpython-310.pyc | Bin 1715 -> 0 bytes .../__pycache__/models.cpython-310.pyc | Bin 2728 -> 0 bytes .../__pycache__/paginations.cpython-310.pyc | Bin 940 -> 0 bytes .../__pycache__/pdfmaker.cpython-310.pyc | Bin 2274 -> 0 bytes .../__pycache__/serializers.cpython-310.pyc | Bin 3994 -> 0 bytes .../__pycache__/signals.cpython-310.pyc | Bin 1369 -> 0 bytes .../__pycache__/urls.cpython-310.pyc | Bin 725 -> 0 bytes .../__pycache__/utils.cpython-310.pyc | Bin 1767 -> 0 bytes .../__pycache__/views.cpython-310.pyc | Bin 18786 -> 0 bytes .../api/exercices/migrations/0001_initial.py | 17 ++++--- ...ice_iscsv_exercice_ispdf_exercice_isweb.py | 28 ----------- .../0003_alter_exercice_exo_model.py | 18 ------- ...ercice_exemple_alter_exercice_exo_model.py | 24 --------- .../0005_exercice_author_exercice_private.py | 25 ---------- .../migrations/0006_alter_exercice_private.py | 18 ------- .../migrations/0007_exercice_origin.py | 18 ------- .../migrations/0008_remove_exercice_origin.py | 17 ------- .../migrations/0009_exercice_origin.py | 19 -------- .../migrations/0010_alter_exercice_id_code.py | 19 -------- .../migrations/0011_alter_exercice_id_code.py | 19 -------- .../migrations/0012_alter_exercice_origin.py | 19 -------- .../api/exercices/migrations/0013_tag_user.py | 20 -------- ...0014_remove_exercice_tags_exercice_tags.py | 22 --------- .../migrations/0015_exercice_original.py | 18 ------- .../migrations/0016_exercice_last_update.py | 20 -------- .../0017_alter_exercice_last_update.py | 18 ------- .../__pycache__/0001_initial.cpython-310.pyc | Bin 1135 -> 0 bytes ...rcice_ispdf_exercice_isweb.cpython-310.pyc | Bin 713 -> 0 bytes ...3_alter_exercice_exo_model.cpython-310.pyc | Bin 676 -> 0 bytes ...e_alter_exercice_exo_model.cpython-310.pyc | Bin 780 -> 0 bytes ...ce_author_exercice_private.cpython-310.pyc | Bin 870 -> 0 bytes ...006_alter_exercice_private.cpython-310.pyc | Bin 642 -> 0 bytes .../0007_exercice_origin.cpython-310.pyc | Bin 648 -> 0 bytes ...0008_alter_exercice_origin.cpython-310.pyc | Bin 762 -> 0 bytes ...008_remove_exercice_origin.cpython-310.pyc | Bin 558 -> 0 bytes ...0009_alter_exercice_origin.cpython-310.pyc | Bin 679 -> 0 bytes .../0009_exercice_origin.cpython-310.pyc | Bin 737 -> 0 bytes ...009_remove_exercice_origin.cpython-310.pyc | Bin 588 -> 0 bytes ...010_alter_exercice_id_code.cpython-310.pyc | Bin 728 -> 0 bytes ...e_origin_exercice_original.cpython-310.pyc | Bin 840 -> 0 bytes ...011_alter_exercice_id_code.cpython-310.pyc | Bin 727 -> 0 bytes ...1_remove_exercice_original.cpython-310.pyc | Bin 611 -> 0 bytes ...0012_alter_exercice_origin.cpython-310.pyc | Bin 746 -> 0 bytes .../__pycache__/0013_tag_user.cpython-310.pyc | Bin 764 -> 0 bytes ...xercice_tags_exercice_tags.cpython-310.pyc | Bin 682 -> 0 bytes .../0015_exercice_original.cpython-310.pyc | Bin 638 -> 0 bytes .../0016_exercice_last_update.cpython-310.pyc | Bin 737 -> 0 bytes ...alter_exercice_last_update.cpython-310.pyc | Bin 644 -> 0 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 182 -> 0 bytes backend/api/exercices/models.py | 4 +- .../room/__pycache__/__init__.cpython-310.pyc | Bin 168 -> 0 bytes .../room/__pycache__/admin.cpython-310.pyc | Bin 351 -> 0 bytes .../api/room/__pycache__/apps.cpython-310.pyc | Bin 443 -> 0 bytes .../__pycache__/consumers.cpython-310.pyc | Bin 12341 -> 0 bytes .../room/__pycache__/models.cpython-310.pyc | Bin 9369 -> 0 bytes .../room/__pycache__/routing.cpython-310.pyc | Bin 355 -> 0 bytes .../__pycache__/serializers.cpython-310.pyc | Bin 5030 -> 0 bytes .../room/__pycache__/tests.cpython-310.pyc | Bin 757 -> 0 bytes .../api/room/__pycache__/urls.cpython-310.pyc | Bin 714 -> 0 bytes .../room/__pycache__/utils.cpython-310.pyc | Bin 759 -> 0 bytes .../room/__pycache__/views.cpython-310.pyc | Bin 19530 -> 0 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 201 -> 0 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 210 -> 0 bytes .../add_challenger.cpython-310.pyc | Bin 1868 -> 0 bytes .../__pycache__/challenge.cpython-310.pyc | Bin 3029 -> 0 bytes backend/api/room/migrations/0001_initial.py | 46 ++++++++++-------- .../room/migrations/0002_tempcorrection.py | 20 -------- .../migrations/0003_tempcorrection_id_code.py | 18 ------- .../0004_alter_tempcorrection_id_code.py | 19 -------- ...icipants_room_anonymousmembers_and_more.py | 25 ---------- .../migrations/0006_alter_room_usermembers.py | 20 -------- .../migrations/0007_alter_room_usermembers.py | 20 -------- .../0008_alter_room_anonymousmembers.py | 18 ------- .../api/room/migrations/0009_room_online.py | 18 ------- ...e_parcours_exercices_parcours_exercices.py | 23 --------- ...e_parcours_exercices_parcours_exercices.py | 22 --------- .../room/migrations/0012_alter_room_name.py | 18 ------- .../migrations/0013_alter_parcours_name.py | 18 ------- .../__pycache__/0001_initial.cpython-310.pyc | Bin 1438 -> 0 bytes .../0002_tempcorrection.cpython-310.pyc | Bin 704 -> 0 bytes ...003_tempcorrection_id_code.cpython-310.pyc | Bin 635 -> 0 bytes ...ter_tempcorrection_id_code.cpython-310.pyc | Bin 713 -> 0 bytes ..._anonymousmembers_and_more.cpython-310.pyc | Bin 848 -> 0 bytes ...006_alter_room_usermembers.cpython-310.pyc | Bin 757 -> 0 bytes ...007_alter_room_usermembers.cpython-310.pyc | Bin 720 -> 0 bytes ...lter_room_anonymousmembers.cpython-310.pyc | Bin 642 -> 0 bytes .../0009_room_online.cpython-310.pyc | Bin 610 -> 0 bytes ...ercices_parcours_exercices.cpython-310.pyc | Bin 730 -> 0 bytes ...ercices_parcours_exercices.cpython-310.pyc | Bin 713 -> 0 bytes .../0012_alter_room_name.cpython-310.pyc | Bin 632 -> 0 bytes .../0013_alter_parcours_name.cpython-310.pyc | Bin 612 -> 0 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 177 -> 0 bytes backend/api/room/models.py | 21 ++++---- .../__pycache__/__init__.cpython-310.pyc | Bin 169 -> 0 bytes .../users/__pycache__/admin.cpython-310.pyc | Bin 740 -> 0 bytes .../users/__pycache__/apps.cpython-310.pyc | Bin 446 -> 0 bytes .../users/__pycache__/forms.cpython-310.pyc | Bin 1005 -> 0 bytes .../users/__pycache__/models.cpython-310.pyc | Bin 1322 -> 0 bytes .../__pycache__/serializers.cpython-310.pyc | Bin 1373 -> 0 bytes .../users/__pycache__/urls.cpython-310.pyc | Bin 426 -> 0 bytes .../users/__pycache__/views.cpython-310.pyc | Bin 1520 -> 0 bytes backend/api/users/migrations/0001_initial.py | 6 ++- .../0002_customuser_registeredexos.py | 19 -------- .../0003_alter_customuser_registeredexos.py | 19 -------- .../migrations/0004_customuser_id_code.py | 18 ------- .../0005_alter_customuser_id_code.py | 19 -------- .../migrations/0006_customuser_clientid.py | 18 ------- .../0007_alter_customuser_clientid.py | 18 ------- .../0008_alter_customuser_clientid.py | 18 ------- ...muser_clientid_alter_customuser_id_code.py | 24 --------- .../0010_alter_customuser_id_code.py | 19 -------- .../__pycache__/0001_initial.cpython-310.pyc | Bin 2362 -> 0 bytes ..._customuser_registeredexos.cpython-310.pyc | Bin 701 -> 0 bytes ..._customuser_registeredexos.cpython-310.pyc | Bin 718 -> 0 bytes .../0004_customuser_id_code.cpython-310.pyc | Bin 646 -> 0 bytes ...5_alter_customuser_id_code.cpython-310.pyc | Bin 699 -> 0 bytes .../0006_customuser_clientid.cpython-310.pyc | Bin 677 -> 0 bytes ..._alter_customuser_clientid.cpython-310.pyc | Bin 680 -> 0 bytes ..._alter_customuser_clientid.cpython-310.pyc | Bin 686 -> 0 bytes ...d_alter_customuser_id_code.cpython-310.pyc | Bin 802 -> 0 bytes ..._alter_customuser_clientid.cpython-310.pyc | Bin 757 -> 0 bytes ...0_alter_customuser_id_code.cpython-310.pyc | Bin 742 -> 0 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 178 -> 0 bytes backend/api/users/models.py | 13 +++-- 135 files changed, 66 insertions(+), 774 deletions(-) delete mode 100644 backend/api/api/Generateur/__pycache__/__init__.cpython-310.pyc delete mode 100644 backend/api/api/Generateur/__pycache__/generateur_csv.cpython-310.pyc delete mode 100644 backend/api/api/Generateur/__pycache__/generateur_main.cpython-310.pyc delete mode 100644 backend/api/api/__pycache__/__init__.cpython-310.pyc delete mode 100644 backend/api/api/__pycache__/asgi.cpython-310.pyc delete mode 100644 backend/api/api/__pycache__/settings.cpython-310.pyc delete mode 100644 backend/api/api/__pycache__/urls.cpython-310.pyc delete mode 100644 backend/api/db.sqlite3 delete mode 100644 backend/api/exercices/__pycache__/__init__.cpython-310.pyc delete mode 100644 backend/api/exercices/__pycache__/admin.cpython-310.pyc delete mode 100644 backend/api/exercices/__pycache__/apps.cpython-310.pyc delete mode 100644 backend/api/exercices/__pycache__/filters.cpython-310.pyc delete mode 100644 backend/api/exercices/__pycache__/models.cpython-310.pyc delete mode 100644 backend/api/exercices/__pycache__/paginations.cpython-310.pyc delete mode 100644 backend/api/exercices/__pycache__/pdfmaker.cpython-310.pyc delete mode 100644 backend/api/exercices/__pycache__/serializers.cpython-310.pyc delete mode 100644 backend/api/exercices/__pycache__/signals.cpython-310.pyc delete mode 100644 backend/api/exercices/__pycache__/urls.cpython-310.pyc delete mode 100644 backend/api/exercices/__pycache__/utils.cpython-310.pyc delete mode 100644 backend/api/exercices/__pycache__/views.cpython-310.pyc delete mode 100644 backend/api/exercices/migrations/0002_exercice_iscsv_exercice_ispdf_exercice_isweb.py delete mode 100644 backend/api/exercices/migrations/0003_alter_exercice_exo_model.py delete mode 100644 backend/api/exercices/migrations/0004_alter_exercice_exemple_alter_exercice_exo_model.py delete mode 100644 backend/api/exercices/migrations/0005_exercice_author_exercice_private.py delete mode 100644 backend/api/exercices/migrations/0006_alter_exercice_private.py delete mode 100644 backend/api/exercices/migrations/0007_exercice_origin.py delete mode 100644 backend/api/exercices/migrations/0008_remove_exercice_origin.py delete mode 100644 backend/api/exercices/migrations/0009_exercice_origin.py delete mode 100644 backend/api/exercices/migrations/0010_alter_exercice_id_code.py delete mode 100644 backend/api/exercices/migrations/0011_alter_exercice_id_code.py delete mode 100644 backend/api/exercices/migrations/0012_alter_exercice_origin.py delete mode 100644 backend/api/exercices/migrations/0013_tag_user.py delete mode 100644 backend/api/exercices/migrations/0014_remove_exercice_tags_exercice_tags.py delete mode 100644 backend/api/exercices/migrations/0015_exercice_original.py delete mode 100644 backend/api/exercices/migrations/0016_exercice_last_update.py delete mode 100644 backend/api/exercices/migrations/0017_alter_exercice_last_update.py delete mode 100644 backend/api/exercices/migrations/__pycache__/0001_initial.cpython-310.pyc delete mode 100644 backend/api/exercices/migrations/__pycache__/0002_exercice_iscsv_exercice_ispdf_exercice_isweb.cpython-310.pyc delete mode 100644 backend/api/exercices/migrations/__pycache__/0003_alter_exercice_exo_model.cpython-310.pyc delete mode 100644 backend/api/exercices/migrations/__pycache__/0004_alter_exercice_exemple_alter_exercice_exo_model.cpython-310.pyc delete mode 100644 backend/api/exercices/migrations/__pycache__/0005_exercice_author_exercice_private.cpython-310.pyc delete mode 100644 backend/api/exercices/migrations/__pycache__/0006_alter_exercice_private.cpython-310.pyc delete mode 100644 backend/api/exercices/migrations/__pycache__/0007_exercice_origin.cpython-310.pyc delete mode 100644 backend/api/exercices/migrations/__pycache__/0008_alter_exercice_origin.cpython-310.pyc delete mode 100644 backend/api/exercices/migrations/__pycache__/0008_remove_exercice_origin.cpython-310.pyc delete mode 100644 backend/api/exercices/migrations/__pycache__/0009_alter_exercice_origin.cpython-310.pyc delete mode 100644 backend/api/exercices/migrations/__pycache__/0009_exercice_origin.cpython-310.pyc delete mode 100644 backend/api/exercices/migrations/__pycache__/0009_remove_exercice_origin.cpython-310.pyc delete mode 100644 backend/api/exercices/migrations/__pycache__/0010_alter_exercice_id_code.cpython-310.pyc delete mode 100644 backend/api/exercices/migrations/__pycache__/0010_remove_exercice_origin_exercice_original.cpython-310.pyc delete mode 100644 backend/api/exercices/migrations/__pycache__/0011_alter_exercice_id_code.cpython-310.pyc delete mode 100644 backend/api/exercices/migrations/__pycache__/0011_remove_exercice_original.cpython-310.pyc delete mode 100644 backend/api/exercices/migrations/__pycache__/0012_alter_exercice_origin.cpython-310.pyc delete mode 100644 backend/api/exercices/migrations/__pycache__/0013_tag_user.cpython-310.pyc delete mode 100644 backend/api/exercices/migrations/__pycache__/0014_remove_exercice_tags_exercice_tags.cpython-310.pyc delete mode 100644 backend/api/exercices/migrations/__pycache__/0015_exercice_original.cpython-310.pyc delete mode 100644 backend/api/exercices/migrations/__pycache__/0016_exercice_last_update.cpython-310.pyc delete mode 100644 backend/api/exercices/migrations/__pycache__/0017_alter_exercice_last_update.cpython-310.pyc delete mode 100644 backend/api/exercices/migrations/__pycache__/__init__.cpython-310.pyc delete mode 100644 backend/api/room/__pycache__/__init__.cpython-310.pyc delete mode 100644 backend/api/room/__pycache__/admin.cpython-310.pyc delete mode 100644 backend/api/room/__pycache__/apps.cpython-310.pyc delete mode 100644 backend/api/room/__pycache__/consumers.cpython-310.pyc delete mode 100644 backend/api/room/__pycache__/models.cpython-310.pyc delete mode 100644 backend/api/room/__pycache__/routing.cpython-310.pyc delete mode 100644 backend/api/room/__pycache__/serializers.cpython-310.pyc delete mode 100644 backend/api/room/__pycache__/tests.cpython-310.pyc delete mode 100644 backend/api/room/__pycache__/urls.cpython-310.pyc delete mode 100644 backend/api/room/__pycache__/utils.cpython-310.pyc delete mode 100644 backend/api/room/__pycache__/views.cpython-310.pyc delete mode 100644 backend/api/room/management/__pycache__/__init__.cpython-310.pyc delete mode 100644 backend/api/room/management/commands/__pycache__/__init__.cpython-310.pyc delete mode 100644 backend/api/room/management/commands/__pycache__/add_challenger.cpython-310.pyc delete mode 100644 backend/api/room/management/commands/__pycache__/challenge.cpython-310.pyc delete mode 100644 backend/api/room/migrations/0002_tempcorrection.py delete mode 100644 backend/api/room/migrations/0003_tempcorrection_id_code.py delete mode 100644 backend/api/room/migrations/0004_alter_tempcorrection_id_code.py delete mode 100644 backend/api/room/migrations/0005_rename_participants_room_anonymousmembers_and_more.py delete mode 100644 backend/api/room/migrations/0006_alter_room_usermembers.py delete mode 100644 backend/api/room/migrations/0007_alter_room_usermembers.py delete mode 100644 backend/api/room/migrations/0008_alter_room_anonymousmembers.py delete mode 100644 backend/api/room/migrations/0009_room_online.py delete mode 100644 backend/api/room/migrations/0010_remove_parcours_exercices_parcours_exercices.py delete mode 100644 backend/api/room/migrations/0011_remove_parcours_exercices_parcours_exercices.py delete mode 100644 backend/api/room/migrations/0012_alter_room_name.py delete mode 100644 backend/api/room/migrations/0013_alter_parcours_name.py delete mode 100644 backend/api/room/migrations/__pycache__/0001_initial.cpython-310.pyc delete mode 100644 backend/api/room/migrations/__pycache__/0002_tempcorrection.cpython-310.pyc delete mode 100644 backend/api/room/migrations/__pycache__/0003_tempcorrection_id_code.cpython-310.pyc delete mode 100644 backend/api/room/migrations/__pycache__/0004_alter_tempcorrection_id_code.cpython-310.pyc delete mode 100644 backend/api/room/migrations/__pycache__/0005_rename_participants_room_anonymousmembers_and_more.cpython-310.pyc delete mode 100644 backend/api/room/migrations/__pycache__/0006_alter_room_usermembers.cpython-310.pyc delete mode 100644 backend/api/room/migrations/__pycache__/0007_alter_room_usermembers.cpython-310.pyc delete mode 100644 backend/api/room/migrations/__pycache__/0008_alter_room_anonymousmembers.cpython-310.pyc delete mode 100644 backend/api/room/migrations/__pycache__/0009_room_online.cpython-310.pyc delete mode 100644 backend/api/room/migrations/__pycache__/0010_remove_parcours_exercices_parcours_exercices.cpython-310.pyc delete mode 100644 backend/api/room/migrations/__pycache__/0011_remove_parcours_exercices_parcours_exercices.cpython-310.pyc delete mode 100644 backend/api/room/migrations/__pycache__/0012_alter_room_name.cpython-310.pyc delete mode 100644 backend/api/room/migrations/__pycache__/0013_alter_parcours_name.cpython-310.pyc delete mode 100644 backend/api/room/migrations/__pycache__/__init__.cpython-310.pyc delete mode 100644 backend/api/users/__pycache__/__init__.cpython-310.pyc delete mode 100644 backend/api/users/__pycache__/admin.cpython-310.pyc delete mode 100644 backend/api/users/__pycache__/apps.cpython-310.pyc delete mode 100644 backend/api/users/__pycache__/forms.cpython-310.pyc delete mode 100644 backend/api/users/__pycache__/models.cpython-310.pyc delete mode 100644 backend/api/users/__pycache__/serializers.cpython-310.pyc delete mode 100644 backend/api/users/__pycache__/urls.cpython-310.pyc delete mode 100644 backend/api/users/__pycache__/views.cpython-310.pyc delete mode 100644 backend/api/users/migrations/0002_customuser_registeredexos.py delete mode 100644 backend/api/users/migrations/0003_alter_customuser_registeredexos.py delete mode 100644 backend/api/users/migrations/0004_customuser_id_code.py delete mode 100644 backend/api/users/migrations/0005_alter_customuser_id_code.py delete mode 100644 backend/api/users/migrations/0006_customuser_clientid.py delete mode 100644 backend/api/users/migrations/0007_alter_customuser_clientid.py delete mode 100644 backend/api/users/migrations/0008_alter_customuser_clientid.py delete mode 100644 backend/api/users/migrations/0009_alter_customuser_clientid_alter_customuser_id_code.py delete mode 100644 backend/api/users/migrations/0010_alter_customuser_id_code.py delete mode 100644 backend/api/users/migrations/__pycache__/0001_initial.cpython-310.pyc delete mode 100644 backend/api/users/migrations/__pycache__/0002_customuser_registeredexos.cpython-310.pyc delete mode 100644 backend/api/users/migrations/__pycache__/0003_alter_customuser_registeredexos.cpython-310.pyc delete mode 100644 backend/api/users/migrations/__pycache__/0004_customuser_id_code.cpython-310.pyc delete mode 100644 backend/api/users/migrations/__pycache__/0005_alter_customuser_id_code.cpython-310.pyc delete mode 100644 backend/api/users/migrations/__pycache__/0006_customuser_clientid.cpython-310.pyc delete mode 100644 backend/api/users/migrations/__pycache__/0007_alter_customuser_clientid.cpython-310.pyc delete mode 100644 backend/api/users/migrations/__pycache__/0008_alter_customuser_clientid.cpython-310.pyc delete mode 100644 backend/api/users/migrations/__pycache__/0009_alter_customuser_clientid_alter_customuser_id_code.cpython-310.pyc delete mode 100644 backend/api/users/migrations/__pycache__/0010_alter_customuser_clientid.cpython-310.pyc delete mode 100644 backend/api/users/migrations/__pycache__/0010_alter_customuser_id_code.cpython-310.pyc delete mode 100644 backend/api/users/migrations/__pycache__/__init__.cpython-310.pyc diff --git a/backend/api/api/Generateur/__pycache__/__init__.cpython-310.pyc b/backend/api/api/Generateur/__pycache__/__init__.cpython-310.pyc deleted file mode 100644 index da707b2499e73a7ffc337bec69b10094af2b26c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280 zcmd1j<>g`kf^~lIYq;;_lhPbtkwwF9}n7-Ss}g8(A{Y0^uV diff --git a/backend/api/api/Generateur/__pycache__/generateur_csv.cpython-310.pyc b/backend/api/api/Generateur/__pycache__/generateur_csv.cpython-310.pyc deleted file mode 100644 index 57218c2107c9587d218efa241ae6de22466e7506..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1667 zcmZ8hO>g5w7@l|RIF93_X*b)nlw~6%J|dw;R6+u&s#uk(AeIWL9FSRL+>DhqbsX1r z+JeRsQuYKFegKD-8y6%FNZk1coY06Hr(BS@mP2`8yV-tBG*8}-XXbt8%i~7FV%UEE z{nvwEOve5u=Vmj|c^7;7HiBRRLN)>ifC(-%p^J(zMD>S?!-Xko!V-017rrJMqWO$D zx>(p}z19qHcn_4d>qma#W&R|Yy@jFKn*^^ByiD*Ap;wuarkPF9Bxn&V5xh#!C0Hfs z5VR2nq;uXVMKf$;Pru}hWlW-S!KYeoWFYk^WL#>i?2si7u6&Tj6b|*dFSHKJtI_r? zww`R(Y|-4ig5hz`{}16l4`geJjnginPw@?2vslDSVy$%*d*=9})y~ z7>+Tg_`k+buYHxVCA68e%Uqjv(C)AmmNzhhYKscLm3D+)-V|oJH*JPj1=$FmArvzHJq;EfCD zDmKH*$Y%J?*nn8`MmA;kv8R-!>$*zQ@jYb>yl^lHf1>B3lbx&~qkxOg`cKCrzaIu+ z;6?ot|DZp7{=VGfjsEp(Bk#Z)9Qu*ydvVZTFYr2lb0A7zkH1ppX6TI$gtt|^BhqKG zuODuw$L>{;ak9P{j!{y&g+|HkH4Q zh8M>uMrlEmDeL1$yF2dV5B7HURVDGFp|8x7B*^?^e4_L)NHe94yjU4Ql=?~5TUC1O zWlx=Ybl?V&i?P6Ws_4WX4mIL&7+@uHFpkn-7-6KG%&GgQW7j|RM{(#ob~uiP6Z{gn zBk$B{&dF{VM1G1}jf0&==AUNnoTwmh?iIy~LhdnY32^;RE%8&N;Xq~KWG*g#Nb<-= zeMJJ-jmvkeQgRW3SiwNSiGo9?ULG@Yaj_67NUqO0c|cp*xV827F_b<*u%Qc0?AG&c za$U1w33M>I4K`+U;NMu9i9F-7tF2(vgf_S7pRa(;IkZ8))Oiv5boF59*^gNmd8d~iOWhbpv)k|0VIT24GBU-6OfR%BN+uV7H{RVGym$!hkINnA5&OdM) zjYDFV2S1rBjaN#dkU;5#0lt){E(AfI0=^NcvD+p5QmHS z4SGW~O{Yhi9*a|HJg>;r{_t5k7sEJ;qaYdnDyG9jkq8+SVj(BbKOcU7Pnrhdu}JtZ z$fDt(qAUH~i}N5#2HC0h4n?s&JrZH@qc~*-j0MEQ3_r%w0rvk&-kVa$&7CbQ z4Sz)kgTX!bjTr;4O4)<|Y*$cJTX<8Tl>BKsGF0v%z%QDbA3 zL>0TlWkazecF|CcON`MOtVdR9{elt;BlA723R79OIl%3l89cx|XU9=RqTXRK*4&o=vws&X{V_)OCKd!~wr)oAER{tZO*LB-QLI16GZ9W^GM!ImQ7k5L8V05^b#I>X z1#DC*b4Xip8gL|Y1t74_d z7jfZtxR?dNOyF&S#`4?s{*CC?+Y@+n{LZTRD%no!GL`R`AK*xS2aHFb<410u z1q-T_U3|Qe>KLUe&T&1p$ zH~Y3U4WT=?$r_kk$u-zqg}Mr3b@Pt9)tg$q9nRNvhQ7gYEBAmn$iWVAESGic{{U&B Be+U2o diff --git a/backend/api/api/__pycache__/__init__.cpython-310.pyc b/backend/api/api/__pycache__/__init__.cpython-310.pyc deleted file mode 100644 index f439c0349dc7c9d77b55bb0a80fe99be1e9a47cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 167 zcmd1j<>g`kf^~MVZMF#wEpX|@C!|QQix4M-5Rux3qW++!<>1T4Sx*wDUVCLb3F(1L zUxNc2xp3nNcm!^H<-{v+0K7>X6`<3_+{Lc_m$;XfaLFxvWnNAzxUyVVcr~rzTIyqeiL1Px1~_mXa3>p|8nj0J z&z?o4D+f21`R?FNs6i6~sDKZflh)+!m0L_&|L9%0c#C>HryX4W2s*v)0ZOD8vJo0e zg-FIwrsMi0>O zah4Fnr0Dl;zI|IEl?o6Owph9hASrBerqPgbc!V@SFg7OB&!dRSM2B=j#7N$7N@N;= zh@OQ{qOqJC8Bxf%T%;gOMD&P7!7nSUbKG|Gdm}J$;frt4u>S4N)Qpc9r5xr&LC=un zqV45dZZm@qN7j7si)9^ZRUM>)>T|<0-ohzOyo)KfU5<1_wrSlg@Z5C__ z^LyXkRSFSjoDmV(!_f!?C}Lo$;@Q)v`yU$E`v5^Bt6UT=ZNVzc7P%HmiPU eP1*754X@$0+=hFnT=jg>j diff --git a/backend/api/api/__pycache__/settings.cpython-310.pyc b/backend/api/api/__pycache__/settings.cpython-310.pyc deleted file mode 100644 index f8d68288acd401d2996d5b2a8a6cdad47d76de7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4184 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 diff --git a/backend/api/exercices/__pycache__/__init__.cpython-310.pyc b/backend/api/exercices/__pycache__/__init__.cpython-310.pyc deleted file mode 100644 index ae89d83cdf8a296db61cf36974393ce10cdc50c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 173 zcmd1j<>g`kf^~Ma%OUBv3`7f fW?p7Ve7s&k5qnZmM`S>AF= zfG*3o39xtcb~Dej;#b3^5^^&SH{C#cUJZFv-%9PBDDVx(@X0cI{ diff --git a/backend/api/exercices/__pycache__/apps.cpython-310.pyc b/backend/api/exercices/__pycache__/apps.cpython-310.pyc deleted file mode 100644 index aa9f46d65cdfcfd6b12d2a08b0cc8308750dc2a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 616 zcmZ8fy>8S%5T4!jg}dY;A_N^swAa`YH9`pyq(RrvxmoRb=8R#_HoIp?B2kf-p`qgm zc#CbR@(NVUI3YS1X-1x({q~#B+Z`V61KanXKUPZx@Jo_i%Q!h^k54%upz^R$rBZMP zsL@;j8d6_PsWE#Ci^(-l!9u0kN#CD#?YgNesqC8O0V r7E{PnrsjIAE*B;p+{!M5gHRkhI~XEL5TG=DenaYo=otla4iC*A-i(r2 diff --git a/backend/api/exercices/__pycache__/filters.cpython-310.pyc b/backend/api/exercices/__pycache__/filters.cpython-310.pyc deleted file mode 100644 index 8e79ff5f9c2118bc62975504d1f0070ac9337f33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1715 zcmb7F&2Jk;6n``O;k9EYZGliKMB&DAuu-{&s7REaFhZ#~EUH$Uor$yVcx}(D+tjk9 zB3m>Za^OEmj`;)lXXeVOXKow_@9o;H1F8@c?aQ05-~0N_^RU%w0FD=b{dRcA0r;IJ zo5RJ)ef-R4C zbsk=u9VY1$nTt*`$~x_iT&2u(j>-T{d-UA8slr9iYf>TBY7i7ZeUc1KeBxT|Y zy7noGpI`=$cQ6x3G{Kf|3Vk?d7eD|{;Rj$a<`p&mg+tjq!0(S+D0+nB5l$a|DVc z_x`^RA=8AT@1Q_q@2~YL)?n>@X^VK-1kQr1>D~XZ^w#X_8)Tt;VmDEH9jW|Bn)Q3Q zOHOHG%k-1C+FNHZWYN|J`*6Bbz49y_=0%d_Cahb}Oh!^$J~pH m)-Ri+sXAu8YS{;}D35QTmv%~;276V{-KUqo>UK@G%l`&R(~_3} diff --git a/backend/api/exercices/__pycache__/models.cpython-310.pyc b/backend/api/exercices/__pycache__/models.cpython-310.pyc deleted file mode 100644 index bf114c45fc501604900ce36d9c9149447647cb9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2728 zcmZ`*OK%%D5GHq5`;b-eCLpsBiY$s_};Bd$xhvdwBGs^4rDuM6! zKmSM@Vg!cn&A^1-OsupLR8l*zQzvjzH*ixg z@bp?Msiw7{ruj}aB$#3@^Pq3sC9KM7PYJ7WI+%W91~bfOb&xbcGQ}Do zX@KMuNKV7dG@F5$neo~)%vd7r<{{jZw5hVwobg0<+ZE-_uSH@p<_S~&cUi&vd_3}& z`DQT|e4FP9kFs)9Ux*669H(3lL7Vse(vRKApgKR2MV>y8T=ej?$!7p#Lz{>8;!7Zm zJ|-U6WsekeU=-%S+9Ax^HTLOaT2u!1z}ca!vP<{eeXzy4A!a?YLzl>gdEj&pQPr}- zx6t(is+^dGJ$RF#FyHo+HOS*k*&@nVo+_uemd8CVl`RVqXMNR(WG{}x(QpX2j3ig? zolW3ijdJpp0q+&Cb~R24E>xwLkFw&xP43Czj+AaO&LuUapAxdhZond=1EJw}COKK)VG^E&$;qpo|0tHyLFHGk1-^(!9kh z;BPaqxifGf`Yq@^=D8sRdE$m9o_^Y>Ok6ts;1FqIChc4_-ZstisiN` zZh%HjExA&-d&fhEzqjP8&Dc@8OPhdw92T3{}-yWJWM zlRRSbMAY%kJbXzzq5+%0fNq@0BFX>*E`&aR<90d#T-<`;{}CRBCpW4147#^mj+uoSSB;!PL^s+KzBdNBFH;E1n=ZS1!!0OEDXjSvPbsG0{O*$On2xW-6xc6 zSd1)@1KNe_`+Z)3Q@GfYyij)OMwquGPga!)us&gHZD!0upF)$EOnh3U)~oH-8+V#3 z^>o{oz&DGJk$i##cc0LB?7h!H(19k=E9gCeGjCZ4L4lwA3&_MmB`9{Oh6DfvAYn}) z!97fe8Vpbx7(fCfHSX;ByuMF^Dc<1I%!3s(ya`g|P91TlkGM0u1=1==&mPU41E`&6 zHD*G8f%%~KJ&@J4j#-rPi&}O`%P#XPPe^c;%{(Kklr`A&Q!lvo41zGYjzvba;6dU# zkT%umLll01a|lHZK`a_&JcdPn$Z%StxJ0X7qADv%l&ymb#4K#^qfwEES^g-D7!zON zo)3X6c6%5mlMnexlUHDXSQyYfL-*!B6z9TvLiP*{9}FJx1uVikh@q|XuyUY)2@FW> zV$3nBB1cdv;2n6bs*EI75r3WYVK|Hg&k6}e$P2?>5=j|`$2n8$=)xu)4NW>lw~xYp z99wOpyV$<*W_aNvgwAi6;7?=}ZxO($tF1dhM3-*dWUK`5ar(S-32En2Cb3 zN0Pa5(Ot#=K2qm!fru3dOl_9Z0<-VfF*lHTrcE07WkD$wmT%Wiy9Sz6$ke1ln0Vqx})Yq)gQ@TpH-%dItQuGh3$&VOZ8nu5GEx`W*nzTfi(S@x)ok5pkomf1u|qaf@ae~$mYeBt-q2|{@^Wnj10|G zbm`V7=v#2@lo#mGq3E4t7fw+UJl-8~-+gz-a%ZQ{aDDy$ZSvV;><1Z}OQ7)%j~$`V zO!JK8Jm#EqFY|Ig_BlIZ+SlTSX#spLuKhUB!3i6N_ZY*5-1VzumKI5!mIYe!J=m%& zEKKQnb0L8)*-KP_#ay%4(>(UI7Yj|WLI*c24t0p|J-2(<*t*P*|Dro?9k1^9Fnmg2 z>qWZ6bBM>jK~b|M`^4`^dUsgWt+!-ze=g?1>JC?Tuf64xYwtF^=9tzW4?QOexTu}1 z44kE9V~3#&vb0!O7fj2hsNEJ;49ccg5C^1Mx7~V*CZB+DJp;DMYCGIAKC*E;GpH3o zDnfCO$y{T1E${g1SD*g~vlLsG1>noL)y2(f%DD|;P zvenCzw!zeL^n$s>ZkQx@yRCb}V+P2`ydXgx*$~gkqz@nBvBX|7!D$b8>mTEsA7OR1 zIz?zWFU`Wx*K$uEI!Egcbkp5C#@UVA$)mPvTno67yyZd+oIL0%e9MUjaTy?ieg6-l Cln2rP diff --git a/backend/api/exercices/__pycache__/pdfmaker.cpython-310.pyc b/backend/api/exercices/__pycache__/pdfmaker.cpython-310.pyc deleted file mode 100644 index 53caadd568c8fed27841d08269f2c28dc6d4dfa3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2274 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 diff --git a/backend/api/exercices/__pycache__/signals.cpython-310.pyc b/backend/api/exercices/__pycache__/signals.cpython-310.pyc deleted file mode 100644 index 2ff7a54eb7c8d5a8999db96927fefe81a9df1a29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1369 zcmb_c&5ztP6ps_ZRjXcmnS@B_?VFgIb}MNGO4ygM39W zW*tXQL6*D()Q69b4!`(({?*CJ*LIPDmSN1dyYwx<5tH`5#IC+au_cu!KhmV~uL7%A z{x3w{(d3H0v54oQp^jc+G0+>o^nMO-*2g-z8vNUfY5S-D^fb8qZaBqu2sLO>(P62p>Y#7D`=;skP=iUTE^Su^zkELym){s9#6%hf>KYpnqnPrCpL4dF5k`8 zT`dZxGU&@-H8DRdCh-@W)BE5)EWEuX)jC8(3sZXh9Yl)^dJ+ zFMD{yS`_6OB9j#z&t})ot@yGnYBlRF%t5i%V!lgtZqGXxZEsHShsug5zC|YFJ#s+k zpEQu~pz8+I7Ul%IgStk=0;)pGtjm#ww6cIx=D#3S_$>IwYe&>V9bLRnJo|l%aG!b` zyDof2x51X4`RbmID};R;R0&exzK*YkI~{=!5cs~Q^itjcUexS=0Ds*vEGpYEhU?X| zg^k;GM~4R~k+w9)>B#uqnY1M^@s2yn1WV8^ENxlL_)vg47W(KZS6U9xCGEo?M^=nc zq@jad-nNcAC`^J`I55KQ+5i9m diff --git a/backend/api/exercices/__pycache__/urls.cpython-310.pyc b/backend/api/exercices/__pycache__/urls.cpython-310.pyc deleted file mode 100644 index 9f657f65aa50da7047627d30708f7c96b9645ce0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 725 zcmYjP&2AGh5Vn*3%l@TEoOpv=Vu=$%RYe6Ys#H*Y*tpgL?y zJG{&`cD#i4fAF}hz$O@&tru09pO(0T=06zFxW@DWuPH83vX$ic9&`?F6`g~!qVp7`A-cVXW13#IOCKU@6n;N>Vx!_?wp!NHwXTfD zH)ht|lyGgdgIv1=9)V8~5R3@uU+9Q{{(w#hQi3sp^)oZ4Q*4CCVsTs0EAx%%r?i6L z@2R+|6^N>=%4{XBVIh|H)rPg6Z=Q>7?YG_{%Rj-Y5Lr`-sd#h=OnTaUvB5rGd0oK) Vy`g!A5VIFNc4B_t1HS8j{sC^Y$*uqZ diff --git a/backend/api/exercices/__pycache__/utils.cpython-310.pyc b/backend/api/exercices/__pycache__/utils.cpython-310.pyc deleted file mode 100644 index c09b7f3de3ae9b4f96ea2ebc5f4a6bb7f0cf6e86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1767 zcmZWpPj4GV6rVr4>-ENVO$tpSDiowjtxK^H2nr~QB9+inU6fQHMWEGsXY6dU-gRfk zt#Q{9C_%shi4VXbIp)HRPr$braqB5x03jqu-&@;h0=t?wZ{GagyuUMPwdxW0e*OKo z&L0jT&v9|_vtY3SBfAddJ`qIFLl}}A@Et0c;D=;~32U1)><|!_J`Sr57}*;@Bmq2P zokEN5aA64>v@JnFyJXx)a9{5t# zuCBofwdn!|SJD?xwapA$+RGr=GdK3;w{b@=1;XHO%ccPEq8LNaM^#o!oY7h;9Y*=|td zfPei!H@IQVcM3$Ybwbr5AWq2N4_dovU$){Xj)J81RCZcDnMf6AIaL0WcU$)_tvW%t zFB8!U22rcok|U|YD3n=isG~S*4!$D8}oK; z`hJu|+V`7laT*43w%$Bf9y8Bt)D4f*p7F9l9O-G=ooNw_y}7mZaLYKE3{<#l?4C-8 z1LcA>!=prlqD&0$2O}U+g4N2jDa&NoFG4dlE&GEQg7kƚ!WS{Z9Ejgm&ySecBw zY6T8cuj7f;b8yiSte;L3iNUEWNa{$+NHFiJ0%WItt`(++2)WgEf!o!m9LtcEpfqLkrL&xs%Av;Aj8kXT{XHUJ4srUfN zT_l%tWUhw0GTh%Br4Lde&fj?$z^Wg)+C WW^wwo8`q{aTgNJ7nBh99G+zLPjHmbj diff --git a/backend/api/exercices/__pycache__/views.cpython-310.pyc b/backend/api/exercices/__pycache__/views.cpython-310.pyc deleted file mode 100644 index 37f087ed61aa41b0d50ff8c90ac51921a8e11d2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18786 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 Z&LnbK=CYI7r?R8YMAFEf%NECz{||CG7Iy#u diff --git a/backend/api/exercices/migrations/0001_initial.py b/backend/api/exercices/migrations/0001_initial.py index d58fa6c6..d1aa471b 100644 --- a/backend/api/exercices/migrations/0001_initial.py +++ b/backend/api/exercices/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 4.0 on 2022-04-17 08:21 +# Generated by Django 4.0 on 2022-07-29 09:08 from django.db import migrations, models import exercices.models @@ -17,11 +17,16 @@ class Migration(migrations.Migration): fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=50)), - ('id_code', models.CharField(default=exercices.models.generate_unique_code_step, max_length=50, unique=True)), - ('exo_model', models.TextField(max_length=50000)), + ('id_code', models.CharField(default='generate_unique_code_step', max_length=50, unique=True)), + ('exo_model', models.FileField(upload_to=exercices.models.exo_code)), ('consigne', models.CharField(blank=True, default='', max_length=100)), - ('tags', models.JSONField(default=list)), - ('exemple', models.JSONField(default=list)), + ('exemple', models.JSONField(default=dict)), + ('isPdf', models.BooleanField(default=True)), + ('isCsv', models.BooleanField(default=True)), + ('isWeb', models.BooleanField(default=True)), + ('last_update', models.DateTimeField(auto_now_add=True)), + ('original', models.BooleanField(default=True)), + ('private', models.BooleanField(default=False)), ], ), migrations.CreateModel( @@ -29,7 +34,7 @@ class Migration(migrations.Migration): fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('color', models.CharField(default='', max_length=50)), - ('id_code', models.CharField(default=exercices.models.generate_unique_code_tag, max_length=50, unique=True)), + ('id_code', models.CharField(default='generate_unique_code_tag', max_length=50, unique=True)), ('name', models.CharField(default='', max_length=25)), ], ), diff --git a/backend/api/exercices/migrations/0002_exercice_iscsv_exercice_ispdf_exercice_isweb.py b/backend/api/exercices/migrations/0002_exercice_iscsv_exercice_ispdf_exercice_isweb.py deleted file mode 100644 index 6daa6e28..00000000 --- a/backend/api/exercices/migrations/0002_exercice_iscsv_exercice_ispdf_exercice_isweb.py +++ /dev/null @@ -1,28 +0,0 @@ -# Generated by Django 4.0 on 2022-04-17 19:51 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('exercices', '0001_initial'), - ] - - operations = [ - migrations.AddField( - model_name='exercice', - name='isCsv', - field=models.BooleanField(default=True), - ), - migrations.AddField( - model_name='exercice', - name='isPdf', - field=models.BooleanField(default=True), - ), - migrations.AddField( - model_name='exercice', - name='isWeb', - field=models.BooleanField(default=True), - ), - ] diff --git a/backend/api/exercices/migrations/0003_alter_exercice_exo_model.py b/backend/api/exercices/migrations/0003_alter_exercice_exo_model.py deleted file mode 100644 index 9c3b534d..00000000 --- a/backend/api/exercices/migrations/0003_alter_exercice_exo_model.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 4.0 on 2022-04-17 19:56 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('exercices', '0002_exercice_iscsv_exercice_ispdf_exercice_isweb'), - ] - - operations = [ - migrations.AlterField( - model_name='exercice', - name='exo_model', - field=models.FileField(upload_to='uploads/exercices/'), - ), - ] diff --git a/backend/api/exercices/migrations/0004_alter_exercice_exemple_alter_exercice_exo_model.py b/backend/api/exercices/migrations/0004_alter_exercice_exemple_alter_exercice_exo_model.py deleted file mode 100644 index ecaf318d..00000000 --- a/backend/api/exercices/migrations/0004_alter_exercice_exemple_alter_exercice_exo_model.py +++ /dev/null @@ -1,24 +0,0 @@ -# Generated by Django 4.0 on 2022-05-15 06:48 - -from django.db import migrations, models -import exercices.models - - -class Migration(migrations.Migration): - - dependencies = [ - ('exercices', '0003_alter_exercice_exo_model'), - ] - - operations = [ - migrations.AlterField( - model_name='exercice', - name='exemple', - field=models.JSONField(default=dict), - ), - migrations.AlterField( - model_name='exercice', - name='exo_model', - field=models.FileField(upload_to=exercices.models.exo_code), - ), - ] diff --git a/backend/api/exercices/migrations/0005_exercice_author_exercice_private.py b/backend/api/exercices/migrations/0005_exercice_author_exercice_private.py deleted file mode 100644 index 9f13ad3d..00000000 --- a/backend/api/exercices/migrations/0005_exercice_author_exercice_private.py +++ /dev/null @@ -1,25 +0,0 @@ -# Generated by Django 4.0 on 2022-05-20 13:52 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('users', '0001_initial'), - ('exercices', '0004_alter_exercice_exemple_alter_exercice_exo_model'), - ] - - operations = [ - migrations.AddField( - model_name='exercice', - name='author', - field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='users.customuser'), - ), - migrations.AddField( - model_name='exercice', - name='private', - field=models.BooleanField(default=True), - ), - ] diff --git a/backend/api/exercices/migrations/0006_alter_exercice_private.py b/backend/api/exercices/migrations/0006_alter_exercice_private.py deleted file mode 100644 index 8e84f0fd..00000000 --- a/backend/api/exercices/migrations/0006_alter_exercice_private.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 4.0 on 2022-05-21 08:06 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('exercices', '0005_exercice_author_exercice_private'), - ] - - operations = [ - migrations.AlterField( - model_name='exercice', - name='private', - field=models.BooleanField(default=False), - ), - ] diff --git a/backend/api/exercices/migrations/0007_exercice_origin.py b/backend/api/exercices/migrations/0007_exercice_origin.py deleted file mode 100644 index de4cafa5..00000000 --- a/backend/api/exercices/migrations/0007_exercice_origin.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 4.0 on 2022-05-30 15:54 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('exercices', '0006_alter_exercice_private'), - ] - - operations = [ - migrations.AddField( - model_name='exercice', - name='origin', - field=models.CharField(default='', max_length=20, null=True), - ), - ] diff --git a/backend/api/exercices/migrations/0008_remove_exercice_origin.py b/backend/api/exercices/migrations/0008_remove_exercice_origin.py deleted file mode 100644 index 8a68d1f1..00000000 --- a/backend/api/exercices/migrations/0008_remove_exercice_origin.py +++ /dev/null @@ -1,17 +0,0 @@ -# Generated by Django 4.0 on 2022-05-30 16:15 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('exercices', '0007_exercice_origin'), - ] - - operations = [ - migrations.RemoveField( - model_name='exercice', - name='origin', - ), - ] diff --git a/backend/api/exercices/migrations/0009_exercice_origin.py b/backend/api/exercices/migrations/0009_exercice_origin.py deleted file mode 100644 index c6543b54..00000000 --- a/backend/api/exercices/migrations/0009_exercice_origin.py +++ /dev/null @@ -1,19 +0,0 @@ -# Generated by Django 4.0 on 2022-05-30 16:15 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('exercices', '0008_remove_exercice_origin'), - ] - - operations = [ - migrations.AddField( - model_name='exercice', - name='origin', - field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='exercices.exercice'), - ), - ] diff --git a/backend/api/exercices/migrations/0010_alter_exercice_id_code.py b/backend/api/exercices/migrations/0010_alter_exercice_id_code.py deleted file mode 100644 index 2317a80c..00000000 --- a/backend/api/exercices/migrations/0010_alter_exercice_id_code.py +++ /dev/null @@ -1,19 +0,0 @@ -# Generated by Django 4.0 on 2022-05-30 16:25 - -from django.db import migrations, models -import exercices.models - - -class Migration(migrations.Migration): - - dependencies = [ - ('exercices', '0009_exercice_origin'), - ] - - operations = [ - migrations.AlterField( - model_name='exercice', - name='id_code', - field=models.CharField(default=exercices.models.generate_unique_code_step, max_length=50, null=True, unique=True), - ), - ] diff --git a/backend/api/exercices/migrations/0011_alter_exercice_id_code.py b/backend/api/exercices/migrations/0011_alter_exercice_id_code.py deleted file mode 100644 index c589272e..00000000 --- a/backend/api/exercices/migrations/0011_alter_exercice_id_code.py +++ /dev/null @@ -1,19 +0,0 @@ -# Generated by Django 4.0 on 2022-05-30 16:30 - -from django.db import migrations, models -import exercices.models - - -class Migration(migrations.Migration): - - dependencies = [ - ('exercices', '0010_alter_exercice_id_code'), - ] - - operations = [ - migrations.AlterField( - model_name='exercice', - name='id_code', - field=models.CharField(default=exercices.models.generate_unique_code_step, max_length=50, unique=True), - ), - ] diff --git a/backend/api/exercices/migrations/0012_alter_exercice_origin.py b/backend/api/exercices/migrations/0012_alter_exercice_origin.py deleted file mode 100644 index 370889f8..00000000 --- a/backend/api/exercices/migrations/0012_alter_exercice_origin.py +++ /dev/null @@ -1,19 +0,0 @@ -# Generated by Django 4.0 on 2022-05-30 16:53 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('exercices', '0011_alter_exercice_id_code'), - ] - - operations = [ - migrations.AlterField( - model_name='exercice', - name='origin', - field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='exercices.exercice'), - ), - ] diff --git a/backend/api/exercices/migrations/0013_tag_user.py b/backend/api/exercices/migrations/0013_tag_user.py deleted file mode 100644 index 066ca847..00000000 --- a/backend/api/exercices/migrations/0013_tag_user.py +++ /dev/null @@ -1,20 +0,0 @@ -# Generated by Django 4.0 on 2022-06-04 06:54 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('users', '0010_alter_customuser_id_code'), - ('exercices', '0012_alter_exercice_origin'), - ] - - operations = [ - migrations.AddField( - model_name='tag', - name='user', - field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='users.customuser'), - ), - ] diff --git a/backend/api/exercices/migrations/0014_remove_exercice_tags_exercice_tags.py b/backend/api/exercices/migrations/0014_remove_exercice_tags_exercice_tags.py deleted file mode 100644 index fd6d324b..00000000 --- a/backend/api/exercices/migrations/0014_remove_exercice_tags_exercice_tags.py +++ /dev/null @@ -1,22 +0,0 @@ -# Generated by Django 4.0 on 2022-06-04 07:05 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('exercices', '0013_tag_user'), - ] - - operations = [ - migrations.RemoveField( - model_name='exercice', - name='tags', - ), - migrations.AddField( - model_name='exercice', - name='tags', - field=models.ManyToManyField(to='exercices.Tag'), - ), - ] diff --git a/backend/api/exercices/migrations/0015_exercice_original.py b/backend/api/exercices/migrations/0015_exercice_original.py deleted file mode 100644 index c0f284c4..00000000 --- a/backend/api/exercices/migrations/0015_exercice_original.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 4.0 on 2022-06-06 19:47 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('exercices', '0014_remove_exercice_tags_exercice_tags'), - ] - - operations = [ - migrations.AddField( - model_name='exercice', - name='original', - field=models.BooleanField(default=True), - ), - ] diff --git a/backend/api/exercices/migrations/0016_exercice_last_update.py b/backend/api/exercices/migrations/0016_exercice_last_update.py deleted file mode 100644 index b887393a..00000000 --- a/backend/api/exercices/migrations/0016_exercice_last_update.py +++ /dev/null @@ -1,20 +0,0 @@ -# Generated by Django 4.0 on 2022-06-24 08:44 - -from django.db import migrations, models -import django.utils.timezone - - -class Migration(migrations.Migration): - - dependencies = [ - ('exercices', '0015_exercice_original'), - ] - - operations = [ - migrations.AddField( - model_name='exercice', - name='last_update', - field=models.DateField(auto_now_add=True, default=django.utils.timezone.now), - preserve_default=False, - ), - ] diff --git a/backend/api/exercices/migrations/0017_alter_exercice_last_update.py b/backend/api/exercices/migrations/0017_alter_exercice_last_update.py deleted file mode 100644 index 59a48656..00000000 --- a/backend/api/exercices/migrations/0017_alter_exercice_last_update.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 4.0 on 2022-06-24 08:58 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('exercices', '0016_exercice_last_update'), - ] - - operations = [ - migrations.AlterField( - model_name='exercice', - name='last_update', - field=models.DateTimeField(auto_now_add=True), - ), - ] diff --git a/backend/api/exercices/migrations/__pycache__/0001_initial.cpython-310.pyc b/backend/api/exercices/migrations/__pycache__/0001_initial.cpython-310.pyc deleted file mode 100644 index d046e330ef54b8bc6b319641cf25a347f6938f1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1135 zcmZuwO>fjN5RD!0Cc90yTRsYfGlxjf6wV0ojXIpBi$;DA6j?!0&74)7OF*f}B}C*-C-QJI#tDvQc=CnaEB z?WA_^^cRqEn@07GCUjy3PRxPDZsx=SJL4{JaM2t4z~~pyf$l==aqtN1fe*a}Bdc#M z?2o)F`^9$bO-}rC-3r(~& z%64(V|6yRUV+JkDHP~!VWx__ycsztlq|{~8dwMLl4t=~bwe%+*^o!E4l`vcja06EwokM>j~%kWmxlJjt=h>V4xW zNK)!U=o$}jPtNjM59pZb&IB=yDGaw+C8)cOz+;l z)XODNY-Fy?W`+gQ4aKCbzY!;?YMh$hF3#(v!;=@!cG{)LRaKjd|8*l7OuwAkc=pDB zbo5o?(M&&IM*HOiqg>@m7SS6VMaLm#I(dB~dbH%xS|gbrP<@e{s_2Al^!G7E+uPgM zlcgG4(?e}vt4E`Gt-d2T{erV|e84u?fSsW+VEl*pEdq-U2^}*2OZ@h~H@;!l^k6KD utlWZ8BWR;xJUq$1)jnT+#g=5#{VlFtT_eo+H`~_TVwOyorXly)hWiI1f<4Fp diff --git a/backend/api/exercices/migrations/__pycache__/0002_exercice_iscsv_exercice_ispdf_exercice_isweb.cpython-310.pyc b/backend/api/exercices/migrations/__pycache__/0002_exercice_iscsv_exercice_ispdf_exercice_isweb.cpython-310.pyc deleted file mode 100644 index 243a5bb1c831b7df2e00cd0206ed2c7de5328ceb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 713 zcmZuv&2H2%5cW^9n?zfQQ+WfVT$-h4gbGOXL{$kSP%f5}nGIf?AL88wuFz{A1PO8D z33v-%Iq?8okPz4|QMXb@n#p|glkt3Ze{hfyCttsRtG+Noet57ikpm}A%{^y;0M(?W zC2d*BC^;p-fL{>cNZ0%mFF8cdNgn@nwIpXYYgIGKjp{pNXKfFtP3=?rk~nbU)Vy*A zNlAf}3}{13j?p^y18}yULj>_9h1um4o!=TwZblnkCXl)#Wj1{_oy8q2#rHVYszzfM z%jNREP@UQ+sckYPY^=-^vwM+KI|p3Jt={C^E##LFoovxY!Nx0v8hrIRto-LCR%dx? z6A`L}u$d69Ypc=u3nAWarS_d30S?#!cC|t?I`)Z89sxY{e;m1oi^qMhQFb9@vwpz; zbbcn|p(_aH_s8OO-(sPaRv diff --git a/backend/api/exercices/migrations/__pycache__/0003_alter_exercice_exo_model.cpython-310.pyc b/backend/api/exercices/migrations/__pycache__/0003_alter_exercice_exo_model.cpython-310.pyc deleted file mode 100644 index 014d6a2225549c32cb3e251bf74959033d5d7334..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 676 zcmY*X&2H2%5cW^9O(H6x3U~yhNT^xL6`^uzPwjzp z0^Y(`PP_sVDq}CphLJq-H{WPxzOnnm!-A20{r+un%NhF-z|;}~r*zz7a=?IF*7BOS zq86N;GY}v@Gmywv@{_D3B(GSR{-j)13SYElIqJ3PJLhL@4`^KzsHx2eoYHYm$RVpa zuv!3L@>*iDN<#yjtqvf8^oGOiMiP_30kz3|ezB`h&2oH?V`Cb0{^@)^KT$iZjBDKW z6b^7Th3|0Tvt4$m)2le_$D_?)dkwDIk*+Ga&$m&v?n_A$gDlnQ7JU+ZdS%eUWtsa- z#kf+wP@&?+BHiyP^>(9e$PEZ^zz(o$47yR!4t(*_u5mmIRYn;C`I)g8u`l`o|8DdP z8y^rG-LI~C-M3g-V~y@A5>zd*3z@hX)%8hr{vTTC<_$Hi^k62^_K#K3{+=lv#@O%a z-&&4`4`cWi;pN;Bxr_;!+$E{tf)_mbo!v$LvP^sqE8Q*oV^~COQBNfIvu|$?sgBQ{ RZ@2VD$_gc)f^?KRUzaMxBE=n9u@(1*Z?+pi9=5h!c6qc zl3d&Fy<-F6^Rt(m5gQ3*zBA#v)HoHmwt&dDDkp*_YCAj#|CRN3DLIZ9h9E*V8asC1>wcJ?% diff --git a/backend/api/exercices/migrations/__pycache__/0005_exercice_author_exercice_private.cpython-310.pyc b/backend/api/exercices/migrations/__pycache__/0005_exercice_author_exercice_private.cpython-310.pyc deleted file mode 100644 index 8c5bcf98eedde224d0f2385dda2e12dcd70654ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 870 zcmZWnJ#Q2-5VgG@x3{^VR1q{#UvnE!=nzT>Bn2Wu3e`52?`Cq@#k;-3vo?1u-pS4d!wb~7OZ47g?$ z&v_+s!95l_$ipKB0fe6zgviV2V~|H6PS`m5Ni}RNTv`=#tJ=cUjf*P-sGH-NKfApW z0(-QZ*JP0899S-ZgP4mvz_5(`8yJ@Zh%hOKWn8A^2E;J93Lv>!Weh1}1QDcH+()T) z6E=v;$PHhuND!l_YtS}sw6nAGP!@I37D`iii0{$PiWxTfE*z8=xVklKTH%`FRB|SG9nj0MKpB(Hzf8j>YjM1p-zS^Z`fj49Q z%=L@-l}B3r4~Wa}T3(I6hL zN3fK2jc=5hEH178s{`7Nr;;!c2p;|pW5EUA=Hag}@?J__a^2^SV>ev(JAr90%~Fti oe}j|dXPvB+uy=iv{+)HZOYZ^2T=HZ&gr}TP6O-8z3EvL>03+r9N&o-= diff --git a/backend/api/exercices/migrations/__pycache__/0006_alter_exercice_private.cpython-310.pyc b/backend/api/exercices/migrations/__pycache__/0006_alter_exercice_private.cpython-310.pyc deleted file mode 100644 index e1e3237f5735a4993198a1e7808249cc8d81f0fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 642 zcmZWny>8S%5Z*uE`K&}jDDVa#Swis%2`YpFMN*N5&dqAiGr8=s{$XtgsG&`pcc7u; z33!Wbsdxn>6lR^AE{KtKG~djp`Q3JZKVu}{etchDamIc|a90$8BYOQ~Qow*aR`ZhA zq7BFpU0bO6k&|R4kIHK1-A%(2u zz)Asp%}a@Dlf(iz+sr{ha>-$KDJhb|oXVtO@n)N!iY@RX`pQ<=heylh@|oUZZN}le z^*h{odtn9)>6Q`Zx31%yhdJPx8QqXe>Oc0Z8&hLYlTOYoIylW2A=Q&#>yT+pywM@q zds@FAjf>of06S~|o62JE1q~RoS8hOm9J6>C9ec0a)}d)8SIF89Z#VXp`2!+M>bEP- z+ZqdJoi$DI0awKuo5;k`>x-ww$v z@h<&+QYjNsU8_WJ!85M@q}NmYG*@8(8`G@YLs(72O#@BAUFSE}1IiQ97dLBqN&k%X KvBo{|Q2qsRowE!8 diff --git a/backend/api/exercices/migrations/__pycache__/0007_exercice_origin.cpython-310.pyc b/backend/api/exercices/migrations/__pycache__/0007_exercice_origin.cpython-310.pyc deleted file mode 100644 index 6eec598536f35fdbddb78372ecc7d65b76437b72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 648 zcmY*Xy^ho{5Vqqan?xK!2mum3Qku((0vd!4oy1jK163N!o0-dcaei=;zGHcGO|>i!T-NB?s!@0C;NqqOG(+X7+m;YGA|I9% zkd+)*833<&DKOkbUI63G0z!x&hQ+0Tb&Ud8zI4R?6Jp$~p1#ByggAGX1C9eVA_#Rexm>#c{ zow3Wh9{;WH8?%pyox^V|)?I^z(MGGb_=KyX#@1KjWaas@;^aTHQq>2NEL5+H-Pl91 zf0=?7^_Pr!pg6r>XGn-fA5Idy@Oc?BEXuV313geuyP0= zK^L-sE<0K*7SH&Ed8=h9l?f)o_#^Y?)8RyQ$+U_cszFwVH~dV z1~A1&@2!MdT*q@0@PX&tM4V&ZrUqOeaQyN16?ebOUHYzVAgyIB zbCq7eHeKtsf}&4LQ1%3DH1DD7r7F{_9kqSBhtgGEyvJtKd@a*Snl9ZvZi*70^4zxn zztGA0R@=WcL+=hT1cW*6gX=NM=rMJF2M@!3?3-{LF%hdlk5Pk@e`GR#pkx|eAK5AG c-Me|m)f41Q@O)JM1^#Z*`4}FvfF3)404~bhI{*Lx diff --git a/backend/api/exercices/migrations/__pycache__/0008_remove_exercice_origin.cpython-310.pyc b/backend/api/exercices/migrations/__pycache__/0008_remove_exercice_origin.cpython-310.pyc deleted file mode 100644 index f4b96e4561a8c416af4cacda4d80f9610c74f7c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 558 zcmZ8fy-ve05VoBk($GpEAs&D&OI@+RfDjX%=m1+5D~V6RC4VHezzi!7!otQA@D^T~ zcm)Q^IVEb#Nj~}eeE#k}C*@$^6O6Zy_jpVR`7~fXYy@YxngdLdNScwHhLn;qkxW|8 zL|Q!n~j?nIs!ApK#O2|YJ<)CeoC&8BXL`w*v zeIc-5mI3bjLfp=x%oG_Up@Kp}ktk?thCcN6CFJEC&J|=*`(*`xMqf$2gXeAf&iHki z1J6{ZqJrN;%u^^#CCq9uKjh;L6i3MocHvQ_csG5+S8vGC=&`8VzW@CWtH;{HzAmoD z4B!!F*$dlYlu`S~TePQ>z|uWAjf%7!%D6Ss@~e@TyImB}-pTScPVt{0jrm@Ewr~9c DzbBVy diff --git a/backend/api/exercices/migrations/__pycache__/0009_alter_exercice_origin.cpython-310.pyc b/backend/api/exercices/migrations/__pycache__/0009_alter_exercice_origin.cpython-310.pyc deleted file mode 100644 index 631dc5f3f5dfbf81ef2c56bd7e75a278bd742283..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 679 zcmZuvO>fjN5Vhm%ZW2+15CX&xK+2_FaRLdUB2asx7dYi&c{9_j7spxhQMKoC?Ts_{ z{v}^IRpJ*Qp)$^PwR>Qs8F}8D_{~h*92{hfZ1(%d;wNY9S4j3PrsRmcdr1KpaLa05 z@H#3Y&Q2IaAigsY$XDV@6awPUET7y`Ez2XH)uw87ZyMM6Y25(Yt_;+^C6pYIcXJBJ z3J$D@fLFW_7_TNl0H>=N#4v#=%&r9_*MistQj*Gi`e~~{f+=2LTbdHP;>CPEf339b zu~l1CHLaxOhg(_^fb_#sZ*reC zYrNmz4QrnfJBB}3a@o`@7c3a97u6+?D6+`+UYbQI6i;KG!1!YcLATN<(KEI^e`Y zsbhbK|f9(E5>^`3E!%xUw zw+&>qu61Fu3s`0)7@rASE6*QhC;y;jv3i3~%8IqlMgzL+<|i}s^U?oCrt3@VTV{f@ z+r=OVC`zWrFVU-}f)lLjV8( diff --git a/backend/api/exercices/migrations/__pycache__/0009_remove_exercice_origin.cpython-310.pyc b/backend/api/exercices/migrations/__pycache__/0009_remove_exercice_origin.cpython-310.pyc deleted file mode 100644 index be1be92e1f154a7c937fc881116f16ed267fa4a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 588 zcmZ8fu};G<5Vf7OqyYpI10!1&Trq)!5Cej#46tRf()biy5<56)1v9K{`~<(`l?m|& z48S?1YT+cG{GRV#{4O?|n=!!{eY}iEl#n+MRwG1kimTbfB#ERYsc1?mxge6s;EBip z=!886DU;zfNqX;CM-uAdN)sL^j8JsI9rHf4szjj}V-NN%OeLnFU zQvokksWQ#aV8&}}CXlzh0PQ(ynu_2 R=Tkbt7egBVH#gW$@B;>4qQd|H diff --git a/backend/api/exercices/migrations/__pycache__/0010_alter_exercice_id_code.cpython-310.pyc b/backend/api/exercices/migrations/__pycache__/0010_alter_exercice_id_code.cpython-310.pyc deleted file mode 100644 index 15370200f6272daad4ca4121ba1ef25a5dc7c6fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 728 zcmYjP&2H2%5VjpBn*=IVRfXsym+UmNOYu(wwMQx|R440MnJ(L8& z8J^)eDj+3Qq-2WLv9`$@anWe? z^$1yjK0l1GvIX>c9bRcL>N0!eVlml;aH$X&HyXhEVV1vI%0-#?-bL*06GExAGp(^Ec8z#pp@>G5NAwFSZ#sXd$Z)*iB)Yc&FusoE`GUT Q_7(0f86s4NET&I_e`a#cbN~PV diff --git a/backend/api/exercices/migrations/__pycache__/0010_remove_exercice_origin_exercice_original.cpython-310.pyc b/backend/api/exercices/migrations/__pycache__/0010_remove_exercice_origin_exercice_original.cpython-310.pyc deleted file mode 100644 index ab6371a8215d54a277d9337ae9937121693563a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 840 zcmZ8fy>8S%5Z+z?ob5{xq6i{_2e`&IbVvy0lp`q+DM%_eE1!2THf#G>`%Z)w+UpSS zz$CwSWsg&=}TQqhD~ zEMe4OCauIiC&Ci;M#YZb|RFN08_C|wt2TMPIX`0t*1={YVH~3O{_5RKn z(1xQnv+%dIl-h4y?> zsu?6;1+{=WE1*@lDWaz@p=vg8X3}VHE<~>>%lLw`MnRF+&*56TqD`F!Ob5*h{w?PVQTI)MM*R33y>2RqWFd>Rjux>!KWL69H?*J7~M2 z&ZG04Y4d0gMawjMgMCNos)$B*+GzJ4qBwpSbJb6Ba}_snD#O*aGB0w1w>?JT5oXzc zY===s?ccU-zDLyl<^Amco4MK_rVqukXKkS8-hX2_JjZb4Mcu`$ee8~kL3@A>?L8Ux P^OTwnTokvNM~|$(dC2q$ diff --git a/backend/api/exercices/migrations/__pycache__/0011_alter_exercice_id_code.cpython-310.pyc b/backend/api/exercices/migrations/__pycache__/0011_alter_exercice_id_code.cpython-310.pyc deleted file mode 100644 index b7331765f2ae8416b75a8959f54301584dde9481..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 727 zcmZ`%y>1ji44$9;he%NhM8p$Zb9;#>5eh;g6=|T_W;C~U_I8>5$?h#AHMDt^jLf`K1`@n)3_RqO|5au_h!1S$-_aX36E>;KqSx!PZ3Y|EEub0Ba_4(|A_6BQ z!%I@gG7c;gzzd#9^eV~-5`!wls0ykWJn$j7mJnV`ibx=$da;e)?+Q`X7%#EU%Nz&$ zVzD?{C~el*tDRMqpmOTPMmviQx2C&eYT@Hd+7R$uk7i8_^rbS`6zi1@#-_X&k=)6| zMK!uc>rL7}FVVo+?1_!kWLL^2N>SWsknT^Fx)`-_u?_)t*Z?+pi9;`_s7>CuCf~U% zy>y27?MiR4@9<%P4bm`CZQ7VPs9}wrP1??R+?a1z|D2*H_1mPYw#L+yrqoUP1()eA z$JndS$LZ-d;|48t{)w7Obyudl$qebk52iHBqyNlu-d*)>V?vVQfKB$41&FzpJHhQ(0>}y(GHUy;hMZ}-U EzoKc)od5s; diff --git a/backend/api/exercices/migrations/__pycache__/0011_remove_exercice_original.cpython-310.pyc b/backend/api/exercices/migrations/__pycache__/0011_remove_exercice_original.cpython-310.pyc deleted file mode 100644 index a50ad350f5aaa397eacf71117e57eed73d0be0b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 611 zcmZ`%v2NQi5G5(ul~o5wmwrGt4GHbeL69Lxrg}&>F9a-zkJKL7Av>We4flR3)c%4>snm{`5MPZdb zFvNY;L(zU1eBG!OEDYcpe5p%l!{KN&9tjV%TY=b=h4Z@7_FpVb$TpOatvS-5US2x| zMp#)xNMoK9A3`R&f)F7W0trh4xE~5}wUj23B2v(RRbWdEt!Fr5_;}g%a<0Lskh=!n zJorWYKAv~!_dWmaYT!m2EiFHT6>q$oL%HA;*mwh$UM!$pXj}1%ZE5vo2l1IKf8f`- zY&74@)$*BM}1svY%L=!Nng_*ql~71ve)i(QY2xZ=F(Q~NX@zt byZUyR_3jf2gzR|j(+NH#(#D@WWS^72(2uPa diff --git a/backend/api/exercices/migrations/__pycache__/0012_alter_exercice_origin.cpython-310.pyc b/backend/api/exercices/migrations/__pycache__/0012_alter_exercice_origin.cpython-310.pyc deleted file mode 100644 index 4affeeda2ab325657324cb168a4c2e056f5469eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 746 zcmZ8f&2H2%5cW@!bwVql3RNmR!CsQKCk_ae1MPvbmzGN|RyH1jQzu!RU7%dy+6Upn zjVItOeC5P}7eGQ~oDf>DG$YUF@yvXm-ED6t1lQ-UUzR^8A>Vv(dj%LAq4g;`MHDrp zp*d|>&Zv)>;dyXE6j#AVq5`0G_<`r4VrOI?e#bjx&Ro*y$`)(gwY`g)PJ!tcr9Zp9 z1O`WF{X=v>a;iwq6s>5^A*ivU;t>=v7j_Rboqe2y3aW%W*n6;$@_KaQpd}@ZB zV|WL))Ft%!gZ=%316i0gSUI6mD_P<^PE3f4I;$()p1Ke$5Ho9oDx3J7AXniJZtbB8ro%|Cmi}C`e%8HfFCJp-R<}ovr^zeU4NBz>( zrS*SjhSu+(6NK^LItUqMbe9Id#Px7Kk6b)*N!4;7K9b%03#Q|TNhg-}o@e80-|!lD W_YrgA(J1j_{LQ3~(A{N%?(*M|n${Em diff --git a/backend/api/exercices/migrations/__pycache__/0013_tag_user.cpython-310.pyc b/backend/api/exercices/migrations/__pycache__/0013_tag_user.cpython-310.pyc deleted file mode 100644 index 3d467e82e7fa64b19c8e2615eec85f8cc2c2d42a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 764 zcmY*X&2H2%5VoD4O+r`dp;V%X2iQxplp8{*t3rD~^iobaU}ZByaLCU#PJnWSYafIQ zH=cmE@Rbv-;VTP!Lkbx#>M;C^D@A}_spf=tT3*< z`{Kjym^$93n>og9hN?1Q+elK0JsQ!s6plvKvdL;BiuK+rg%zC5rY4YMTuKv3NxY## z+V4ntF=UnHS_HVl2C&H$>W&_YnP35MVsmtkh0#gdp(>hZcxiknv!-Z`fTan>K4|o2 za=bV{UOahfqIQMX&+(ac2XuRMKVK%V+ZvNfRVr(eceqRnY%CLpPQE=%PX9y8EPq2S zCD}?PnZSH~8 zsI^bErU_RKl7Cz4_bbzcVu1lJumkMM8l4rPz^zx<_9yrGBUa%PZ_cCa$bLd7K~IU^7#`BNe$>)cODU z@~a<|)1IDcJLuBegs?YvlT8%?ePk~5x+`|%UwP@e8~^|S diff --git a/backend/api/exercices/migrations/__pycache__/0015_exercice_original.cpython-310.pyc b/backend/api/exercices/migrations/__pycache__/0015_exercice_original.cpython-310.pyc deleted file mode 100644 index 764b200100ab2ebd4d595729b8452c302107d943..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 638 zcmY*X&2H2%5cW^9>y26oA>a`}kx)|*+z=`p=!st7l#AufOoJCEUgF&r&T#FOci_T} zC*Uo7<-{u>p)yX1wjIeMe>0zE{LR?!?-z{h`_CWCubi=830${~z!9BrpBymYj&;1| zou~z8#|#9>FAOB|mHaGg3E3M~=D&%{N)e0Bwu9MN--kHsJfI6rN?o@Zfg?KMAvt6< z2UZKT#p|g)HCy0E92(nThz|}AA3f0ncK!_Y z6xJKlhMOp=DH)X?Y-@Yt-j+Ph0Z+}=ZAwWJ(zA7MI*i%q^HYlsPRd18dW>rw3$2N_ zbx8L;tv_syOWcG2*VqI0jm0ns(iqhXfLE!;AQRks>AgeKkD*xjHU1yjH#XcM!s!0A z)jQu|<*c)&ug-B?BdQf6@hE7Q0B0G6YwQOlUzJ^Jc)m+D0I>}o#G>5s9H JdfXECr8-eVt?1)9IMe`u5}d;x}jPrw98hBydJ%=j4C^H>~72 zFGVi6$HD}8c)=im@C$KaovthE;<5%b_Hya(_ScBO z8JRsLhb-s7ashnB^8mwwDnfv9F`^zxkrw0P0HQkqF^uj)ikUz{9aERS-nOE?Dc)kc z)JwGP_~hitGr7gGZuLr6%D7~E9loXHiR!yrR`rck0B!_$rFzqy&qAW( zDacBd=)%EAR~ikt!=^=x?KR3x^yO^o5;;Ul>Bdr0W^a)86DdFR%J^)L02{0TtEEQU z3KGC2F9FVd)i&@jeMMsp*u_w&YE`?a@3gTl>2!&o>Iz*z!@62c&=jcdX_m zuSF?1J7OR}eq|t$ujLn6N=V+YBK=KVR)~<-cGa7~wv7+7x&?H;ilJ?p5jdphACf{= za$uzZzT&0CWSzzWI9u;P0_hot*_otB20K(H3-i~T{8Vg?pRliNg}%IhaPa7f-eB#F zAN1IP88BoUZ@9JPJ}G$EHRI6grajdLppevjY*;s@#*j=peQVLdaWM~>p8Q&eTx;Tu z4$0ot`om~kE`H9qo6Y z`*`+v8GnaV#)M2Rl2mZPbDsRoE~fZ#k%T#{O|xqEVL44WO*I9ty1%scC{M_qUGC~R N{WRudjoad${0HH;vnv1q diff --git a/backend/api/exercices/migrations/__pycache__/__init__.cpython-310.pyc b/backend/api/exercices/migrations/__pycache__/__init__.cpython-310.pyc deleted file mode 100644 index 4ed988dcf2760f0223a91c551e409882e1270c59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 182 zcmd1j<>g`kf^~g`kf^~&r ayk0@&Ee@O9{FKt1R6CF*#Y{kgg#iF*-zh}^ diff --git a/backend/api/room/__pycache__/admin.cpython-310.pyc b/backend/api/room/__pycache__/admin.cpython-310.pyc deleted file mode 100644 index 4fd0d4c71399c6ec3de75e3a142f12ead5f3e533..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 351 zcmY+9Jx;_h5QXj72@%S!D7ZwLSfWM`^a{#wg zdj%@&6~!`=-@MP3=f^D;ha|-N=STAu@^^&&U;)m<8CO9RQM4z9)|3*JDAp&2)y(jk zo3u_T0lLXv4uHLe_dn0~d>Xytx1>zBp&BWvPo*;2ZfPXu`HgeN=hqTjH{eg8WNQE&yVyK-!B*JijTn@wLL-u1gIt@O(-Qx0v@mz0!-0o zmU!S_k!bXdC=yY-zo_eTQ)NZIc9~tF7|c=I85%_r3Iw}p!oW*>V94Uz@Y0xa=zltd z8(HNhhBPh>DBZ?qMZV}eb5SS_)^8BHibggNqLQT&!iGX1ve(X^2yxd-y{#O8%4DxQ zA+cX%1A(i(k;dI&V}6$W+LVgxLKm{)4=Uxks#GI8)i>h)m@ofDsa)Tx3b?Eb9&zumNwT^H?X6zUA CC2oNL diff --git a/backend/api/room/__pycache__/consumers.cpython-310.pyc b/backend/api/room/__pycache__/consumers.cpython-310.pyc deleted file mode 100644 index b77f23ac6e3d43a69da82c805107418396d7d233..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12341 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 RMd(~@vQC&1rL^+2`9G)$bZP(q diff --git a/backend/api/room/__pycache__/models.cpython-310.pyc b/backend/api/room/__pycache__/models.cpython-310.pyc deleted file mode 100644 index 5e0febe5199007d4275a4469b8d2cef705faddae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9369 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 diff --git a/backend/api/room/__pycache__/routing.cpython-310.pyc b/backend/api/room/__pycache__/routing.cpython-310.pyc deleted file mode 100644 index 767a88209b0d0e38a504ddacc105643a33b7e525..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 355 zcmY*Uy-ve05VoD94bUQ%K17yS>WHcei2;d$0k$lWQ(LJ^Y)9vW3RYf(jx20E0dL`z zsjt8S7hr&s?z{U=_uY@1P7ev%%iC+U!}vaszZN4oL-%t8NhEEEp#?RpV3bHEqb4$O z5mTb5j8(izo<=+J$ZA@QWpYEZ(H?aqV@a<&f;@P^IBu<*e_G0{<}EdJfJR zzVIEK4q2(?@+wQik=zJdyS#_S14AK12!TL?p_p7_>-q1PFc!WPzSd#3Rh4(ETh*1Q z!=0T1>z@e>|9->AC0{$Ec%vIFEXRIcE2}_ss)zD!&M*G4O5iXnxo9=de=Y^rciPr@ Ydmqw;ak6jJa(K+A2q$F1j-&MR3*!4^IsgCw diff --git a/backend/api/room/__pycache__/serializers.cpython-310.pyc b/backend/api/room/__pycache__/serializers.cpython-310.pyc deleted file mode 100644 index 728da7e80e71720bf4bd2c5dda1b397a9a65a049..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5030 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 diff --git a/backend/api/room/__pycache__/urls.cpython-310.pyc b/backend/api/room/__pycache__/urls.cpython-310.pyc deleted file mode 100644 index 6fd83862f10b239a6c19aaa54b465b05225801c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 714 zcmY*Xy>8nu5Tl+v-OrT>C1TBIf$Pxr;yKpgN@gl1sMT3%(RBK-(9lK=9 z6Z9>(cFGeJ=+rwoEm8{l?z`{E;|G!^%VLJ({>Q`m(}=O3lsq3PChzcX?hquCo?_Y) zo=1G7MtUs9$j5S`CfXOio{FgsM4&?v>PSR77O_r5qEnITOk^H|vGl>en|)(nN64oz z{l^0c1}%hmh!G@1j3FIj0@)B#h=!O!xLaFBVlHPN*kb;OF4@9!K~)#3lYn%x&D+hR zM|$Lf3uE;A^HZ0c=e97NZ77LIJ-)4))}=?ATq&qapu()!5s) za#a`!hkaP=cHzAb*c=0O<$bVg$@_HYY*nKz-p82jT=TQVp4gM0(Y9F@roLQuRy7u{ zmbv6f9+WXD{&fX6jrEb+DM3IG5<~>_Hf%yb@4#jVF36h|EprL>!Lx0_*3EZj_h|;f z?-RZ;=t@cDYhFSPHgBP`tLr!Xko$O$-4jm diff --git a/backend/api/room/__pycache__/utils.cpython-310.pyc b/backend/api/room/__pycache__/utils.cpython-310.pyc deleted file mode 100644 index 8c86f8ed059070bff0571ab8dfea4bbacf5c589f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 759 zcmY*Wy^a$x5VrT%*=(c}9Reg8kkZ^r)ClnpLL^O2AhtOtzJiw;$if?*c-8VsLc52ktF0w7XPDB?Nf))0d z50|}XtITb%b&E9s-z!Yw`f8;8~zgL5}s zR5@OXkl!bJdY|msJ%h~mc&{Itqg@&lvp&M_{7TFXfPTL$rn-?uUDXv=#axbyGpVG3 zjMkifx>vmTFB4tiq0IR(ViqRt)1Ofdg$py<8 sy_B3L7g5LDf>h`a-)^pQ3xqo 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 PGm|v)JB_atKmC6J2rn!i diff --git a/backend/api/room/management/__pycache__/__init__.cpython-310.pyc b/backend/api/room/management/__pycache__/__init__.cpython-310.pyc deleted file mode 100644 index 6817ca536963289ade61d040854f2dbc6b42bbd8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 201 zcmYk0u?oU47=%;lAVMF+#UGqS9E5HzK0rvDpBPR4gd{EaNcNFj-F*Njlc_zp@3@=J zHO+=)P2Z_2`6*bc%H@kP@RY+GGkER=c1&%n)D1fz`>1ZNz<2Y1IlfkMI{5)OeU zj7gJ%cAm!lqCqG62a*KgH3a7@SV2OeMM}WACY?Cn`R99muucvJkL5*NWz_5seBn0_ diff --git a/backend/api/room/management/commands/__pycache__/__init__.cpython-310.pyc b/backend/api/room/management/commands/__pycache__/__init__.cpython-310.pyc deleted file mode 100644 index 2642e15bf521fed5a451c955a7edb4ac2cff7a1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 210 zcmYk0K?=e!5JgkzLWCZ~jRUSlTnOE{@c%7TAanYI6Z{V^Mv037q$q!>5U>d;t0<37260M5_%PJ z@G@eEhB~OHY23~X8r9yAG$?1lGh48VREHKRLd!Op4j`o=6Q$g^`+K>wtcM==`JJ#x GD8(PJYC5I> diff --git a/backend/api/room/management/commands/__pycache__/add_challenger.cpython-310.pyc b/backend/api/room/management/commands/__pycache__/add_challenger.cpython-310.pyc deleted file mode 100644 index 5bb8d9ca66a0978e2525297e69196f57e7555ee0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1868 zcmZ`(&2Jk;6rb5|J5J)ZY1&YzR#gR<3L7C#D2hVU5B1Oh4G3wa%G&HqoOO10)-&UT z80SKI&4Dvia=4X0X|9}l;DESQLh#-?AxG_hZF3M4rb5GmW#wLn(!9QR6%lBHv8#=w?Q#-o5kqO0BsCRj&N}i-UDQ96RvMk&YGTawBEqV#6 zKOeY;?2rwZ>MoEm?L#h@r75#dY&zu~;K4NVjDSgZ(|8hGf5P6-dk~~s#ImQ1qYq1N zykeMdbJ?;@BWA1%l3~sZZEU5bvC~4s1xN90$9QEd6_>AwY=Y%CKXi6Q&O2F}rE$@D z!1p_)6n&oPPLCH{#+nahS966ybRJ)9?SDGMb++SVj~A>HmuUxm>_Fz@9!D2C$+Qlt zgN`M;ahCC-$7Q=bH1o5*Duj+ggf!_A9bG@mZ~M}jgo6Bh)L?=0OPJ~=NJjIT^l9H3 zL*Z5cO)%{fdSrh`ibYEB(>8N1q(1|GUfRd>N7^Gtjz)<$y?0C>kmqYhZjG>D;%cw& z>!4p_HC8{dPU(?1_ShV2ydYz{Uw=T3={}X~gD(aj)rg*(G)~EpKla)DTPMCAJR98C z^OFUT2V-ZlI1VPwQ=+eo{bLFm7nsi$e{oMKC4&!oWbFJ(Q9sgdeQZyzoIPzk~K$irR;?~IyvLM8yih0r1Y zJ_XQVF}^Y6HC}@obnjB;5y4ogEtr2T0ReBxbMJ_bp>0;kPu9Q!#6qv3l?rIDEMv7l zF|@3>DY*g{O?@>3djOJh?FMQ?)k|b_=e+#8(8C#TuVx~NGqnbb^W*>PkwiscJxH@WmqLaUFKL+B};CTSTL8Xf`>Vh@C^8xnJ5e6fuUrHtLBEd0f9u?=cZ{o&5#YYBd0QrFUm}5y=m=GooWNI=sVP-H>m^tZPDe5T7O$k zaJCAZkTz*R8}v4<|1(;+41vv-XM%1Qqv>`{z1z(N8)mp}bi0FLoSjLWU7nTlD!TId zfBszdOycY7!&Cu~fH*X;8cwy_s+(J^57iOvL`dGgc*xq@Py&hYtZEp|VMf~E1kY4e pX!#+^-beB=l6y$d(hTS-KPub@t5g5iuqPGfs7V?S{PbI*{{okk*$4mt diff --git a/backend/api/room/management/commands/__pycache__/challenge.cpython-310.pyc b/backend/api/room/management/commands/__pycache__/challenge.cpython-310.pyc deleted file mode 100644 index dbab936b683e6e38e5d8ae84eb2eae1059659a41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3029 zcmb7GOK%%T67HTChfgUsElYkaqc{nOEW|}}6@(lFfD z^~?Y5+^!Pxe_UMr99X;$P4%H;gwcegBp?*$Rzd>`qn%i(9oVT8IJ12>a0|K@crZFi zDfI(CEeGWpy%JOkdNrsPV=btCM3~FGM}&FYKDC27v$jdQ^a7-kHZ?vAHP>;t64We<)2#9pIOr<|V|1tZKz5`0RSt$3Ear8-_8!yY#9WL9p zsfCPnfs&^@)5ca>8avK3T0!w-*Lc83arvCcDK9?E1+)gb)go=u!L^xr*DjrjDA4C$9VRts#l-}SI;d;XqdjW~@3sPN2+e*> zNA_1FTcF^YlxUkd=hXj#Ykg~<(tprBGPHY6&wWan$4ZZ;D{owykbC5mKBXfE=>Evn zWf&``l=%m?yr-+<8Y{C(alSIKSapSrysU(03hBjK*Fhr8aOafXBVT_vD(S{}VdzZg zzsbJ{s{yTENOe)#5s}~jlk8H~fIVL?4qdzjGU5KnFB7&neoZ%eSM=3hlfA~SJhmou zR34Vu)hUmm5B!=d1@a>*|8w~GQ0Z&qr3o2T^z~t7ysTHoH`uiaozPP{s_L8LTR^J; ztv0?r0ZF53OolG8)Vmg3^qs7P*`y1;JlOBc0c2I_KvN$?0ew4%z zTpzQxEw90KZ1Ywb^l=0%WCyQ_GtvYsFmk@h!MV670x9Wq#*N8CQ7 z&xEh7Cn5?HwE>g)@fWD8&%c?0H# zX1~BC5zZ%3s(s&`H@i%KkN0@^^5JWfh2bQ#kbShN70jH-T?U~3} zVhwmsP32{Flv5PQxd4Ed6#7byG-&1Qb33jB^9T*8EQn=390*yr-BnY{k1RD2sQ z7AhKt9}6|8-_ND!^UjA{CUN#+9i`dEJqnYY8&?Y*CgAhxbD1mMc8w>w$`fr|r~n_p zfF)Uip9;+jBR_y=_u+Dk^;-TBxDBpu=TXF!+Rc;Xqy=dns^(z1_0k4VQAKNB@LKJ+ zBx-C*Vh1aeGWH(V5>+)0RvWVzW+FRDMXvtBu?#9x#c-G}Y^XaDl{7ZgA5-SXTt+d- zH|5PxfqpWC5(P_$1Yqq&`vQ)_C8)4PJv2^F#F;5g32+fgEEGqx5UMDS zyLrD4+~H?L;(Hi76AxtrXO$3&Xvzm7gCOpo=z;NHuHD`6fXl#rPz+5pR2PX|y&tP? zDl)xqN{9$5xqJ_~c_GMwUmZt0~UqzX!Dc)W$L`6hC4txwrBiq7xQAbYbsqZ zCCd|>*Sg)qJWOU3XP+m1iOE6+*cED=cSS6gfPk4yVe0pZLw&2}NZf5Vino>J ZW&HK2QX80{73xqUK3xPG&3mwz{WCqn_nH6z diff --git a/backend/api/room/migrations/0001_initial.py b/backend/api/room/migrations/0001_initial.py index 3e396a28..a0db490c 100644 --- a/backend/api/room/migrations/0001_initial.py +++ b/backend/api/room/migrations/0001_initial.py @@ -1,8 +1,6 @@ -# Generated by Django 4.0 on 2022-04-17 08:29 +# Generated by Django 4.0 on 2022-07-29 09:08 from django.db import migrations, models -import django.db.models.deletion -import room.models class Migration(migrations.Migration): @@ -13,32 +11,40 @@ class Migration(migrations.Migration): ] operations = [ - migrations.CreateModel( - name='Room', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=50)), - ('id_code', models.CharField(default=room.models.generate_unique_code_room, max_length=50)), - ('participants', models.JSONField(default=list)), - ('waiters', models.JSONField(default=list)), - ('created_at', models.DateTimeField(auto_now_add=True)), - ('owner', models.JSONField(default=dict)), - ('public_result', models.BooleanField(default=False)), - ('private', models.BooleanField(default=True)), - ], - ), migrations.CreateModel( name='Parcours', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=50)), - ('id_code', models.CharField(default=room.models.generate_unique_code_parcours, max_length=50)), + ('name', models.CharField(max_length=30)), + ('id_code', models.CharField(default='generate_unique_code_parcours', max_length=50)), ('challenger', models.JSONField(default=list)), ('created_at', models.DateTimeField(auto_now_add=True)), ('timer', models.IntegerField(blank=True)), ('exercices', models.JSONField(default=list)), ('success_condition', models.IntegerField(default=10)), - ('room', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='room.room')), + ], + ), + migrations.CreateModel( + name='Room', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=30)), + ('id_code', models.CharField(default='generate_unique_code_room', max_length=50)), + ('anonymousMembers', models.JSONField(default=list, null=True)), + ('waiters', models.JSONField(default=list)), + ('created_at', models.DateTimeField(auto_now_add=True)), + ('owner', models.JSONField(default=dict)), + ('public_result', models.BooleanField(default=False)), + ('online', models.JSONField(default=list)), + ('private', models.BooleanField(default=True)), + ], + ), + migrations.CreateModel( + name='TempCorrection', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('correction', models.JSONField(default=list)), + ('id_code', models.CharField(default='generate_unique_code_corr', max_length=50)), ], ), ] diff --git a/backend/api/room/migrations/0002_tempcorrection.py b/backend/api/room/migrations/0002_tempcorrection.py deleted file mode 100644 index c81fd43a..00000000 --- a/backend/api/room/migrations/0002_tempcorrection.py +++ /dev/null @@ -1,20 +0,0 @@ -# Generated by Django 4.0 on 2022-05-15 06:48 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('room', '0001_initial'), - ] - - operations = [ - migrations.CreateModel( - name='TempCorrection', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('correction', models.JSONField(default=list)), - ], - ), - ] diff --git a/backend/api/room/migrations/0003_tempcorrection_id_code.py b/backend/api/room/migrations/0003_tempcorrection_id_code.py deleted file mode 100644 index b12facad..00000000 --- a/backend/api/room/migrations/0003_tempcorrection_id_code.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 4.0 on 2022-05-15 06:54 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('room', '0002_tempcorrection'), - ] - - operations = [ - migrations.AddField( - model_name='tempcorrection', - name='id_code', - field=models.CharField(default='', max_length=50), - ), - ] diff --git a/backend/api/room/migrations/0004_alter_tempcorrection_id_code.py b/backend/api/room/migrations/0004_alter_tempcorrection_id_code.py deleted file mode 100644 index 86c1de23..00000000 --- a/backend/api/room/migrations/0004_alter_tempcorrection_id_code.py +++ /dev/null @@ -1,19 +0,0 @@ -# Generated by Django 4.0 on 2022-05-15 06:54 - -from django.db import migrations, models -import room.models - - -class Migration(migrations.Migration): - - dependencies = [ - ('room', '0003_tempcorrection_id_code'), - ] - - operations = [ - migrations.AlterField( - model_name='tempcorrection', - name='id_code', - field=models.CharField(default=room.models.generate_unique_code_corr, max_length=50), - ), - ] diff --git a/backend/api/room/migrations/0005_rename_participants_room_anonymousmembers_and_more.py b/backend/api/room/migrations/0005_rename_participants_room_anonymousmembers_and_more.py deleted file mode 100644 index 7d8f4018..00000000 --- a/backend/api/room/migrations/0005_rename_participants_room_anonymousmembers_and_more.py +++ /dev/null @@ -1,25 +0,0 @@ -# Generated by Django 4.0 on 2022-05-21 15:35 - -from django.conf import settings -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('room', '0004_alter_tempcorrection_id_code'), - ] - - operations = [ - migrations.RenameField( - model_name='room', - old_name='participants', - new_name='anonymousMembers', - ), - migrations.AddField( - model_name='room', - name='userMembers', - field=models.ManyToManyField(to=settings.AUTH_USER_MODEL), - ), - ] diff --git a/backend/api/room/migrations/0006_alter_room_usermembers.py b/backend/api/room/migrations/0006_alter_room_usermembers.py deleted file mode 100644 index ec46e9dd..00000000 --- a/backend/api/room/migrations/0006_alter_room_usermembers.py +++ /dev/null @@ -1,20 +0,0 @@ -# Generated by Django 4.0 on 2022-05-21 15:44 - -from django.conf import settings -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('room', '0005_rename_participants_room_anonymousmembers_and_more'), - ] - - operations = [ - migrations.AlterField( - model_name='room', - name='userMembers', - field=models.ManyToManyField(null=True, to=settings.AUTH_USER_MODEL), - ), - ] diff --git a/backend/api/room/migrations/0007_alter_room_usermembers.py b/backend/api/room/migrations/0007_alter_room_usermembers.py deleted file mode 100644 index 81c49388..00000000 --- a/backend/api/room/migrations/0007_alter_room_usermembers.py +++ /dev/null @@ -1,20 +0,0 @@ -# Generated by Django 4.0 on 2022-05-21 15:44 - -from django.conf import settings -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('room', '0006_alter_room_usermembers'), - ] - - operations = [ - migrations.AlterField( - model_name='room', - name='userMembers', - field=models.ManyToManyField(to=settings.AUTH_USER_MODEL), - ), - ] diff --git a/backend/api/room/migrations/0008_alter_room_anonymousmembers.py b/backend/api/room/migrations/0008_alter_room_anonymousmembers.py deleted file mode 100644 index fefa5040..00000000 --- a/backend/api/room/migrations/0008_alter_room_anonymousmembers.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 4.0 on 2022-05-21 15:45 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('room', '0007_alter_room_usermembers'), - ] - - operations = [ - migrations.AlterField( - model_name='room', - name='anonymousMembers', - field=models.JSONField(default=list, null=True), - ), - ] diff --git a/backend/api/room/migrations/0009_room_online.py b/backend/api/room/migrations/0009_room_online.py deleted file mode 100644 index 705e9e97..00000000 --- a/backend/api/room/migrations/0009_room_online.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 4.0 on 2022-05-21 17:03 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('room', '0008_alter_room_anonymousmembers'), - ] - - operations = [ - migrations.AddField( - model_name='room', - name='online', - field=models.JSONField(default=list), - ), - ] diff --git a/backend/api/room/migrations/0010_remove_parcours_exercices_parcours_exercices.py b/backend/api/room/migrations/0010_remove_parcours_exercices_parcours_exercices.py deleted file mode 100644 index 2c3118c3..00000000 --- a/backend/api/room/migrations/0010_remove_parcours_exercices_parcours_exercices.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 4.0 on 2022-06-14 20:53 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('exercices', '0015_exercice_original'), - ('room', '0009_room_online'), - ] - - operations = [ - migrations.RemoveField( - model_name='parcours', - name='exercices', - ), - migrations.AddField( - model_name='parcours', - name='exercices', - field=models.ManyToManyField(to='exercices.Exercice'), - ), - ] diff --git a/backend/api/room/migrations/0011_remove_parcours_exercices_parcours_exercices.py b/backend/api/room/migrations/0011_remove_parcours_exercices_parcours_exercices.py deleted file mode 100644 index 4eaf03f1..00000000 --- a/backend/api/room/migrations/0011_remove_parcours_exercices_parcours_exercices.py +++ /dev/null @@ -1,22 +0,0 @@ -# Generated by Django 4.0 on 2022-06-14 20:56 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('room', '0010_remove_parcours_exercices_parcours_exercices'), - ] - - operations = [ - migrations.RemoveField( - model_name='parcours', - name='exercices', - ), - migrations.AddField( - model_name='parcours', - name='exercices', - field=models.JSONField(default=list), - ), - ] diff --git a/backend/api/room/migrations/0012_alter_room_name.py b/backend/api/room/migrations/0012_alter_room_name.py deleted file mode 100644 index d9f41ce0..00000000 --- a/backend/api/room/migrations/0012_alter_room_name.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 4.0 on 2022-06-19 14:40 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('room', '0011_remove_parcours_exercices_parcours_exercices'), - ] - - operations = [ - migrations.AlterField( - model_name='room', - name='name', - field=models.CharField(max_length=30), - ), - ] diff --git a/backend/api/room/migrations/0013_alter_parcours_name.py b/backend/api/room/migrations/0013_alter_parcours_name.py deleted file mode 100644 index 49d5260d..00000000 --- a/backend/api/room/migrations/0013_alter_parcours_name.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 4.0 on 2022-06-20 09:00 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('room', '0012_alter_room_name'), - ] - - operations = [ - migrations.AlterField( - model_name='parcours', - name='name', - field=models.CharField(max_length=30), - ), - ] diff --git a/backend/api/room/migrations/__pycache__/0001_initial.cpython-310.pyc b/backend/api/room/migrations/__pycache__/0001_initial.cpython-310.pyc deleted file mode 100644 index f15d25d5cad0adfbd9b5a2100b6baa8f5beabf97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1438 zcmb7EL37+R6t=Y9wY}@zCT*G~K%v*YtV4%k2ByO_B&1WA28Q&&_@dETFOD|0yp`>w z=@qW|AzZle3-}kha>|htGaMM6~;#Yr)gYX0?ypp7(q$wp9)1sI9?%z)b&pgo+{!gCpfh>X_dubr(kvHvM;aYD> z&9IcY=8ddWZ3bl}pr{WstGn6O5In`NJ|vz8UP^?QQbE#Q?xjBT7Xv{>4}wJ~2zFoe z#o*FErXoODBtj8g5=29bV7LetBb1FUDavA$#V{6QXEC{j?jV|=zcr^@ce*<(%e#oy zaHnqFJ%>n#@zdVV9uH7=7g=pNR@=8M-*dY6SFAojbPqNb z_c7wl#RKtBd}w3t_~kU+5+7kD9+~LHbqQV?|NE*c4VB`+(C7P8-^9FaDwb*B4G1$@ zYFTo9!A{}AL^Wv13;702do&uGjkJ}J_LyGT%VB(td3qDsab^dMD5@00;|mQK+EjfsllCN5Dxn`E0iM~Gi_OM&!7qV{5cpvRvV%#gCkXeK7tEvF5I@!bjbcdDd zG8jKs4Pg2@}51lwjUWu(x}(x4Zw98CFZn(q8$WJ^dLn zcf(&lBqvn~Ng)f#RdNpV?CgBZR*9W0 zFSLEJLj39{ZsJqyJ|!D;LN>_cMyG%JfBTbvYqp5hgnu|s)6hg+gflUBmFkMK{Z=^Z v9in)5WYLfwj?VViVO|Z%(#h6YK93(CK;HCDUwRf%~`t^=je}<9LBWJ`ax*u zcmm$yS}I<0KQow*0tmG*# zMJhPEU?9Nz%)mpw^gem12mTeC41Q8Bn+O|~Iyb7*b=BHoSpybr=0Xo8Bk zwrHqae?%MKqM6q%%1V`JqwHU=3AZD_g<2Jz8{UV93ylS|v&q;7vagWRMp6~nGF-v#%5#*By#VX3OTK7@I{W4~4(+`-*i VPpOj)UToQV$z5|d<&k*o{RZVl#{mEU diff --git a/backend/api/room/migrations/__pycache__/0003_tempcorrection_id_code.cpython-310.pyc b/backend/api/room/migrations/__pycache__/0003_tempcorrection_id_code.cpython-310.pyc deleted file mode 100644 index 5dbfb536b831aa9f90e1cfd7c9e6c933bf204800..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 635 zcmZ8f&2H2%5cXd-*;R`WNWc>y?Pa}Mt_T$&(G$IJ%f<3$rr9h`9GqRCXE@Ra;lhn4 z;4OUR)K@@4WtSH7)az>`B|0{)LS;sE~uByMVz%w9qg|0-4G|O2XsS~O1C2?azr^S2#}Q= zSSf(lyp*W6SrWj>HU|Y6OwI-5=aOm#6eKi_(>MPVNKOUs+xT#~T&~Ox+rIK4V3p+K zy*oT_z*IC)WEU&arJr-aQ@eLN8rps`4!e4{nM-16Y}45mqZ%yzQ=37zOnF_sw4ca z^~SfTUE>5sV9HFl{J_rZKv>Er*{+E(vKQro`K$q{{X3!1!ncE=lYZN;KL3+c8e zl*0ppf(fZERVKLL2VDIrF30-GT*WDDZCCpRtj8mb2N{buLtm|)&_1zver3)JdSGlw J8u!H``4DS5AEeBvi)Pty&I@b@IX)b@a8I4iyFp~OUv z=?q5%$O;au5Wp*51SlJd2mwY-j7bwUGmsEo35c!&vZoMJw#3ce-KC+N()N8@JYOsp zFVqIxb=g~srLRHNph_yDc>J&4#XG}|uYf|tfaiKN8>(MlDuZ3MS!Dq+-+}6Mi%w1$ zp4VvLEZcL5n)FJ!R4MWs4buIQQWv8(-q$n0HFkhqS>s>@<#Op8vqAgTN3nrd%uZH% z$3xGbRoEeo5Y^b#7b8v$5LoNde(f!OxYx`+CGQD-xB04XF*miTb(ep_Wquc9wCdwg ze!7deWlLRtprUfUu5&-R{Qk>wn&C^OeTDy-O2)cMqHvF9_+w~JwYzmxZUFWcK88C>#eJJr{;tZaw~4n)EagTD;V B$Fcwb diff --git a/backend/api/room/migrations/__pycache__/0005_rename_participants_room_anonymousmembers_and_more.cpython-310.pyc b/backend/api/room/migrations/__pycache__/0005_rename_participants_room_anonymousmembers_and_more.cpython-310.pyc deleted file mode 100644 index 47ac4ed4426eae88501fe075990996792e55b0f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 848 zcmY*Xzi-qq6t?3e&E>9Y2gCwGV$9N16>JE#5^Wi{BK60T#q!0kM~=h}c8=4{W$n%g zBMTdU0snuSm2?^uYgj6gfiEnhONP+^qZrcJ z(4*wqC6&n~L*z&fkWA_Z~o^?3Tkn#v78&`6Cc=xXj?JCeF-fn394KgY$S0T zduOMw`Ps?-F(1Euwg1MAZV?q&H#`P^(19=Ml07MV&-i}3jj>S6Q|;|)Kh-T{W+mDso-Q5OSS?b1X@$G;Z)1WiIx7SQl-7zfmU;h!+_{}Fo0RgXQ&VmFjC up{9DP)araC*Wh|ZPI_f~A$s`TbywbFtm2XvtFFAHzOa8EqhOOhWd8txbo0Uh diff --git a/backend/api/room/migrations/__pycache__/0006_alter_room_usermembers.cpython-310.pyc b/backend/api/room/migrations/__pycache__/0006_alter_room_usermembers.cpython-310.pyc deleted file mode 100644 index d91ddeb2da35c6c9a60903b6f9e738fbd43e8c91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 757 zcmY*Wy>1jS5VpNPx3_m86cNxu}!~<6cMS71Z)18@q(}an4=Jv7KDjfcBX4 zH%n3Xqi_>=fE{}w+E&akFQEk`LCseN&qLhy;o0;VKRZ2o$tN$K96fjAe-#y2mmby~ zn5Q1m_|v)ViBPMl_PUR{RJX9<{u42`v8Go)%KVjXAg`;s5-PudSzdzjm9RAY?S6jz zpEncp*Em-$+A8;yG*dV_{P zliz*CNfx`2TnJU_-MLoh>+Oe|h@ACA^(*$}SBtEzJJ{PLkJcnVrXJ3pZp?1dTfraj Cht)&? diff --git a/backend/api/room/migrations/__pycache__/0007_alter_room_usermembers.cpython-310.pyc b/backend/api/room/migrations/__pycache__/0007_alter_room_usermembers.cpython-310.pyc deleted file mode 100644 index 68193822634e4f384731cb0e997c4d640360ef23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 720 zcmZ`%y>8S%5Z*uge7=i95z_DkZsJo4pg<^*NJ7B{i6o7i)%tc~eE5&uJEE&Yn|FYc zhK?uTEw-iN6%c>3zCc33NHd!G_Va!-vu-ywVuJSZ^QZhfCFF}QZkxbj58du!&_vUU z)HI{i=d5Bi&v-2|LCF!(T#L6v3*htMl4pSqPDm1d#qUT$U1VXgD4W72%*AzC7_}(d z#=5X>HB@%yX}2xJVh`Ou!~i6tnq&<4I|0Ewd`~qkST;bZNHfi0IFCK9#TC`T6)$Ku z(jm$Z+;I9w3x$Pg+d8{9nN03WRV~0s56GnjQ$wADvBvAVkw>O$1bb(THsRQ{?^HIb z1}FL$oR?7P<7Dh2+2c~WSW4tAE5Lj#tm0)xb5J2tsjWFi<~}u zE7F&34QW+YrE1a($kPHE&xECsZ+6q8f2v%~USVIU>dMq_C%t*B6c_j4Ka1PxRwh8n z0lMA75RsTODt?NPQAWp9{D^+_jN>G9BRyA5(eBLJ=6pT<@EXy1zo>r1o_;gPI@`v( VUG!+Z1jS5cc2R?X40iLLv=4(l)mz8YmD74Uv#?6rtM2@|`Eg9{xG(TTp6fQ}Glu zbUXoX;WkxX0SSfiULeOvGx9ex_BZ})e|T6CwC_KEEWT1gt~1y-f#3u^KE|MlriNJB zQp;LK$tlrH^Djhmplkk_w_J;JQWrPaOKO%X+pU7ycHYG_vR;FU%Us&GF@h8HIK=>@ zrJA%%(-mzwh;@+(V6+}Xsf8}Cm>ykmtWES7iOMuN`^$iIB6x4pquFfsR4TKDAag?Y z5rPG~fDl80B6B|e!J=7#%bm~%`SD3}`X5@T<$I)V)TV2)1kL?BG^ozA zeRck6aVODqa~blZkI>@-3?*S)+=_xxMh~d?UEU7$c`edJua#T*sa_2C8}2j|?$Jjkl_9(m8{UKhw z`3w9Pef8vD5M-^+D7zMP(XZ=Kuj(cK;GiZLU%!9rKT|?}WNKmyo;%{UW19NT)G)0f+IZf5hfrV z)udyZu4%_XY>F%ZgH+DD zGwa7_!S)bhC{QPr-kHHcL(@#dsT$3$;W%y{Q95NIi76MS0~oz*>Qu?;UCLBTiM-JO z-fv0yVN@n_Gt#gHr@^fTh=FCD>V?)XbC19?oWDAGvz%}eW{A5~`z`!+=nDyVku#-V zZ`*g?LTd&yDA#_1zFmXMOc;aw__#g(5A|yG9)(-A9ooEfd+mFRemvbfv0wRcdlvFX z&A!Jwm@2}!xDo}UjMh~AuCAu~vJq*nH_EO3q3)+`rX8l@^`!gTJ?xXJXM10s<9|eA J*0{~?^FLWqq)q?; diff --git a/backend/api/room/migrations/__pycache__/0010_remove_parcours_exercices_parcours_exercices.cpython-310.pyc b/backend/api/room/migrations/__pycache__/0010_remove_parcours_exercices_parcours_exercices.cpython-310.pyc deleted file mode 100644 index c65a4490eac5fb0a922a464406e240355d89608f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 730 zcmZuvy>8S%5Z)i(oo$GSkhqFElAE(Zq5z>N6d_eo0F|4S&oh`k?A>FX3j`?@wD%x1 zbUXoXu`Ly^00J@V%aI^4(#+0yW@oNix|c*S#yZjlByC&XlUw_BH<NVzN+ffTXq@{bjcQ&!^e)+=X9g zOxoWi6Eh(NkA6pE!G|*nXUd~r@z0_1B#V3ki^?>12J?Z1Vcj8lwbaI&Qb!*@-tf84 L!;mm-S4`y}jvvX4 diff --git a/backend/api/room/migrations/__pycache__/0011_remove_parcours_exercices_parcours_exercices.cpython-310.pyc b/backend/api/room/migrations/__pycache__/0011_remove_parcours_exercices_parcours_exercices.cpython-310.pyc deleted file mode 100644 index 5fc0f38d564624289fa14101df03fb10d870c68f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 713 zcmb7Cy>8S%5Z*uE*$$DYg2V$vaueTCQ6Ll=B1PhmNatqd^Gu8n+iTY65DKc$-h

-J~&qbzk__U7J#INZvoD zfGp#{G6B5gnMAb;JOQYUpnT$UoUTHQAlPu2Y-B027^XxSy6D9X7ZEFKOylOW*?gug zHs%aRAe5lunv=Oaty^bz8 zt+0kgvg1NM!nJm>)^z(&BjxwBemmr~AK@#&4qL#ssIa#rKXW^;#&w_jF)n-tFlJWz zUUYo&awehVLdd`MrL2GhE#tGrF$;W90;^++77K6{iN{Z%dV z;tg$)=3SL~-O}5ymXd<=|5EUvdvEIEQV5xl>RJVY3$Ct|^3Ry7%kbxjTO`Uw ku*%!g9KdqaU_5qg-k!A09?(1&KG~}IlzR%#bzkhsU!G{k>i_@% diff --git a/backend/api/room/migrations/__pycache__/0012_alter_room_name.cpython-310.pyc b/backend/api/room/migrations/__pycache__/0012_alter_room_name.cpython-310.pyc deleted file mode 100644 index 020a09fe8bc041bdfd40177b7cdfed24fdcf0bf7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 632 zcmZuvy>8S%5Z*sud=`-qNR*UFmQb8ajZhF0sgj1y&9dhmd_LA*vwIgp4Q(o(A`Kl+ zz*}rfl~+JQVa5kakQixK^UXJ&Z)Vnhf4^X8U%!7_e&LM$AaK_df@3`K30{_2?pV)j z-iumrcEYT%@-wp%_*#CFwY2IrE3<3NWu-_(-?hPPIzPlT>%9dR8=~&o48bv;_!KW- zHMgu5mbbi?pw<})z-+x|mCY`>on1;~a=V8zd77X8t&d_Vc;DBH!^6cw2k8Ad=+T76 zZ$s2@0io#{i2n(N426>#Ob^$O(JeXlZ7#Hfq1~)XiHJJaln|)fl)df1*|TzTNS{Nu3wn3jCRVV+TrD@)wXl2H(qPPBUP3tn*bE5Dievr?tGU7Mlx2X;A4Gfgm&x83f%hgc`&&vtux Oj(-=6q;X$7lD`2%BdT5i diff --git a/backend/api/room/migrations/__pycache__/0013_alter_parcours_name.cpython-310.pyc b/backend/api/room/migrations/__pycache__/0013_alter_parcours_name.cpython-310.pyc deleted file mode 100644 index b8d2ff11180a7673c214d22c55e25ebc692fdcef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 612 zcmY*Xy>8S%5Z*sud=`-q3Y3&cmZEG3EkcQqNJSbtH>BqbNM5coGZQR-4e|=!ATVXIMU^?4k z%zGQ=ejSFW625*(TqURZ>^I}Et5=Is5=s+}AB3C=Vs_e~gOhR^b2EmGiG?v#wsuJO zC&qkUTbDW}1lVH-*v%Upf=CUDqcq2d)FsFin7&`w4UUEH@m8Bl7Ir8*y1$?ozD4aC z*Vs;f#hI?LOO?0|=F5RTeuQRrenzC)_Ki;K>U+gCDe>l3iM#d3E%y5FA^p~*{P2ui z&V*DqDid7rf~$Y|&6qzaRh+`ocD3Jw*|^cT#hARGcyoJBePaH0qs=>dNo+_QPsI!Q EA6kf{9smFU diff --git a/backend/api/room/migrations/__pycache__/__init__.cpython-310.pyc b/backend/api/room/migrations/__pycache__/__init__.cpython-310.pyc deleted file mode 100644 index 6a0ec873105b05e6ab77fd43304b95fe5196248f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177 zcmd1j<>g`kf^~&ryk0@&Ee@O9{FKt1R6CGu#Y{kgg#iFA|1Dhr diff --git a/backend/api/room/models.py b/backend/api/room/models.py index 7c33c3aa..0ad62650 100644 --- a/backend/api/room/models.py +++ b/backend/api/room/models.py @@ -137,13 +137,16 @@ class RoomManager(models.Manager): return True def disconnect(self, room_code, code): - room = self.get_queryset().filter(id_code=room_code)[0] - online = room.online + try: + room = self.get_queryset().filter(id_code=room_code)[0] + online = room.online - room.online = [ - o for o in online if o != code] - room.save() - return True + room.online = [ + o for o in online if o != code] + room.save() + return True + except: + return False @@ -167,7 +170,7 @@ class RoomManager(models.Manager): class Room(models.Model): name = models.CharField(max_length=30) id_code = models.CharField( - max_length=50, default=generate_unique_code_room) + max_length=50, default=generate_unique_code_room, unique = True) #Pour la migration initiale : si pas en "" renvoie erreur car table utilisée dans fonction avant d'être crée anonymousMembers = models.JSONField(default=list, null=True) userMembers = models.ManyToManyField("users.CustomUser") waiters = models.JSONField(default=list) @@ -239,7 +242,7 @@ class ParcoursManager(models.Manager): class Parcours(models.Model): name = models.CharField(max_length=30) id_code = models.CharField( - max_length=50, default=generate_unique_code_parcours) + max_length=50, default=generate_unique_code_parcours, unique = True) # Pour la migration initiale : si pas en "" renvoie erreur car table utilisée dans fonction avant d'être crée challenger = models.JSONField(default=list) room = models.ForeignKey(Room, on_delete=models.CASCADE) created_at = models.DateTimeField(auto_now_add=True) @@ -254,4 +257,4 @@ class Parcours(models.Model): class TempCorrection(models.Model): correction = models.JSONField(default=list) id_code = models.CharField( - max_length=50, default=generate_unique_code_corr) + max_length=50, default=generate_unique_code_corr, unique = True) # Pour la migration initiale : si pas en "" renvoie erreur car table utilisée dans fonction avant d'être crée diff --git a/backend/api/users/__pycache__/__init__.cpython-310.pyc b/backend/api/users/__pycache__/__init__.cpython-310.pyc deleted file mode 100644 index cd0f027871c9542b6160d151b3c1619f6a876d42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 169 zcmd1j<>g`kf^~n>%v3`7fW?p7V be7s&k+IzMxUS(u@&YwHMFUK7!(;}zETEJVsH8A_!{yXu$Tp7;4wVw4 zD2QsO9b7N!D3l_oRIC-zA1&dTQXfWb_ZeSdn<%s~>K&5v6LO0L1;H{+9cQ);gEDQ{ zS$+GR`7_KV^Y?YL?Hx3>wXN=&Pq1n>(1F(jj9z_w)?D55R(ky&I@9P~+bkR68k)4} zIGviO`1N8g=jH~N+b`FBH~4ntGrShh?+2H99JW5kjC}H+%rZ6e z^sQn^Q-(D0ehZT{Yw*M&HH}4R2Z+MM2FC|~7<-S-sf>8O-|P!|xiCjF<8&U9W@ptu DSzNMGeJ-!p+N99O&EBI4-8d&JG?fkF&lyB zL%5Y?R>hFUMFmQm_$<$6U0Yq`N`nnL$6Z8$4TUIWp@gslA&}Z>7mtLv@1)*#4nVDB zr&}RWK&*NN-}Tm{ahvGj=aS!4h2lEbxh(mkN_nPA)yP(Ljd(cb^M6??mv^cJF6*4f zydMYS+Qju!!%)-h(Ci_E#HS(cYm124;r3&W+j#DA$Nn2*6AiIu!;{T_PTls56C9BV F`vturZ{+|0 diff --git a/backend/api/users/__pycache__/forms.cpython-310.pyc b/backend/api/users/__pycache__/forms.cpython-310.pyc deleted file mode 100644 index 4e4735c7d7a982a01b7791474d769495802241e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1005 zcmZ`%&2G~`5Z)hqvkgfJB|;RQz!zKMjH*hJsE{BR#APp*lifBB{wZr4M6d13^umoN z;4Svbsb_ASn6XJ}NLXn{^UZ2zzWrv(@pwq!eEt4yaYG6DfuMgp0H<)PH()f;G$T1x zl%mfvmUG2(PkDg3_A);gN>Fk}w6Dbt(ZYDwTnzvZv;-^-2Q2l$I}!}@j;1ur9XJ8CbR1?L3 z0M!f#uxqBc=Fr}APwuPCdQEmJVpFVGO?wp$SDvQI*9>a$tLOV`g>Oxr0Abkx)gsBw zJP=OCF}iW=hH;#iy2;QV#qq}`$+{OSpq2CC(PU1XrzX?YEwK+F+L~Xlqg9!kC`+?6 zDWcD25nY(V*rYa%jX%AJ&i+D+Wck4qI!Z3nD2$Lx6}6&=mtUNR90&M6Y$}OICAE*h zo!@#Em%~0lGeU#mdlsEH!I%Vt=@ssaBuBK3>`1v8j>Ud3f@x2-?c8^=wgY$yS(}mK z0F1vD>wy|*3PWI5$NQ?aBbW#B->)EBJ4S<~x}P1Qw-vefJ^VL5ZY3K1k;oqXFXb^j zpk^CIn8nCEIB-I*VZ}?!0K4N3gv+w1ZMq1Pre1~ZY&u@3rxWcWRP9!@!nU>cF?I4~ Tw^1i3T7}~qkqI5q37?AJuH(`Y diff --git a/backend/api/users/__pycache__/models.cpython-310.pyc b/backend/api/users/__pycache__/models.cpython-310.pyc deleted file mode 100644 index b1441244f5b13e7775a8fef943b5c308c282a228..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1322 zcmZuxyKdY@6rBg(T1$>1%ZOtH0aDS$5-?I3M&Lkj3T00<&zP15N}Q;L|?tl=rAHpgqHaZ`8no!V>s)c-8+3hx6+1L2DR&+r8ip@=>Z z5lR1)r;(tqNW6B5oycxXjXMmb_#TeebVAk|-t5PP?p0p&ueDT#U3fhh91pew(@y|` zz9%7yIww7?SkEixgb3%1UC{TmcPp>*PpELu=y`BKgm=Ky!;qYyfFmCJyO)-gJwvc1 zJplNn$O;spDDrV=oT@8ZNldcu-T`dlU3Kqq%P|+ZrPEGEWBVr;~}j`Qcl$b^U5KwB^wt$1|;A7rhQ}C}Z1n zn=K4WJ>>M^y{0L4+dXRfcPC<3gs)=F-N?lOOLFpDKC7_hX&h8#)42rsx zZU0hCJbH$MFlAe(YyoP+!d(kr0Ai}Xw7#Wbf_w1(dk8BNyGG9dj72v`_zHH%Da4wZ|}w2_(JaIL*1LG$&a(E{(2MpF;ib-nR*B)EVI z-U`{|WeqYNE$jWy$?>xclxEp?cuS9Wg1+0l5#Ri3dN-b#Aj{gkky&Py5Zt0w4I4NTlx9z(B z0LNXp@eBADzH-``8z9%fjEsc#xlOmgcXz5f`uCg!yM>E-q(+ zLM#VjxRbl{F*;CC64s3;vm{l#p^~zSRk54qd_g3Yj7LS9OTmM*jLRw+4oxtIdh;Zc zrk09$08kmG0S40;rWy|0t-6haYWK`HL2Os!*fioeE5uky(3^4mX`Co@iev3V%Ep6D zsf<5Fe9JSUS7FtPzi*L-JJnTsenNTW`K z8J7`={|zlW2S0m#$t$^|p$zUc0`I9%yw# zb{!rI%5A3~gFimL5<3`>Hr2S&4eR`Ymhd=+8rXhV=>5(WHfki9g`Bsrb8~x^3ch_8 grF|q8T^shc{7vwD`oK02p%Tk(k*3q6Eq7({9~Lw>A^-pY diff --git a/backend/api/users/__pycache__/urls.cpython-310.pyc b/backend/api/users/__pycache__/urls.cpython-310.pyc deleted file mode 100644 index 111a7bb77f7c08ca572c875d00a84bbc415d2766..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 426 zcmY*Vy-ve05VoD93H?Fv0_+Q`t!?y7on2WMSh8cnhyg zeFX#(=fFVE^5^?L`+j`&Xw)ZYukUa97oH!U{I?#G3*2^!Ac>?Usc1?omNH5tlR+6& zVH#2bOol*Zw53~yehP9rG)?NI~ zICcZM5W1*4ZWxv}0fLKG3f9&{-j9XNJaq#siY;PlZC{A-L+jvk%I9?jyi}zUny(?} z1!%xZ(3)&@%CGiVE@ls)CC9$`g!|4d_urW;A6;@*)v_(&+)u#{5st`^;i5yDeE$G8 Cl6uVm diff --git a/backend/api/users/__pycache__/views.cpython-310.pyc b/backend/api/users/__pycache__/views.cpython-310.pyc deleted file mode 100644 index fb9fe6dc5a44b905c9f8422777e1edef602ac77c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1520 zcmZuxOK%)S5bmD$KD~qu4i-Yu|2?kAVr~MEm5_iay#M6!&$+xn7(JD0SyxKF z!vLi--6*sUi~2OLQjjm29Hc=}BSmH=mdTTBM;RyFNU-QJjws^v~mOyYkP-r5`ukaAFxx1B@ zFr|KgkGhLOGtF0g;jH<>T_e}p%eO4Qa_uiLuuX>~O{$4aTm@)zTtO5MktincOx_V~;G z2O=iuy1_++A+%Y`#cv3Z2X@H?zv8dl4R#QF8|)(XH`qfQXlLcFyp_KSg#VVJToJr+ zUWKdh(z{~tJ^Ij=qTjv)j3zzAFX$bSyzE>tWW9^5_ejS&Fl4>I7>JNq*If~0u&Pf6^dh#lC$mx=NU`?;D+ zTUZlFfErXhvR?Rv!f9k-*aoZg9J^Pv$tX{oo6=&1vvb)t0JVkf0vHkcjND_}4_{(G ze0%?4`t;zZX9tHzaReVx#4QpZllY&#;>g*lv8~dI+mz8=Hk!Uxw2{8k=XBq3BL3m- z@;yG@u0MVd^BK)XYI#dj(@oQ|7EK`$_tW%6lNCf@ngTTkgd{8tUl5{Z-4e77pk|{3 zDzG@yLwCBCAg8i8`x6&l|14!9X(xoP+cPaIuRTo=1SSiLVwF$`$ZC~P6zp1ME>oT9&ZNUkPw4L1 zW#?p-Uia$B10210^Dpqf=&Pso>dh*}*FD)El+08*{a(L*@6GqU*E4yy+jijk_4nUK zHx?Y{4W|{e2cTfD<1V zYNF4ttzEeq;Z#u(6%vLq6H-MSXEe(2vnZuJ0kigAV_IZ(}m2HQ~NES0HO!DQ!yHv7-LpBnr305#LiOdq3V2N;= zA~4OEl%^EXHdB+lP>4R8r7UJD-9eBWIAA=1tuzbE-hp!@6;_3WESiLlagi$Bn$UC> zDf&!R$pj{nflfCH&Yl*u?0->3H<7B0_DvuefQ{@xa3+-u%X^RL(}D>~LUiTY8j2@a z;23C;C>LlWmHO> zP$^bGEqZ2HwHR*!Hw3F($T{eT#FuS5N9IZTHL-NC)3VdD?3lIEPOX`)(+sn8?_aPj zyLOH+Ap)Z7z)+;{cwByVgr4mQ1%!oxxq>Lh-0+MTS9!%7CK=;MGDX9(V?E3{&@FHY z;IJ)P(%1UjXI%onDM2HOR8^!vFsgQjXp>8t(s*7aj7tTCpnQzre4@(K0FL9l;J}V< zRGahyU`C^9&NwBd6;LJgJ+W+nvKTcIkry*r;thDZYF<5(EyWQ{bDltj<{>($4=Bxq zs{fTJ9Ge_^3v3a^@x){Yh%qtu8fsf}k)%rd#(CK`Z5^(g`29x3ouOWL1WiqsR!z9H zFF}z)!`hnlpcriSJ>w`k(kSJ*$1@tUF^gYmpD`5XL4$?mqK*9UpubA%=jaYyH=dz| zsyHW(o(s_|Ed)+=fJai9%Gb?&GzE4foHKsaRAWX{B4J@xy-I=%b0}^hAM{ss5LKsE zq}x#h@0cQ`QKUOj^t8aK*$+~aai-u@(j7u)loQHh2EE}KfEMo93b}9IPNHTZyUmg> z;DEbl!s^x?=*Vi?y$eWgu#8q>=XRc_6!S`IkSXR#uA6brm0%-LH)V0gI9%Q2EC&CZ z^JC)M{T|fqFHQSY4(f$sDYT7(0AR|m9X@uh^fXV>R*uXM1IDBsp*5FMM z&G8FoJHmV^wBRSN!w@*W=hgg|e%*6VdOddu?hAG_vn6-MU4`5G%jkJOhFx{H3laXb!B5--Gw19^Dc-okU7*(^c bAczh=uj=L|e1SO9d?*E8;P%|WU8(&Ck9qdQ diff --git a/backend/api/users/migrations/__pycache__/0002_customuser_registeredexos.cpython-310.pyc b/backend/api/users/migrations/__pycache__/0002_customuser_registeredexos.cpython-310.pyc deleted file mode 100644 index ecaf7827ccda40e97639fb62afefd4d7ac3c0d50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 701 zcmY*Xy>8S%5Z)i(ozJ=eLI`*Pkgkc3NOTB=BBV+hQn^{}c?M@Mw)fbzLqZE}9)yOD zC*UQ}wp6?V5FJtMpO$h9h`vnDL z1qW6L;2`3>rAa3v{I^(T69C#p1cz zV5R%+)VeKRJ9Dl(q&uVDqw`@#{AbFvrZc(@S=sx}Hn9}$IIN8C&>mWKim$Z0XR<*i8%Evf*Yp{mn`81?z$SV~xrHI$pNavYS?|NNFZbX1< zYysQSpm&0l3F#|<*Rh9_5#Bx0?d6G$ama?uuJK0e&&)j{&Jcc`<)^m6yf(GbZT=pY zd4+9cV(--XUViu=TI%wQ2IqQh@kUf{#qFnGpB_`EkiNJU>Loo<=Hrxm;-UNp D_mRln diff --git a/backend/api/users/migrations/__pycache__/0003_alter_customuser_registeredexos.cpython-310.pyc b/backend/api/users/migrations/__pycache__/0003_alter_customuser_registeredexos.cpython-310.pyc deleted file mode 100644 index 09bb6226106f757aa06fe467218be5b87e9ba048..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 718 zcmZ`%y>8S%5Z)i(#b*&f2vX94(C zp|gS{^2vTpeZ2~|SQ!HMj&ytR#soh^ePY&lBl{<29}#D8KToq0(_mItb*02;M2B4y)iW+c}$r9&hC7j3@2u;KfJ7j_TH#Y{-Squ%&Gg#@iG;>%EV-BMY$#H<|-45O4;}_S0y`(?OT&Qwi?8v{LA<#Df diff --git a/backend/api/users/migrations/__pycache__/0004_customuser_id_code.cpython-310.pyc b/backend/api/users/migrations/__pycache__/0004_customuser_id_code.cpython-310.pyc deleted file mode 100644 index 27f0da8f47cc0fc8d415b91e7bd7569a8a0579d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 646 zcmY*Xy^ho{5cW^9$wqe)q5vKMA#Jl+9h3+iLgFf}p-W?VGjrK2PO{hu95uA}0=xkY z9Z$epxTU&RKtjjZcW4(&Gx9exns4T_hvVad(fR)K$NDR0>{kGXCn0c3=AMuP2HdcY zSG*II;OvZn0QrT1M81`uWhEhb%NFT1)v|@~Mb|b~kL}PqKkEiSuJp$&9puzElSLX51_!p|FJNb%#EQ zKD}tsz&VYQs~A_x7fMmxWRUJhO1+=73AF(M?yv{!>lU3A#O3ps0Ix$2D+8Rr+GrcG zFNPi7srQZ9hm?)(He`u}icSKq0U0X(d%Kf91 zq|~!RjqY?~8>nY17P diff --git a/backend/api/users/migrations/__pycache__/0005_alter_customuser_id_code.cpython-310.pyc b/backend/api/users/migrations/__pycache__/0005_alter_customuser_id_code.cpython-310.pyc deleted file mode 100644 index 76cf5a3a8e2a22031309af7bbacb7e900192d07f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 699 zcmZuvJ8s-C5GASaDmGvQfqe!wtA&wtLEs=jT-i-JH3U~P)=HtIwJ7CNJFO3rCS5Mz z+=6W?Um-x?45c;JMF?=fH~)E@?(i^SbbkE$xxV9!{dVB#@d=#KHA@n}fNR$9oHrsD z++m@;+&^dFf&YzxkGu|UygUH$fu+Gc#jsS^q^ZhY4OQ0~8#W!FHkXC7Jv|YDGrH!K z1hSk1%LVX~=N|esWdskyI>NXP>jn4_+zJS9J+dbdQMK4EE*{HJ&0sXxoBU+8TD_FT zXojwF8d-rXr~{kqbvD{5?_Ft%jR3FIs0V6XeUTd5a@eFEA=kQWRfE=_WN=lXhRgJs zjpd}5(k4=p->8w^2U1>-N;_YN0Jqozwnc@e7gWn8Z}ouvdzYp6oMQ2AqjorO_(h2= z5_c%awz?j1*L=5iN=N8-)*qAOB>vRdrfV?Mm9A8qea3b67(Vv$(`k0TOE#mmDn3#_ znc7y_#8$Tdr;K=eC6(*$KkO~HUwgM1?$69~5-}5=|KJCL3x34?zwyIlPeZ$aTD4`j qg!MG>JmtYuZaJ?)?*^UR_mj-86EfKN^-Sj*T2E#|5=SED$KF3n`@=8* diff --git a/backend/api/users/migrations/__pycache__/0006_customuser_clientid.cpython-310.pyc b/backend/api/users/migrations/__pycache__/0006_customuser_clientid.cpython-310.pyc deleted file mode 100644 index c65f48a4a02d1975ba0941dc757a47faee45735f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 677 zcmY*XJ#Q015Z#YE`+Q0yghVjO{afcji6%Zv@S%4rpnof=7C=Bm13P&AkAdj?w#KSX9>;NfqO@tS zQfXT^W$yAS1C`PUHr(ZGkeUpO<`sN=vVdcq&M_XHOyk*TdKOPdXNwp{r^o4R7Eh*_ zo~Cybnvsb5fD7H4h8ENxl)+-ztcH@1TTvA{N9%RbUu0N{Hkj@86 zy=%2`y$%6xumCL54C_h|mkpi+ymWU|(!s%tm99E$!*YXvwf(}XM^x>?FN{`Yj*-bs zriIk&d%{1-D{lFy7o$?qBrC>xUEq zCZu=o`GO06z`ftWeOJF4dUgP7T`bEn%)5oUHM-(%!TPW{8*6|Q{{ zF5LPAyv1HQ^%W{rW!3?uNQ^Y2{bok{&3wD%{(iv7e*CD zydG0PmT+K+1ANI7f$rL~1lU{m!37U`mk#tV1=W1;iD+O3@BT6no!8b_)#h;&MbBm0 z)=in)j7)WgMU#OEc1h!Jvv1+c6F5qzX^c1moE(jwMGF|sW^p{4O`_>EisN_^A73BR zc*M~MT&Pwzw43@QH5SWeH57#GcCt`88n=tyB0~*lG@~!Oyp$%8lKNVWbl#KlqE*`V zS_HVk0I^$L;r?)*-+Rp&lZ(#va+acFE0U2ox0Lp>k~L3 zug4USB^+2HfG>C=(OdbB0DG%Gc;G|tT0s9=QZ0ahhz54><}U-$`E89=Z68i1lVhb# zgOy6#x+!y)SE53@pL+Ra(FZ!={P7%D}Jw@D) zV|{Z#LlRRTaIRa^(1!X-87vmfawrM89aW)ov|bned4>kgXwpD+d8KTq6!oAa)V zMXQbLbqH{c1z?e8SXY9$Z1}?M@ygv&NtYPBTj$zg<)-BT&w}Wp^59l5nJljb0oc<)M9mhSfCw~L9 CNxzf; diff --git a/backend/api/users/migrations/__pycache__/0009_alter_customuser_clientid_alter_customuser_id_code.cpython-310.pyc b/backend/api/users/migrations/__pycache__/0009_alter_customuser_clientid_alter_customuser_id_code.cpython-310.pyc deleted file mode 100644 index 76e62475e71b989b3b9300fdf5311339ad238747..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 802 zcmZ`%yN=W_6t$hlWWubp1wtSp`e`Pktw2I(5fUp3rlCt?d2;V&9Gqk}4<0q!ZpBy7 z(D4QQg1!B4YTn}NAq6J?tUARITjIr;Qa+NspZ)K diff --git a/backend/api/users/migrations/__pycache__/0010_alter_customuser_clientid.cpython-310.pyc b/backend/api/users/migrations/__pycache__/0010_alter_customuser_clientid.cpython-310.pyc deleted file mode 100644 index 477b358bdf9d05cd44f1e55051afbe9b6812a455..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 757 zcmZWny>8S%5Z+z?oX;dugit7{uQ{7E2nnGe5D^7w=-jM)o{4YG+P--02e`&ph-i$_O5Y)eNI5tmfcDa3>(V^T;2=jH*R;{&iP|Y6gSB&SY=WG<_>` z-D4+=TOIs~}E2Cyj882`h%Qwki_-`ix})|hCeRo*0@@Fv-G zZG}aj?9vRK?9ue9DU*xG%w)PbJ3z@QFTPWsNxo6ZNOQ7(;3Q37r%!3!5x(5~?A%Vd z*EY{dMND}9gC7Vk_zCy_MGvEY5!yLac~iDaSdCOn;~$OnmeUe-j)5_JKjL(INe&ym Sn|OXti_J_(>O@5R)cX%(K-%~K diff --git a/backend/api/users/migrations/__pycache__/0010_alter_customuser_id_code.cpython-310.pyc b/backend/api/users/migrations/__pycache__/0010_alter_customuser_id_code.cpython-310.pyc deleted file mode 100644 index 9a4ee9f2c23ad988cbef9bea5414c3cf551b31db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 742 zcmZ`%y>8S%5Z)i#=QD|fA_TmGo3n|K5E4Q`NTebSRBl##o{7(9ZD0JuPYrDzgochM z;4QYLN=1)^!mNGKMMA7Jqy1)PXXcxo_V6%bbiV!gzW&7-`{}^#;}JL^=~twH0XMAX z8LveqxWmH8%sXWu!TZ9%LtgoxW#)r;!(#u6-mqBMs4k064`ti*HmF-b)1T$ecl(3{ zPDuL4q>yDCSSElMJd@~Elo2Eb)dIsRsFvV?55c8`#igW(2tum2w9D5wg{Z1O_Sp5= zlQd1ADs2YrR6h1YTRXeTO^MA=!oMD}<9UH32u9S_GqPWo@-4B$y7`1V+4gqel0c`RT z`%X|%8@+H8Ub!rtbcW^2joxA3;d=!(NMlAdx3OcD3hg diff --git a/backend/api/users/migrations/__pycache__/__init__.cpython-310.pyc b/backend/api/users/migrations/__pycache__/__init__.cpython-310.pyc deleted file mode 100644 index 9b86460fa9b034bb34f5dae8591b981aa47f81ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 178 zcmd1j<>g`kf^~