Exemplo n.º 1
0
def get_mutual_friends(args, person_id):
    source = Person.query.get_or_404(person_id)
    target = Person.query.get_or_404(args['target_id'])
    people_schema = PersonSchema(many=True)

    mutuals = source.mutual_friends(target)

    return people_schema.jsonify(mutuals), HTTPStatus.OK
Exemplo n.º 2
0
def get_mutual_friends(person_id):
    target_id = int(request.args['target_id'])
    people_schema = PersonSchema(many=True)

    person = Person.query.filter(Person.id == person_id).one()
    target = Person.query.filter(Person.id == target_id).one()
    people = person.mutual_friends(target)
    return people_schema.jsonify(people), HTTPStatus.OK
Exemplo n.º 3
0
def get_people():
    people_schema = PersonSchema(many=True)
    opt_sort = request.args.get('sort')
    if opt_sort:
        if opt_sort[0] == ('-'):
            people = Person.query.order_by(desc(opt_sort[1:len(opt_sort)]))
        else:
            people = Person.query.order_by(opt_sort)
    else:
        people = Person.query.all()
    return people_schema.jsonify(people), HTTPStatus.OK
Exemplo n.º 4
0
def create_person(person):
    errors = {}
    if validate(person, errors):
        person.save()
        return PersonSchema().jsonify(person), HTTPStatus.CREATED
    else:
        res = {"description": "Input failed validation.", "errors": errors}
        return flask.jsonify(res), HTTPStatus.BAD_REQUEST
Exemplo n.º 5
0
def get_people(args):
    people_schema = PersonSchema(many=True)
    order_by = None

    if(args):
        if(args['sort'] == '-created_at'):
            order_by = Person.created_at.desc()
        elif(args['sort'] == 'created_at'):
            order_by = Person.created_at
        elif(args['sort'] == '-name'):
            order_by = Person.first_name.desc()
        elif(args['sort'] == 'name'):
            order_by = Person.first_name

    people = (Person.query
              .order_by(order_by)
              .all())

    return people_schema.jsonify(people), HTTPStatus.OK
Exemplo n.º 6
0
def create_person(person):
    person.save()
    cache.delete('all_people')
    return PersonSchema().jsonify(person), HTTPStatus.CREATED
Exemplo n.º 7
0
        elif(args['sort'] == 'created_at'):
            order_by = Person.created_at
        elif(args['sort'] == '-name'):
            order_by = Person.first_name.desc()
        elif(args['sort'] == 'name'):
            order_by = Person.first_name

    people = (Person.query
              .order_by(order_by)
              .all())

    return people_schema.jsonify(people), HTTPStatus.OK


@blueprint.route('/people', methods=['POST'])
@use_args(PersonSchema(), locations=('json',))
def create_person(person):
    person.save()
    cache.delete('all_people')
    return PersonSchema().jsonify(person), HTTPStatus.CREATED


@blueprint.route('/people/<person_id>/mutual_friends', methods=['GET'])
@use_args({'target_id': fields.Integer(location='query', required=True)})
@cache.cached(key_prefix='mutual_friends', query_string=True)
def get_mutual_friends(args, person_id):
    source = Person.query.get_or_404(person_id)
    target = Person.query.get_or_404(args['target_id'])
    people_schema = PersonSchema(many=True)

    mutuals = source.mutual_friends(target)
Exemplo n.º 8
0
def create_person(person):
    person.save()
    return PersonSchema().jsonify(person), HTTPStatus.CREATED
Exemplo n.º 9
0
def get_people():
    people_schema = PersonSchema(many=True)
    people = Person.query.all()
    return people_schema.jsonify(people), HTTPStatus.OK
Exemplo n.º 10
0
def get_mutual_friends(args, person_id):
    personA = Person.query.filter(Person.id == person_id).one()
    personB = Person.query.filter(Person.id == args['target_id']).one()
    return PersonSchema(many=True).jsonify(
        personA.mutual_friends(personB)), HTTPStatus.OK