This commit is contained in:
Hillel Coren 2019-10-03 08:35:51 +03:00
parent 200dbe4bc1
commit ff66a7f3ee
4 changed files with 154 additions and 5 deletions

View File

@ -649,3 +649,16 @@ abstract class SettingsEntity
static Serializer<SettingsEntity> get serializer =>
_$settingsEntitySerializer;
}
abstract class UserItemResponse
implements Built<UserItemResponse, UserItemResponseBuilder> {
factory UserItemResponse([void updates(UserItemResponseBuilder b)]) =
_$UserItemResponse;
UserItemResponse._();
UserEntity get data;
static Serializer<UserItemResponse> get serializer =>
_$userItemResponseSerializer;
}

View File

@ -18,6 +18,8 @@ Serializer<UserCompanyEntity> _$userCompanyEntitySerializer =
Serializer<TokenEntity> _$tokenEntitySerializer = new _$TokenEntitySerializer();
Serializer<SettingsEntity> _$settingsEntitySerializer =
new _$SettingsEntitySerializer();
Serializer<UserItemResponse> _$userItemResponseSerializer =
new _$UserItemResponseSerializer();
class _$CompanyEntitySerializer implements StructuredSerializer<CompanyEntity> {
@override
@ -1100,6 +1102,48 @@ class _$SettingsEntitySerializer
}
}
class _$UserItemResponseSerializer
implements StructuredSerializer<UserItemResponse> {
@override
final Iterable<Type> types = const [UserItemResponse, _$UserItemResponse];
@override
final String wireName = 'UserItemResponse';
@override
Iterable<Object> serialize(Serializers serializers, UserItemResponse object,
{FullType specifiedType = FullType.unspecified}) {
final result = <Object>[
'data',
serializers.serialize(object.data,
specifiedType: const FullType(UserEntity)),
];
return result;
}
@override
UserItemResponse deserialize(
Serializers serializers, Iterable<Object> serialized,
{FullType specifiedType = FullType.unspecified}) {
final result = new UserItemResponseBuilder();
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(UserEntity)) as UserEntity);
break;
}
}
return result.build();
}
}
class _$CompanyEntity extends CompanyEntity {
@override
final String id;
@ -3033,4 +3077,96 @@ class SettingsEntityBuilder
}
}
class _$UserItemResponse extends UserItemResponse {
@override
final UserEntity data;
factory _$UserItemResponse(
[void Function(UserItemResponseBuilder) updates]) =>
(new UserItemResponseBuilder()..update(updates)).build();
_$UserItemResponse._({this.data}) : super._() {
if (data == null) {
throw new BuiltValueNullFieldError('UserItemResponse', 'data');
}
}
@override
UserItemResponse rebuild(void Function(UserItemResponseBuilder) updates) =>
(toBuilder()..update(updates)).build();
@override
UserItemResponseBuilder toBuilder() =>
new UserItemResponseBuilder()..replace(this);
@override
bool operator ==(Object other) {
if (identical(other, this)) return true;
return other is UserItemResponse && data == other.data;
}
@override
int get hashCode {
return $jf($jc(0, data.hashCode));
}
@override
String toString() {
return (newBuiltValueToStringHelper('UserItemResponse')..add('data', data))
.toString();
}
}
class UserItemResponseBuilder
implements Builder<UserItemResponse, UserItemResponseBuilder> {
_$UserItemResponse _$v;
UserEntityBuilder _data;
UserEntityBuilder get data => _$this._data ??= new UserEntityBuilder();
set data(UserEntityBuilder data) => _$this._data = data;
UserItemResponseBuilder();
UserItemResponseBuilder get _$this {
if (_$v != null) {
_data = _$v.data?.toBuilder();
_$v = null;
}
return this;
}
@override
void replace(UserItemResponse other) {
if (other == null) {
throw new ArgumentError.notNull('other');
}
_$v = other as _$UserItemResponse;
}
@override
void update(void Function(UserItemResponseBuilder) updates) {
if (updates != null) updates(this);
}
@override
_$UserItemResponse build() {
_$UserItemResponse _$result;
try {
_$result = _$v ?? new _$UserItemResponse._(data: data.build());
} catch (_) {
String _$failedField;
try {
_$failedField = 'data';
data.build();
} catch (e) {
throw new BuiltValueNestedFieldError(
'UserItemResponse', _$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

View File

@ -36,6 +36,7 @@ part 'serializers.g.dart';
@SerializersFor(const [
AppState,
LoginResponse,
UserItemResponse,
DashboardResponse,
ProductListResponse,
ProductItemResponse,

View File

@ -30,17 +30,16 @@ class SettingsRepository {
return clientResponse;
}
Future<LoginResponse> saveUser(
Credentials credentials, UserEntity user) async {
Future<UserEntity> saveUser(Credentials credentials, UserEntity user) async {
final data = serializers.serializeWith(UserEntity.serializer, user);
dynamic response;
final url = credentials.url + '/users/${user.id}';
response = await webClient.put(url, credentials.token, json.encode(data));
final LoginResponse clientResponse =
serializers.deserializeWith(LoginResponse.serializer, response);
final UserItemResponse userResponse =
serializers.deserializeWith(UserItemResponse.serializer, response);
return clientResponse;
return userResponse.data;
}
}