You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
orquestrador/scripts/list_integration_deliveries.py

34 lines
1.1 KiB
Python

import argparse
import json
import sys
from pathlib import Path
PROJECT_ROOT = Path(__file__).resolve().parents[1]
if str(PROJECT_ROOT) not in sys.path:
sys.path.insert(0, str(PROJECT_ROOT))
from app.services.integrations.events import SUPPORTED_EVENT_TYPES
from app.services.integrations.service import SUPPORTED_DELIVERY_STATUSES, list_integration_deliveries
def main() -> None:
parser = argparse.ArgumentParser(description="Lista entregas do outbox de integracoes com filtros operacionais.")
parser.add_argument("--status", action="append", choices=SUPPORTED_DELIVERY_STATUSES)
parser.add_argument("--event", choices=SUPPORTED_EVENT_TYPES)
parser.add_argument("--provider")
parser.add_argument("--route-id", type=int)
parser.add_argument("--limit", type=int, default=50)
args = parser.parse_args()
deliveries = list_integration_deliveries(
statuses=args.status,
event_type=args.event,
provider=args.provider,
route_id=args.route_id,
limit=args.limit,
)
print(json.dumps(deliveries, ensure_ascii=True, indent=2, sort_keys=True))
if __name__ == "__main__":
main()