def create_user_group_relation(): request_params = request.get_json() user_id = request_params.get('userId') group_id = request_params.get('groupId') if user_id is None: return jsonify( userMessage="유저를 선택하셔야 합니다." ), 400 if group_id is None: return jsonify( userMessage="그룹을 선택하셔야 합니다." ), 400 q = db.session.query(UserGroupRelation).filter(UserGroupRelation.user_id == user_id, UserGroupRelation.group_id == group_id) if q.count() > 0: return jsonify( userMeesage="이미 등록되어있는 반입니다." ), 409 user_group_relation = UserGroupRelation(user_id=user_id, group_id=group_id) db.session.add(user_group_relation) db.session.commit() return jsonify( data=user_group_relation.serialize() ), 200
def sign_up(): request_params = request.get_json() email = request_params.get('email') password = request_params.get('password') name = request_params.get('name') group_id = request_params.pop('groupId') # TODO regex, password validation need if email is None: return jsonify( userMessage="이메일 입력을 확인해주세요." ), 400 if password is None: return jsonify( userMessage="비밀번호 입력을 확인해주세요." ), 400 if name is None: return jsonify( userMessage="이름 입력을 확인해주세요." ), 400 q = db.session.query(User) \ .filter(User.email == email) if q.count() > 0: return jsonify( userMeesage="이미 등록된 이메일입니다." ), 409 user = User.add(request_params) if user is None: return jsonify( userMessage="server error, try again" ), 400 # user_group_relation 추가 if group_id != 0: user_group_relation = UserGroupRelation(user_id=int(user.id), group_id=int(group_id)) else: user_group_relation = UserGroupRelation(user_id=int(user.id)) db.session.add(user_group_relation) db.session.commit() token = user.get_token() user_data = user.serialize() user_data['user_group_relation'] = user_group_relation.serialize() return jsonify( data=user_data, token=token ), 201
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
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