Эпик 3 ревью: каталог через SDK Zeus + модерация FIFO + edit clear #4
Reference in New Issue
Block a user
Delete Branch "chore/review-E3-vitrina-fixes"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Ревью Эпика 3 «Витрина, публикация, модерация, каталог офферов».
CRITICAL: MarketplaceCatalog/api использовал raw GraphQL строки с sendPOST('/v1/graphql', ...) и shape API не совпадал с backend (offset/sort vs page/sortOrder, total vs totalCount). Теперь:
CRITICAL: marketplaceListPendingOffers (модерация) дефолт sortOrder DESC → ASC (FIFO — первой берётся самая старая заявка, как требует AC Story 3.3).
HIGH: при edit ACTIVE-оффера статус сбрасывался в PENDING_MODERATION, но поля approved_by/approved_at/rejected_by/rejected_at/reject_reason оставались — UI показывал stale данные. Теперь явно обнуляются в normalizedPatch.
Открытые фоллоуапы (не в этом PR):
Тесты: 168/169 marketplace зелёные (1 фейл geocoder-factory — Эпик 2, фикс в PR #2). Controller tsc чист.
@@ -31,8 +31,10 @@ export interface MarketplaceOfferView {}export interface MarketplaceOfferPage {А нельзя чтоль взять IOutput с запроса нормально также как я везде беру и использовать напрямую? Зачем здесь тип переопределять если можно этого не делать??
@@ -0,0 +8,4 @@{ input: $('input', 'MarketplaceListCatalogInput') },{items: marketplaceOfferSelector,totalCount: true,У меня есть PaginatedSelector!! Через него делать надо! Если не подходит - значит ты нарушил канон и надо переделывать пагинацию! Должно подходить.