Remove SCUM sqlite user projections
This commit is contained in:
@@ -19,6 +19,11 @@ func TestTableNames(t *testing.T) {
|
||||
LogStream{}.TableName(): "log_streams",
|
||||
PluginLifecycleInstallation{}.TableName(): "plugin_lifecycle_installations",
|
||||
AIConfigDiff{}.TableName(): "ai_config_diffs",
|
||||
SCUMUser{}.TableName(): "scum_user",
|
||||
SCUMUserTrajectory{}.TableName(): "scum_user_trajectory",
|
||||
SCUMVehicle{}.TableName(): "scum_vehicle",
|
||||
SCUMVehicleTrajectory{}.TableName(): "scum_vehicle_trajectory",
|
||||
SCUMVehicleLock{}.TableName(): "scum_vehicle_lock",
|
||||
}
|
||||
|
||||
for got, want := range tests {
|
||||
|
||||
@@ -0,0 +1,158 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"time"
|
||||
)
|
||||
|
||||
type SCUMUser struct {
|
||||
// ID is the stable platform SCUM user row identifier.
|
||||
ID string `json:"id" db:"id"`
|
||||
// ServerInstanceID scopes the record to one platform server instance.
|
||||
ServerInstanceID string `json:"serverInstanceId" db:"server_instance_id"`
|
||||
// SteamID stores the user's Steam identifier and is indexed with the server.
|
||||
SteamID string `json:"steamId" db:"steam_id"`
|
||||
// DisplayName is the latest observed in-game display name.
|
||||
DisplayName string `json:"displayName,omitempty" db:"display_name"`
|
||||
// SquadID stores the latest observed SCUM squad identifier.
|
||||
SquadID int64 `json:"squadId,omitempty" db:"squad_id"`
|
||||
// RegisteredAt is when the platform first created this SCUM user record.
|
||||
RegisteredAt time.Time `json:"registeredAt" db:"registered_at"`
|
||||
// LastLoginAt is the latest login timestamp derived from Run-pushed facts.
|
||||
LastLoginAt time.Time `json:"lastLoginAt" db:"last_login_at"`
|
||||
// LastActivityAt is the latest user activity or observed online timestamp.
|
||||
LastActivityAt time.Time `json:"lastActivityAt" db:"last_activity_at"`
|
||||
// LastLoginIP stores the latest login IP reported by plugin-owned facts.
|
||||
LastLoginIP string `json:"lastLoginIp,omitempty" db:"last_login_ip"`
|
||||
// Online marks whether the user is currently considered online by platform facts.
|
||||
Online bool `json:"online" db:"online"`
|
||||
// X stores the latest observed world X coordinate.
|
||||
X *float64 `json:"x,omitempty" db:"x"`
|
||||
// Y stores the latest observed world Y coordinate.
|
||||
Y *float64 `json:"y,omitempty" db:"y"`
|
||||
// Z stores the latest observed world Z coordinate.
|
||||
Z *float64 `json:"z,omitempty" db:"z"`
|
||||
// BankBalance stores the latest observed bank scum-bucks balance.
|
||||
BankBalance *int64 `json:"bankBalance,omitempty" db:"bank_balance"`
|
||||
// GoldBars stores the latest observed gold-bar count.
|
||||
GoldBars *int64 `json:"goldBars,omitempty" db:"gold_bars"`
|
||||
// RiddenVehicleID links to the platform SCUM vehicle row when mounted.
|
||||
RiddenVehicleID string `json:"riddenVehicleId,omitempty" db:"ridden_vehicle_id"`
|
||||
// GameVehicleID stores the in-game vehicle identifier when mounted.
|
||||
GameVehicleID string `json:"gameVehicleId,omitempty" db:"game_vehicle_id"`
|
||||
// WelcomeQueuedAt records the delayed public welcome job eligibility time.
|
||||
WelcomeQueuedAt time.Time `json:"welcomeQueuedAt,omitempty" db:"welcome_queued_at"`
|
||||
// WelcomeLastError stores the latest welcome-message queue failure.
|
||||
WelcomeLastError string `json:"welcomeLastError,omitempty" db:"welcome_last_error"`
|
||||
// CreatedAt is the platform row creation timestamp.
|
||||
CreatedAt time.Time `json:"createdAt" db:"created_at"`
|
||||
// UpdatedAt is the latest platform row update timestamp.
|
||||
UpdatedAt time.Time `json:"updatedAt" db:"updated_at"`
|
||||
}
|
||||
|
||||
func (SCUMUser) TableName() string { return "scum_user" }
|
||||
|
||||
type SCUMUserTrajectory struct {
|
||||
// ID is the stable platform trajectory sample identifier.
|
||||
ID string `json:"id" db:"id"`
|
||||
// ServerInstanceID scopes the sample to one platform server instance.
|
||||
ServerInstanceID string `json:"serverInstanceId" db:"server_instance_id"`
|
||||
// SCUMUserID links to the platform SCUM user row.
|
||||
SCUMUserID string `json:"scumUserId" db:"scum_user_id"`
|
||||
// SteamID stores the user's Steam identifier for indexed lookups.
|
||||
SteamID string `json:"steamId" db:"steam_id"`
|
||||
// DisplayName stores the name observed with this sample.
|
||||
DisplayName string `json:"displayName,omitempty" db:"display_name"`
|
||||
// X stores the sampled world X coordinate.
|
||||
X float64 `json:"x" db:"x"`
|
||||
// Y stores the sampled world Y coordinate.
|
||||
Y float64 `json:"y" db:"y"`
|
||||
// Z stores the sampled world Z coordinate.
|
||||
Z float64 `json:"z" db:"z"`
|
||||
// RiddenVehicleID links to the platform vehicle row when mounted.
|
||||
RiddenVehicleID string `json:"riddenVehicleId,omitempty" db:"ridden_vehicle_id"`
|
||||
// GameVehicleID stores the in-game vehicle identifier when mounted.
|
||||
GameVehicleID string `json:"gameVehicleId,omitempty" db:"game_vehicle_id"`
|
||||
// ObservedAt is when the position fact was observed.
|
||||
ObservedAt time.Time `json:"observedAt" db:"observed_at"`
|
||||
// CreatedAt is the platform row creation timestamp.
|
||||
CreatedAt time.Time `json:"createdAt" db:"created_at"`
|
||||
}
|
||||
|
||||
func (SCUMUserTrajectory) TableName() string { return "scum_user_trajectory" }
|
||||
|
||||
type SCUMVehicle struct {
|
||||
// ID is the stable platform SCUM vehicle row identifier.
|
||||
ID string `json:"id" db:"id"`
|
||||
// ServerInstanceID scopes the record to one platform server instance.
|
||||
ServerInstanceID string `json:"serverInstanceId" db:"server_instance_id"`
|
||||
// GameVehicleID stores the in-game vehicle identifier.
|
||||
GameVehicleID string `json:"gameVehicleId" db:"game_vehicle_id"`
|
||||
// VehicleClass stores the latest observed SCUM vehicle class.
|
||||
VehicleClass string `json:"vehicleClass,omitempty" db:"vehicle_class"`
|
||||
// DisplayName is the user-visible vehicle label.
|
||||
DisplayName string `json:"displayName,omitempty" db:"display_name"`
|
||||
// Exists marks whether the vehicle still exists in game.
|
||||
Exists bool `json:"exists" db:"exists"`
|
||||
// Locked marks the latest observed lock state.
|
||||
Locked bool `json:"locked" db:"locked"`
|
||||
// X stores the latest observed world X coordinate.
|
||||
X *float64 `json:"x,omitempty" db:"x"`
|
||||
// Y stores the latest observed world Y coordinate.
|
||||
Y *float64 `json:"y,omitempty" db:"y"`
|
||||
// Z stores the latest observed world Z coordinate.
|
||||
Z *float64 `json:"z,omitempty" db:"z"`
|
||||
// LastObservedAt is when the latest vehicle fact was observed.
|
||||
LastObservedAt time.Time `json:"lastObservedAt" db:"last_observed_at"`
|
||||
// CreatedAt is the platform row creation timestamp.
|
||||
CreatedAt time.Time `json:"createdAt" db:"created_at"`
|
||||
// UpdatedAt is the latest platform row update timestamp.
|
||||
UpdatedAt time.Time `json:"updatedAt" db:"updated_at"`
|
||||
}
|
||||
|
||||
func (SCUMVehicle) TableName() string { return "scum_vehicle" }
|
||||
|
||||
type SCUMVehicleTrajectory struct {
|
||||
// ID is the stable platform vehicle trajectory sample identifier.
|
||||
ID string `json:"id" db:"id"`
|
||||
// ServerInstanceID scopes the sample to one platform server instance.
|
||||
ServerInstanceID string `json:"serverInstanceId" db:"server_instance_id"`
|
||||
// SCUMVehicleID links to the platform SCUM vehicle row.
|
||||
SCUMVehicleID string `json:"scumVehicleId" db:"scum_vehicle_id"`
|
||||
// GameVehicleID stores the in-game vehicle identifier.
|
||||
GameVehicleID string `json:"gameVehicleId" db:"game_vehicle_id"`
|
||||
// VehicleClass stores the vehicle class observed with this sample.
|
||||
VehicleClass string `json:"vehicleClass,omitempty" db:"vehicle_class"`
|
||||
// X stores the sampled world X coordinate.
|
||||
X float64 `json:"x" db:"x"`
|
||||
// Y stores the sampled world Y coordinate.
|
||||
Y float64 `json:"y" db:"y"`
|
||||
// Z stores the sampled world Z coordinate.
|
||||
Z float64 `json:"z" db:"z"`
|
||||
// ObservedAt is when the position fact was observed.
|
||||
ObservedAt time.Time `json:"observedAt" db:"observed_at"`
|
||||
// CreatedAt is the platform row creation timestamp.
|
||||
CreatedAt time.Time `json:"createdAt" db:"created_at"`
|
||||
}
|
||||
|
||||
func (SCUMVehicleTrajectory) TableName() string { return "scum_vehicle_trajectory" }
|
||||
|
||||
type SCUMVehicleLock struct {
|
||||
// ID is the stable platform vehicle-lock history row identifier.
|
||||
ID string `json:"id" db:"id"`
|
||||
// ServerInstanceID scopes the lock event to one platform server instance.
|
||||
ServerInstanceID string `json:"serverInstanceId" db:"server_instance_id"`
|
||||
// SCUMVehicleID links to the platform SCUM vehicle row.
|
||||
SCUMVehicleID string `json:"scumVehicleId" db:"scum_vehicle_id"`
|
||||
// GameVehicleID stores the in-game vehicle identifier.
|
||||
GameVehicleID string `json:"gameVehicleId" db:"game_vehicle_id"`
|
||||
// SCUMUserID links to the platform SCUM user row that applied the lock.
|
||||
SCUMUserID string `json:"scumUserId" db:"scum_user_id"`
|
||||
// SteamID stores the locking user's Steam identifier.
|
||||
SteamID string `json:"steamId" db:"steam_id"`
|
||||
// LockedAt is when the vehicle lock was observed or applied.
|
||||
LockedAt time.Time `json:"lockedAt" db:"locked_at"`
|
||||
// CreatedAt is the platform row creation timestamp.
|
||||
CreatedAt time.Time `json:"createdAt" db:"created_at"`
|
||||
}
|
||||
|
||||
func (SCUMVehicleLock) TableName() string { return "scum_vehicle_lock" }
|
||||
Reference in New Issue
Block a user