app

package
v0.9.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 18, 2024 License: MIT Imports: 19 Imported by: 0

Documentation

Overview

Package app is the root package of all domain related packages.

All entity types are defined in this package.

Package model contains the entity objects, which are used across the app.

Index

Constants

View Source
const (
	MailLabelAll      = 1<<31 - 1
	MailLabelUnread   = 1<<31 - 2
	MailLabelNone     = 0
	MailLabelInbox    = 1
	MailLabelSent     = 2
	MailLabelCorp     = 4
	MailLabelAlliance = 8
)

Special mail label IDs

View Source
const (
	EveCategoryBlueprint  = 9
	EveCategoryDrone      = 18
	EveCategoryDeployable = 22
	EveCategoryFighter    = 87
	EveCategoryOrbitals   = 46
	EveCategoryShip       = 6
	EveCategorySkill      = 16
	EveCategorySKINs      = 91
	EveCategoryStarbase   = 23
	EveCategoryStation    = 3
	EveCategoryStructure  = 65
)
View Source
const (
	EveDogmaAttributeArmorEMDamageResistance             = 267
	EveDogmaAttributeArmorExplosiveDamageResistance      = 268
	EveDogmaAttributeArmorHitpoints                      = 265
	EveDogmaAttributeArmorKineticDamageResistance        = 269
	EveDogmaAttributeArmorThermalDamageResistance        = 270
	EveDogmaAttributeCalibration                         = 1132
	EveDogmaAttributeCapacitorCapacity                   = 482
	EveDogmaAttributeCapacitorRechargeTime               = 55
	EveDogmaAttributeCapacitorWarfareResistance          = 2045
	EveDogmaAttributeCapacitorWarfareResistanceBonus     = 2267
	EveDogmaAttributeCapacity                            = 38
	EveDogmaAttributeCargoScanResistance                 = 188
	EveDogmaAttributeCharisma                            = 164
	EveDogmaAttributeCPUOutput                           = 48
	EveDogmaAttributeCPUusage                            = 50
	EveDogmaAttributeDroneBandwidth                      = 1271
	EveDogmaAttributeDroneCapacity                       = 283
	EveDogmaAttributeECMResistance                       = 2253
	EveDogmaAttributeEntosisAssistanceImpedance          = 2754
	EveDogmaAttributeFighterHangarCapacity               = 2055
	EveDogmaAttributeFighterSquadronLaunchTubes          = 2216
	EveDogmaAttributeFuelBayCapacity                     = 1549
	EveDogmaAttributeGravimetricSensorStrength           = 211
	EveDogmaAttributeHeavyFighterSquadronLimit           = 2219
	EveDogmaAttributeHighSlots                           = 14
	EveDogmaAttributeHullEmDamageResistance              = 974
	EveDogmaAttributeHullExplosiveDamageResistance       = 975
	EveDogmaAttributeHullKinDamageResistance             = 976
	EveDogmaAttributeHullThermDamageResistance           = 977
	EveDogmaAttributeImplantSlot                         = 331
	EveDogmaAttributeInertiaModifier                     = 70
	EveDogmaAttributeInertiaMultiplier                   = 70
	EveDogmaAttributeIntelligence                        = 165
	EveDogmaAttributeJumpDriveCapacitorNeed              = 898
	EveDogmaAttributeJumpDriveConsumptionAmount          = 868
	EveDogmaAttributeJumpDriveFuelNeed                   = 866
	EveDogmaAttributeLadarSensorStrength                 = 209
	EveDogmaAttributeLauncherHardpoints                  = 101
	EveDogmaAttributeLightFighterSquadronLimit           = 2217
	EveDogmaAttributeLowSlots                            = 12
	EveDogmaAttributeMagnetometricSensorStrength         = 210
	EveDogmaAttributeMass                                = 4
	EveDogmaAttributeMaximumJumpRange                    = 867
	EveDogmaAttributeMaximumLockedTargets                = 192
	EveDogmaAttributeMaximumTargetingRange               = 76
	EveDogmaAttributeMaximumVelocity                     = 37
	EveDogmaAttributeMaxVelocity                         = 37
	EveDogmaAttributeMediumSlots                         = 13
	EveDogmaAttributeMemory                              = 166
	EveDogmaAttributeMetaLevel                           = 633
	EveDogmaAttributeOnboardJumpDrive                    = 861
	EveDogmaAttributePerception                          = 167
	EveDogmaAttributePowergridOutput                     = 11
	EveDogmaAttributePowergridUsage                      = 30
	EveDogmaAttributePrimaryAttribute                    = 180
	EveDogmaAttributePrimarySkillID                      = 182
	EveDogmaAttributePrimarySkillLevel                   = 277
	EveDogmaAttributeQuaternarySkillID                   = 1285
	EveDogmaAttributeQuaternarySkillLevel                = 1286
	EveDogmaAttributeQuinarySkillID                      = 1289
	EveDogmaAttributeQuinarySkillLevel                   = 1287
	EveDogmaAttributeRADARSensorStrength                 = 208
	EveDogmaAttributeRemoteElectronicAssistanceImpedance = 2135
	EveDogmaAttributeRemoteLogisticsImpedance            = 2116
	EveDogmaAttributeReprocessingSkillType               = 790
	EveDogmaAttributeRequiredSkill1                      = 182
	EveDogmaAttributeRigSlots                            = 1154
	EveDogmaAttributeScanResolution                      = 564
	EveDogmaAttributeSecondaryAttribute                  = 181
	EveDogmaAttributeSecondarySkillID                    = 183
	EveDogmaAttributeSecondarySkillLevel                 = 278
	EveDogmaAttributeSenarySkillID                       = 1290
	EveDogmaAttributeSenarySkillLevel                    = 1288
	EveDogmaAttributeSensorWarfareResistance             = 2112
	EveDogmaAttributeShieldCapacity                      = 263
	EveDogmaAttributeShieldEMDamageResistance            = 271
	EveDogmaAttributeShieldExplosiveDamageResistance     = 272
	EveDogmaAttributeShieldKineticDamageResistance       = 273
	EveDogmaAttributeShieldRechargeTime                  = 479
	EveDogmaAttributeShieldThermalDamageResistance       = 274
	EveDogmaAttributeShipWarpSpeed                       = 1281
	EveDogmaAttributeSignatureRadius                     = 552
	EveDogmaAttributeStasisWebifierResistance            = 2115
	EveDogmaAttributeStasisWebifierResistanceBonus       = 3422
	EveDogmaAttributeStructureEMDamageResistance         = 113
	EveDogmaAttributeStructureExplosiveDamageResistance  = 111
	EveDogmaAttributeStructureHitpoints                  = 9
	EveDogmaAttributeStructureKineticDamageResistance    = 109
	EveDogmaAttributeStructureThermalDamageResistance    = 110
	EveDogmaAttributeSupportFighterSquadronLimit         = 2218
	EveDogmaAttributeTargetPainterResistance             = 2114
	EveDogmaAttributeTechLevel                           = 422
	EveDogmaAttributeTertiarySkillID                     = 184
	EveDogmaAttributeTertiarySkillLevel                  = 279
	EveDogmaAttributeTurretHardpoints                    = 102
	EveDogmaAttributeWarpSpeedMultiplier                 = 600
	EveDogmaAttributeWeaponDisruptionResistance          = 2113
	EveDogmaAttributeWillpower                           = 168
	EveDogmaAttributeCharismaModifier                    = 175
	EveDogmaAttributeIntelligenceModifier                = 176
	EveDogmaAttributeMemoryModifier                      = 177
	EveDogmaAttributePerceptionModifier                  = 178
	EveDogmaAttributeWillpowerModifier                   = 179
	EveDogmaAttributeTrainingTimeMultiplier              = 275
)
View Source
const (
	EveGroupAuditLogFreightContainer     = 649
	EveGroupAuditLogSecureCargoContainer = 448
	EveGroupBlackOps                     = 898
	EveGroupCapitalIndustrialShip        = 883
	EveGroupCargoContainer               = 12
	EveGroupCarrier                      = 547
	EveGroupDreadnought                  = 485
	EveGroupForceAuxiliary               = 1538
	EveGroupJumpFreighter                = 902
	EveGroupSecureCargoContainer         = 340
	EveGroupSuperCarrier                 = 659
	EveGroupTitan                        = 30
	EveGroupProcessors                   = 1028
	EveGroupExtractorControlUnits        = 1063
)
View Source
const (
	EveTypeAssetSafetyWrap             = 60
	EveTypeIHUB                        = 32458
	EveTypeInterplanetaryConsolidation = 2495
	EveTypeSolarSystem                 = 5
	EveTypeTCU                         = 32226
	EveTypePlanetTemperate             = 11
)
View Source
const (
	GeneralSectionEntityID   = 1
	GeneralSectionEntityName = "Eve Universe"
)

Entity ID for general sections

View Source
const LocationUnknownID = 888 // custom ID to signify a location that is not known
View Source
const (
	TimeDefaultFormat = "2006.01.02 15:04"
)

Variables

Functions

This section is empty.

Types

type CacheService

type CacheService interface {
	Clear()
	Delete(any)
	Exists(any) bool
	Get(any) (any, bool)
	Set(any, any, time.Duration)
}

Defines a cache service

type Character

type Character struct {
	AssetValue        optional.Optional[float64]
	EveCharacter      *EveCharacter
	Home              *EveLocation
	ID                int32
	IsTrainingWatched bool
	LastLoginAt       optional.Optional[time.Time]
	Location          *EveLocation
	Ship              *EveType
	TotalSP           optional.Optional[int]
	UnallocatedSP     optional.Optional[int]
	WalletBalance     optional.Optional[float64]
}

An Eve Online character owners by the user.

type CharacterAsset

type CharacterAsset struct {
	ID              int64
	CharacterID     int32
	EveType         *EveType
	IsBlueprintCopy bool
	IsSingleton     bool
	ItemID          int64
	LocationFlag    string
	LocationID      int64
	LocationType    string
	Name            string
	Quantity        int32
	Price           optional.Optional[float64]
}

func (CharacterAsset) DisplayName

func (ca CharacterAsset) DisplayName() string

func (CharacterAsset) DisplayName2

func (ca CharacterAsset) DisplayName2() string

func (CharacterAsset) IsBPO

func (ca CharacterAsset) IsBPO() bool

func (CharacterAsset) IsContainer

func (ca CharacterAsset) IsContainer() bool

func (CharacterAsset) IsInAssetSafety

func (ca CharacterAsset) IsInAssetSafety() bool

func (CharacterAsset) IsInCargoBay

func (ca CharacterAsset) IsInCargoBay() bool

func (CharacterAsset) IsInFuelBay

func (ca CharacterAsset) IsInFuelBay() bool

func (CharacterAsset) IsInHangar

func (ca CharacterAsset) IsInHangar() bool

func (CharacterAsset) IsSKIN

func (ca CharacterAsset) IsSKIN() bool

func (CharacterAsset) Variant

func (ca CharacterAsset) Variant() EveTypeVariant

type CharacterAssetLocation

type CharacterAssetLocation struct {
	ID             int64
	CharacterID    int32
	Location       *EntityShort[int64]
	LocationType   string
	SolarSystem    *EntityShort[int32]
	SecurityStatus optional.Optional[float64]
}

type CharacterAttributes

type CharacterAttributes struct {
	ID            int64
	BonusRemaps   int
	CharacterID   int32
	Charisma      int
	Intelligence  int
	LastRemapDate time.Time
	Memory        int
	Perception    int
	Willpower     int
}

type CharacterImplant

type CharacterImplant struct {
	CharacterID int32
	EveType     *EveType
	ID          int64
	SlotNum     int // 0 = unknown
}

type CharacterJumpClone

type CharacterJumpClone struct {
	CharacterID int32
	ID          int64
	Implants    []*CharacterJumpCloneImplant
	JumpCloneID int32
	Location    *EntityShort[int64]
	Name        string
	Region      *EntityShort[int32]
}

type CharacterJumpCloneImplant

type CharacterJumpCloneImplant struct {
	ID      int64
	EveType *EveType
	SlotNum int // 0 = unknown
}

type CharacterMail

type CharacterMail struct {
	Body        string
	CharacterID int32
	From        *EveEntity
	Labels      []*CharacterMailLabel
	IsProcessed bool
	IsRead      bool
	ID          int64
	MailID      int32
	Recipients  []*EveEntity
	Subject     string
	Timestamp   time.Time
}

An Eve mail belonging to a character.

func (CharacterMail) BodyPlain

func (cm CharacterMail) BodyPlain() string

BodyPlain returns a mail's body as plain text.

func (CharacterMail) BodyToMarkdown

func (cm CharacterMail) BodyToMarkdown() string

func (CharacterMail) Header added in v0.5.0

func (cm CharacterMail) Header() string

Header returns a mail's header as string.

func (CharacterMail) RecipientNames

func (cm CharacterMail) RecipientNames() []string

RecipientNames returns the names of the recipients.

func (CharacterMail) String added in v0.5.0

func (cm CharacterMail) String() string

String returns a mail's content as string.

type CharacterMailHeader

type CharacterMailHeader struct {
	CharacterID int32
	From        string
	IsRead      bool
	ID          int64
	MailID      int32
	Subject     string
	Timestamp   time.Time
}

An Eve mail header belonging to a character.

type CharacterMailLabel

type CharacterMailLabel struct {
	ID          int64
	CharacterID int32
	Color       string
	LabelID     int32
	Name        string
	UnreadCount int
}

A mail label for an Eve mail belonging to a character.

type CharacterNotification

type CharacterNotification struct {
	ID             int64
	Body           optional.Optional[string]
	CharacterID    int32
	IsProcessed    bool
	IsRead         bool
	NotificationID int64
	RecipientName  string // TODO: Replace with EveEntity
	Sender         *EveEntity
	Text           string
	Timestamp      time.Time
	Title          optional.Optional[string]
	Type           string // This is a string, so that it can handle unknown types
}

func (*CharacterNotification) BodyPlain added in v0.5.0

func (cn *CharacterNotification) BodyPlain() (optional.Optional[string], error)

BodyPlain returns the body of a notification as plain text.

func (*CharacterNotification) Header added in v0.5.0

func (cn *CharacterNotification) Header() string

Header returns the header of a notification.

func (*CharacterNotification) String added in v0.5.0

func (cn *CharacterNotification) String() string

String returns the content of a notification as string.

func (*CharacterNotification) TitleDisplay

func (cn *CharacterNotification) TitleDisplay() string

TitleDisplay returns the rendered title when it exists or else the fake tile.

func (*CharacterNotification) TitleFake

func (cn *CharacterNotification) TitleFake() string

TitleFake returns a title for output made from the name of the type.

type CharacterPlanet added in v0.8.0

type CharacterPlanet struct {
	ID           int64
	CharacterID  int32
	EvePlanet    *EvePlanet
	LastUpdate   time.Time
	LastNotified optional.Optional[time.Time] // expiry time that was last notified
	Pins         []*PlanetPin
	UpgradeLevel int
}

func (CharacterPlanet) ExtractedTypeNames added in v0.8.0

func (cp CharacterPlanet) ExtractedTypeNames() []string

func (CharacterPlanet) ExtractedTypes added in v0.8.0

func (cp CharacterPlanet) ExtractedTypes() []*EveType

ExtractedTypes returns a list of unique types currently being extracted.

func (CharacterPlanet) ExtractionsExpiryTime added in v0.8.0

func (cp CharacterPlanet) ExtractionsExpiryTime() time.Time

ExtractionsExpiryTime returns the final expiry time for all extractions. When no expiry data is found it will return a zero time.

func (CharacterPlanet) ProducedSchematicNames added in v0.8.0

func (cp CharacterPlanet) ProducedSchematicNames() []string

func (CharacterPlanet) ProducedSchematics added in v0.8.0

func (cp CharacterPlanet) ProducedSchematics() []*EveSchematic

ProducedSchematics returns a list of unique schematics currently in production.

type CharacterSection

type CharacterSection string
const (
	SectionAssets             CharacterSection = "assets"
	SectionAttributes         CharacterSection = "attributes"
	SectionImplants           CharacterSection = "implants"
	SectionJumpClones         CharacterSection = "jump_clones"
	SectionLocation           CharacterSection = "location"
	SectionMailLists          CharacterSection = "mail_lists"
	SectionMailLabels         CharacterSection = "mail_labels"
	SectionMails              CharacterSection = "mails"
	SectionNotifications      CharacterSection = "notifications"
	SectionOnline             CharacterSection = "online"
	SectionPlanets            CharacterSection = "planets"
	SectionShip               CharacterSection = "ship"
	SectionSkills             CharacterSection = "skills"
	SectionSkillqueue         CharacterSection = "skillqueue"
	SectionWalletBalance      CharacterSection = "wallet_balance"
	SectionWalletJournal      CharacterSection = "wallet_journal"
	SectionWalletTransactions CharacterSection = "wallet_transactions"
)

Updated character sections

func (CharacterSection) DisplayName

func (cs CharacterSection) DisplayName() string

func (CharacterSection) Timeout

func (cs CharacterSection) Timeout() time.Duration

Timeout returns the time until the data of an update section becomes stale.

type CharacterSectionStatus

type CharacterSectionStatus struct {
	ID            int64
	CharacterID   int32
	CharacterName string
	CompletedAt   time.Time
	ContentHash   string
	ErrorMessage  string
	Section       CharacterSection
	StartedAt     time.Time
	UpdatedAt     time.Time
}

func (CharacterSectionStatus) IsExpired

func (s CharacterSectionStatus) IsExpired() bool

func (CharacterSectionStatus) IsOK

func (s CharacterSectionStatus) IsOK() bool

type CharacterShipAbility

type CharacterShipAbility struct {
	Type   EntityShort[int32]
	Group  EntityShort[int32]
	CanFly bool
}

type CharacterShipSkill

type CharacterShipSkill struct {
	ActiveSkillLevel  optional.Optional[int]
	ID                int64
	CharacterID       int32
	Rank              uint
	ShipTypeID        int32
	SkillTypeID       int32
	SkillName         string
	SkillLevel        uint
	TrainedSkillLevel optional.Optional[int]
}

type CharacterShort

type CharacterShort struct {
	ID   int32
	Name string
}

A shortened version of Character.

type CharacterSkill

type CharacterSkill struct {
	ActiveSkillLevel   int
	CharacterID        int32
	EveType            *EveType
	ID                 int64
	SkillPointsInSkill int
	TrainedSkillLevel  int
}

type CharacterSkillqueueItem

type CharacterSkillqueueItem struct {
	CharacterID      int32
	GroupName        string
	FinishDate       time.Time
	FinishedLevel    int
	LevelEndSP       int
	LevelStartSP     int
	ID               int64
	QueuePosition    int
	StartDate        time.Time
	SkillName        string
	SkillDescription string
	TrainingStartSP  int
}

func (CharacterSkillqueueItem) CompletionP

func (qi CharacterSkillqueueItem) CompletionP() float64

func (CharacterSkillqueueItem) Duration

func (CharacterSkillqueueItem) IsActive

func (qi CharacterSkillqueueItem) IsActive() bool

func (CharacterSkillqueueItem) IsCompleted

func (qi CharacterSkillqueueItem) IsCompleted() bool

func (CharacterSkillqueueItem) Remaining

type CharacterToken

type CharacterToken struct {
	AccessToken  string
	CharacterID  int32
	ExpiresAt    time.Time
	ID           int64
	RefreshToken string
	Scopes       []string
	TokenType    string
}

A SSO token belonging to a character in Eve Online.

func (CharacterToken) RemainsValid

func (ct CharacterToken) RemainsValid(d time.Duration) bool

RemainsValid reports wether a token remains valid within a duration.

type CharacterWalletJournalEntry

type CharacterWalletJournalEntry struct {
	Amount        float64
	Balance       float64
	CharacterID   int32
	ContextID     int64
	ContextIDType string
	Date          time.Time
	Description   string
	FirstParty    *EveEntity
	ID            int64
	Reason        string
	RefID         int64
	RefType       string
	SecondParty   *EveEntity
	Tax           float64
	TaxReceiver   *EveEntity
}

type CharacterWalletTransaction

type CharacterWalletTransaction struct {
	CharacterID   int32
	Client        *EveEntity
	Date          time.Time
	EveType       *EntityShort[int32]
	ID            int64
	IsBuy         bool
	IsPersonal    bool
	JournalRefID  int64
	Location      *EntityShort[int64]
	Quantity      int32
	TransactionID int64
	UnitPrice     float64
}

type ESIStatus

type ESIStatus struct {
	PlayerCount  int
	ErrorMessage string
}

ESIStatus represents the current game server status.

func (ESIStatus) IsOK

func (s ESIStatus) IsOK() bool

type ESIStatusService

type ESIStatusService interface {
	Fetch(context.Context) (*ESIStatus, error)
}

A service for fetching the current ESI Status.

type EntityShort

type EntityShort[T comparable] struct {
	ID   T
	Name string
}

EntityShort is a short representation of an entity.

type EveCategory

type EveCategory struct {
	ID          int32
	IsPublished bool
	Name        string
}

EveCategory is a category in Eve Online.

type EveCharacter

type EveCharacter struct {
	Alliance       *EveEntity
	Birthday       time.Time
	Corporation    *EveEntity
	Description    string
	Faction        *EveEntity
	Gender         string
	ID             int32
	Name           string
	Race           *EveRace
	SecurityStatus float64
	Title          string
}

An Eve Online character.

func (EveCharacter) AllianceName

func (ec EveCharacter) AllianceName() string

func (EveCharacter) FactionName

func (ec EveCharacter) FactionName() string

func (EveCharacter) HasAlliance

func (ec EveCharacter) HasAlliance() bool

HasAlliance reports wether the character is member of an alliance.

func (EveCharacter) HasFaction

func (ec EveCharacter) HasFaction() bool

HasFaction reports wether the character is member of a faction.

type EveConstellation

type EveConstellation struct {
	ID     int32
	Name   string
	Region *EveRegion
}

EveConstellation is a constellation in Eve Online.

type EveDogmaAttribute

type EveDogmaAttribute struct {
	ID           int32
	DefaultValue float32
	Description  string
	DisplayName  string
	IconID       int32
	Name         string
	IsHighGood   bool
	IsPublished  bool
	IsStackable  bool
	Unit         EveUnitID
}

type EveEntity

type EveEntity struct {
	Category EveEntityCategory
	ID       int32
	Name     string
}

An EveEntity in EveOnline.

func (EveEntity) IsCharacter

func (ee EveEntity) IsCharacter() bool

type EveEntityCategory

type EveEntityCategory int
const (
	EveEntityUndefined EveEntityCategory = iota
	EveEntityAlliance
	EveEntityCharacter
	EveEntityConstellation
	EveEntityCorporation
	EveEntityFaction
	EveEntityInventoryType
	EveEntityMailList
	EveEntityRegion
	EveEntitySolarSystem
	EveEntityStation
	EveEntityUnknown
)

Supported categories of EveEntity

func (EveEntityCategory) String

func (eec EveEntityCategory) String() string

type EveGroup

type EveGroup struct {
	ID          int32
	Category    *EveCategory
	IsPublished bool
	Name        string
}

EveGroup is a group in Eve Online.

type EveImageService

type EveImageService interface {
	CharacterPortrait(int32, int) (fyne.Resource, error)
	ClearCache() (int, error)
	InventoryTypeBPO(int32, int) (fyne.Resource, error)
	InventoryTypeBPC(int32, int) (fyne.Resource, error)
	InventoryTypeIcon(int32, int) (fyne.Resource, error)
	InventoryTypeRender(int32, int) (fyne.Resource, error)
	InventoryTypeSKIN(int32, int) (fyne.Resource, error)
	Size() (int, error)
}

type EveLocation

type EveLocation struct {
	ID          int64
	SolarSystem *EveSolarSystem
	Type        *EveType
	Name        string
	Owner       *EveEntity
	UpdatedAt   time.Time
}

EveLocation is a location in Eve Online.

func (EveLocation) DisplayName

func (lc EveLocation) DisplayName() string

DisplayName returns a user friendly name.

func (EveLocation) DisplayName2

func (lc EveLocation) DisplayName2() string

DisplayName2 returns a user friendly name not including the location name.

func (EveLocation) Variant

func (lc EveLocation) Variant() EveLocationVariant

type EveLocationVariant

type EveLocationVariant int
const (
	EveLocationUnknown EveLocationVariant = iota
	EveLocationAssetSafety
	EveLocationStation
	EveLocationStructure
	EveLocationSolarSystem
)

func LocationVariantFromID

func LocationVariantFromID(id int64) EveLocationVariant

type EveMarketPrice

type EveMarketPrice struct {
	TypeID        int32
	AdjustedPrice float64
	AveragePrice  float64
}

type EveMoon

type EveMoon struct {
	ID          int32
	Name        string
	SolarSystem *EveSolarSystem
}

EveMoon is a moon in Eve Online.

type EvePlanet

type EvePlanet struct {
	ID          int32
	Name        string
	SolarSystem *EveSolarSystem
	Type        *EveType
}

EvePlanet is a planet in Eve Online.

func (EvePlanet) TypeDisplay added in v0.8.0

func (ep EvePlanet) TypeDisplay() string

type EveRace

type EveRace struct {
	Description string
	Name        string
	ID          int32
}

EveRace is a race in Eve Online.

func (EveRace) FactionID

func (er EveRace) FactionID() (int32, bool)

FactionID returns the faction ID of a race.

type EveRegion

type EveRegion struct {
	Description string
	ID          int32
	Name        string
}

EveRegion is a region in Eve Online.

type EveSchematic added in v0.8.0

type EveSchematic struct {
	ID        int32
	CycleTime int
	Name      string
}

EveSchematic is a schematic for planetary industry in Eve Online.

type EveShipSkill

type EveShipSkill struct {
	ID          int64
	Rank        uint
	ShipTypeID  int32
	SkillTypeID int32
	SkillName   string
	SkillLevel  uint
}

type EveSolarSystem

type EveSolarSystem struct {
	Constellation  *EveConstellation
	ID             int32
	Name           string
	SecurityStatus float32
}

EveSolarSystem is a solar system in Eve Online.

func (EveSolarSystem) SecurityType

func (es EveSolarSystem) SecurityType() SolarSystemSecurityType

type EveType

type EveType struct {
	ID             int32
	Group          *EveGroup
	Capacity       float32
	Description    string
	GraphicID      int32
	IconID         int32
	IsPublished    bool
	MarketGroupID  int32
	Mass           float32
	Name           string
	PackagedVolume float32
	PortionSize    int
	Radius         float32
	Volume         float32
}

EveType is a type in Eve Online.

func (EveType) DescriptionPlain

func (et EveType) DescriptionPlain() string

BodyPlain returns a mail's body as plain text.

func (EveType) HasFuelBay

func (et EveType) HasFuelBay() bool

func (EveType) HasRender

func (et EveType) HasRender() bool

func (EveType) Icon added in v0.8.0

func (ep EveType) Icon() (fyne.Resource, bool)

Icon returns the icon for a type from the eveicon package and whether and icon exists for this type.

func (EveType) IsBlueprint

func (et EveType) IsBlueprint() bool

func (EveType) IsSKIN

func (et EveType) IsSKIN() bool

func (EveType) IsShip

func (et EveType) IsShip() bool

type EveTypeDogmaAttribute added in v0.8.1

type EveTypeDogmaAttribute struct {
	EveType        *EveType
	DogmaAttribute *EveDogmaAttribute
	Value          float32
}

type EveTypeVariant

type EveTypeVariant uint
const (
	VariantRegular EveTypeVariant = iota
	VariantBPO
	VariantBPC
	VariantSKIN
)

type EveUnitID

type EveUnitID uint
const (
	EveUnitNone                           EveUnitID = 0
	EveUnitLength                         EveUnitID = 1
	EveUnitMass                           EveUnitID = 2
	EveUnitTime                           EveUnitID = 3
	EveUnitElectricCurrent                EveUnitID = 4
	EveUnitTemperature                    EveUnitID = 5
	EveUnitAmountOfSubstance              EveUnitID = 6
	EveUnitLuminousIntensity              EveUnitID = 7
	EveUnitArea                           EveUnitID = 8
	EveUnitVolume                         EveUnitID = 9
	EveUnitSpeed                          EveUnitID = 10
	EveUnitAcceleration                   EveUnitID = 11
	EveUnitWaveNumber                     EveUnitID = 12
	EveUnitMassDensity                    EveUnitID = 13
	EveUnitSpecificVolume                 EveUnitID = 14
	EveUnitCurrentDensity                 EveUnitID = 15
	EveUnitMagneticFieldStrength          EveUnitID = 16
	EveUnitAmountOfSubstanceConcentration EveUnitID = 17
	EveUnitLuminance                      EveUnitID = 18
	EveUnitMassFraction                   EveUnitID = 19
	EveUnitMilliseconds                   EveUnitID = 101
	EveUnitMillimeters                    EveUnitID = 102
	EveUnitMegaPascals                    EveUnitID = 103
	EveUnitMultiplier                     EveUnitID = 104
	EveUnitPercentage                     EveUnitID = 105
	EveUnitTeraflops                      EveUnitID = 106
	EveUnitMegaWatts                      EveUnitID = 107
	EveUnitInverseAbsolutePercent         EveUnitID = 108
	EveUnitModifierPercent                EveUnitID = 109
	EveUnitInverseModifierPercent         EveUnitID = 111
	EveUnitRadiansPerSecond               EveUnitID = 112
	EveUnitHitpoints                      EveUnitID = 113
	EveUnitCapacitorUnits                 EveUnitID = 114
	EveUnitGroupID                        EveUnitID = 115
	EveUnitTypeID                         EveUnitID = 116
	EveUnitSizeClass                      EveUnitID = 117
	EveUnitOreUnits                       EveUnitID = 118
	EveUnitAttributeID                    EveUnitID = 119
	EveUnitAttributePoints                EveUnitID = 120
	EveUnitRealPercent                    EveUnitID = 121
	EveUnitFittingSlots                   EveUnitID = 122
	EveUnitTrueTime                       EveUnitID = 123
	EveUnitModifierRelativePercent        EveUnitID = 124
	EveUnitNewton                         EveUnitID = 125
	EveUnitLightYear                      EveUnitID = 126
	EveUnitAbsolutePercent                EveUnitID = 127
	EveUnitDroneBandwidth                 EveUnitID = 128
	EveUnitHours                          EveUnitID = 129
	EveUnitMoney                          EveUnitID = 133
	EveUnitLogisticalCapacity             EveUnitID = 134
	EveUnitAstronomicalUnit               EveUnitID = 135
	EveUnitSlot                           EveUnitID = 136
	EveUnitBoolean                        EveUnitID = 137
	EveUnitUnits                          EveUnitID = 138
	EveUnitBonus                          EveUnitID = 139
	EveUnitLevel                          EveUnitID = 140
	EveUnitHardpoints                     EveUnitID = 141
	EveUnitSex                            EveUnitID = 142
	EveUnitDatetime                       EveUnitID = 143
	EveUnitWarpSpeed                      EveUnitID = 144 // inferred
)

type GeneralSection

type GeneralSection string

A general section represents a topic that can be updated, e.g. market prices

const (
	SectionEveCategories   GeneralSection = "Eve_Categories"
	SectionEveCharacters   GeneralSection = "Eve_Characters"
	SectionEveMarketPrices GeneralSection = "Eve_MarketPrices"
)

func (GeneralSection) DisplayName

func (gs GeneralSection) DisplayName() string

func (GeneralSection) Timeout

func (gs GeneralSection) Timeout() time.Duration

Timeout returns the time until the data of an update section becomes stale.

type GeneralSectionStatus

type GeneralSectionStatus struct {
	ID           int64
	ContentHash  string
	ErrorMessage string
	CompletedAt  time.Time
	Section      GeneralSection
	StartedAt    time.Time
	UpdatedAt    time.Time
}

Updates status of a general section

func (GeneralSectionStatus) IsExpired

func (s GeneralSectionStatus) IsExpired() bool

func (GeneralSectionStatus) IsOK

func (s GeneralSectionStatus) IsOK() bool

type ListCharacterSkillGroupProgress

type ListCharacterSkillGroupProgress struct {
	GroupID   int32
	GroupName string
	Total     float64
	Trained   float64
}

type ListCharacterSkillProgress

type ListCharacterSkillProgress struct {
	ActiveSkillLevel  int
	TrainedSkillLevel int
	TypeID            int32
	TypeDescription   string
	TypeName          string
}

type PlanetPin added in v0.8.0

type PlanetPin struct {
	ID                   int64
	ExpiryTime           optional.Optional[time.Time]
	ExtractorProductType *EveType
	FactorySchematic     *EveSchematic
	InstallTime          optional.Optional[time.Time]
	LastCycleStart       optional.Optional[time.Time]
	Schematic            *EveSchematic
	Type                 *EveType
}

type Position

type Position struct {
	X float64
	Y float64
	Z float64
}

Position is a position in 3D space.

type SectionStatus

type SectionStatus struct {
	EntityID     int32
	EntityName   string
	CompletedAt  time.Time
	ContentHash  string
	ErrorMessage string
	SectionID    string
	SectionName  string
	StartedAt    time.Time
	Timeout      time.Duration
}

func (SectionStatus) IsCurrent

func (s SectionStatus) IsCurrent() bool

func (SectionStatus) IsExpired

func (s SectionStatus) IsExpired() bool

func (SectionStatus) IsGeneralSection

func (s SectionStatus) IsGeneralSection() bool

func (SectionStatus) IsMissing

func (s SectionStatus) IsMissing() bool

func (SectionStatus) IsOK

func (s SectionStatus) IsOK() bool

func (SectionStatus) IsRunning

func (s SectionStatus) IsRunning() bool

type SolarSystemSecurityType

type SolarSystemSecurityType uint
const (
	NullSec SolarSystemSecurityType = iota
	LowSec
	HighSec
	SuperHighSec
)

func (SolarSystemSecurityType) ToImportance added in v0.8.0

func (t SolarSystemSecurityType) ToImportance() widget.Importance

ToImportance returns the importance value for a security type.

type Status

type Status uint
const (
	StatusUnknown Status = iota
	StatusOK
	StatusError
	StatusMissing
	StatusWorking
)

func (Status) ToImportance added in v0.8.0

func (s Status) ToImportance() widget.Importance

type StatusCacheService

type StatusCacheService interface {
	CharacterName(int32) string
	CharacterSectionExists(int32, CharacterSection) bool
	CharacterSectionSet(*CharacterSectionStatus)
	CharacterSectionSummary(int32) StatusSummary
	GeneralSectionExists(GeneralSection) bool
	GeneralSectionSet(*GeneralSectionStatus)
	GeneralSectionSummary() StatusSummary
	ListCharacters() []*CharacterShort
	SectionList(int32) []SectionStatus
	Summary() StatusSummary
	UpdateCharacters(ctx context.Context, r StatusCacheStorage) error
}

type StatusCacheStorage

type StatusCacheStorage interface {
	ListCharacterSectionStatus(context.Context, int32) ([]*CharacterSectionStatus, error)
	ListGeneralSectionStatus(context.Context) ([]*GeneralSectionStatus, error)
	ListCharactersShort(context.Context) ([]*CharacterShort, error)
}

type StatusSummary

type StatusSummary struct {
	Current   int
	Errors    int
	Missing   int
	IsRunning bool
	Total     int
}

func (StatusSummary) Display

func (ss StatusSummary) Display() string

func (StatusSummary) ProgressP

func (ss StatusSummary) ProgressP() float32

func (StatusSummary) Status

func (ss StatusSummary) Status() Status

Directories

Path Synopsis
Package assetcollection provides data structures to analyze and process asset data.
Package assetcollection provides data structures to analyze and process asset data.
package goesi contains helpers used in conjunction with the goesi package
package goesi contains helpers used in conjunction with the goesi package
Package chartbuilder provides a chart builder for rending themed Fyne charts.
Package chartbuilder provides a chart builder for rending themed Fyne charts.
Package esistatus contains the ESI status service.
Package esistatus contains the ESI status service.
Package evenotification contains the business logic for dealing with Eve Online notifications.
Package evenotification contains the business logic for dealing with Eve Online notifications.
Package eveuniverse contains the Eve universe service.
Package eveuniverse contains the Eve universe service.
Package humanize transforms values into more user friendly representations.
Package humanize transforms values into more user friendly representations.
Package characterstatus is a service which provides cached access to the current update status of general and character sections.
Package characterstatus is a service which provides cached access to the current update status of general and character sections.
Package sqlite contains the logic for storing application data into a local SQLite database.
Package sqlite contains the logic for storing application data into a local SQLite database.
testutil
Package factory contains factories for creating test objects in the repository
Package factory contains factories for creating test objects in the repository
Package ui contains the code for rendering the UI.
Package ui contains the code for rendering the UI.
Package widgets contains custom widgets for this app.
Package widgets contains custom widgets for this app.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL