Skip to content

make_get_command: мигрировать get с вложенными полями + criteria-limit (Группы 2-3) #587

@axisrow

Description

@axisrow

Follow-up по #582 / эпик #584. Расширить фабрику make_get_command (direct_cli/commands/_get.py, введена в #582 / PR #586) на get-команды с вложенными *FieldNames и ограничениями массивов criteria.

Группа 2 (вложенные *FieldNames + add_criteria_csv): adextensions, adimages, leads, retargeting, sitelinks, feeds, clients, agencyclients.
Группа 3 (enforce_criteria_array_limits, per-module *_GET_CRITERIA_LIMITS): dynamicads, smartadtargets, dynamicfeedadtargets, bids, bidmodifiers, reports, keywordbids.

Потребует расширения фабрики: поддержка nested_field_options (parse_nested_field_names → params.update) и прокидывание criteria-limits/пустой-criteria проверок. Механизм выбрать под реальные требования (callback criteria_builder уже есть; при необходимости — post_criteria_validators или декларативный criteria-spec).

Инварианты (обязательно): --help (порядок опций, i18n-ключи), --dry-run payload и patchability — байт-идентичны до/после. Снимать эталоны до миграции и diff'ить. Гейты: test_cli.py, test_comprehensive.py, test_dry_run.py, test_api_coverage.py (schema-parity capture), test_read_cassettes.py.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions