From eca4cf02b5c2bfde65a6bb4db709661e3763b953 Mon Sep 17 00:00:00 2001 From: Salim Elliye Date: Wed, 27 Aug 2025 14:45:37 +0300 Subject: [PATCH] new --- .../__pycache__/models.cpython-313.pyc | Bin 32193 -> 32193 bytes .../__pycache__/serializers.cpython-313.pyc | Bin 3579 -> 5106 bytes .../api/__pycache__/urls.cpython-313.pyc | Bin 521 -> 622 bytes .../api/__pycache__/views.cpython-313.pyc | Bin 3021 -> 3697 bytes osinaweb/osinacore/api/serializers.py | 27 ++++++++++++++++++ osinaweb/osinacore/api/urls.py | 1 + osinaweb/osinacore/api/views.py | 17 ++++++++++- 7 files changed, 44 insertions(+), 1 deletion(-) diff --git a/osinaweb/osinacore/__pycache__/models.cpython-313.pyc b/osinaweb/osinacore/__pycache__/models.cpython-313.pyc index 96df60ef4320522e7b66bea15d2b20be5fb17796..59f1929c34e1e91a085fb20e6abdf845e2e49ba5 100644 GIT binary patch delta 22 ccmX^3oAKapM()qNyj%=G!0~$BM(%C30Av#gEdT%j delta 22 ccmX^3oAKapM()qNyj%=Gp#OF1M(%C30A%9`MF0Q* diff --git a/osinaweb/osinacore/api/__pycache__/serializers.cpython-313.pyc b/osinaweb/osinacore/api/__pycache__/serializers.cpython-313.pyc index e625c811c652368f2cc3b436c547728ac03ec845..58d564a7fd96fd82965944b36e01d2680b8db24a 100644 GIT binary patch delta 1043 zcmZ`%OH30{6rJg3I_*q{kMu)Z5J(F)8WK~4ObP`8D5il(hPW^gs4zi31$;9sFeb9X zt>kT7nz&(QFl<NM}>+)wX2@7((<`J+WS3Wq}+ zd@sMfdhj@~p~U&!*Dbw#D9$x;T4jRMsy1F+mK?Vl+)L<6EL#I^1YEy76V1l97x-o& zbRAa-!dD1OFrrSHXzB%N2#XTD5m7_Lz9n(K7WcO_Fqh^8Hm`@$2!<4+!Q zV4Nouf#hH!<~GvIlDT61L8X9H8tl}6@(!6^B%_2c)X)uIy815M+Y84yRkse*y_VA; zM9>rvjG$q1VrUA^*(bQ@XqxUxktdo5eqPO|dWnBbfH|Y@S3M-)dIIyrv7nm^uv%vc zM3{Q;hR5khBrQbb87V84lWxg4+3Ejqd(5gBUmHB}U0fXOISk~!%R`-PzuD%qm1FZ|7vtQW z*+v1`VrO}2dSyW`kU4O9IL02G3qS2S=KOr}xEjp!;(n^bN_9AqN{r0!*Q-{&>O>R~ QBGP_5XT@_rIdE9}-hRxavx*`fLV631Ftr-pC;GjMMA#1U}3NZ9=MTWK-Mh|o80`A(wtPgA|D`^5r~UB RCuvunU|M~0SNZJUY8-m$iVOz#DM`0DC6^-iR$?rF^ozK!JIK{6TM`4xq{g& zne~~A*weW+c_z*amZ;(^D9X=DO)e?czr_J#`e|}Z{Nl^W9{`n_Y{^*5B@8qaXc0qk r*yIC@wu(2I*cz%Q_+J;%z9^!7Swwe(*F`4#59}=bOpV+{fr{!xbSGcPX}0}wF3S(jnJF_BM#al%CPYAFc@C5B)gDTZL)7$#F@kOBsVBHna9 zP5zC`RJkVJGZ*3yD9X=DO)e>R4DbxgOf7$DH(8relIsFc;Zz2FhCHUpjcnHJ%%RM} z3?7=3Cot-;<*|k`1#wSyU=pb}WdxhZpupg(&A`A7q@#HuA`A?nOwoKWc8~y!g`k5O zEtympG@1O0*nonXoVVDaE-4ZO@{5Fk#4SOnP;hEdW@1ieRccX@2uM;IM6fc{14(ue zQwB(AvK7gK*m58Or0Nz&0n}@^*rBXjJWxh_N@7W3G00*CFep+6=~4md5{B9d3lP2Z z)DnB3L~$69XkfU(FWABIL|AIN{X~0@>%wXmh1D(#Yjkit7MJgEzay=)BK)$n>2+zV zi_%sdJ|EZ^cm?~tJH2P{T;oyw$jKm~@P&s#Kw<{VlCbNl<`;p8-{Jy?#pDhy1vO`o z6F`I=$TpC_+8DkvakE+$sljCYH2Ef<r1po$-5vBkD diff --git a/osinaweb/osinacore/api/serializers.py b/osinaweb/osinacore/api/serializers.py index d7a7357a..c086778e 100644 --- a/osinaweb/osinacore/api/serializers.py +++ b/osinaweb/osinacore/api/serializers.py @@ -47,4 +47,31 @@ class StaffProfileSerializer(serializers.ModelSerializer): class Meta: model = StaffProfile + fields = "__all__" + + + +class ProjectTypeSerializer(serializers.ModelSerializer): + + + class Meta: + model = ProjectType + fields = "__all__" + + +class ProjectStatusSerializer(serializers.ModelSerializer): + + + class Meta: + model = ProjectStatus + fields = "__all__" + +class ProjectSerializer(serializers.ModelSerializer): + types = ProjectTypeSerializer(read_only=True, many=True, source="project_type") + members = StaffProfileSerializer(read_only=True, many=True) + manager = StaffProfileSerializer(read_only=True, many=False) + statuses = ProjectStatusSerializer(read_only=True, many=True, source="projectstatus_set") + + class Meta: + model = Project fields = "__all__" \ No newline at end of file diff --git a/osinaweb/osinacore/api/urls.py b/osinaweb/osinacore/api/urls.py index 8a77cbf4..897b5363 100644 --- a/osinaweb/osinacore/api/urls.py +++ b/osinaweb/osinacore/api/urls.py @@ -5,4 +5,5 @@ from .views import * urlpatterns = [ path("users/", UserProfilesAPIView.as_view(), name="users-with-profiles"), path("utilities/", BusinessDataAPIView.as_view(), name="utilities"), + path("projects/", ProjectsAPIView.as_view(), name="projects"), ] \ No newline at end of file diff --git a/osinaweb/osinacore/api/views.py b/osinaweb/osinacore/api/views.py index 000fd193..b4928b94 100644 --- a/osinaweb/osinacore/api/views.py +++ b/osinaweb/osinacore/api/views.py @@ -56,4 +56,19 @@ class BusinessDataAPIView(APIView): def get(self, request): data = get_all_business_related_data() - return Response(data) \ No newline at end of file + return Response(data) + + +class ProjectsAPIView(APIView): + def get(self, request): + data = [] + + projects = Project.objects.all() + + for project in projects: + project_data = ProjectSerializer(project).data + + + data.append(project_data) + + return Response(data, status=status.HTTP_200_OK) \ No newline at end of file