Atribut + atribut qiymati CRUD (inline-add tayyor)
Tavsif
Qabul mezonlari (DoD)
3 / 3 bajarildi
-
Atribut/qiymat duplikat nomda 409
qa-ep-02-t02-s02 · 1 о аввал
-
Bir atributga ikki xil registrda bir xil qiymat kiritilsa ikkinchisi 409
qa-ep-02-t02-s02 · 1 о аввал
-
Inline-add service metodi: mavjud qiymat so'ralsa yangi qator yaratmaydi, mavjudini qaytaradi
qa-ep-02-t02-s02 · 1 о аввал
O'zgargan fayllar
15 ta
-
modified
src/test/java/uz/erpbom/products/controller/AttributeControllerIntegrationTest.java -
modified
src/main/java/uz/erpbom/products/service/AttributeService.java -
modified
src/main/java/uz/erpbom/products/repository/AttributeValueRepository.java -
modified
src/main/java/uz/erpbom/products/repository/AttributeRepository.java -
modified
src/main/java/uz/erpbom/products/mapper/AttributeValueMapper.java -
modified
src/main/java/uz/erpbom/products/mapper/AttributeMapper.java -
modified
src/main/java/uz/erpbom/products/entity/AttributeValue.java -
modified
src/main/java/uz/erpbom/products/entity/Attribute.java -
modified
src/main/java/uz/erpbom/products/dto/AttributeValueUpdateRequest.java -
modified
src/main/java/uz/erpbom/products/dto/AttributeValueResponse.java -
modified
src/main/java/uz/erpbom/products/dto/AttributeValueCreateRequest.java -
modified
src/main/java/uz/erpbom/products/dto/AttributeUpdateRequest.java -
modified
src/main/java/uz/erpbom/products/dto/AttributeResponse.java -
modified
src/main/java/uz/erpbom/products/dto/AttributeCreateRequest.java -
modified
src/main/java/uz/erpbom/products/controller/AttributeController.java
Izoh qoldirish
Tarix
16 yozuv
-
✎
finalize-ep-02 yangiladi
Yangilandi: commit_sha
-
💬
qa-ep-02-t02-s02 izoh qoldirdi
QA PASS. Spec 02_products.md#2.6/#2.7 + openapi/v1/products.yaml (Attributes) bilan solishtirildi — endpoint yollari, GET->product.view / POST-PUT->product_dictionary.manage, 409 DUPLICATE_DICTIONARY_VALUE tocsa mos. DB: uq_attributes_name / uq_attribute_values_attribute_id_value UNIQUE(lower(btrim(...))) migratsiyada tasdiqlandi (qoida 28). AC1008/1009 real HTTP integratsiya testlarida (creatingDuplicateNormalizedAttributeNameReturnsDuplicateDictionaryValue, creatingDuplicateNormalizedAttributeValueUnderSameAttributeReturnsConflict va update variantlari) tekshirildi. AC1010 (resolveOrCreateValue) kod darajasida + DB qator soni bilan tasdiqlandi (countAttributeValues==1 ikki chaqiruvdan keyin, turli registr/bosh-oxir bosh joy bilan). Mutatsiya tekshiruvi: resolveOrCreateValue dagi existing-check ni ataylab ochirib test yiqilishini kordim (AssertionFailure), keyin git checkout bilan tikladim — test haqiqiy defektni ushlaydi. RequirePermissionAspect haqiqiy AOP enforcement (403+audit log, stub emas) — listingWithoutViewPermissionReturnsForbidden / creatingWithoutManagePermissionReturnsForbidden testlarida real HTTP orqali tasdiqlangan. Test natijasi: flock bilan AttributeControllerIntegrationTest -> 19/19 PASS (0 failures/errors, 37.19s). Cross-cutting: Transactional(readOnly) oqishda / write yozishda togri qollangan; tenant_id yoq (single-tenant, AR-1 mos); attribute_id oddiy FK bigint RESTRICT (AR-10 mos, varchar kod emas); snake_case + koplik jadval nomlari + toliq FK nomi (fk_attribute_values_attribute); DELETE yoq — bu qasddan (spec+kontrakt: active/deleted_at yoq, FK RESTRICT himoyalaydi), qty/price precision bu resursda tegishli emas.
-
⇄
qa-ep-02-t02-s02 statusni o'zgartirdi Review → Bajarildi
-
✓
qa-ep-02-t02-s02 qabul mezonini belgiladi
✓ Inline-add service metodi: mavjud qiymat so'ralsa yangi qator yaratmaydi, mavjudini qaytaradi
-
✓
qa-ep-02-t02-s02 qabul mezonini belgiladi
✓ Bir atributga ikki xil registrda bir xil qiymat kiritilsa ikkinchisi 409
-
✓
qa-ep-02-t02-s02 qabul mezonini belgiladi
✓ Atribut/qiymat duplikat nomda 409
-
⇄
coder-ep-02-t02-s02 statusni o'zgartirdi Ishlanyapti → Review
-
✎
coder-ep-02-t02-s02 yangiladi
Yangilandi: branch, commit_sha
-
✓
coder-ep-02-t02-s02 qabul mezonini belgiladi
✓ Inline-add service metodi: mavjud qiymat so'ralsa yangi qator yaratmaydi, mavjudini qaytaradi
-
✓
coder-ep-02-t02-s02 qabul mezonini belgiladi
✓ Bir atributga ikki xil registrda bir xil qiymat kiritilsa ikkinchisi 409
-
✓
coder-ep-02-t02-s02 qabul mezonini belgiladi
✓ Atribut/qiymat duplikat nomda 409
-
📄
coder-ep-02-t02-s02 fayllarni qayd etdi
15 ta fayl qayd etildi
-
⇄
coder-ep-02-t02-s02 statusni o'zgartirdi Backlog → Ishlanyapti
Agent ishni boshladi
-
⚑
coder-ep-02-t02-s02 ishga oldi
-
✎
pm-agent yangiladi
Yangilandi: estimate_hours
-
✦
pm-agent yaratdi
Atribut + atribut qiymati CRUD (inline-add tayyor)
Ma'lumot
- Agent
- coder-ep-02-t02-s02
- Olingan
- 1 о аввал
- Boshlandi
- 18.08.2026 19:40
- Tugadi
- 18.08.2026 20:06
- Baho
- 4 soat
- Spec
- erp/docs/modules/02_products.md#2.7
- Branch
- feat/EP-02-erpbom-backend
- Commit
- 4b90a3e35337
Bog'liqliklar
Bundan oldin tugashi kerak
Yo'q — bu ish mustaqil.
Agent uchun
Bu ishni AI agent quyidagicha oladi:
curl -s -X POST https://pmboard.ferp.uz/api/items/EP-02-T02-S02/claim \ -H "X-Agent: backend-dev-1"
Tugatgach:
curl -s -X POST https://pmboard.ferp.uz/api/items/EP-02-T02-S02/status \
-H "X-Agent: backend-dev-1" \
-H "Content-Type: application/json" \
-d '{"status":"review","note":"..."}'