This commit is contained in:
Hillel Coren 2019-10-11 13:33:46 +03:00
parent b80ceb004c
commit 6cd741686b
2 changed files with 841 additions and 0 deletions

View File

@ -0,0 +1,164 @@
import 'package:built_collection/built_collection.dart';
import 'package:built_value/built_value.dart';
import 'package:built_value/serializer.dart';
import 'package:invoiceninja_flutter/data/models/company_model.dart';
import 'package:invoiceninja_flutter/data/models/entities.dart';
import 'package:invoiceninja_flutter/data/models/models.dart';
import 'package:invoiceninja_flutter/utils/formatting.dart';
part 'company_gateway_model.g.dart';
abstract class CompanyGatewayListResponse
implements Built<CompanyGatewayListResponse, CompanyGatewayListResponseBuilder> {
factory CompanyGatewayListResponse([void updates(CompanyGatewayListResponseBuilder b)]) =
_$CompanyGatewayListResponse;
CompanyGatewayListResponse._();
BuiltList<CompanyGatewayEntity> get data;
static Serializer<CompanyGatewayListResponse> get serializer =>
_$companyGatewayListResponseSerializer;
}
abstract class CompanyGatewayItemResponse
implements Built<CompanyGatewayItemResponse, CompanyGatewayItemResponseBuilder> {
factory CompanyGatewayItemResponse([void updates(CompanyGatewayItemResponseBuilder b)]) =
_$CompanyGatewayItemResponse;
CompanyGatewayItemResponse._();
CompanyGatewayEntity get data;
static Serializer<CompanyGatewayItemResponse> get serializer =>
_$companyGatewayItemResponseSerializer;
}
class CompanyGatewayFields {
static const String name = 'name';
static const String custom1 = 'customValue1';
static const String custom2 = 'customValue2';
}
abstract class CompanyGatewayEntity extends Object
with BaseEntity, SelectableEntity
implements Built<CompanyGatewayEntity, CompanyGatewayEntityBuilder> {
factory CompanyGatewayEntity({String id}) {
return _$CompanyGatewayEntity._(
id: id ?? BaseEntity.nextId,
isChanged: false,
name: '',
settings: SettingsEntity(),
customValue1: '',
customValue2: '',
updatedAt: 0,
archivedAt: 0,
isDeleted: false,
);
}
CompanyGatewayEntity._();
@override
EntityType get entityType {
return EntityType.companyGateway;
}
String get name;
// TODO remove this
@nullable
@BuiltValueField(wireName: 'custom_value1')
String get customValue1;
// TODO remove this
@nullable
@BuiltValueField(wireName: 'custom_value2')
String get customValue2;
SettingsEntity get settings;
@override
String get listDisplayName {
return name;
}
int compareTo(CompanyGatewayEntity companyGateway, String sortField, bool sortAscending) {
const int response = 0;
final CompanyGatewayEntity companyGatewayA = sortAscending ? this : companyGateway;
final CompanyGatewayEntity companyGatewayB = sortAscending ? companyGateway : this;
switch (sortField) {
case CompanyGatewayFields.name:
//response = companyGatewayA.balance.compareTo(companyGatewayB.balance);
//break;
}
if (response == 0) {
return companyGatewayA.name.toLowerCase().compareTo(companyGatewayB.name.toLowerCase());
} else {
return response;
}
}
@override
bool matchesFilter(String filter) {
if (filter == null || filter.isEmpty) {
return true;
}
filter = filter.toLowerCase();
if (name.toLowerCase().contains(filter)) {
return true;
}
return false;
}
@override
String matchesFilterValue(String filter) {
if (filter == null || filter.isEmpty) {
return null;
}
return null;
}
@override
List<EntityAction> getActions(
{UserCompanyEntity userCompany,
ClientEntity client,
bool includeEdit = false,
bool multiselect = false}) {
final actions = <EntityAction>[];
// TODO remove ??
if (!(isDeleted ?? false)) {
if (includeEdit && userCompany.canEditEntity(this)) {
actions.add(EntityAction.edit);
}
if (userCompany.canEditEntity(this)) {
actions.add(EntityAction.settings);
}
if (userCompany.canCreate(EntityType.client)) {
actions.add(EntityAction.newClient);
}
}
if (actions.isNotEmpty) {
actions.add(null);
}
return actions..addAll(super.getActions(userCompany: userCompany));
}
@override
double get listDisplayAmount => null;
@override
FormatNumberType get listDisplayAmountType => null;
static Serializer<CompanyGatewayEntity> get serializer => _$companyGatewayEntitySerializer;
}

View File

@ -0,0 +1,677 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'company_gateway_model.dart';
// **************************************************************************
// BuiltValueGenerator
// **************************************************************************
Serializer<CompanyGatewayListResponse> _$companyGatewayListResponseSerializer =
new _$CompanyGatewayListResponseSerializer();
Serializer<CompanyGatewayItemResponse> _$companyGatewayItemResponseSerializer =
new _$CompanyGatewayItemResponseSerializer();
Serializer<CompanyGatewayEntity> _$companyGatewayEntitySerializer =
new _$CompanyGatewayEntitySerializer();
class _$CompanyGatewayListResponseSerializer
implements StructuredSerializer<CompanyGatewayListResponse> {
@override
final Iterable<Type> types = const [
CompanyGatewayListResponse,
_$CompanyGatewayListResponse
];
@override
final String wireName = 'CompanyGatewayListResponse';
@override
Iterable<Object> serialize(
Serializers serializers, CompanyGatewayListResponse object,
{FullType specifiedType = FullType.unspecified}) {
final result = <Object>[
'data',
serializers.serialize(object.data,
specifiedType: const FullType(
BuiltList, const [const FullType(CompanyGatewayEntity)])),
];
return result;
}
@override
CompanyGatewayListResponse deserialize(
Serializers serializers, Iterable<Object> serialized,
{FullType specifiedType = FullType.unspecified}) {
final result = new CompanyGatewayListResponseBuilder();
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(CompanyGatewayEntity)]))
as BuiltList<dynamic>);
break;
}
}
return result.build();
}
}
class _$CompanyGatewayItemResponseSerializer
implements StructuredSerializer<CompanyGatewayItemResponse> {
@override
final Iterable<Type> types = const [
CompanyGatewayItemResponse,
_$CompanyGatewayItemResponse
];
@override
final String wireName = 'CompanyGatewayItemResponse';
@override
Iterable<Object> serialize(
Serializers serializers, CompanyGatewayItemResponse object,
{FullType specifiedType = FullType.unspecified}) {
final result = <Object>[
'data',
serializers.serialize(object.data,
specifiedType: const FullType(CompanyGatewayEntity)),
];
return result;
}
@override
CompanyGatewayItemResponse deserialize(
Serializers serializers, Iterable<Object> serialized,
{FullType specifiedType = FullType.unspecified}) {
final result = new CompanyGatewayItemResponseBuilder();
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(CompanyGatewayEntity))
as CompanyGatewayEntity);
break;
}
}
return result.build();
}
}
class _$CompanyGatewayEntitySerializer
implements StructuredSerializer<CompanyGatewayEntity> {
@override
final Iterable<Type> types = const [
CompanyGatewayEntity,
_$CompanyGatewayEntity
];
@override
final String wireName = 'CompanyGatewayEntity';
@override
Iterable<Object> serialize(
Serializers serializers, CompanyGatewayEntity object,
{FullType specifiedType = FullType.unspecified}) {
final result = <Object>[
'name',
serializers.serialize(object.name, specifiedType: const FullType(String)),
'settings',
serializers.serialize(object.settings,
specifiedType: const FullType(SettingsEntity)),
];
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.isChanged != null) {
result
..add('isChanged')
..add(serializers.serialize(object.isChanged,
specifiedType: const FullType(bool)));
}
if (object.createdAt != null) {
result
..add('created_at')
..add(serializers.serialize(object.createdAt,
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)));
}
if (object.isOwner != null) {
result
..add('is_owner')
..add(serializers.serialize(object.isOwner,
specifiedType: const FullType(bool)));
}
if (object.id != null) {
result
..add('id')
..add(serializers.serialize(object.id,
specifiedType: const FullType(String)));
}
return result;
}
@override
CompanyGatewayEntity deserialize(
Serializers serializers, Iterable<Object> serialized,
{FullType specifiedType = FullType.unspecified}) {
final result = new CompanyGatewayEntityBuilder();
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 '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 'settings':
result.settings.replace(serializers.deserialize(value,
specifiedType: const FullType(SettingsEntity)) as SettingsEntity);
break;
case 'isChanged':
result.isChanged = serializers.deserialize(value,
specifiedType: const FullType(bool)) as bool;
break;
case 'created_at':
result.createdAt = 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;
case 'is_owner':
result.isOwner = serializers.deserialize(value,
specifiedType: const FullType(bool)) as bool;
break;
case 'id':
result.id = serializers.deserialize(value,
specifiedType: const FullType(String)) as String;
break;
}
}
return result.build();
}
}
class _$CompanyGatewayListResponse extends CompanyGatewayListResponse {
@override
final BuiltList<CompanyGatewayEntity> data;
factory _$CompanyGatewayListResponse(
[void Function(CompanyGatewayListResponseBuilder) updates]) =>
(new CompanyGatewayListResponseBuilder()..update(updates)).build();
_$CompanyGatewayListResponse._({this.data}) : super._() {
if (data == null) {
throw new BuiltValueNullFieldError('CompanyGatewayListResponse', 'data');
}
}
@override
CompanyGatewayListResponse rebuild(
void Function(CompanyGatewayListResponseBuilder) updates) =>
(toBuilder()..update(updates)).build();
@override
CompanyGatewayListResponseBuilder toBuilder() =>
new CompanyGatewayListResponseBuilder()..replace(this);
@override
bool operator ==(Object other) {
if (identical(other, this)) return true;
return other is CompanyGatewayListResponse && data == other.data;
}
@override
int get hashCode {
return $jf($jc(0, data.hashCode));
}
@override
String toString() {
return (newBuiltValueToStringHelper('CompanyGatewayListResponse')
..add('data', data))
.toString();
}
}
class CompanyGatewayListResponseBuilder
implements
Builder<CompanyGatewayListResponse, CompanyGatewayListResponseBuilder> {
_$CompanyGatewayListResponse _$v;
ListBuilder<CompanyGatewayEntity> _data;
ListBuilder<CompanyGatewayEntity> get data =>
_$this._data ??= new ListBuilder<CompanyGatewayEntity>();
set data(ListBuilder<CompanyGatewayEntity> data) => _$this._data = data;
CompanyGatewayListResponseBuilder();
CompanyGatewayListResponseBuilder get _$this {
if (_$v != null) {
_data = _$v.data?.toBuilder();
_$v = null;
}
return this;
}
@override
void replace(CompanyGatewayListResponse other) {
if (other == null) {
throw new ArgumentError.notNull('other');
}
_$v = other as _$CompanyGatewayListResponse;
}
@override
void update(void Function(CompanyGatewayListResponseBuilder) updates) {
if (updates != null) updates(this);
}
@override
_$CompanyGatewayListResponse build() {
_$CompanyGatewayListResponse _$result;
try {
_$result = _$v ?? new _$CompanyGatewayListResponse._(data: data.build());
} catch (_) {
String _$failedField;
try {
_$failedField = 'data';
data.build();
} catch (e) {
throw new BuiltValueNestedFieldError(
'CompanyGatewayListResponse', _$failedField, e.toString());
}
rethrow;
}
replace(_$result);
return _$result;
}
}
class _$CompanyGatewayItemResponse extends CompanyGatewayItemResponse {
@override
final CompanyGatewayEntity data;
factory _$CompanyGatewayItemResponse(
[void Function(CompanyGatewayItemResponseBuilder) updates]) =>
(new CompanyGatewayItemResponseBuilder()..update(updates)).build();
_$CompanyGatewayItemResponse._({this.data}) : super._() {
if (data == null) {
throw new BuiltValueNullFieldError('CompanyGatewayItemResponse', 'data');
}
}
@override
CompanyGatewayItemResponse rebuild(
void Function(CompanyGatewayItemResponseBuilder) updates) =>
(toBuilder()..update(updates)).build();
@override
CompanyGatewayItemResponseBuilder toBuilder() =>
new CompanyGatewayItemResponseBuilder()..replace(this);
@override
bool operator ==(Object other) {
if (identical(other, this)) return true;
return other is CompanyGatewayItemResponse && data == other.data;
}
@override
int get hashCode {
return $jf($jc(0, data.hashCode));
}
@override
String toString() {
return (newBuiltValueToStringHelper('CompanyGatewayItemResponse')
..add('data', data))
.toString();
}
}
class CompanyGatewayItemResponseBuilder
implements
Builder<CompanyGatewayItemResponse, CompanyGatewayItemResponseBuilder> {
_$CompanyGatewayItemResponse _$v;
CompanyGatewayEntityBuilder _data;
CompanyGatewayEntityBuilder get data =>
_$this._data ??= new CompanyGatewayEntityBuilder();
set data(CompanyGatewayEntityBuilder data) => _$this._data = data;
CompanyGatewayItemResponseBuilder();
CompanyGatewayItemResponseBuilder get _$this {
if (_$v != null) {
_data = _$v.data?.toBuilder();
_$v = null;
}
return this;
}
@override
void replace(CompanyGatewayItemResponse other) {
if (other == null) {
throw new ArgumentError.notNull('other');
}
_$v = other as _$CompanyGatewayItemResponse;
}
@override
void update(void Function(CompanyGatewayItemResponseBuilder) updates) {
if (updates != null) updates(this);
}
@override
_$CompanyGatewayItemResponse build() {
_$CompanyGatewayItemResponse _$result;
try {
_$result = _$v ?? new _$CompanyGatewayItemResponse._(data: data.build());
} catch (_) {
String _$failedField;
try {
_$failedField = 'data';
data.build();
} catch (e) {
throw new BuiltValueNestedFieldError(
'CompanyGatewayItemResponse', _$failedField, e.toString());
}
rethrow;
}
replace(_$result);
return _$result;
}
}
class _$CompanyGatewayEntity extends CompanyGatewayEntity {
@override
final String name;
@override
final String customValue1;
@override
final String customValue2;
@override
final SettingsEntity settings;
@override
final bool isChanged;
@override
final int createdAt;
@override
final int updatedAt;
@override
final int archivedAt;
@override
final bool isDeleted;
@override
final bool isOwner;
@override
final String id;
factory _$CompanyGatewayEntity(
[void Function(CompanyGatewayEntityBuilder) updates]) =>
(new CompanyGatewayEntityBuilder()..update(updates)).build();
_$CompanyGatewayEntity._(
{this.name,
this.customValue1,
this.customValue2,
this.settings,
this.isChanged,
this.createdAt,
this.updatedAt,
this.archivedAt,
this.isDeleted,
this.isOwner,
this.id})
: super._() {
if (name == null) {
throw new BuiltValueNullFieldError('CompanyGatewayEntity', 'name');
}
if (settings == null) {
throw new BuiltValueNullFieldError('CompanyGatewayEntity', 'settings');
}
}
@override
CompanyGatewayEntity rebuild(
void Function(CompanyGatewayEntityBuilder) updates) =>
(toBuilder()..update(updates)).build();
@override
CompanyGatewayEntityBuilder toBuilder() =>
new CompanyGatewayEntityBuilder()..replace(this);
@override
bool operator ==(Object other) {
if (identical(other, this)) return true;
return other is CompanyGatewayEntity &&
name == other.name &&
customValue1 == other.customValue1 &&
customValue2 == other.customValue2 &&
settings == other.settings &&
isChanged == other.isChanged &&
createdAt == other.createdAt &&
updatedAt == other.updatedAt &&
archivedAt == other.archivedAt &&
isDeleted == other.isDeleted &&
isOwner == other.isOwner &&
id == other.id;
}
@override
int get hashCode {
return $jf($jc(
$jc(
$jc(
$jc(
$jc(
$jc(
$jc(
$jc(
$jc(
$jc($jc(0, name.hashCode),
customValue1.hashCode),
customValue2.hashCode),
settings.hashCode),
isChanged.hashCode),
createdAt.hashCode),
updatedAt.hashCode),
archivedAt.hashCode),
isDeleted.hashCode),
isOwner.hashCode),
id.hashCode));
}
@override
String toString() {
return (newBuiltValueToStringHelper('CompanyGatewayEntity')
..add('name', name)
..add('customValue1', customValue1)
..add('customValue2', customValue2)
..add('settings', settings)
..add('isChanged', isChanged)
..add('createdAt', createdAt)
..add('updatedAt', updatedAt)
..add('archivedAt', archivedAt)
..add('isDeleted', isDeleted)
..add('isOwner', isOwner)
..add('id', id))
.toString();
}
}
class CompanyGatewayEntityBuilder
implements Builder<CompanyGatewayEntity, CompanyGatewayEntityBuilder> {
_$CompanyGatewayEntity _$v;
String _name;
String get name => _$this._name;
set name(String name) => _$this._name = name;
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;
SettingsEntityBuilder _settings;
SettingsEntityBuilder get settings =>
_$this._settings ??= new SettingsEntityBuilder();
set settings(SettingsEntityBuilder settings) => _$this._settings = settings;
bool _isChanged;
bool get isChanged => _$this._isChanged;
set isChanged(bool isChanged) => _$this._isChanged = isChanged;
int _createdAt;
int get createdAt => _$this._createdAt;
set createdAt(int createdAt) => _$this._createdAt = createdAt;
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;
bool _isOwner;
bool get isOwner => _$this._isOwner;
set isOwner(bool isOwner) => _$this._isOwner = isOwner;
String _id;
String get id => _$this._id;
set id(String id) => _$this._id = id;
CompanyGatewayEntityBuilder();
CompanyGatewayEntityBuilder get _$this {
if (_$v != null) {
_name = _$v.name;
_customValue1 = _$v.customValue1;
_customValue2 = _$v.customValue2;
_settings = _$v.settings?.toBuilder();
_isChanged = _$v.isChanged;
_createdAt = _$v.createdAt;
_updatedAt = _$v.updatedAt;
_archivedAt = _$v.archivedAt;
_isDeleted = _$v.isDeleted;
_isOwner = _$v.isOwner;
_id = _$v.id;
_$v = null;
}
return this;
}
@override
void replace(CompanyGatewayEntity other) {
if (other == null) {
throw new ArgumentError.notNull('other');
}
_$v = other as _$CompanyGatewayEntity;
}
@override
void update(void Function(CompanyGatewayEntityBuilder) updates) {
if (updates != null) updates(this);
}
@override
_$CompanyGatewayEntity build() {
_$CompanyGatewayEntity _$result;
try {
_$result = _$v ??
new _$CompanyGatewayEntity._(
name: name,
customValue1: customValue1,
customValue2: customValue2,
settings: settings.build(),
isChanged: isChanged,
createdAt: createdAt,
updatedAt: updatedAt,
archivedAt: archivedAt,
isDeleted: isDeleted,
isOwner: isOwner,
id: id);
} catch (_) {
String _$failedField;
try {
_$failedField = 'settings';
settings.build();
} catch (e) {
throw new BuiltValueNestedFieldError(
'CompanyGatewayEntity', _$failedField, e.toString());
}
rethrow;
}
replace(_$result);
return _$result;
}
}
// ignore_for_file: always_put_control_body_on_new_line,always_specify_types,annotate_overrides,avoid_annotating_with_dynamic,avoid_as,avoid_catches_without_on_clauses,avoid_returning_this,lines_longer_than_80_chars,omit_local_variable_types,prefer_expression_function_bodies,sort_constructors_first,test_types_in_equals,unnecessary_const,unnecessary_new