part of 'generated.dart';

class DeleteUserConversationVariablesBuilder {
  String conversationId;
  String userId;

  final FirebaseDataConnect _dataConnect;
  DeleteUserConversationVariablesBuilder(this._dataConnect, {required  this.conversationId,required  this.userId,});
  Deserializer<DeleteUserConversationData> dataDeserializer = (dynamic json)  => DeleteUserConversationData.fromJson(jsonDecode(json));
  Serializer<DeleteUserConversationVariables> varsSerializer = (DeleteUserConversationVariables vars) => jsonEncode(vars.toJson());
  Future<OperationResult<DeleteUserConversationData, DeleteUserConversationVariables>> execute() {
    return ref().execute();
  }

  MutationRef<DeleteUserConversationData, DeleteUserConversationVariables> ref() {
    DeleteUserConversationVariables vars= DeleteUserConversationVariables(conversationId: conversationId,userId: userId,);
    return _dataConnect.mutation("deleteUserConversation", dataDeserializer, varsSerializer, vars);
  }
}

@immutable
class DeleteUserConversationUserConversationDelete {
  final String conversationId;
  final String userId;
  DeleteUserConversationUserConversationDelete.fromJson(dynamic json):
  
  conversationId = nativeFromJson<String>(json['conversationId']),
  userId = nativeFromJson<String>(json['userId']);
  @override
  bool operator ==(Object other) {
    if(identical(this, other)) {
      return true;
    }
    if(other.runtimeType != runtimeType) {
      return false;
    }

    final DeleteUserConversationUserConversationDelete otherTyped = other as DeleteUserConversationUserConversationDelete;
    return conversationId == otherTyped.conversationId && 
    userId == otherTyped.userId;
    
  }
  @override
  int get hashCode => Object.hashAll([conversationId.hashCode, userId.hashCode]);
  

  Map<String, dynamic> toJson() {
    Map<String, dynamic> json = {};
    json['conversationId'] = nativeToJson<String>(conversationId);
    json['userId'] = nativeToJson<String>(userId);
    return json;
  }

  DeleteUserConversationUserConversationDelete({
    required this.conversationId,
    required this.userId,
  });
}

@immutable
class DeleteUserConversationData {
  final DeleteUserConversationUserConversationDelete? userConversation_delete;
  DeleteUserConversationData.fromJson(dynamic json):
  
  userConversation_delete = json['userConversation_delete'] == null ? null : DeleteUserConversationUserConversationDelete.fromJson(json['userConversation_delete']);
  @override
  bool operator ==(Object other) {
    if(identical(this, other)) {
      return true;
    }
    if(other.runtimeType != runtimeType) {
      return false;
    }

    final DeleteUserConversationData otherTyped = other as DeleteUserConversationData;
    return userConversation_delete == otherTyped.userConversation_delete;
    
  }
  @override
  int get hashCode => userConversation_delete.hashCode;
  

  Map<String, dynamic> toJson() {
    Map<String, dynamic> json = {};
    if (userConversation_delete != null) {
      json['userConversation_delete'] = userConversation_delete!.toJson();
    }
    return json;
  }

  DeleteUserConversationData({
    this.userConversation_delete,
  });
}

@immutable
class DeleteUserConversationVariables {
  final String conversationId;
  final String userId;
  @Deprecated('fromJson is deprecated for Variable classes as they are no longer required for deserialization.')
  DeleteUserConversationVariables.fromJson(Map<String, dynamic> json):
  
  conversationId = nativeFromJson<String>(json['conversationId']),
  userId = nativeFromJson<String>(json['userId']);
  @override
  bool operator ==(Object other) {
    if(identical(this, other)) {
      return true;
    }
    if(other.runtimeType != runtimeType) {
      return false;
    }

    final DeleteUserConversationVariables otherTyped = other as DeleteUserConversationVariables;
    return conversationId == otherTyped.conversationId && 
    userId == otherTyped.userId;
    
  }
  @override
  int get hashCode => Object.hashAll([conversationId.hashCode, userId.hashCode]);
  

  Map<String, dynamic> toJson() {
    Map<String, dynamic> json = {};
    json['conversationId'] = nativeToJson<String>(conversationId);
    json['userId'] = nativeToJson<String>(userId);
    return json;
  }

  DeleteUserConversationVariables({
    required this.conversationId,
    required this.userId,
  });
}

