Skip to content

Commit

Permalink
Merge pull request #16 from dimagi/pkv/opportunity_api
Browse files Browse the repository at this point in the history
Add API for getting opportunity details for CID Users
  • Loading branch information
pxwxnvermx authored Jun 22, 2023
2 parents 7e10698 + 41e1c10 commit f2135c8
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 1 deletion.
11 changes: 11 additions & 0 deletions commcare_connect/opportunity/api/serializers.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from rest_framework import serializers

from commcare_connect.opportunity.models import Opportunity


class OpportunitySerializer(serializers.ModelSerializer):
organization = serializers.SlugRelatedField(read_only=True, slug_field="slug")

class Meta:
model = Opportunity
fields = ["id", "name", "description", "date_created", "date_modified", "organization"]
13 changes: 13 additions & 0 deletions commcare_connect/opportunity/api/views.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
from rest_framework import viewsets
from rest_framework.permissions import IsAuthenticated

from commcare_connect.opportunity.api.serializers import OpportunitySerializer
from commcare_connect.opportunity.models import Opportunity


class OpportunityViewSet(viewsets.ReadOnlyModelViewSet):
# TODO: Add filtering for CID users
queryset = Opportunity.objects.all()
serializer_class = OpportunitySerializer
# TODO: Add permission for CID users
permission_classes = [IsAuthenticated]
3 changes: 2 additions & 1 deletion config/api_router.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from django.conf import settings
from rest_framework.routers import DefaultRouter, SimpleRouter

from commcare_connect.opportunity.api.views import OpportunityViewSet
from commcare_connect.users.api.views import UserViewSet

if settings.DEBUG:
Expand All @@ -9,7 +10,7 @@
router = SimpleRouter()

router.register("users", UserViewSet)

router.register("v1/opportunity", OpportunityViewSet)

app_name = "api"
urlpatterns = router.urls

0 comments on commit f2135c8

Please sign in to comment.