diff --git a/lib/data/models/models.dart b/lib/data/models/models.dart index f7a6641bc..b02e01707 100644 --- a/lib/data/models/models.dart +++ b/lib/data/models/models.dart @@ -8,6 +8,23 @@ 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'; +export 'package:invoiceninja/data/models/static/static_data_model.dart'; +export 'package:invoiceninja/data/models/static/currency_model.dart'; +export 'package:invoiceninja/data/models/static/size_model.dart'; +export 'package:invoiceninja/data/models/static/industry_model.dart'; +export 'package:invoiceninja/data/models/static/timezone_model.dart'; +export 'package:invoiceninja/data/models/static/date_format_model.dart'; +export 'package:invoiceninja/data/models/static/datetime_format_model.dart'; +export 'package:invoiceninja/data/models/static/language_model.dart'; +export 'package:invoiceninja/data/models/static/payment_type_model.dart'; +export 'package:invoiceninja/data/models/static/country_model.dart'; +export 'package:invoiceninja/data/models/static/invoice_design_model.dart'; +export 'package:invoiceninja/data/models/static/invoice_status_model.dart'; +export 'package:invoiceninja/data/models/static/frequency_model.dart'; +export 'package:invoiceninja/data/models/static/gateway_model.dart'; +export 'package:invoiceninja/data/models/static/gateway_type_model.dart'; +export 'package:invoiceninja/data/models/static/font_model.dart'; +export 'package:invoiceninja/data/models/static/bank_model.dart'; import 'package:built_collection/built_collection.dart'; import 'package:built_value/built_value.dart'; import 'package:built_value/serializer.dart'; diff --git a/lib/data/models/serializers.dart b/lib/data/models/serializers.dart index 9554c807b..5e432640f 100644 --- a/lib/data/models/serializers.dart +++ b/lib/data/models/serializers.dart @@ -38,6 +38,30 @@ part 'serializers.g.dart'; TaskItemResponse, VendorListResponse, VendorItemResponse, + StaticDataItemResponse, + CountryItemResponse, + CountryListResponse, + CurrencyItemResponse, + CurrencyListResponse, + DateFormatItemResponse, + DateFormatListResponse, + DatetimeFormatItemResponse, + DatetimeFormatListResponse, + FrequencyItemResponse, + FrequencyListResponse, + IndustryItemResponse, + IndustryListResponse, + InvoiceDesignItemResponse, + InvoiceDesignListResponse, + LanguageItemResponse, + LanguageListResponse, + PaymentTypeItemResponse, + PaymentTypeListResponse, + SizeItemResponse, + SizeListResponse, + TimezoneItemResponse, + TimezoneListResponse + ]) final Serializers serializers = (_$serializers.toBuilder()..addPlugin(StandardJsonPlugin())).build(); \ No newline at end of file diff --git a/lib/data/models/serializers.g.dart b/lib/data/models/serializers.g.dart index d0786e22b..01fc39dbd 100644 --- a/lib/data/models/serializers.g.dart +++ b/lib/data/models/serializers.g.dart @@ -24,12 +24,24 @@ Serializers _$serializers = (new Serializers().toBuilder() ..add(CompanyEntity.serializer) ..add(CompanyState.serializer) ..add(ContactEntity.serializer) + ..add(CountryEntity.serializer) + ..add(CountryItemResponse.serializer) + ..add(CountryListResponse.serializer) ..add(CreditEntity.serializer) ..add(CreditItemResponse.serializer) ..add(CreditListResponse.serializer) + ..add(CurrencyEntity.serializer) + ..add(CurrencyItemResponse.serializer) + ..add(CurrencyListResponse.serializer) ..add(DashboardEntity.serializer) ..add(DashboardResponse.serializer) ..add(DashboardState.serializer) + ..add(DateFormatEntity.serializer) + ..add(DateFormatItemResponse.serializer) + ..add(DateFormatListResponse.serializer) + ..add(DatetimeFormatEntity.serializer) + ..add(DatetimeFormatItemResponse.serializer) + ..add(DatetimeFormatListResponse.serializer) ..add(EntityState.serializer) ..add(EntityUIState.serializer) ..add(ErrorMessage.serializer) @@ -37,16 +49,32 @@ Serializers _$serializers = (new Serializers().toBuilder() ..add(ExpenseEntity.serializer) ..add(ExpenseItemResponse.serializer) ..add(ExpenseListResponse.serializer) + ..add(FrequencyEntity.serializer) + ..add(FrequencyItemResponse.serializer) + ..add(FrequencyListResponse.serializer) + ..add(IndustryEntity.serializer) + ..add(IndustryItemResponse.serializer) + ..add(IndustryListResponse.serializer) ..add(InvitationEntity.serializer) + ..add(InvoiceDesignEntity.serializer) + ..add(InvoiceDesignItemResponse.serializer) + ..add(InvoiceDesignListResponse.serializer) ..add(InvoiceEntity.serializer) ..add(InvoiceItemEntity.serializer) ..add(InvoiceItemResponse.serializer) ..add(InvoiceListResponse.serializer) + ..add(InvoiceStatusEntity.serializer) + ..add(LanguageEntity.serializer) + ..add(LanguageItemResponse.serializer) + ..add(LanguageListResponse.serializer) ..add(ListUIState.serializer) ..add(LoginResponse.serializer) ..add(PaymentEntity.serializer) ..add(PaymentItemResponse.serializer) ..add(PaymentListResponse.serializer) + ..add(PaymentTypeEntity.serializer) + ..add(PaymentTypeItemResponse.serializer) + ..add(PaymentTypeListResponse.serializer) ..add(ProductEntity.serializer) ..add(ProductItemResponse.serializer) ..add(ProductListResponse.serializer) @@ -54,9 +82,17 @@ Serializers _$serializers = (new Serializers().toBuilder() ..add(ProjectEntity.serializer) ..add(ProjectItemResponse.serializer) ..add(ProjectListResponse.serializer) + ..add(SizeEntity.serializer) + ..add(SizeItemResponse.serializer) + ..add(SizeListResponse.serializer) + ..add(StaticDataEntity.serializer) + ..add(StaticDataItemResponse.serializer) ..add(TaskEntity.serializer) ..add(TaskItemResponse.serializer) ..add(TaskListResponse.serializer) + ..add(TimezoneEntity.serializer) + ..add(TimezoneItemResponse.serializer) + ..add(TimezoneListResponse.serializer) ..add(UIState.serializer) ..add(VendorContactEntity.serializer) ..add(VendorEntity.serializer) @@ -71,9 +107,61 @@ Serializers _$serializers = (new Serializers().toBuilder() ..addBuilderFactory( const FullType(BuiltList, const [const FullType(ContactEntity)]), () => new ListBuilder()) + ..addBuilderFactory( + const FullType(BuiltList, const [const FullType(CountryEntity)]), + () => new ListBuilder()) ..addBuilderFactory( const FullType(BuiltList, const [const FullType(CreditEntity)]), () => new ListBuilder()) + ..addBuilderFactory( + const FullType(BuiltList, const [const FullType(CurrencyEntity)]), + () => new ListBuilder()) + ..addBuilderFactory( + const FullType(BuiltList, const [const FullType(CurrencyEntity)]), + () => new ListBuilder()) + ..addBuilderFactory( + const FullType(BuiltList, const [const FullType(SizeEntity)]), + () => new ListBuilder()) + ..addBuilderFactory( + const FullType(BuiltList, const [const FullType(IndustryEntity)]), + () => new ListBuilder()) + ..addBuilderFactory( + const FullType(BuiltList, const [const FullType(TimezoneEntity)]), + () => new ListBuilder()) + ..addBuilderFactory( + const FullType(BuiltList, const [const FullType(DateFormatEntity)]), + () => new ListBuilder()) + ..addBuilderFactory( + const FullType( + BuiltList, const [const FullType(DatetimeFormatEntity)]), + () => new ListBuilder()) + ..addBuilderFactory( + const FullType(BuiltList, const [const FullType(LanguageEntity)]), + () => new ListBuilder()) + ..addBuilderFactory( + const FullType(BuiltList, const [const FullType(PaymentTypeEntity)]), + () => new ListBuilder()) + ..addBuilderFactory( + const FullType(BuiltList, const [const FullType(CountryEntity)]), + () => new ListBuilder()) + ..addBuilderFactory( + const FullType( + BuiltList, const [const FullType(InvoiceDesignEntity)]), + () => new ListBuilder()) + ..addBuilderFactory( + const FullType( + BuiltList, const [const FullType(InvoiceStatusEntity)]), + () => new ListBuilder()) + ..addBuilderFactory( + const FullType(BuiltList, const [const FullType(FrequencyEntity)]), + () => new ListBuilder()) + ..addBuilderFactory( + const FullType(BuiltList, const [const FullType(DateFormatEntity)]), + () => new ListBuilder()) + ..addBuilderFactory( + const FullType( + BuiltList, const [const FullType(DatetimeFormatEntity)]), + () => new ListBuilder()) ..addBuilderFactory( const FullType(BuiltList, const [const FullType(EntityState)]), () => new ListBuilder()) @@ -87,6 +175,16 @@ Serializers _$serializers = (new Serializers().toBuilder() ..addBuilderFactory( const FullType(BuiltList, const [const FullType(ExpenseEntity)]), () => new ListBuilder()) + ..addBuilderFactory( + const FullType(BuiltList, const [const FullType(FrequencyEntity)]), + () => new ListBuilder()) + ..addBuilderFactory( + const FullType(BuiltList, const [const FullType(IndustryEntity)]), + () => new ListBuilder()) + ..addBuilderFactory( + const FullType( + BuiltList, const [const FullType(InvoiceDesignEntity)]), + () => new ListBuilder()) ..addBuilderFactory( const FullType(BuiltList, const [const FullType(InvoiceEntity)]), () => new ListBuilder()) @@ -96,18 +194,30 @@ Serializers _$serializers = (new Serializers().toBuilder() ..addBuilderFactory( const FullType(BuiltList, const [const FullType(InvitationEntity)]), () => new ListBuilder()) + ..addBuilderFactory( + const FullType(BuiltList, const [const FullType(LanguageEntity)]), + () => new ListBuilder()) ..addBuilderFactory( const FullType(BuiltList, const [const FullType(PaymentEntity)]), () => new ListBuilder()) + ..addBuilderFactory( + const FullType(BuiltList, const [const FullType(PaymentTypeEntity)]), + () => new ListBuilder()) ..addBuilderFactory( const FullType(BuiltList, const [const FullType(ProductEntity)]), () => new ListBuilder()) ..addBuilderFactory( const FullType(BuiltList, const [const FullType(ProjectEntity)]), () => new ListBuilder()) + ..addBuilderFactory( + const FullType(BuiltList, const [const FullType(SizeEntity)]), + () => new ListBuilder()) ..addBuilderFactory( const FullType(BuiltList, const [const FullType(TaskEntity)]), () => new ListBuilder()) + ..addBuilderFactory( + const FullType(BuiltList, const [const FullType(TimezoneEntity)]), + () => new ListBuilder()) ..addBuilderFactory( const FullType( BuiltList, const [const FullType(VendorContactEntity)]), diff --git a/lib/data/models/static/datetime_format_model.dart b/lib/data/models/static/datetime_format_model.dart index fa14359ca..098595c80 100644 --- a/lib/data/models/static/datetime_format_model.dart +++ b/lib/data/models/static/datetime_format_model.dart @@ -30,11 +30,11 @@ class DatetimeFormatFields { abstract class DatetimeFormatEntity implements Built { @nullable - double get format; + String get format; @nullable @BuiltValueField(wireName: 'format_moment') - double get formatMoment; + String get formatMoment; DatetimeFormatEntity._(); diff --git a/lib/data/models/static/datetime_format_model.g.dart b/lib/data/models/static/datetime_format_model.g.dart index 1cd4a4297..b701e9596 100644 --- a/lib/data/models/static/datetime_format_model.g.dart +++ b/lib/data/models/static/datetime_format_model.g.dart @@ -133,13 +133,13 @@ class _$DatetimeFormatEntitySerializer result ..add('format') ..add(serializers.serialize(object.format, - specifiedType: const FullType(double))); + specifiedType: const FullType(String))); } if (object.formatMoment != null) { result ..add('format_moment') ..add(serializers.serialize(object.formatMoment, - specifiedType: const FullType(double))); + specifiedType: const FullType(String))); } return result; @@ -158,11 +158,11 @@ class _$DatetimeFormatEntitySerializer switch (key) { case 'format': result.format = serializers.deserialize(value, - specifiedType: const FullType(double)) as double; + specifiedType: const FullType(String)) as String; break; case 'format_moment': result.formatMoment = serializers.deserialize(value, - specifiedType: const FullType(double)) as double; + specifiedType: const FullType(String)) as String; break; } } @@ -361,9 +361,9 @@ class DatetimeFormatItemResponseBuilder class _$DatetimeFormatEntity extends DatetimeFormatEntity { @override - final double format; + final String format; @override - final double formatMoment; + final String formatMoment; factory _$DatetimeFormatEntity( [void updates(DatetimeFormatEntityBuilder b)]) => @@ -404,13 +404,13 @@ class DatetimeFormatEntityBuilder implements Builder { _$DatetimeFormatEntity _$v; - double _format; - double get format => _$this._format; - set format(double format) => _$this._format = format; + String _format; + String get format => _$this._format; + set format(String format) => _$this._format = format; - double _formatMoment; - double get formatMoment => _$this._formatMoment; - set formatMoment(double formatMoment) => _$this._formatMoment = formatMoment; + String _formatMoment; + String get formatMoment => _$this._formatMoment; + set formatMoment(String formatMoment) => _$this._formatMoment = formatMoment; DatetimeFormatEntityBuilder(); diff --git a/lib/data/models/static/static_data_model.dart b/lib/data/models/static/static_data_model.dart new file mode 100644 index 000000000..35873f80d --- /dev/null +++ b/lib/data/models/static/static_data_model.dart @@ -0,0 +1,124 @@ +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/static/currency_model.dart'; +import 'package:invoiceninja/data/models/static/size_model.dart'; +import 'package:invoiceninja/data/models/static/industry_model.dart'; +import 'package:invoiceninja/data/models/static/timezone_model.dart'; +import 'package:invoiceninja/data/models/static/date_format_model.dart'; +import 'package:invoiceninja/data/models/static/datetime_format_model.dart'; + +import 'package:invoiceninja/data/models/static/country_model.dart'; +import 'package:invoiceninja/data/models/static/language_model.dart'; +import 'package:invoiceninja/data/models/static/payment_type_model.dart'; +import 'package:invoiceninja/data/models/static/invoice_design_model.dart'; +import 'package:invoiceninja/data/models/static/invoice_status_model.dart'; +import 'package:invoiceninja/data/models/static/frequency_model.dart'; + +import 'package:invoiceninja/data/models/static/bank_model.dart'; +import 'package:invoiceninja/data/models/static/font_model.dart'; +import 'package:invoiceninja/data/models/static/gateway_model.dart'; +import 'package:invoiceninja/data/models/static/gateway_type_model.dart'; + +part 'static_data_model.g.dart'; + +abstract class StaticDataListResponse implements Built { + + BuiltList get data; + + StaticDataListResponse._(); + factory StaticDataListResponse([updates(StaticDataListResponseBuilder b)]) = _$StaticDataListResponse; + static Serializer get serializer => _$staticDataListResponseSerializer; +} + +abstract class StaticDataItemResponse implements Built { + + StaticDataEntity get data; + + StaticDataItemResponse._(); + factory StaticDataItemResponse([updates(StaticDataItemResponseBuilder b)]) = _$StaticDataItemResponse; + static Serializer get serializer => _$staticDataItemResponseSerializer; +} + +class StaticDataFields { + static const String currencies = 'currencies'; + static const String sizes = 'sizes'; + static const String industries = 'industries'; + static const String timezones = 'timezones'; + + static const String dateFormats = 'dateFormats'; + static const String datetimeFormats = 'datetimeFormats'; + static const String languages = 'languages'; + static const String paymentTypes = 'paymentTypes'; + + static const String countries = 'countries'; + static const String invoiceDesigns = 'invoiceDesigns'; + static const String invoiceStatus = 'invoiceStatus'; + static const String frequencies = 'frequencies'; + + static const String gateways = 'gateways'; + static const String gatewayTypes = 'gatewayTypes'; + static const String fonts = 'fonts'; + static const String banks = 'banks'; + + +} + + +abstract class StaticDataEntity implements Built { + + @nullable + BuiltList get currencies; + + @nullable + BuiltList get sizes; + + @nullable + BuiltList get industries; + + @nullable + BuiltList get timezones; + + @nullable + BuiltList get dateFormats; + + @nullable + BuiltList get datetimeFormats; + + @nullable + BuiltList get languages; + + @nullable + BuiltList get paymentTypes; + + @nullable + BuiltList get countries; + + @nullable + BuiltList get invoiceDesigns; + + @nullable + BuiltList get invoiceStatus; + + @nullable + BuiltList get frequencies; + +/* + @nullable + BuiltList get gateways; + + @nullable + BuiltList get gatewayTypes; + + @nullable + BuiltList get fonts; + + @nullable + BuiltList get banks; + */ + + StaticDataEntity._(); + factory StaticDataEntity([updates(StaticDataEntityBuilder b)]) = _$StaticDataEntity; + static Serializer get serializer => _$staticDataEntitySerializer; +} + diff --git a/lib/data/models/static/static_data_model.g.dart b/lib/data/models/static/static_data_model.g.dart new file mode 100644 index 000000000..3ab115007 --- /dev/null +++ b/lib/data/models/static/static_data_model.g.dart @@ -0,0 +1,768 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'static_data_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 _$staticDataListResponseSerializer = + new _$StaticDataListResponseSerializer(); +Serializer _$staticDataItemResponseSerializer = + new _$StaticDataItemResponseSerializer(); +Serializer _$staticDataEntitySerializer = + new _$StaticDataEntitySerializer(); + +class _$StaticDataListResponseSerializer + implements StructuredSerializer { + @override + final Iterable types = const [ + StaticDataListResponse, + _$StaticDataListResponse + ]; + @override + final String wireName = 'StaticDataListResponse'; + + @override + Iterable serialize(Serializers serializers, StaticDataListResponse object, + {FullType specifiedType: FullType.unspecified}) { + final result = [ + 'data', + serializers.serialize(object.data, + specifiedType: const FullType( + BuiltList, const [const FullType(StaticDataEntity)])), + ]; + + return result; + } + + @override + StaticDataListResponse deserialize( + Serializers serializers, Iterable serialized, + {FullType specifiedType: FullType.unspecified}) { + final result = new StaticDataListResponseBuilder(); + + 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(StaticDataEntity)])) + as BuiltList); + break; + } + } + + return result.build(); + } +} + +class _$StaticDataItemResponseSerializer + implements StructuredSerializer { + @override + final Iterable types = const [ + StaticDataItemResponse, + _$StaticDataItemResponse + ]; + @override + final String wireName = 'StaticDataItemResponse'; + + @override + Iterable serialize(Serializers serializers, StaticDataItemResponse object, + {FullType specifiedType: FullType.unspecified}) { + final result = [ + 'data', + serializers.serialize(object.data, + specifiedType: const FullType(StaticDataEntity)), + ]; + + return result; + } + + @override + StaticDataItemResponse deserialize( + Serializers serializers, Iterable serialized, + {FullType specifiedType: FullType.unspecified}) { + final result = new StaticDataItemResponseBuilder(); + + 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(StaticDataEntity)) + as StaticDataEntity); + break; + } + } + + return result.build(); + } +} + +class _$StaticDataEntitySerializer + implements StructuredSerializer { + @override + final Iterable types = const [StaticDataEntity, _$StaticDataEntity]; + @override + final String wireName = 'StaticDataEntity'; + + @override + Iterable serialize(Serializers serializers, StaticDataEntity object, + {FullType specifiedType: FullType.unspecified}) { + final result = []; + if (object.currencies != null) { + result + ..add('currencies') + ..add(serializers.serialize(object.currencies, + specifiedType: const FullType( + BuiltList, const [const FullType(CurrencyEntity)]))); + } + if (object.sizes != null) { + result + ..add('sizes') + ..add(serializers.serialize(object.sizes, + specifiedType: + const FullType(BuiltList, const [const FullType(SizeEntity)]))); + } + if (object.industries != null) { + result + ..add('industries') + ..add(serializers.serialize(object.industries, + specifiedType: const FullType( + BuiltList, const [const FullType(IndustryEntity)]))); + } + if (object.timezones != null) { + result + ..add('timezones') + ..add(serializers.serialize(object.timezones, + specifiedType: const FullType( + BuiltList, const [const FullType(TimezoneEntity)]))); + } + if (object.dateFormats != null) { + result + ..add('dateFormats') + ..add(serializers.serialize(object.dateFormats, + specifiedType: const FullType( + BuiltList, const [const FullType(DateFormatEntity)]))); + } + if (object.datetimeFormats != null) { + result + ..add('datetimeFormats') + ..add(serializers.serialize(object.datetimeFormats, + specifiedType: const FullType( + BuiltList, const [const FullType(DatetimeFormatEntity)]))); + } + if (object.languages != null) { + result + ..add('languages') + ..add(serializers.serialize(object.languages, + specifiedType: const FullType( + BuiltList, const [const FullType(LanguageEntity)]))); + } + if (object.paymentTypes != null) { + result + ..add('paymentTypes') + ..add(serializers.serialize(object.paymentTypes, + specifiedType: const FullType( + BuiltList, const [const FullType(PaymentTypeEntity)]))); + } + if (object.countries != null) { + result + ..add('countries') + ..add(serializers.serialize(object.countries, + specifiedType: const FullType( + BuiltList, const [const FullType(CountryEntity)]))); + } + if (object.invoiceDesigns != null) { + result + ..add('invoiceDesigns') + ..add(serializers.serialize(object.invoiceDesigns, + specifiedType: const FullType( + BuiltList, const [const FullType(InvoiceDesignEntity)]))); + } + if (object.invoiceStatus != null) { + result + ..add('invoiceStatus') + ..add(serializers.serialize(object.invoiceStatus, + specifiedType: const FullType( + BuiltList, const [const FullType(InvoiceStatusEntity)]))); + } + if (object.frequencies != null) { + result + ..add('frequencies') + ..add(serializers.serialize(object.frequencies, + specifiedType: const FullType( + BuiltList, const [const FullType(FrequencyEntity)]))); + } + + return result; + } + + @override + StaticDataEntity deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType: FullType.unspecified}) { + final result = new StaticDataEntityBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case 'currencies': + result.currencies.replace(serializers.deserialize(value, + specifiedType: const FullType( + BuiltList, const [const FullType(CurrencyEntity)])) + as BuiltList); + break; + case 'sizes': + result.sizes.replace(serializers.deserialize(value, + specifiedType: const FullType( + BuiltList, const [const FullType(SizeEntity)])) as BuiltList); + break; + case 'industries': + result.industries.replace(serializers.deserialize(value, + specifiedType: const FullType( + BuiltList, const [const FullType(IndustryEntity)])) + as BuiltList); + break; + case 'timezones': + result.timezones.replace(serializers.deserialize(value, + specifiedType: const FullType( + BuiltList, const [const FullType(TimezoneEntity)])) + as BuiltList); + break; + case 'dateFormats': + result.dateFormats.replace(serializers.deserialize(value, + specifiedType: const FullType( + BuiltList, const [const FullType(DateFormatEntity)])) + as BuiltList); + break; + case 'datetimeFormats': + result.datetimeFormats.replace(serializers.deserialize(value, + specifiedType: const FullType( + BuiltList, const [const FullType(DatetimeFormatEntity)])) + as BuiltList); + break; + case 'languages': + result.languages.replace(serializers.deserialize(value, + specifiedType: const FullType( + BuiltList, const [const FullType(LanguageEntity)])) + as BuiltList); + break; + case 'paymentTypes': + result.paymentTypes.replace(serializers.deserialize(value, + specifiedType: const FullType( + BuiltList, const [const FullType(PaymentTypeEntity)])) + as BuiltList); + break; + case 'countries': + result.countries.replace(serializers.deserialize(value, + specifiedType: const FullType( + BuiltList, const [const FullType(CountryEntity)])) + as BuiltList); + break; + case 'invoiceDesigns': + result.invoiceDesigns.replace(serializers.deserialize(value, + specifiedType: const FullType( + BuiltList, const [const FullType(InvoiceDesignEntity)])) + as BuiltList); + break; + case 'invoiceStatus': + result.invoiceStatus.replace(serializers.deserialize(value, + specifiedType: const FullType( + BuiltList, const [const FullType(InvoiceStatusEntity)])) + as BuiltList); + break; + case 'frequencies': + result.frequencies.replace(serializers.deserialize(value, + specifiedType: const FullType( + BuiltList, const [const FullType(FrequencyEntity)])) + as BuiltList); + break; + } + } + + return result.build(); + } +} + +class _$StaticDataListResponse extends StaticDataListResponse { + @override + final BuiltList data; + + factory _$StaticDataListResponse( + [void updates(StaticDataListResponseBuilder b)]) => + (new StaticDataListResponseBuilder()..update(updates)).build(); + + _$StaticDataListResponse._({this.data}) : super._() { + if (data == null) + throw new BuiltValueNullFieldError('StaticDataListResponse', 'data'); + } + + @override + StaticDataListResponse rebuild( + void updates(StaticDataListResponseBuilder b)) => + (toBuilder()..update(updates)).build(); + + @override + StaticDataListResponseBuilder toBuilder() => + new StaticDataListResponseBuilder()..replace(this); + + @override + bool operator ==(dynamic other) { + if (identical(other, this)) return true; + if (other is! StaticDataListResponse) return false; + return data == other.data; + } + + @override + int get hashCode { + return $jf($jc(0, data.hashCode)); + } + + @override + String toString() { + return (newBuiltValueToStringHelper('StaticDataListResponse') + ..add('data', data)) + .toString(); + } +} + +class StaticDataListResponseBuilder + implements Builder { + _$StaticDataListResponse _$v; + + ListBuilder _data; + ListBuilder get data => + _$this._data ??= new ListBuilder(); + set data(ListBuilder data) => _$this._data = data; + + StaticDataListResponseBuilder(); + + StaticDataListResponseBuilder get _$this { + if (_$v != null) { + _data = _$v.data?.toBuilder(); + _$v = null; + } + return this; + } + + @override + void replace(StaticDataListResponse other) { + if (other == null) throw new ArgumentError.notNull('other'); + _$v = other as _$StaticDataListResponse; + } + + @override + void update(void updates(StaticDataListResponseBuilder b)) { + if (updates != null) updates(this); + } + + @override + _$StaticDataListResponse build() { + _$StaticDataListResponse _$result; + try { + _$result = _$v ?? new _$StaticDataListResponse._(data: data.build()); + } catch (_) { + String _$failedField; + try { + _$failedField = 'data'; + data.build(); + } catch (e) { + throw new BuiltValueNestedFieldError( + 'StaticDataListResponse', _$failedField, e.toString()); + } + rethrow; + } + replace(_$result); + return _$result; + } +} + +class _$StaticDataItemResponse extends StaticDataItemResponse { + @override + final StaticDataEntity data; + + factory _$StaticDataItemResponse( + [void updates(StaticDataItemResponseBuilder b)]) => + (new StaticDataItemResponseBuilder()..update(updates)).build(); + + _$StaticDataItemResponse._({this.data}) : super._() { + if (data == null) + throw new BuiltValueNullFieldError('StaticDataItemResponse', 'data'); + } + + @override + StaticDataItemResponse rebuild( + void updates(StaticDataItemResponseBuilder b)) => + (toBuilder()..update(updates)).build(); + + @override + StaticDataItemResponseBuilder toBuilder() => + new StaticDataItemResponseBuilder()..replace(this); + + @override + bool operator ==(dynamic other) { + if (identical(other, this)) return true; + if (other is! StaticDataItemResponse) return false; + return data == other.data; + } + + @override + int get hashCode { + return $jf($jc(0, data.hashCode)); + } + + @override + String toString() { + return (newBuiltValueToStringHelper('StaticDataItemResponse') + ..add('data', data)) + .toString(); + } +} + +class StaticDataItemResponseBuilder + implements Builder { + _$StaticDataItemResponse _$v; + + StaticDataEntityBuilder _data; + StaticDataEntityBuilder get data => + _$this._data ??= new StaticDataEntityBuilder(); + set data(StaticDataEntityBuilder data) => _$this._data = data; + + StaticDataItemResponseBuilder(); + + StaticDataItemResponseBuilder get _$this { + if (_$v != null) { + _data = _$v.data?.toBuilder(); + _$v = null; + } + return this; + } + + @override + void replace(StaticDataItemResponse other) { + if (other == null) throw new ArgumentError.notNull('other'); + _$v = other as _$StaticDataItemResponse; + } + + @override + void update(void updates(StaticDataItemResponseBuilder b)) { + if (updates != null) updates(this); + } + + @override + _$StaticDataItemResponse build() { + _$StaticDataItemResponse _$result; + try { + _$result = _$v ?? new _$StaticDataItemResponse._(data: data.build()); + } catch (_) { + String _$failedField; + try { + _$failedField = 'data'; + data.build(); + } catch (e) { + throw new BuiltValueNestedFieldError( + 'StaticDataItemResponse', _$failedField, e.toString()); + } + rethrow; + } + replace(_$result); + return _$result; + } +} + +class _$StaticDataEntity extends StaticDataEntity { + @override + final BuiltList currencies; + @override + final BuiltList sizes; + @override + final BuiltList industries; + @override + final BuiltList timezones; + @override + final BuiltList dateFormats; + @override + final BuiltList datetimeFormats; + @override + final BuiltList languages; + @override + final BuiltList paymentTypes; + @override + final BuiltList countries; + @override + final BuiltList invoiceDesigns; + @override + final BuiltList invoiceStatus; + @override + final BuiltList frequencies; + + factory _$StaticDataEntity([void updates(StaticDataEntityBuilder b)]) => + (new StaticDataEntityBuilder()..update(updates)).build(); + + _$StaticDataEntity._( + {this.currencies, + this.sizes, + this.industries, + this.timezones, + this.dateFormats, + this.datetimeFormats, + this.languages, + this.paymentTypes, + this.countries, + this.invoiceDesigns, + this.invoiceStatus, + this.frequencies}) + : super._(); + + @override + StaticDataEntity rebuild(void updates(StaticDataEntityBuilder b)) => + (toBuilder()..update(updates)).build(); + + @override + StaticDataEntityBuilder toBuilder() => + new StaticDataEntityBuilder()..replace(this); + + @override + bool operator ==(dynamic other) { + if (identical(other, this)) return true; + if (other is! StaticDataEntity) return false; + return currencies == other.currencies && + sizes == other.sizes && + industries == other.industries && + timezones == other.timezones && + dateFormats == other.dateFormats && + datetimeFormats == other.datetimeFormats && + languages == other.languages && + paymentTypes == other.paymentTypes && + countries == other.countries && + invoiceDesigns == other.invoiceDesigns && + invoiceStatus == other.invoiceStatus && + frequencies == other.frequencies; + } + + @override + int get hashCode { + return $jf($jc( + $jc( + $jc( + $jc( + $jc( + $jc( + $jc( + $jc( + $jc( + $jc( + $jc($jc(0, currencies.hashCode), + sizes.hashCode), + industries.hashCode), + timezones.hashCode), + dateFormats.hashCode), + datetimeFormats.hashCode), + languages.hashCode), + paymentTypes.hashCode), + countries.hashCode), + invoiceDesigns.hashCode), + invoiceStatus.hashCode), + frequencies.hashCode)); + } + + @override + String toString() { + return (newBuiltValueToStringHelper('StaticDataEntity') + ..add('currencies', currencies) + ..add('sizes', sizes) + ..add('industries', industries) + ..add('timezones', timezones) + ..add('dateFormats', dateFormats) + ..add('datetimeFormats', datetimeFormats) + ..add('languages', languages) + ..add('paymentTypes', paymentTypes) + ..add('countries', countries) + ..add('invoiceDesigns', invoiceDesigns) + ..add('invoiceStatus', invoiceStatus) + ..add('frequencies', frequencies)) + .toString(); + } +} + +class StaticDataEntityBuilder + implements Builder { + _$StaticDataEntity _$v; + + ListBuilder _currencies; + ListBuilder get currencies => + _$this._currencies ??= new ListBuilder(); + set currencies(ListBuilder currencies) => + _$this._currencies = currencies; + + ListBuilder _sizes; + ListBuilder get sizes => + _$this._sizes ??= new ListBuilder(); + set sizes(ListBuilder sizes) => _$this._sizes = sizes; + + ListBuilder _industries; + ListBuilder get industries => + _$this._industries ??= new ListBuilder(); + set industries(ListBuilder industries) => + _$this._industries = industries; + + ListBuilder _timezones; + ListBuilder get timezones => + _$this._timezones ??= new ListBuilder(); + set timezones(ListBuilder timezones) => + _$this._timezones = timezones; + + ListBuilder _dateFormats; + ListBuilder get dateFormats => + _$this._dateFormats ??= new ListBuilder(); + set dateFormats(ListBuilder dateFormats) => + _$this._dateFormats = dateFormats; + + ListBuilder _datetimeFormats; + ListBuilder get datetimeFormats => + _$this._datetimeFormats ??= new ListBuilder(); + set datetimeFormats(ListBuilder datetimeFormats) => + _$this._datetimeFormats = datetimeFormats; + + ListBuilder _languages; + ListBuilder get languages => + _$this._languages ??= new ListBuilder(); + set languages(ListBuilder languages) => + _$this._languages = languages; + + ListBuilder _paymentTypes; + ListBuilder get paymentTypes => + _$this._paymentTypes ??= new ListBuilder(); + set paymentTypes(ListBuilder paymentTypes) => + _$this._paymentTypes = paymentTypes; + + ListBuilder _countries; + ListBuilder get countries => + _$this._countries ??= new ListBuilder(); + set countries(ListBuilder countries) => + _$this._countries = countries; + + ListBuilder _invoiceDesigns; + ListBuilder get invoiceDesigns => + _$this._invoiceDesigns ??= new ListBuilder(); + set invoiceDesigns(ListBuilder invoiceDesigns) => + _$this._invoiceDesigns = invoiceDesigns; + + ListBuilder _invoiceStatus; + ListBuilder get invoiceStatus => + _$this._invoiceStatus ??= new ListBuilder(); + set invoiceStatus(ListBuilder invoiceStatus) => + _$this._invoiceStatus = invoiceStatus; + + ListBuilder _frequencies; + ListBuilder get frequencies => + _$this._frequencies ??= new ListBuilder(); + set frequencies(ListBuilder frequencies) => + _$this._frequencies = frequencies; + + StaticDataEntityBuilder(); + + StaticDataEntityBuilder get _$this { + if (_$v != null) { + _currencies = _$v.currencies?.toBuilder(); + _sizes = _$v.sizes?.toBuilder(); + _industries = _$v.industries?.toBuilder(); + _timezones = _$v.timezones?.toBuilder(); + _dateFormats = _$v.dateFormats?.toBuilder(); + _datetimeFormats = _$v.datetimeFormats?.toBuilder(); + _languages = _$v.languages?.toBuilder(); + _paymentTypes = _$v.paymentTypes?.toBuilder(); + _countries = _$v.countries?.toBuilder(); + _invoiceDesigns = _$v.invoiceDesigns?.toBuilder(); + _invoiceStatus = _$v.invoiceStatus?.toBuilder(); + _frequencies = _$v.frequencies?.toBuilder(); + _$v = null; + } + return this; + } + + @override + void replace(StaticDataEntity other) { + if (other == null) throw new ArgumentError.notNull('other'); + _$v = other as _$StaticDataEntity; + } + + @override + void update(void updates(StaticDataEntityBuilder b)) { + if (updates != null) updates(this); + } + + @override + _$StaticDataEntity build() { + _$StaticDataEntity _$result; + try { + _$result = _$v ?? + new _$StaticDataEntity._( + currencies: _currencies?.build(), + sizes: _sizes?.build(), + industries: _industries?.build(), + timezones: _timezones?.build(), + dateFormats: _dateFormats?.build(), + datetimeFormats: _datetimeFormats?.build(), + languages: _languages?.build(), + paymentTypes: _paymentTypes?.build(), + countries: _countries?.build(), + invoiceDesigns: _invoiceDesigns?.build(), + invoiceStatus: _invoiceStatus?.build(), + frequencies: _frequencies?.build()); + } catch (_) { + String _$failedField; + try { + _$failedField = 'currencies'; + _currencies?.build(); + _$failedField = 'sizes'; + _sizes?.build(); + _$failedField = 'industries'; + _industries?.build(); + _$failedField = 'timezones'; + _timezones?.build(); + _$failedField = 'dateFormats'; + _dateFormats?.build(); + _$failedField = 'datetimeFormats'; + _datetimeFormats?.build(); + _$failedField = 'languages'; + _languages?.build(); + _$failedField = 'paymentTypes'; + _paymentTypes?.build(); + _$failedField = 'countries'; + _countries?.build(); + _$failedField = 'invoiceDesigns'; + _invoiceDesigns?.build(); + _$failedField = 'invoiceStatus'; + _invoiceStatus?.build(); + _$failedField = 'frequencies'; + _frequencies?.build(); + } catch (e) { + throw new BuiltValueNestedFieldError( + 'StaticDataEntity', _$failedField, e.toString()); + } + rethrow; + } + replace(_$result); + return _$result; + } +} diff --git a/lib/data/repositories/static/static_repository.dart b/lib/data/repositories/static/static_repository.dart new file mode 100644 index 000000000..ec6157bc6 --- /dev/null +++ b/lib/data/repositories/static/static_repository.dart @@ -0,0 +1,30 @@ +import 'dart:async'; +import 'dart:core'; +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'; +import 'package:invoiceninja/data/models/static/static_data_model.dart'; + +class StaticRepository { + final WebClient webClient; + + const StaticRepository({ + this.webClient = const WebClient(), + }); + + Future loadList(CompanyEntity company, AuthState auth) async { + + final response = await webClient.get( + auth.url + '/static', company.token); + + StaticDataItemResponse staticDataResponse = serializers.deserializeWith( + StaticDataItemResponse.serializer, response); + + return staticDataResponse.data; + } + + +} \ No newline at end of file