From 9506c9e970be8109cffd6f147ad60c8efdcf3751 Mon Sep 17 00:00:00 2001 From: Salim Elliye Date: Thu, 28 Aug 2025 19:53:47 +0300 Subject: [PATCH] new --- osinaweb/db.sqlite3 | Bin 2383872 -> 2383872 bytes .../__pycache__/serializers.cpython-313.pyc | Bin 10368 -> 11645 bytes .../api/__pycache__/urls.cpython-313.pyc | Bin 1150 -> 1249 bytes .../api/__pycache__/views.cpython-313.pyc | Bin 7203 -> 7999 bytes osinaweb/osinacore/api/serializers.py | 12 ++++++++++- osinaweb/osinacore/api/urls.py | 1 + osinaweb/osinacore/api/views.py | 20 +++++++++++++++++- 7 files changed, 31 insertions(+), 2 deletions(-) diff --git a/osinaweb/db.sqlite3 b/osinaweb/db.sqlite3 index 713078a050cdfa5c41cdef43e034caffae3f8cd9..351d2693dfa5d7988389d85197b82d3dfa5d9539 100644 GIT binary patch delta 181 zcmWN=yA6V16oAqE;sf8{TR{c2HWCRES_fc-I|>#zHWo6Bv2_tfA@MuODSo9X`1VXy z`gc=3M8&8yR4kRIN=v1!()oz}%H1@Gk}OWMYjRF5aU9*Ab#AlE9{U_{$PveM=yJj- cXPk4vC0AT?LytbU+;Pu-=OnfBd#fSpWb4 delta 181 zcmWN=ISztQ6hP5@N1VY~LB*jqeiAg$x&XHDmV(8LjfE`6*t!n(LgGEi$$y2(`Swj& z1b0(DM8&AoRO%`Xm8MEdrTr1-m3g-?vZ=Lcl$_(MO)l}X${cpsWsiLhIOK>fJ&rly clrzq`;F2q@=`-MlTkaTg&jXL&Dm&HPKlBhwN&o-= diff --git a/osinaweb/osinacore/api/__pycache__/serializers.cpython-313.pyc b/osinaweb/osinacore/api/__pycache__/serializers.cpython-313.pyc index 6aaaa0fe566e62e4b24944234084340bdc5522bb..de22b9774cff6141ddbcfed6cc97cba943a8295d 100644 GIT binary patch delta 2189 zcmZuyYit`u5We;0&aspDQOA!v$88>V8aEHpP`9*AP#-E(lopyxen60ni7&>*al+nJ zs(2^?p-==!ZMQ%ut!fn{l3y(p34Q?LCH~MKHJ0l10PzQeA|VloQ4t8l%*G*A#Y*?> ze6zE&Gq=05(}(|l(6!vq;1r;BJ%8!ZG4&l+!gg}GT?(s$)^xJ4q0Su=S_LfvbUjiJ zryGDaBlU9H0<;zBI!@bwM%ga0*~w`PXgiEbjhT({j>~EB4L31P`938{HeDZMKl$QP z2G&oqYr*bV8YGJF5PZw^05if3*(Qc70s!^%VRo)TVbhJh%pGVXX*TKWXAcKdlHvXe zfgWiB%reaMZ&z|S0f9R{f{gpfaUZ>*+vF{vTg-uzop!nnG2D`t} z&wh06V;39!#N^8nze=9s%kB2}IG+Tor{JTMeG}}69YYbpgwLqv;IT=VgH+Ao7+?Qk z&t{fXg5)H3dRbXdPIIR>ls@TMn0%V`sNKpG`a?L0f`-6zm|`!kSJ=zyF>;2<;bY`H zpZivLlk^hUoWEQOGeX{EnaJ~Giv1GVNzSr&0wL!NIzTwX4z3>{GvMWlG7o%cp3q&; zTaL+zY~D;7x=CMPlN%0`ce&@EHpHE8!}z=K(VgthsLK8cU$@Z{%-s^KJB`{`5ME`Q zTYS#5AX?#}l<^q5FA^m0v$2*B25=Xw8htW5$~VPwjAwJYVNT?AD&o}h2n7TT(2{u| z1`VQSCHe~}BFwX=Tl3@s{zvj0d))40N?RAZsJ3)E__3>jV<#nSUFLC1EiyBlZFf4ER6V8r~DVFID!X>w_$NG$h=MJy{k_0HN!QU)D4;E zB`!fun#{QjTrVJyS$?NH)IbnGWGeym$nH|@Y$#lxpEvGqQrgB_kx!2@m(l|Pv^|;`& z_CxTN*xQ$;r$CA~&<~-bxS{l8gy#gfIF^0lkt6!3X;|`DHfQS8l3=N^G0Tz4WT>9O zr9|!MxaGjL(|XQKSt8s3t6^nLLm!>Urw#fEc#PN5m4gAYRYH?!a3rC;KDMTFN8 z&LF%Y2r* zf;;p=_N+L2Zz&Wnxi($x?Elp+s(0Ri(SxKS3wx%>0rGix$u2YmEA>L8x!^1}-%)J7 zqtv{k)U@;X!G*?_!ceg>eth3TFj_E+!OlyzVxaH%-3x)X!Xw2%2TI}Dy(dNrq_Ab=|k5>w<6w~*3A=!e3WEVVmHci}4sPsRTMAl?#&)DO&mPa#F z=21h_X*QM1KB3daA7R~UAqn|!9ql=&o2kV`ETu$do4uRXT?g|;3>DLz5f(fF_KZKs zrd>g~2{iNyJLifduAzv4-VHoHGs5-y*14f#ec$vxp3zMY3mP7Z`&p)aEXv=!94Po} z#GepeS9$&9KZ;&sKetDm--8Vn5o3(`Hh!^RBHI+=&Z>L!LKG6z;k}WB za9!Gtk285TB?PXBGQ4+PW=$~eJ_el`8f$@z<~*3sD3<%M+yaJjMC~CVK@$aC1fsVG zdn@5(dOB+t{Y=qVr!aFuDYjijT_{8CoTLCX4k_wrX0?>%&Z@3 zT!rR-l8Rm6e4^DF{?iE`?3EVbXnl}cGB}xCzee>$0@}5Tb68Gt+o&We!bjTQWd=#u zjDXWl!=PJb6F94uO^OXt)dTWPEKb5HwMZQ$Ex`l@K?3mwM&Xt^&ZZ%t4Y3)~x1{Zp zNi-AvssUq+*BdL}9=GN7-GBbW_Y>gpJ1T2BR_3)nIh=g!p~T^J#(y z2oV_}Ko@sWZWbB>0k#0cfrSeCL1OWtzK&*bJTYreM|UV@#e^|CoUQI*v}zr_g$vkPG)+nH(&nl*{rf)<|GmY`c>3Vh6064sZn zshZD=4dZh-dkup*Kg|zm-Xj>w1^D9iWqFat+76**!r^z?DnQ0?CZ!lPHvJP`CmmJVo vMj$S}F?lode#M(iYz@^De6NdWUKG*1ETX+Z>mrlw2VpLLrbg}}8K61<*^4a* delta 101 zcmaFJ`Hw^WGcPX}0}w=(tj{Q6Vqka-;=lkel<_%lqk1+YhdxIUPr9h4*yJOO&zSu* nc_$xY+Bmt1xs*!=sE!eciw{p`WZBR2L6DQ5sgb)#3Md2sS>zSt diff --git a/osinaweb/osinacore/api/__pycache__/views.cpython-313.pyc b/osinaweb/osinacore/api/__pycache__/views.cpython-313.pyc index 210318d18519edd87c2bc46402c5babc10337a79..fce0671d18579713eef94454e38c20a7f015a1f5 100644 GIT binary patch delta 2499 zcmb7GOKclO7~b)#w%7LBUfWsQX=0#h;v%&vB_#=v2TDs{aoW1!p+JpkmeeG%!>p|; zG{`wX<#H%ZM*&p=6%~nVgK~f#cpTuyfha|dR^`G0skcf^PaNR?XT9+@DoR;tKkt4s z|Lph8KmUxs>i)4WaNqCu3UHmTEuCEoE(8=?iY#;-s%C}kwxix7A{A4DB0MQ%-3cM< zdBfIa$KHZKeOYfppnl#aLYvRh7T~NO*nowVI4c1gw6HZfA?9-Y;*Y|k?yP7k)u_bQ9M_3&`MfhlNE`dymE6;TJ=+m>AoxrW z;X&I5a6x!rQ=C0UAK&s{uIt1V#$GbJ0rZ?4EafKi7^fGBgcHHyIj04xt-v(~!gFY%vTCfUsV6K@5?8c7w!O zK)%I3@ z?*SYhp&#!1W&%Vr0S8d8{qhYDNx#1{i{U%QT2)iuhy0@7A6YzbCkimx$1Rik$eaOM#!jzgVmx^kAn(m%9 zy}VlY;=wK&cCi?eH{$-ktDB+ysfMe_#z>Y#<(L%CZ{=(Zy&#-^*x49gQGbTRWZLwi zm|jMq3c)U&t$SgA%kjruU%ioTtL}}VEV_&AN@PpjD#}Heept7Px&z{=yf$ejV{TcC z&J*PrbUZ~n0noYGY#4{%RAv>j8|~oQlmgqI+kIn#dK#DUPW-%Mhj+W$yw4 z${sFDCj&((?& zAs2bB{!y-xPIfJ>nDzgCJUPhg--!b?O5f2aeO(;S7p7*ZI#Z%$!;1qtTb!_XB1t}G zU5TNsiXT-{go|)*$aR`>=TL6YpDpLhm5u6OMCIhyEAgXeyC4d$qCHDS?Nca&U!(Su zxSemhUVEa;W>7`PnBQz1b!2T>dylQ?geb{m8^5E@lR=i>CRd5U?GVzA%w637>r2F= zy9|MidZl<|>z)}ny>c4tKzaxs@%U16?^RSftEpu@XaqGDksgDD=gf}dIjU+ir6Lp% z<|FN@S~B3)_>8C;{{{|RqPhqHl_@@gs(T@>zWZs9Txp?)CKcD(r|=o=b%1%{jvW82 zZ=vtD+_oaOt;+2+_qwYpMANI0T{X{IORDC%$^u?NYO;T=4dsd`9OWtp#Z=_Xe;5YYxu@(OJ>irPDP7xMSiyHtBW3O|N&~{8H zZ_A`(?1#jqsvZZ!<=i_oKdqiC(aGKQse``=eEyB2ogcgd7>j2N-DSZ9$ zkvAQsy8DIc(s*S`?W0#A7W2<*@t&O!vd+Fv%Jx5mUUoD2ma;CmNYA<=l0kC$YFs=&ine~WiYd>JHda$bM9quMprf%VcczFR zSXX{*6gjvQK?UDNTy*2^y^Sa$i0DG*y+1&3Bb07ji09mKnlTEY1NXv9A`(7N>}O~0>v#3E{7t&MX3tz&S|t^lJEcPCxV))}A|#1N3gJ$Pt70yK zbEuADy5)GoFK)~ekjLL|w}^EDJ*r+kDsfULaXZ6!=*9L|=@d;i%YfRY%gPWy_dCA~H3|~P>NhhaL@GgXG(61QUwDmzz zxjq=v(rg3_t=LFvj&czU<5=*Dta?Sx38_1DosIvH`XSH%q^-kFV06Zu;x*wqeJ@}2 zjp*twS2d<}VwA+%HL>@IX?G_>lp2XXMluOb{4Dwyirxm@t#MZQRrq0S zE!4;_`h_o%%NK4ZhcdP5Czmq${=j*7lWb_FOdbd-Kbt9w1N0!JvCH#MQ`cB}Kh96` zb%@y(zK4Rv3F?E<_RVu``0ePECF@+hlltTCL}uJJDVk+YIUU8uWtQ8xK_swo@%hoa z6cDAnK3`XmwC*5WlfKAJ;gjrt_}YGdEA{g4+j<&jIKgEcUR%pyuUDqwT{_Qh;y-&n zNB%ge$c7v>S28OX4;eF6Zu|aP%176`t!wi@t<4>^Oxd`bP25re+@{WIy3Lo|XZaRX zJ9DEAnu*+Tf}1#&Y$~2jn#pHd;c@rvgYF$IZcuUO/', TaskAPIView.as_view(), name='project-tasks'), path("reports/", DailyReportAPIView.as_view(), name="reports"), + path("statuses/", StatusAPIView.as_view(), name="statuses"), ] \ No newline at end of file diff --git a/osinaweb/osinacore/api/views.py b/osinaweb/osinacore/api/views.py index e4d608e2..ed619153 100644 --- a/osinaweb/osinacore/api/views.py +++ b/osinaweb/osinacore/api/views.py @@ -6,6 +6,7 @@ from rest_framework.response import Response from rest_framework import status from django.contrib.auth.models import User from .serializers import * +from rest_framework.pagination import PageNumberPagination class UserProfilesAPIView(APIView): def get(self, request): @@ -139,4 +140,21 @@ class DailyReportAPIView(APIView): dailyreport = DailyReport.objects.all() data = DailyReportSerializer(dailyreport, many=True).data - return Response(data, status=status.HTTP_200_OK) \ No newline at end of file + return Response(data, status=status.HTTP_200_OK) + + + + + +class StatusAPIView(APIView): + def get(self, request): + statuses = Status.objects.all() + + # Initialize paginator + paginator = PageNumberPagination() + paginator.page_size = 50 # Set default page size + result_page = paginator.paginate_queryset(statuses, request) + + # Serialize paginated data + serializer = StatusSerializer(result_page, many=True) + return paginator.get_paginated_response(serializer.data) \ No newline at end of file