Example #1
0
def post_read():
    usr = current_user._get_current_object()
    add_fields = list()
    if isinstance(usr, AnonymousUser):
        c = post.get()
    else:
        c = post.get(filter_inactive=False)
        add_fields.extend(['draft'])
    return json_response([i.serialize(add_fields=add_fields) for i in c], 200)
Example #2
0
def post_read_instance_by_id(post_id):
    usr = current_user._get_current_object()
    add_fields = list()
    if not isinstance(usr, AnonymousUser):
        add_fields.extend(['draft'])

    p = post.get_by_id(post_id)
    if not p:
        return abort(404)

    return json_response(p.serialize(add_fields=add_fields), 200)
Example #3
0
def company_delete(company_id):
    if not current_user.is_authenticated():
        return abort(403)

    try:
        company.delete(current_user, company_id)
    except (ObjectNotFoundError, UnauthorizedObjectAccessError):
        # In either instance, return a not found response
        return abort(404)

    # TODO :: This response needs to make sense.
    return json_response([0], 204)
Example #4
0
def post_create():
    usr = current_user._get_current_object()
    data = request.json
    subtitle = data.get('subtitle', None)
    format = data.get('format', 'txt')
    domain = data.get('domain', app.config.get('DEFAULT_CONTENT_DOMAIN'))
    tags = data.get('tags', None)
    tags = [t.strip() for t in tags.split(',')] if tags else None
    p = post.create(usr,
                    data.get('slug'),
                    data.get('title'),
                    data.get('content'),
                    format,
                    subtitle=subtitle,
                    domain=domain,
                    tags=tags)
    return json_response(p.serialize(), 201)
Example #5
0
def update(usr, p, data):
    if usr.id != p.author_id or p.author_id != data['author_id']:
        msg = 'You are not authorized to update post id: %s' % p.id
        raise UnauthorizedObjectAccessError(msg)

    if 'tags' in data:
        data['tags'] = [t.strip() for t in data['tags'].split(',')]

    activate = False
    if 'active' in data:
        activate = True
        is_active = data['active']
        del data['active']

    kwargs = dict()
    for (k, v) in data.items():
        if k in ('title', 'content', 'tags'):
            kwargs[k] = v
    post.update(p, usr, **kwargs)

    if activate:
        post.publish(p, usr, is_active=is_active)

    return json_response(p.serialize(), 200)
Example #6
0
def post_read_instance_by_slug(post_slug):
    p = post.get_by_slug(post_slug)
    if not p:
        return abort(404)
    return json_response(p.serialize(), 200)
Example #7
0
def user_read_instance_by_username(username):
    u = User.query.filter_by(username=username).first()
    if not u:
        return abort(404)

    return json_response(u.serialize(), 200)
Example #8
0
def user_read():
    users = User.query.order_by(User.id).all()

    return json_response([u.serialize() for u in users], 200)
Example #9
0
def role_read_instance(role_id):
    r = Role.query.filter_by(id=role_id).first()
    if not r:
        return abort(404)

    return json_response(r.serialize(), 200)
Example #10
0
def role_read():
    roles = Role.query.order_by(Role.id).all()
    return json_response([r.serialize() for r in roles], 200)