def bulk_delete(cls, ids): """ Override the general bulk_delete method because we need to delete them one at a time while also deleting them on Stripe. :param ids: List of ids to be deleted :type ids: list :return: int """ delete_count = 0 for id in ids: coupon = Coupon.query.get(id) if coupon is None: return 0 # Delete on Stripe. stripe_response = PaymentCoupon.delete(coupon.code) # If successful, delete it locally. if stripe_response.get('deleted'): coupon.delete() delete_count += 1 return delete_count