# Class UserDataExportDto | EchoHub Documentation
Everything the server holds about a user, as stored. For end-to-end encrypted rooms the message content in here is room ciphertext — the server cannot include plaintext it never had.

# Class UserDataExportDto

Namespace
  EchoHub.Core.DTOs

Assembly
  EchoHub.Core.dll

Everything the server holds about a user, as stored. For end-to-end encrypted rooms the message content in here is room ciphertext — the server cannot include plaintext it never had.

    public record UserDataExportDto : IEquatable<UserDataExportDto>

Inheritance
  object
  UserDataExportDto

Implements
  IEquatable<UserDataExportDto>

Inherited Members
  object.GetType()
  object.MemberwiseClone()
  object.Equals(object, object)
  object.ReferenceEquals(object, object)

## Constructors

### UserDataExportDto(UserDataExportDto)

    protected UserDataExportDto(UserDataExportDto original)

#### Parameters

`original` UserDataExportDto

### UserDataExportDto(DateTimeOffset, string, UserProfileDto, List<ExportedMessageDto>, List<ExportedAttachmentDto>)

Everything the server holds about a user, as stored. For end-to-end encrypted rooms the message content in here is room ciphertext — the server cannot include plaintext it never had.

    public UserDataExportDto(DateTimeOffset ExportedAt, string ServerName, UserProfileDto Profile, List<ExportedMessageDto> Messages, List<ExportedAttachmentDto> Attachments)

#### Parameters

`ExportedAt` DateTimeOffset
`ServerName` string
`Profile` UserProfileDto
`Messages` List<ExportedMessageDto>
`Attachments` List<ExportedAttachmentDto>

## Properties

### Attachments

    public List<ExportedAttachmentDto> Attachments { get; init; }

#### Property Value

List<ExportedAttachmentDto>

### EqualityContract

    protected virtual Type EqualityContract { get; }

#### Property Value

Type

### ExportedAt

    public DateTimeOffset ExportedAt { get; init; }

#### Property Value

DateTimeOffset

### Messages

    public List<ExportedMessageDto> Messages { get; init; }

#### Property Value

List<ExportedMessageDto>

### Profile

    public UserProfileDto Profile { get; init; }

#### Property Value

UserProfileDto

### ServerName

    public string ServerName { get; init; }

#### Property Value

string

## Methods

### Deconstruct(out DateTimeOffset, out string, out UserProfileDto, out List<ExportedMessageDto>, out List<ExportedAttachmentDto>)

    public void Deconstruct(out DateTimeOffset ExportedAt, out string ServerName, out UserProfileDto Profile, out List<ExportedMessageDto> Messages, out List<ExportedAttachmentDto> Attachments)

#### Parameters

`ExportedAt` DateTimeOffset
`ServerName` string
`Profile` UserProfileDto
`Messages` List<ExportedMessageDto>
`Attachments` List<ExportedAttachmentDto>

### Equals(UserDataExportDto?)

    public virtual bool Equals(UserDataExportDto? other)

#### Parameters

`other` UserDataExportDto

#### Returns

bool

### Equals(object?)

    public override bool Equals(object? obj)

#### Parameters

`obj` object

#### Returns

bool

### GetHashCode()

    public override int GetHashCode()

#### Returns

int

### PrintMembers(StringBuilder)

    protected virtual bool PrintMembers(StringBuilder builder)

#### Parameters

`builder` StringBuilder

#### Returns

bool

### ToString()

    public override string ToString()

#### Returns

string

## Operators

### operator ==(UserDataExportDto?, UserDataExportDto?)

    public static bool operator ==(UserDataExportDto? left, UserDataExportDto? right)

#### Parameters

`left` UserDataExportDto
`right` UserDataExportDto

#### Returns

bool

### operator !=(UserDataExportDto?, UserDataExportDto?)

    public static bool operator !=(UserDataExportDto? left, UserDataExportDto? right)

#### Parameters

`left` UserDataExportDto
`right` UserDataExportDto

#### Returns

bool