Namespace FishMMO.Database.Npgsql.Services.Interfaces
Namespaces
Structs
- CharacterItemIdAssignment
One row a snapshot assigned an identity to, so the caller can write it back onto the runtime item.
Interfaces
- IAccountService
Service interface for account operations following ISP principle. All operations are async and return DatabaseResult for consistent error handling. Implements execution strategies for automatic retry on transient database failures.
- IAuthTokenService
Service interface for managing authentication tokens. The LoginServer issues tokens after successful SRP authentication. WorldServers and SceneServers validate tokens cryptographically and check for revocation.
- ICharacterAbilityService
Service interface for managing character abilities.
- ICharacterAchievementService
Service interface for managing character achievements.
- ICharacterArchetypeService
Service interface for managing character archetypes.
- ICharacterAttributeService
Service interface for managing character attributes.
- ICharacterBuffService
Service interface for managing character buffs.
- ICharacterDialogueChoiceService
Service interface for per-character dialogue choice bitmasks.
- ICharacterFactionService
Service interface for managing character factions.
- ICharacterFriendService
Service interface for managing character friend relationships.
- ICharacterGuildService
Service interface for managing a character's guild membership state.
- ICharacterHotkeyService
Service interface for managing character hotkeys.
- ICharacterItemCooldownService
Service interface for managing character item cooldowns.
- ICharacterItemService
Service for a character's items across every container.
- ICharacterKnownAbilityService
Service interface for managing a character's known abilities.
- ICharacterMailService
Service interface for managing character mail in the database.
- ICharacterPartyService
Service interface for managing a character's party membership state.
- ICharacterPetAttributeService
Service interface for managing character pet attributes.
- ICharacterPetBuffService
Service interface for managing character pet buffs.
- ICharacterPetService
Service interface for managing a character's pet.
- ICharacterQuestService
Service interface for managing character quests.
- ICharacterService
Service interface for managing character entities in the database. Handles core character operations including creation, retrieval, updates, and deletion.
- ICharacterSessionOwnershipService
Proves — inside an open unit of work — that the calling server is still entitled to write a character's state, and holds that entitlement still for the remainder of the transaction.
- ICharacterSkillService
Service interface for managing character skills.
- IChatService
Service interface for chat message operations. Provides async methods for persisting and fetching chat messages.
- IConnectionTokenKeyService
Service interface for managing connection token HMAC keys. The IpFetchServer registers its signing key via UpsertAsync(string, byte[], CancellationToken); game servers (Login/World/Scene) fetch all active keys via FetchAllActiveAsync(CancellationToken) to verify stateless connection tokens without environment variable coordination.
- ICurrencyLedgerService
Records completed currency movements.
- IDeploymentSecretService
Service interface for managing deployment-global secrets. Servers load secrets from this table at startup instead of reading env files, eliminating the need to distribute secrets across machines.
- IEmailQueueService
Service for the outbound email queue. Emails are enqueued by the application and delivered asynchronously by a background SMTP processor.
- IGuildApplicationService
Service interface for the guild recruitment directory and its application queue.
- IGuildLogService
Service interface for the append-only guild activity log.
- IGuildRankService
Service interface for a guild's editable rank ladder.
- IGuildService
Service interface for guild management operations. Provides async methods for guild creation, deletion, and retrieval.
- IGuildUpdateService
Service interface for guild update timestamp tracking. Provides async methods for persisting, deleting, and fetching guild update records.
- IKickRequestService
Service interface for kick request operations. Provides async methods for persisting, deleting, and fetching kick requests.
- ILoginServerService
Service interface for login server registration and management operations. Provides async methods for server registration, heartbeat updates, and retrieval. Returns DatabaseResult for consistent, safe error handling with sanitized messages.
- ILoginServerSigningKeyService
Service interface for managing per-LoginServer HMAC signing keys. The LoginServer inserts a fresh signing key on startup; WorldServers and SceneServers fetch the key by token-embedded key ID to validate auth tokens.
- IPartyService
Service interface for party management operations. Provides async methods for party creation, deletion, and retrieval.
- IPartyUpdateService
Service interface for party update timestamp tracking. Provides async methods for persisting, deleting, and fetching party update records.
- ISceneServerService
Service interface for scene server registration and management operations. Provides async methods for server registration, heartbeat updates, and retrieval.
- ISceneService
Service interface for scene instance lifecycle management operations. Provides async methods for scene loading, status updates, and retrieval. All methods return DatabaseResult or DatabaseResult<T> with comprehensive exception handling.
- ITwoFactorRecoveryCodeService
Service interface for managing two-factor recovery codes. Recovery codes are one-time-use fallbacks when TOTP is unavailable. The server hashes codes before passing them to this layer.
- IUnitOfWork
Represents a unit of work for coordinating multiple service calls into a single database transaction.
- IUnitOfWorkService
Creates IUnitOfWork scopes to coordinate multiple service calls into a single explicit database transaction.
- IWorldServerService
Service interface for world server registration and management operations. Provides async methods for server registration, heartbeat updates, and retrieval.