Sub-task EP-09-T08-S02 Yuqori 09_auth erpbom-web

Huquq guruhlari boshqaruvi (tarkib, nusxa olish, tizim guruhi)

Bajarildi
Status:

Tavsif

`permission_group.manage`: guruh ro'yxati (11 tizim + korxona guruhlari), tarkibini tahrirlash (135 kod modul bo'yicha guruhlangan holda), **nusxa olish**. 🔴 `is_system` guruhda: `code` va o'chirish **bloklangan** (UI ham ko'rsatmaydi), `name_uz` va tarkib **tahrirlanadi**. 🔴 9 bo'sh guruh — ular **ataylab bo'sh** (§7.6.1/§7.6.3); UI'da bu "to'ldirilmagan xato" emas, **ish jarayoni** sifatida ko'rsatiladi (korxona o'zi to'ldiradi). `409 PERMISSION_GROUP_IN_USE` → *"Bu guruh foydalanuvchilarga biriktirilgan — avval biriktirmalarni olib tashlang"* + biriktirilgan userlar ro'yxatiga havola.

Qabul mezonlari (DoD)

4 / 4 bajarildi

  • Tizim guruhida o'chirish tugmasi yo'q; nusxa olish bor

    qa-ep-09-t08-s02 · 2 о аввал

  • Tarkib tahrirlash 135 kodni modul bo'yicha guruhlab ko'rsatadi

    qa-ep-09-t08-s02 · 2 о аввал

  • `PERMISSION_GROUP_IN_USE` xabari sababni va keyingi qadamni aytadi

    qa-ep-09-t08-s02 · 2 о аввал

  • Bo'sh guruh 'xato' sifatida emas, to'ldirilishi kutilayotgan holat sifatida ko'rsatiladi

    qa-ep-09-t08-s02 · 2 о аввал

O'zgargan fayllar

17 ta

  • modified erpbom-web/src/modules/auth/views/PermissionGroupDetailView.vue
  • modified erpbom-web/src/modules/auth/views/PermissionGroupListView.vue
  • modified erpbom-web/src/modules/auth/components/__tests__/PermissionGroupItemsEditor.spec.ts
  • modified erpbom-web/src/modules/auth/components/PermissionGroupItemsEditor.vue
  • modified erpbom-web/src/modules/auth/components/PermissionGroupFormDialog.vue
  • modified erpbom-web/src/modules/auth/store/__tests__/permission-catalog.store.spec.ts
  • modified erpbom-web/src/modules/auth/store/__tests__/permission-groups.store.spec.ts
  • modified erpbom-web/src/modules/auth/store/permission-catalog.store.ts
  • modified erpbom-web/src/modules/auth/store/permission-groups.store.ts
  • modified erpbom-web/src/modules/auth/api/__tests__/permission-group-errors.spec.ts
  • modified erpbom-web/src/modules/auth/api/__tests__/permission-groups.api.spec.ts
  • modified erpbom-web/src/modules/auth/api/permission-group-errors.ts
  • modified erpbom-web/src/modules/auth/api/permission-groups.api.ts
  • modified erpbom-web/src/shared/components/__tests__/TruncatedText.spec.ts
  • modified erpbom-web/src/shared/components/TruncatedText.vue
  • modified erpbom-web/src/shared/api/index.ts
  • modified erpbom-web/src/shared/api/permissions.api.ts

Izoh qoldirish

Tarix

20 yozuv

  • 🔗

    team-lead-ep-09 bog'liqlik qo'shdi

    → EP-09-T08-S01

  • ✎

    team-lead-ep-09 yangiladi

    Yangilandi: estimate_hours

  • ✎

    finalize-ep-09 yangiladi

    Yangilandi: pr_url

  • ✎

    finalize-ep-09 yangiladi

    Yangilandi: branch, commit_sha

  • ⇄

    qa-ep-09-t08-s02 statusni o'zgartirdi Review → Bajarildi

  • ✓

    qa-ep-09-t08-s02 qabul mezonini belgiladi

    ✓ Bo'sh guruh 'xato' sifatida emas, to'ldirilishi kutilayotgan holat sifatida ko'rsatiladi

  • ✓

    qa-ep-09-t08-s02 qabul mezonini belgiladi

    ✓ `PERMISSION_GROUP_IN_USE` xabari sababni va keyingi qadamni aytadi

  • ✓

    qa-ep-09-t08-s02 qabul mezonini belgiladi

    ✓ Tarkib tahrirlash 135 kodni modul bo'yicha guruhlab ko'rsatadi

  • ✓

    qa-ep-09-t08-s02 qabul mezonini belgiladi

    ✓ Tizim guruhida o'chirish tugmasi yo'q; nusxa olish bor

  • 💬

    coder-ep-09-t08-s02 izoh qoldirdi

    Taxmin/qaror: task tavsifida PERMISSION_GROUP_IN_USE xabari uchun "biriktirilgan userlar ro'yxatiga havola" so'ralgan edi, lekin auth.yaml kontraktida bu teskari yo'nalishda (guruh -> userlar) hech qanday endpoint yo'q (faqat GET /users/{id}/permission-groups bor, foydalanuvchi tomonidan). AC819 matni esa faqat "sababni va keyingi qadamni tushunarli aytish"ni talab qiladi - shuni bajardim (permission-group-errors.ts): aniq havola o'rniga matn bilan yo'l ko'rsatiladi ("Foydalanuvchilar bo'limidan olib tashlang"). Bo'lmagan endpointni o'ylab topmadim (TEAM.md #4). Agar reverse-lookup endpoint kerak bo'lsa - kontraktga T00 orqali qo'shilishi kerak, alohida ish.

  • ⇄

    coder-ep-09-t08-s02 statusni o'zgartirdi Ishlanyapti → Review

  • ✓

    coder-ep-09-t08-s02 qabul mezonini belgiladi

    ✓ Bo'sh guruh 'xato' sifatida emas, to'ldirilishi kutilayotgan holat sifatida ko'rsatiladi

  • ✓

    coder-ep-09-t08-s02 qabul mezonini belgiladi

    ✓ `PERMISSION_GROUP_IN_USE` xabari sababni va keyingi qadamni aytadi

  • ✓

    coder-ep-09-t08-s02 qabul mezonini belgiladi

    ✓ Tarkib tahrirlash 135 kodni modul bo'yicha guruhlab ko'rsatadi

  • ✓

    coder-ep-09-t08-s02 qabul mezonini belgiladi

    ✓ Tizim guruhida o'chirish tugmasi yo'q; nusxa olish bor

  • 📄

    coder-ep-09-t08-s02 fayllarni qayd etdi

    17 ta fayl qayd etildi

  • ⇄

    coder-ep-09-t08-s02 statusni o'zgartirdi Backlog → Ishlanyapti

    Agent ishni boshladi

  • ⚑

    coder-ep-09-t08-s02 ishga oldi

  • 🔗

    pm-agent bog'liqlik qo'shdi

    → EP-09-T08-S01

  • ✦

    pm-agent yaratdi

    Huquq guruhlari boshqaruvi (tarkib, nusxa olish, tizim guruhi)

Ma'lumot

Agent
coder-ep-09-t08-s02
Olingan
2 о аввал
Boshlandi
18.08.2026 06:14
Tugadi
18.08.2026 06:43
Baho
5 soat
Spec
erp/docs/modules/09_auth.md#7.6
Branch
feat/EP-09-erpbom-web
Commit
09bbf4f1ee4d

Bog'liqliklar

Agent uchun

Bu ishni AI agent quyidagicha oladi:

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

Tugatgach:

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