Created models for REST endpoints

This commit is contained in:
mindnervestech 2018-06-14 12:04:41 +05:30
parent 24973f4f2e
commit a177ef5801
24 changed files with 8784 additions and 0 deletions

View File

@ -0,0 +1,94 @@
import 'package:built_collection/built_collection.dart';
import 'package:built_value/built_value.dart';
import 'package:built_value/serializer.dart';
import 'package:invoiceninja/data/models/entities.dart';
part 'credit_model.g.dart';
abstract class CreditListResponse implements Built<CreditListResponse, CreditListResponseBuilder> {
BuiltList<CreditEntity> get data;
CreditListResponse._();
factory CreditListResponse([updates(CreditListResponseBuilder b)]) = _$CreditListResponse;
static Serializer<CreditListResponse> get serializer => _$creditListResponseSerializer;
}
abstract class CreditItemResponse implements Built<CreditItemResponse, CreditItemResponseBuilder> {
CreditEntity get data;
CreditItemResponse._();
factory CreditItemResponse([updates(CreditItemResponseBuilder b)]) = _$CreditItemResponse;
static Serializer<CreditItemResponse> get serializer => _$creditItemResponseSerializer;
}
class CreditFields {
static const String amount = 'amount';
static const String balance = 'balance';
static const String creditDate = 'creditDate';
static const String creditNumber = 'creditNumber';
static const String privateNotes = 'privateNotes';
static const String publicNotes = 'publicNotes';
static const String clientId = 'clientId';
static const String updatedAt = 'updatedAt';
static const String archivedAt = 'archivedAt';
static const String isDeleted = 'isDeleted';
}
abstract class CreditEntity extends Object with BaseEntity implements Built<CreditEntity, CreditEntityBuilder> {
@nullable
double get amount;
@nullable
double get balance;
@nullable
@BuiltValueField(wireName: 'credit_date')
String get creditDate;
@nullable
@BuiltValueField(wireName: 'credit_number')
String get creditNumber;
@nullable
@BuiltValueField(wireName: 'private_notes')
String get privateNotes;
@nullable
@BuiltValueField(wireName: 'public_notes')
String get publicNotes;
@nullable
@BuiltValueField(wireName: 'client_id')
int get clientId;
int compareTo(CreditEntity credit, String sortField, bool sortAscending) {
int response = 0;
CreditEntity creditA = sortAscending ? this : credit;
CreditEntity creditB = sortAscending ? credit: this;
switch (sortField) {
case CreditFields.amount:
response = creditA.amount.compareTo(creditB.amount);
}
return response;
}
bool matchesSearch(String search) {
if (search == null || search.isEmpty) {
return true;
}
return publicNotes.contains(search);
}
CreditEntity._();
factory CreditEntity([updates(CreditEntityBuilder b)]) = _$CreditEntity;
static Serializer<CreditEntity> get serializer => _$creditEntitySerializer;
}

View File

@ -0,0 +1,636 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'credit_model.dart';
// **************************************************************************
// Generator: BuiltValueGenerator
// **************************************************************************
// ignore_for_file: always_put_control_body_on_new_line
// ignore_for_file: annotate_overrides
// ignore_for_file: avoid_annotating_with_dynamic
// ignore_for_file: avoid_returning_this
// ignore_for_file: omit_local_variable_types
// ignore_for_file: prefer_expression_function_bodies
// ignore_for_file: sort_constructors_first
Serializer<CreditListResponse> _$creditListResponseSerializer =
new _$CreditListResponseSerializer();
Serializer<CreditItemResponse> _$creditItemResponseSerializer =
new _$CreditItemResponseSerializer();
Serializer<CreditEntity> _$creditEntitySerializer =
new _$CreditEntitySerializer();
class _$CreditListResponseSerializer
implements StructuredSerializer<CreditListResponse> {
@override
final Iterable<Type> types = const [CreditListResponse, _$CreditListResponse];
@override
final String wireName = 'CreditListResponse';
@override
Iterable serialize(Serializers serializers, CreditListResponse object,
{FullType specifiedType: FullType.unspecified}) {
final result = <Object>[
'data',
serializers.serialize(object.data,
specifiedType:
const FullType(BuiltList, const [const FullType(CreditEntity)])),
];
return result;
}
@override
CreditListResponse deserialize(Serializers serializers, Iterable serialized,
{FullType specifiedType: FullType.unspecified}) {
final result = new CreditListResponseBuilder();
final iterator = serialized.iterator;
while (iterator.moveNext()) {
final key = iterator.current as String;
iterator.moveNext();
final dynamic value = iterator.current;
switch (key) {
case 'data':
result.data.replace(serializers.deserialize(value,
specifiedType: const FullType(
BuiltList, const [const FullType(CreditEntity)]))
as BuiltList);
break;
}
}
return result.build();
}
}
class _$CreditItemResponseSerializer
implements StructuredSerializer<CreditItemResponse> {
@override
final Iterable<Type> types = const [CreditItemResponse, _$CreditItemResponse];
@override
final String wireName = 'CreditItemResponse';
@override
Iterable serialize(Serializers serializers, CreditItemResponse object,
{FullType specifiedType: FullType.unspecified}) {
final result = <Object>[
'data',
serializers.serialize(object.data,
specifiedType: const FullType(CreditEntity)),
];
return result;
}
@override
CreditItemResponse deserialize(Serializers serializers, Iterable serialized,
{FullType specifiedType: FullType.unspecified}) {
final result = new CreditItemResponseBuilder();
final iterator = serialized.iterator;
while (iterator.moveNext()) {
final key = iterator.current as String;
iterator.moveNext();
final dynamic value = iterator.current;
switch (key) {
case 'data':
result.data.replace(serializers.deserialize(value,
specifiedType: const FullType(CreditEntity)) as CreditEntity);
break;
}
}
return result.build();
}
}
class _$CreditEntitySerializer implements StructuredSerializer<CreditEntity> {
@override
final Iterable<Type> types = const [CreditEntity, _$CreditEntity];
@override
final String wireName = 'CreditEntity';
@override
Iterable serialize(Serializers serializers, CreditEntity object,
{FullType specifiedType: FullType.unspecified}) {
final result = <Object>[];
if (object.amount != null) {
result
..add('amount')
..add(serializers.serialize(object.amount,
specifiedType: const FullType(double)));
}
if (object.balance != null) {
result
..add('balance')
..add(serializers.serialize(object.balance,
specifiedType: const FullType(double)));
}
if (object.creditDate != null) {
result
..add('credit_date')
..add(serializers.serialize(object.creditDate,
specifiedType: const FullType(String)));
}
if (object.creditNumber != null) {
result
..add('credit_number')
..add(serializers.serialize(object.creditNumber,
specifiedType: const FullType(String)));
}
if (object.privateNotes != null) {
result
..add('private_notes')
..add(serializers.serialize(object.privateNotes,
specifiedType: const FullType(String)));
}
if (object.publicNotes != null) {
result
..add('public_notes')
..add(serializers.serialize(object.publicNotes,
specifiedType: const FullType(String)));
}
if (object.clientId != null) {
result
..add('client_id')
..add(serializers.serialize(object.clientId,
specifiedType: const FullType(int)));
}
if (object.id != null) {
result
..add('id')
..add(serializers.serialize(object.id,
specifiedType: const FullType(int)));
}
if (object.updatedAt != null) {
result
..add('updated_at')
..add(serializers.serialize(object.updatedAt,
specifiedType: const FullType(int)));
}
if (object.archivedAt != null) {
result
..add('archived_at')
..add(serializers.serialize(object.archivedAt,
specifiedType: const FullType(int)));
}
if (object.isDeleted != null) {
result
..add('is_deleted')
..add(serializers.serialize(object.isDeleted,
specifiedType: const FullType(bool)));
}
return result;
}
@override
CreditEntity deserialize(Serializers serializers, Iterable serialized,
{FullType specifiedType: FullType.unspecified}) {
final result = new CreditEntityBuilder();
final iterator = serialized.iterator;
while (iterator.moveNext()) {
final key = iterator.current as String;
iterator.moveNext();
final dynamic value = iterator.current;
switch (key) {
case 'amount':
result.amount = serializers.deserialize(value,
specifiedType: const FullType(double)) as double;
break;
case 'balance':
result.balance = serializers.deserialize(value,
specifiedType: const FullType(double)) as double;
break;
case 'credit_date':
result.creditDate = serializers.deserialize(value,
specifiedType: const FullType(String)) as String;
break;
case 'credit_number':
result.creditNumber = serializers.deserialize(value,
specifiedType: const FullType(String)) as String;
break;
case 'private_notes':
result.privateNotes = serializers.deserialize(value,
specifiedType: const FullType(String)) as String;
break;
case 'public_notes':
result.publicNotes = serializers.deserialize(value,
specifiedType: const FullType(String)) as String;
break;
case 'client_id':
result.clientId = serializers.deserialize(value,
specifiedType: const FullType(int)) as int;
break;
case 'id':
result.id = serializers.deserialize(value,
specifiedType: const FullType(int)) as int;
break;
case 'updated_at':
result.updatedAt = serializers.deserialize(value,
specifiedType: const FullType(int)) as int;
break;
case 'archived_at':
result.archivedAt = serializers.deserialize(value,
specifiedType: const FullType(int)) as int;
break;
case 'is_deleted':
result.isDeleted = serializers.deserialize(value,
specifiedType: const FullType(bool)) as bool;
break;
}
}
return result.build();
}
}
class _$CreditListResponse extends CreditListResponse {
@override
final BuiltList<CreditEntity> data;
factory _$CreditListResponse([void updates(CreditListResponseBuilder b)]) =>
(new CreditListResponseBuilder()..update(updates)).build();
_$CreditListResponse._({this.data}) : super._() {
if (data == null)
throw new BuiltValueNullFieldError('CreditListResponse', 'data');
}
@override
CreditListResponse rebuild(void updates(CreditListResponseBuilder b)) =>
(toBuilder()..update(updates)).build();
@override
CreditListResponseBuilder toBuilder() =>
new CreditListResponseBuilder()..replace(this);
@override
bool operator ==(dynamic other) {
if (identical(other, this)) return true;
if (other is! CreditListResponse) return false;
return data == other.data;
}
@override
int get hashCode {
return $jf($jc(0, data.hashCode));
}
@override
String toString() {
return (newBuiltValueToStringHelper('CreditListResponse')
..add('data', data))
.toString();
}
}
class CreditListResponseBuilder
implements Builder<CreditListResponse, CreditListResponseBuilder> {
_$CreditListResponse _$v;
ListBuilder<CreditEntity> _data;
ListBuilder<CreditEntity> get data =>
_$this._data ??= new ListBuilder<CreditEntity>();
set data(ListBuilder<CreditEntity> data) => _$this._data = data;
CreditListResponseBuilder();
CreditListResponseBuilder get _$this {
if (_$v != null) {
_data = _$v.data?.toBuilder();
_$v = null;
}
return this;
}
@override
void replace(CreditListResponse other) {
if (other == null) throw new ArgumentError.notNull('other');
_$v = other as _$CreditListResponse;
}
@override
void update(void updates(CreditListResponseBuilder b)) {
if (updates != null) updates(this);
}
@override
_$CreditListResponse build() {
_$CreditListResponse _$result;
try {
_$result = _$v ?? new _$CreditListResponse._(data: data.build());
} catch (_) {
String _$failedField;
try {
_$failedField = 'data';
data.build();
} catch (e) {
throw new BuiltValueNestedFieldError(
'CreditListResponse', _$failedField, e.toString());
}
rethrow;
}
replace(_$result);
return _$result;
}
}
class _$CreditItemResponse extends CreditItemResponse {
@override
final CreditEntity data;
factory _$CreditItemResponse([void updates(CreditItemResponseBuilder b)]) =>
(new CreditItemResponseBuilder()..update(updates)).build();
_$CreditItemResponse._({this.data}) : super._() {
if (data == null)
throw new BuiltValueNullFieldError('CreditItemResponse', 'data');
}
@override
CreditItemResponse rebuild(void updates(CreditItemResponseBuilder b)) =>
(toBuilder()..update(updates)).build();
@override
CreditItemResponseBuilder toBuilder() =>
new CreditItemResponseBuilder()..replace(this);
@override
bool operator ==(dynamic other) {
if (identical(other, this)) return true;
if (other is! CreditItemResponse) return false;
return data == other.data;
}
@override
int get hashCode {
return $jf($jc(0, data.hashCode));
}
@override
String toString() {
return (newBuiltValueToStringHelper('CreditItemResponse')
..add('data', data))
.toString();
}
}
class CreditItemResponseBuilder
implements Builder<CreditItemResponse, CreditItemResponseBuilder> {
_$CreditItemResponse _$v;
CreditEntityBuilder _data;
CreditEntityBuilder get data => _$this._data ??= new CreditEntityBuilder();
set data(CreditEntityBuilder data) => _$this._data = data;
CreditItemResponseBuilder();
CreditItemResponseBuilder get _$this {
if (_$v != null) {
_data = _$v.data?.toBuilder();
_$v = null;
}
return this;
}
@override
void replace(CreditItemResponse other) {
if (other == null) throw new ArgumentError.notNull('other');
_$v = other as _$CreditItemResponse;
}
@override
void update(void updates(CreditItemResponseBuilder b)) {
if (updates != null) updates(this);
}
@override
_$CreditItemResponse build() {
_$CreditItemResponse _$result;
try {
_$result = _$v ?? new _$CreditItemResponse._(data: data.build());
} catch (_) {
String _$failedField;
try {
_$failedField = 'data';
data.build();
} catch (e) {
throw new BuiltValueNestedFieldError(
'CreditItemResponse', _$failedField, e.toString());
}
rethrow;
}
replace(_$result);
return _$result;
}
}
class _$CreditEntity extends CreditEntity {
@override
final double amount;
@override
final double balance;
@override
final String creditDate;
@override
final String creditNumber;
@override
final String privateNotes;
@override
final String publicNotes;
@override
final int clientId;
@override
final int id;
@override
final int updatedAt;
@override
final int archivedAt;
@override
final bool isDeleted;
factory _$CreditEntity([void updates(CreditEntityBuilder b)]) =>
(new CreditEntityBuilder()..update(updates)).build();
_$CreditEntity._(
{this.amount,
this.balance,
this.creditDate,
this.creditNumber,
this.privateNotes,
this.publicNotes,
this.clientId,
this.id,
this.updatedAt,
this.archivedAt,
this.isDeleted})
: super._();
@override
CreditEntity rebuild(void updates(CreditEntityBuilder b)) =>
(toBuilder()..update(updates)).build();
@override
CreditEntityBuilder toBuilder() => new CreditEntityBuilder()..replace(this);
@override
bool operator ==(dynamic other) {
if (identical(other, this)) return true;
if (other is! CreditEntity) return false;
return amount == other.amount &&
balance == other.balance &&
creditDate == other.creditDate &&
creditNumber == other.creditNumber &&
privateNotes == other.privateNotes &&
publicNotes == other.publicNotes &&
clientId == other.clientId &&
id == other.id &&
updatedAt == other.updatedAt &&
archivedAt == other.archivedAt &&
isDeleted == other.isDeleted;
}
@override
int get hashCode {
return $jf($jc(
$jc(
$jc(
$jc(
$jc(
$jc(
$jc(
$jc(
$jc(
$jc($jc(0, amount.hashCode),
balance.hashCode),
creditDate.hashCode),
creditNumber.hashCode),
privateNotes.hashCode),
publicNotes.hashCode),
clientId.hashCode),
id.hashCode),
updatedAt.hashCode),
archivedAt.hashCode),
isDeleted.hashCode));
}
@override
String toString() {
return (newBuiltValueToStringHelper('CreditEntity')
..add('amount', amount)
..add('balance', balance)
..add('creditDate', creditDate)
..add('creditNumber', creditNumber)
..add('privateNotes', privateNotes)
..add('publicNotes', publicNotes)
..add('clientId', clientId)
..add('id', id)
..add('updatedAt', updatedAt)
..add('archivedAt', archivedAt)
..add('isDeleted', isDeleted))
.toString();
}
}
class CreditEntityBuilder
implements Builder<CreditEntity, CreditEntityBuilder> {
_$CreditEntity _$v;
double _amount;
double get amount => _$this._amount;
set amount(double amount) => _$this._amount = amount;
double _balance;
double get balance => _$this._balance;
set balance(double balance) => _$this._balance = balance;
String _creditDate;
String get creditDate => _$this._creditDate;
set creditDate(String creditDate) => _$this._creditDate = creditDate;
String _creditNumber;
String get creditNumber => _$this._creditNumber;
set creditNumber(String creditNumber) => _$this._creditNumber = creditNumber;
String _privateNotes;
String get privateNotes => _$this._privateNotes;
set privateNotes(String privateNotes) => _$this._privateNotes = privateNotes;
String _publicNotes;
String get publicNotes => _$this._publicNotes;
set publicNotes(String publicNotes) => _$this._publicNotes = publicNotes;
int _clientId;
int get clientId => _$this._clientId;
set clientId(int clientId) => _$this._clientId = clientId;
int _id;
int get id => _$this._id;
set id(int id) => _$this._id = id;
int _updatedAt;
int get updatedAt => _$this._updatedAt;
set updatedAt(int updatedAt) => _$this._updatedAt = updatedAt;
int _archivedAt;
int get archivedAt => _$this._archivedAt;
set archivedAt(int archivedAt) => _$this._archivedAt = archivedAt;
bool _isDeleted;
bool get isDeleted => _$this._isDeleted;
set isDeleted(bool isDeleted) => _$this._isDeleted = isDeleted;
CreditEntityBuilder();
CreditEntityBuilder get _$this {
if (_$v != null) {
_amount = _$v.amount;
_balance = _$v.balance;
_creditDate = _$v.creditDate;
_creditNumber = _$v.creditNumber;
_privateNotes = _$v.privateNotes;
_publicNotes = _$v.publicNotes;
_clientId = _$v.clientId;
_id = _$v.id;
_updatedAt = _$v.updatedAt;
_archivedAt = _$v.archivedAt;
_isDeleted = _$v.isDeleted;
_$v = null;
}
return this;
}
@override
void replace(CreditEntity other) {
if (other == null) throw new ArgumentError.notNull('other');
_$v = other as _$CreditEntity;
}
@override
void update(void updates(CreditEntityBuilder b)) {
if (updates != null) updates(this);
}
@override
_$CreditEntity build() {
final _$result = _$v ??
new _$CreditEntity._(
amount: amount,
balance: balance,
creditDate: creditDate,
creditNumber: creditNumber,
privateNotes: privateNotes,
publicNotes: publicNotes,
clientId: clientId,
id: id,
updatedAt: updatedAt,
archivedAt: archivedAt,
isDeleted: isDeleted);
replace(_$result);
return _$result;
}
}

View File

@ -0,0 +1,175 @@
import 'package:built_collection/built_collection.dart';
import 'package:built_value/built_value.dart';
import 'package:built_value/serializer.dart';
import 'package:invoiceninja/data/models/entities.dart';
part 'expense_model.g.dart';
abstract class ExpenseListResponse implements Built<ExpenseListResponse, ExpenseListResponseBuilder> {
BuiltList<ExpenseEntity> get data;
ExpenseListResponse._();
factory ExpenseListResponse([updates(ExpenseListResponseBuilder b)]) = _$ExpenseListResponse;
static Serializer<ExpenseListResponse> get serializer => _$expenseListResponseSerializer;
}
abstract class ExpenseItemResponse implements Built<ExpenseItemResponse, ExpenseItemResponseBuilder> {
ExpenseEntity get data;
ExpenseItemResponse._();
factory ExpenseItemResponse([updates(ExpenseItemResponseBuilder b)]) = _$ExpenseItemResponse;
static Serializer<ExpenseItemResponse> get serializer => _$expenseItemResponseSerializer;
}
class ExpenseFields {
static const String privateNotes = 'privateNotes';
static const String publicNotes = 'publicNotes';
static const String shouldBeInvoiced = 'shouldBeInvoiced';
static const String transactionId = 'transactionId';
static const String transactionReference = 'transactionReference';
static const String bankId = 'bankId';
static const String expenseCurrencyId = 'expenseCurrencyId';
static const String expenseCategoryId = 'expenseCategoryId';
static const String amount = 'amount';
static const String expenseDate = 'expenseDate';
static const String exchangeRate = 'exchangeRate';
static const String invoiceCurrencyId = 'invoiceCurrencyId';
static const String taxName1 = 'taxName1';
static const String taxName2 = 'taxName2';
static const String taxRate1 = 'taxRate1';
static const String taxRate2 = 'taxRate2';
static const String clientId = 'clientId';
static const String invoiceId = 'invoiceId';
static const String vendorId = 'vendorId';
static const String customValue1 = 'customValue1';
static const String customValue2 = 'customValue2';
static const String updatedAt = 'updatedAt';
static const String archivedAt = 'archivedAt';
static const String isDeleted = 'isDeleted';
}
abstract class ExpenseEntity extends Object with BaseEntity implements Built<ExpenseEntity, ExpenseEntityBuilder> {
@nullable
@BuiltValueField(wireName: 'private_notes')
String get privateNotes;
@nullable
@BuiltValueField(wireName: 'public_notes')
String get publicNotes;
@nullable
@BuiltValueField(wireName: 'should_be_invoiced')
bool get shouldBeInvoiced;
@nullable
@BuiltValueField(wireName: 'transaction_id')
String get transactionId;
@nullable
@BuiltValueField(wireName: 'transaction_reference')
String get transactionReference;
@nullable
@BuiltValueField(wireName: 'bank_id')
String get bankId;
@nullable
@BuiltValueField(wireName: 'expense_currency_id')
int get expenseCurrencyId;
@nullable
@BuiltValueField(wireName: 'expense_category_id')
int get exchangeCurrencyId;
@nullable
double get amount;
@nullable
@BuiltValueField(wireName: 'expense_date')
String get expenseDate;
@nullable
@BuiltValueField(wireName: 'exchange_rate')
double get exchangeRate;
@nullable
@BuiltValueField(wireName: 'invoiceCurrencyId')
int get invoiceCurrencyId;
@nullable
@BuiltValueField(wireName: 'tax_name1')
String get taxName1;
@nullable
@BuiltValueField(wireName: 'tax_rate1')
String get taxRate1;
@nullable
@BuiltValueField(wireName: 'tax_rate2')
String get taxRate2;
@nullable
@BuiltValueField(wireName: 'client_id')
int get clientId;
@nullable
@BuiltValueField(wireName: 'invoice_id')
int get invoiceId;
@nullable
@BuiltValueField(wireName: 'vendor_id')
int get vendorId;
@nullable
@BuiltValueField(wireName: 'custom_value1')
String get customValue1;
@nullable
@BuiltValueField(wireName: 'custom_value2')
String get customValue2;
@nullable
@BuiltValueField(wireName: 'expense_category')
BuiltList<ExpenseCategoryEntity> get expenseCtegories;
int compareTo(ExpenseEntity expense, String sortField, bool sortAscending) {
int response = 0;
ExpenseEntity creditA = sortAscending ? this : expense;
ExpenseEntity creditB = sortAscending ? expense: this;
switch (sortField) {
case ExpenseFields.amount:
response = creditA.amount.compareTo(creditB.amount);
}
return response;
}
bool matchesSearch(String search) {
if (search == null || search.isEmpty) {
return true;
}
return privateNotes.contains(search);
}
ExpenseEntity._();
factory ExpenseEntity([updates(ExpenseEntityBuilder b)]) = _$ExpenseEntity;
static Serializer<ExpenseEntity> get serializer => _$expenseEntitySerializer;
}
abstract class ExpenseCategoryEntity extends Object with BaseEntity implements Built<ExpenseCategoryEntity, ExpenseCategoryEntityBuilder> {
@nullable
String get name;
ExpenseCategoryEntity._();
factory ExpenseCategoryEntity([updates(ExpenseCategoryEntityBuilder b)]) = _$ExpenseCategoryEntity;
static Serializer<ExpenseCategoryEntity> get serializer => _$expenseCategoryEntitySerializer;
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,321 @@
import 'package:built_collection/built_collection.dart';
import 'package:built_value/built_value.dart';
import 'package:built_value/serializer.dart';
import 'package:invoiceninja/data/models/entities.dart';
part 'invoice_model.g.dart';
abstract class InvoiceListResponse implements Built<InvoiceListResponse,
InvoiceListResponseBuilder> {
BuiltList<InvoiceEntity> get data;
InvoiceListResponse._();
factory InvoiceListResponse([updates(InvoiceListResponseBuilder b)]) = _$InvoiceListResponse;
static Serializer<InvoiceListResponse> get serializer => _$invoiceListResponseSerializer;
}
abstract class InvoiceItemResponse implements Built<InvoiceItemResponse, InvoiceItemResponseBuilder> {
InvoiceEntity get data;
InvoiceItemResponse._();
factory InvoiceItemResponse([updates(InvoiceItemResponseBuilder b)]) = _$InvoiceItemResponse;
static Serializer<InvoiceItemResponse> get serializer => _$invoiceItemResponseSerializer;
}
class InvoiceFields {
static const String amount = 'amount';
static const String balance = 'balance';
static const String clientId = 'clientId';
static const String invoiceStatusId = 'invoiceStatusId';
static const String invoiceNumber = 'invoiceNumber';
static const String discount = 'discount';
static const String poNumber = 'poNumber';
static const String invoiceDate = 'invoiceDate';
static const String dueDate = 'dueDate';
static const String terms = 'terms';
static const String publicNotes = 'publicNotes';
static const String privateNotes = 'privateNotes';
static const String invoiceTypeId = 'invoiceTypeId';
static const String isRecurring = 'isRecurring';
static const String frequencyId = 'frequencyId';
static const String startDate = 'startDate';
static const String endDate = 'endDate';
static const String updatedAt = 'updatedAt';
static const String archivedAt = 'archivedAt';
static const String isDeleted = 'isDeleted';
}
abstract class InvoiceEntity extends Object with BaseEntity
implements Built<InvoiceEntity, InvoiceEntityBuilder> {
@nullable
double get amount;
@nullable
double get balance;
@nullable
@BuiltValueField(wireName: 'client_id')
int get clientId;
@nullable
@BuiltValueField(wireName: 'invoice_status_id')
int get invoiceStatusId;
@nullable
@BuiltValueField(wireName: 'invoice_number')
String get invoiceNumber;
@nullable
double get discount;
@nullable
@BuiltValueField(wireName: 'po_number')
String get poNumber;
@nullable
@BuiltValueField(wireName: 'invoice_date')
String get invoiceDate;
@nullable
@BuiltValueField(wireName: 'due_date')
String get dueDate;
@nullable
String get terms;
@nullable
@BuiltValueField(wireName: 'public_notes')
String get publicNotes;
@nullable
@BuiltValueField(wireName: 'private_notes')
String get privateNotes;
@nullable
@BuiltValueField(wireName: 'invoice_type_id')
int get invoiceTypeId;
@nullable
@BuiltValueField(wireName: 'is_recurring')
bool get isRecurring;
@nullable
@BuiltValueField(wireName: 'frequency_id')
int get frequencyId;
@nullable
@BuiltValueField(wireName: 'start_date')
String get startDate;
@nullable
@BuiltValueField(wireName: 'end_date')
String get endDate;
@nullable
@BuiltValueField(wireName: 'last_sent_date')
String get lastSentDate;
@nullable
@BuiltValueField(wireName: 'recurring_invoice_id')
int get recurringInvoiceId;
@nullable
@BuiltValueField(wireName: 'tax_name1')
String get taxName1;
@nullable
@BuiltValueField(wireName: 'tax_rate1')
double get taxRate1;
@nullable
@BuiltValueField(wireName: 'tax_name2')
String get taxName2;
@nullable
@BuiltValueField(wireName: 'tax_rate2')
double get taxRate2;
@nullable
@BuiltValueField(wireName: 'is_amount_discount')
bool get isAmountDiscount;
@nullable
@BuiltValueField(wireName: 'invoice_footer')
String get invoiceFooter;
@nullable
double get partial;
@nullable
@BuiltValueField(wireName: 'partial_due_date')
String get partialDueDate;
@nullable
@BuiltValueField(wireName: 'has_tasks')
bool get hasTasks;
@nullable
@BuiltValueField(wireName: 'auto_bill')
bool get autoBill;
@nullable
@BuiltValueField(wireName: 'custom_value1')
double get customValue1;
@nullable
@BuiltValueField(wireName: 'custom_value2')
double get customValue2;
@nullable
@BuiltValueField(wireName: 'custom_taxes1')
bool get customTaxes1;
@nullable
@BuiltValueField(wireName: 'custom_taxes2')
bool get customTaxes2;
@nullable
@BuiltValueField(wireName: 'has_expenses')
bool get hasExpenses;
@nullable
@BuiltValueField(wireName: 'quote_invoice_id')
int get quoteInvoiceId;
@nullable
@BuiltValueField(wireName: 'custom_text_value1')
String get customTextValue1;
@nullable
@BuiltValueField(wireName: 'custom_text_value2')
String get customTextValue2;
@nullable
@BuiltValueField(wireName: 'is_quote')
bool get isQuote;
@nullable
@BuiltValueField(wireName: 'is_public')
bool get isPublic;
@nullable
String get filename;
@nullable
@BuiltValueField(wireName: 'invoice_items')
BuiltList<InvoiceItemEntity> get invoiceItems;
@nullable
BuiltList<InvitationEntity> get invitations;
//String get last_login;
//String get custom_messages;
int compareTo(InvoiceEntity client, String sortField, bool sortAscending) {
int response = 0;
InvoiceEntity clientA = sortAscending ? this : client;
InvoiceEntity clientB = sortAscending ? client: this;
/*
switch (sortField) {
case ClientFields.cost:
response = clientA.cost.compareTo(clientB.cost);
}
*/
if (response == 0) {
return clientA.invoiceNumber.compareTo(clientB.invoiceNumber);
} else {
return response;
}
}
bool matchesSearch(String search) {
if (search == null || search.isEmpty) {
return true;
}
return invoiceNumber.contains(search);
}
InvoiceEntity._();
factory InvoiceEntity([updates(InvoiceEntityBuilder b)]) = _$InvoiceEntity;
static Serializer<InvoiceEntity> get serializer => _$invoiceEntitySerializer;
}
abstract class InvoiceItemEntity extends Object with BaseEntity implements Built<InvoiceItemEntity, InvoiceItemEntityBuilder> {
@nullable
@BuiltValueField(wireName: 'product_key')
String get productKey;
@nullable
String get notes;
@nullable
String get cost;
@nullable
String get qty;
@nullable
@BuiltValueField(wireName: 'tax_name1')
String get taxName1;
@nullable
@BuiltValueField(wireName: 'tax_rate1')
double get taxRate1;
@nullable
@BuiltValueField(wireName: 'tax_name2')
String get taxName2;
@nullable
@BuiltValueField(wireName: 'tax_rate2')
double get taxRate2;
@nullable
@BuiltValueField(wireName: 'invoice_item_type_id')
int get invoiceItemTypeId;
@nullable
@BuiltValueField(wireName: 'custom_value1')
String get customValue1;
@nullable
@BuiltValueField(wireName: 'custom_value2')
String get customValue2;
@nullable
double get discount;
InvoiceItemEntity._();
factory InvoiceItemEntity([updates(InvoiceItemEntityBuilder b)]) = _$InvoiceItemEntity;
static Serializer<InvoiceItemEntity> get serializer => _$invoiceItemEntitySerializer;
}
abstract class InvitationEntity extends Object with BaseEntity implements Built<InvitationEntity, InvitationEntityBuilder> {
@nullable
String get key;
@nullable
String get link;
@nullable
@BuiltValueField(wireName: 'sent_date')
String get sentDate;
@nullable
@BuiltValueField(wireName: 'viewed_date')
String get viewedDate;
InvitationEntity._();
factory InvitationEntity([updates(InvitationEntityBuilder b)]) = _$InvitationEntity;
static Serializer<InvitationEntity> get serializer => _$invitationEntitySerializer;
}

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,13 @@
export 'package:invoiceninja/data/models/entities.dart';
export 'package:invoiceninja/data/models/product_model.dart';
export 'package:invoiceninja/data/models/client_model.dart';
export 'package:invoiceninja/data/models/credit_model.dart';
export 'package:invoiceninja/data/models/project_model.dart';
export 'package:invoiceninja/data/models/payment_model.dart';
export 'package:invoiceninja/data/models/invoice_model.dart';
export 'package:invoiceninja/data/models/task_model.dart';
export 'package:invoiceninja/data/models/expense_model.dart';
export 'package:invoiceninja/data/models/vendor_model.dart';
import 'package:built_collection/built_collection.dart';
import 'package:built_value/built_value.dart';
import 'package:built_value/serializer.dart';

View File

@ -0,0 +1,104 @@
import 'package:built_collection/built_collection.dart';
import 'package:built_value/built_value.dart';
import 'package:built_value/serializer.dart';
import 'package:invoiceninja/data/models/entities.dart';
part 'payment_model.g.dart';
abstract class PaymentListResponse implements Built<PaymentListResponse, PaymentListResponseBuilder> {
BuiltList<PaymentEntity> get data;
PaymentListResponse._();
factory PaymentListResponse([updates(PaymentListResponseBuilder b)]) = _$PaymentListResponse;
static Serializer<PaymentListResponse> get serializer => _$paymentListResponseSerializer;
}
abstract class PaymentItemResponse implements Built<PaymentItemResponse, PaymentItemResponseBuilder> {
PaymentEntity get data;
PaymentItemResponse._();
factory PaymentItemResponse([updates(PaymentItemResponseBuilder b)]) = _$PaymentItemResponse;
static Serializer<PaymentItemResponse> get serializer => _$paymentItemResponseSerializer;
}
class PaymentFields {
static const String amount = 'amount';
static const String transactionReference = 'transactionReference';
static const String paymentDate = 'paymentDate';
static const String paymentTypeId = 'paymentTypeId';
static const String invoiceId = 'invoiceId';
static const String invoiceNumber = 'invoiceNumber';
static const String privateNotes = 'privateNotes';
static const String exchangeRate = 'exchangeRate';
static const String exchangeCurrencyId = 'exchangeCurrencyId';
static const String updatedAt = 'updatedAt';
static const String archivedAt = 'archivedAt';
static const String isDeleted = 'isDeleted';
}
abstract class PaymentEntity extends Object with BaseEntity implements Built<PaymentEntity, PaymentEntityBuilder> {
@nullable
double get amount;
@nullable
@BuiltValueField(wireName: 'transaction_reference')
String get transactionReference;
@nullable
@BuiltValueField(wireName: 'payment_date')
String get paymentDate;
@nullable
@BuiltValueField(wireName: 'payment_type_id')
int get paymentTypeId;
@nullable
@BuiltValueField(wireName: 'invoice_id')
int get invoiceId;
@nullable
@BuiltValueField(wireName: 'invoice_number')
String get invoice_number;
@nullable
@BuiltValueField(wireName: 'private_notes')
String get privateNotes;
@nullable
@BuiltValueField(wireName: 'exchange_rate')
double get exchangeRate;
@nullable
@BuiltValueField(wireName: 'exchange_currency_id')
int get exchangeCurrencyId;
int compareTo(PaymentEntity credit, String sortField, bool sortAscending) {
int response = 0;
PaymentEntity creditA = sortAscending ? this : credit;
PaymentEntity creditB = sortAscending ? credit: this;
switch (sortField) {
case PaymentFields.amount:
response = creditA.amount.compareTo(creditB.amount);
}
return response;
}
bool matchesSearch(String search) {
if (search == null || search.isEmpty) {
return true;
}
return privateNotes.contains(search);
}
PaymentEntity._();
factory PaymentEntity([updates(PaymentEntityBuilder b)]) = _$PaymentEntity;
static Serializer<PaymentEntity> get serializer => _$paymentEntitySerializer;
}

View File

@ -0,0 +1,693 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'payment_model.dart';
// **************************************************************************
// Generator: BuiltValueGenerator
// **************************************************************************
// ignore_for_file: always_put_control_body_on_new_line
// ignore_for_file: annotate_overrides
// ignore_for_file: avoid_annotating_with_dynamic
// ignore_for_file: avoid_returning_this
// ignore_for_file: omit_local_variable_types
// ignore_for_file: prefer_expression_function_bodies
// ignore_for_file: sort_constructors_first
Serializer<PaymentListResponse> _$paymentListResponseSerializer =
new _$PaymentListResponseSerializer();
Serializer<PaymentItemResponse> _$paymentItemResponseSerializer =
new _$PaymentItemResponseSerializer();
Serializer<PaymentEntity> _$paymentEntitySerializer =
new _$PaymentEntitySerializer();
class _$PaymentListResponseSerializer
implements StructuredSerializer<PaymentListResponse> {
@override
final Iterable<Type> types = const [
PaymentListResponse,
_$PaymentListResponse
];
@override
final String wireName = 'PaymentListResponse';
@override
Iterable serialize(Serializers serializers, PaymentListResponse object,
{FullType specifiedType: FullType.unspecified}) {
final result = <Object>[
'data',
serializers.serialize(object.data,
specifiedType:
const FullType(BuiltList, const [const FullType(PaymentEntity)])),
];
return result;
}
@override
PaymentListResponse deserialize(Serializers serializers, Iterable serialized,
{FullType specifiedType: FullType.unspecified}) {
final result = new PaymentListResponseBuilder();
final iterator = serialized.iterator;
while (iterator.moveNext()) {
final key = iterator.current as String;
iterator.moveNext();
final dynamic value = iterator.current;
switch (key) {
case 'data':
result.data.replace(serializers.deserialize(value,
specifiedType: const FullType(
BuiltList, const [const FullType(PaymentEntity)]))
as BuiltList);
break;
}
}
return result.build();
}
}
class _$PaymentItemResponseSerializer
implements StructuredSerializer<PaymentItemResponse> {
@override
final Iterable<Type> types = const [
PaymentItemResponse,
_$PaymentItemResponse
];
@override
final String wireName = 'PaymentItemResponse';
@override
Iterable serialize(Serializers serializers, PaymentItemResponse object,
{FullType specifiedType: FullType.unspecified}) {
final result = <Object>[
'data',
serializers.serialize(object.data,
specifiedType: const FullType(PaymentEntity)),
];
return result;
}
@override
PaymentItemResponse deserialize(Serializers serializers, Iterable serialized,
{FullType specifiedType: FullType.unspecified}) {
final result = new PaymentItemResponseBuilder();
final iterator = serialized.iterator;
while (iterator.moveNext()) {
final key = iterator.current as String;
iterator.moveNext();
final dynamic value = iterator.current;
switch (key) {
case 'data':
result.data.replace(serializers.deserialize(value,
specifiedType: const FullType(PaymentEntity)) as PaymentEntity);
break;
}
}
return result.build();
}
}
class _$PaymentEntitySerializer implements StructuredSerializer<PaymentEntity> {
@override
final Iterable<Type> types = const [PaymentEntity, _$PaymentEntity];
@override
final String wireName = 'PaymentEntity';
@override
Iterable serialize(Serializers serializers, PaymentEntity object,
{FullType specifiedType: FullType.unspecified}) {
final result = <Object>[];
if (object.amount != null) {
result
..add('amount')
..add(serializers.serialize(object.amount,
specifiedType: const FullType(double)));
}
if (object.transactionReference != null) {
result
..add('transaction_reference')
..add(serializers.serialize(object.transactionReference,
specifiedType: const FullType(String)));
}
if (object.paymentDate != null) {
result
..add('payment_date')
..add(serializers.serialize(object.paymentDate,
specifiedType: const FullType(String)));
}
if (object.paymentTypeId != null) {
result
..add('payment_type_id')
..add(serializers.serialize(object.paymentTypeId,
specifiedType: const FullType(int)));
}
if (object.invoiceId != null) {
result
..add('invoice_id')
..add(serializers.serialize(object.invoiceId,
specifiedType: const FullType(int)));
}
if (object.invoice_number != null) {
result
..add('invoice_number')
..add(serializers.serialize(object.invoice_number,
specifiedType: const FullType(String)));
}
if (object.privateNotes != null) {
result
..add('private_notes')
..add(serializers.serialize(object.privateNotes,
specifiedType: const FullType(String)));
}
if (object.exchangeRate != null) {
result
..add('exchange_rate')
..add(serializers.serialize(object.exchangeRate,
specifiedType: const FullType(double)));
}
if (object.exchangeCurrencyId != null) {
result
..add('exchange_currency_id')
..add(serializers.serialize(object.exchangeCurrencyId,
specifiedType: const FullType(int)));
}
if (object.id != null) {
result
..add('id')
..add(serializers.serialize(object.id,
specifiedType: const FullType(int)));
}
if (object.updatedAt != null) {
result
..add('updated_at')
..add(serializers.serialize(object.updatedAt,
specifiedType: const FullType(int)));
}
if (object.archivedAt != null) {
result
..add('archived_at')
..add(serializers.serialize(object.archivedAt,
specifiedType: const FullType(int)));
}
if (object.isDeleted != null) {
result
..add('is_deleted')
..add(serializers.serialize(object.isDeleted,
specifiedType: const FullType(bool)));
}
return result;
}
@override
PaymentEntity deserialize(Serializers serializers, Iterable serialized,
{FullType specifiedType: FullType.unspecified}) {
final result = new PaymentEntityBuilder();
final iterator = serialized.iterator;
while (iterator.moveNext()) {
final key = iterator.current as String;
iterator.moveNext();
final dynamic value = iterator.current;
switch (key) {
case 'amount':
result.amount = serializers.deserialize(value,
specifiedType: const FullType(double)) as double;
break;
case 'transaction_reference':
result.transactionReference = serializers.deserialize(value,
specifiedType: const FullType(String)) as String;
break;
case 'payment_date':
result.paymentDate = serializers.deserialize(value,
specifiedType: const FullType(String)) as String;
break;
case 'payment_type_id':
result.paymentTypeId = serializers.deserialize(value,
specifiedType: const FullType(int)) as int;
break;
case 'invoice_id':
result.invoiceId = serializers.deserialize(value,
specifiedType: const FullType(int)) as int;
break;
case 'invoice_number':
result.invoice_number = serializers.deserialize(value,
specifiedType: const FullType(String)) as String;
break;
case 'private_notes':
result.privateNotes = serializers.deserialize(value,
specifiedType: const FullType(String)) as String;
break;
case 'exchange_rate':
result.exchangeRate = serializers.deserialize(value,
specifiedType: const FullType(double)) as double;
break;
case 'exchange_currency_id':
result.exchangeCurrencyId = serializers.deserialize(value,
specifiedType: const FullType(int)) as int;
break;
case 'id':
result.id = serializers.deserialize(value,
specifiedType: const FullType(int)) as int;
break;
case 'updated_at':
result.updatedAt = serializers.deserialize(value,
specifiedType: const FullType(int)) as int;
break;
case 'archived_at':
result.archivedAt = serializers.deserialize(value,
specifiedType: const FullType(int)) as int;
break;
case 'is_deleted':
result.isDeleted = serializers.deserialize(value,
specifiedType: const FullType(bool)) as bool;
break;
}
}
return result.build();
}
}
class _$PaymentListResponse extends PaymentListResponse {
@override
final BuiltList<PaymentEntity> data;
factory _$PaymentListResponse([void updates(PaymentListResponseBuilder b)]) =>
(new PaymentListResponseBuilder()..update(updates)).build();
_$PaymentListResponse._({this.data}) : super._() {
if (data == null)
throw new BuiltValueNullFieldError('PaymentListResponse', 'data');
}
@override
PaymentListResponse rebuild(void updates(PaymentListResponseBuilder b)) =>
(toBuilder()..update(updates)).build();
@override
PaymentListResponseBuilder toBuilder() =>
new PaymentListResponseBuilder()..replace(this);
@override
bool operator ==(dynamic other) {
if (identical(other, this)) return true;
if (other is! PaymentListResponse) return false;
return data == other.data;
}
@override
int get hashCode {
return $jf($jc(0, data.hashCode));
}
@override
String toString() {
return (newBuiltValueToStringHelper('PaymentListResponse')
..add('data', data))
.toString();
}
}
class PaymentListResponseBuilder
implements Builder<PaymentListResponse, PaymentListResponseBuilder> {
_$PaymentListResponse _$v;
ListBuilder<PaymentEntity> _data;
ListBuilder<PaymentEntity> get data =>
_$this._data ??= new ListBuilder<PaymentEntity>();
set data(ListBuilder<PaymentEntity> data) => _$this._data = data;
PaymentListResponseBuilder();
PaymentListResponseBuilder get _$this {
if (_$v != null) {
_data = _$v.data?.toBuilder();
_$v = null;
}
return this;
}
@override
void replace(PaymentListResponse other) {
if (other == null) throw new ArgumentError.notNull('other');
_$v = other as _$PaymentListResponse;
}
@override
void update(void updates(PaymentListResponseBuilder b)) {
if (updates != null) updates(this);
}
@override
_$PaymentListResponse build() {
_$PaymentListResponse _$result;
try {
_$result = _$v ?? new _$PaymentListResponse._(data: data.build());
} catch (_) {
String _$failedField;
try {
_$failedField = 'data';
data.build();
} catch (e) {
throw new BuiltValueNestedFieldError(
'PaymentListResponse', _$failedField, e.toString());
}
rethrow;
}
replace(_$result);
return _$result;
}
}
class _$PaymentItemResponse extends PaymentItemResponse {
@override
final PaymentEntity data;
factory _$PaymentItemResponse([void updates(PaymentItemResponseBuilder b)]) =>
(new PaymentItemResponseBuilder()..update(updates)).build();
_$PaymentItemResponse._({this.data}) : super._() {
if (data == null)
throw new BuiltValueNullFieldError('PaymentItemResponse', 'data');
}
@override
PaymentItemResponse rebuild(void updates(PaymentItemResponseBuilder b)) =>
(toBuilder()..update(updates)).build();
@override
PaymentItemResponseBuilder toBuilder() =>
new PaymentItemResponseBuilder()..replace(this);
@override
bool operator ==(dynamic other) {
if (identical(other, this)) return true;
if (other is! PaymentItemResponse) return false;
return data == other.data;
}
@override
int get hashCode {
return $jf($jc(0, data.hashCode));
}
@override
String toString() {
return (newBuiltValueToStringHelper('PaymentItemResponse')
..add('data', data))
.toString();
}
}
class PaymentItemResponseBuilder
implements Builder<PaymentItemResponse, PaymentItemResponseBuilder> {
_$PaymentItemResponse _$v;
PaymentEntityBuilder _data;
PaymentEntityBuilder get data => _$this._data ??= new PaymentEntityBuilder();
set data(PaymentEntityBuilder data) => _$this._data = data;
PaymentItemResponseBuilder();
PaymentItemResponseBuilder get _$this {
if (_$v != null) {
_data = _$v.data?.toBuilder();
_$v = null;
}
return this;
}
@override
void replace(PaymentItemResponse other) {
if (other == null) throw new ArgumentError.notNull('other');
_$v = other as _$PaymentItemResponse;
}
@override
void update(void updates(PaymentItemResponseBuilder b)) {
if (updates != null) updates(this);
}
@override
_$PaymentItemResponse build() {
_$PaymentItemResponse _$result;
try {
_$result = _$v ?? new _$PaymentItemResponse._(data: data.build());
} catch (_) {
String _$failedField;
try {
_$failedField = 'data';
data.build();
} catch (e) {
throw new BuiltValueNestedFieldError(
'PaymentItemResponse', _$failedField, e.toString());
}
rethrow;
}
replace(_$result);
return _$result;
}
}
class _$PaymentEntity extends PaymentEntity {
@override
final double amount;
@override
final String transactionReference;
@override
final String paymentDate;
@override
final int paymentTypeId;
@override
final int invoiceId;
@override
final String invoice_number;
@override
final String privateNotes;
@override
final double exchangeRate;
@override
final int exchangeCurrencyId;
@override
final int id;
@override
final int updatedAt;
@override
final int archivedAt;
@override
final bool isDeleted;
factory _$PaymentEntity([void updates(PaymentEntityBuilder b)]) =>
(new PaymentEntityBuilder()..update(updates)).build();
_$PaymentEntity._(
{this.amount,
this.transactionReference,
this.paymentDate,
this.paymentTypeId,
this.invoiceId,
this.invoice_number,
this.privateNotes,
this.exchangeRate,
this.exchangeCurrencyId,
this.id,
this.updatedAt,
this.archivedAt,
this.isDeleted})
: super._();
@override
PaymentEntity rebuild(void updates(PaymentEntityBuilder b)) =>
(toBuilder()..update(updates)).build();
@override
PaymentEntityBuilder toBuilder() => new PaymentEntityBuilder()..replace(this);
@override
bool operator ==(dynamic other) {
if (identical(other, this)) return true;
if (other is! PaymentEntity) return false;
return amount == other.amount &&
transactionReference == other.transactionReference &&
paymentDate == other.paymentDate &&
paymentTypeId == other.paymentTypeId &&
invoiceId == other.invoiceId &&
invoice_number == other.invoice_number &&
privateNotes == other.privateNotes &&
exchangeRate == other.exchangeRate &&
exchangeCurrencyId == other.exchangeCurrencyId &&
id == other.id &&
updatedAt == other.updatedAt &&
archivedAt == other.archivedAt &&
isDeleted == other.isDeleted;
}
@override
int get hashCode {
return $jf($jc(
$jc(
$jc(
$jc(
$jc(
$jc(
$jc(
$jc(
$jc(
$jc(
$jc(
$jc(
$jc(0, amount.hashCode),
transactionReference
.hashCode),
paymentDate.hashCode),
paymentTypeId.hashCode),
invoiceId.hashCode),
invoice_number.hashCode),
privateNotes.hashCode),
exchangeRate.hashCode),
exchangeCurrencyId.hashCode),
id.hashCode),
updatedAt.hashCode),
archivedAt.hashCode),
isDeleted.hashCode));
}
@override
String toString() {
return (newBuiltValueToStringHelper('PaymentEntity')
..add('amount', amount)
..add('transactionReference', transactionReference)
..add('paymentDate', paymentDate)
..add('paymentTypeId', paymentTypeId)
..add('invoiceId', invoiceId)
..add('invoice_number', invoice_number)
..add('privateNotes', privateNotes)
..add('exchangeRate', exchangeRate)
..add('exchangeCurrencyId', exchangeCurrencyId)
..add('id', id)
..add('updatedAt', updatedAt)
..add('archivedAt', archivedAt)
..add('isDeleted', isDeleted))
.toString();
}
}
class PaymentEntityBuilder
implements Builder<PaymentEntity, PaymentEntityBuilder> {
_$PaymentEntity _$v;
double _amount;
double get amount => _$this._amount;
set amount(double amount) => _$this._amount = amount;
String _transactionReference;
String get transactionReference => _$this._transactionReference;
set transactionReference(String transactionReference) =>
_$this._transactionReference = transactionReference;
String _paymentDate;
String get paymentDate => _$this._paymentDate;
set paymentDate(String paymentDate) => _$this._paymentDate = paymentDate;
int _paymentTypeId;
int get paymentTypeId => _$this._paymentTypeId;
set paymentTypeId(int paymentTypeId) => _$this._paymentTypeId = paymentTypeId;
int _invoiceId;
int get invoiceId => _$this._invoiceId;
set invoiceId(int invoiceId) => _$this._invoiceId = invoiceId;
String _invoice_number;
String get invoice_number => _$this._invoice_number;
set invoice_number(String invoice_number) =>
_$this._invoice_number = invoice_number;
String _privateNotes;
String get privateNotes => _$this._privateNotes;
set privateNotes(String privateNotes) => _$this._privateNotes = privateNotes;
double _exchangeRate;
double get exchangeRate => _$this._exchangeRate;
set exchangeRate(double exchangeRate) => _$this._exchangeRate = exchangeRate;
int _exchangeCurrencyId;
int get exchangeCurrencyId => _$this._exchangeCurrencyId;
set exchangeCurrencyId(int exchangeCurrencyId) =>
_$this._exchangeCurrencyId = exchangeCurrencyId;
int _id;
int get id => _$this._id;
set id(int id) => _$this._id = id;
int _updatedAt;
int get updatedAt => _$this._updatedAt;
set updatedAt(int updatedAt) => _$this._updatedAt = updatedAt;
int _archivedAt;
int get archivedAt => _$this._archivedAt;
set archivedAt(int archivedAt) => _$this._archivedAt = archivedAt;
bool _isDeleted;
bool get isDeleted => _$this._isDeleted;
set isDeleted(bool isDeleted) => _$this._isDeleted = isDeleted;
PaymentEntityBuilder();
PaymentEntityBuilder get _$this {
if (_$v != null) {
_amount = _$v.amount;
_transactionReference = _$v.transactionReference;
_paymentDate = _$v.paymentDate;
_paymentTypeId = _$v.paymentTypeId;
_invoiceId = _$v.invoiceId;
_invoice_number = _$v.invoice_number;
_privateNotes = _$v.privateNotes;
_exchangeRate = _$v.exchangeRate;
_exchangeCurrencyId = _$v.exchangeCurrencyId;
_id = _$v.id;
_updatedAt = _$v.updatedAt;
_archivedAt = _$v.archivedAt;
_isDeleted = _$v.isDeleted;
_$v = null;
}
return this;
}
@override
void replace(PaymentEntity other) {
if (other == null) throw new ArgumentError.notNull('other');
_$v = other as _$PaymentEntity;
}
@override
void update(void updates(PaymentEntityBuilder b)) {
if (updates != null) updates(this);
}
@override
_$PaymentEntity build() {
final _$result = _$v ??
new _$PaymentEntity._(
amount: amount,
transactionReference: transactionReference,
paymentDate: paymentDate,
paymentTypeId: paymentTypeId,
invoiceId: invoiceId,
invoice_number: invoice_number,
privateNotes: privateNotes,
exchangeRate: exchangeRate,
exchangeCurrencyId: exchangeCurrencyId,
id: id,
updatedAt: updatedAt,
archivedAt: archivedAt,
isDeleted: isDeleted);
replace(_$result);
return _$result;
}
}

View File

@ -0,0 +1,102 @@
import 'package:built_collection/built_collection.dart';
import 'package:built_value/built_value.dart';
import 'package:built_value/serializer.dart';
import 'package:invoiceninja/data/models/entities.dart';
part 'project_model.g.dart';
abstract class ProjectListResponse implements Built<ProjectListResponse, ProjectListResponseBuilder> {
BuiltList<ProjectEntity> get data;
ProjectListResponse._();
factory ProjectListResponse([updates(ProjectListResponseBuilder b)]) = _$ProjectListResponse;
static Serializer<ProjectListResponse> get serializer => _$projectListResponseSerializer;
}
abstract class ProjectItemResponse implements Built<ProjectItemResponse, ProjectItemResponseBuilder> {
ProjectEntity get data;
ProjectItemResponse._();
factory ProjectItemResponse([updates(ProjectItemResponseBuilder b)]) = _$ProjectItemResponse;
static Serializer<ProjectItemResponse> get serializer => _$projectItemResponseSerializer;
}
class ProjectFields {
static const String name = 'name';
static const String clientId = 'clientAt';
static const String taskRate = 'taskRate';
static const String dueDate = 'due_date';
static const String privateNotes = 'privateNotes';
static const String budgetedHours = 'budgetedHours';
static const String customValue1 = 'customValue1';
static const String customValue2 = 'customValue2';
static const String updatedAt = 'updatedAt';
static const String archivedAt = 'archivedAt';
static const String isDeleted = 'isDeleted';
}
abstract class ProjectEntity extends Object with BaseEntity implements Built<ProjectEntity, ProjectEntityBuilder> {
@nullable
String get name;
@nullable
@BuiltValueField(wireName: 'client_id')
int get clientId;
@nullable
@BuiltValueField(wireName: 'task_rate')
double get taskRate;
@nullable
@BuiltValueField(wireName: 'due_date')
String get dueDate;
@nullable
@BuiltValueField(wireName: 'private_notes')
String get privateNotes;
@nullable
@BuiltValueField(wireName: 'budgeted_hours')
double get budgetedHours;
@nullable
@BuiltValueField(wireName: 'custom_value1')
String get customValue1;
@nullable
@BuiltValueField(wireName: 'custom_value2')
String get customValue2;
int compareTo(ProjectEntity project, String sortField, bool sortAscending) {
int response = 0;
ProjectEntity projectA = sortAscending ? this : project;
ProjectEntity projectB = sortAscending ? project: this;
switch (sortField) {
case ProjectFields.taskRate:
response = projectA.taskRate.compareTo(projectB.taskRate);
}
if (response == 0) {
return projectA.name.compareTo(projectB.name);
} else {
return response;
}
}
bool matchesSearch(String search) {
if (search == null || search.isEmpty) {
return true;
}
return name.contains(search);
}
ProjectEntity._();
factory ProjectEntity([updates(ProjectEntityBuilder b)]) = _$ProjectEntity;
static Serializer<ProjectEntity> get serializer => _$projectEntitySerializer;
}

View File

@ -0,0 +1,666 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'project_model.dart';
// **************************************************************************
// Generator: BuiltValueGenerator
// **************************************************************************
// ignore_for_file: always_put_control_body_on_new_line
// ignore_for_file: annotate_overrides
// ignore_for_file: avoid_annotating_with_dynamic
// ignore_for_file: avoid_returning_this
// ignore_for_file: omit_local_variable_types
// ignore_for_file: prefer_expression_function_bodies
// ignore_for_file: sort_constructors_first
Serializer<ProjectListResponse> _$projectListResponseSerializer =
new _$ProjectListResponseSerializer();
Serializer<ProjectItemResponse> _$projectItemResponseSerializer =
new _$ProjectItemResponseSerializer();
Serializer<ProjectEntity> _$projectEntitySerializer =
new _$ProjectEntitySerializer();
class _$ProjectListResponseSerializer
implements StructuredSerializer<ProjectListResponse> {
@override
final Iterable<Type> types = const [
ProjectListResponse,
_$ProjectListResponse
];
@override
final String wireName = 'ProjectListResponse';
@override
Iterable serialize(Serializers serializers, ProjectListResponse object,
{FullType specifiedType: FullType.unspecified}) {
final result = <Object>[
'data',
serializers.serialize(object.data,
specifiedType:
const FullType(BuiltList, const [const FullType(ProjectEntity)])),
];
return result;
}
@override
ProjectListResponse deserialize(Serializers serializers, Iterable serialized,
{FullType specifiedType: FullType.unspecified}) {
final result = new ProjectListResponseBuilder();
final iterator = serialized.iterator;
while (iterator.moveNext()) {
final key = iterator.current as String;
iterator.moveNext();
final dynamic value = iterator.current;
switch (key) {
case 'data':
result.data.replace(serializers.deserialize(value,
specifiedType: const FullType(
BuiltList, const [const FullType(ProjectEntity)]))
as BuiltList);
break;
}
}
return result.build();
}
}
class _$ProjectItemResponseSerializer
implements StructuredSerializer<ProjectItemResponse> {
@override
final Iterable<Type> types = const [
ProjectItemResponse,
_$ProjectItemResponse
];
@override
final String wireName = 'ProjectItemResponse';
@override
Iterable serialize(Serializers serializers, ProjectItemResponse object,
{FullType specifiedType: FullType.unspecified}) {
final result = <Object>[
'data',
serializers.serialize(object.data,
specifiedType: const FullType(ProjectEntity)),
];
return result;
}
@override
ProjectItemResponse deserialize(Serializers serializers, Iterable serialized,
{FullType specifiedType: FullType.unspecified}) {
final result = new ProjectItemResponseBuilder();
final iterator = serialized.iterator;
while (iterator.moveNext()) {
final key = iterator.current as String;
iterator.moveNext();
final dynamic value = iterator.current;
switch (key) {
case 'data':
result.data.replace(serializers.deserialize(value,
specifiedType: const FullType(ProjectEntity)) as ProjectEntity);
break;
}
}
return result.build();
}
}
class _$ProjectEntitySerializer implements StructuredSerializer<ProjectEntity> {
@override
final Iterable<Type> types = const [ProjectEntity, _$ProjectEntity];
@override
final String wireName = 'ProjectEntity';
@override
Iterable serialize(Serializers serializers, ProjectEntity object,
{FullType specifiedType: FullType.unspecified}) {
final result = <Object>[];
if (object.name != null) {
result
..add('name')
..add(serializers.serialize(object.name,
specifiedType: const FullType(String)));
}
if (object.clientId != null) {
result
..add('client_id')
..add(serializers.serialize(object.clientId,
specifiedType: const FullType(int)));
}
if (object.taskRate != null) {
result
..add('task_rate')
..add(serializers.serialize(object.taskRate,
specifiedType: const FullType(double)));
}
if (object.dueDate != null) {
result
..add('due_date')
..add(serializers.serialize(object.dueDate,
specifiedType: const FullType(String)));
}
if (object.privateNotes != null) {
result
..add('private_notes')
..add(serializers.serialize(object.privateNotes,
specifiedType: const FullType(String)));
}
if (object.budgetedHours != null) {
result
..add('budgeted_hours')
..add(serializers.serialize(object.budgetedHours,
specifiedType: const FullType(double)));
}
if (object.customValue1 != null) {
result
..add('custom_value1')
..add(serializers.serialize(object.customValue1,
specifiedType: const FullType(String)));
}
if (object.customValue2 != null) {
result
..add('custom_value2')
..add(serializers.serialize(object.customValue2,
specifiedType: const FullType(String)));
}
if (object.id != null) {
result
..add('id')
..add(serializers.serialize(object.id,
specifiedType: const FullType(int)));
}
if (object.updatedAt != null) {
result
..add('updated_at')
..add(serializers.serialize(object.updatedAt,
specifiedType: const FullType(int)));
}
if (object.archivedAt != null) {
result
..add('archived_at')
..add(serializers.serialize(object.archivedAt,
specifiedType: const FullType(int)));
}
if (object.isDeleted != null) {
result
..add('is_deleted')
..add(serializers.serialize(object.isDeleted,
specifiedType: const FullType(bool)));
}
return result;
}
@override
ProjectEntity deserialize(Serializers serializers, Iterable serialized,
{FullType specifiedType: FullType.unspecified}) {
final result = new ProjectEntityBuilder();
final iterator = serialized.iterator;
while (iterator.moveNext()) {
final key = iterator.current as String;
iterator.moveNext();
final dynamic value = iterator.current;
switch (key) {
case 'name':
result.name = serializers.deserialize(value,
specifiedType: const FullType(String)) as String;
break;
case 'client_id':
result.clientId = serializers.deserialize(value,
specifiedType: const FullType(int)) as int;
break;
case 'task_rate':
result.taskRate = serializers.deserialize(value,
specifiedType: const FullType(double)) as double;
break;
case 'due_date':
result.dueDate = serializers.deserialize(value,
specifiedType: const FullType(String)) as String;
break;
case 'private_notes':
result.privateNotes = serializers.deserialize(value,
specifiedType: const FullType(String)) as String;
break;
case 'budgeted_hours':
result.budgetedHours = serializers.deserialize(value,
specifiedType: const FullType(double)) as double;
break;
case 'custom_value1':
result.customValue1 = serializers.deserialize(value,
specifiedType: const FullType(String)) as String;
break;
case 'custom_value2':
result.customValue2 = serializers.deserialize(value,
specifiedType: const FullType(String)) as String;
break;
case 'id':
result.id = serializers.deserialize(value,
specifiedType: const FullType(int)) as int;
break;
case 'updated_at':
result.updatedAt = serializers.deserialize(value,
specifiedType: const FullType(int)) as int;
break;
case 'archived_at':
result.archivedAt = serializers.deserialize(value,
specifiedType: const FullType(int)) as int;
break;
case 'is_deleted':
result.isDeleted = serializers.deserialize(value,
specifiedType: const FullType(bool)) as bool;
break;
}
}
return result.build();
}
}
class _$ProjectListResponse extends ProjectListResponse {
@override
final BuiltList<ProjectEntity> data;
factory _$ProjectListResponse([void updates(ProjectListResponseBuilder b)]) =>
(new ProjectListResponseBuilder()..update(updates)).build();
_$ProjectListResponse._({this.data}) : super._() {
if (data == null)
throw new BuiltValueNullFieldError('ProjectListResponse', 'data');
}
@override
ProjectListResponse rebuild(void updates(ProjectListResponseBuilder b)) =>
(toBuilder()..update(updates)).build();
@override
ProjectListResponseBuilder toBuilder() =>
new ProjectListResponseBuilder()..replace(this);
@override
bool operator ==(dynamic other) {
if (identical(other, this)) return true;
if (other is! ProjectListResponse) return false;
return data == other.data;
}
@override
int get hashCode {
return $jf($jc(0, data.hashCode));
}
@override
String toString() {
return (newBuiltValueToStringHelper('ProjectListResponse')
..add('data', data))
.toString();
}
}
class ProjectListResponseBuilder
implements Builder<ProjectListResponse, ProjectListResponseBuilder> {
_$ProjectListResponse _$v;
ListBuilder<ProjectEntity> _data;
ListBuilder<ProjectEntity> get data =>
_$this._data ??= new ListBuilder<ProjectEntity>();
set data(ListBuilder<ProjectEntity> data) => _$this._data = data;
ProjectListResponseBuilder();
ProjectListResponseBuilder get _$this {
if (_$v != null) {
_data = _$v.data?.toBuilder();
_$v = null;
}
return this;
}
@override
void replace(ProjectListResponse other) {
if (other == null) throw new ArgumentError.notNull('other');
_$v = other as _$ProjectListResponse;
}
@override
void update(void updates(ProjectListResponseBuilder b)) {
if (updates != null) updates(this);
}
@override
_$ProjectListResponse build() {
_$ProjectListResponse _$result;
try {
_$result = _$v ?? new _$ProjectListResponse._(data: data.build());
} catch (_) {
String _$failedField;
try {
_$failedField = 'data';
data.build();
} catch (e) {
throw new BuiltValueNestedFieldError(
'ProjectListResponse', _$failedField, e.toString());
}
rethrow;
}
replace(_$result);
return _$result;
}
}
class _$ProjectItemResponse extends ProjectItemResponse {
@override
final ProjectEntity data;
factory _$ProjectItemResponse([void updates(ProjectItemResponseBuilder b)]) =>
(new ProjectItemResponseBuilder()..update(updates)).build();
_$ProjectItemResponse._({this.data}) : super._() {
if (data == null)
throw new BuiltValueNullFieldError('ProjectItemResponse', 'data');
}
@override
ProjectItemResponse rebuild(void updates(ProjectItemResponseBuilder b)) =>
(toBuilder()..update(updates)).build();
@override
ProjectItemResponseBuilder toBuilder() =>
new ProjectItemResponseBuilder()..replace(this);
@override
bool operator ==(dynamic other) {
if (identical(other, this)) return true;
if (other is! ProjectItemResponse) return false;
return data == other.data;
}
@override
int get hashCode {
return $jf($jc(0, data.hashCode));
}
@override
String toString() {
return (newBuiltValueToStringHelper('ProjectItemResponse')
..add('data', data))
.toString();
}
}
class ProjectItemResponseBuilder
implements Builder<ProjectItemResponse, ProjectItemResponseBuilder> {
_$ProjectItemResponse _$v;
ProjectEntityBuilder _data;
ProjectEntityBuilder get data => _$this._data ??= new ProjectEntityBuilder();
set data(ProjectEntityBuilder data) => _$this._data = data;
ProjectItemResponseBuilder();
ProjectItemResponseBuilder get _$this {
if (_$v != null) {
_data = _$v.data?.toBuilder();
_$v = null;
}
return this;
}
@override
void replace(ProjectItemResponse other) {
if (other == null) throw new ArgumentError.notNull('other');
_$v = other as _$ProjectItemResponse;
}
@override
void update(void updates(ProjectItemResponseBuilder b)) {
if (updates != null) updates(this);
}
@override
_$ProjectItemResponse build() {
_$ProjectItemResponse _$result;
try {
_$result = _$v ?? new _$ProjectItemResponse._(data: data.build());
} catch (_) {
String _$failedField;
try {
_$failedField = 'data';
data.build();
} catch (e) {
throw new BuiltValueNestedFieldError(
'ProjectItemResponse', _$failedField, e.toString());
}
rethrow;
}
replace(_$result);
return _$result;
}
}
class _$ProjectEntity extends ProjectEntity {
@override
final String name;
@override
final int clientId;
@override
final double taskRate;
@override
final String dueDate;
@override
final String privateNotes;
@override
final double budgetedHours;
@override
final String customValue1;
@override
final String customValue2;
@override
final int id;
@override
final int updatedAt;
@override
final int archivedAt;
@override
final bool isDeleted;
factory _$ProjectEntity([void updates(ProjectEntityBuilder b)]) =>
(new ProjectEntityBuilder()..update(updates)).build();
_$ProjectEntity._(
{this.name,
this.clientId,
this.taskRate,
this.dueDate,
this.privateNotes,
this.budgetedHours,
this.customValue1,
this.customValue2,
this.id,
this.updatedAt,
this.archivedAt,
this.isDeleted})
: super._();
@override
ProjectEntity rebuild(void updates(ProjectEntityBuilder b)) =>
(toBuilder()..update(updates)).build();
@override
ProjectEntityBuilder toBuilder() => new ProjectEntityBuilder()..replace(this);
@override
bool operator ==(dynamic other) {
if (identical(other, this)) return true;
if (other is! ProjectEntity) return false;
return name == other.name &&
clientId == other.clientId &&
taskRate == other.taskRate &&
dueDate == other.dueDate &&
privateNotes == other.privateNotes &&
budgetedHours == other.budgetedHours &&
customValue1 == other.customValue1 &&
customValue2 == other.customValue2 &&
id == other.id &&
updatedAt == other.updatedAt &&
archivedAt == other.archivedAt &&
isDeleted == other.isDeleted;
}
@override
int get hashCode {
return $jf($jc(
$jc(
$jc(
$jc(
$jc(
$jc(
$jc(
$jc(
$jc(
$jc(
$jc($jc(0, name.hashCode),
clientId.hashCode),
taskRate.hashCode),
dueDate.hashCode),
privateNotes.hashCode),
budgetedHours.hashCode),
customValue1.hashCode),
customValue2.hashCode),
id.hashCode),
updatedAt.hashCode),
archivedAt.hashCode),
isDeleted.hashCode));
}
@override
String toString() {
return (newBuiltValueToStringHelper('ProjectEntity')
..add('name', name)
..add('clientId', clientId)
..add('taskRate', taskRate)
..add('dueDate', dueDate)
..add('privateNotes', privateNotes)
..add('budgetedHours', budgetedHours)
..add('customValue1', customValue1)
..add('customValue2', customValue2)
..add('id', id)
..add('updatedAt', updatedAt)
..add('archivedAt', archivedAt)
..add('isDeleted', isDeleted))
.toString();
}
}
class ProjectEntityBuilder
implements Builder<ProjectEntity, ProjectEntityBuilder> {
_$ProjectEntity _$v;
String _name;
String get name => _$this._name;
set name(String name) => _$this._name = name;
int _clientId;
int get clientId => _$this._clientId;
set clientId(int clientId) => _$this._clientId = clientId;
double _taskRate;
double get taskRate => _$this._taskRate;
set taskRate(double taskRate) => _$this._taskRate = taskRate;
String _dueDate;
String get dueDate => _$this._dueDate;
set dueDate(String dueDate) => _$this._dueDate = dueDate;
String _privateNotes;
String get privateNotes => _$this._privateNotes;
set privateNotes(String privateNotes) => _$this._privateNotes = privateNotes;
double _budgetedHours;
double get budgetedHours => _$this._budgetedHours;
set budgetedHours(double budgetedHours) =>
_$this._budgetedHours = budgetedHours;
String _customValue1;
String get customValue1 => _$this._customValue1;
set customValue1(String customValue1) => _$this._customValue1 = customValue1;
String _customValue2;
String get customValue2 => _$this._customValue2;
set customValue2(String customValue2) => _$this._customValue2 = customValue2;
int _id;
int get id => _$this._id;
set id(int id) => _$this._id = id;
int _updatedAt;
int get updatedAt => _$this._updatedAt;
set updatedAt(int updatedAt) => _$this._updatedAt = updatedAt;
int _archivedAt;
int get archivedAt => _$this._archivedAt;
set archivedAt(int archivedAt) => _$this._archivedAt = archivedAt;
bool _isDeleted;
bool get isDeleted => _$this._isDeleted;
set isDeleted(bool isDeleted) => _$this._isDeleted = isDeleted;
ProjectEntityBuilder();
ProjectEntityBuilder get _$this {
if (_$v != null) {
_name = _$v.name;
_clientId = _$v.clientId;
_taskRate = _$v.taskRate;
_dueDate = _$v.dueDate;
_privateNotes = _$v.privateNotes;
_budgetedHours = _$v.budgetedHours;
_customValue1 = _$v.customValue1;
_customValue2 = _$v.customValue2;
_id = _$v.id;
_updatedAt = _$v.updatedAt;
_archivedAt = _$v.archivedAt;
_isDeleted = _$v.isDeleted;
_$v = null;
}
return this;
}
@override
void replace(ProjectEntity other) {
if (other == null) throw new ArgumentError.notNull('other');
_$v = other as _$ProjectEntity;
}
@override
void update(void updates(ProjectEntityBuilder b)) {
if (updates != null) updates(this);
}
@override
_$ProjectEntity build() {
final _$result = _$v ??
new _$ProjectEntity._(
name: name,
clientId: clientId,
taskRate: taskRate,
dueDate: dueDate,
privateNotes: privateNotes,
budgetedHours: budgetedHours,
customValue1: customValue1,
customValue2: customValue2,
id: id,
updatedAt: updatedAt,
archivedAt: archivedAt,
isDeleted: isDeleted);
replace(_$result);
return _$result;
}
}

View File

@ -24,6 +24,20 @@ part 'serializers.g.dart';
ProductItemResponse,
ClientListResponse,
ClientItemResponse,
CreditListResponse,
CreditItemResponse,
ProjectListResponse,
ProjectItemResponse,
PaymentListResponse,
PaymentItemResponse,
InvoiceListResponse,
InvoiceItemResponse,
ExpenseListResponse,
ExpenseItemResponse,
TaskListResponse,
TaskItemResponse,
VendorListResponse,
VendorItemResponse,
])
final Serializers serializers =
(_$serializers.toBuilder()..addPlugin(StandardJsonPlugin())).build();

View File

@ -24,19 +24,44 @@ Serializers _$serializers = (new Serializers().toBuilder()
..add(CompanyEntity.serializer)
..add(CompanyState.serializer)
..add(ContactEntity.serializer)
..add(CreditEntity.serializer)
..add(CreditItemResponse.serializer)
..add(CreditListResponse.serializer)
..add(DashboardEntity.serializer)
..add(DashboardResponse.serializer)
..add(DashboardState.serializer)
..add(EntityState.serializer)
..add(EntityUIState.serializer)
..add(ErrorMessage.serializer)
..add(ExpenseCategoryEntity.serializer)
..add(ExpenseEntity.serializer)
..add(ExpenseItemResponse.serializer)
..add(ExpenseListResponse.serializer)
..add(InvitationEntity.serializer)
..add(InvoiceEntity.serializer)
..add(InvoiceItemEntity.serializer)
..add(InvoiceItemResponse.serializer)
..add(InvoiceListResponse.serializer)
..add(ListUIState.serializer)
..add(LoginResponse.serializer)
..add(PaymentEntity.serializer)
..add(PaymentItemResponse.serializer)
..add(PaymentListResponse.serializer)
..add(ProductEntity.serializer)
..add(ProductItemResponse.serializer)
..add(ProductListResponse.serializer)
..add(ProductState.serializer)
..add(ProjectEntity.serializer)
..add(ProjectItemResponse.serializer)
..add(ProjectListResponse.serializer)
..add(TaskEntity.serializer)
..add(TaskItemResponse.serializer)
..add(TaskListResponse.serializer)
..add(UIState.serializer)
..add(VendorContactEntity.serializer)
..add(VendorEntity.serializer)
..add(VendorItemResponse.serializer)
..add(VendorListResponse.serializer)
..addBuilderFactory(
const FullType(BuiltList, const [const FullType(ClientEntity)]),
() => new ListBuilder<ClientEntity>())
@ -46,15 +71,50 @@ Serializers _$serializers = (new Serializers().toBuilder()
..addBuilderFactory(
const FullType(BuiltList, const [const FullType(ContactEntity)]),
() => new ListBuilder<ContactEntity>())
..addBuilderFactory(
const FullType(BuiltList, const [const FullType(CreditEntity)]),
() => new ListBuilder<CreditEntity>())
..addBuilderFactory(
const FullType(BuiltList, const [const FullType(EntityState)]),
() => new ListBuilder<EntityState>())
..addBuilderFactory(
const FullType(BuiltList, const [const FullType(int)]),
() => new ListBuilder<int>())
..addBuilderFactory(
const FullType(
BuiltList, const [const FullType(ExpenseCategoryEntity)]),
() => new ListBuilder<ExpenseCategoryEntity>())
..addBuilderFactory(
const FullType(BuiltList, const [const FullType(ExpenseEntity)]),
() => new ListBuilder<ExpenseEntity>())
..addBuilderFactory(
const FullType(BuiltList, const [const FullType(InvoiceEntity)]),
() => new ListBuilder<InvoiceEntity>())
..addBuilderFactory(
const FullType(BuiltList, const [const FullType(InvoiceItemEntity)]),
() => new ListBuilder<InvoiceItemEntity>())
..addBuilderFactory(
const FullType(BuiltList, const [const FullType(InvitationEntity)]),
() => new ListBuilder<InvitationEntity>())
..addBuilderFactory(
const FullType(BuiltList, const [const FullType(PaymentEntity)]),
() => new ListBuilder<PaymentEntity>())
..addBuilderFactory(
const FullType(BuiltList, const [const FullType(ProductEntity)]),
() => new ListBuilder<ProductEntity>())
..addBuilderFactory(
const FullType(BuiltList, const [const FullType(ProjectEntity)]),
() => new ListBuilder<ProjectEntity>())
..addBuilderFactory(
const FullType(BuiltList, const [const FullType(TaskEntity)]),
() => new ListBuilder<TaskEntity>())
..addBuilderFactory(
const FullType(
BuiltList, const [const FullType(VendorContactEntity)]),
() => new ListBuilder<VendorContactEntity>())
..addBuilderFactory(
const FullType(BuiltList, const [const FullType(VendorEntity)]),
() => new ListBuilder<VendorEntity>())
..addBuilderFactory(
const FullType(BuiltMap,
const [const FullType(int), const FullType(ClientEntity)]),

View File

@ -0,0 +1,106 @@
import 'package:built_collection/built_collection.dart';
import 'package:built_value/built_value.dart';
import 'package:built_value/serializer.dart';
import 'package:invoiceninja/data/models/entities.dart';
part 'task_model.g.dart';
abstract class TaskListResponse implements Built<TaskListResponse, TaskListResponseBuilder> {
BuiltList<TaskEntity> get data;
TaskListResponse._();
factory TaskListResponse([updates(TaskListResponseBuilder b)]) = _$TaskListResponse;
static Serializer<TaskListResponse> get serializer => _$taskListResponseSerializer;
}
abstract class TaskItemResponse implements Built<TaskItemResponse, TaskItemResponseBuilder> {
TaskEntity get data;
TaskItemResponse._();
factory TaskItemResponse([updates(TaskItemResponseBuilder b)]) = _$TaskItemResponse;
static Serializer<TaskItemResponse> get serializer => _$taskItemResponseSerializer;
}
class TaskFields {
static const String description = 'description';
static const String duration = 'duration';
static const String invoiceId = 'invoiceId';
static const String clientId = 'clientId';
static const String projectId = 'projectId';
static const String timeLog = 'timeLog';
static const String isRunning = 'isRunning';
static const String customValue1 = 'customValue1';
static const String customValue2 = 'customValue2';
static const String updatedAt = 'updatedAt';
static const String archivedAt = 'archivedAt';
static const String isDeleted = 'isDeleted';
}
abstract class TaskEntity extends Object with BaseEntity implements Built<TaskEntity, TaskEntityBuilder> {
@nullable
String get description;
@nullable
String get duration;
@nullable
@BuiltValueField(wireName: 'invoice_id')
int get invoiceId;
@nullable
@BuiltValueField(wireName: 'client_id')
int get clientId;
@nullable
@BuiltValueField(wireName: 'project_id')
int get projectId;
@nullable
@BuiltValueField(wireName: 'time_log')
String get timeLog;
@nullable
@BuiltValueField(wireName: 'is_running')
bool get isRunning;
@nullable
@BuiltValueField(wireName: 'custom_value1')
String get customValue1;
@nullable
@BuiltValueField(wireName: 'custom_value2')
String get customValue2;
int compareTo(TaskEntity task, String sortField, bool sortAscending) {
int response = 0;
TaskEntity taskA = sortAscending ? this : task;
TaskEntity taskB = sortAscending ? task: this;
switch (sortField) {
case TaskFields.duration:
response = taskA.clientId.compareTo(taskB.clientId);
}
if (response == 0) {
return taskA.projectId.compareTo(taskB.projectId);
} else {
return response;
}
}
bool matchesSearch(String search) {
if (search == null || search.isEmpty) {
return true;
}
return description.contains(search);
}
TaskEntity._();
factory TaskEntity([updates(TaskEntityBuilder b)]) = _$TaskEntity;
static Serializer<TaskEntity> get serializer => _$taskEntitySerializer;
}

View File

@ -0,0 +1,679 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'task_model.dart';
// **************************************************************************
// Generator: BuiltValueGenerator
// **************************************************************************
// ignore_for_file: always_put_control_body_on_new_line
// ignore_for_file: annotate_overrides
// ignore_for_file: avoid_annotating_with_dynamic
// ignore_for_file: avoid_returning_this
// ignore_for_file: omit_local_variable_types
// ignore_for_file: prefer_expression_function_bodies
// ignore_for_file: sort_constructors_first
Serializer<TaskListResponse> _$taskListResponseSerializer =
new _$TaskListResponseSerializer();
Serializer<TaskItemResponse> _$taskItemResponseSerializer =
new _$TaskItemResponseSerializer();
Serializer<TaskEntity> _$taskEntitySerializer = new _$TaskEntitySerializer();
class _$TaskListResponseSerializer
implements StructuredSerializer<TaskListResponse> {
@override
final Iterable<Type> types = const [TaskListResponse, _$TaskListResponse];
@override
final String wireName = 'TaskListResponse';
@override
Iterable serialize(Serializers serializers, TaskListResponse object,
{FullType specifiedType: FullType.unspecified}) {
final result = <Object>[
'data',
serializers.serialize(object.data,
specifiedType:
const FullType(BuiltList, const [const FullType(TaskEntity)])),
];
return result;
}
@override
TaskListResponse deserialize(Serializers serializers, Iterable serialized,
{FullType specifiedType: FullType.unspecified}) {
final result = new TaskListResponseBuilder();
final iterator = serialized.iterator;
while (iterator.moveNext()) {
final key = iterator.current as String;
iterator.moveNext();
final dynamic value = iterator.current;
switch (key) {
case 'data':
result.data.replace(serializers.deserialize(value,
specifiedType: const FullType(
BuiltList, const [const FullType(TaskEntity)])) as BuiltList);
break;
}
}
return result.build();
}
}
class _$TaskItemResponseSerializer
implements StructuredSerializer<TaskItemResponse> {
@override
final Iterable<Type> types = const [TaskItemResponse, _$TaskItemResponse];
@override
final String wireName = 'TaskItemResponse';
@override
Iterable serialize(Serializers serializers, TaskItemResponse object,
{FullType specifiedType: FullType.unspecified}) {
final result = <Object>[
'data',
serializers.serialize(object.data,
specifiedType: const FullType(TaskEntity)),
];
return result;
}
@override
TaskItemResponse deserialize(Serializers serializers, Iterable serialized,
{FullType specifiedType: FullType.unspecified}) {
final result = new TaskItemResponseBuilder();
final iterator = serialized.iterator;
while (iterator.moveNext()) {
final key = iterator.current as String;
iterator.moveNext();
final dynamic value = iterator.current;
switch (key) {
case 'data':
result.data.replace(serializers.deserialize(value,
specifiedType: const FullType(TaskEntity)) as TaskEntity);
break;
}
}
return result.build();
}
}
class _$TaskEntitySerializer implements StructuredSerializer<TaskEntity> {
@override
final Iterable<Type> types = const [TaskEntity, _$TaskEntity];
@override
final String wireName = 'TaskEntity';
@override
Iterable serialize(Serializers serializers, TaskEntity object,
{FullType specifiedType: FullType.unspecified}) {
final result = <Object>[];
if (object.description != null) {
result
..add('description')
..add(serializers.serialize(object.description,
specifiedType: const FullType(String)));
}
if (object.duration != null) {
result
..add('duration')
..add(serializers.serialize(object.duration,
specifiedType: const FullType(String)));
}
if (object.invoiceId != null) {
result
..add('invoice_id')
..add(serializers.serialize(object.invoiceId,
specifiedType: const FullType(int)));
}
if (object.clientId != null) {
result
..add('client_id')
..add(serializers.serialize(object.clientId,
specifiedType: const FullType(int)));
}
if (object.projectId != null) {
result
..add('project_id')
..add(serializers.serialize(object.projectId,
specifiedType: const FullType(int)));
}
if (object.timeLog != null) {
result
..add('time_log')
..add(serializers.serialize(object.timeLog,
specifiedType: const FullType(String)));
}
if (object.isRunning != null) {
result
..add('is_running')
..add(serializers.serialize(object.isRunning,
specifiedType: const FullType(bool)));
}
if (object.customValue1 != null) {
result
..add('custom_value1')
..add(serializers.serialize(object.customValue1,
specifiedType: const FullType(String)));
}
if (object.customValue2 != null) {
result
..add('custom_value2')
..add(serializers.serialize(object.customValue2,
specifiedType: const FullType(String)));
}
if (object.id != null) {
result
..add('id')
..add(serializers.serialize(object.id,
specifiedType: const FullType(int)));
}
if (object.updatedAt != null) {
result
..add('updated_at')
..add(serializers.serialize(object.updatedAt,
specifiedType: const FullType(int)));
}
if (object.archivedAt != null) {
result
..add('archived_at')
..add(serializers.serialize(object.archivedAt,
specifiedType: const FullType(int)));
}
if (object.isDeleted != null) {
result
..add('is_deleted')
..add(serializers.serialize(object.isDeleted,
specifiedType: const FullType(bool)));
}
return result;
}
@override
TaskEntity deserialize(Serializers serializers, Iterable serialized,
{FullType specifiedType: FullType.unspecified}) {
final result = new TaskEntityBuilder();
final iterator = serialized.iterator;
while (iterator.moveNext()) {
final key = iterator.current as String;
iterator.moveNext();
final dynamic value = iterator.current;
switch (key) {
case 'description':
result.description = serializers.deserialize(value,
specifiedType: const FullType(String)) as String;
break;
case 'duration':
result.duration = serializers.deserialize(value,
specifiedType: const FullType(String)) as String;
break;
case 'invoice_id':
result.invoiceId = serializers.deserialize(value,
specifiedType: const FullType(int)) as int;
break;
case 'client_id':
result.clientId = serializers.deserialize(value,
specifiedType: const FullType(int)) as int;
break;
case 'project_id':
result.projectId = serializers.deserialize(value,
specifiedType: const FullType(int)) as int;
break;
case 'time_log':
result.timeLog = serializers.deserialize(value,
specifiedType: const FullType(String)) as String;
break;
case 'is_running':
result.isRunning = serializers.deserialize(value,
specifiedType: const FullType(bool)) as bool;
break;
case 'custom_value1':
result.customValue1 = serializers.deserialize(value,
specifiedType: const FullType(String)) as String;
break;
case 'custom_value2':
result.customValue2 = serializers.deserialize(value,
specifiedType: const FullType(String)) as String;
break;
case 'id':
result.id = serializers.deserialize(value,
specifiedType: const FullType(int)) as int;
break;
case 'updated_at':
result.updatedAt = serializers.deserialize(value,
specifiedType: const FullType(int)) as int;
break;
case 'archived_at':
result.archivedAt = serializers.deserialize(value,
specifiedType: const FullType(int)) as int;
break;
case 'is_deleted':
result.isDeleted = serializers.deserialize(value,
specifiedType: const FullType(bool)) as bool;
break;
}
}
return result.build();
}
}
class _$TaskListResponse extends TaskListResponse {
@override
final BuiltList<TaskEntity> data;
factory _$TaskListResponse([void updates(TaskListResponseBuilder b)]) =>
(new TaskListResponseBuilder()..update(updates)).build();
_$TaskListResponse._({this.data}) : super._() {
if (data == null)
throw new BuiltValueNullFieldError('TaskListResponse', 'data');
}
@override
TaskListResponse rebuild(void updates(TaskListResponseBuilder b)) =>
(toBuilder()..update(updates)).build();
@override
TaskListResponseBuilder toBuilder() =>
new TaskListResponseBuilder()..replace(this);
@override
bool operator ==(dynamic other) {
if (identical(other, this)) return true;
if (other is! TaskListResponse) return false;
return data == other.data;
}
@override
int get hashCode {
return $jf($jc(0, data.hashCode));
}
@override
String toString() {
return (newBuiltValueToStringHelper('TaskListResponse')..add('data', data))
.toString();
}
}
class TaskListResponseBuilder
implements Builder<TaskListResponse, TaskListResponseBuilder> {
_$TaskListResponse _$v;
ListBuilder<TaskEntity> _data;
ListBuilder<TaskEntity> get data =>
_$this._data ??= new ListBuilder<TaskEntity>();
set data(ListBuilder<TaskEntity> data) => _$this._data = data;
TaskListResponseBuilder();
TaskListResponseBuilder get _$this {
if (_$v != null) {
_data = _$v.data?.toBuilder();
_$v = null;
}
return this;
}
@override
void replace(TaskListResponse other) {
if (other == null) throw new ArgumentError.notNull('other');
_$v = other as _$TaskListResponse;
}
@override
void update(void updates(TaskListResponseBuilder b)) {
if (updates != null) updates(this);
}
@override
_$TaskListResponse build() {
_$TaskListResponse _$result;
try {
_$result = _$v ?? new _$TaskListResponse._(data: data.build());
} catch (_) {
String _$failedField;
try {
_$failedField = 'data';
data.build();
} catch (e) {
throw new BuiltValueNestedFieldError(
'TaskListResponse', _$failedField, e.toString());
}
rethrow;
}
replace(_$result);
return _$result;
}
}
class _$TaskItemResponse extends TaskItemResponse {
@override
final TaskEntity data;
factory _$TaskItemResponse([void updates(TaskItemResponseBuilder b)]) =>
(new TaskItemResponseBuilder()..update(updates)).build();
_$TaskItemResponse._({this.data}) : super._() {
if (data == null)
throw new BuiltValueNullFieldError('TaskItemResponse', 'data');
}
@override
TaskItemResponse rebuild(void updates(TaskItemResponseBuilder b)) =>
(toBuilder()..update(updates)).build();
@override
TaskItemResponseBuilder toBuilder() =>
new TaskItemResponseBuilder()..replace(this);
@override
bool operator ==(dynamic other) {
if (identical(other, this)) return true;
if (other is! TaskItemResponse) return false;
return data == other.data;
}
@override
int get hashCode {
return $jf($jc(0, data.hashCode));
}
@override
String toString() {
return (newBuiltValueToStringHelper('TaskItemResponse')..add('data', data))
.toString();
}
}
class TaskItemResponseBuilder
implements Builder<TaskItemResponse, TaskItemResponseBuilder> {
_$TaskItemResponse _$v;
TaskEntityBuilder _data;
TaskEntityBuilder get data => _$this._data ??= new TaskEntityBuilder();
set data(TaskEntityBuilder data) => _$this._data = data;
TaskItemResponseBuilder();
TaskItemResponseBuilder get _$this {
if (_$v != null) {
_data = _$v.data?.toBuilder();
_$v = null;
}
return this;
}
@override
void replace(TaskItemResponse other) {
if (other == null) throw new ArgumentError.notNull('other');
_$v = other as _$TaskItemResponse;
}
@override
void update(void updates(TaskItemResponseBuilder b)) {
if (updates != null) updates(this);
}
@override
_$TaskItemResponse build() {
_$TaskItemResponse _$result;
try {
_$result = _$v ?? new _$TaskItemResponse._(data: data.build());
} catch (_) {
String _$failedField;
try {
_$failedField = 'data';
data.build();
} catch (e) {
throw new BuiltValueNestedFieldError(
'TaskItemResponse', _$failedField, e.toString());
}
rethrow;
}
replace(_$result);
return _$result;
}
}
class _$TaskEntity extends TaskEntity {
@override
final String description;
@override
final String duration;
@override
final int invoiceId;
@override
final int clientId;
@override
final int projectId;
@override
final String timeLog;
@override
final bool isRunning;
@override
final String customValue1;
@override
final String customValue2;
@override
final int id;
@override
final int updatedAt;
@override
final int archivedAt;
@override
final bool isDeleted;
factory _$TaskEntity([void updates(TaskEntityBuilder b)]) =>
(new TaskEntityBuilder()..update(updates)).build();
_$TaskEntity._(
{this.description,
this.duration,
this.invoiceId,
this.clientId,
this.projectId,
this.timeLog,
this.isRunning,
this.customValue1,
this.customValue2,
this.id,
this.updatedAt,
this.archivedAt,
this.isDeleted})
: super._();
@override
TaskEntity rebuild(void updates(TaskEntityBuilder b)) =>
(toBuilder()..update(updates)).build();
@override
TaskEntityBuilder toBuilder() => new TaskEntityBuilder()..replace(this);
@override
bool operator ==(dynamic other) {
if (identical(other, this)) return true;
if (other is! TaskEntity) return false;
return description == other.description &&
duration == other.duration &&
invoiceId == other.invoiceId &&
clientId == other.clientId &&
projectId == other.projectId &&
timeLog == other.timeLog &&
isRunning == other.isRunning &&
customValue1 == other.customValue1 &&
customValue2 == other.customValue2 &&
id == other.id &&
updatedAt == other.updatedAt &&
archivedAt == other.archivedAt &&
isDeleted == other.isDeleted;
}
@override
int get hashCode {
return $jf($jc(
$jc(
$jc(
$jc(
$jc(
$jc(
$jc(
$jc(
$jc(
$jc(
$jc(
$jc(
$jc(0,
description.hashCode),
duration.hashCode),
invoiceId.hashCode),
clientId.hashCode),
projectId.hashCode),
timeLog.hashCode),
isRunning.hashCode),
customValue1.hashCode),
customValue2.hashCode),
id.hashCode),
updatedAt.hashCode),
archivedAt.hashCode),
isDeleted.hashCode));
}
@override
String toString() {
return (newBuiltValueToStringHelper('TaskEntity')
..add('description', description)
..add('duration', duration)
..add('invoiceId', invoiceId)
..add('clientId', clientId)
..add('projectId', projectId)
..add('timeLog', timeLog)
..add('isRunning', isRunning)
..add('customValue1', customValue1)
..add('customValue2', customValue2)
..add('id', id)
..add('updatedAt', updatedAt)
..add('archivedAt', archivedAt)
..add('isDeleted', isDeleted))
.toString();
}
}
class TaskEntityBuilder implements Builder<TaskEntity, TaskEntityBuilder> {
_$TaskEntity _$v;
String _description;
String get description => _$this._description;
set description(String description) => _$this._description = description;
String _duration;
String get duration => _$this._duration;
set duration(String duration) => _$this._duration = duration;
int _invoiceId;
int get invoiceId => _$this._invoiceId;
set invoiceId(int invoiceId) => _$this._invoiceId = invoiceId;
int _clientId;
int get clientId => _$this._clientId;
set clientId(int clientId) => _$this._clientId = clientId;
int _projectId;
int get projectId => _$this._projectId;
set projectId(int projectId) => _$this._projectId = projectId;
String _timeLog;
String get timeLog => _$this._timeLog;
set timeLog(String timeLog) => _$this._timeLog = timeLog;
bool _isRunning;
bool get isRunning => _$this._isRunning;
set isRunning(bool isRunning) => _$this._isRunning = isRunning;
String _customValue1;
String get customValue1 => _$this._customValue1;
set customValue1(String customValue1) => _$this._customValue1 = customValue1;
String _customValue2;
String get customValue2 => _$this._customValue2;
set customValue2(String customValue2) => _$this._customValue2 = customValue2;
int _id;
int get id => _$this._id;
set id(int id) => _$this._id = id;
int _updatedAt;
int get updatedAt => _$this._updatedAt;
set updatedAt(int updatedAt) => _$this._updatedAt = updatedAt;
int _archivedAt;
int get archivedAt => _$this._archivedAt;
set archivedAt(int archivedAt) => _$this._archivedAt = archivedAt;
bool _isDeleted;
bool get isDeleted => _$this._isDeleted;
set isDeleted(bool isDeleted) => _$this._isDeleted = isDeleted;
TaskEntityBuilder();
TaskEntityBuilder get _$this {
if (_$v != null) {
_description = _$v.description;
_duration = _$v.duration;
_invoiceId = _$v.invoiceId;
_clientId = _$v.clientId;
_projectId = _$v.projectId;
_timeLog = _$v.timeLog;
_isRunning = _$v.isRunning;
_customValue1 = _$v.customValue1;
_customValue2 = _$v.customValue2;
_id = _$v.id;
_updatedAt = _$v.updatedAt;
_archivedAt = _$v.archivedAt;
_isDeleted = _$v.isDeleted;
_$v = null;
}
return this;
}
@override
void replace(TaskEntity other) {
if (other == null) throw new ArgumentError.notNull('other');
_$v = other as _$TaskEntity;
}
@override
void update(void updates(TaskEntityBuilder b)) {
if (updates != null) updates(this);
}
@override
_$TaskEntity build() {
final _$result = _$v ??
new _$TaskEntity._(
description: description,
duration: duration,
invoiceId: invoiceId,
clientId: clientId,
projectId: projectId,
timeLog: timeLog,
isRunning: isRunning,
customValue1: customValue1,
customValue2: customValue2,
id: id,
updatedAt: updatedAt,
archivedAt: archivedAt,
isDeleted: isDeleted);
replace(_$result);
return _$result;
}
}

View File

@ -0,0 +1,173 @@
import 'package:built_collection/built_collection.dart';
import 'package:built_value/built_value.dart';
import 'package:built_value/serializer.dart';
import 'package:invoiceninja/data/models/entities.dart';
part 'vendor_model.g.dart';
abstract class VendorListResponse implements Built<VendorListResponse, VendorListResponseBuilder> {
BuiltList<VendorEntity> get data;
VendorListResponse._();
factory VendorListResponse([updates(VendorListResponseBuilder b)]) = _$VendorListResponse;
static Serializer<VendorListResponse> get serializer => _$vendorListResponseSerializer;
}
abstract class VendorItemResponse implements Built<VendorItemResponse, VendorItemResponseBuilder> {
VendorEntity get data;
VendorItemResponse._();
factory VendorItemResponse([updates(VendorItemResponseBuilder b)]) = _$VendorItemResponse;
static Serializer<VendorItemResponse> get serializer => _$vendorItemResponseSerializer;
}
class VendorFields {
static const String name = 'name';
static const String balance = 'balance';
static const String paidToDate = 'paidToDate';
static const String address1 = 'address1';
static const String address2 = 'address2';
static const String city = 'city';
static const String state = 'state';
static const String postalCode = 'postalCode';
static const String countryId = 'countryId';
static const String workPhone = 'workPhone';
static const String privateNotes = 'privateNotes';
static const String lastLogin = 'lastLogin';
static const String website = 'website';
static const String vatNumber = 'vatNumber';
static const String idNumber = 'idNumber';
static const String currencyId = 'currencyId';
static const String customValue1 = 'customValue1';
static const String customValue2 = 'customValue2';
static const String updatedAt = 'updatedAt';
static const String archivedAt = 'archivedAt';
static const String isDeleted = 'isDeleted';
}
abstract class VendorEntity extends Object with BaseEntity implements Built<VendorEntity, VendorEntityBuilder> {
@nullable
String get name;
@nullable
double get balance;
@nullable
@BuiltValueField(wireName: 'paid_to_date')
double get paidToDate;
@nullable
String get address1;
@nullable
String get address2;
@nullable
String get city;
@nullable
String get state;
@nullable
@BuiltValueField(wireName: 'postal_code')
String get postalCode;
@nullable
@BuiltValueField(wireName: 'country_id')
int get countryId;
@nullable
@BuiltValueField(wireName: 'work_phone')
String get workPhone;
@nullable
@BuiltValueField(wireName: 'private_notes')
String get privateNotes;
@nullable
@BuiltValueField(wireName: 'last_login')
String get lastLogin;
@nullable
String get website;
@nullable
@BuiltValueField(wireName: 'vat_number')
String get vatNumber;
@nullable
@BuiltValueField(wireName: 'id_number')
String get idNumber;
@nullable
@BuiltValueField(wireName: 'currency_id')
int get currencyId;
@nullable
@BuiltValueField(wireName: 'custom_value1')
String get customValue1;
@nullable
@BuiltValueField(wireName: 'custom_value2')
String get customValue2;
@nullable
@BuiltValueField(wireName: 'vendor_contacts')
BuiltList<VendorContactEntity> get vendorContacts;
int compareTo(VendorEntity vendor, String sortField, bool sortAscending) {
int response = 0;
VendorEntity vendorA = sortAscending ? this : vendor;
VendorEntity vendorB = sortAscending ? vendor: this;
switch (sortField) {
case VendorFields.name:
response = vendorA.name.compareTo(vendorB.name);
}
return response;
}
bool matchesSearch(String search) {
if (search == null || search.isEmpty) {
return true;
}
return name.contains(search);
}
VendorEntity._();
factory VendorEntity([updates(VendorEntityBuilder b)]) = _$VendorEntity;
static Serializer<VendorEntity> get serializer => _$vendorEntitySerializer;
}
abstract class VendorContactEntity extends Object with BaseEntity implements Built<VendorContactEntity, VendorContactEntityBuilder> {
@nullable
@BuiltValueField(wireName: 'first_name')
String get firstName;
@nullable
@BuiltValueField(wireName: 'last_name')
String get lastName;
@nullable
String get email;
@nullable
@BuiltValueField(wireName: 'is_primary')
bool get isPrimary;
@nullable
String get phone;
VendorContactEntity._();
factory VendorContactEntity([updates(VendorContactEntityBuilder b)]) = _$VendorContactEntity;
static Serializer<VendorContactEntity> get serializer => _$vendorContactEntitySerializer;
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,50 @@
import 'dart:async';
import 'dart:core';
import 'dart:convert';
import 'package:invoiceninja/data/models/serializers.dart';
import 'package:built_collection/built_collection.dart';
import 'package:invoiceninja/redux/auth/auth_state.dart';
import 'package:invoiceninja/data/models/models.dart';
import 'package:invoiceninja/data/web_client.dart';
class CreditsRepository {
final WebClient webClient;
const CreditsRepository({
this.webClient = const WebClient(),
});
Future<BuiltList<CreditEntity>> loadList(CompanyEntity company, AuthState auth) async {
final response = await webClient.get(
auth.url + '/credits?per_page=500', company.token);
CreditListResponse creditResponse = serializers.deserializeWith(
CreditListResponse.serializer, response);
return creditResponse.data;
}
Future saveData(CompanyEntity company, AuthState auth, CreditEntity credit, [EntityAction action]) async {
var data = serializers.serializeWith(CreditEntity.serializer, credit);
var response;
if (credit.id == null) {
response = await webClient.post(
auth.url + '/credits', company.token, json.encode(data));
} else {
var url = auth.url + '/credits/' + credit.id.toString();
if (action != null) {
url += '?action=' + action.toString();
}
response = await webClient.put(url, company.token, json.encode(data));
}
CreditItemResponse creditResponse = serializers.deserializeWith(
CreditItemResponse.serializer, response);
return creditResponse.data;
}
}

View File

@ -0,0 +1,50 @@
import 'dart:async';
import 'dart:core';
import 'dart:convert';
import 'package:invoiceninja/data/models/serializers.dart';
import 'package:built_collection/built_collection.dart';
import 'package:invoiceninja/redux/auth/auth_state.dart';
import 'package:invoiceninja/data/models/models.dart';
import 'package:invoiceninja/data/web_client.dart';
class ExpenseRepository {
final WebClient webClient;
const ExpenseRepository({
this.webClient = const WebClient(),
});
Future<BuiltList<ExpenseEntity>> loadList(CompanyEntity company, AuthState auth) async {
final response = await webClient.get(
auth.url + '/expenses?per_page=500', company.token);
ExpenseListResponse expenseResponse = serializers.deserializeWith(
ExpenseListResponse.serializer, response);
return expenseResponse.data;
}
Future saveData(CompanyEntity company, AuthState auth, ExpenseEntity expense, [EntityAction action]) async {
var data = serializers.serializeWith(ExpenseEntity.serializer, expense);
var response;
if (expense.id == null) {
response = await webClient.post(
auth.url + '/expenses', company.token, json.encode(data));
} else {
var url = auth.url + '/expenses/' + expense.id.toString();
if (action != null) {
url += '?action=' + action.toString();
}
response = await webClient.put(url, company.token, json.encode(data));
}
ExpenseItemResponse expenseResponse = serializers.deserializeWith(
ExpenseItemResponse.serializer, response);
return expenseResponse.data;
}
}

View File

@ -0,0 +1,50 @@
import 'dart:async';
import 'dart:core';
import 'dart:convert';
import 'package:invoiceninja/data/models/serializers.dart';
import 'package:built_collection/built_collection.dart';
import 'package:invoiceninja/redux/auth/auth_state.dart';
import 'package:invoiceninja/data/models/models.dart';
import 'package:invoiceninja/data/web_client.dart';
class InvoiceRepository {
final WebClient webClient;
const InvoiceRepository({
this.webClient = const WebClient(),
});
Future<BuiltList<InvoiceEntity>> loadList(CompanyEntity company, AuthState auth) async {
final response = await webClient.get(
auth.url + '/invoices?per_page=500', company.token);
InvoiceListResponse invoiceResponse = serializers.deserializeWith(
InvoiceListResponse.serializer, response);
return invoiceResponse.data;
}
Future saveData(CompanyEntity company, AuthState auth, InvoiceEntity invoice, [EntityAction action]) async {
var data = serializers.serializeWith(InvoiceEntity.serializer, invoice);
var response;
if (invoice.id == null) {
response = await webClient.post(
auth.url + '/invoices', company.token, json.encode(data));
} else {
var url = auth.url + '/invoices/' + invoice.id.toString();
if (action != null) {
url += '?action=' + action.toString();
}
response = await webClient.put(url, company.token, json.encode(data));
}
InvoiceItemResponse invoiceResponse = serializers.deserializeWith(
InvoiceItemResponse.serializer, response);
return invoiceResponse.data;
}
}

View File

@ -0,0 +1,50 @@
import 'dart:async';
import 'dart:core';
import 'dart:convert';
import 'package:invoiceninja/data/models/serializers.dart';
import 'package:built_collection/built_collection.dart';
import 'package:invoiceninja/redux/auth/auth_state.dart';
import 'package:invoiceninja/data/models/models.dart';
import 'package:invoiceninja/data/web_client.dart';
class PaymentsRepository {
final WebClient webClient;
const PaymentsRepository({
this.webClient = const WebClient(),
});
Future<BuiltList<PaymentEntity>> loadList(CompanyEntity company, AuthState auth) async {
final response = await webClient.get(
auth.url + '/payments?per_page=500', company.token);
PaymentListResponse paymentResponse = serializers.deserializeWith(
PaymentListResponse.serializer, response);
return paymentResponse.data;
}
Future saveData(CompanyEntity company, AuthState auth, PaymentEntity payment, [EntityAction action]) async {
var data = serializers.serializeWith(PaymentEntity.serializer, payment);
var response;
if (payment.id == null) {
response = await webClient.post(
auth.url + '/payments', company.token, json.encode(data));
} else {
var url = auth.url + '/payments/' + payment.id.toString();
if (action != null) {
url += '?action=' + action.toString();
}
response = await webClient.put(url, company.token, json.encode(data));
}
PaymentItemResponse paymentResponse = serializers.deserializeWith(
PaymentItemResponse.serializer, response);
return paymentResponse.data;
}
}

View File

@ -0,0 +1,50 @@
import 'dart:async';
import 'dart:core';
import 'dart:convert';
import 'package:invoiceninja/data/models/serializers.dart';
import 'package:built_collection/built_collection.dart';
import 'package:invoiceninja/redux/auth/auth_state.dart';
import 'package:invoiceninja/data/models/models.dart';
import 'package:invoiceninja/data/web_client.dart';
class ProjectsRepository {
final WebClient webClient;
const ProjectsRepository({
this.webClient = const WebClient(),
});
Future<BuiltList<ProjectEntity>> loadList(CompanyEntity company, AuthState auth) async {
final response = await webClient.get(
auth.url + '/projects?per_page=500', company.token);
ProjectListResponse projectResponse = serializers.deserializeWith(
ProjectListResponse.serializer, response);
return projectResponse.data;
}
Future saveData(CompanyEntity company, AuthState auth, ProjectEntity project, [EntityAction action]) async {
var data = serializers.serializeWith(ProjectEntity.serializer, project);
var response;
if (project.id == null) {
response = await webClient.post(
auth.url + '/projects', company.token, json.encode(data));
} else {
var url = auth.url + '/projects/' + project.id.toString();
if (action != null) {
url += '?action=' + action.toString();
}
response = await webClient.put(url, company.token, json.encode(data));
}
ProjectItemResponse projectResponse = serializers.deserializeWith(
ProjectItemResponse.serializer, response);
return projectResponse.data;
}
}

View File

@ -0,0 +1,50 @@
import 'dart:async';
import 'dart:core';
import 'dart:convert';
import 'package:invoiceninja/data/models/serializers.dart';
import 'package:built_collection/built_collection.dart';
import 'package:invoiceninja/redux/auth/auth_state.dart';
import 'package:invoiceninja/data/models/models.dart';
import 'package:invoiceninja/data/web_client.dart';
class TasksRepository {
final WebClient webClient;
const TasksRepository({
this.webClient = const WebClient(),
});
Future<BuiltList<TaskEntity>> loadList(CompanyEntity company, AuthState auth) async {
final response = await webClient.get(
auth.url + '/tasks?per_page=500', company.token);
TaskListResponse taskResponse = serializers.deserializeWith(
TaskListResponse.serializer, response);
return taskResponse.data;
}
Future saveData(CompanyEntity company, AuthState auth, TaskEntity task, [EntityAction action]) async {
var data = serializers.serializeWith(TaskEntity.serializer, task);
var response;
if (task.id == null) {
response = await webClient.post(
auth.url + '/tasks', company.token, json.encode(data));
} else {
var url = auth.url + '/tasks/' + task.id.toString();
if (action != null) {
url += '?action=' + action.toString();
}
response = await webClient.put(url, company.token, json.encode(data));
}
TaskItemResponse taskResponse = serializers.deserializeWith(
TaskItemResponse.serializer, response);
return taskResponse.data;
}
}

View File

@ -0,0 +1,50 @@
import 'dart:async';
import 'dart:core';
import 'dart:convert';
import 'package:invoiceninja/data/models/serializers.dart';
import 'package:built_collection/built_collection.dart';
import 'package:invoiceninja/redux/auth/auth_state.dart';
import 'package:invoiceninja/data/models/models.dart';
import 'package:invoiceninja/data/web_client.dart';
class VendorRepository {
final WebClient webClient;
const VendorRepository({
this.webClient = const WebClient(),
});
Future<BuiltList<VendorEntity>> loadList(CompanyEntity company, AuthState auth) async {
final response = await webClient.get(
auth.url + '/vendors?per_page=500', company.token);
VendorListResponse vendorResponse = serializers.deserializeWith(
VendorListResponse.serializer, response);
return vendorResponse.data;
}
Future saveData(CompanyEntity company, AuthState auth, VendorEntity vendor, [EntityAction action]) async {
var data = serializers.serializeWith(VendorEntity.serializer, vendor);
var response;
if (vendor.id == null) {
response = await webClient.post(
auth.url + '/vendors', company.token, json.encode(data));
} else {
var url = auth.url + '/vendors/' + vendor.id.toString();
if (action != null) {
url += '?action=' + action.toString();
}
response = await webClient.put(url, company.token, json.encode(data));
}
VendorItemResponse vendorResponse = serializers.deserializeWith(
VendorItemResponse.serializer, response);
return vendorResponse.data;
}
}