Parcourir la source

fix: api error of get all workspaces (#15880)

tags/1.1.0
csurong il y a 7 mois
Parent
révision
c3774bef7e
Aucun compte lié à l'adresse e-mail de l'auteur
1 fichiers modifiés avec 7 ajouts et 15 suppressions
  1. 7
    15
      api/controllers/console/workspace/workspace.py

+ 7
- 15
api/controllers/console/workspace/workspace.py Voir le fichier

@@ -88,28 +88,20 @@ class WorkspaceListApi(Resource):
parser.add_argument("limit", type=inputs.int_range(1, 100), required=False, default=20, location="args")
args = parser.parse_args()

tenants = Tenant.query.order_by(Tenant.created_at.desc()).paginate(page=args["page"], per_page=args["limit"])

tenants = Tenant.query.order_by(Tenant.created_at.desc()).paginate(
page=args["page"], per_page=args["limit"], error_out=False
)
has_more = False
if len(tenants.items) == args["limit"]:
current_page_first_tenant = tenants[-1]
rest_count = (
db.session.query(Tenant)
.filter(
Tenant.created_at < current_page_first_tenant.created_at, Tenant.id != current_page_first_tenant.id
)
.count()
)

if rest_count > 0:
has_more = True
total = db.session.query(Tenant).count()
if tenants.has_next:
has_more = True

return {
"data": marshal(tenants.items, workspace_fields),
"has_more": has_more,
"limit": args["limit"],
"page": args["page"],
"total": total,
"total": tenants.total,
}, 200



Chargement…
Annuler
Enregistrer