From 0b25a73127dcf25a8a2d200ae680eb8562fc3a30 Mon Sep 17 00:00:00 2001 From: TBS093A Date: Fri, 19 Jun 2020 12:32:04 +0200 Subject: [PATCH] create others schemas in one endpoint -> users --- account/__pycache__/models.cpython-36.pyc | Bin 2242 -> 0 bytes .../__pycache__/__init__.cpython-36.pyc | Bin 188 -> 0 bytes album/migrations/0001_initial.py | 26 -------- .../__pycache__/0001_initial.cpython-36.pyc | Bin 852 -> 0 bytes .../__pycache__/__init__.cpython-36.pyc | Bin 186 -> 0 bytes comment/migrations/0001_initial.py | 38 ------------ .../__pycache__/0001_initial.cpython-36.pyc | Bin 1014 -> 0 bytes .../__pycache__/__init__.cpython-36.pyc | Bin 188 -> 0 bytes migrate.sh | 2 + packages.sh | 1 - playlist/migrations/0001_initial.py | 25 -------- .../__pycache__/0001_initial.cpython-36.pyc | Bin 822 -> 0 bytes .../__pycache__/__init__.cpython-36.pyc | Bin 189 -> 0 bytes portfolio/__pycache__/settings.cpython-36.pyc | Bin 2725 -> 2819 bytes portfolio/__pycache__/urls.cpython-36.pyc | Bin 1178 -> 1997 bytes {account => portfolio/account}/__init__.py | 0 .../__pycache__/__init__.cpython-36.pyc | Bin .../account}/__pycache__/admin.cpython-36.pyc | Bin .../account/__pycache__/models.cpython-36.pyc | Bin 0 -> 2560 bytes .../__pycache__/serializers.cpython-36.pyc | Bin 0 -> 2192 bytes .../account/__pycache__/views.cpython-36.pyc | Bin 0 -> 1762 bytes {account => portfolio/account}/admin.py | 0 {account => portfolio/account}/apps.py | 0 .../account}/migrations/__init__.py | 0 {account => portfolio/account}/models.py | 33 +++++++--- portfolio/account/serializers.py | 43 +++++++++++++ {account => portfolio/account}/tests.py | 0 portfolio/account/views.py | 46 ++++++++++++++ {album => portfolio/album}/__init__.py | 0 .../__pycache__/__init__.cpython-36.pyc | Bin .../album}/__pycache__/admin.cpython-36.pyc | Bin .../album}/__pycache__/models.cpython-36.pyc | Bin {album => portfolio/album}/admin.py | 0 {album => portfolio/album}/apps.py | 0 .../album}/migrations/__init__.py | 0 {album => portfolio/album}/models.py | 0 {album => portfolio/album}/tests.py | 0 {account => portfolio/album}/views.py | 0 {comment => portfolio/comment}/__init__.py | 0 .../__pycache__/__init__.cpython-36.pyc | Bin .../comment}/__pycache__/admin.cpython-36.pyc | Bin .../__pycache__/models.cpython-36.pyc | Bin {comment => portfolio/comment}/admin.py | 0 {comment => portfolio/comment}/apps.py | 0 .../comment}/migrations/__init__.py | 0 {comment => portfolio/comment}/models.py | 0 {comment => portfolio/comment}/tests.py | 0 {album => portfolio/comment}/views.py | 0 .../migrations/0001_initial.py | 2 +- .../migrations}/__init__.py | 0 .../__pycache__/0001_initial.cpython-36.pyc | Bin 1369 -> 1371 bytes .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 190 bytes .../playlist}/__init__.py | 0 .../__pycache__/__init__.cpython-36.pyc | Bin .../__pycache__/admin.cpython-36.pyc | Bin .../__pycache__/models.cpython-36.pyc | Bin {playlist => portfolio/playlist}/admin.py | 0 {playlist => portfolio/playlist}/apps.py | 0 .../playlist/migrations}/__init__.py | 0 {playlist => portfolio/playlist}/models.py | 0 {playlist => portfolio/playlist}/tests.py | 0 {comment => portfolio/playlist}/views.py | 0 .../rating}/__init__.py | 0 .../__pycache__/__init__.cpython-36.pyc | Bin .../rating}/__pycache__/admin.cpython-36.pyc | Bin .../rating}/__pycache__/models.cpython-36.pyc | Bin {rating => portfolio/rating}/admin.py | 0 {rating => portfolio/rating}/apps.py | 0 .../rating/migrations}/__init__.py | 0 {rating => portfolio/rating}/models.py | 0 {rating => portfolio/rating}/tests.py | 0 {playlist => portfolio/rating}/views.py | 0 portfolio/settings.py | 20 +++--- .../migrations => portfolio/song}/__init__.py | 0 .../song}/__pycache__/__init__.cpython-36.pyc | Bin .../song}/__pycache__/admin.cpython-36.pyc | Bin .../song}/__pycache__/models.cpython-36.pyc | Bin {song => portfolio/song}/admin.py | 0 {song => portfolio/song}/apps.py | 0 portfolio/song/migrations/__init__.py | 0 {song => portfolio/song}/models.py | 0 {song => portfolio/song}/tests.py | 0 {rating => portfolio/song}/views.py | 0 portfolio/urls.py | 44 ++++++++++++-- rating/migrations/0001_initial.py | 57 ------------------ .../__pycache__/0001_initial.cpython-36.pyc | Bin 1416 -> 0 bytes .../__pycache__/__init__.cpython-36.pyc | Bin 187 -> 0 bytes run.sh | 2 - song/migrations/0001_initial.py | 31 ---------- .../__pycache__/0001_initial.cpython-36.pyc | Bin 1043 -> 0 bytes .../__pycache__/__init__.cpython-36.pyc | Bin 185 -> 0 bytes song/views.py | 3 - 92 files changed, 167 insertions(+), 206 deletions(-) delete mode 100644 account/__pycache__/models.cpython-36.pyc delete mode 100644 account/migrations/__pycache__/__init__.cpython-36.pyc delete mode 100644 album/migrations/0001_initial.py delete mode 100644 album/migrations/__pycache__/0001_initial.cpython-36.pyc delete mode 100644 album/migrations/__pycache__/__init__.cpython-36.pyc delete mode 100644 comment/migrations/0001_initial.py delete mode 100644 comment/migrations/__pycache__/0001_initial.cpython-36.pyc delete mode 100644 comment/migrations/__pycache__/__init__.cpython-36.pyc create mode 100755 migrate.sh delete mode 100644 playlist/migrations/0001_initial.py delete mode 100644 playlist/migrations/__pycache__/0001_initial.cpython-36.pyc delete mode 100644 playlist/migrations/__pycache__/__init__.cpython-36.pyc rename {account => portfolio/account}/__init__.py (100%) rename {account => portfolio/account}/__pycache__/__init__.cpython-36.pyc (100%) rename {account => portfolio/account}/__pycache__/admin.cpython-36.pyc (100%) create mode 100644 portfolio/account/__pycache__/models.cpython-36.pyc create mode 100644 portfolio/account/__pycache__/serializers.cpython-36.pyc create mode 100644 portfolio/account/__pycache__/views.cpython-36.pyc rename {account => portfolio/account}/admin.py (100%) rename {account => portfolio/account}/apps.py (100%) rename {account => portfolio/account}/migrations/__init__.py (100%) rename {account => portfolio/account}/models.py (58%) create mode 100644 portfolio/account/serializers.py rename {account => portfolio/account}/tests.py (100%) create mode 100644 portfolio/account/views.py rename {album => portfolio/album}/__init__.py (100%) rename {album => portfolio/album}/__pycache__/__init__.cpython-36.pyc (100%) rename {album => portfolio/album}/__pycache__/admin.cpython-36.pyc (100%) rename {album => portfolio/album}/__pycache__/models.cpython-36.pyc (100%) rename {album => portfolio/album}/admin.py (100%) rename {album => portfolio/album}/apps.py (100%) rename {album => portfolio/album}/migrations/__init__.py (100%) rename {album => portfolio/album}/models.py (100%) rename {album => portfolio/album}/tests.py (100%) rename {account => portfolio/album}/views.py (100%) rename {comment => portfolio/comment}/__init__.py (100%) rename {comment => portfolio/comment}/__pycache__/__init__.cpython-36.pyc (100%) rename {comment => portfolio/comment}/__pycache__/admin.cpython-36.pyc (100%) rename {comment => portfolio/comment}/__pycache__/models.cpython-36.pyc (100%) rename {comment => portfolio/comment}/admin.py (100%) rename {comment => portfolio/comment}/apps.py (100%) rename {comment => portfolio/comment}/migrations/__init__.py (100%) rename {comment => portfolio/comment}/models.py (100%) rename {comment => portfolio/comment}/tests.py (100%) rename {album => portfolio/comment}/views.py (100%) rename {account => portfolio}/migrations/0001_initial.py (97%) rename {playlist => portfolio/migrations}/__init__.py (100%) rename {account => portfolio}/migrations/__pycache__/0001_initial.cpython-36.pyc (70%) create mode 100644 portfolio/migrations/__pycache__/__init__.cpython-36.pyc rename {playlist/migrations => portfolio/playlist}/__init__.py (100%) rename {playlist => portfolio/playlist}/__pycache__/__init__.cpython-36.pyc (100%) rename {playlist => portfolio/playlist}/__pycache__/admin.cpython-36.pyc (100%) rename {playlist => portfolio/playlist}/__pycache__/models.cpython-36.pyc (100%) rename {playlist => portfolio/playlist}/admin.py (100%) rename {playlist => portfolio/playlist}/apps.py (100%) rename {rating => portfolio/playlist/migrations}/__init__.py (100%) rename {playlist => portfolio/playlist}/models.py (100%) rename {playlist => portfolio/playlist}/tests.py (100%) rename {comment => portfolio/playlist}/views.py (100%) rename {rating/migrations => portfolio/rating}/__init__.py (100%) rename {rating => portfolio/rating}/__pycache__/__init__.cpython-36.pyc (100%) rename {rating => portfolio/rating}/__pycache__/admin.cpython-36.pyc (100%) rename {rating => portfolio/rating}/__pycache__/models.cpython-36.pyc (100%) rename {rating => portfolio/rating}/admin.py (100%) rename {rating => portfolio/rating}/apps.py (100%) rename {song => portfolio/rating/migrations}/__init__.py (100%) rename {rating => portfolio/rating}/models.py (100%) rename {rating => portfolio/rating}/tests.py (100%) rename {playlist => portfolio/rating}/views.py (100%) rename {song/migrations => portfolio/song}/__init__.py (100%) rename {song => portfolio/song}/__pycache__/__init__.cpython-36.pyc (100%) rename {song => portfolio/song}/__pycache__/admin.cpython-36.pyc (100%) rename {song => portfolio/song}/__pycache__/models.cpython-36.pyc (100%) rename {song => portfolio/song}/admin.py (100%) rename {song => portfolio/song}/apps.py (100%) create mode 100644 portfolio/song/migrations/__init__.py rename {song => portfolio/song}/models.py (100%) rename {song => portfolio/song}/tests.py (100%) rename {rating => portfolio/song}/views.py (100%) delete mode 100644 rating/migrations/0001_initial.py delete mode 100644 rating/migrations/__pycache__/0001_initial.cpython-36.pyc delete mode 100644 rating/migrations/__pycache__/__init__.cpython-36.pyc delete mode 100644 song/migrations/0001_initial.py delete mode 100644 song/migrations/__pycache__/0001_initial.cpython-36.pyc delete mode 100644 song/migrations/__pycache__/__init__.cpython-36.pyc delete mode 100644 song/views.py diff --git a/account/__pycache__/models.cpython-36.pyc b/account/__pycache__/models.cpython-36.pyc deleted file mode 100644 index e8915085347ad33930e23cc8f2172a026554e395..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2242 zcmZuy&5j#I5T2fY|L#u+0VK#GRv?40C6G9v2szn^fRtDfn_OB5Yj(PKcf2zm)6)*D zYD26>Z-1&wiMji-kc#BdRG-SRPU1+DJlxRnUgT$T3}FMhNt7ltsfw6PuO1gn zAES5*A}!8@#ck<~T)~7boYyw@%*OxqFc4^Q(X1rel}QS5h72g&dBfOqTU5`gNGf@rgd=!9hM9Yjw`;@1I|7 zK|8iV=%Fu-1B_xDWNwYD5u3AxxiPq81DFnnLy^RKI4u3?L=Yx+=@v3QE?tuUVX0m0 z{pZKtX`abmF0=}GD!*OBp+X|^rASX zL-(q?>Q2tf@L1*9W4NPp7A68VySs@;ccpRTIvCXZw1xJqu0t^H2pjP^vz;3zo=F|O z7<62UnSeyh_2Cewn5M)xhr^$zQMz0SqvdUw_&3NMxGG(;MVvWo$ke;w2c5dQi?4c{ z$UPzyN?AKNjnub^Oa*si+-ez^_|CyHL9|XA~^Qs2Yz$oe$eyF}UnB9)LiJ!NLGs^_ICE>x=Jo>pK*RNd9im6Ti94W*nQNq9nyV zRj&79C6R*S>%ESr-iOCB$d62lmClLOWusajk_F{sz2m44@KN_kH=IO8@k_4629oBs zLM2agQ8~_?%W;uhn5b6o2+o~P?yXo6U* z$*Mf_?OAJukI{)~dG%1~nZzJ$%;mDdhG~<*>ohKX7|5sk6X>qWyS-r>OKZHTWM~-U zR2cpp=l{<0o>#kHIj{^m^z}?_$fv~$F*3U&DQ>_wl@IKw~BWk znrep#?Npx;Av+tk*Abfgp^`5`kkAgjb`51pIs8A^`lLo!UzaIr!!EriQ(5Q%a{AUm zuED(a_c`|W$Pi(L21N5gXSb}0Q8YfuyW*&7K8@x46u(2|K&gChDT#CZIFh3-{SdoV zFII$3dFKrZCJFgHg#!+c6^a*ic80R4{;#GM`Tbj~WZ0zK%DPF~_DwBCc$MBW`fr=A hR%JSc^Cq0j@IlqEzo7&y2#+Q*7O!onv)kN#=Rdn;_KN@j diff --git a/account/migrations/__pycache__/__init__.cpython-36.pyc b/account/migrations/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 34563f63d551045c6d59db45eaaa5da03b6aadad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 188 zcmXr!<>lJ>?qwVU5IhDEFu(|8H~?`m3y?@*2xib^^jpbL1QJFNzcTeR@^e%5^HX#6 zUGlR_b5rw5D)j@3^0QKtON#Xi@{3B+@^dot5iF;~HRKR!M)FS8^*Uaz3?7Kcr4eoARhsvXD)#X!se0F90|)Bpeg diff --git a/album/migrations/0001_initial.py b/album/migrations/0001_initial.py deleted file mode 100644 index 7e3db98..0000000 --- a/album/migrations/0001_initial.py +++ /dev/null @@ -1,26 +0,0 @@ -# Generated by Django 3.0.7 on 2020-06-17 12:26 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ('account', '0001_initial'), - ] - - operations = [ - migrations.CreateModel( - name='Album', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('title', models.CharField(max_length=255)), - ('description', models.CharField(max_length=255)), - ('image', models.TextField()), - ('url_code', models.CharField(max_length=255)), - ('user', models.ManyToManyField(to='account.Account')), - ], - ), - ] diff --git a/album/migrations/__pycache__/0001_initial.cpython-36.pyc b/album/migrations/__pycache__/0001_initial.cpython-36.pyc deleted file mode 100644 index ee62ff1a54a535169ac5b7733b5edfdd94578f80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 852 zcmY*X&2H2%5O$oO-TZ7@pgaKxX)jF?SA<$x6>-=KiJtaAKsI%N zO*uFOvpaL99{TeDJn(TaAA&wzIDh-o>(KYq8mp3ttb9%vSQeQ zXZFu5fakZIq9pKwQhsT|$vW3FGZ1;Mx~etF{{H^kOjfd$qA>npao&}NOE@w7^YPd- ziRfCD-C6CPa({h*%VRl8ERC!$)ODJxfwNY(f-48NIvWwW#5-y*$KC8i3?^jIyr603HZ ze$i@0g{uYeSfeYNqz!yr-bAy1(3{zS3S3k{P~VvHHQ1(^$@S-2V&1_ptx~ diff --git a/album/migrations/__pycache__/__init__.cpython-36.pyc b/album/migrations/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 53294ff23b2612002760645be134b433b0a8007b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 186 zcmXr!<>gXgd=8S%5caNp{ySe1ARvM0XmE25qD3gjg+vG?LJBl4u=YHAjvd=;);^R=3++7! zEib@(Y)cg$fhLUY9EYI6)~;rDJfFY$X7=f529qO6r!2;g~r61TDS zTV=607K^e` z-rnBclPE3ICS|!AzN@*MilX2cqA46I`s%bT|_xAljckr3rxA(zF{z)^h~e^jwmA(o;O_4 zMkt%j>PE7-@pWZ%kmfw)In>G$Ro^M^Xu<1dO?Z&B-sNbG+yzg3DhEhHnk|zZWk(&o zC{k_|VWSs0N85{{4-1yJe?iY$>)`>fcnQ3WQ(jAo2x>U(R5)%&MC$E{GeL0?L`1ZSe) zf#5}OAkG(UQk_4d=GXMaAb~R!E diff --git a/migrate.sh b/migrate.sh new file mode 100755 index 0000000..a7bb1ff --- /dev/null +++ b/migrate.sh @@ -0,0 +1,2 @@ +python manage.py makemigrations +python manage.py migrate \ No newline at end of file diff --git a/packages.sh b/packages.sh index 90d8ee7..33bbc06 100644 --- a/packages.sh +++ b/packages.sh @@ -1,7 +1,6 @@ pip install django pip install djangorestframework pip install django-filter -pip install django-rest-swagger pip install django-enumfield pip install pyjwt pip install markdown diff --git a/playlist/migrations/0001_initial.py b/playlist/migrations/0001_initial.py deleted file mode 100644 index 6481787..0000000 --- a/playlist/migrations/0001_initial.py +++ /dev/null @@ -1,25 +0,0 @@ -# Generated by Django 3.0.7 on 2020-06-17 12:26 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ('song', '0001_initial'), - ('account', '0001_initial'), - ] - - operations = [ - migrations.CreateModel( - name='Playlist', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('title', models.CharField(max_length=255)), - ('song', models.ManyToManyField(to='song.Song')), - ('user', models.ManyToManyField(to='account.Account')), - ], - ), - ] diff --git a/playlist/migrations/__pycache__/0001_initial.cpython-36.pyc b/playlist/migrations/__pycache__/0001_initial.cpython-36.pyc deleted file mode 100644 index 702606ece5d6dd45740bd420356263c0d825d957..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 822 zcmYjP&2H2%5VoD{Pj=HEO1Z-YX)l{1t_ZcXD&o+pQhUmQ$j!{A-X?Kyyol`;u6+<* zfk*L`Q+Wg~Wt?r<+VbcdkM()xn|ZsjF}ffB`TR>T_M1IfA>n;G?Q1f?fS0V|DX&B- zIQz&zK=6Y>fP5Z&57Gd_b2jPS(OWhVZd9qlNUL<+x_+er%Qp9+#}yISr_;{JAWJ#0 zQ~)QM=dfFdG{oM#4?XDPU_Jy+djLa-Zo`>?5#2>FhWM6~C&(MY25ffTR_AT6yds2W zx1!+b7js*+}zUE|V4EgB+FH|XN8XfAb&SuHDcJ*#YqclT7~gp(@rTUKIS z*sGh!|35t^Ljhs63l~Ikv-Oa|^k9_=X&H7*{h7iN+S7?JJz_I`PbtjcKaSln>psmg zH_9>+eNiIeILp2)Wa&xB8$8w;12$L#*15vgQ1h7^A9l5!_;#7V-$Vyg^0EKeMTb|? ztl-v(td|$s+ttNLH~7%)pUk}UDS7j^POfx?iN-29($|X$Yr9O&jGkj|+oaLP&UC5t z8hw!Ybt0RlRCzZ%>qyc(bR=0%R`RrY(`IS>$a-Dc9Wp}^27>p)kPETPH)(hAQ|e>{ jb6FR93YT5sU9DYko%;&CA|5wfMAd=h*G4Ga zbdfJWl@N<;S+GOO7w{LzTbBF;mo5-9I!7bT%sC^?*YdPt?&b5@+OywpHVc~eOZzXf zs(!8z8SImJbna&-lbLCqY`u~ zD^wKL(4gu+q5D%#HD&t%5Ag_lcsxrffhX#yb#Pm&Kb==tnKv?!19##@{#jLuD0TyBIP>vkO~+OL}JcB|*w hEyuAsZTp)hP4zQrUi?`2e9_PDFY0V5#W`nx^AA(6i3R`w delta 345 zcmYk2KTpC?0L1%BwNM4hpB4}iR76q1Kj`G*OpJ@$8zhx0FU6MPYYA~OhEHHfoLC*0 z`(=o$8-t(0>f|NA%UyEQP4o|~+KR`OWodc;nh=C9;h)qnUx#?#!dtcdf+SR=kVXbs zrcwnObmWjn0UIbXnXX}z5tOjSM3iSDT}Oq+vCRZX*ugHU*h7s;7Qy~ZVuU7eK$EEB z&?J4aubQhknus`_i58(LG|&u}4V?V>sa5|iXBJ@+P2-$q(4tvLR148Va=4&*h<8H$ zGH4P_%<0_p{7#P>jyZPuW5*jCjG26T6DeNFMz`yZ20mRe?1z!_DR*7RF~c4m+QzeO zc|MH|UGDc>+j8kDH+*ZrsN}f=7Cc235fTmBa*c@fLa>OINo+3gN_Z5nOv}pqbgta~ E0O^HXwEzGB diff --git a/portfolio/__pycache__/urls.cpython-36.pyc b/portfolio/__pycache__/urls.cpython-36.pyc index 2ba2f6d88be3d248441627123ede0f439740de62..f9a272a1531dccd4066206c20c033a393fb3e0f4 100644 GIT binary patch literal 1997 zcma)7OK;mo5GEx`lqp$q{K(U3Hc1ObKq4khPDWeAdDcKs1bH16MH!kqq9}7oVs{zW zy86&d4fJpHFY($_fc}D>I=hr(r9gpD&~kQnX7-zJW{3AzSG{+?{r$`Du4VmYEj=qJ zKg7R$XRNoo5$Ln&?ZfT*Q@Y#~1}T z>=HC)WOn_yf%0W&HMW_^rOui>+ zA{7yNsX%H2NmNcgBycFlSK-5dtD!L`rj_}O~@F)QiN!V!A@@thqo7TO>+*nNfvVWeyHW)$a|cI zQr_9ez}S-4|3i_hDF_W@Y=}CA^CS8)=)Vw+)*pv5&`xfR{)1>Qi_(%MS&Sr@^K@tt zCi9e^JwpsZD3~6t3%5pOvY>LOrmIfJSQCBF_H|3KFjRB1&2gfME5gx33kQ1P%wS>^ z#&wcKTU&ORm;^_mj0JuSEcCvZ)^|sAw3|zM(BB5(X`SuQ!wD9!7ZzPqsa8I9InmQ5 zZWu**iGcfh*V)5{MP2NDIwRD5QD=m9FwgnnZgxbwOXWsapVWzcWooW!*R@x51jN`J zLD2qg?fo4V+-p#@_grUaF{>PzD8M}8Evvdqou_I&dHU$>bLt)@Y8sTupOzRRIy3z9 zv#(o^p9A-w&7YlPtl!8kHYA{$DV`bWE%0=&XS}tjEkeH^BvDwnZgeP vJW%f7;MhHT)9y8T_+G2ujfU;m4fFHtKF)eh$6mMl&7R%2H=7;Q?W69$wT*1u delta 372 zcmYk2y-ve05Xb$I#7!Ev6&nj6#L}e?rfj?c z69bRH%nO8(iGg>(iICu|JOBRoA`vpAio1;`<;?GTbUHDJxd;?~@QNESi945LWu;4YTS(rH`v zOETUo`SHc+&PfXMEKZBOnJ?l($j#BuaLiq=B2X4O%p)E*AQOq6OL_iGwBu5;aKD3lAk|?%I}2it3U| zYC%59KrYQ2^aa{S+G|fi-=LTFo24YnLMiNMb~&8g`R1D;KX132KmPgm&o_O>{$gvF z3;ixe`5S~_f@dt}5$B{^nU&j-ZFDN50YBEXW&C!{}bt%v({*=zbRF z?WoP!LnZ>zIA@|E`LHv$qb;m7MGGq}>B_CS6K!K96m6`uF}I^DqVt?}x8CAJtjo2R z7eZzwwD3_?ji1SKT#QPIx${#g6|ER67dL7G&w9<158FNza6!eR@ygCrYFr7BZ$ zy}TSKcQMMx5Rye)u*j13&=Fi%!hT~#u9-QDnP+CM@XS45_#!xGQGg&CqKP1yb1Q0y z7D5Phc<-RBRFYP7(#Y8#RHtwM#Wr0_hcBf%C`uWRl3eO$p8OhTa&%N3NB({>8CB{u zvVM5_b_>?21wj}6)7Zx-w;^V1$cB8z=O$y=lK0^{h+{EGt2ox)WGo01OFN~^4z)w; ze=xO!Xa70u9T&Om6*BKVC{89h5IpTYRmD)IRoNRCsyZyPL2;qoPtucKG9G6H^q?4B z+*#9-G^OMB>a6XJPjzspiu?gKrW2PY7Cybcj?CWD;!>OLStT#}U5BD4ND+NAj&X`fMtT^>zf6*BaVJO?c`-<=iL2O3JLHQrbJ&2ZUFiL8 zQ(ecudWXaf5)_JV>>nrU`+>}ac2eY5`zC&Ms;$9TT_Zbsd~FW`Uy*y&fM{WqO^ASZ z=w}7CS-%7Yag?qNj!JO!cf-&&(a+o;#5bhWf<{qHFH>0 zbJV|AXACvsDOpX_C?(|Sq5!Ew7`{D%Qh{wlYlc3t3+@TaNPCyf?K6(KgE^0FXzngH zgYH20%&I%%LvPMFERa3FuY(C{!jRvUc{0d!Fiy(yRiT7>4_m35ByK@;ef2*6v|k(; zYU)<1Bv>7jgAH5oJb6icH{OYK+FvkoEdwUYfs#jqvXUk}B_)Mf9;aW^YVwdbdBCUJ z3vl+9#;Hw)xI7F>i^1kTlnRl}EWzJcXZFk%?4+T-tbo?go*_kV_?c5Vn7K0tjf0=L zGk54c2WG+@01?4}iihe|x8X~D2+`$6M_wF?RJ(|_P}49gjs~OKhk#59U_%Kq0I83l zY5Pc43T>WguZBr=$d{+6iY}Z-0XocM@}#{iq#H!*U}UUy(nh7b&})HL<1X?qEc zu~~73xI@F>LI9b_c;C22Nah%(1XgvRJ-8?)RS(w7{?J+Tj$5l1NbnOajr-5YJ!p2~ zsav2I^f^BRJ<$>^YKhRSx;a9#iG1cTR=>vA(e}6)>#&qnyyBjz*pK13Yu9I`=#Bjb zIEq>`oxoHt129eVo34&tH{aFK>DV+V1OsQq=8NvV?A&fS86(S|!U9YnsC1~3SF6*3 z3ynBVGZac3*XJQFn+Luox8$Gk>9r+#>!EeSjRuCuD>U*nm(_70v{%=c`h+}QA+bk- zvSMO2yXf{}|5Rq#@(h$or1lH4H0Pmur50(z3@nRphn+@X2X!TRbr3=T~_CTMUB%nl{b*-5uQ!!(?<+?1_WAVYe3ZV|+{~%7uP+ zv62>e?G6t1=yPJPet#)qu)g{~2Bz-x4TS^7hYBwobgmP$iTdkAQG3uIY}_Tsrp}h$ zO`UcwTd9B^b)V2zk9iZ+#ZBR?G0+50aqHll`X%=rA!+(ph%&{`GSc1&ckcWLh_pba literal 0 HcmV?d00001 diff --git a/portfolio/account/__pycache__/serializers.cpython-36.pyc b/portfolio/account/__pycache__/serializers.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1213bb23017b2b2c6979f497a400866685cb964e GIT binary patch literal 2192 zcma)7&5|265FX9H$M)_fY(f%#0)&F{WqqKE6Gb@$SV&d2QiRhSGBq{QddE9IMj8WN z_O`jgd+;Q@gRY#mcmpo*wZ_@8oehOt>S?uP>1*}Ztxtx-=;0rKJ^#hCtUs-_=0cyK zs{(>soE28dVpiI*%`9$nr*KL)c8%^9Ug^ia(Y+!l!#HHtp~Zb3ys&s6+*$9!i6dA- z-h-tlB8>YON4$@5A1em14Ef-hH5y(r967Re@G#5jMb&8Ua3NH439B_?y03)H(;`0; zQeoJ8nojd7ZEA_Z;IXQ!?}VDyl@b~K;bn86OwiSH2w}yHTd^&inadfse`T=;-RBN> zp$E{z3oGs!n`dm1(S4)$*Yp9r2zUrD!V4Q7^x#3H_gBylMf2CZ_as%dj_Ie_W%ABYX;J`59d^&UhAJvPt@GWWPY^<$3*I6OSNd)?s&PehYy zJLfuF-~y|(6xtJIninw6wVUP5QU~U~o7@ZQIhB=Ny?fp3epEj^1~u6+8JpB zkoGVs3hf`~qTuRxOWuXmh`&$ACv_>twJ675)~Ab7RLyeyRMs<*HEKMsWpi8?dEIGW zq}k~>ozIIrOPjo|x|uaCZD}!H9+L8N&=oX3FB*1k` z55BD$F%|M_f-QH*)O&Q2uEx7Gj=rM%X&2DO@&<{UB;FuF+jri!+C8#`5Y!cI8?pg@ ztsK~9ZX>)`%={FKyYP0*q!7QbVxPi{Z?M5QWRzjtjaAS)y2%LpjhO7?lToCo(UzyBwaXf7VPaxAZugPKUXW(@s?$EC0 zD0X(|6+j2=qKq7-Mqla%3*FQ?o1q`GbNjay9;W@poQ@qi@_nq(VP2^wtui4$z;FwO z{17$@%70*Jx682Tss+#{=!&-N0yq>T3F-z&83~|}O z4xP}EWZk$Z2ZjkPdkoQCRL4|P7rPotjHP-SuGP^V*t>ccP%oqQLiMhx@EvziDrFCc zNUDe{4$C3*4Lp?R6Lj@9M2Dvf+|)(LJcP_Y+uu6D)WbGln^}ELaLDif5u6c0*{VJL zYlB00+p|rWHUYdoOdsQK59km|+*LtAuq4@0=Cp4ru`)R<3AEmkcsP?|i9!xCp0<_m z7N4cnv_8mcDGuf@Ur$NTjP9@IPMT&eDKYf!6DsdrXiNb!+|c*FS(wH literal 0 HcmV?d00001 diff --git a/portfolio/account/__pycache__/views.cpython-36.pyc b/portfolio/account/__pycache__/views.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f88df5e524e312285a1311c689ebcff258255cd2 GIT binary patch literal 1762 zcmZux&2Hm15Edm_mVaYANt0}M+e3fVgI%C|EQ;+9khVbGpecIbp@J$hjvVS|NqW-+ z*;8`OgY*IV20io{cgl>GKdW4?eivu-vYxON|-}k?k)Xg>(ZeCZ_|)>7~$QFF!!3Ukol~2MJ@^L-Qxq+zH)%= zGY@3!m|=4=>UPNW&EK#+-d;9Zsd?%(F+f#07{=G|s*k~F=fb^&D$?Y_S-KZ4BiHV0 zPkR^MC3)>@{{n*}aEv>LE#2xQ3QVh#S)pYQmYeY9ipw)do*cta2FUp=(Mi-YzT)D@ zv?T{0rR6rxwUb8Mu6m>8AC7zmbN}(#ahda3$@AGa<;g1Ng+7}d$P!beW>qQmQ7N)= zjlN3KlUY(#B1;o2mG#UW)EqdoMK-O@Oei7RjKAVLaHtBwIBrOWBqZlM_m!O9dZsRV z!E>wMkAT%K7|_pI5{3zLK`$5d0_8w2Z~ij~=I2Rq7WuU}c%D^A;>xHc_mFr3#`uX` zC=;BV;=g=~JW5iVcdUoVlt!d5e~vpO=bI0rMURNgqk#$IxJYsy$EF*{dC67+aX*e< zt`bqt$N}!!t{XrZFA+l805^~yt+NxSB2h}BPW3h3Mf4t;b%+*WbaDa)U)2Q@x?SSC zebNssf3F*`*YbMIL}KF2)_rnnOG#o+(Y*&#jHjin4Tv5ye_gY VFsU}7kn{S7*~b^`h-`V2$^TSmy|(}W literal 0 HcmV?d00001 diff --git a/account/admin.py b/portfolio/account/admin.py similarity index 100% rename from account/admin.py rename to portfolio/account/admin.py diff --git a/account/apps.py b/portfolio/account/apps.py similarity index 100% rename from account/apps.py rename to portfolio/account/apps.py diff --git a/account/migrations/__init__.py b/portfolio/account/migrations/__init__.py similarity index 100% rename from account/migrations/__init__.py rename to portfolio/account/migrations/__init__.py diff --git a/account/models.py b/portfolio/account/models.py similarity index 58% rename from account/models.py rename to portfolio/account/models.py index 3dbece1..f00d2bf 100644 --- a/account/models.py +++ b/portfolio/account/models.py @@ -22,27 +22,42 @@ class AbstractUser(models.Model): class Account(User, AbstractUser): - def register(username, email, password): - if Account.objects.get(username = username) is None and Account.objects.get(email = email) is None: - Account.objects.create_user(username, email, password) - return Response(f'Account created: ') + @staticmethod + def register(userDict) -> object: + account = Account.objects.create_user( + userDict['username'], + userDict['email'], + userDict['password'], + ) + account.ip = userDict['ip'] + account.city = userDict['city'], + account.country = userDict['country'] + account.save() + return account - def login(username, password) -> dict: + def login(self, username, password) -> dict: tryLogin = authenticate(username = username, password = password) if tryLogin is not None: user = Account.objects.get(username = username) token = Token.objects.create(user = user) return token.__dict__ else: - return { error: 'login failed'} + return { 'error': 'login failed'} - def logout(): + def logout(self): pass def update(self, userDict): + if 'password' in userDict: + password = userDict.pop('password') + self.set_password(password) self.fromDict(userDict) - self.save + self.save() + + def set_password(self, raw_password): + return super().set_password(raw_password) class Guest(AbstractUser): - pass \ No newline at end of file + pass + diff --git a/portfolio/account/serializers.py b/portfolio/account/serializers.py new file mode 100644 index 0000000..58a09a6 --- /dev/null +++ b/portfolio/account/serializers.py @@ -0,0 +1,43 @@ +from .models import Account, Guest +from rest_framework import serializers + +from django.core.paginator import Paginator +from django.http import JsonResponse + + +class AccountGetSerializer(serializers.ModelSerializer): + id = serializers.IntegerField(read_only = True) + username = serializers.CharField(max_length = 100) + email = serializers.EmailField() + ip = serializers.CharField(max_length = 12) + city = serializers.CharField(max_length = 255) + country = serializers.CharField(max_length = 255) + + class Meta: + model = Account + fields = ['id', 'username', 'email', 'ip', 'city', 'country'] + + +class AccountSerializer(AccountGetSerializer): + password = serializers.CharField(max_length = 100) + + def create(self, validated_data): + return Account.register(validated_data) + + def update(self, instance, validated_data): + return instance.update(instance, **validated_data) + + class Meta: + model = Account + fields = ['id', 'username', 'password', 'email', 'ip', 'city', 'country'] + + +class GuestSerializer(serializers.HyperlinkedModelSerializer): + id = serializers.IntegerField(read_only = True) + ip = serializers.CharField(max_length = 12) + city = serializers.CharField(max_length = 255) + country = serializers.CharField(max_length = 255) + + class Meta: + model = Guest + fields = ['id', 'ip', 'city', 'country'] \ No newline at end of file diff --git a/account/tests.py b/portfolio/account/tests.py similarity index 100% rename from account/tests.py rename to portfolio/account/tests.py diff --git a/portfolio/account/views.py b/portfolio/account/views.py new file mode 100644 index 0000000..fab2df6 --- /dev/null +++ b/portfolio/account/views.py @@ -0,0 +1,46 @@ +from rest_framework import viewsets +from rest_framework.views import APIView +from rest_framework.decorators import action +from rest_framework import mixins +from rest_framework.response import Response + +from drf_yasg import openapi +from drf_yasg.utils import swagger_auto_schema + +from django.core.paginator import Paginator +from django.http import JsonResponse +from django.shortcuts import get_object_or_404 + +from .models import Account, Guest +from .serializers import AccountSerializer, GuestSerializer, AccountGetSerializer + + +class AccountViewSet(viewsets.ModelViewSet): + + queryset = Account.objects.all() + serializer_class = AccountSerializer + + @swagger_auto_schema(responses={ 200: AccountGetSerializer }) + def retrieve(self, request, pk=None): + print(pk) + account = get_object_or_404(self.queryset, pk=pk) + serializer = AccountGetSerializer(account) + return Response(serializer.data) + + @swagger_auto_schema(responses={ 200: AccountGetSerializer }) + def list(self, request, *args, **kwargs): + serializer = AccountGetSerializer(self.queryset, many=True) + return Response(serializer.data) + + +class GuestViewSet(viewsets.ModelViewSet): + queryset = Guest.objects.all() + serializer_class = GuestSerializer + + + + +# @swagger_auto_schema(request_body = AccountSerializer, responses = { + # 200: openapi.Response("OK", schema = AccountSerializer), + # 400: openapi.Response("Empty") + # }) diff --git a/album/__init__.py b/portfolio/album/__init__.py similarity index 100% rename from album/__init__.py rename to portfolio/album/__init__.py diff --git a/album/__pycache__/__init__.cpython-36.pyc b/portfolio/album/__pycache__/__init__.cpython-36.pyc similarity index 100% rename from album/__pycache__/__init__.cpython-36.pyc rename to portfolio/album/__pycache__/__init__.cpython-36.pyc diff --git a/album/__pycache__/admin.cpython-36.pyc b/portfolio/album/__pycache__/admin.cpython-36.pyc similarity index 100% rename from album/__pycache__/admin.cpython-36.pyc rename to portfolio/album/__pycache__/admin.cpython-36.pyc diff --git a/album/__pycache__/models.cpython-36.pyc b/portfolio/album/__pycache__/models.cpython-36.pyc similarity index 100% rename from album/__pycache__/models.cpython-36.pyc rename to portfolio/album/__pycache__/models.cpython-36.pyc diff --git a/album/admin.py b/portfolio/album/admin.py similarity index 100% rename from album/admin.py rename to portfolio/album/admin.py diff --git a/album/apps.py b/portfolio/album/apps.py similarity index 100% rename from album/apps.py rename to portfolio/album/apps.py diff --git a/album/migrations/__init__.py b/portfolio/album/migrations/__init__.py similarity index 100% rename from album/migrations/__init__.py rename to portfolio/album/migrations/__init__.py diff --git a/album/models.py b/portfolio/album/models.py similarity index 100% rename from album/models.py rename to portfolio/album/models.py diff --git a/album/tests.py b/portfolio/album/tests.py similarity index 100% rename from album/tests.py rename to portfolio/album/tests.py diff --git a/account/views.py b/portfolio/album/views.py similarity index 100% rename from account/views.py rename to portfolio/album/views.py diff --git a/comment/__init__.py b/portfolio/comment/__init__.py similarity index 100% rename from comment/__init__.py rename to portfolio/comment/__init__.py diff --git a/comment/__pycache__/__init__.cpython-36.pyc b/portfolio/comment/__pycache__/__init__.cpython-36.pyc similarity index 100% rename from comment/__pycache__/__init__.cpython-36.pyc rename to portfolio/comment/__pycache__/__init__.cpython-36.pyc diff --git a/comment/__pycache__/admin.cpython-36.pyc b/portfolio/comment/__pycache__/admin.cpython-36.pyc similarity index 100% rename from comment/__pycache__/admin.cpython-36.pyc rename to portfolio/comment/__pycache__/admin.cpython-36.pyc diff --git a/comment/__pycache__/models.cpython-36.pyc b/portfolio/comment/__pycache__/models.cpython-36.pyc similarity index 100% rename from comment/__pycache__/models.cpython-36.pyc rename to portfolio/comment/__pycache__/models.cpython-36.pyc diff --git a/comment/admin.py b/portfolio/comment/admin.py similarity index 100% rename from comment/admin.py rename to portfolio/comment/admin.py diff --git a/comment/apps.py b/portfolio/comment/apps.py similarity index 100% rename from comment/apps.py rename to portfolio/comment/apps.py diff --git a/comment/migrations/__init__.py b/portfolio/comment/migrations/__init__.py similarity index 100% rename from comment/migrations/__init__.py rename to portfolio/comment/migrations/__init__.py diff --git a/comment/models.py b/portfolio/comment/models.py similarity index 100% rename from comment/models.py rename to portfolio/comment/models.py diff --git a/comment/tests.py b/portfolio/comment/tests.py similarity index 100% rename from comment/tests.py rename to portfolio/comment/tests.py diff --git a/album/views.py b/portfolio/comment/views.py similarity index 100% rename from album/views.py rename to portfolio/comment/views.py diff --git a/account/migrations/0001_initial.py b/portfolio/migrations/0001_initial.py similarity index 97% rename from account/migrations/0001_initial.py rename to portfolio/migrations/0001_initial.py index fe2706a..ba702d5 100644 --- a/account/migrations/0001_initial.py +++ b/portfolio/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 3.0.7 on 2020-06-17 12:26 +# Generated by Django 3.0.7 on 2020-06-18 17:25 from django.conf import settings import django.contrib.auth.models diff --git a/playlist/__init__.py b/portfolio/migrations/__init__.py similarity index 100% rename from playlist/__init__.py rename to portfolio/migrations/__init__.py diff --git a/account/migrations/__pycache__/0001_initial.cpython-36.pyc b/portfolio/migrations/__pycache__/0001_initial.cpython-36.pyc similarity index 70% rename from account/migrations/__pycache__/0001_initial.cpython-36.pyc rename to portfolio/migrations/__pycache__/0001_initial.cpython-36.pyc index 2b4942d4b8f9f26fe1cff697fc8f8c4af2e2fff7..6b448c642c7b45f5195d9bcbdd6dd3d1e31f5df1 100644 GIT binary patch delta 36 scmcb~b(@Rbn3tEUYVqrh>;f!|`I9AByg3W;f!|xsxSWyx9|zlk-dSN+##9yaxccS_?G* diff --git a/portfolio/migrations/__pycache__/__init__.cpython-36.pyc b/portfolio/migrations/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..cc283e17f290f9cfbfe495a1414d1a28cbb4ac88 GIT binary patch literal 190 zcmXr!<>g9U{5p;S2p)q77+?f49Dul(1xTbY1T$zd`mJOr0tq9CU)lN@`MIh3`Kh`3 zF8SG|xv6<2mHGii`B|ySCB^y$`9&pZ`8k>S2$oY~a<+bAK|xMta$-qlejY*wiItm~ lUIdmc){l?R%*!l^kJl@xyv1RYo1apelWGTYL@^LE005cOH!1)C literal 0 HcmV?d00001 diff --git a/playlist/migrations/__init__.py b/portfolio/playlist/__init__.py similarity index 100% rename from playlist/migrations/__init__.py rename to portfolio/playlist/__init__.py diff --git a/playlist/__pycache__/__init__.cpython-36.pyc b/portfolio/playlist/__pycache__/__init__.cpython-36.pyc similarity index 100% rename from playlist/__pycache__/__init__.cpython-36.pyc rename to portfolio/playlist/__pycache__/__init__.cpython-36.pyc diff --git a/playlist/__pycache__/admin.cpython-36.pyc b/portfolio/playlist/__pycache__/admin.cpython-36.pyc similarity index 100% rename from playlist/__pycache__/admin.cpython-36.pyc rename to portfolio/playlist/__pycache__/admin.cpython-36.pyc diff --git a/playlist/__pycache__/models.cpython-36.pyc b/portfolio/playlist/__pycache__/models.cpython-36.pyc similarity index 100% rename from playlist/__pycache__/models.cpython-36.pyc rename to portfolio/playlist/__pycache__/models.cpython-36.pyc diff --git a/playlist/admin.py b/portfolio/playlist/admin.py similarity index 100% rename from playlist/admin.py rename to portfolio/playlist/admin.py diff --git a/playlist/apps.py b/portfolio/playlist/apps.py similarity index 100% rename from playlist/apps.py rename to portfolio/playlist/apps.py diff --git a/rating/__init__.py b/portfolio/playlist/migrations/__init__.py similarity index 100% rename from rating/__init__.py rename to portfolio/playlist/migrations/__init__.py diff --git a/playlist/models.py b/portfolio/playlist/models.py similarity index 100% rename from playlist/models.py rename to portfolio/playlist/models.py diff --git a/playlist/tests.py b/portfolio/playlist/tests.py similarity index 100% rename from playlist/tests.py rename to portfolio/playlist/tests.py diff --git a/comment/views.py b/portfolio/playlist/views.py similarity index 100% rename from comment/views.py rename to portfolio/playlist/views.py diff --git a/rating/migrations/__init__.py b/portfolio/rating/__init__.py similarity index 100% rename from rating/migrations/__init__.py rename to portfolio/rating/__init__.py diff --git a/rating/__pycache__/__init__.cpython-36.pyc b/portfolio/rating/__pycache__/__init__.cpython-36.pyc similarity index 100% rename from rating/__pycache__/__init__.cpython-36.pyc rename to portfolio/rating/__pycache__/__init__.cpython-36.pyc diff --git a/rating/__pycache__/admin.cpython-36.pyc b/portfolio/rating/__pycache__/admin.cpython-36.pyc similarity index 100% rename from rating/__pycache__/admin.cpython-36.pyc rename to portfolio/rating/__pycache__/admin.cpython-36.pyc diff --git a/rating/__pycache__/models.cpython-36.pyc b/portfolio/rating/__pycache__/models.cpython-36.pyc similarity index 100% rename from rating/__pycache__/models.cpython-36.pyc rename to portfolio/rating/__pycache__/models.cpython-36.pyc diff --git a/rating/admin.py b/portfolio/rating/admin.py similarity index 100% rename from rating/admin.py rename to portfolio/rating/admin.py diff --git a/rating/apps.py b/portfolio/rating/apps.py similarity index 100% rename from rating/apps.py rename to portfolio/rating/apps.py diff --git a/song/__init__.py b/portfolio/rating/migrations/__init__.py similarity index 100% rename from song/__init__.py rename to portfolio/rating/migrations/__init__.py diff --git a/rating/models.py b/portfolio/rating/models.py similarity index 100% rename from rating/models.py rename to portfolio/rating/models.py diff --git a/rating/tests.py b/portfolio/rating/tests.py similarity index 100% rename from rating/tests.py rename to portfolio/rating/tests.py diff --git a/playlist/views.py b/portfolio/rating/views.py similarity index 100% rename from playlist/views.py rename to portfolio/rating/views.py diff --git a/portfolio/settings.py b/portfolio/settings.py index 9e030a6..baee004 100644 --- a/portfolio/settings.py +++ b/portfolio/settings.py @@ -38,15 +38,9 @@ INSTALLED_APPS = [ 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework', - 'rest_framework_swagger', + 'drf_yasg', 'rest_framework.authtoken', - 'account', - 'album', - 'comment', - 'playlist', 'portfolio', - 'rating', - 'song' ] MIDDLEWARE = [ @@ -140,3 +134,15 @@ USE_TZ = True # https://docs.djangoproject.com/en/3.0/howto/static-files/ STATIC_URL = '/static/' +STATIC_ROOT = os.path.join(BASE_DIR, 'static') + +SWAGGER_SETTINGS = { + 'JSON_EDITOR': True, + 'SECURITY_DEFINITIONS': { + 'Bearer': { + 'type': 'apiKey', + 'name': 'Authorization', + 'in': 'header' + } + } +} diff --git a/song/migrations/__init__.py b/portfolio/song/__init__.py similarity index 100% rename from song/migrations/__init__.py rename to portfolio/song/__init__.py diff --git a/song/__pycache__/__init__.cpython-36.pyc b/portfolio/song/__pycache__/__init__.cpython-36.pyc similarity index 100% rename from song/__pycache__/__init__.cpython-36.pyc rename to portfolio/song/__pycache__/__init__.cpython-36.pyc diff --git a/song/__pycache__/admin.cpython-36.pyc b/portfolio/song/__pycache__/admin.cpython-36.pyc similarity index 100% rename from song/__pycache__/admin.cpython-36.pyc rename to portfolio/song/__pycache__/admin.cpython-36.pyc diff --git a/song/__pycache__/models.cpython-36.pyc b/portfolio/song/__pycache__/models.cpython-36.pyc similarity index 100% rename from song/__pycache__/models.cpython-36.pyc rename to portfolio/song/__pycache__/models.cpython-36.pyc diff --git a/song/admin.py b/portfolio/song/admin.py similarity index 100% rename from song/admin.py rename to portfolio/song/admin.py diff --git a/song/apps.py b/portfolio/song/apps.py similarity index 100% rename from song/apps.py rename to portfolio/song/apps.py diff --git a/portfolio/song/migrations/__init__.py b/portfolio/song/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/song/models.py b/portfolio/song/models.py similarity index 100% rename from song/models.py rename to portfolio/song/models.py diff --git a/song/tests.py b/portfolio/song/tests.py similarity index 100% rename from song/tests.py rename to portfolio/song/tests.py diff --git a/rating/views.py b/portfolio/song/views.py similarity index 100% rename from rating/views.py rename to portfolio/song/views.py diff --git a/portfolio/urls.py b/portfolio/urls.py index 6bd1888..f24424a 100644 --- a/portfolio/urls.py +++ b/portfolio/urls.py @@ -13,13 +13,45 @@ Including another URLconf 1. Import the include() function: from django.urls import include, path 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) """ -from django.conf.urls import url, include from django.contrib import admin -from django.urls import path +from django.urls import path, re_path, include +from django.conf.urls.static import static + +from drf_yasg import openapi +from drf_yasg.views import get_schema_view +from rest_framework import routers, permissions from rest_framework_swagger.views import get_swagger_view +from portfolio import settings +from .account import views + +schema_view = get_schema_view( + openapi.Info( + title="API", + default_version='0.1', + description="API", + contact=openapi.Contact(email="zukkamil.44@gmail.com"), + license=openapi.License(name="All rights reserved"), + ), + public=True, + permission_classes=(permissions.AllowAny,), +) + + +router = routers.DefaultRouter() +router.register(r'users', views.AccountViewSet, basename='user') +router.register(r'guests', views.GuestViewSet) + urlpatterns = [ - path('admin/', admin.site.urls), - url(r'^$', get_swagger_view(title='API Endpoints')), - url(r'^api-auth/', include('rest_framework.urls')) -] + path('admin/', admin.site.urls), + path('', include(router.urls)), + path('api-auth/', include('rest_framework.urls', namespace='rest_framework')) + ] + +if settings.DEBUG: + urlpatterns = [ + path('admin/', admin.site.urls), + path('', include(router.urls)), + path('api-auth/', include('rest_framework.urls', namespace='rest_framework')), + path('swagger/', schema_view.with_ui('swagger', cache_timeout=0)) + ] \ No newline at end of file diff --git a/rating/migrations/0001_initial.py b/rating/migrations/0001_initial.py deleted file mode 100644 index 6d35c02..0000000 --- a/rating/migrations/0001_initial.py +++ /dev/null @@ -1,57 +0,0 @@ -# Generated by Django 3.0.7 on 2020-06-17 12:26 - -from django.db import migrations, models -import django.db.models.deletion -import django_enumfield.db.fields -import rating.models - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ('comment', '0001_initial'), - ('song', '0001_initial'), - ('album', '0001_initial'), - ('account', '0001_initial'), - ] - - operations = [ - migrations.CreateModel( - name='SongRating', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('value', django_enumfield.db.fields.EnumField(enum=rating.models.RatingValue)), - ('song', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='song.Song')), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='account.Account')), - ], - options={ - 'abstract': False, - }, - ), - migrations.CreateModel( - name='CommentRating', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('value', django_enumfield.db.fields.EnumField(enum=rating.models.RatingValue)), - ('comment', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='comment.UserComment')), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='account.Account')), - ], - options={ - 'abstract': False, - }, - ), - migrations.CreateModel( - name='AlbumRating', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('value', django_enumfield.db.fields.EnumField(enum=rating.models.RatingValue)), - ('album', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='album.Album')), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='account.Account')), - ], - options={ - 'abstract': False, - }, - ), - ] diff --git a/rating/migrations/__pycache__/0001_initial.cpython-36.pyc b/rating/migrations/__pycache__/0001_initial.cpython-36.pyc deleted file mode 100644 index 0265aa2179bc6478bf1ba3a68432e9a9f43afbf9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1416 zcmb7EOK;RL5RM)1=CQkdQ`!P2B&0o%6u}WyUHU)>wL%m)`C(RO7c8*3mD)gXIN(C>oE=f< zb0>AvUfSn_)JkVya86Lm&~lc~;fj^crwcFxv*#4`b2s$!t$xg40i1-u;+xl zSaqW8u+Ehg#j&W-#yvpoTP!E8(FArCeYHJgsvp&r2xG~kii7G+WRgenG(6^~$|<=- zyyT3l{t1_dqU2!_`6qO9gaq8Kmg{LIn*JPnUc_-v=WNd2y!+%4Z<5u zgR!H-vXW6;4Nb)w%aqSqwsHLCp~ zl^yI%*~JNE>za&b=Th%n%1g=)o9x0+xnYRyUS}NTei(kPqfEz$f7S)Zec%&b059T% zmy#lk>TNY7?&*UfO|5Z8$nCDqOU*$V6=M-y774PNlwxG^yn? zoNUTWO7!S5Mkrk(%VdSDnXdWozXoCGDyPlVLzXnVEupKIO0T_-ybB)W5RKH@O_p)H q*EW`Xhz7x+&0xA)KGMiKZk&eRv diff --git a/rating/migrations/__pycache__/__init__.cpython-36.pyc b/rating/migrations/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 279295386bd42c4800d79704f6fb77029cfe762d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187 zcmXr!<>k`;{W6XL2p)q77+?f49Dul(1xTbY1T$zd`mJOr0tq9CUm5xt`MIh3`Kh`3 zF8SG|xv6<2mHGii`B|ySCB^y$`9&pZ`8k>S2$oY~a<+bAK|xMta$-qlejY+bzX&Lh qm#&|inGRy*=N0S6$7kkcmc+;F6;$5hu*uC&Da}c>1G%6Wh#3I(j5X>2 diff --git a/run.sh b/run.sh index 21c6917..4a7f3cc 100755 --- a/run.sh +++ b/run.sh @@ -1,3 +1 @@ -python manage.py makemigrations -python manage.py migrate python manage.py runserver 9090 \ No newline at end of file diff --git a/song/migrations/0001_initial.py b/song/migrations/0001_initial.py deleted file mode 100644 index 00517a7..0000000 --- a/song/migrations/0001_initial.py +++ /dev/null @@ -1,31 +0,0 @@ -# Generated by Django 3.0.7 on 2020-06-17 12:26 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ('album', '0001_initial'), - ('account', '0001_initial'), - ] - - operations = [ - migrations.CreateModel( - name='Song', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('title', models.CharField(max_length=255)), - ('description', models.CharField(max_length=1000)), - ('text', models.TextField()), - ('image', models.TextField()), - ('audio', models.TextField()), - ('url_code', models.CharField(max_length=255)), - ('album', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='album.Album')), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='account.Account')), - ], - ), - ] diff --git a/song/migrations/__pycache__/0001_initial.cpython-36.pyc b/song/migrations/__pycache__/0001_initial.cpython-36.pyc deleted file mode 100644 index a46677314bc59391331b0d75597449ed6aa665e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1043 zcmZ8gO>fgc5Z&F_N$ey|3k6!>j1+<5B90)`kWz$DE2Q@11D502y6f8Bu(natYq{o! zaOcyu7c$LsGm*gK>^La*mR}!@ zeVo}(TsUzl5SIaU8?XzHL*^RXjGACVleeNaP#i62gEcqK7}yxIpab1GMXy(R8w;@t&~*Wul$7qy~|s1NsHd(JTP!GH0Gbv(4-(VT_U-Gm+F`b1kt zOOmJB^y5j9=JQx_d>leB70>%BDgYHa~ zNPIQ(F8EAa8CRGruDI@g<7y%^?xlXhwV8`N<~O$}*npzK{-qc5G|bO+2Y41JF)j5L zzZ-;TBj=a7Hu2UF6a4~&)a^pWUVyc@>QrEdqY^R}%aW;w72-M9ESK6S5W!V{fqgit zIp8^?g3&w^JcjIez?6wlRI|jxRBL5#>9$uP_B?HS9#+4IIoe&%`&#&Mc?o*0rAS@i zQ=S4(1Hm)J@EYA2SHc{XeWQ>L(bfp{IxK&zt?{|97Un6ktWEn+DlWqG6Drt*$WKG5 z8BBD$B8Ix?)_8O>9v!^bww&@sZ~h?ad5ODR{zlHZOt>R?;vC3}BH?L1b3Q8>@gUEf zsZ{xyjD=iV@BHAx@u$;R1XZiAcbp9C?X2H`bGI#q)0rwCS*cj|6qhzL8jLm#gEF>F zH*nb1*q}SKIyq=+tL8L>NhMLO%I+#Stl!vh$yPnXd#l_v!Pk^~d=89smFU diff --git a/song/views.py b/song/views.py deleted file mode 100644 index 91ea44a..0000000 --- a/song/views.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.shortcuts import render - -# Create your views here.