4
4
import requests
5
5
import base64
6
6
7
+ from rest_framework import status
8
+ from rest_framework .view import APIView
9
+ from rest_framework .response import Response
10
+ from django .http import Http404
11
+
12
+ from .serializers import BuildHistSerializer
13
+ from .models import BuildHist
14
+
15
+
7
16
def index (request ) :
8
17
return render (request , 'jenkins/main.html' )
9
18
@@ -77,4 +86,45 @@ def check_model(request) :
77
86
else:
78
87
print(f"API 호출 실패 - 상태 코드: {response.status_code}")
79
88
'''
80
- return redirect ('zimmyrabbit:index' )
89
+ return redirect ('zimmyrabbit:index' )
90
+
91
+ class BuildHistList (APIView ):
92
+ def get (self , request ):
93
+ buildHists = BuildHist .objects .all ()
94
+
95
+ serializer = BuildHistSerializer (buildHists , many = True )
96
+ return Response (serializer .data )
97
+
98
+ def post (self , request ):
99
+ serializer = BuildHistSerializer (
100
+ data = request .data
101
+ )
102
+ if serializer .is_valid ():
103
+ serializer .save ()
104
+ return Response (serializer .data , status = status .HTTP_201_CREATED )
105
+ return Response (serializer .data , status = status .HTTP_400_BAD_REQUEST )
106
+
107
+ class BuildHistDetail (APIView ):
108
+ def get_object (self , pk ):
109
+ try :
110
+ return BuildHist .objects .get (pk = pk )
111
+ except BuildHist .DoesNotExist :
112
+ raise Http404
113
+
114
+ def get (self , request , pk , format = None ):
115
+ buildHist = self .get_object (pk )
116
+ serializer = BuildHistSerializer (buildHist )
117
+ return Response (serializer .data )
118
+
119
+ def put (self , request , pk , format = None ):
120
+ buildHist = self .get_object (pk )
121
+ serializer = BuildHistSerializer (buildHist , data = request .data )
122
+ if serializer .is_valid ():
123
+ serializer .save ()
124
+ return Response (serializer .data )
125
+ return Response (serializer .error , status = status .HTTP_400_BAD_REQUEST )
126
+
127
+ def delete (self , request , pk , format = None ):
128
+ buildHist = self .get_object (pk )
129
+ buildHist .delete ()
130
+ return Response (status = status .HTTP_204_NO_CONTENT )
0 commit comments