/* * Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ // NOTE: This file is generated and may not follow lint rules defined in your app // Generated files can be excluded from analysis in analysis_options.yaml // For more info, see: https://dart.dev/guides/language/analysis-options#excluding-code-from-analysis // ignore_for_file: public_member_api_docs, annotate_overrides, dead_code, dead_codepublic_member_api_docs, depend_on_referenced_packages, file_names, library_private_types_in_public_api, no_leading_underscores_for_library_prefixes, no_leading_underscores_for_local_identifiers, non_constant_identifier_names, null_check_on_nullable_type_parameter, prefer_adjacent_string_concatenation, prefer_const_constructors, prefer_if_null_operators, prefer_interpolation_to_compose_strings, slash_for_doc_comments, sort_child_properties_last, unnecessary_const, unnecessary_constructor_name, unnecessary_late, unnecessary_new, unnecessary_null_aware_assignments, unnecessary_nullable_for_final_variable_declarations, unnecessary_string_interpolations, use_build_context_synchronously import 'ModelProvider.dart'; import 'package:amplify_core/amplify_core.dart'; import 'package:collection/collection.dart'; import 'package:flutter/foundation.dart'; /** This is an auto generated class representing the User type in your schema. */ @immutable class User extends Model { static const classType = const _UserModelType(); final String id; final String? _username; final String? _email; final String? _avatarKey; final String? _description; final String? _deviceId; final List<OCRRecord>? _OCRRecords; final TemporalDateTime? _createdAt; final TemporalDateTime? _updatedAt; @override getInstanceType() => classType; @Deprecated('[getId] is being deprecated in favor of custom primary key feature. Use getter [modelIdentifier] to get model identifier.') @override String getId() => id; UserModelIdentifier get modelIdentifier { return UserModelIdentifier( id: id ); } String? get username { return _username; } String? get email { return _email; } String? get avatarKey { return _avatarKey; } String? get description { return _description; } String? get deviceId { return _deviceId; } List<OCRRecord>? get OCRRecords { return _OCRRecords; } TemporalDateTime? get createdAt { return _createdAt; } TemporalDateTime? get updatedAt { return _updatedAt; } const User._internal({required this.id, username, email, avatarKey, description, deviceId, OCRRecords, createdAt, updatedAt}): _username = username, _email = email, _avatarKey = avatarKey, _description = description, _deviceId = deviceId, _OCRRecords = OCRRecords, _createdAt = createdAt, _updatedAt = updatedAt; factory User({String? id, String? username, String? email, String? avatarKey, String? description, String? deviceId, List<OCRRecord>? OCRRecords}) { return User._internal( id: id == null ? UUID.getUUID() : id, username: username, email: email, avatarKey: avatarKey, description: description, deviceId: deviceId, OCRRecords: OCRRecords != null ? List<OCRRecord>.unmodifiable(OCRRecords) : OCRRecords); } bool equals(Object other) { return this == other; } @override bool operator ==(Object other) { if (identical(other, this)) return true; return other is User && id == other.id && _username == other._username && _email == other._email && _avatarKey == other._avatarKey && _description == other._description && _deviceId == other._deviceId && DeepCollectionEquality().equals(_OCRRecords, other._OCRRecords); } @override int get hashCode => toString().hashCode; @override String toString() { var buffer = new StringBuffer(); buffer.write("User {"); buffer.write("id=" + "$id" + ", "); buffer.write("username=" + "$_username" + ", "); buffer.write("email=" + "$_email" + ", "); buffer.write("avatarKey=" + "$_avatarKey" + ", "); buffer.write("description=" + "$_description" + ", "); buffer.write("deviceId=" + "$_deviceId" + ", "); buffer.write("createdAt=" + (_createdAt != null ? _createdAt!.format() : "null") + ", "); buffer.write("updatedAt=" + (_updatedAt != null ? _updatedAt!.format() : "null")); buffer.write("}"); return buffer.toString(); } User copyWith({String? username, String? email, String? avatarKey, String? description, String? deviceId, List<OCRRecord>? OCRRecords}) { return User._internal( id: id, username: username ?? this.username, email: email ?? this.email, avatarKey: avatarKey ?? this.avatarKey, description: description ?? this.description, deviceId: deviceId ?? this.deviceId, OCRRecords: OCRRecords ?? this.OCRRecords); } User.fromJson(Map<String, dynamic> json) : id = json['id'], _username = json['username'], _email = json['email'], _avatarKey = json['avatarKey'], _description = json['description'], _deviceId = json['deviceId'], _OCRRecords = json['OCRRecords'] is List ? (json['OCRRecords'] as List) .where((e) => e?['serializedData'] != null) .map((e) => OCRRecord.fromJson(new Map<String, dynamic>.from(e['serializedData']))) .toList() : null, _createdAt = json['createdAt'] != null ? TemporalDateTime.fromString(json['createdAt']) : null, _updatedAt = json['updatedAt'] != null ? TemporalDateTime.fromString(json['updatedAt']) : null; Map<String, dynamic> toJson() => { 'id': id, 'username': _username, 'email': _email, 'avatarKey': _avatarKey, 'description': _description, 'deviceId': _deviceId, 'OCRRecords': _OCRRecords?.map((OCRRecord? e) => e?.toJson()).toList(), 'createdAt': _createdAt?.format(), 'updatedAt': _updatedAt?.format() }; Map<String, Object?> toMap() => { 'id': id, 'username': _username, 'email': _email, 'avatarKey': _avatarKey, 'description': _description, 'deviceId': _deviceId, 'OCRRecords': _OCRRecords, 'createdAt': _createdAt, 'updatedAt': _updatedAt }; static final QueryModelIdentifier<UserModelIdentifier> MODEL_IDENTIFIER = QueryModelIdentifier<UserModelIdentifier>(); static final QueryField ID = QueryField(fieldName: "id"); static final QueryField USERNAME = QueryField(fieldName: "username"); static final QueryField EMAIL = QueryField(fieldName: "email"); static final QueryField AVATARKEY = QueryField(fieldName: "avatarKey"); static final QueryField DESCRIPTION = QueryField(fieldName: "description"); static final QueryField DEVICEID = QueryField(fieldName: "deviceId"); static final QueryField OCRRECORDS = QueryField( fieldName: "OCRRecords", fieldType: ModelFieldType(ModelFieldTypeEnum.model, ofModelName: 'OCRRecord')); static var schema = Model.defineSchema(define: (ModelSchemaDefinition modelSchemaDefinition) { modelSchemaDefinition.name = "User"; modelSchemaDefinition.pluralName = "Users"; modelSchemaDefinition.authRules = [ AuthRule( authStrategy: AuthStrategy.OWNER, ownerField: "owner", identityClaim: "cognito:username", provider: AuthRuleProvider.USERPOOLS, operations: [ ModelOperation.CREATE, ModelOperation.UPDATE, ModelOperation.DELETE, ModelOperation.READ ]) ]; modelSchemaDefinition.addField(ModelFieldDefinition.id()); modelSchemaDefinition.addField(ModelFieldDefinition.field( key: User.USERNAME, isRequired: false, ofType: ModelFieldType(ModelFieldTypeEnum.string) )); modelSchemaDefinition.addField(ModelFieldDefinition.field( key: User.EMAIL, isRequired: false, ofType: ModelFieldType(ModelFieldTypeEnum.string) )); modelSchemaDefinition.addField(ModelFieldDefinition.field( key: User.AVATARKEY, isRequired: false, ofType: ModelFieldType(ModelFieldTypeEnum.string) )); modelSchemaDefinition.addField(ModelFieldDefinition.field( key: User.DESCRIPTION, isRequired: false, ofType: ModelFieldType(ModelFieldTypeEnum.string) )); modelSchemaDefinition.addField(ModelFieldDefinition.field( key: User.DEVICEID, isRequired: false, ofType: ModelFieldType(ModelFieldTypeEnum.string) )); modelSchemaDefinition.addField(ModelFieldDefinition.hasMany( key: User.OCRRECORDS, isRequired: false, ofModelName: 'OCRRecord', associatedKey: OCRRecord.USERID )); modelSchemaDefinition.addField(ModelFieldDefinition.nonQueryField( fieldName: 'createdAt', isRequired: false, isReadOnly: true, ofType: ModelFieldType(ModelFieldTypeEnum.dateTime) )); modelSchemaDefinition.addField(ModelFieldDefinition.nonQueryField( fieldName: 'updatedAt', isRequired: false, isReadOnly: true, ofType: ModelFieldType(ModelFieldTypeEnum.dateTime) )); }); } class _UserModelType extends ModelType<User> { const _UserModelType(); @override User fromJson(Map<String, dynamic> jsonData) { return User.fromJson(jsonData); } @override String modelName() { return 'User'; } } /** * This is an auto generated class representing the model identifier * of [User] in your schema. */ @immutable class UserModelIdentifier implements ModelIdentifier<User> { final String id; /** Create an instance of UserModelIdentifier using [id] the primary key. */ const UserModelIdentifier({ required this.id}); @override Map<String, dynamic> serializeAsMap() => (<String, dynamic>{ 'id': id }); @override List<Map<String, dynamic>> serializeAsList() => serializeAsMap() .entries .map((entry) => (<String, dynamic>{ entry.key: entry.value })) .toList(); @override String serializeAsString() => serializeAsMap().values.join('#'); @override String toString() => 'UserModelIdentifier(id: $id)'; @override bool operator ==(Object other) { if (identical(this, other)) { return true; } return other is UserModelIdentifier && id == other.id; } @override int get hashCode => id.hashCode; }