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.
38 lines
1.1 KiB
Python
38 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 list_integration_routes
|
|
|
|
|
|
def main() -> None:
|
|
parser = argparse.ArgumentParser(description="Lista rotas de integracao configuradas.")
|
|
parser.add_argument("--event", choices=SUPPORTED_EVENT_TYPES)
|
|
parser.add_argument("--provider")
|
|
enabled_group = parser.add_mutually_exclusive_group()
|
|
enabled_group.add_argument("--enabled", action="store_true")
|
|
enabled_group.add_argument("--disabled", action="store_true")
|
|
args = parser.parse_args()
|
|
|
|
enabled = None
|
|
if args.enabled:
|
|
enabled = True
|
|
if args.disabled:
|
|
enabled = False
|
|
|
|
routes = list_integration_routes(
|
|
event_type=args.event,
|
|
provider=args.provider,
|
|
enabled=enabled,
|
|
)
|
|
print(json.dumps(routes, ensure_ascii=True, indent=2, sort_keys=True))
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main() |