app_store modülü uygulama kataloğu kaydını, lisans dosyasını, uygulama varlıklarını, rol başına koltuk atamalarını, uygulama taleplerini ve kararlarını, kurma, yeniden onay ve kaldırma eylemlerini sunar. 13 uç noktanın tamamı /api/v1/app_store altındadır. İş anlamı için App store modülü sayfasına bakın.
Grup olguları¶
| Öğe | Değer | Kaynak |
|---|---|---|
| Temel yol | /api/v1/app_store |
src/cluster_erp/core/module_base.py:37-38, src/cluster_erp/modules/app_store/module.py:57 |
| Yönlendiriciler | 1 dosyada 1 yönlendirici nesnesi; Uç nokta özeti bölümünde listelenir | src/cluster_erp/modules/app_store/module.py:54 |
| Uç noktalar | 13; register_routes ile bağlanan yönlendiricilerin yol dekoratörleri ve add_api_route çağrılarından sayıldı |
src/cluster_erp/modules/app_store/routes.py |
| Kimlik doğrulama | Bearer başlığı veya oturum çerezi, get_current_user ile çözülür; bkz. Kimlik doğrulama ve başlıklar |
src/cluster_erp/modules/auth/guards.py:85-167 |
| Yetki koruması | 13 yolun 9 tanesi require_permission bildirir; diğer yollar korumalarını tablolarda gösterir |
src/cluster_erp/modules/auth/guards.py:205-240 |
| Uygulama yetkilendirme kapısı | register_routes içinde bağlanmaz |
src/cluster_erp/modules/app_store/module.py:57 |
| Hata biçimi | JSON gövdesi {"error": {...}}; bkz. Hatalar |
src/cluster_erp/server/error_handler.py:33-46 |
Uç nokta özeti¶
Alt modül klasörü başına bir satır. Yönlendirici öneki temel yola eklenir.
| Alt modül | Yönlendiriciler | Uç noktalar | Yönlendirici kaynağı |
|---|---|---|---|
routes |
router |
13 | src/cluster_erp/modules/app_store/routes.py:15 |
Uygulama mağazası uç noktaları¶
Kendi öneki olmayan tek yönlendirici. Dört yol oturum açmış kullanıcıyı işleyicide çözer; diğerleri require_permission kodları taşır.
| Yöntem | Yol | İşleyici | Yetki | İstek | Sorgu | Yanıt | Durum | Kaynak |
|---|---|---|---|---|---|---|---|---|
GET |
/api/v1/app_store/registry |
get_registry |
oturum açmış kullanıcı (get_current_user) |
yok | yok | dict |
200 (varsayılan) | src/cluster_erp/modules/app_store/routes.py:18 |
GET |
/api/v1/app_store/license |
get_license |
oturum açmış kullanıcı (get_current_user) |
yok | yok | dict |
200 (varsayılan) | src/cluster_erp/modules/app_store/routes.py:61 |
POST |
/api/v1/app_store/license |
upload_license |
license.manage |
dict[str, Any] |
yok | dict |
200 (varsayılan) | src/cluster_erp/modules/app_store/routes.py:71 |
DELETE |
/api/v1/app_store/license |
delete_license |
license.manage |
yok | yok | yok | 204 |
src/cluster_erp/modules/app_store/routes.py:85 |
GET |
/api/v1/app_store/assets/{app_key}/{filename} |
get_app_asset |
oturum açmış kullanıcı (get_current_user) |
yok | yok | Response |
200 (varsayılan) | src/cluster_erp/modules/app_store/routes.py:103 |
GET |
/api/v1/app_store/apps/{app_key}/assignments |
get_assignments |
store_app.assign |
yok | yok | dict |
200 (varsayılan) | src/cluster_erp/modules/app_store/routes.py:158 |
PUT |
/api/v1/app_store/apps/{app_key}/assignments/{role_id} |
put_assignment |
store_app.assign |
dict[str, Any] |
yok | yok | 204 |
src/cluster_erp/modules/app_store/routes.py:168 |
POST |
/api/v1/app_store/apps/{app_key}/request |
request_app |
oturum açmış kullanıcı (get_current_user) |
yok | yok | yok | 204 |
src/cluster_erp/modules/app_store/routes.py:184 |
GET |
/api/v1/app_store/requests |
get_requests |
store_app.assign |
yok | yok | dict |
200 (varsayılan) | src/cluster_erp/modules/app_store/routes.py:197 |
POST |
/api/v1/app_store/requests/{request_id}/decide |
decide_request |
store_app.assign |
dict[str, Any] |
yok | yok | 204 |
src/cluster_erp/modules/app_store/routes.py:228 |
POST |
/api/v1/app_store/apps/{app_key}/install |
install_app |
store_app.install |
yok | yok | yok | 204 |
src/cluster_erp/modules/app_store/routes.py:267 |
POST |
/api/v1/app_store/apps/{app_key}/reconsent |
reconsent_app |
store_app.install |
yok | yok | yok | 204 |
src/cluster_erp/modules/app_store/routes.py:277 |
POST |
/api/v1/app_store/apps/{app_key}/uninstall |
uninstall_app |
store_app.uninstall |
yok | yok | yok | 204 |
src/cluster_erp/modules/app_store/routes.py:288 |
Hata kodları¶
Tablo, src/cluster_erp/modules/app_store/ altındaki kodun attığı hata kodlarını listeler. Kodlar, AppError(...) çağrıları, src/cluster_erp/core/errors.py içindeki fabrikalar (not_found, conflict, protected, permission_denied, privilege_escalation, check_version) ve HTTPException(...) için yapılan bir sözdizimi ağacı taramasıyla bulundu. 400 durumu AppError varsayılanıdır (src/cluster_erp/core/errors.py:23). Koruma hataları (401, 403), yetkilendirme kodları ve doğrulama hataları (422) her yol için geçerlidir ve Hatalar sayfasında listelenir.
| Kod | HTTP durumu | Atıldığı yer | İlk konum |
|---|---|---|---|
HTTP_404 |
404 |
routes, services |
src/cluster_erp/modules/app_store/routes.py:136 |
HTTP_409 |
409 |
services |
src/cluster_erp/modules/app_store/services.py:179 |
HTTP_422 |
422 |
services |
src/cluster_erp/modules/app_store/services.py:243 |
entitlement.asset_denied |
403 |
routes |
src/cluster_erp/modules/app_store/routes.py:127 |
Yayımlanan olaylar¶
Tablo, src/cluster_erp/modules/app_store/ altındaki kodun EventBus.emit çağrısına doğrudan verdiği sözleşme sınıflarını listeler; sözdizimi ağacı taramasıyla bulundu. Önce bir değişkene kurulan olaylar sayılmaz. Sözleşmeler Sözleşmeler başvurusu sayfasında anlatılır.
Tarama bir olay bulmadı.
İlgili sayfalar¶
92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.