invoice/lib/data/models/product_model.dart

69 lines
1.9 KiB
Dart

import 'package:built_collection/built_collection.dart';
import 'package:built_value/built_value.dart';
import 'package:built_value/serializer.dart';
part 'product_model.g.dart';
abstract class ProductListResponse implements Built<ProductListResponse, ProductListResponseBuilder> {
BuiltList<ProductEntity> get data;
ProductListResponse._();
factory ProductListResponse([updates(ProductListResponseBuilder b)]) = _$ProductListResponse;
static Serializer<ProductListResponse> get serializer => _$productListResponseSerializer;
}
abstract class ProductItemResponse implements Built<ProductItemResponse, ProductItemResponseBuilder> {
ProductEntity get data;
ProductItemResponse._();
factory ProductItemResponse([updates(ProductItemResponseBuilder b)]) = _$ProductItemResponse;
static Serializer<ProductItemResponse> get serializer => _$productItemResponseSerializer;
}
abstract class ProductEntity implements Built<ProductEntity, ProductEntityBuilder> {
@nullable
int get id;
@nullable
@BuiltValueField(wireName: 'product_key')
String get productKey;
@nullable
String get notes;
@nullable
double get cost;
@nullable
@BuiltValueField(wireName: 'updated_at')
int get updatedAt;
@nullable
@BuiltValueField(wireName: 'archived_at')
int get archivedAt;
@nullable
@BuiltValueField(wireName: 'is_deleted')
bool get isDeleted;
//@JsonKey(name: 'tax_name1')
//String taxName1;
//@JsonKey(name: 'tax_rate1')
//double taxRate1;
//@JsonKey(name: 'tax_name2')
//String taxName2;
//@JsonKey(name: 'tax_rate2')
//double taxRate2;
//@JsonKey(name: 'custom_value1')
//String customValue1;
//@JsonKey(name: 'custom_value2')
//String customValue2;
ProductEntity._();
factory ProductEntity([updates(ProductEntityBuilder b)]) = _$ProductEntity;
static Serializer<ProductEntity> get serializer => _$productEntitySerializer;
}