From 83e279d1129fd7009d9722c010e5021d1788fcf0 Mon Sep 17 00:00:00 2001 From: ylsong Date: Fri, 29 Dec 2023 09:43:36 +0800 Subject: [PATCH] add user and group group api --- backend/models.py | 7 ++++++ backend/serializers.py | 14 +++++++++++ backend/views.py | 22 ++++++++++++++++- .../__pycache__/__init__.cpython-39.pyc | Bin 132 -> 136 bytes .../__pycache__/settings.cpython-39.pyc | Bin 2354 -> 2655 bytes safeguard_web/__pycache__/urls.cpython-39.pyc | Bin 929 -> 845 bytes safeguard_web/settings.py | 23 ++++++++++++++++++ safeguard_web/urls.py | 18 +++++++++++--- 8 files changed, 79 insertions(+), 5 deletions(-) create mode 100644 backend/serializers.py diff --git a/backend/models.py b/backend/models.py index 855c5ef..e15d115 100644 --- a/backend/models.py +++ b/backend/models.py @@ -6,11 +6,18 @@ class hosts(models.Model): password = models.CharField(max_length=50) port = models.IntegerField(null=True, blank=True) cluster = models.CharField(max_length=50) + def __str__(self): + return self.ipaddress + class users(models.Model): user = models.CharField(max_length=50) password = models.CharField(max_length=50) + def __str__(self): + return self.user class cluster(models.Model): name = models.CharField(max_length=50) + def __str__(self): + return self.name diff --git a/backend/serializers.py b/backend/serializers.py new file mode 100644 index 0000000..f65b460 --- /dev/null +++ b/backend/serializers.py @@ -0,0 +1,14 @@ +from django.contrib.auth.models import Group, User +from rest_framework import serializers + + +class UserSerializer(serializers.HyperlinkedModelSerializer): + class Meta: + model = User + fields = ['url', 'username', 'email', 'groups'] + + +class GroupSerializer(serializers.HyperlinkedModelSerializer): + class Meta: + model = Group + fields = ['url', 'name'] \ No newline at end of file diff --git a/backend/views.py b/backend/views.py index 91ea44a..264ff20 100644 --- a/backend/views.py +++ b/backend/views.py @@ -1,3 +1,23 @@ -from django.shortcuts import render +from django.contrib.auth.models import Group, User +from rest_framework import permissions, viewsets +from backend.serializers import GroupSerializer, UserSerializer +from django.shortcuts import render, HttpResponse + +class UserViewSet(viewsets.ModelViewSet): + """ + API endpoint that allows users to be viewed or edited. + """ + queryset = User.objects.all().order_by('-date_joined') + serializer_class = UserSerializer + # permission_classes = [permissions.IsAuthenticated] + + +class GroupViewSet(viewsets.ModelViewSet): + """ + API endpoint that allows groups to be viewed or edited. + """ + queryset = Group.objects.all() + serializer_class = GroupSerializer + # permission_classes = [permissions.IsAuthenticated] # Create your views here. diff --git a/safeguard_web/__pycache__/__init__.cpython-39.pyc b/safeguard_web/__pycache__/__init__.cpython-39.pyc index e93afb5d9e8b3fac386606106a6f2ffafb73ba01..bc0a3466596b1f4e31c7f6e9d4af346b45abb9e1 100644 GIT binary patch delta 43 xcmZo+>|o?hY1b=F!BVLp zwhomgrc9k#pyFTf3o0c3020hB;Y}ol-syRy=kB??;l7rBmL*#hmts8LpPf4&3KvqH ze81Rwc#0`ZdjztW!6nRi#3PtR%8^5Hnt+@eL+O%$h zfGb$RDz0+Wc;1>O`PL$?VV(Qd@b-cm3tsn#OQD2!U>R#0P(}(X92L9^RlEnQm}4>d z{+A!;gk++ZLVXjYzzN6JFtCrEi66Xz%1v#B6Wev2Ao?hLI)!pu-BtQs(_*bB>Yie? zx(Z|Od5~lD~SCY!gAQMQ5ou8z31fGp$`i*;5a6;~5m#fzs)yhQ(CV)Owxhcj|NF0e@sL zr@z}ff$xuZLVM`ACw73_6X!7cmX-;;Y;C95l9gPVj&O7{#9=k|GLJCz2utCdI*|L?&Z8 zOO!y0WRzfvRFqH(OO!AWi=;?LiKfUziKWN}Gib^s8Zk03aJg(|W^7|*WS`u{Bs2LO z)3nWeEON|@yqk5|T^O1DG{q+ubL35C=3FhM0d#p0i1?+cUzDF;qFw?srU|d(vX;m5X5Q@VzOjhoA;ICWl# z9wc&KPIhk2_!Op=`GoMPJUAh7bYm`tn4IUCQwb+g3^}s zp@5Bb#yPZ0on1gBmNtfUdnX%_=b%nsA44rcfimN_Yp7qm`xoFY0;GCv(U!ndbxT}k zrO+C*@j8u-jGtr6wch&unHGj@2Vz|uiLSj^Y$pnIyF6E-f=#0?=bb9GN$v;ngo7Fh zdMz^8da}v%f;0QU46~Uxvj;qpD^cgoJZtJ!6=w=3Pt52xXtz}^MijFqvBtB6;7nwf zcyQ$-;?w($=Qo;Y71-qC`^lxgQE2}6-dfooOARb{bVp4dzl3wqmF;n_yzy@)U_u3X zp>Y;`bc#Z~N8wMP<NSzo)tSUet#E6j)3m%(pGH&dqsbV{_of*m&euiJl zmKDFi2Cm&iDo99RDVFVApL@=^*YxZxMlj~>4G%^LeRG@R0cYqLeC7d646P6gSXc)l zT!n#KkLr<#R#AX>#3CN<#=FVqunblwZ2S(T6Z$1YDE{#FH7=CgRAsBFt(3$YrLmzK zUba-T{FbkAqt%WVHjCr;TaK?=T{qNPuBExgb!9Bpsd{gmTli^DM5=wJi zNx&2b^rq(2aBMhV#u&!d+QuviVX810+fiAnAzh&a;gUScE{Ii4RT$!e38Xh9e)*9K zz%tADvXzA=?$dhEhZ%m(7^V_eqEXr|G2Un;u-NCcY5KzhO&@>J$2$d1z>z|@3SzhO zBw6&jwo32?mQ?U3iCZUW{Gz7DoUcI`J3{>%3uU)lJ0h89JkWUsSpUPu#b?yy4rHGG z!RSgBb;~MQf(bsKljiC?_;clr!9WGd<6`+d#hc#B<-x8)IWlMXK(dcrcvJqF?YdSa z0Rx9ji97JPNt(vrp?y&rbYsdyC1DXc$3IQ{mb^))-ASH9f8_b`K{@Fn`O