-- Label definitions / Arabic aliases for codes used in statements and audit logs.
CREATE TABLE IF NOT EXISTS label_definitions (
  id INT UNSIGNED NOT NULL AUTO_INCREMENT,
  label_key VARCHAR(120) NOT NULL,
  label_ar VARCHAR(190) NOT NULL,
  category VARCHAR(60) NOT NULL DEFAULT 'general',
  description VARCHAR(255) NULL,
  is_active TINYINT(1) NOT NULL DEFAULT 1,
  created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  updated_at TIMESTAMP NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (id),
  UNIQUE KEY uq_label_definitions_category_key (category, label_key),
  KEY idx_label_definitions_category (category),
  KEY idx_label_definitions_active (is_active)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT IGNORE INTO permissions (code, name, module)
VALUES ('admin.label_definitions.edit', 'إدارة تعريفات الاختصارات والتعريب', 'admin');

INSERT IGNORE INTO role_permissions (role_id, permission_id)
SELECT 1, p.id FROM permissions p WHERE p.code = 'admin.label_definitions.edit';

INSERT IGNORE INTO label_definitions (category, label_key, label_ar, description, is_active) VALUES
('statement_doc_type','OPENING_BALANCE','رصيد افتتاحي','نوع حركة كشف الحساب',1),
('statement_doc_type','SALES_INV','فاتورة مبيعات','نوع حركة كشف الحساب',1),
('statement_doc_type','SALES_RCPT','سند قبض مبيعات','نوع حركة كشف الحساب',1),
('statement_doc_type','SALES_RECEIPT','سند قبض مبيعات','نوع حركة كشف الحساب',1),
('statement_doc_type','CHECK_RECEIVE','استلام شيك','نوع حركة كشف الحساب',1),
('statement_doc_type','CHECK_RECV','استلام شيك','نوع حركة كشف الحساب',1),
('statement_doc_type','RCPT','سند قبض','نوع حركة كشف الحساب',1),
('statement_doc_type','SALES_RET','مرتجع بيع','نوع حركة كشف الحساب',1),
('statement_doc_type','PURCHASE_INV','فاتورة شراء','نوع حركة كشف الحساب',1),
('statement_doc_type','PURCHASE_PAY','سداد فاتورة شراء','نوع حركة كشف الحساب',1),
('statement_doc_type','PURCHASE_RET','مرتجع شراء','نوع حركة كشف الحساب',1),
('statement_doc_type','PAYMENT','سداد مورد','نوع حركة كشف الحساب',1),
('statement_doc_type','SUPPLIER_PAYMENT','سداد مورد','نوع حركة كشف الحساب',1),
('statement_doc_type','PAY','سند صرف','نوع حركة كشف الحساب',1),
('statement_doc_type','CASH_PAYMENT','سند صرف','نوع حركة كشف الحساب',1),
('statement_doc_type','BANK_TRX','حركة بنك','نوع حركة كشف الحساب',1),
('statement_doc_type','POS_SALES_INV','فاتورة نقطة بيع','نوع حركة كشف الحساب',1),
('audit_action','LOGIN_SUCCESS','تسجيل دخول ناجح','عملية في سجلات النظام',1),
('audit_action','LOGIN_FAIL','فشل تسجيل الدخول','عملية في سجلات النظام',1),
('audit_action','LOGOUT','تسجيل خروج','عملية في سجلات النظام',1),
('audit_action','POST_POS_SALES_INV','ترحيل فاتورة نقطة بيع','عملية في سجلات النظام',1),
('audit_action','POST_SALES_INV','ترحيل فاتورة مبيعات','عملية في سجلات النظام',1),
('audit_action','POST_PURCHASE_INV','ترحيل فاتورة شراء','عملية في سجلات النظام',1),
('audit_action','CREATE','إضافة','عملية في سجلات النظام',1),
('audit_action','UPDATE','تعديل','عملية في سجلات النظام',1),
('audit_action','DELETE','حذف','عملية في سجلات النظام',1),
('audit_action','CANCEL','إلغاء','عملية في سجلات النظام',1),
('audit_action','POST','ترحيل','عملية في سجلات النظام',1),
('audit_entity','users','المستخدمون','كيان في سجلات النظام',1),
('audit_entity','sales_invoices','فواتير المبيعات','كيان في سجلات النظام',1),
('audit_entity','purchase_invoices','فواتير الشراء','كيان في سجلات النظام',1),
('audit_entity','sales_returns','مرتجعات البيع','كيان في سجلات النظام',1),
('audit_entity','purchase_returns','مرتجعات الشراء','كيان في سجلات النظام',1),
('audit_entity','customer_receipts','سندات القبض','كيان في سجلات النظام',1),
('audit_entity','cash_payments','سندات الصرف','كيان في سجلات النظام',1),
('audit_entity','supplier_payments','مدفوعات الموردين','كيان في سجلات النظام',1),
('audit_entity','party_ledger','دفتر حسابات الأطراف','كيان في سجلات النظام',1),
('audit_entity','bank_transactions','حركات البنوك','كيان في سجلات النظام',1),
('audit_entity','cashbox_transactions','حركات الخزن','كيان في سجلات النظام',1),
('audit_entity','stock_vouchers','أذون المخزون','كيان في سجلات النظام',1),
('meta','username','اسم المستخدم','تفاصيل سجل النظام',1),
('meta','ip','عنوان IP','تفاصيل سجل النظام',1),
('meta','total','الإجمالي','تفاصيل سجل النظام',1),
('meta','paid_amount','المدفوع','تفاصيل سجل النظام',1),
('meta','due_amount','المتبقي','تفاصيل سجل النظام',1),
('meta','cashbox_id','الخزنة','تفاصيل سجل النظام',1),
('meta','payment_method','طريقة الدفع','تفاصيل سجل النظام',1);
