def mutate(self, info, person_data=None): person = Person(key=person_data.key, name=person_data.name, bio=person_data.bio, email=person_data.email, phone=person_data.phone) person.save(graph) ok = True return CreatePerson(person=person, ok=ok)
def mutate(self, info, following_data=None): person = Person.match(graph, following_data.person_key).first() follower = Person.match(graph, following_data.follower_key).first() if not person or not follower: ok = False return LinkFollowing(person=None, follower=None, ok=ok) person.add_or_update_follower(follower) person.save(graph) follower.add_or_update_following(person) follower.save(graph) ok = True return LinkFollowing(person=person, follower=follower, ok=ok)
def resolve_person(self, info, key): person = Person.match(graph, key).first() if not person: return None return PersonSchema(**person.as_dict())
def resolve_person_posted_tweets(self, info, key): person = Person.match(graph, key).first() if not person: return None return [TweetQuerySchema(**tweet.as_dict()) for tweet in person.posted_tweets]
def resolve_followings(self, info, key): person = Person.match(graph, key).first() if not person: return None return [PersonSchema(**following.as_dict()) for following in person.followings]
def mutate(self, info, person_data=None): person = Person.match(graph, person_data.key).first() if not person: ok = False return DeletePerson(person=None, ok=ok) person.delete(graph) ok = True return DeletePerson(person=person, ok=ok)
def mutate(self, info, person_tweet_data=None): person = Person.match(graph, person_tweet_data.person_key).first() tweet = Tweet.match(graph, person_tweet_data.tweet_key).first() if not person or not tweet: ok = False return LinkPersonTweet(person=None, tweet=None, ok=ok) person.remove_posted_tweet(tweet) person.save(graph) tweet.remove_poster(person) tweet.save(graph) ok = True return DelinkPersonTweet(person=person, tweet=tweet, ok=ok)