Sub-task EP-03-T01-S02 Kritik 01_suppliers erpbom-backend

`supplier_documents` jadvali + soft-delete

Bajarildi
Status:

Tavsif

**`supplier_documents`** (§2.3): `id`, `supplier_id` (FK, RESTRICT), `file_key varchar` (MinIO obyekt kaliti — `<domen>/<yil>/<oy>/<uuid>.<ext>`, tenant prefiksi YO'Q — AR-7), `mime_type varchar(100)` (majburiy), `size_bytes bigint` (majburiy), `doc_type enum(identity|other) default other`, `uploaded_by_user_id` (FK→`users`), `uploaded_at`, `deleted_at timestamp NULL` (soft-delete — §7 `supplier_document.delete`, CROSS_CUTTING H). ⚠️ Fayl **original nomi ustuni YO'Q** (Q29 = C): hujjatlar `doc_type` + `uploaded_at` bilan farqlanadi. Indeks: `supplier_documents(supplier_id) WHERE deleted_at IS NULL`.

Qabul mezonlari (DoD)

4 / 4 bajarildi

  • `mime_type` yoki `size_bytes` siz insert rad etiladi (NOT NULL)

    qa-ep-03-t01-s02 · 1 о аввал

  • Original fayl nomi uchun ustun yo'q (information_schema testi — Q29 = C ongli qarori)

    qa-ep-03-t01-s02 · 1 о аввал

  • Soft-delete qilingan hujjat `deleted_at IS NULL` filtri bilan ro'yxatga chiqmaydi, lekin qator DB da qoladi

    qa-ep-03-t01-s02 · 1 о аввал

  • `V12` migratsiyasi toza bazada va mavjud (V11 gacha to'ldirilgan) bazada xatosiz o'tadi

    qa-ep-03-t01-s02 · 1 о аввал

O'zgargan fayllar

4 ta

  • modified src/test/java/uz/erpbom/suppliers/SupplierDocumentsMigrationTest.java
  • modified src/main/java/uz/erpbom/suppliers/repository/SupplierDocumentRepository.java
  • modified src/main/java/uz/erpbom/suppliers/entity/SupplierDocument.java
  • modified src/main/resources/db/migration/V13__supplier_documents.sql

Izoh qoldirish

Tarix

23 yozuv

  • 🔗

    team-lead-pm bog'liqlik qo'shdi

    → EP-03-T01-S01

  • ✎

    team-lead-pm yangiladi

    Yangilandi: estimate_hours

  • 🔗

    team-lead-pm bog'liqlik qo'shdi

    → EP-03-T01-S01

  • ✎

    team-lead-pm yangiladi

    Yangilandi: estimate_hours

  • 🔗

    team-lead-pm bog'liqlik qo'shdi

    → EP-03-T01-S01

  • ✎

    team-lead-pm yangiladi

    Yangilandi: estimate_hours

  • ✎

    finalize-ep-03 yangiladi

    Yangilandi: pr_url

  • ⇄

    qa-ep-03-t01-s02 statusni o'zgartirdi Review → Bajarildi

  • ✓

    qa-ep-03-t01-s02 qabul mezonini belgiladi

    ✓ `V12` migratsiyasi toza bazada va mavjud (V11 gacha to'ldirilgan) bazada xatosiz o'tadi

  • ✓

    qa-ep-03-t01-s02 qabul mezonini belgiladi

    ✓ Soft-delete qilingan hujjat `deleted_at IS NULL` filtri bilan ro'yxatga chiqmaydi, lekin qator DB da qoladi

  • ✓

    qa-ep-03-t01-s02 qabul mezonini belgiladi

    ✓ Original fayl nomi uchun ustun yo'q (information_schema testi — Q29 = C ongli qarori)

  • ✓

    qa-ep-03-t01-s02 qabul mezonini belgiladi

    ✓ `mime_type` yoki `size_bytes` siz insert rad etiladi (NOT NULL)

  • ⇄

    coder-ep-03-t01-s02 statusni o'zgartirdi Ishlanyapti → Review

  • ✎

    coder-ep-03-t01-s02 yangiladi

    Yangilandi: branch, commit_sha

  • ✓

    coder-ep-03-t01-s02 qabul mezonini belgiladi

    ✓ `V12` migratsiyasi toza bazada va mavjud (V11 gacha to'ldirilgan) bazada xatosiz o'tadi

  • ✓

    coder-ep-03-t01-s02 qabul mezonini belgiladi

    ✓ Soft-delete qilingan hujjat `deleted_at IS NULL` filtri bilan ro'yxatga chiqmaydi, lekin qator DB da qoladi

  • ✓

    coder-ep-03-t01-s02 qabul mezonini belgiladi

    ✓ Original fayl nomi uchun ustun yo'q (information_schema testi — Q29 = C ongli qarori)

  • ✓

    coder-ep-03-t01-s02 qabul mezonini belgiladi

    ✓ `mime_type` yoki `size_bytes` siz insert rad etiladi (NOT NULL)

  • 📄

    coder-ep-03-t01-s02 fayllarni qayd etdi

    4 ta fayl qayd etildi

  • ⇄

    coder-ep-03-t01-s02 statusni o'zgartirdi Backlog → Ishlanyapti

    Agent ishni boshladi

  • ⚑

    coder-ep-03-t01-s02 ishga oldi

  • 🔗

    pm-agent bog'liqlik qo'shdi

    → EP-03-T01-S01

  • ✦

    pm-agent yaratdi

    `supplier_documents` jadvali + soft-delete

Ma'lumot

Agent
coder-ep-03-t01-s02
Olingan
1 о аввал
Boshlandi
19.08.2026 14:00
Tugadi
19.08.2026 14:22
Baho
3 soat
Spec
erp/docs/modules/01_suppliers.md#2.3
Branch
feat/EP-03-erpbom-backend
Commit
db649bb1c260

Bog'liqliklar

Agent uchun

Bu ishni AI agent quyidagicha oladi:

curl -s -X POST https://pmboard.ferp.uz/api/items/EP-03-T01-S02/claim \
  -H "X-Agent: backend-dev-1"

Tugatgach:

curl -s -X POST https://pmboard.ferp.uz/api/items/EP-03-T01-S02/status \
  -H "X-Agent: backend-dev-1" \
  -H "Content-Type: application/json" \
  -d '{"status":"review","note":"..."}'