예제 #1
0
def get_user_group_relation_by_id(user_group_relation_id):
    try:
        user_group_relation = UserGroupRelation.get_query(
            filter_condition=(UserGroupRelation.id == user_group_relation_id))
        return jsonify(
            data=SerializableModelMixin.serialize_row(user_group_relation.one())
        ), 200

    except:
        return jsonify(
            userMessage="해당 관계를 찾을 수 없습니다."
        ), 404
예제 #2
0
def get_user_group_relations():
    request_params = request.get_json()
    if request.args.get('userId') is not None:
        user_id = int(request.args.get('userId'))
    else:
        user_id = 0

    if request.args.get('groupId'):
        group_id = int(request.args.get('groupId'))
    else:
        group_id = 0

    if user_id >= 1 and group_id >= 1:
        filter_condition = (UserGroupRelation.user_id == user_id, UserGroupRelation.group_id == group_id)

    elif user_id >= 1 >= group_id:
        filter_condition = (UserGroupRelation.user_id == user_id)
    elif group_id >= 1 >= user_id:
        filter_condition = (UserGroupRelation.group_id == group_id)
    else:
        filter_condition = None

    user_group_relations = UserGroupRelation.get_query(filter_condition=filter_condition)

    prev_group_id = None
    group_obj = {}
    user_object = {}
    for row in user_group_relations:
        (group, course, user_group, user) = row
        if prev_group_id != group.id:
            group_id = group.id
            group_obj[group_id] = group.serialize()
            group_obj[group_id]['course'] = course.serialize()
            group_obj[group_id]['users'] = []
            prev_group_id = group_id
        if user is not None:
            user_object = user.serialize()
            user_object['userGroup'] = user_group.serialize()
            group_obj[group_id]['users'].append(user_object)

    return jsonify(
        data=group_obj.values()
        # data = map(SerializableModelMixin.serialize_row, user_group_relations)
    ), 200