コード例 #1
0
    def mutate_and_get_payload(cls, root, info, **input):
        try:
            group_id = int(from_global_id(input['group_id']).type_id)
            filter_group = models.SavedFilterGroup.objects.get(pk=group_id)
            filter_group.state = input['state']
            filter_group.group_name = input['group_name']
            filter_group.save()

            original_filterDetails = models.FilterDetail.objects.filter(
                filter_group__pk=group_id).delete()

        except Exception:
            print("Error updating new filter group!")
        finally:
            filter_details = input['filter_details']

            for filter_detail in filter_details:
                filter_id = int(
                    from_global_id(filter_detail['filter_id']).type_id)
                filter = Filter.objects.get(pk=filter_id)
                detail = models.FilterDetail.objects.create(
                    filter_group=filter_group,
                    filter=filter,
                    state=filter_detail['state'],
                    first_argument=filter_detail['first_argument'],
                    second_argument=filter_detail['second_argument'],
                    third_argument=filter_detail['third_argument'],
                    fourth_argument=filter_detail['fourth_argument'],
                    fifth_argument=filter_detail['fifth_argument'])
                detail.save()
        return cls(filter_group=filter_group)
コード例 #2
0
 def mutate_and_get_payload(cls, root: Any, info: graphene.ResolveInfo,
                            **input_data: dict) -> 'CreatePassage':
     serializer = PassageService(
         data={
             'name': input_data['name'],
             'description': input_data['description'],
             'is_ending': input_data['is_ending'],
             'story_id': from_global_id(input_data['story_id']).type_id,
             'character_id': from_global_id(
                 input_data['character_id']).type_id,
         })
     serializer.is_valid(raise_exception=True)
     passage = serializer.save()
     return cls(passage=passage)
コード例 #3
0
ファイル: story.py プロジェクト: dvndrsn/cyoa-story
 def mutate_and_get_payload(cls, root: Any, info: graphene.ResolveInfo,
                            **input_data: dict) -> 'UpdateStory':
     story = from_global_id(input_data['story_id'])
     serializer = StoryService.for_instance(
         story.type_id,
         data={
             'title': input_data['title'],
             'subtitle': input_data['subtitle'],
             'description': input_data['description'],
             'published_year': input_data['published_year'],
             'author_id': from_global_id(input_data['author_id']).type_id
         })
     serializer.is_valid(raise_exception=True)
     story = serializer.save()
     return cls(story=story)
コード例 #4
0
ファイル: choice.py プロジェクト: dvndrsn/cyoa-story
 def mutate_and_get_payload(cls, root: Any, info: graphene.ResolveInfo,
                            **input_data: dict) -> 'CreateChoice':
     serializer = ChoiceService(
         data={
             'description':
             input_data['description'],
             'is_main_story':
             input_data['is_main_story'],
             'from_passage_id':
             from_global_id(input_data['from_passage_id']).type_id,
             'to_passage_id':
             from_global_id(input_data['to_passage_id']).type_id,
         })
     serializer.is_valid(raise_exception=True)
     choice = serializer.save()
     return cls(choice=choice)
コード例 #5
0
    def mutate_and_get_payload(cls, root, info, **input):
        try:
            member = info.context.user.member
            filter_group_state = "notify"
            filter_group = models.SavedFilterGroup.objects.create(
                member=member,
                group_name=input['group_name'],
                state=filter_group_state)
            filter_group.save()
            filter_details = input['filter_details']
            for filter_detail in filter_details:
                filter_id = int(
                    from_global_id(filter_detail['filter_id']).type_id)
                filter = Filter.objects.get(pk=filter_id)
                detail = models.FilterDetail.objects.create(
                    filter_group=filter_group,
                    filter=filter,
                    state=filter_detail['state'],
                    first_argument=filter_detail['first_argument'],
                    second_argument=filter_detail['second_argument'],
                    third_argument=filter_detail['third_argument'],
                    fourth_argument=filter_detail['fourth_argument'],
                    fifth_argument=filter_detail['fifth_argument'])
                detail.save()
        except Exception:
            return "Error creating new filter group!"

        return cls(filter_group=filter_group)
コード例 #6
0
ファイル: character.py プロジェクト: dvndrsn/cyoa-story
 def mutate_and_get_payload(cls, root: Any, info: graphene.ResolveInfo,
                            **input_data: dict) -> 'UpdateCharacter':
     decoded = from_global_id(input_data['character_id'])
     serializer = CharacterService.for_instance(
         decoded.type_id, data={'name': input_data['name']})
     serializer.is_valid(raise_exception=True)
     character = serializer.save()
     return cls(character=character)
コード例 #7
0
    def test_to_global_id__can_be_decoded_from_default_name(self):
        class TypeWithGlobalIDWithoutName(graphene.ObjectType):
            class Meta:
                interfaces = (graphene.Node, )

        encoded = to_global_id(TypeWithGlobalIDWithoutName, 3)

        decoded = from_global_id(encoded)
        self.assertEqual(decoded, GlobalID('TypeWithGlobalIDWithoutName', 3))
コード例 #8
0
 def mutate_and_get_payload(cls, root, info, **input):
     # try:
     _id = int(from_global_id(input['id']).type_id)
     following = models.Following.objects.get(pk=_id)
     following.state = input['state']
     following.save()
     # except Exception:
     #     return "Update failed!"
     return cls(following=following)
コード例 #9
0
 def mutate_and_get_payload(cls, root, info, **input):
     try:
         _id = int(from_global_id(input['id']).type_id)
         following = models.Following.objects.get(pk=_id)
         following.delete()
         ok = True
     except Exception:
         ok = False
     return cls(ok=ok)
コード例 #10
0
 def mutate_and_get_payload(cls, root, info, **input):
     try:
         filter_id = int(from_global_id(input['id']).type_id)
         filter_group = models.SavedFilterGroup.objects.get(pk=filter_id)
         filter_group.delete()
         ok = True
     except Exception:
         ok = False
     return cls(ok=ok)
コード例 #11
0
    def test_to_global_id__can_be_decoded_from_type_name(self):
        class TypeWithGlobalIDAndName(graphene.ObjectType):
            class Meta:
                interfaces = (graphene.Node, )
                name = 'WithGlobalID'

        encoded = to_global_id(TypeWithGlobalIDAndName, 2)

        decoded = from_global_id(encoded)
        self.assertEqual(decoded, GlobalID('WithGlobalID', 2))
コード例 #12
0
 def mutate_and_get_payload(cls, root, info, **input):
     try:
         filter_detail_id = int(
             from_global_id(input['filter_detail_id']).type_id)
         filter_detail = models.FilterDetail.objects.get(
             pk=filter_detail_id)
         filter_group = filter_detail.filter_group
         filter_detail.delete()
         return cls(filter_group=filter_group)
     except Exception:
         return "Failed to delete filter detail!"
コード例 #13
0
 def mutate_and_get_payload(cls, root, info, **input):
     try:
         group_id = int(from_global_id(input['group_id']).type_id)
         filter_group = models.SavedFilterGroup.objects.get(pk=group_id)
         filter_id = int(
             from_global_id(input['filter_detail']['filter_id']).type_id)
         filter = Filter.objects.get(pk=filter_id)
         filter_detail = models.FilterDetail.objects.create(
             filter_group=filter_group,
             filter=filter,
             state=input['filter_detail']['state'],
             first_argument=input['filter_detail']['first_argument'],
             second_argument=input['filter_detail']['second_argument'],
             third_argument=input['filter_detail']['third_argument'],
             fourth_argument=input['filter_detail']['fourth_argument'],
             fifth_argument=input['filter_detail']['fifth_argument'])
         filter_detail.save()
         return cls(filter_group=filter_group)
     except Exception:
         return "Failed to create filter detail!"
コード例 #14
0
 def mutate_and_get_payload(cls, root: Any, info: graphene.ResolveInfo,
                            **input_data: dict) -> 'UpdateAuthor':
     author = from_global_id(input_data['author_id'])
     serializer = AuthorService.for_instance(
         author.type_id,
         data={
             'first_name': input_data['first_name'],
             'last_name': input_data['last_name'],
             'twitter_account': input_data['twitter_account'],
         })
     serializer.is_valid(raise_exception=True)
     author = serializer.save()
     return cls(author=author)
コード例 #15
0
ファイル: filter_mutation.py プロジェクト: rajancolab/crypto
    def mutate_and_get_payload(cls, root: Any, info: graphene.ResolveInfo,
                               **input_data: dict) -> 'UpdateFilter':

        filter_id = int(from_global_id(input_data['filter_id']).type_id)
        serializer = FilterService.for_instance(
            filter_id,
            data={
                'category': input_data['category'],
                'filter_name': input_data['filter_name'],
                'filter_content': input_data['filter_content'],
            })
        serializer.is_valid(raise_exception=True)
        filter = serializer.save()
        return cls(filter=filter)
コード例 #16
0
    def mutate_and_get_payload(cls, root, info, **input):
        # try:
        filter_detail_id = int(
            from_global_id(input['filter_detail_id']).type_id)
        filter_detail = models.FilterDetail.objects.get(pk=filter_detail_id)
        filter_group = filter_detail.filter_group

        if 'state' in input.keys():
            filter_detail.state = input['state']
        if input['first_argument'] != 0.0:
            filter_detail.first_argument = input['first_argument']
        if input['second_argument'] != 0.0:
            filter_detail.second_argument = input['second_argument']
        if input['third_argument'] != 0.0:
            filter_detail.third_argument = input['third_argument']
        if input['fourth_argument'] != 0.0:
            filter_detail.fourth_argument = input['fourth_argument']
        if input['fifth_argument'] != 0.0:
            filter_detail.fifth_argument = input['fifth_argument']

        filter_detail.save()
        return cls(filter_group=filter_group)
コード例 #17
0
ファイル: filter_mutation.py プロジェクト: rajancolab/crypto
 def mutate_and_get_payload(cls, root: Any, info: graphene.ResolveInfo,
                            **input_data: dict) -> 'DeleteFilter':
     filter_id = int(from_global_id(input_data['filter_id']).type_id)
     ok = FilterService.delete(filter_id)
     return cls(ok=str(ok))