Esempio n. 1
0
 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)
Esempio n. 2
0
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()
Esempio n. 3
0
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