def get_user(self, name): query = ( select( [ users.c.username, users.c.name, users.c.date_joined, emails.c.email, ], from_obj=users.outerjoin( emails, emails.c.user_id == users.c.id, ), ) .where(and_( users.c.username == name, )) .limit(1) ) with self.engine.connect() as conn: result = conn.execute(query).first() if result is not None: result = dict(result) return result
def get_users_for_project(self, project): query = ( select( [users.c.username, emails.c.email], from_obj=users.outerjoin( emails, emails.c.user_id == users.c.id, ), ) .where(and_( users.c.username == roles.c.user_name, roles.c.package_name == project, )) .order_by( roles.c.role_name.desc(), func.lower(roles.c.user_name), ) ) with self.engine.connect() as conn: return [dict(r) for r in conn.execute(query)]