Commit ca76d00e authored by Meet Narendra's avatar Meet Narendra 💬

Added a few apis for jira and git

parent 1436728d
......@@ -17,6 +17,11 @@ class AccessSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Access
fields = ('aid','pname','pid','uid','alevel')
class JiraSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Tickets
fields = ('tid','name','content','status','pid')
'''
class checkAuthSerializer(serializers.Serializer):
uid = serializers.CharField(max_length=50)
......
......@@ -7,6 +7,7 @@ router = routers.DefaultRouter()
router.register(r'users',UserViewSet)
router.register(r'projects',ProjectViewSet)
router.register(r'access',AccessViewSet)
router.register(r'jira',JiraViewSet)
#router.register(r'isAuthenticated',checkAuthViewSet)
urlpatterns = [
......
......@@ -4,6 +4,10 @@ from .models import *
from .serializers import *
from rest_framework import viewsets,views
from rest_framework.response import Response
import os
import csv
import sys
#from sitcomm.conf import *
class UserViewSet(viewsets.ModelViewSet):
......@@ -17,6 +21,11 @@ class ProjectViewSet(viewsets.ModelViewSet):
class AccessViewSet(viewsets.ModelViewSet):
queryset = Access.objects.all()
serializer_class = AccessSerializer
class JiraViewSet(viewsets.ModelViewSet):
queryset = Tickets.objects.all()
serializer_class = JiraSerializer
# Create your views here.
class checkAuthViewSet(views.APIView):
......@@ -64,6 +73,61 @@ class getJiraTicketsViewSet(views.APIView):
print(e)
return Response({'status':False})
class getJiraBoardViewSet(views.APIView):
def get(self,request):
pid = request.GET.get('pid')
status = 'All'
try:
if request.GET.get('status') is not None:
col_name = request.GET.get('status')
except:
pass
try:
project = Projects.objects.filter(pid=pid)
if project is None:
return Response({'status':False})
tickets = Tickets.objects.filter(pname=pid)
if tickets is None:
return Response({'status':False})
if col_name != 'All':
tickets = tickets.filter(status=status)
return Response({'tickets':tickets.values(),'status':True})
except Exception as e:
print(e)
return Response({'status':False})
class createJiraTicketViewSet(views.APIView):
def post(self,request):
pid = request.data.get('pid')
name = request.data.get('name')
content = request.data.get('content')
status = request.data.get('status')
try:
ticket = Tickets.objects.create(pid=pid,name=name,content=content,status=status)
return Response({'tid':ticket.tid,'status':True})
except Exception as e:
print(e)
return Response({'status':False})
class updateJiraTicketViewSet(views.APIView):
def post(self,request):
tid = request.data.get('tid')
name = request.data.get('name')
content = request.data.get('content')
status = request.data.get('status')
try:
ticket = Tickets.objects.filter(tid=tid)
if ticket is None:
return Response({'status':False})
ticket.update(name=name,content=content,status=status)
return Response({'status':True})
except Exception as e:
print(e)
return Response({'status':False})
class getReposViewSet(views.APIView):
def get(self,request):
uid = request.GET.get('uid')
......@@ -93,6 +157,30 @@ class getGitFilesViewSet(views.APIView):
print(e)
return Response({'status':False})
class postFileChangeViewSet(views.APIView):
def post(self,request):
pid = request.data.get('pid')
file = request.data.get('file')
data = request.data.get('data')
try:
project = Projects.objects.filter(pid=pid)
if project is None:
return Response({'status':False})
git_id = project.values('git_id')[0]['git_id']
with open (git_id,'a') as f:
csvFile = csv.reader(f)
for row in csvFile:
if row[0] == file:
row[1] = data
break
writer = csv.writer(f)
writer.writerow(row)
return Response({'status':True})
except Exception as e:
print(e)
return Response({'status':False})
class getUserDetailsViewSet(views.APIView):
def get(self,request):
uid = request.GET.get('uid')
......
......@@ -37,3 +37,13 @@ class Access(models.Model):
def __str__(self):
return f'{self.aid=},{self.pname=},{self.pid=},{self.uid=},{self.alevel=}'
class Tickets(models.Model):
tid = models.UUIDField(primary_key=True,default=uuid.uuid4,editable=False)
name = models.CharField(max_length=50)
content = models.CharField(max_length=50)
status = models.CharField(max_length=50)
pid = models.CharField(max_length=50)
def __str__(self) -> str:
return f'{self.tid=},{self.name=},{self.content=},{self.status},{self.pid=}'
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment