示例#1
0
def find_user(session, firstname, lastname):
    user_row = (session.query(UserSchema)
                .filter(UserSchema.firstname == firstname)
                .filter(UserSchema.lastname == lastname)
                .first())
    if not user_row:
        return None

    return db_converter.to_model(user_row)
示例#2
0
def _rows_to_user_model(user_rows):
    if not user_rows:
        return []

    users = []
    for user_row in user_rows:
        user_model = db_converter.to_model(user_row)
        users.append(user_model)

    return users
示例#3
0
def get_main_user_by_line_id(session, line_id):
    row = (session.query(UserSchema, UserLineSchema)
           .filter(UserLineSchema.user_id == UserSchema.id)
           .filter(UserLineSchema.line_id == line_id)
           .filter(UserLineSchema.main_user == True)
           .first())

    if not row:
        raise ElementNotExistsError('MainUser', line_id=line_id)

    user_row, _ = row
    return db_converter.to_model(user_row)
示例#4
0
文件: dao.py 项目: jlebleu/xivo-dao
def get_main_user_by_line_id(session, line_id):
    row = (session.query(UserSchema, UserLineSchema)
           .filter(UserLineSchema.user_id == UserSchema.id)
           .filter(UserLineSchema.line_id == line_id)
           .filter(UserLineSchema.main_user == True)
           .first())

    if not row:
        raise errors.not_found('User', line_id=line_id)

    user_row, _ = row
    return db_converter.to_model(user_row)
示例#5
0
def _find_by_number_context(session, number, context):
    user_row = (session.query(UserSchema)
                .join(ExtensionSchema, and_(ExtensionSchema.context == context,
                                            ExtensionSchema.exten == number,
                                            ExtensionSchema.commented == 0))
                .join(LineSchema, and_(LineSchema.commented == 0))
                .join(UserLineSchema, and_(UserLineSchema.user_id == UserSchema.id,
                                           UserLineSchema.extension_id == ExtensionSchema.id,
                                           UserLineSchema.line_id == LineSchema.id,
                                           UserLineSchema.main_line == True))
                .first())

    if not user_row:
        return None

    return db_converter.to_model(user_row)
示例#6
0
def get(session, user_id):
    user_row = _fetch_commented_user_row(session, user_id)
    return db_converter.to_model(user_row)