|
14 | 14 | SponsorListSerializer,
|
15 | 15 | SponsorRemainingAccountSerializer,
|
16 | 16 | SponsorSerializer,
|
| 17 | + SponsorLevelSerializer, |
17 | 18 | )
|
18 | 19 | from sponsor.slack import send_new_sponsor_notification
|
19 | 20 | from sponsor.validators import SponsorValidater
|
20 | 21 |
|
21 | 22 |
|
| 23 | +class SponsorLevelViewSet(ModelViewSet): |
| 24 | + lookup_field = "id" |
| 25 | + serializer_class = SponsorLevelSerializer |
| 26 | + http_method_names = ["get", "post", "put", "delete"] |
| 27 | + |
| 28 | + def get_queryset(self): |
| 29 | + return SponsorLevel.objects.get_queryset() |
| 30 | + |
| 31 | + def list(self, request, *args, **kwagrs): |
| 32 | + queryset = self.get_queryset() |
| 33 | + serializer = self.get_serializer(queryset, many=True) |
| 34 | + return Response(serializer.data) |
| 35 | + |
| 36 | + def create(self, request, *args, **kwagrs): |
| 37 | + serializer = self.get_serializer(data=request.data) |
| 38 | + serializer.is_valid(raise_exception=True) |
| 39 | + serializer.save() |
| 40 | + |
| 41 | + return Response(serializer.data, status=status.HTTP_201_CREATED) |
| 42 | + |
| 43 | + def retrieve(self, request, id, *args, **kwargs): |
| 44 | + sponsor_level = self.get_object() |
| 45 | + serializer = self.get_serializer(sponsor_level) |
| 46 | + return Response(serializer.data) |
| 47 | + |
| 48 | + # def update(self, request, id, *args, **kwargs): |
| 49 | + # sponsor_level = self.get_object() |
| 50 | + # serializer = self.get_serializer(sponsor_level, data=request.data, partial=True) |
| 51 | + # serializer.is_valid(raise_exception=True) |
| 52 | + # serializer.save() |
| 53 | + # return Response(serializer.data) |
| 54 | + |
| 55 | + # def delete(self, request, id, *args, **kwagrs): |
| 56 | + # sponsor_level = self.get_object() |
| 57 | + # sponsor_level.delete() |
| 58 | + # return Response(status=status.HTTP_204_NO_CONTENT) |
| 59 | + |
| 60 | + |
22 | 61 | class SponsorViewSet(ModelViewSet):
|
23 | 62 | serializer_class = SponsorSerializer
|
24 | 63 | permission_classes = [IsOwnerOrReadOnly] # 본인 소유만 수정 가능
|
|
0 commit comments