# POST /v2/currencies/list

<div id="bkmrk-" style="direction: rtl; font-family: Vazir,Tahoma; text-align: justify; line-height: 1.85;"></div>### Route Info

<div id="bkmrk-method-endpoint-cont" style="direction: rtl; font-family: Vazir,Tahoma; text-align: justify; line-height: 1.85;"><div><table border="1" style="width: 100%; margin: auto; border-collapse: collapse; text-align: center; border: 1px solid #ddd;"><tbody><tr style="background: #f4f4f4; font-weight: bold;"><td style="padding: 10px;">Method</td><td style="padding: 10px;">Endpoint</td><td style="padding: 10px;">Controller</td></tr><tr><td style="direction: ltr; padding: 10px;">POST</td><td style="direction: ltr; padding: 10px;">/v2/currencies/list</td><td style="direction: ltr; padding: 10px;">AccountingController@currencies</td></tr></tbody></table>

</div></div>### شرح عملکرد (Functionality)

این متد وظیفه ارائه لیست ارزهای موجود در سیستم را دارد و داده‌های استاتیک دیتابیس را با داده‌های لحظه‌ای (نرخ بازار) ترکیب می‌کند.

<div id="bkmrk-%D9%81%DB%8C%D9%84%D8%AA%D8%B1%DB%8C%D9%86%DA%AF-%D8%A7%D9%88%D9%84%DB%8C%D9%87-%28data" style="direction: rtl; font-family: Vazir,Tahoma; text-align: justify; line-height: 1.85;">- **فیلترینگ اولیه (Database Query):**
    - تنها ارزهایی که وضعیت فعال دارند (`status = 1`) انتخاب می‌شوند.
    - اگر پارامتر `selected` ارسال شود، فقط ارزهایی که تیک "انتخاب شده" (Select) دارند برگردانده می‌شوند (مخصوص نمایش‌های خلاصه).
- **ادغام با نرخ بازار (Redis Integration):**
    - سیستم کل نرخ‌های بازار را از کلید ردیس `application:market_rate` دریافت می‌کند.
    - بر اساس فیلد `icon` (که به عنوان کد ارز مثل USD, EUR تفسیر می‌شود)، نرخ لحظه‌ای پیدا می‌شود.
    - **نکته محاسباتی:** نرخ دریافت شده از ردیس در عدد **10** ضرب شده و گرد می‌شود (احتمالاً جهت تبدیل واحد پولی یا استانداردسازی نمایش).

</div>### پارامترهای ورودی (Input Parameters)

<div id="bkmrk-%D9%86%D8%A7%D9%85-%D9%BE%D8%A7%D8%B1%D8%A7%D9%85%D8%AA%D8%B1-%D9%86%D9%88%D8%B9-%D8%A7%D9%84%D8%B2%D8%A7" style="direction: rtl; font-family: Vazir,Tahoma; text-align: justify; line-height: 1.85;"><div><table border="1" style="width: 100%; border-collapse: collapse; text-align: right;"><thead><tr style="background: #f4f4f4;"><th style="padding: 8px;">نام پارامتر</th><th style="padding: 8px;">نوع</th><th style="padding: 8px;">الزامی؟</th><th style="padding: 8px;">توضیحات</th></tr></thead><tbody><tr><td style="direction: ltr;">selected</td><td>Boolean / Integer</td><td>خیر</td><td>اگر ارسال شود (مثلاً 1)، فقط ارزهای منتخب (Selected) را برمی‌گرداند. در غیر این صورت همه ارزهای فعال نمایش داده می‌شوند.</td></tr></tbody></table>

</div></div>### نمونه خروجی (Response)

```
{
    "status": true,
    "time": 1715765000, // Unix Timestamp
    "data": [  // (فقط یک مثال جهت فهم بهتر میباشد)
        {
            "id": 1,
            "title": "دلار آمریکا",
            "icon": "USD",
            "symbol": "$",
            "select": 1,
            "status": 1,
            "rate": {
                "value": 580000, // (نرخ ردیس * 10)
                "datetime": "2024-05-15 10:30:00" // زمان آخرین آپدیت نرخ
            }
        },
        {
            "id": 2,
            "title": "یورو",
            "icon": "EUR",
            "symbol": "€",
            "select": 0,
            "status": 1,
            "rate": {
                "value": 620000,
                "datetime": "2024-05-15 10:30:00"
            }
        }
    ]
}

```