Example #1
0
def create():
    user_id = request.args.get('user_id')
    user_info = get_user_info(user_id)
    req = request.form
    is_reply_from = req['is_reply_from'] if req['is_reply_from'] else None

    data = Comment(body=req['body'],
                   list_id=req['list_id'],
                   card_id=req['card_id'],
                   is_reply_from=is_reply_from,
                   created_by=user_id)

    db.session.add(data)
    db.session.commit()

    db.session.query(Card).filter(Card.id == data.id).update(
        {'comment_count': Card.comment_count + 1})
    db.session.commit()

    res = {
        'id': data.id,
        'body': data.body,
        'list_id': data.list_id,
        'card_id': data.card_id,
        'list_id': data.list_id,
        'is_reply_from': data.is_reply_from
    }

    return jsonify(message="success", data=res)
Example #2
0
def show(id):
    user_id = request.args.get('user_id')
    user_info = get_user_info(user_id)
    id = request.view_args['id']

    data = Comment.query.filter(Comment.id == id).first()

    if not data:
        return jsonify(message='No data found.'), 422

    per_page = 20
    page = request.args.get('page') if request.args.get('page') else 0
    list_data = Comment.query.filter(
        Comment.is_reply_from == data.id).paginate(int(page), int(per_page),
                                                   False)
    total = list_data.total
    items = list_data.items

    data_list = []

    for reply in items:
        data_list.append({
            'id': reply.id,
            'title': reply.body,
            'list_id': reply.list_id,
            'card_id': reply.card_id,
            'is_reply_from': reply.is_reply_from
        })

    res = {'id': data.id, 'body': data.title, 'reply_list': data_list}

    return jsonify(message='success', data=res)
Example #3
0
def show(id):
    user_id = request.args.get('user_id')
    user_info = get_user_info(user_id)
    id = request.view_args['id']

    data = List.query.filter(List.id == id).first()

    if not data:
        return jsonify(message='No data found.'), 422

    if user_info.type == 'member' and str(
            data.assigned_member) != str(user_id):
        return jsonify(message="Not authorized."), 422

    per_page = 20
    page = request.args.get('page') if request.args.get('page') else 0
    list_data = Card.query.filter(Card.list_id == id).paginate(
        int(page), int(per_page), False)
    total = list_data.total
    items = list_data.items

    card_list = []

    for card in items:
        card_list.append({
            'id': card.id,
            'title': card.title,
            'assigned_member': card.assigned_member
        })

    res = {'id': data.id, 'title': data.title, 'cards': card_list}

    return jsonify(message='success', data=res)
Example #4
0
def create():
    user_id = request.args.get('user_id')
    user_info = get_user_info(user_id)

    if user_info.type == 'member':
        return jsonify(message="Not authorized"), 422

    req = request.form

    check = List.query.filter(List.title == req['title']).first()

    if check:
        return jsonify(message="Title Already Taken"), 422

    data = List(title=req['title'], created_by=user_id)

    db.session.add(data)
    db.session.commit()

    res = {
        'id': data.id,
        'title': data.title,
        'assigned_member': data.assigned_member
    }

    return jsonify(message="success", data=res)
Example #5
0
def delete(id):
    user_id = request.args.get('user_id')
    user_info = get_user_info(user_id)

    if user_info.type == 'member':
        return jsonify(message="Not authorized"), 422

    id = request.view_args['id']
    req = request.form

    check = List.query.filter(List.id == id).first()

    if str(check.created_by) != str(user_id):
        return jsonify(
            message="You cannot delete a list which is not belong to you."
        ), 422

    if check:
        db.session.query(Card).filter(Card.list_id == id).delete()
        db.session.commit()

        db.session.query(List).filter(List.id == id).delete()
        db.session.commit()

        return jsonify(message="successfully deleted.")

    return jsonify(message="No data found."), 422
Example #6
0
def member_assignment(id):
    user_id = request.args.get('user_id')
    user_info = get_user_info(user_id)

    if user_info.type == 'member':
        return jsonify(message="Not authorized"), 422

    id = request.view_args['id']
    req = request.form

    check = List.query.filter(List.id == id).first()

    if check:
        if req['action'] == 'assign':
            db.session.query(List).filter(List.id == id).update(
                {'assigned_member': req['member_id']})

        if req['action'] == 'unassign':
            db.session.query(List).filter(List.id == id).update(
                {'assigned_member': None})

        db.session.commit()

        return jsonify(message="successfully updated.")

    return jsonify(message="No data found."), 422
Example #7
0
def index():
    user_id = request.args.get('user_id')
    user_info = get_user_info(user_id)
    per_page = 20
    page = request.args.get('page') if request.args.get('page') else 0
    list_data = List.query.paginate(int(page), int(per_page), False)

    if user_info.type == 'member':
        list_data = List.query.filter(
            List.assigned_member == user_id).paginate(int(page), int(per_page),
                                                      False)

    total = list_data.total
    items = list_data.items

    res = []

    for data in items:
        res.append({
            'id': data.id,
            'title': data.title,
            'assigned_member': data.assigned_member
        })

    return jsonify(message="success", data=res, records=total)
Example #8
0
def index():
    user_id = request.args.get('user_id')
    user_info = get_user_info(user_id)
    per_page = 20
    page = request.args.get('page') if request.args.get('page') else 0
    list_data = Card.query.order_by(Card.comment_count.desc()).paginate(int(page), int(per_page), False)

    total = list_data.total
    items = list_data.items

    res = []

    for data in items:
        res.append({'id': data.id, 'title': data.title, 'list_id': data.list_id, 'description': data.description, 'comment_count': data.comment_count})

    return jsonify(message="success", data=res, records=total)
Example #9
0
def update(id):
    user_id = request.args.get('user_id')
    user_info = get_user_info(user_id)
    id = request.view_args['id']
    req = request.form

    check = Card.query.filter(Card.id==id).first()

    if str(check.created_by) != str(user_id):
        return jsonify(message="You cannot update a card which is not belong to you."), 422 

    if check:
        db.session.query(Card).filter(Card.id == id).update({'title': req['title'], 'description': req['description']})
        db.session.commit()

        return jsonify(message="successfully updated.")

    return jsonify(message="No data found."), 422 
Example #10
0
def create():
    user_id = request.args.get('user_id')
    user_info = get_user_info(user_id)
    req = request.form

    check = Card.query.filter(List.title==req['title']).first()

    if check:
        return jsonify(message="Card Title Already Taken"), 422 
    
    data = Card(title=req['title'], description=req['description'], list_id=req['list_id'], created_by=user_id)

    db.session.add(data)
    db.session.commit()

    res = {'id': data.id,'title': data.title, 'description': data.description, 'list_id': data.list_id}

    return jsonify(message="success", data=res)
Example #11
0
def show(id):
    user_id = request.args.get('user_id')
    user_info = get_user_info(user_id)
    id = request.view_args['id']

    data = Comment.query.filter(List.id==id).first()

    list_data = Comment.query.filter(Comment.card_id==req['card_id'])[:3]

    data_list = []

    for comments in list_data:
        data_list.append({'id': comments.id, 'body': comments.body, 'card_id': comments.card_id, 'list_id': comments.list_id})
    
    if not data:
        return jsonify(message='No data found.'), 422

    res = {'id': data.id,'title': data.title, 'description': data.description, 'cards': data_list}

    return jsonify(message='success', data=res)
Example #12
0
def update(id):
    user_id = request.args.get('user_id')
    user_info = get_user_info(user_id)

    if user_info.type == 'member':
        return jsonify(message="Not authorized"), 422

    id = request.view_args['id']
    req = request.form

    check = List.query.filter(List.id == id).first()

    if check:
        db.session.query(List).filter(List.id == id).update(
            {'title': req['title']})
        db.session.commit()

        return jsonify(message="successfully updated.")

    return jsonify(message="No data found."), 422
Example #13
0
def delete(id):
    user_id = request.args.get('user_id')
    user_info = get_user_info(user_id)
    id = request.view_args['id']
    req = request.form

    check = Card.query.filter(Card.id==id).first()

    if str(check.created_by) != str(user_id):
        return jsonify(message="You cannot delete a card which is not belong to you."), 422 

    if check:
        db.session.query(Comment).filter(Comment.card_id == id).delete()
        db.session.commit()

        db.session.query(Card).filter(Card.id == id).delete()
        db.session.commit()

        return jsonify(message="successfully deleted.")

    return jsonify(message="No data found."), 422 
Example #14
0
def index():
    user_id = request.args.get('user_id')
    user_info = get_user_info(user_id)
    per_page = 20
    page = request.args.get('page') if request.args.get('page') else 0
    card_id = request.args.get('card_id')
    list_data = Comment.query.filter(Comment.card_id == card_id).paginate(
        int(page), int(per_page), False)
    total = list_data.total
    items = list_data.items

    res = []

    for data in items:
        res.append({
            'id': data.id,
            'body': data.body,
            'card_id': data.card_id,
            'is_replay_from': data.is_reply_from,
            'list_id': data.list_id
        })

    return jsonify(message="success", data=res, records=total)