class Inventory { final int warehouseId; final String? warehouseName; final int productId; final String? productName; final String? productCode; final String? productSpec; final String? productUnit; final String? productBrand; final int? minStock; final double quantity; const Inventory({ required this.warehouseId, this.warehouseName, required this.productId, this.productName, this.productCode, this.productSpec, this.productUnit, this.productBrand, this.minStock, required this.quantity, }); factory Inventory.fromJson(Map json) => Inventory( warehouseId: (json['warehouse_id'] as num).toInt(), warehouseName: json['warehouse_name'] as String?, productId: (json['product_id'] as num).toInt(), productName: json['product_name'] as String?, productCode: json['product_code'] as String?, productSpec: json['product_spec'] as String?, productUnit: json['product_unit'] as String?, productBrand: json['product_brand'] as String?, minStock: json['min_stock'] != null ? (json['min_stock'] as num).toInt() : null, quantity: (json['quantity'] as num).toDouble(), ); } class InventoryLog { final int warehouseId; final String? warehouseName; final int productId; final String? productName; final String direction; // in | out final double quantity; final double? qtyBefore; final double? qtyAfter; final String? refType; final int? refId; final String? createdAt; const InventoryLog({ required this.warehouseId, this.warehouseName, required this.productId, this.productName, required this.direction, required this.quantity, this.qtyBefore, this.qtyAfter, this.refType, this.refId, this.createdAt, }); factory InventoryLog.fromJson(Map json) => InventoryLog( warehouseId: (json['warehouse_id'] as num).toInt(), warehouseName: json['warehouse_name'] as String?, productId: (json['product_id'] as num).toInt(), productName: json['product_name'] as String?, direction: json['direction'] as String, quantity: (json['quantity'] as num).toDouble(), qtyBefore: json['qty_before'] != null ? (json['qty_before'] as num).toDouble() : null, qtyAfter: json['qty_after'] != null ? (json['qty_after'] as num).toDouble() : null, refType: json['ref_type'] as String?, refId: json['ref_id'] != null ? (json['ref_id'] as num).toInt() : null, createdAt: json['created_at'] as String?, ); }