from __future__ import annotations

import argparse

from ..context import CliContext


def register(subparsers: argparse._SubParsersAction[argparse.ArgumentParser]) -> None:
    parser = subparsers.add_parser("view", help="视图访问")
    view_subparsers = parser.add_subparsers(dest="view_command", required=True)

    get_parser = view_subparsers.add_parser("get", help="读取视图资源描述")
    get_parser.add_argument("--view-id", required=True)
    get_parser.set_defaults(handler=_handle_get, format_hint="view_get")


def _handle_get(args: argparse.Namespace, context: CliContext) -> dict:
    return context.resource.view_get(profile=args.profile, view_id=args.view_id)
