Compare commits
	
		
			2 Commits
		
	
	
		
			7129469835
			...
			4e46ea1ca3
		
	
	| Author | SHA1 | Date | 
|---|---|---|
|  | 4e46ea1ca3 | |
|  | 0d1a39f217 | 
|  | @ -113,7 +113,9 @@ def get_transaction(transaction_id) -> Transaction: | ||||||
|     return transaction |     return transaction | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def get_transactions(user, start=None, end=None, limit=None, offset=None, show_reversal=False, show_cancelled=True): | def get_transactions( | ||||||
|  |     user, start=None, end=None, limit=None, offset=None, show_reversal=False, show_cancelled=True, descending=False | ||||||
|  | ): | ||||||
|     count = None |     count = None | ||||||
|     query = Transaction.query.filter((Transaction.sender_ == user) | (Transaction.receiver_ == user)) |     query = Transaction.query.filter((Transaction.sender_ == user) | (Transaction.receiver_ == user)) | ||||||
|     if start: |     if start: | ||||||
|  | @ -125,6 +127,9 @@ def get_transactions(user, start=None, end=None, limit=None, offset=None, show_r | ||||||
|         query = query.filter(Transaction.original_ == None) |         query = query.filter(Transaction.original_ == None) | ||||||
|     if not show_cancelled: |     if not show_cancelled: | ||||||
|         query = query.filter(Transaction.reversal_id.is_(None)) |         query = query.filter(Transaction.reversal_id.is_(None)) | ||||||
|  |     if descending: | ||||||
|  |         query = query.order_by(Transaction.time.desc()) | ||||||
|  |     else: | ||||||
|         query = query.order_by(Transaction.time) |         query = query.order_by(Transaction.time) | ||||||
|     if limit is not None: |     if limit is not None: | ||||||
|         count = query.count() |         count = query.count() | ||||||
|  |  | ||||||
|  | @ -99,6 +99,32 @@ def set_limit(userid, current_session: Session): | ||||||
|     return HTTP.no_content() |     return HTTP.no_content() | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @BalancePlugin.blueprint.route("/users/balance/limit", methods=["GET", "PUT"]) | ||||||
|  | @login_required(permission=permissions.SET_LIMIT) | ||||||
|  | def limits(current_session: Session): | ||||||
|  |     """Get, Modify limit of all users | ||||||
|  | 
 | ||||||
|  |     Args: | ||||||
|  |         current_ession: Session sent with Authorization Header | ||||||
|  | 
 | ||||||
|  |     Returns: | ||||||
|  |         JSON encoded array of userid with limit or HTTP-error | ||||||
|  |     """ | ||||||
|  | 
 | ||||||
|  |     users = userController.get_users() | ||||||
|  |     if request.method == "GET": | ||||||
|  |         return jsonify([{"userid": user.userid, "limit": user.get_attribute("balance_limit")} for user in users]) | ||||||
|  | 
 | ||||||
|  |     data = request.get_json() | ||||||
|  |     try: | ||||||
|  |         limit = data["limit"] | ||||||
|  |     except (TypeError, KeyError): | ||||||
|  |         raise BadRequest | ||||||
|  |     for user in users: | ||||||
|  |         balance_controller.set_limit(user, limit) | ||||||
|  |     return HTTP.no_content() | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| @BalancePlugin.blueprint.route("/users/<userid>/balance", methods=["GET"]) | @BalancePlugin.blueprint.route("/users/<userid>/balance", methods=["GET"]) | ||||||
| @login_required(permission=permissions.SHOW) | @login_required(permission=permissions.SHOW) | ||||||
| def get_balance(userid, current_session: Session): | def get_balance(userid, current_session: Session): | ||||||
|  | @ -170,6 +196,7 @@ def get_transactions(userid, current_session: Session): | ||||||
|     show_cancelled = request.args.get("showCancelled", True) |     show_cancelled = request.args.get("showCancelled", True) | ||||||
|     limit = request.args.get("limit") |     limit = request.args.get("limit") | ||||||
|     offset = request.args.get("offset") |     offset = request.args.get("offset") | ||||||
|  |     descending = request.args.get("descending", False) | ||||||
|     try: |     try: | ||||||
|         if limit is not None: |         if limit is not None: | ||||||
|             limit = int(limit) |             limit = int(limit) | ||||||
|  | @ -179,11 +206,20 @@ def get_transactions(userid, current_session: Session): | ||||||
|             show_reversals = str2bool(show_reversals) |             show_reversals = str2bool(show_reversals) | ||||||
|         if not isinstance(show_cancelled, bool): |         if not isinstance(show_cancelled, bool): | ||||||
|             show_cancelled = str2bool(show_cancelled) |             show_cancelled = str2bool(show_cancelled) | ||||||
|  |         if not isinstance(descending, bool): | ||||||
|  |             descending = str2bool(descending) | ||||||
|     except ValueError: |     except ValueError: | ||||||
|         raise BadRequest |         raise BadRequest | ||||||
| 
 | 
 | ||||||
|     transactions, count = balance_controller.get_transactions( |     transactions, count = balance_controller.get_transactions( | ||||||
|         user, start, end, limit, offset, show_reversal=show_reversals, show_cancelled=show_cancelled |         user, | ||||||
|  |         start, | ||||||
|  |         end, | ||||||
|  |         limit, | ||||||
|  |         offset, | ||||||
|  |         show_reversal=show_reversals, | ||||||
|  |         show_cancelled=show_cancelled, | ||||||
|  |         descending=descending, | ||||||
|     ) |     ) | ||||||
|     return {"transactions": transactions, "count": count} |     return {"transactions": transactions, "count": count} | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue