Add AST cache files for AltchaService, API documentation, and AltchaService tests
- Created JSON representation of AltchaService class and its methods, including imports and relationships. - Added documentation for the Captcha API, detailing endpoints and responses. - Introduced test cases for AltchaService, covering various functionalities and edge cases.
This commit is contained in:
@@ -1071,6 +1071,7 @@ Reject a pending request. **Permission:** `ROLE_ADMIN`
|
||||
| `sms_price_rials` | `500` | هزینه هر پیامک ارسالی به ریال؛ مبنای محاسبهٔ تعداد پیامک از موجودی کیفپول (`GET /api/v1/sms/wallet/balance`). قابل ویرایش در `/admin/settings` → بخش پیامک |
|
||||
| `appointment_fee_rials` | `150000` | مبلغ هر نوبت به ریال؛ مبلغی که بیمار هنگام رزرو آنلاین پرداخت میکند. backend از همین کلید میخواند و در `GET /api/v1/payment/config` expose میشود |
|
||||
| `log_retention_days` | `90` | مدت نگهداری لاگها (روز)؛ کاماند روزانه `app:prune-logs` لاگهای قدیمیتر را حذف میکند. `0` = نگهداری نامحدود |
|
||||
| `altcha_enabled` | _(از env)_ | فعال/غیرفعال کپچای ALTCHA (`1`/`0`). اگر ست شود بر `ALTCHA_ENABLED` env مقدم است؛ اگر ست نشده باشد `GET` مقدار مؤثرِ env را برمیگرداند. رجوع به [captcha.md](captcha.md) |
|
||||
|
||||
**ترتیب محاسبه** (در `CommissionService`): ۱) کسر `sms_panel_fee_rials` ۲) مالیاتِ استخراجی `afterSms × tax/(100+tax)` ۳) پورسانت = `netAfterTax × percent/100`. سهم نماینده به کیفپولش (`WalletTransaction` credit) واریز و یک ردیف `FinancialBreakdown` ثبت میشود (idempotent بر اساس `payment_id`).
|
||||
|
||||
|
||||
+5
-2
@@ -2,8 +2,11 @@
|
||||
|
||||
کپچای خودمیزبان مبتنی بر ALTCHA (Proof-of-Work، بدون تصویر، بدون سرویس خارجی). برای محافظت از endpointهای عمومی و بدون احراز هویت در برابر اسپم/بات.
|
||||
|
||||
- فعال/غیرفعال با `ALTCHA_ENABLED` (پیشفرض `false` در dev/test، در prod باید `true` شود).
|
||||
- وقتی غیرفعال است، همهی endpointها بدون فیلد `altcha` کار میکنند.
|
||||
- فعال/غیرفعال از دو جا کنترل میشود:
|
||||
1. **پنل ادمین** (`/admin/settings` → عمومی → کپچای امنیتی) — کلید `altcha_enabled` در `site_config`.
|
||||
2. **متغیر محیطی** `ALTCHA_ENABLED` (پیشفرض/fallback).
|
||||
- **اولویت:** اگر کلید پنل ست شده باشد مقدم است؛ در غیر این صورت به `ALTCHA_ENABLED` برمیگردد.
|
||||
- وقتی غیرفعال است، همهی endpointها بدون فیلد `altcha` کار میکنند و کلاینتها (از `/altcha/config`) widget را نشان نمیدهند.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user