# 📋 مقایسه فیلدها - سیستم محصولات ## 🔵 فیلدهای محصول (Product Fields) | فرم ما | API Field | نوع | توضیح | | ---------------------- | ---------------------- | ---------- | ------------------------ | | ✅ `name` | ✅ `name` | `string` | نام محصول | | ✅ `description` | ✅ `description` | `string` | توضیحات محصول | | ✅ `design_style` | ✅ `design_style` | `string` | استایل طراحی | | ✅ `enabled` | ✅ `enabled` | `boolean` | فعال/غیرفعال | | ✅ `category_ids` | ✅ `category_ids` | `number[]` | آرایه شناسه دسته‌بندی‌ها | | ✅ `product_option_id` | ✅ `product_option_id` | `number` | شناسه گزینه محصول | | ✅ `total_sold` | ✅ `total_sold` | `number` | تعداد فروخته شده | | ✅ `type` | ✅ `type` | `number` | نوع محصول (0,1,2,3) | | ✅ `attributes` | ✅ `attributes` | `object` | ویژگی‌های سفارشی | | ✅ `variants` | ✅ `variants` | `array` | آرایه variants | ## 🔧 فیلدهای Variant | فرم ما | API Field | نوع | توضیح | | ---------------------- | ---------------------- | --------- | -------------------------- | | ✅ `enabled` | ✅ `enabled` | `boolean` | فعال/غیرفعال variant | | ✅ `fee_percentage` | ✅ `fee_percentage` | `number` | درصد کارمزد | | ✅ `profit_percentage` | ✅ `profit_percentage` | `number` | درصد سود | | ✅ `stock_limit` | ✅ `stock_limit` | `number` | حد کمینه موجودی | | ✅ `stock_managed` | ✅ `stock_managed` | `boolean` | مدیریت موجودی فعال/غیرفعال | | ✅ `stock_number` | ✅ `stock_number` | `number` | تعداد موجودی | | ✅ `weight` | ✅ `weight` | `number` | وزن (گرم) | | ✅ `attributes` | ✅ `attributes` | `object` | ویژگی‌های variant | | ✅ `meta` | ✅ `meta` | `object` | Meta data | ## 📊 فیلدهای اضافی در فرم | فرم ما | API | دلیل | | --------------- | ------- | ------------------------------ | | 🆕 `images` | ❌ نیست | برای آپلود و مدیریت تصاویر | | 🆕 `id` | ❌ نیست | برای ویرایش (از response میاد) | | 🆕 `created_at` | ❌ نیست | از response میاد | | 🆕 `updated_at` | ❌ نیست | از response میاد | ## 🎯 مثال API Request کامل ```json { "name": "تیشرت مردانه", "description": "تیشرت با کیفیت بالا", "design_style": "مدرن", "enabled": true, "category_ids": [1, 3], "product_option_id": 2, "total_sold": 25, "type": 1, "attributes": { "material": "پنبه", "season": "تابستان" }, "variants": [ { "enabled": true, "fee_percentage": 5.5, "profit_percentage": 25, "stock_managed": true, "stock_number": 10, "stock_limit": 2, "weight": 200, "attributes": { "color": "قرمز", "size": "بزرگ" }, "meta": { "supplier": "تامین‌کننده A", "priority": "high" } } ] } ``` ## 🚀 نوع محصولات (Product Types) | مقدار | نام | توضیح | | ----- | ----------- | ----------------------- | | `0` | محصول ساده | محصول بدون variant | | `1` | محصول متغیر | محصول با variants مختلف | | `2` | محصول گروهی | مجموعه محصولات | | `3` | محصول خارجی | لینک به سایت خارجی | ## 🎨 فیلدهای UI (غیر API) ### فیلدهای مدیریت تصاویر: - **`images`** - آرایه تصاویر محصول - **`images.id`** - شناسه فایل آپلود شده - **`images.url`** - آدرس تصویر - **`images.alt`** - متن جایگزین - **`images.order`** - ترتیب نمایش ### فیلدهای مدیریت داخلی: - **`id`** - شناسه محصول (برای ویرایش) - **`created_at`** - تاریخ ایجاد - **`updated_at`** - تاریخ آخرین ویرایش ## ✨ خلاصه مطابقت ### ✅ کاملاً مطابق: - **100% فیلدهای API پیاده‌سازی شده** - **ساختار دقیقاً مشابه** - **نوع داده‌ها صحیح** - **Validation مناسب** ### 🎯 ویژگی‌های اضافی: - **مدیریت تصاویر** با آپلود و پیش‌نمایش - **UI/UX بهتر** با validation و error handling - **Preview زنده** تغییرات - **Responsive design** برای موبایل ## 📝 نتیجه‌گیری **✅ تمام فیلدهای API شما دقیقاً پیاده‌سازی شده است** **🎨 قابلیت‌های اضافی UI/UX برای تجربه بهتر کاربر اضافه شده** **🚀 سیستم آماده برای استفاده در production** --- ## 📋 فیلدهای حذف شده (که در API نبودند) ### ❌ فیلدهایی که حذف کردیم: - **`price`** - نه در محصول و نه در variant - **`sku`** - نه در محصول و نه در variant - **`status`** - در API نبود - **`name`** برای variant - در API نبود ### 🔄 تغییرات انجام شده: 1. **Models** به‌روزرسانی شد طبق API دقیق 2. **Product Form** فیلدهای اضافی حذف شد 3. **Variant Manager** ساده‌سازی شد طبق API 4. **Validation** تنظیم شد برای فیلدهای جدید ## 🛠️ فایلهای تغییر یافته: - `src/pages/products/core/_models.ts` - `src/pages/products/product-form/ProductFormPage.tsx` - `src/components/ui/VariantManager.tsx` ## 🎉 نتیجه نهایی: **سیستم کاملاً آماده و مطابق با API شماست! 🚀**