def mutate_and_get_payload(root, info, **input): user = info.context.user or None if user.is_anonymous: raise GraphQLError('User not authenticated.') new_post = Post(**input, posted_by=user) new_post.save() return CreatePost(post=new_post, author=new_post.posted_by)
def create_post(event_id): user_id = auth.check_token(request.headers.get('session')) if not user_id: return "Unauthorized request: Bad session token", 401 organizer = Organizer.find_id(user_id) if not organizer: return "Unauthorized request: User doesn't have permission", 401 event = Event.find_event(event_id) if not event: return "Event not found", 404 body = request.get_json() post = Post() post.event = event post.author = organizer post.time = datetime.utcnow() post.image = body.get('image') post.title = body.get('title') post.body = body.get('body') post.notif = body.get('notif') post.save() if not post.id: return "Error creating post", 500 # If post.notif, send text message to all attendees return post.to_json()
def get_newsfeed_data(source=None, category=None): from .news import generate_news_feed from django.forms.models import model_to_dict newsfeed_articles = generate_news_feed(source, category) newsfeed_posts = [] for article in newsfeed_articles: search_results = Post.objects.filter(article=article) if search_results: post_data = model_to_dict(search_results.first()) else: new_post = Post(article=article) new_post.save() post_data = model_to_dict(new_post) post_data["article"] = model_to_dict(article) newsfeed_posts.append(post_data) return newsfeed_posts