Table of Contents

Class IconEntity

Namespace
Tharga.Team.MongoDB
Assembly
Tharga.Team.MongoDB.dll

An icon document: the image bytes plus enough metadata to serve and manage them. Stored in its own collection (default Icon), keyed by Key (the reference returned to callers) — never inlined into the team/user documents, which are read on hot paths.

public record IconEntity : EntityBase, ISupportInitialize, IEquatable<PersistableEntityBase>, IEntity<ObjectId>, IEquatable<EntityBase<ObjectId>>, IEquatable<EntityBase>, IEquatable<IconEntity>
Inheritance
PersistableEntityBase
EntityBase<ObjectId>
EntityBase
IconEntity
Implements
IEquatable<PersistableEntityBase>
IEntity<ObjectId>
IEquatable<EntityBase<ObjectId>>
IEquatable<EntityBase>
Inherited Members
EntityBase.ToString()
EntityBase.GetHashCode()
EntityBase.Equals(EntityBase<ObjectId>)
EntityBase.Equals(EntityBase)
EntityBase.<Clone>$()
EntityBase.EqualityContract
EntityBase<ObjectId>.Equals(PersistableEntityBase)
EntityBase<ObjectId>.Id
PersistableEntityBase.NeedsCleaning()
PersistableEntityBase.BeginInit()
PersistableEntityBase.EndInit()
PersistableEntityBase.CatchAll

Properties

ContentType

public required string ContentType { get; init; }

Property Value

string

CreatedUtc

public DateTime CreatedUtc { get; init; }

Property Value

DateTime

Data

public required byte[] Data { get; init; }

Property Value

byte[]

Key

The reference used to load/delete this icon and stored on the owning team/user record.

public required string Key { get; init; }

Property Value

string

Kind

[BsonRepresentation(BsonType.String)]
public IconKind Kind { get; init; }

Property Value

IconKind

OwnerKey

The key of the team/user the icon was saved for (informational; not the load key).

public string OwnerKey { get; init; }

Property Value

string

Size

public int Size { get; init; }

Property Value

int