def get_auth_for_user(self, user_id, auth_classes=None): where_clause = And([("user_id", "=", "%s")]) vals = [user_id] qb = SQLQueryBuilder.select("auth_lookup", backtick=False) if auth_classes is not None: if isinstance(auth_classes, type): auth_classes = [auth_classes] esses = [] for auth_class in auth_classes: auth_type = self._class_to_type_id(auth_class) vals.append(auth_type) esses.append("%s") where_clause.append( ("provider_type", "IN", "(" + ",".join(esses) + ")")) qb = qb.where(where_clause) rows = MySQL.get(user_id).query(qb.build(), vals) rows = self._filter_deleted(rows) return [self._row_to_model(row) for row in rows]
def _get_list(self, table_name, id, id_name, sort_by="sort_index", count=None, offset=None, has_permissions=None, missing_permissions=None, sort=SORT_HI_TO_LO): where_clause = And([(id_name, "=", "%s"), ("deleted", "=", "0")], backtick=False) if has_permissions: where_clause.append( ("`permission`|" + str(has_permissions), "=", "`permission`")) if missing_permissions: where_clause.append(("`permission`&" + str(missing_permissions), "=", "`permission`")) if offset and sort_by: if SORT_HI_TO_LO: comp = "<" else: comp = ">" where_clause.append((sort_by, comp, offset)) query_builder = (SQLQueryBuilder.select(table_name).where( where_clause).limit(count)) if sort_by: query_builder.order_by(sort_by, sort) try: ret = MySQL.get(id).query(query_builder.build(), [id]) except BadIdError: raise framework.models.data_access_object.RowNotFoundException() return ret