Table of Contents

Namespace FishMMO.Database.Data

Namespaces

FishMMO.Database.Data.Enums

Classes

ArenaMatchComposer

Decides which waiters fill which team of an arena match. Pure, so it is testable without a database and so the transaction that applies it has nothing to decide.

VersionExtensions

Extension methods for working with versioned DTOs. These helpers ensure callers explicitly increment versions before persist operations. Because DTOs are immutable structs, these methods return new instances with incremented versions.

Structs

AccountData

Account data transfer object.

ArenaBackfillData

The result of filling a vacated seat from the queue.

ArenaCandidate

One waiter as the composer sees it: who, which pre-made group they queued with, and where they stand in line.

ArenaComposeOptions

How a match is composed beyond seat counts.

ArenaHistoryData

One line of a character's match history: the match and their own seat in it.

ArenaMatchData

Arena match data transfer object.

ArenaMatchFormedData

The result of the group finder forming an arena match: the instance opened for it, the match row, and every seat.

ArenaMatchMemberData

Arena match seat data transfer object.

ArenaPenaltyData

A queue lock.

ArenaRatingData

One character's rating in one season.

ArenaRatingSource

Where the arena former reads a candidate's rating from.

ArenaSeasonData

A ranked season.

ArenaSeat

One seat in a composed match.

AuthTokenData

Data transfer object for an issued authentication token record.

CharacterAbilityData

Character ability data transfer object.

CharacterAchievementData

Character achievement data transfer object.

CharacterArchetypeData

Character archetype data transfer object.

CharacterAttributeData

Character attribute data transfer object.

CharacterBuffData

Character buff data transfer object.

CharacterData

Character data transfer object.

CharacterDialogueChoiceData

One character's persisted "already chosen" bitmask for a single dialogue template.

CharacterFactionData

Character faction data transfer object.

CharacterFriendData

Character friend data transfer object.

CharacterGuildData

Character guild membership data transfer object.

CharacterHotkeyData

Character hotkey data transfer object.

CharacterItemCooldownData

Character item cooldown data transfer object.

CharacterItemData

One item belonging to a character, in whichever container currently holds it.

CharacterKnownAbilityData

Character known ability data transfer object.

CharacterMailAttachmentData

The attachment taken off one mail by a successful claim.

CharacterMailData

Character mail data transfer object.

CharacterNameData

A character's ID paired with its display name.

CharacterPartyData

Character party membership data transfer object.

CharacterPetAttributeData

Character pet attribute data transfer object.

CharacterPetBuffData

Character pet buff data transfer object.

CharacterPetData

Character pet data transfer object.

CharacterQuestData

Character quest data transfer object.

CharacterSessionLeaseData

Identifies a single claimed character session for a batched lease refresh.

CharacterSkillData

Character skill data transfer object.

CharacterWaypointData

One page of a character's discovered waypoints in one scene: a 64-bit mask where bit N is waypoint page * 64 + N.

ChatData

Chat message data transfer object.

ConnectionTokenKeyData

Data transfer object for a connection token HMAC key. Represents a single active key used for signing/verifying stateless connection tokens between the IpFetchServer (signing) and game servers (verification).

EmailQueueData

Data transfer object for a pending email in the outbound queue.

GroupFinderMatchData

The result of the group finder forming a group: the party it created, the instance it opened for them, and who is in it.

GroupFinderQueueData

Group finder queue row data transfer object.

GuildApplicationData

One pending application to join a guild.

GuildData

Guild data transfer object.

GuildDirectoryEntryData

One guild as it appears in the recruitment directory.

GuildLogData

One guild activity log row.

GuildRankData

One editable guild rank: an ordering position, a display name and a permission mask.

GuildUpdateData

Guild update data transfer object.

KickRequestData

Kick request data transfer object.

LoginServerData

Login server registration data transfer object.

LoginServerSigningKeyData

Data transfer object for a LoginServer's HMAC signing key.

PartyData

Party data transfer object.

PartyUpdateData

Party update data transfer object.

PlotAccessData

Plot access grant data transfer object.

PlotData

Plot data transfer object.

PlotStructureData

Plot structure data transfer object.

PlotUpdateData

Plot update data transfer object.

PlotVaultData

House vault entry data transfer object.

QuestData

Quest data transfer object.

SceneData

Scene data transfer object.

SceneServerData

Scene server registration data transfer object.

ServerControlState

The operator-controlled lifecycle state of a world or scene server.

TwoFactorRecoveryCodeData

Data transfer object for a two-factor recovery code record.

WorldServerData

World server registration data transfer object.

Interfaces

IVersioned<T>

Marker interface for immutable DTOs that carry a logical version for optimistic concurrency. Implement this interface on any Data transfer object that participates in version-gated persistence.

Enums

GuildLogEventType

The kind of event a guild log row records.

ItemContainerType

Which of a character's containers an item row belongs to.