Port tables, APIs, and overdue cron from goldali, default the flag off, and keep customer routes behind auth.
Co-authored-by: Cursor <cursoragent@cursor.com>
Install per-module schedule:run cron from artisan, store sms/in_app send minutes, and match scheduled triggers at exact HH:mm Tehran time.
Co-authored-by: Cursor <cursoragent@cursor.com>
Use double-quoted PHP string for Persian COMMENT; '' is SQL escaping, not valid inside PHP single quotes.
Co-authored-by: Cursor <cursoragent@cursor.com>
- New `show_in_list` column to control product visibility in customer list
- New `tv_price_formula_enabled` + `tv_price_formula` columns for separate TV pricing
- FormulaPriceService: isTvEnabled() and calculateTvForProduct()
- listTvProducts applies TV formula overrides before returning
- filterProductData handles both new field sets
Co-authored-by: Cursor <cursoragent@cursor.com>
Alerts now bind to a product_id and share one evaluator; displayed gold within a rounding step discharges the full wallet.
Co-authored-by: Cursor <cursoragent@cursor.com>
Keep signed buy/sell extras so discounts work on quotes and orders, and ignore the nested user clone in this repo.
Co-authored-by: Cursor <cursoragent@cursor.com>
Port FormulaPriceService from colleague app so admins can compute a single unit price from reference mid, weight, and wage instead of offset coefficients.
Co-authored-by: Cursor <cursoragent@cursor.com>