feat(scum): add versioned gift grants
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
package model
|
||||
|
||||
import "time"
|
||||
|
||||
// GameGiftCatalog is the model-first editable, server-version-fenced gift draft.
|
||||
type GameGiftCatalog struct {
|
||||
ID string `json:"id" db:"id"`
|
||||
ServerInstanceID string `json:"serverInstanceId" db:"server_instance_id"`
|
||||
Name string `json:"name" db:"name"`
|
||||
GameVersion string `json:"gameVersion" db:"game_version"`
|
||||
LatestRevisionID string `json:"latestRevisionId" db:"latest_revision_id"`
|
||||
CreatedBy string `json:"createdBy" db:"created_by"`
|
||||
CreatedAt time.Time `json:"createdAt" db:"created_at"`
|
||||
UpdatedAt time.Time `json:"updatedAt" db:"updated_at"`
|
||||
}
|
||||
|
||||
func (GameGiftCatalog) TableName() string { return "game_gift_catalogs" }
|
||||
|
||||
// GameGiftRevision is an immutable gift item snapshot.
|
||||
type GameGiftRevision struct {
|
||||
ID string `json:"id" db:"id"`
|
||||
CatalogID string `json:"catalogId" db:"catalog_id"`
|
||||
ServerInstanceID string `json:"serverInstanceId" db:"server_instance_id"`
|
||||
Revision int `json:"revision" db:"revision"`
|
||||
GameVersion string `json:"gameVersion" db:"game_version"`
|
||||
PublishedBy string `json:"publishedBy" db:"published_by"`
|
||||
PublishedAt time.Time `json:"publishedAt" db:"published_at"`
|
||||
}
|
||||
|
||||
func (GameGiftRevision) TableName() string { return "game_gift_revisions" }
|
||||
|
||||
// GameGiftGrant records a directed frozen gift lifecycle without raw game commands.
|
||||
type GameGiftGrant struct {
|
||||
ID string `json:"id" db:"id"`
|
||||
ServerInstanceID string `json:"serverInstanceId" db:"server_instance_id"`
|
||||
RevisionID string `json:"revisionId" db:"revision_id"`
|
||||
GamePlayerRecordID string `json:"gamePlayerRecordId" db:"game_player_record_id"`
|
||||
Status string `json:"status" db:"status"`
|
||||
DeliveryCommandID string `json:"deliveryCommandId" db:"delivery_command_id"`
|
||||
NotificationCommandID string `json:"notificationCommandId" db:"notification_command_id"`
|
||||
CreatedAt time.Time `json:"createdAt" db:"created_at"`
|
||||
UpdatedAt time.Time `json:"updatedAt" db:"updated_at"`
|
||||
}
|
||||
|
||||
func (GameGiftGrant) TableName() string { return "game_gift_grants" }
|
||||
Reference in New Issue
Block a user