Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
    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)]