diff --git a/lib/data/models/company_model.dart b/lib/data/models/company_model.dart index 5cd00377a..3e9ee78a9 100644 --- a/lib/data/models/company_model.dart +++ b/lib/data/models/company_model.dart @@ -288,6 +288,33 @@ abstract class TaxRateEntity extends Object int get archivedAt; } +abstract class GatewayEntity extends Object + with SelectableEntity + implements Built { + factory GatewayEntity() { + return _$GatewayEntity._( + id: BaseEntity.nextId, + name: '', + sortOrder: 0, + fields: '', + ); + } + + GatewayEntity._(); + + static Serializer get serializer => _$gatewayEntitySerializer; + + String get name; + + @BuiltValueField(wireName: 'sort_order') + int get sortOrder; + + //bool get recommended; + //bool get visible; + + String get fields; +} + abstract class UserEntity implements Built { factory UserEntity() { return _$UserEntity._( diff --git a/lib/data/models/company_model.g.dart b/lib/data/models/company_model.g.dart index 3e37395e3..6fccb7bca 100644 --- a/lib/data/models/company_model.g.dart +++ b/lib/data/models/company_model.g.dart @@ -12,6 +12,8 @@ Serializer _$paymentTermEntitySerializer = new _$PaymentTermEntitySerializer(); Serializer _$taxRateEntitySerializer = new _$TaxRateEntitySerializer(); +Serializer _$gatewayEntitySerializer = + new _$GatewayEntitySerializer(); Serializer _$userEntitySerializer = new _$UserEntitySerializer(); Serializer _$userCompanyEntitySerializer = new _$UserCompanyEntitySerializer(); @@ -477,6 +479,69 @@ class _$TaxRateEntitySerializer implements StructuredSerializer { } } +class _$GatewayEntitySerializer implements StructuredSerializer { + @override + final Iterable types = const [GatewayEntity, _$GatewayEntity]; + @override + final String wireName = 'GatewayEntity'; + + @override + Iterable serialize(Serializers serializers, GatewayEntity object, + {FullType specifiedType = FullType.unspecified}) { + final result = [ + 'name', + serializers.serialize(object.name, specifiedType: const FullType(String)), + 'sort_order', + serializers.serialize(object.sortOrder, + specifiedType: const FullType(int)), + 'fields', + serializers.serialize(object.fields, + specifiedType: const FullType(String)), + ]; + if (object.id != null) { + result + ..add('id') + ..add(serializers.serialize(object.id, + specifiedType: const FullType(String))); + } + return result; + } + + @override + GatewayEntity deserialize( + Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = new GatewayEntityBuilder(); + + 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 'sort_order': + result.sortOrder = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + case 'fields': + result.fields = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case 'id': + result.id = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + } + } + + return result.build(); + } +} + class _$UserEntitySerializer implements StructuredSerializer { @override final Iterable types = const [UserEntity, _$UserEntity]; @@ -2107,6 +2172,123 @@ class TaxRateEntityBuilder } } +class _$GatewayEntity extends GatewayEntity { + @override + final String name; + @override + final int sortOrder; + @override + final String fields; + @override + final String id; + + factory _$GatewayEntity([void Function(GatewayEntityBuilder) updates]) => + (new GatewayEntityBuilder()..update(updates)).build(); + + _$GatewayEntity._({this.name, this.sortOrder, this.fields, this.id}) + : super._() { + if (name == null) { + throw new BuiltValueNullFieldError('GatewayEntity', 'name'); + } + if (sortOrder == null) { + throw new BuiltValueNullFieldError('GatewayEntity', 'sortOrder'); + } + if (fields == null) { + throw new BuiltValueNullFieldError('GatewayEntity', 'fields'); + } + } + + @override + GatewayEntity rebuild(void Function(GatewayEntityBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + GatewayEntityBuilder toBuilder() => new GatewayEntityBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is GatewayEntity && + name == other.name && + sortOrder == other.sortOrder && + fields == other.fields && + id == other.id; + } + + @override + int get hashCode { + return $jf($jc( + $jc($jc($jc(0, name.hashCode), sortOrder.hashCode), fields.hashCode), + id.hashCode)); + } + + @override + String toString() { + return (newBuiltValueToStringHelper('GatewayEntity') + ..add('name', name) + ..add('sortOrder', sortOrder) + ..add('fields', fields) + ..add('id', id)) + .toString(); + } +} + +class GatewayEntityBuilder + implements Builder { + _$GatewayEntity _$v; + + String _name; + String get name => _$this._name; + set name(String name) => _$this._name = name; + + int _sortOrder; + int get sortOrder => _$this._sortOrder; + set sortOrder(int sortOrder) => _$this._sortOrder = sortOrder; + + String _fields; + String get fields => _$this._fields; + set fields(String fields) => _$this._fields = fields; + + String _id; + String get id => _$this._id; + set id(String id) => _$this._id = id; + + GatewayEntityBuilder(); + + GatewayEntityBuilder get _$this { + if (_$v != null) { + _name = _$v.name; + _sortOrder = _$v.sortOrder; + _fields = _$v.fields; + _id = _$v.id; + _$v = null; + } + return this; + } + + @override + void replace(GatewayEntity other) { + if (other == null) { + throw new ArgumentError.notNull('other'); + } + _$v = other as _$GatewayEntity; + } + + @override + void update(void Function(GatewayEntityBuilder) updates) { + if (updates != null) updates(this); + } + + @override + _$GatewayEntity build() { + final _$result = _$v ?? + new _$GatewayEntity._( + name: name, sortOrder: sortOrder, fields: fields, id: id); + replace(_$result); + return _$result; + } +} + class _$UserEntity extends UserEntity { @override final String id; diff --git a/lib/data/models/serializers.g.dart b/lib/data/models/serializers.g.dart index f718a99ad..feb05600f 100644 --- a/lib/data/models/serializers.g.dart +++ b/lib/data/models/serializers.g.dart @@ -60,6 +60,7 @@ Serializers _$serializers = (new Serializers().toBuilder() ..add(FrequencyEntity.serializer) ..add(FrequencyItemResponse.serializer) ..add(FrequencyListResponse.serializer) + ..add(GatewayEntity.serializer) ..add(GroupEntity.serializer) ..add(GroupItemResponse.serializer) ..add(GroupListResponse.serializer) @@ -169,6 +170,9 @@ Serializers _$serializers = (new Serializers().toBuilder() ..addBuilderFactory( const FullType(BuiltList, const [const FullType(TimezoneEntity)]), () => new ListBuilder()) + ..addBuilderFactory( + const FullType(BuiltList, const [const FullType(GatewayEntity)]), + () => new ListBuilder()) ..addBuilderFactory( const FullType(BuiltList, const [const FullType(DateFormatEntity)]), () => new ListBuilder()) @@ -249,10 +253,8 @@ Serializers _$serializers = (new Serializers().toBuilder() BuiltList, const [const FullType(ExpenseCategoryEntity)]), () => new ListBuilder()) ..addBuilderFactory( - const FullType(BuiltMap, const [ - const FullType(String), - const FullType(ExpenseCategoryEntity) - ]), + const FullType(BuiltMap, + const [const FullType(String), const FullType(ExpenseCategoryEntity)]), () => new MapBuilder()) ..addBuilderFactory( const FullType(BuiltList, const [const FullType(UserEntity)]), @@ -320,6 +322,7 @@ Serializers _$serializers = (new Serializers().toBuilder() ..addBuilderFactory(const FullType(BuiltList, const [const FullType(String)]), () => new ListBuilder()) ..addBuilderFactory(const FullType(BuiltMap, const [const FullType(String), const FullType(CurrencyEntity)]), () => new MapBuilder()) ..addBuilderFactory(const FullType(BuiltMap, const [const FullType(String), const FullType(SizeEntity)]), () => new MapBuilder()) + ..addBuilderFactory(const FullType(BuiltMap, const [const FullType(String), const FullType(GatewayEntity)]), () => new MapBuilder()) ..addBuilderFactory(const FullType(BuiltMap, const [const FullType(String), const FullType(IndustryEntity)]), () => new MapBuilder()) ..addBuilderFactory(const FullType(BuiltMap, const [const FullType(String), const FullType(TimezoneEntity)]), () => new MapBuilder()) ..addBuilderFactory(const FullType(BuiltMap, const [const FullType(String), const FullType(DateFormatEntity)]), () => new MapBuilder()) diff --git a/lib/data/models/static/static_data_model.dart b/lib/data/models/static/static_data_model.dart index 904662805..db51da017 100644 --- a/lib/data/models/static/static_data_model.dart +++ b/lib/data/models/static/static_data_model.dart @@ -1,6 +1,7 @@ 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/static/currency_model.dart'; import 'package:invoiceninja_flutter/data/models/static/size_model.dart'; import 'package:invoiceninja_flutter/data/models/static/industry_model.dart'; @@ -69,6 +70,7 @@ abstract class StaticDataEntity currencies: BuiltList(), sizes: BuiltList(), industries: BuiltList(), + gateways: BuiltList(), timezones: BuiltList(), dateFormats: BuiltList(), datetimeFormats: BuiltList(), @@ -90,6 +92,8 @@ abstract class StaticDataEntity BuiltList get timezones; + BuiltList get gateways; + @BuiltValueField(wireName: 'date_formats') BuiltList get dateFormats; diff --git a/lib/data/models/static/static_data_model.g.dart b/lib/data/models/static/static_data_model.g.dart index 0eb0a507b..34bf972f3 100644 --- a/lib/data/models/static/static_data_model.g.dart +++ b/lib/data/models/static/static_data_model.g.dart @@ -136,6 +136,10 @@ class _$StaticDataEntitySerializer serializers.serialize(object.timezones, specifiedType: const FullType( BuiltList, const [const FullType(TimezoneEntity)])), + 'gateways', + serializers.serialize(object.gateways, + specifiedType: + const FullType(BuiltList, const [const FullType(GatewayEntity)])), 'date_formats', serializers.serialize(object.dateFormats, specifiedType: const FullType( @@ -209,6 +213,12 @@ class _$StaticDataEntitySerializer BuiltList, const [const FullType(TimezoneEntity)])) as BuiltList); break; + case 'gateways': + result.gateways.replace(serializers.deserialize(value, + specifiedType: const FullType( + BuiltList, const [const FullType(GatewayEntity)])) + as BuiltList); + break; case 'date_formats': result.dateFormats.replace(serializers.deserialize(value, specifiedType: const FullType( @@ -464,6 +474,8 @@ class _$StaticDataEntity extends StaticDataEntity { @override final BuiltList timezones; @override + final BuiltList gateways; + @override final BuiltList dateFormats; @override final BuiltList datetimeFormats; @@ -489,6 +501,7 @@ class _$StaticDataEntity extends StaticDataEntity { this.sizes, this.industries, this.timezones, + this.gateways, this.dateFormats, this.datetimeFormats, this.languages, @@ -510,6 +523,9 @@ class _$StaticDataEntity extends StaticDataEntity { if (timezones == null) { throw new BuiltValueNullFieldError('StaticDataEntity', 'timezones'); } + if (gateways == null) { + throw new BuiltValueNullFieldError('StaticDataEntity', 'gateways'); + } if (dateFormats == null) { throw new BuiltValueNullFieldError('StaticDataEntity', 'dateFormats'); } @@ -552,6 +568,7 @@ class _$StaticDataEntity extends StaticDataEntity { sizes == other.sizes && industries == other.industries && timezones == other.timezones && + gateways == other.gateways && dateFormats == other.dateFormats && datetimeFormats == other.datetimeFormats && languages == other.languages && @@ -574,10 +591,12 @@ class _$StaticDataEntity extends StaticDataEntity { $jc( $jc( $jc( - $jc($jc(0, currencies.hashCode), - sizes.hashCode), - industries.hashCode), - timezones.hashCode), + $jc( + $jc($jc(0, currencies.hashCode), + sizes.hashCode), + industries.hashCode), + timezones.hashCode), + gateways.hashCode), dateFormats.hashCode), datetimeFormats.hashCode), languages.hashCode), @@ -595,6 +614,7 @@ class _$StaticDataEntity extends StaticDataEntity { ..add('sizes', sizes) ..add('industries', industries) ..add('timezones', timezones) + ..add('gateways', gateways) ..add('dateFormats', dateFormats) ..add('datetimeFormats', datetimeFormats) ..add('languages', languages) @@ -634,6 +654,12 @@ class StaticDataEntityBuilder set timezones(ListBuilder timezones) => _$this._timezones = timezones; + ListBuilder _gateways; + ListBuilder get gateways => + _$this._gateways ??= new ListBuilder(); + set gateways(ListBuilder gateways) => + _$this._gateways = gateways; + ListBuilder _dateFormats; ListBuilder get dateFormats => _$this._dateFormats ??= new ListBuilder(); @@ -690,6 +716,7 @@ class StaticDataEntityBuilder _sizes = _$v.sizes?.toBuilder(); _industries = _$v.industries?.toBuilder(); _timezones = _$v.timezones?.toBuilder(); + _gateways = _$v.gateways?.toBuilder(); _dateFormats = _$v.dateFormats?.toBuilder(); _datetimeFormats = _$v.datetimeFormats?.toBuilder(); _languages = _$v.languages?.toBuilder(); @@ -726,6 +753,7 @@ class StaticDataEntityBuilder sizes: sizes.build(), industries: industries.build(), timezones: timezones.build(), + gateways: gateways.build(), dateFormats: dateFormats.build(), datetimeFormats: datetimeFormats.build(), languages: languages.build(), @@ -745,6 +773,8 @@ class StaticDataEntityBuilder industries.build(); _$failedField = 'timezones'; timezones.build(); + _$failedField = 'gateways'; + gateways.build(); _$failedField = 'dateFormats'; dateFormats.build(); _$failedField = 'datetimeFormats'; diff --git a/lib/redux/app/app_state.dart b/lib/redux/app/app_state.dart index 56d940f27..2dc5645f4 100644 --- a/lib/redux/app/app_state.dart +++ b/lib/redux/app/app_state.dart @@ -314,8 +314,8 @@ abstract class AppState implements Built { @override String toString() { - return 'showCurrencyCode: ${uiState.settingsUIState.settings.showCurrencyCode}'; - //return 'Section: ${uiState.settingsUIState.section}'; + //return 'showCurrencyCode: ${uiState.settingsUIState.settings.showCurrencyCode}'; + return 'gateways : ${staticState.gatewayMap}'; //return 'URL: ${userCompany.token.token}'; //return 'Route: ${uiState.currentRoute}, Setting Type: ${uiState.settingsUIState.entityType}, Name: ${uiState.settingsUIState.settings.name}, Updated: ${uiState.settingsUIState.updatedAt}'; //return 'Route: ${uiState.currentRoute}, Previous: ${uiState.previousRoute}, Layout: ${uiState.layout}, Menu: ${uiState.isMenuVisible}, History: ${uiState.isHistoryVisible}'; diff --git a/lib/redux/static/static_reducer.dart b/lib/redux/static/static_reducer.dart index 220e2868f..a845fc051 100644 --- a/lib/redux/static/static_reducer.dart +++ b/lib/redux/static/static_reducer.dart @@ -65,6 +65,11 @@ StaticState staticLoadedReducer( key: (dynamic item) => item.id, value: (dynamic item) => item, )) + ..gatewayMap.addAll(Map.fromIterable( + action.data.gateways, + key: (dynamic item) => item.id, + value: (dynamic item) => item, + )) ..frequencyMap.addAll(Map.fromIterable( action.data.frequencies, key: (dynamic item) => item.id, diff --git a/lib/redux/static/static_state.dart b/lib/redux/static/static_state.dart index 7c14a809a..51c1001f3 100644 --- a/lib/redux/static/static_state.dart +++ b/lib/redux/static/static_state.dart @@ -11,6 +11,7 @@ abstract class StaticState implements Built { return _$StaticState._( currencyMap: BuiltMap(), sizeMap: BuiltMap(), + gatewayMap: BuiltMap(), industryMap: BuiltMap(), timezoneMap: BuiltMap(), dateFormatMap: BuiltMap(), @@ -43,6 +44,8 @@ abstract class StaticState implements Built { BuiltMap get sizeMap; + BuiltMap get gatewayMap; + BuiltMap get industryMap; BuiltMap get timezoneMap; diff --git a/lib/redux/static/static_state.g.dart b/lib/redux/static/static_state.g.dart index 869e65c71..3219f6c17 100644 --- a/lib/redux/static/static_state.g.dart +++ b/lib/redux/static/static_state.g.dart @@ -26,6 +26,10 @@ class _$StaticStateSerializer implements StructuredSerializer { serializers.serialize(object.sizeMap, specifiedType: const FullType(BuiltMap, const [const FullType(String), const FullType(SizeEntity)])), + 'gatewayMap', + serializers.serialize(object.gatewayMap, + specifiedType: const FullType(BuiltMap, + const [const FullType(String), const FullType(GatewayEntity)])), 'industryMap', serializers.serialize(object.industryMap, specifiedType: const FullType(BuiltMap, @@ -109,6 +113,13 @@ class _$StaticStateSerializer implements StructuredSerializer { const FullType(SizeEntity) ])) as BuiltMap); break; + case 'gatewayMap': + result.gatewayMap.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltMap, const [ + const FullType(String), + const FullType(GatewayEntity) + ])) as BuiltMap); + break; case 'industryMap': result.industryMap.replace(serializers.deserialize(value, specifiedType: const FullType(BuiltMap, const [ @@ -187,6 +198,8 @@ class _$StaticState extends StaticState { @override final BuiltMap sizeMap; @override + final BuiltMap gatewayMap; + @override final BuiltMap industryMap; @override final BuiltMap timezoneMap; @@ -212,6 +225,7 @@ class _$StaticState extends StaticState { {this.updatedAt, this.currencyMap, this.sizeMap, + this.gatewayMap, this.industryMap, this.timezoneMap, this.dateFormatMap, @@ -228,6 +242,9 @@ class _$StaticState extends StaticState { if (sizeMap == null) { throw new BuiltValueNullFieldError('StaticState', 'sizeMap'); } + if (gatewayMap == null) { + throw new BuiltValueNullFieldError('StaticState', 'gatewayMap'); + } if (industryMap == null) { throw new BuiltValueNullFieldError('StaticState', 'industryMap'); } @@ -271,6 +288,7 @@ class _$StaticState extends StaticState { updatedAt == other.updatedAt && currencyMap == other.currencyMap && sizeMap == other.sizeMap && + gatewayMap == other.gatewayMap && industryMap == other.industryMap && timezoneMap == other.timezoneMap && dateFormatMap == other.dateFormatMap && @@ -294,9 +312,11 @@ class _$StaticState extends StaticState { $jc( $jc( $jc( - $jc($jc(0, updatedAt.hashCode), - currencyMap.hashCode), - sizeMap.hashCode), + $jc( + $jc($jc(0, updatedAt.hashCode), + currencyMap.hashCode), + sizeMap.hashCode), + gatewayMap.hashCode), industryMap.hashCode), timezoneMap.hashCode), dateFormatMap.hashCode), @@ -314,6 +334,7 @@ class _$StaticState extends StaticState { ..add('updatedAt', updatedAt) ..add('currencyMap', currencyMap) ..add('sizeMap', sizeMap) + ..add('gatewayMap', gatewayMap) ..add('industryMap', industryMap) ..add('timezoneMap', timezoneMap) ..add('dateFormatMap', dateFormatMap) @@ -346,6 +367,12 @@ class StaticStateBuilder implements Builder { set sizeMap(MapBuilder sizeMap) => _$this._sizeMap = sizeMap; + MapBuilder _gatewayMap; + MapBuilder get gatewayMap => + _$this._gatewayMap ??= new MapBuilder(); + set gatewayMap(MapBuilder gatewayMap) => + _$this._gatewayMap = gatewayMap; + MapBuilder _industryMap; MapBuilder get industryMap => _$this._industryMap ??= new MapBuilder(); @@ -411,6 +438,7 @@ class StaticStateBuilder implements Builder { _updatedAt = _$v.updatedAt; _currencyMap = _$v.currencyMap?.toBuilder(); _sizeMap = _$v.sizeMap?.toBuilder(); + _gatewayMap = _$v.gatewayMap?.toBuilder(); _industryMap = _$v.industryMap?.toBuilder(); _timezoneMap = _$v.timezoneMap?.toBuilder(); _dateFormatMap = _$v.dateFormatMap?.toBuilder(); @@ -447,6 +475,7 @@ class StaticStateBuilder implements Builder { updatedAt: updatedAt, currencyMap: currencyMap.build(), sizeMap: sizeMap.build(), + gatewayMap: gatewayMap.build(), industryMap: industryMap.build(), timezoneMap: timezoneMap.build(), dateFormatMap: dateFormatMap.build(), @@ -463,6 +492,8 @@ class StaticStateBuilder implements Builder { currencyMap.build(); _$failedField = 'sizeMap'; sizeMap.build(); + _$failedField = 'gatewayMap'; + gatewayMap.build(); _$failedField = 'industryMap'; industryMap.build(); _$failedField = 'timezoneMap';