From 8a1080951459a356dff7aa781ccd2bbb0f4f5984 Mon Sep 17 00:00:00 2001 From: Mike0001-droid Date: Tue, 25 Jun 2024 10:09:13 +0500 Subject: [PATCH] =?UTF-8?q?=D1=80=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D0=B8=D0=BD=D0=B3=20=D0=BA=D0=BE=D0=B4=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/proj/api/__init__.py | 0 server/proj/api/admin.py | 0 server/proj/api/apps.py | 6 -- server/proj/api/migrations/__init__.py | 0 server/proj/api/models.py | 10 ---- server/proj/api/serializers.py | 16 ------ server/proj/api/tests.py | 3 - server/proj/api/views.py | 9 --- server/proj/audio/views.py | 26 ++++----- .../conf/__pycache__/urls.cpython-310.pyc | Bin 1485 -> 1485 bytes .../settings/__pycache__/base.cpython-310.pyc | Bin 3484 -> 3456 bytes server/proj/conf/settings/base.py | 3 - server/proj/conf/settings/production.py | 2 + server/proj/conf/urls.py | 3 +- server/proj/config_site/admin.py | 7 +++ server/proj/config_site/models.py | 14 +++++ server/proj/config_site/serializer.py | 0 .../serializers.py | 3 +- server/proj/config_site/views.py | 22 ++++++-- server/proj/loginApi/__init__.py | 0 .../__pycache__/__init__.cpython-310.pyc | Bin 169 -> 0 bytes .../__pycache__/admin.cpython-310.pyc | Bin 210 -> 0 bytes .../loginApi/__pycache__/apps.cpython-310.pyc | Bin 452 -> 0 bytes .../__pycache__/models.cpython-310.pyc | Bin 207 -> 0 bytes .../__pycache__/serializers.cpython-310.pyc | Bin 948 -> 0 bytes .../__pycache__/views.cpython-310.pyc | Bin 1894 -> 0 bytes server/proj/loginApi/admin.py | 3 - server/proj/loginApi/apps.py | 6 -- server/proj/loginApi/migrations/__init__.py | 0 .../__pycache__/__init__.cpython-310.pyc | Bin 180 -> 0 bytes server/proj/loginApi/models.py | 3 - server/proj/loginApi/serializers.py | 18 ------ server/proj/loginApi/tests.py | 3 - server/proj/loginApi/views.py | 53 ------------------ server/proj/scheduler/__init__.py | 0 server/proj/scheduler/admin.py | 3 - server/proj/scheduler/apps.py | 6 -- server/proj/scheduler/migrations/__init__.py | 0 server/proj/scheduler/models.py | 3 - server/proj/scheduler/tests.py | 3 - server/proj/scheduler/views.py | 3 - server/proj/userProfile/__init__.py | 0 .../__pycache__/__init__.cpython-310.pyc | Bin 172 -> 0 bytes .../__pycache__/admin.cpython-310.pyc | Bin 608 -> 0 bytes .../__pycache__/apps.cpython-310.pyc | Bin 461 -> 0 bytes .../__pycache__/models.cpython-310.pyc | Bin 1186 -> 0 bytes .../__pycache__/serializers.cpython-310.pyc | Bin 759 -> 0 bytes .../__pycache__/views.cpython-310.pyc | Bin 1391 -> 0 bytes server/proj/userProfile/admin.py | 9 --- server/proj/userProfile/apps.py | 6 -- .../userProfile/migrations/0001_initial.py | 28 --------- .../proj/userProfile/migrations/__init__.py | 0 .../__pycache__/0001_initial.cpython-310.pyc | Bin 1058 -> 0 bytes ...2_alter_profile_likedsongs.cpython-310.pyc | Bin 600 -> 0 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 183 -> 0 bytes server/proj/userProfile/models.py | 17 ------ server/proj/userProfile/tests.py | 3 - server/proj/userProfile/views.py | 21 ------- 58 files changed, 54 insertions(+), 258 deletions(-) delete mode 100644 server/proj/api/__init__.py delete mode 100644 server/proj/api/admin.py delete mode 100644 server/proj/api/apps.py delete mode 100644 server/proj/api/migrations/__init__.py delete mode 100644 server/proj/api/models.py delete mode 100644 server/proj/api/serializers.py delete mode 100644 server/proj/api/tests.py delete mode 100644 server/proj/api/views.py delete mode 100644 server/proj/config_site/serializer.py rename server/proj/{userProfile => config_site}/serializers.py (65%) delete mode 100644 server/proj/loginApi/__init__.py delete mode 100644 server/proj/loginApi/__pycache__/__init__.cpython-310.pyc delete mode 100644 server/proj/loginApi/__pycache__/admin.cpython-310.pyc delete mode 100644 server/proj/loginApi/__pycache__/apps.cpython-310.pyc delete mode 100644 server/proj/loginApi/__pycache__/models.cpython-310.pyc delete mode 100644 server/proj/loginApi/__pycache__/serializers.cpython-310.pyc delete mode 100644 server/proj/loginApi/__pycache__/views.cpython-310.pyc delete mode 100644 server/proj/loginApi/admin.py delete mode 100644 server/proj/loginApi/apps.py delete mode 100644 server/proj/loginApi/migrations/__init__.py delete mode 100644 server/proj/loginApi/migrations/__pycache__/__init__.cpython-310.pyc delete mode 100644 server/proj/loginApi/models.py delete mode 100644 server/proj/loginApi/serializers.py delete mode 100644 server/proj/loginApi/tests.py delete mode 100644 server/proj/loginApi/views.py delete mode 100644 server/proj/scheduler/__init__.py delete mode 100644 server/proj/scheduler/admin.py delete mode 100644 server/proj/scheduler/apps.py delete mode 100644 server/proj/scheduler/migrations/__init__.py delete mode 100644 server/proj/scheduler/models.py delete mode 100644 server/proj/scheduler/tests.py delete mode 100644 server/proj/scheduler/views.py delete mode 100644 server/proj/userProfile/__init__.py delete mode 100644 server/proj/userProfile/__pycache__/__init__.cpython-310.pyc delete mode 100644 server/proj/userProfile/__pycache__/admin.cpython-310.pyc delete mode 100644 server/proj/userProfile/__pycache__/apps.cpython-310.pyc delete mode 100644 server/proj/userProfile/__pycache__/models.cpython-310.pyc delete mode 100644 server/proj/userProfile/__pycache__/serializers.cpython-310.pyc delete mode 100644 server/proj/userProfile/__pycache__/views.cpython-310.pyc delete mode 100644 server/proj/userProfile/admin.py delete mode 100644 server/proj/userProfile/apps.py delete mode 100644 server/proj/userProfile/migrations/0001_initial.py delete mode 100644 server/proj/userProfile/migrations/__init__.py delete mode 100644 server/proj/userProfile/migrations/__pycache__/0001_initial.cpython-310.pyc delete mode 100644 server/proj/userProfile/migrations/__pycache__/0002_alter_profile_likedsongs.cpython-310.pyc delete mode 100644 server/proj/userProfile/migrations/__pycache__/__init__.cpython-310.pyc delete mode 100644 server/proj/userProfile/models.py delete mode 100644 server/proj/userProfile/tests.py delete mode 100644 server/proj/userProfile/views.py diff --git a/server/proj/api/__init__.py b/server/proj/api/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/server/proj/api/admin.py b/server/proj/api/admin.py deleted file mode 100644 index e69de29..0000000 diff --git a/server/proj/api/apps.py b/server/proj/api/apps.py deleted file mode 100644 index 66656fd..0000000 --- a/server/proj/api/apps.py +++ /dev/null @@ -1,6 +0,0 @@ -from django.apps import AppConfig - - -class ApiConfig(AppConfig): - default_auto_field = 'django.db.models.BigAutoField' - name = 'api' diff --git a/server/proj/api/migrations/__init__.py b/server/proj/api/migrations/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/server/proj/api/models.py b/server/proj/api/models.py deleted file mode 100644 index c7bb782..0000000 --- a/server/proj/api/models.py +++ /dev/null @@ -1,10 +0,0 @@ -# from django.db import models - -# class NowPlayingSong(models.Model): -# title = models.CharField(max_length=255) -# artist = models.CharField(max_length=255) -# album = models.CharField(max_length=255, blank=True, null=True) -# genre = models.CharField(max_length=100, blank=True, null=True) -# art = models.URLField(blank=True, null=True) - - diff --git a/server/proj/api/serializers.py b/server/proj/api/serializers.py deleted file mode 100644 index ce11cac..0000000 --- a/server/proj/api/serializers.py +++ /dev/null @@ -1,16 +0,0 @@ -# from rest_framework import serializers -# from .models import NowPlayingSong - - -# class NowPlayingSongSerializer(serializers.ModelSerializer): -# class Meta: -# model = NowPlayingSong -# fields = ['title', 'artist', 'album', 'genre', 'art'] - -# class WebhookSerializer(serializers.Serializer): -# song = NowPlayingSongSerializer() -# def create(self, validated_data): -# print("create") -# song_data = validated_data.get('song') -# print(song_data) -# return NowPlayingSong.objects.create(**song_data) \ No newline at end of file diff --git a/server/proj/api/tests.py b/server/proj/api/tests.py deleted file mode 100644 index 7ce503c..0000000 --- a/server/proj/api/tests.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your tests here. diff --git a/server/proj/api/views.py b/server/proj/api/views.py deleted file mode 100644 index 243726a..0000000 --- a/server/proj/api/views.py +++ /dev/null @@ -1,9 +0,0 @@ -import requests -from django.http import HttpResponse -from rest_framework.views import APIView -from rest_framework.viewsets import ViewSet -from rest_framework.response import Response -from rest_framework import status -from rest_framework.decorators import action -from rest_framework.permissions import AllowAny -from conf.settings.base import AZURACAST_API_KEY, AZURACAST_URL diff --git a/server/proj/audio/views.py b/server/proj/audio/views.py index 2379536..ac0f5eb 100644 --- a/server/proj/audio/views.py +++ b/server/proj/audio/views.py @@ -38,7 +38,7 @@ class PlayListViewSet(GenericViewSet): if request.data.get('name', False): try: - instance = PlayList.objects.get(pk=request.data['playlist_id'], user=request.user.pk) + instance = self.get_queryset().objects.get(pk=request.data['playlist_id'], user=request.user.pk) data = request.data data.update(user=request.user.pk) serializer = self.get_serializer(data=request.data, instance=instance) @@ -63,7 +63,7 @@ class PlayListViewSet(GenericViewSet): @action(detail=False, methods=['post'], schema=PlayListSchema()) def update_playlist(self, request): try: - instance = PlayList.objects.get(pk=request.data['playlist_id'], user=request.user.pk) + instance = self.get_queryset().objects.get(pk=request.data['playlist_id'], user=request.user.pk) serializer = self.get_serializer(data=request.data, partial=True, instance=instance) serializer.is_valid(raise_exception=True) serializer.save() @@ -76,7 +76,7 @@ class PlayListViewSet(GenericViewSet): @action(detail=False, methods=['post'], schema=PlayListSchema()) def delete_playlist(self, request): try: - item = PlayList.objects.get(user=request.user, pk=request.data.get('playlist_id')) + item = self.get_queryset().objects.get(user=request.user, pk=request.data.get('playlist_id')) item.delete() return Response(status=status.HTTP_202_ACCEPTED) except ObjectDoesNotExist: @@ -88,7 +88,7 @@ class PlayListViewSet(GenericViewSet): def delete_song_with_playlist(self, request): try: song = Song.objects.get(azura_id=request.data.get('azura_id')) - item = PlayList.objects.get(user=request.user, pk=request.data.get('playlist_id')) + item = self.get_queryset().objects.get(user=request.user, pk=request.data.get('playlist_id')) item.song.remove(song) return Response({'detail': 'Объект удалён'}, status=status.HTTP_200_OK) except ObjectDoesNotExist: @@ -117,7 +117,7 @@ class PlayListViewSet(GenericViewSet): song_serializer.save() song = song_serializer.data.get('id') try: - instance = PlayList.objects.get(pk=request.data.get('playlist_id')) + instance = self.get_queryset().objects.get(pk=request.data.get('playlist_id')) except ObjectDoesNotExist: return Response( {'detail': 'Плейлиста не существует', 'error': {'PlayList': 'Плейлиста не существует'}}, @@ -135,14 +135,14 @@ class PlayListViewSet(GenericViewSet): class SongViewSet(GenericViewSet): - queryset = Song.objects.all() + queryset = Song serializer_class = SongSerializer permission_classes = (IsAuthenticated,) def list(self, request): songs_pk = FavoriteSong.objects.filter(user=request.user, song__isnull=False).values_list('song_id', flat=True) - songs = Song.objects.filter(id__in=songs_pk) - serializer = SongSerializer(songs, many=True) + songs = self.get_queryset().objects.filter(id__in=songs_pk) + serializer = self.get_serializer(songs, many=True) return Response(serializer.data) @action( @@ -153,7 +153,7 @@ class SongViewSet(GenericViewSet): ) def check_is_favorite(self, request, azura_id): try: - song_obj = Song.objects.get(azura_id=azura_id) + song_obj = self.get_queryset().objects.get(azura_id=azura_id) favorite_songs = FavoriteSong.objects.get(user=request.user, song=song_obj) return Response({"is_favorite": True}, status=status.HTTP_200_OK) except ObjectDoesNotExist: @@ -167,7 +167,7 @@ class SongViewSet(GenericViewSet): ) def get_audio(self, request, azura_id): try: - song_obj = Song.objects.get(azura_id=azura_id) + song_obj = self.get_queryset().objects.get(azura_id=azura_id) file_url = song_obj.unique_id API_KEY = AZURACAST_API_KEY headers = { @@ -190,7 +190,7 @@ class SongViewSet(GenericViewSet): def add_favorite(self, request): data = None try: - song = Song.objects.get(azura_id=request.data.get('azura_id')) + song = self.get_queryset().objects.get(azura_id=request.data.get('azura_id')) data = { "song": song.pk, "user": request.user.pk @@ -205,7 +205,7 @@ class SongViewSet(GenericViewSet): data = request.data file_play = f"{AZURACAST_URL}/api/station/it-radio/file/{response.json()['unique_id']}/play" data.update(unique_id=file_play) - serializer = SongSerializer(data=data) + serializer = self.get_serializer(data=data) if serializer.is_valid(): serializer.save() data = { @@ -222,7 +222,7 @@ class SongViewSet(GenericViewSet): @action(detail=False, methods=['post'], schema=DeleteSongSchema()) def delete_song(self, request): try: - song = Song.objects.get(azura_id=request.data.get('azura_id')) + song = self.get_queryset().objects.get(azura_id=request.data.get('azura_id')) item = FavoriteSong.objects.get(user=request.user, song=song.pk) item.delete() return Response(status=status.HTTP_202_ACCEPTED) diff --git a/server/proj/conf/__pycache__/urls.cpython-310.pyc b/server/proj/conf/__pycache__/urls.cpython-310.pyc index f8dc8e0a75aef451412d02a16c4f58e46c4fc558..a719b5edf210fa1aa0bc7fa95637188bff357822 100644 GIT binary patch delta 62 zcmX@heU_UypO=@50SI3CRi&|SyZuH delta 62 zcmX@heU_UypO=@50SJuDD$|NK@`kc-l@_NK1r+6{W#(+oVew)VXA)o(VB`Zr5Y6(P MjYou0f|2DP0N2tDd;kCd diff --git a/server/proj/conf/settings/__pycache__/base.cpython-310.pyc b/server/proj/conf/settings/__pycache__/base.cpython-310.pyc index 634a2e46fc59bd7fb451dffec98afd592e640e0b..d2e9e63c42f461d327eb2d704337fd3533b5b70c 100644 GIT binary patch delta 46 zcmbOu-5|}I&&$ij00e9Ns?rv24y?WPJVi3o?}5~6nANHYEeK@ep+Tu cY7}c?X-Z~(6mw!h=4LMD|D22xleu`y09T+FiU0rr diff --git a/server/proj/conf/settings/base.py b/server/proj/conf/settings/base.py index bf95504..de3e370 100644 --- a/server/proj/conf/settings/base.py +++ b/server/proj/conf/settings/base.py @@ -42,10 +42,7 @@ INSTALLED_APPS = [ 'news', 'rubricks', - 'loginApi', - 'userProfile', 'audio', - 'api', 'account', 'config_site' diff --git a/server/proj/conf/settings/production.py b/server/proj/conf/settings/production.py index 7600045..7d9bd7a 100644 --- a/server/proj/conf/settings/production.py +++ b/server/proj/conf/settings/production.py @@ -17,6 +17,8 @@ DATABASES = { }, } +REST_FRAMEWORK['DEFAULT_PERMISSION_CLASSES'] = ('rest_framework.permissions.AllowAny',) + if len(sys.argv) >= 2 and sys.argv[1] != 'runserver': from conf.sentry import sentry_start, SENTRY_CONFIG diff --git a/server/proj/conf/urls.py b/server/proj/conf/urls.py index f08a65e..0ffa2a5 100644 --- a/server/proj/conf/urls.py +++ b/server/proj/conf/urls.py @@ -8,7 +8,7 @@ from rest_framework_simplejwt.views import ( ) from django.conf.urls.static import static from rest_framework import routers -from userProfile.views import TeamViewSet +from config_site.views import TeamViewSet from django.conf import settings from rubricks.views import RubricViewSet from audio.views import SongViewSet, PlayListViewSet @@ -22,7 +22,6 @@ router.register(r'song', SongViewSet, basename='song') urlpatterns = [ path('api/admin/', admin.site.urls), - #path('api/fetch-file///', FetchAndServeFile.as_view(), name='fetch-file'), path('api/token/', TokenObtainPairView.as_view(), name='token_obtain_pair'), path('api/token/refresh/', TokenRefreshView.as_view(), name='token_refresh'), path('api/token/verify/', TokenVerifyView.as_view(), name='token_verify'), diff --git a/server/proj/config_site/admin.py b/server/proj/config_site/admin.py index e69de29..f24b8a8 100644 --- a/server/proj/config_site/admin.py +++ b/server/proj/config_site/admin.py @@ -0,0 +1,7 @@ +from .models import Team +from django.contrib import admin + +@admin.register(Team) +class TeamAdmin(admin.ModelAdmin): + list_display = ('name', 'last_name', 'position', 'img_person') + \ No newline at end of file diff --git a/server/proj/config_site/models.py b/server/proj/config_site/models.py index 3c78413..d7908e5 100644 --- a/server/proj/config_site/models.py +++ b/server/proj/config_site/models.py @@ -11,3 +11,17 @@ class Page(models.Model): def __str__(self): return self.name + +class Team(models.Model): + name = models.CharField('Имя участника', max_length=50) + last_name = models.CharField('Фамилия участника', max_length=50) + position = models.CharField('Должность участинка', max_length=50) + img_person = models.ImageField('Изображение участника', blank=True, null=True, upload_to="team_images/") + + def __str__(self): + return f"{self.last_name} {self.name} - {self.position}" + + class Meta: + verbose_name = 'Команда' + verbose_name_plural = 'Команда' + diff --git a/server/proj/config_site/serializer.py b/server/proj/config_site/serializer.py deleted file mode 100644 index e69de29..0000000 diff --git a/server/proj/userProfile/serializers.py b/server/proj/config_site/serializers.py similarity index 65% rename from server/proj/userProfile/serializers.py rename to server/proj/config_site/serializers.py index f69881f..0fb00ef 100644 --- a/server/proj/userProfile/serializers.py +++ b/server/proj/config_site/serializers.py @@ -1,5 +1,4 @@ -from rest_framework import serializers, views, status -from rest_framework.response import Response +from rest_framework import serializers from .models import Team class TeamSerializer(serializers.ModelSerializer): diff --git a/server/proj/config_site/views.py b/server/proj/config_site/views.py index 10ce4eb..069c36b 100644 --- a/server/proj/config_site/views.py +++ b/server/proj/config_site/views.py @@ -1,11 +1,21 @@ from django.shortcuts import render -from rest_framework.viewsets import ViewSet, GenericViewSet +from rest_framework.viewsets import GenericViewSet from rest_framework.response import Response from rest_framework.decorators import action from rest_framework import status -from django.core.exceptions import ObjectDoesNotExist, MultipleObjectsReturned -from django.shortcuts import get_object_or_404, get_list_or_404 -from rest_framework.permissions import IsAuthenticated -import requests -from .models import Page + +from .models import Team +from .serializers import TeamSerializer + + +class TeamViewSet(GenericViewSet): + queryset = Team + serializer_class = TeamSerializer + + def list(self, request): + queryset = self.get_queryset().objects.all() + serializer = self.get_serializer(queryset, many=True) + return Response(serializer.data, status=status.HTTP_200_OK) + + \ No newline at end of file diff --git a/server/proj/loginApi/__init__.py b/server/proj/loginApi/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/server/proj/loginApi/__pycache__/__init__.cpython-310.pyc b/server/proj/loginApi/__pycache__/__init__.cpython-310.pyc deleted file mode 100644 index 3d3080751980fc3e251b0cb6fe62a8d67eda4179..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 169 zcmd1j<>g`kf(g-)X(0MBh(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o71q$aS`g2`x@7 zDvr4@>%zVZ`!8&`*mSY`Vtb5dNKj%*W`0b1W=Rp40aR3$S`<@Il%Exolb@cM=U9*# i6Ca2KczG$)edA!F%ytrVE_P9DlNg`kf(g-)X-+`;F^Gc(44TX@fuanW zjJH@5Q*tx&{4|-O_)@YG^V0M6lJoOQiZYXmKnAR2C}IXuVB)JAkmYO@6Iz^FR2*|* z)`fi+_Fvd=vFT#>#r7D_kf6kr%>0=2%#tE71E{DhwJ4^bC_gJECqF$i&#@pg25gsJ YLFFwDo80`A(wtN~MxdF+Ae#gj02a(SB>(^b diff --git a/server/proj/loginApi/__pycache__/apps.cpython-310.pyc b/server/proj/loginApi/__pycache__/apps.cpython-310.pyc deleted file mode 100644 index d47564df3c6e1ddaa13ebbb065544f324698eec9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 452 zcmYjNy-ve05VqqKh5j(0u1Ks|@&E{-mI@FO>cG!Hh-4Y;M6S}<#0?T10f~Wyxo^P6 z6TmB^YgQ&6fSq$%L{GZ&-F=@w-JR-mnh5Om>N1|e`(=w&bD`*gn{5ajah#$t4lzbY zh&!A-Ax;E-B%#CIGvqhEfrWfrt@pJas4SMrjqR)&hN1^hN;_*i#Fn^gp zN5|)0FJXzi}d_wF&fnPC&_C(yT%7kc&NB_l7>HTFc!mH+KN9 Yk^eCkSqp&5+gkMGFZ&2~DgXcg diff --git a/server/proj/loginApi/__pycache__/models.cpython-310.pyc b/server/proj/loginApi/__pycache__/models.cpython-310.pyc deleted file mode 100644 index 247b2318d1997e17fd1e94d74e5f76d4d28354ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 207 zcmd1j<>g`kf(g-)X*NLmF^Gc(44TX@fuanW zjJMcw^HWlDiv2X1ZgHk$CFZ5)>!l#r7D_kf6kr%>0=2%#tE71E{DhwJ4^bC_gJECqF$i&#@pg24at1LFFwD T8z8$hC)JJ-XlOCWDgg!nj;=Uq diff --git a/server/proj/loginApi/__pycache__/serializers.cpython-310.pyc b/server/proj/loginApi/__pycache__/serializers.cpython-310.pyc deleted file mode 100644 index 61c41776239ce1d1e4579839a9fc63878dbbebe3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 948 zcmZ`%y^hmB5Z)i#u@YbS6NsY&(YSFBI-!Fr5JH!N9F1kk+RJW&b50y~9l}LN!y!>1 zUVxJBIvQGdg{0k+{XW{X2}1Z+O{U4qSF& zn+Sv?lICPYV@gqHIUDhqQ}U2VE}b_-I*JdSQy#n0?UK;@4lyL8)_H1_hO-4nCh}~q zwCSO3b8)!r!Zx=+C=ydiVg|@mGC*dhEavqqu~VblHo|t-kpD-#y@9BB>#C8+a_dioF|$HT?E|=N&U99)v>4~d2c58C z{WL}IG_}n%9Tjq#qaLK`^Qp*diw3%hb-}1|>-960OJf7|veY6ynh8BHXGC8FpGy4b zfVOux!SqbB_^|l0_`3MCe7$_Pe4AttBeNoTbns;Jd?0#9YAlny7-Zx7lPrPQ75&lV z*g9C83%CYnz$Xs%sn7gh`Z8R5nBHn(Z_sfMcGaJf4C#=aP)WB5NLER{4HNL5zhWm0 zy6<+h2kyFo0!h+{5c0b2MsYY)z0%lLPb&e`A;BTHj!}8vwqL-MNcb&Nkit4>Jtsq7 z0wn9zkpbuig-8Ey2vPPUvc^Rku)JP*tnGj@p{*TEjOqjz4aLrTC;x zgGTkQ6MFWB9E$OvhpXu%|b%_SRb2Z_PbFu2>^nVs>N?slS$ zoC{fr1B%2MA(R~V#xH;iKOlSUD<^&cClI2l?Q9+}R#$&D-PKc%ui9CuR50NA{)^9t znP(WkqjL4JLHQ7d_zeU#C`pWz_=F%f6En4ZOJggsQ^$8Swi7qa`8kc9#7pyjUSk(* z3w}Z4T(XoF{i4QRQcBByIj#5=t>=?!TJvif7m|9~@EaO0CCllGzd{UFro|CCCal70 zIMWg>KQoR2`M3VFR-x6!+A6Jejb{B1h{SkKlq+N?r=m%e*I{CkjRgaoYwvD<7O?|> z#c(Pgv$2c@p~R(PhYdLsk9*k@Hb%1%8#5ja@CbWPFy1tk7fzyJAM90q!gv}95oP0G zkc2`o{i$}6WC!i>Q?RM+@@yC-tP6*PNpuJY5LL#5F5f77_ffYuAn5brF=58B0Yel) zP(saT#u1?gglFvxaPi`C0bmWgFvOQ2W+XOF2_!F%`L3HEl{d%cH`I@|u%X46%+ zV95~O`FhI0_N9-?)`!-?__@JfgXzzYL2SI=$NGr=`48v6od0_M^NVj@eD~tp{&ueu z(kSbXBFQy?P5X@ZCp?S$Nj8ec?Mc)}UWnG@sj?@TkeCXw45CQz=aB+2i3_v$Pu)Ij zXsgzGk_{jS4_auU{eVoq0!I8E3Uq8PUI(NcZBzy*Flj}LufcSUJ(xNinms=OkjBi2 zfeQ>R0=w+E40`3IPOj=rcc)4C3izpVkW6eB{wioq zTTlEAz#OZ@8z?kYsvI*gH}WD8XhuP$L#W6tSW#v~c?q{5h4?B8WDmcM;tmQ;nyMzv zyFi+a&Q`m(wW(aqQsFNz=yX5$sJ$6h_whE{tD6<^(VnO|2dEiwo}qWU*hr z(5`ILQQRn~$Jr4g&06ljfvQ2{a6HOdgKR8$^i>NlNZpM7z3WDS zh|)>I;se>zT`1W@la-5aQw64OStLojZK%g zt>Abm`m0!m-8p4imuVKd^8WHgQ(jxryjjCf7QohIx7UdiH35XD6U T&)c|aF4`HY15I7^NR|8x_^08o diff --git a/server/proj/loginApi/admin.py b/server/proj/loginApi/admin.py deleted file mode 100644 index 8c38f3f..0000000 --- a/server/proj/loginApi/admin.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.contrib import admin - -# Register your models here. diff --git a/server/proj/loginApi/apps.py b/server/proj/loginApi/apps.py deleted file mode 100644 index 4c9d542..0000000 --- a/server/proj/loginApi/apps.py +++ /dev/null @@ -1,6 +0,0 @@ -from django.apps import AppConfig - - -class LoginapiConfig(AppConfig): - default_auto_field = 'django.db.models.BigAutoField' - name = 'loginApi' diff --git a/server/proj/loginApi/migrations/__init__.py b/server/proj/loginApi/migrations/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/server/proj/loginApi/migrations/__pycache__/__init__.cpython-310.pyc b/server/proj/loginApi/migrations/__pycache__/__init__.cpython-310.pyc deleted file mode 100644 index 6dae44d640b4cdec5d7942cc33eae904ba97bb0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 180 zcmd1j<>g`kf(g-)X(0MBh(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o1Tl$aS`g2`x@7 zDvr4@>%zVZ`!8&`*mSY`Vtb5dNKj%*W`0b1W=Rp40aR3$S`<@Il%Exolb@cM=U9*# tlbe}dlvt9PpI00cAD@|*SrQ+wS5SG2!zMRBr8Fni4rF056OdqG005qbGH?I@ diff --git a/server/proj/loginApi/models.py b/server/proj/loginApi/models.py deleted file mode 100644 index 71a8362..0000000 --- a/server/proj/loginApi/models.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.db import models - -# Create your models here. diff --git a/server/proj/loginApi/serializers.py b/server/proj/loginApi/serializers.py deleted file mode 100644 index e47dd7f..0000000 --- a/server/proj/loginApi/serializers.py +++ /dev/null @@ -1,18 +0,0 @@ -from django.contrib.auth.models import User -from rest_framework import serializers - -class UserSerializer(serializers.ModelSerializer): - class Meta: - model = User - fields = ['username', 'email', 'password'] - extra_kwargs = { - 'password': {'write_only': True} - } - - def create(self, validated_data): - user = User.objects.create_user( - username=validated_data['username'], - email=validated_data['email'], - password=validated_data['password'] - ) - return user \ No newline at end of file diff --git a/server/proj/loginApi/tests.py b/server/proj/loginApi/tests.py deleted file mode 100644 index 7ce503c..0000000 --- a/server/proj/loginApi/tests.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your tests here. diff --git a/server/proj/loginApi/views.py b/server/proj/loginApi/views.py deleted file mode 100644 index a218880..0000000 --- a/server/proj/loginApi/views.py +++ /dev/null @@ -1,53 +0,0 @@ -""" from rest_framework import status -from rest_framework.response import Response -from rest_framework.views import APIView -from django.contrib.auth import authenticate -from rest_framework_simplejwt.tokens import RefreshToken -from rest_framework import generics -from django.contrib.auth.models import User - -from rest_framework.decorators import api_view, permission_classes -from rest_framework.permissions import AllowAny -from userProfile.serializers import ProfileSerializer -from loginApi.serializers import UserSerializer - -@api_view(['POST']) -@permission_classes([AllowAny]) -def login(request): - def post(self, request): - username = request.data.get('username') - password = request.data.get('password') - user = authenticate(username=username, password=password) - if user is not None: - refresh = RefreshToken.for_user(user) - return Response({ - 'refresh': str(refresh), - 'access': str(refresh.access_token), - }) - return Response({'error': 'Invalid Credentials'}, status=status.HTTP_401_UNAUTHORIZED) - - - - -@api_view(['POST']) -@permission_classes([AllowAny]) -def register(request): - user_serializer = UserSerializer(data=request.data) - if user_serializer.is_valid(): - user = user_serializer.save() - profile_data = request.data.get('profile', {}) - profile_data['user'] = user.id # Ensure the user ID is included in the profile data - - profile_serializer = ProfileSerializer(data=profile_data) - if profile_serializer.is_valid(): - profile_serializer.save() - refresh = RefreshToken.for_user(user) - return Response({ - 'user': user_serializer.data, - 'profile': profile_serializer.data, - 'refresh': str(refresh), - 'access': str(refresh.access_token), - }, status=status.HTTP_201_CREATED) - else: - return Response(profile_serializer.errors, status=status.HTTP_400_BAD_REQUEST) - return Response(user_serializer.errors, status=status.HTTP_400_BAD_REQUEST) """ \ No newline at end of file diff --git a/server/proj/scheduler/__init__.py b/server/proj/scheduler/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/server/proj/scheduler/admin.py b/server/proj/scheduler/admin.py deleted file mode 100644 index 8c38f3f..0000000 --- a/server/proj/scheduler/admin.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.contrib import admin - -# Register your models here. diff --git a/server/proj/scheduler/apps.py b/server/proj/scheduler/apps.py deleted file mode 100644 index 3a3846a..0000000 --- a/server/proj/scheduler/apps.py +++ /dev/null @@ -1,6 +0,0 @@ -from django.apps import AppConfig - - -class SchedulerConfig(AppConfig): - default_auto_field = 'django.db.models.BigAutoField' - name = 'scheduler' diff --git a/server/proj/scheduler/migrations/__init__.py b/server/proj/scheduler/migrations/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/server/proj/scheduler/models.py b/server/proj/scheduler/models.py deleted file mode 100644 index 71a8362..0000000 --- a/server/proj/scheduler/models.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.db import models - -# Create your models here. diff --git a/server/proj/scheduler/tests.py b/server/proj/scheduler/tests.py deleted file mode 100644 index 7ce503c..0000000 --- a/server/proj/scheduler/tests.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your tests here. diff --git a/server/proj/scheduler/views.py b/server/proj/scheduler/views.py deleted file mode 100644 index 91ea44a..0000000 --- a/server/proj/scheduler/views.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.shortcuts import render - -# Create your views here. diff --git a/server/proj/userProfile/__init__.py b/server/proj/userProfile/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/server/proj/userProfile/__pycache__/__init__.cpython-310.pyc b/server/proj/userProfile/__pycache__/__init__.cpython-310.pyc deleted file mode 100644 index 115d566aed93ab6dc1fe86baeeef4ca747f42ba8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172 zcmd1j<>g`kf(g-)X(0MBh(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o71e$aS`g2`x@7 zDvr4@>%zVZ`!8&`*mSY`Vtb5dNKj%*W`0b1W=Rp40aR3$S`<@Il%Ew-3giS7<)>xl jq{hU@XXa&=#K-FuRNmsS$<0qG%}KQbSyapfBv=>#@;NUo diff --git a/server/proj/userProfile/__pycache__/admin.cpython-310.pyc b/server/proj/userProfile/__pycache__/admin.cpython-310.pyc deleted file mode 100644 index 917d8e388952da620cacdfc080118e1dfe52ef6d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 608 zcmYjOv2GMG5VgI#cfQpgB2-jJl-t|~AcTS_P$Y;DTpDX7%f!CL7w>wp_lVMxNEG}5 z6_ixu3zA>B>yTTjd;mRTrywKE=#Bm6d1h?q^Adsm{^eJXF+zW0a@Pt-_QCxt2ogzb zP=^`D5fekYjAei`nVY;TSOK_bvC8;F;qOyb{J<}foXF_~l2e7(^gKJqY$oYDRL^ce z5!E;pLUy_bP%iC>>YvB#26~Bi`BI54%^FVnba2`s|J1aLv0j@azxDh6n z#>{BYk=hSNoc%;@54uRo90Em@q?5zCWcTD+^sQYS+kSNVy(2(ikDP+G zRt}mxweDmgHsgme?sbtAT?V8ufti%?F8*$qJ8{aj8$ dk9dn7#A^EVc0bSJclZiIg(_TON+@}V{{ibQr#Aoq diff --git a/server/proj/userProfile/__pycache__/apps.cpython-310.pyc b/server/proj/userProfile/__pycache__/apps.cpython-310.pyc deleted file mode 100644 index cbf7dbeee1886c77e40d7dc77712f9e1e0763e52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 461 zcmYjNy-LJD5Z=w^B;HSo&BkPat~U{Y099m4eM-qb z0Snk80Ve4K^DVGXh}-(XD&o>=b(p53WERHJmHAmVipc<7_YoxVDG=v6Ra)g)#Qz=B% z76Kb`W#X<7*Lk28%sR+0$kki~C?mpJ$2QzM$;?%1_&vaAw8hOtnisFdXYo~hl=tOx z`NR)Tj{}Gk9>w#l4zTD(W*kSK@TG}(kfz#8Z!?Bs=A?QB!67zvX#F>KS=Cu=XlgSH Z`I`Bkq=`C6RL*v@(vCT%HiBK!XMcy!dQboW diff --git a/server/proj/userProfile/__pycache__/models.cpython-310.pyc b/server/proj/userProfile/__pycache__/models.cpython-310.pyc deleted file mode 100644 index 58f92d9fec13d8410d42d5f8cfc4f55f2be29f3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1186 zcmZuxzi-n(6u$G1#7Uh}T0qb#3=A0v5@Ur>rAnYyYCyCsR>aBaxv9h14rd!d!~kuj z4p6Z$ASyN%CW1su1#S5guq7t1O#K5`n0U`gQ6xC)-o590_r34ldv;K%lnIRQAHvli z3L!ty7#$iIvoOOM5S(x-h(|3-QCEcGsg|1Ss?a>$(kZz~xW@HO!gWXO6gE_=$O}uP zRy>CDq((FCZsiXSbd3 zN=?o5mazT%ndZkrWTm((0-LiaSfK!WGEmoH&cO_)K|CQHvIEtHmBOmPs_c-rI^;!d z{HE2OTD@Ea@RG2@i21hXKme3RHwfLx4SXzZ=!n(#L{0$UuLXpkX=1g*X7UCu^9@qD zo<2{vn)AzdZ0-ilwj0S@0jGzKY<6YPX~tmOmcgnkoaUfM>fOg#k+Cq6jEx~qqX{=DiW)Zm4*(yH6S_h k*FJH>KS-u8;@6(T{*Oy$TpJ|!I#w+-K$yg&COxP80Y-FUxBvhE diff --git a/server/proj/userProfile/__pycache__/serializers.cpython-310.pyc b/server/proj/userProfile/__pycache__/serializers.cpython-310.pyc deleted file mode 100644 index af1cb6af00d50b856762cf237bcdaac80196fc62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 759 zcmZuv&2AGh5cc10+>oY-7La&@l~5i4AymNuacDqIxmYV%E9_J*yK%5Lt>}>=ao`Pj z15WS+aORd=edW{#;LglOlvFU1XTKSbzZrjCzrEcjU_ZXZ>3vGbPYgCqK(G%hJ_cuq zp*3l!q7755;fhntv05~l$^dgC>b&Wx9wkqS$xQy9nB3A6dBN3|=}kx>FM)>?Jl%*k zxT<#NHpG;jI(rsV9^0y2#DXSyXye?^qP>Kn2qeUjt(sSOcGEZn`>^6YaF!@)h+@#0 z8U~%&1ykH`=ql0>&rhye{=JG1GY*;M!1 zI7%)Mi37?X-~>lb@BguZMs&DGmRj1PoaQ*pI3m+x&(^1R_*{4q2!p7KJ27D%J^0JRhr?uCu!56V=cuOFdsxYr4sry2V<$ z&Dvg9R~_ADUC%dEPxo1057nYwwgt zToqzcJ(i^#UcCQ^7fOm(A*C3)WFoo7vrFfmgaZAZO30}Kt1Cj`9&R&4A_EqRfJGt{ z(Tjk^BF3sEu0 zb>JExpDd)YF2w^*uph38gC_I4b04qH8-5t+QT%rnN`v__3NSa|g?1xYLE43Pv z!7j#_W?9L#%re)^GF^#_y zGSEc>cKae!W(qx5a&~OJ>GDD2V*#odd-s2><=45K(_=P39fSe>y}taDpTySd@iFIv kNR3!&4owu?BER&5^PYZ4Z_jKZ>0_Jd8!k7EhL_`i04QpOo&W#< diff --git a/server/proj/userProfile/admin.py b/server/proj/userProfile/admin.py deleted file mode 100644 index 86b745d..0000000 --- a/server/proj/userProfile/admin.py +++ /dev/null @@ -1,9 +0,0 @@ -from django.contrib import admin -from rest_framework.authtoken.admin import TokenAdmin -from .models import Team - -TokenAdmin.raw_id_fields = ['user'] - -@admin.register(Team) -class TeamAdmin(admin.ModelAdmin): - list_display = ('id', 'name', 'last_name', 'position', 'img_person') diff --git a/server/proj/userProfile/apps.py b/server/proj/userProfile/apps.py deleted file mode 100644 index b7d8694..0000000 --- a/server/proj/userProfile/apps.py +++ /dev/null @@ -1,6 +0,0 @@ -from django.apps import AppConfig - - -class UserprofileConfig(AppConfig): - default_auto_field = 'django.db.models.BigAutoField' - name = 'userProfile' diff --git a/server/proj/userProfile/migrations/0001_initial.py b/server/proj/userProfile/migrations/0001_initial.py deleted file mode 100644 index de79f13..0000000 --- a/server/proj/userProfile/migrations/0001_initial.py +++ /dev/null @@ -1,28 +0,0 @@ -# Generated by Django 5.0.6 on 2024-06-19 12:09 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ] - - operations = [ - migrations.CreateModel( - name='Team', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=50, verbose_name='Имя участника')), - ('last_name', models.CharField(max_length=50, verbose_name='Фамилия участника')), - ('position', models.CharField(max_length=50, verbose_name='Должность участинка')), - ('img_person', models.ImageField(blank=True, null=True, upload_to='team_images/', verbose_name='Изображение участника')), - ], - options={ - 'verbose_name': 'Команда', - 'verbose_name_plural': 'Команда', - }, - ), - ] diff --git a/server/proj/userProfile/migrations/__init__.py b/server/proj/userProfile/migrations/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/server/proj/userProfile/migrations/__pycache__/0001_initial.cpython-310.pyc b/server/proj/userProfile/migrations/__pycache__/0001_initial.cpython-310.pyc deleted file mode 100644 index f4b7d3a0f19a27e87eb52afdc48631455d3090d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1058 zcmZuwzfTlF6rP>kyW73nQxwG5p+=Ky5G{={AO=GLF^bK)$!1{YmOb{Dv%5y96i6tP z*jN~2X=8_pAW^_Sz-G6wnbwLwz*v~5Z}yIGg)^C#_h#OF?|pCHM9pR$!TA1-w{yE<&Yet?pJ`3G+kvG6s7(PkT5+*w@ z@4m~o@;z|>lJEW(L+Ejoc(Ul(CF%bvKLFny2yq}o6)*bZ?!q?26?HFgotW_?3Rlb& z7(2kqWyzJS)y?-4pnNEvLhPM$fo3~+%a!??gTvTlnf?}$wk7u zYJFOkqNhhtq;5yQNBjcZE5*-;piN%4A3y^ncFFK7yzFZ6yx6d(=k5{eMYijuyi~vm z*xE6VI(7!eT^_YPpV`O1#U2|QyXy4PAB~r}{DxIn$p{D?X&9!4l_5N!$T_6o-&n_r w_DB1r|1G^|p;ZmqA)y&b+H#1XQ8l=+^P3A_K{Y19({d2j9AE%m4rY diff --git a/server/proj/userProfile/migrations/__pycache__/0002_alter_profile_likedsongs.cpython-310.pyc b/server/proj/userProfile/migrations/__pycache__/0002_alter_profile_likedsongs.cpython-310.pyc deleted file mode 100644 index 6bb9b3e1835edf2ea5eae53ecbd8126b73c997a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 600 zcmYjPy>8nu5ayq3S#^M-K=TLzv{-KEqDYq(El@XzJ!v7B9BojcD2KFTWa`ikUGgA( zC9a+N3I&4XsJMtvxC8IL6TkaT>W+>Ig7*F7dijeI@+T#SCNMcg4<{Ia0JWs0HEmhV zDEUNy0sl#WYufN1yyhV0q|E+eFDY3pTC?(MV>%b&pzT20aG9V(8)9;b9wrzxsVR_} z0bS9WYtdwhKo6QB2z;_T27^0}SPnxZ%H!zke+Hy`u?^av`EF^fj^pWc`bHXOHb&Vv zT<^<;HCGzuom+(kzLH&7<*uS|TWd>>1E(RSQ?15YirLa=3$t<*bJ^FWjD?igx3wD2 zV=1q<%BJ3wfnI9|+FcqQJVQmX_+U5Me@wS{o(iKc^KY|0k43lE`~CbT{xza~__wHT zl&^NXUG;f!uE2B^3cJz1LKRJQpt5>iaD{r`N|nguUaai3hNN|}zV+!-4$#9Z3^`$3 zJcx`@M#og#=MOzTD@7bZqui>Sz(ud1pSlO1Cww{`<2^Bd_q2=m`1g>II9{@2{s;~# BpymJo diff --git a/server/proj/userProfile/migrations/__pycache__/__init__.cpython-310.pyc b/server/proj/userProfile/migrations/__pycache__/__init__.cpython-310.pyc deleted file mode 100644 index c5de2f2da4df1f7ac28d8e95a2487eb4236068dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 183 zcmd1j<>g`kf(g-)X(0MBh(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o1T-$aS`g2`x@7 zDvr4@>%zVZ`!8&`*mSY`Vtb5dNKj%*W`0b1W=Rp40aR3$S`<@Il%Ew-3giS7<)>xl uq{ifCrWYlaWaj4;$Hd2H=4F<|$LkeT-r}&y%}*)KNwovnS