import 'package:e_scan/backend/objectbox/entities/product/product_entity.dart'; import 'package:e_scan/backend/objectbox/objectbox_manager.dart'; import 'package:e_scan/utils/utils.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; part 'product_model.freezed.dart'; part 'product_model.g.dart'; @Freezed(toJson: true) abstract class ProductModel with _$ProductModel { factory ProductModel({ int? id, @JsonKey(fromJson: stringFromJson) String? barcode, @JsonKey(name: 'display_name', fromJson: stringFromJson) String? displayName, }) = _ProductModel; factory ProductModel.fromJson(Map json) => _$ProductModelFromJson(json); } extension ProductModelExt on ProductModel { ProductEntity toEntity() { final entity = ProductEntity( id: id ?? 0, displayName: displayName, barcode: barcode, ); objectboxManager.store.box().put(entity); return entity; } }