From 2aa03e4c6b2c3c02a6d7f80807547ff88aa3b4ff Mon Sep 17 00:00:00 2001 From: Vasilenko Ilia Date: Wed, 3 Feb 2021 01:40:08 +0300 Subject: [PATCH] change backend to communicate with frontend without shit part 1 --- hyperlinks/__pycache__/models.cpython-37.pyc | Bin 1326 -> 1167 bytes hyperlinks/models.py | 6 +- lessons/LessonType.py | 37 +++++ lessons/__pycache__/LessonType.cpython-37.pyc | Bin 0 -> 1639 bytes lessons/__pycache__/gqlTypes.cpython-37.pyc | Bin 0 -> 5875 bytes lessons/__pycache__/models.cpython-37.pyc | Bin 3755 -> 3946 bytes lessons/__pycache__/schema.cpython-37.pyc | Bin 18726 -> 16142 bytes lessons/gqlTypes.py | 146 ++++++++++++++++++ lessons/migrations/0007_lesson_time_lesson.py | 18 +++ lessons/migrations/0008_materials_lesson.py | 19 +++ lessons/migrations/0009_lesson_content.py | 18 +++ lessons/migrations/0010_auto_20210203_0122.py | 23 +++ .../0007_lesson_time_lesson.cpython-37.pyc | Bin 0 -> 585 bytes .../0008_materials_lesson.cpython-37.pyc | Bin 0 -> 697 bytes .../0009_lesson_content.cpython-37.pyc | Bin 0 -> 571 bytes .../0010_auto_20210203_0122.cpython-37.pyc | Bin 0 -> 653 bytes lessons/models.py | 5 + lessons/schema.py | 113 +++----------- .../__pycache__/gqlTypes.cpython-37.pyc | Bin 3104 -> 4522 bytes .../__pycache__/query.cpython-37.pyc | Bin 1043 -> 1043 bytes organisations/gqlTypes.py | 65 +++++--- users/__pycache__/schema.cpython-37.pyc | Bin 3163 -> 3204 bytes users/schema.py | 8 +- 23 files changed, 344 insertions(+), 114 deletions(-) create mode 100644 lessons/LessonType.py create mode 100644 lessons/__pycache__/LessonType.cpython-37.pyc create mode 100644 lessons/__pycache__/gqlTypes.cpython-37.pyc create mode 100644 lessons/gqlTypes.py create mode 100644 lessons/migrations/0007_lesson_time_lesson.py create mode 100644 lessons/migrations/0008_materials_lesson.py create mode 100644 lessons/migrations/0009_lesson_content.py create mode 100644 lessons/migrations/0010_auto_20210203_0122.py create mode 100644 lessons/migrations/__pycache__/0007_lesson_time_lesson.cpython-37.pyc create mode 100644 lessons/migrations/__pycache__/0008_materials_lesson.cpython-37.pyc create mode 100644 lessons/migrations/__pycache__/0009_lesson_content.cpython-37.pyc create mode 100644 lessons/migrations/__pycache__/0010_auto_20210203_0122.cpython-37.pyc diff --git a/hyperlinks/__pycache__/models.cpython-37.pyc b/hyperlinks/__pycache__/models.cpython-37.pyc index e0997a59fbaef0357ad253f8c4de21875c453d74..eaffc8d3dd7566d9b39ca633ea24ed37a1267c01 100644 GIT binary patch delta 263 zcmZ3-)z8W6#LLUY00fh?gcD>Y@=7w+O;nH4WJ%%ZWlG^p;c8)MW{l!Z) zJ=vW_flV36)a0L>%Ti;f1QG@DkraWIO9RDjaoFVMrgbe^f-ZUQo delta 372 zcmeC@T*t-h#LLUY00f#<90`&Wc_kSqO;nGvWlrJfWlG^p;c8)MW{l!Zn3Ue@nCjZ7&6Bq?OhKRKnl2l`s0gIlQUDxQU!nl#Y{kgfvHG& zvIn!NktC3<$y~$%q>AK0gaSkWWOk7vh)@C%5W7JvnaP^Wa*QfK&5mkBYFN*#z@`e+ zt0^$~DszpiGRPPe5CIZIG8$|N*v%X^x%nxjIjMGxKo!LxSMxB5FmW*PF!C@7v55d7 E0D>V#r~m)} diff --git a/hyperlinks/models.py b/hyperlinks/models.py index b0772ea..7d2e876 100644 --- a/hyperlinks/models.py +++ b/hyperlinks/models.py @@ -13,9 +13,9 @@ class HyperLink(models.Model): child = models.OneToOneField(Child, null=True, on_delete=models.CASCADE, unique=False) organ = models.OneToOneField(Organisator, null=True, on_delete=models.CASCADE, unique=False) -@receiver(signal=post_save, sender=Organisator) -def org_recieve(sender, instance, **kwargs): - HyperLink.objects.create(organ=instance) +#@receiver(signal=post_save, sender=Organisator) +#def org_recieve(sender, instance, **kwargs): +# HyperLink.objects.create(organ=instance) diff --git a/lessons/LessonType.py b/lessons/LessonType.py new file mode 100644 index 0000000..620b96b --- /dev/null +++ b/lessons/LessonType.py @@ -0,0 +1,37 @@ +from .models import Lesson +import graphene +import graphene_django +from graphene import relay +from .gqlTypes import TestsType + + +class LessonType(graphene_django.DjangoObjectType): + class Meta: + model=Lesson + interfaces = (relay.Node,) + filter_fields = { + "name": ["exact", "contains"], + "descr": ["exact", "contains"] + } + pk = graphene.Int() + tests = graphene.List(TestsType) + testsLen = graphene.Int() + materialsLen = graphene.Int() + materials = graphene.List(Material) + + def resolve_tests(self, info): + return self.tests_set.all() + + def resolve_pk(self, info): + return self.pk + + def resolve_testsLen(self, info): + return len(self.tests_set.all()) + + + def resolve_materialsLen(self, info): + return len(self.materials_set.all()) + + + def resolve_materials(self, info): + return self.materials_set.all() \ No newline at end of file diff --git a/lessons/__pycache__/LessonType.cpython-37.pyc b/lessons/__pycache__/LessonType.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..92ac0e9fe481a2803012dede0b02099ea5cada20 GIT binary patch literal 1639 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 literal 18726 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 literal 0 HcmV?d00001 diff --git a/lessons/migrations/__pycache__/0008_materials_lesson.cpython-37.pyc b/lessons/migrations/__pycache__/0008_materials_lesson.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..71990825db9bc9c099d5333408cc72f6be6f57e4 GIT binary patch literal 697 zcmYLH&2H2%5Vqs|(?uLWsJuZAjrK-`5bCl}4v0!<#U+YlvOCi#!AX`lTd7>zYafJH z@|9CxfCDGS$!_b&{kIGMw( z?I@ACpBM;mZyC7AYwt#69ylwOc=vRNC60-ks_cuQ>RN65rUO*^Vq;^66_RpBTc46Z zmT_R21H9y!K)0r9AkeP^svp)-?bmVr1U&HX1O#`2vW_66evyg392!yAK%v&uGJ83n z&tJ>Ql0((tUeBVY7_hGjMX;vuy&wR;p6+j^)0qep0A3b5HJGStCE>>bjWcu}Phx;=`2Uzcz4ZyI}@ zSL#Zu9Ir}jPm1ljXe(e15cjZLgseGVmPh7ga?(M?}Xlwg+LgBkEcjz1a xiEp9_XbS6brfHJn2WL9Hg7h##|J-7=H6Kw=+AH#z@a@FjJ4=YRY0r2l{sZh$#SZ`g literal 0 HcmV?d00001 diff --git a/lessons/migrations/__pycache__/0009_lesson_content.cpython-37.pyc b/lessons/migrations/__pycache__/0009_lesson_content.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c6cb4a28cbd3bc0cdad533d30458b04958299c88 GIT binary patch literal 571 zcmYLGy-ve05VqqqNh^>T=qn&a0@M)@Li|WD0Ryl^k&NjbRf_XNoK`Ty3IlHekK~n! zS773trs5)>zx&DEedpuV)d3^<`WW86bH=`%u@s-cAsw?p3K($Ba-Q(qOFYib7v>XSmFVn@I;_L z?YZI@OhfRY_r@W36BLOcq!y9wpD$}uqfnzU)Fl~?Mxz~>s|M>#X(JbY8+3O#E{g_> z#Mtaw4<8-?=~gUyB$^8G2E`6Yxj0;#l}5vBm&>(9(}F8S%5Z?9Aoox~+f(q!7TqN=x6%j&#AgD-_qp>V4dp8ruck8wB`l6(U_8x#o z;BBb4rOGQ%F>B|Pv37R8`JY*TI6O=k(XT(xznyxF{dHhZ0SRYx%qwERfGbw>oY!9N zarT*k2mVh6KJvBy!_R#PE?FAhlP^m>o77d=$-Zi|v6H$1RA%K&dzzAPM#p?4hAij6 zau0aPb033s=#t}PJ%s>5nCv{5?)LhK^by36?6}jGULL~}Dt%z%FZ-I*z*M0zuKKeq z%if3)iB+R})V+;s*<)8pWo)pxYtaU((wlprW?U@bmE5YHrjWN3s>}X5^$EE-gqAh= z4?Mi8P=O6V_HvPO8!na9n~OBDkr@1hu!#^9w^c~;fe_!fQn^@%09(|6dR3w6X#LDa z?*Tr!oSpAre10vv0o!r3AybXG0*0+Y@WRq*=#;PY41As7fk4wr^F(E5(M0%@5meP o!G4hjHios-Wpe_{VUnT$!T8wVD7~aSHhMemkuK)l5 literal 0 HcmV?d00001 diff --git a/lessons/models.py b/lessons/models.py index 2a6ee51..0c255df 100644 --- a/lessons/models.py +++ b/lessons/models.py @@ -24,11 +24,16 @@ class Lesson(models.Model): type_lesson = models.ForeignKey(SubjectClassLocal, on_delete=models.CASCADE) name = models.TextField(default="") descr = models.TextField(default="") + content = models.TextField(default="") + time_lesson = models.DateTimeField(auto_now=True) class Materials(models.Model): link = models.URLField() name = models.CharField(max_length=100, blank=True) + data = models.TextField(blank=True) + Type = models.CharField(max_length=100, default="link") + lesson = models.ForeignKey(Lesson, on_delete=models.CASCADE, default=3) class Tests(models.Model): diff --git a/lessons/schema.py b/lessons/schema.py index 6587c73..60692ab 100644 --- a/lessons/schema.py +++ b/lessons/schema.py @@ -12,99 +12,10 @@ from users.models import Profile from django.db.models import Model - -class AnswerType(graphene_django.DjangoObjectType): - class Meta: - model = Answer - interfaces = (relay.Node,) - filter_fields = { - "sheet" : ("exact",), - } - pk = graphene.Int() - - def resolve_pk(self, info): return self.pk - -class AnswerSheetType(graphene_django.DjangoObjectType): - class Meta: - model = AnswerSheet - interfaces = (relay.Node,) - filter_fields = { - "test" : ("exact",), - "child": ("exact",) - } +from .gqlTypes import * -class TaskType(graphene_django.DjangoObjectType): - class Meta: - model = Task - interfaces = (relay.Node,) - filter_fields = { - "test": ("exact",), - "types": ("contains",) - } - pk = graphene.Int() - - def resolve_pk(self, info): - return self.pk - - -class TestsType(graphene_django.DjangoObjectType): - class Meta: - model = Tests - interfaces = (relay.Node,) - filter_fields = { - "name": ("exact", "contains"), - "lesson": ("exact",) - } - pk = graphene.Int() - - def resolve_pk(self, info): - return self.id - - - -class SubjectType(graphene_django.DjangoObjectType): - class Meta: - model=Subject - interfaces = (relay.Node,) - - filter_fields = { - "name" : ("exact", "contains",), - "organisation" : ("exact",), - "teachers_give" : ("contains",) - } - pk = graphene.Int() - - def resolve_pk(self, info): return self.pk - - -class LessonType(graphene_django.DjangoObjectType): - class Meta: - model=Lesson - interfaces = (relay.Node,) - filter_fields = { - "name": ["exact", "contains"], - "descr": ["exact", "contains"] - } - pk = graphene.Int() - - def resolve(self, info): - return self.pk - - -class LocalSubjectType(graphene_django.DjangoObjectType): - class Meta: - model=SubjectClassLocal - interfaces = (relay.Node,) - filter_fields = { - "name": ("exact", "contains"), - "id": ("exact",), - "group": ("exact",) - } - pk = graphene.Int() - - def resolve_pk(self, info): - return self.pk +from graphql_relay.node.node import from_global_id class CreateLesson(graphene.Mutation): class Arguments: @@ -412,6 +323,23 @@ class AnswerQuestion(graphene.Mutation): return AnswerQuestion(answer=answerT) +class CreateMaterial(graphene.Mutation): + class Arguments: + lesson_id = graphene.ID() + data = graphene.String() + name = graphene.String() + + material = graphene.Field(Material) + + + def mutate(self, info, lesson_id, data, name): + lessonId = from_global_id(lesson_id)[1] + print(lessonId) + lesson = Lesson.objects.get(id=lessonId) + material = Materials.objects.create(lesson=lesson, data=data, link="google.com", name=name) + return CreateMaterial(material=material) + + class Mutation(graphene.ObjectType): create_lesson = CreateLesson.Field() update_lesson_registration = UpdateLessonRegistration.Field() @@ -441,6 +369,9 @@ class Mutation(graphene.ObjectType): answer_question = AnswerQuestion.Field() + + create_material = CreateMaterial.Field() + class Query(graphene.ObjectType): all_test = DjangoFilterConnectionField(TestsType) diff --git a/organisations/__pycache__/gqlTypes.cpython-37.pyc b/organisations/__pycache__/gqlTypes.cpython-37.pyc index b764f7a4621c9b840c889a18e80f5c3dbeb7a1e2..175e55afff05e8f8815b3b11af2cc6ea0333d562 100644 GIT binary patch literal 4522 zcmb_fNpsvp6jp2PSv?-d4gpf-5Fi<-n621?aSTq8qRLFFaNwXaC6rNnJYz{S>6TN; z6u0DOaIla31AYX*ps$>A&W#iAwWQg-r7~0f)avE+>-WC5==(~gsKM{0bNTmwp!YAn ze72! zUrbfX*f~@g@+axg^kB9poT^4sz(vbk_(B zkinD-W4sojR5dS(VKQRBaT^d-x)*f7%V!QSeOZ)^%r>-s z6Bf+3J~NN3W6ia*rvp#Q%x>YBxJ5MObImQKzTuWrk8mqN0ZdzzwV`PNs56j3nKq$` zRUrA>S}-s_DCh(?u{ITO9`G4s?W&SDQ(w3Gc+6a@pG zMyh0Rb4FVyY@2_jDzL#Tb;*%_tmT(5_%#@p1?5vHF24@%p#68@!QVqN(xwu2Wq4}n z3&BJtE3Q|d)X3n*$&ya&nGnqiC%tSga?W(#8`{_u%y2b!`f zEQJ>|4M{OXBzZC|K3xy}=waY*+=Oi}p=pE9P83%hKJ2nqBG%T!Uds=~26WQh5IxPX zBfz?m-P1Tfr|G#7@y56n0!hkt}*WPR0BLFg(>V5|~|DN3p~g`if}sYwlvb1i7Y zp8>s1XlJJ*ig|A)sGy0}evF^vK}97}eNf4Fso>FUSku};2TEhbyt|<8K7^JBRD8ck zK>i%oV}{K4WR5JWSFJoQH-6=#ma#=+LtdN zLFMyBBy}KjA~H&K@re8>?8+0PPK`V*>SQ)HBMwx2zyLnx>Qe6?oEEQ&xx4ibzC#(& z*n>+WO^l|S4LXe-L<9dA$tOs@MDi7qc~JTSCU9AnVyYFYa~zuw2fTU?=d<7tK%EL% z(}CzlWhtu&Un4MTV=P}kG|*rdhsF=6$zjd(O3+aDIt3fbln+ok1&Wn%EsS6>k)<$9 zD->cOhA2ED$63vWY5DNhdil7jL6h%So$xAKnmPSI8ZmM7r zJj8#X%+ZS%FJ46aagu<4gSY$xLGQNJK_LBqbdn2{IBP zkvc>YW+X-u=@?0z5vA!vlB%DCe4PEFvxw+`F14sUXkXbDFh`RF*!Q|`e_ z-i}uAy6Cuf#^D?LLaSi;4OK*p02JFf5VhzJJv}~F%;GV60n(!->Zo%(j=ki%` z>e;&Mah0}m?v`EDKzG{(mta@4<8>EqIJfHDT&0QORkVL95>=Y`i@Tu04|E&8hu5Vm zKi7dHwU9DvMuYxy^T2hwtq^*mx_0nvxbtFYHnZ&g6nD!mDEpss>i$=0VOQ7n&$k^i zRCX*)U>0ASPg}(Mv@o>2!((WvmDuguy2V&Gw{77=7h$X_(i2`H6P^^3Bw6?irXPC+ diff --git a/organisations/__pycache__/query.cpython-37.pyc b/organisations/__pycache__/query.cpython-37.pyc index 75dc8c746f49be73bb5a8f627e2e8f404ed6c95b..346f1cd552d4ff8ae901329535d70bca7424ac30 100644 GIT binary patch delta 20 acmbQtF`0wgiIS6h?C=$xM<;KnW#g}PBpDb~`$Brb$5>#_^E zPvY8zpdf2hYVkzOr1Qs7f=0R5XUee&=!^SJkMDKg`D`kpm0A z#Dhr9=5?nZ;g!{eDt=hMJT-3Pj>Kns8}{+fKAhWBy$T`FWmb7kp^B$Y2^u(Z_A+Z~ tu&A(sFHW6rDXpoW7DCb;O6(FWT5=X#u$X1Y5O*`55TbBfrkm$^?;oCqMVJ5p delta 348 zcmZpXye+}&#LLUY00izz>P_}%lod#2TgVv2p2C*GlET`;7{xJ}k?oi@ zD^Q^`5En}Ti4ukq#w?~R<{G9f79eI#VeDmUW(;P~Wb)HwDv|}ND3Svbnrub#Kx(og zyXs_bc3lM~AcujmN;oJrJ+rtZwJ5YWwMZ|wv?Q@4Rg=+AlXLO{b}3<2x6IU>lp=PZ z(pxO0Kov!*lMT2fBtRyq0dX-KklBdcfXAPeLx@d?7XW%9LYe>o diff --git a/users/schema.py b/users/schema.py index 44c26bb..087ae9f 100644 --- a/users/schema.py +++ b/users/schema.py @@ -38,10 +38,14 @@ class RegisterUserInput(graphene.InputObjectType): class RegisterUser(graphene.Mutation): class Arguments: input = RegisterUserInput(required=True) - user = graphene.Field(UserType) + ok = graphene.Boolean() def mutate(self, info, input=None): - return RegisterUser(User.objects.create_user(username=input.username, password=input.password)) + try: + User.objects.create_user(username=input.username, password=input.password) + except: + return RegisterUser(ok=False) + return RegisterUser(ok=True) class Mutation(graphene.ObjectType): token_auth = graphql_jwt.ObtainJSONWebToken.Field()