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()