transform

package
v0.3.1 Latest Latest
Warning

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

Go to latest
Published: May 6, 2024 License: GPL-3.0 Imports: 7 Imported by: 0

Documentation

Overview

Package transform converts API structs to DB structs

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Assignments

func Assignments(c Converter, data APIData) ([]db.EntityMerger, error)

Assignments converts API data into mergable DB entities.

func Campaigns

func Campaigns(c Converter, data APIData) ([]db.EntityMerger, error)

Campaigns converts API data into mergable DB entities.

func DefaultAssignmentSnapshot added in v0.0.3

func DefaultAssignmentSnapshot() gen.AssignmentSnapshot

DefaultAssignmentSnapshot returns a assignment snapshot with a default identity column.

func DefaultPlanetSnapshot added in v0.0.3

func DefaultPlanetSnapshot() gen.PlanetSnapshot

DefaultPlanetSnapshot generates a planet snapshot with default values for FK IDs and identity columns.

func DefaultSnapshot added in v0.0.3

func DefaultSnapshot() gen.Snapshot

DefaultSnapshot generates a snapshot with default values for FK IDs and identity columns.

func Dispatches

func Dispatches(c Converter, data APIData) ([]db.EntityMerger, error)

Dispatches converts API data into mergable DB entities.

func Events

func Events(c Converter, data APIData) ([]db.EntityMerger, error)

Events converts API data into mergable DB entities.

func MustAssignment added in v0.0.3

func MustAssignment(c Converter, source api.Assignment2) (*db.Assignment, error)

MustAssignment implements a converter for a single assignment.

func MustAssignmentBriefing added in v0.0.3

func MustAssignmentBriefing(source *api.Assignment2_Briefing) (string, error)

MustAssignmentBriefing returns the default locale representation of a localized assignment briefing.

func MustAssignmentDescription added in v0.0.3

func MustAssignmentDescription(source *api.Assignment2_Description) (string, error)

MustAssignmentDescription returns the default locale representation of a localized assignment description.

func MustAssignmentTitle added in v0.0.3

func MustAssignmentTitle(source *api.Assignment2_Title) (string, error)

MustAssignmentTitle returns the default locale representation of a localized assignment title.

func MustBool added in v0.0.3

func MustBool(ptr *bool) (bool, error)

MustBool dereferences a boolean or returns an error if nil.

func MustDispatchMessage added in v0.0.3

func MustDispatchMessage(source *api.Dispatch_Message) (string, error)

MustDispatchMessage returns the default locale representation of a localized dispatch message.

func MustEventSnapshot added in v0.0.3

func MustEventSnapshot(c Converter, source *api.Planet_Event) (*gen.EventSnapshot, error)

MustEventSnapshot implements a converter for event snapshots.

func MustFloat64Ptr added in v0.0.3

func MustFloat64Ptr(ptr *float64) (float64, error)

MustFloat64Ptr dereferences a float64 or returns an error if nil.

func MustInt32Ptr added in v0.0.3

func MustInt32Ptr(ptr *int32) (int32, error)

MustInt32Ptr dereferences an int32 or returns an error if nil.

func MustInt32Slice added in v0.0.3

func MustInt32Slice(ptr *[]int32) ([]int32, error)

MustInt32Slice dereferences an int32 or returns an error if nil.

func MustInt64Ptr added in v0.0.3

func MustInt64Ptr(ptr *int64) (int64, error)

MustInt64Ptr dereferences an int64 or returns an error if nil.

func MustNumeric added in v0.0.3

func MustNumeric(ptr *uint64) (pgtype.Numeric, error)

MustNumeric converts a uint64 into a pgx-compatible type or an error if nil.

func MustPlanetBiome added in v0.0.3

func MustPlanetBiome(c Converter, in *api.Planet_Biome) (gen.Biome, error)

MustPlanetBiome implements a converter for a planet biome.

func MustPlanetBiomeName added in v0.0.3

func MustPlanetBiomeName(c Converter, in *api.Planet_Biome) (string, error)

MustPlanetBiomeName implements a converter for a planet biome name.

func MustPlanetHazardNames added in v0.0.3

func MustPlanetHazardNames(source *[]api.Hazard) ([]string, error)

MustPlanetHazardNames implements a converter for planet hazard names.

func MustPlanetHazards added in v0.0.3

func MustPlanetHazards(c Converter, source *[]api.Hazard) ([]gen.Hazard, error)

MustPlanetHazards implements a converter for planet hazards.

func MustPlanetName added in v0.0.3

func MustPlanetName(source *api.Planet_Name) (string, error)

MustPlanetName returns the default locale for a localized planet name.

func MustPlanetPosition added in v0.0.3

func MustPlanetPosition(source *api.Planet_Position) ([]float64, error)

MustPlanetPosition implements a converter for a planet position (i.e. coordinate).

func MustPlanetStatistics added in v0.0.3

func MustPlanetStatistics(c Converter, source *api.Planet_Statistics) (gen.SnapshotStatistic, error)

MustPlanetStatistics implements a converter for planet statistics.

func MustSnapshotCampaignIDs added in v0.0.3

func MustSnapshotCampaignIDs(source *[]api.Campaign2) ([]int32, error)

MustSnapshotCampaignIDs implements a converter for campaign IDs.

func MustSnapshotDispatchIDs added in v0.0.3

func MustSnapshotDispatchIDs(source *[]api.Dispatch) ([]int32, error)

MustSnapshotDispatchIDs implements a converter for dispatch IDs.

func MustString added in v0.0.3

func MustString(ptr *string) (string, error)

MustString dereferences a string or returns an error if nil.

func MustStringSlice added in v0.0.3

func MustStringSlice(ptr *[]string) ([]string, error)

MustStringSlice dereferences a string slice or returns an error if nil.

func MustTimestamp added in v0.0.3

func MustTimestamp(ptr *time.Time) (pgtype.Timestamp, error)

MustTimestamp converts a timestamp into a pgx-compatible type or an error if nil.

func MustWarID added in v0.0.3

func MustWarID(source *api.WarId) (int32, error)

MustWarID implements a converter for a war ID.

func MustWarStatistics added in v0.0.3

func MustWarStatistics(c Converter, source *api.War_Statistics) (*gen.SnapshotStatistic, error)

MustWarStatistics implements a converter for war statistics.

func Planets

func Planets(c Converter, data APIData) ([]db.EntityMerger, error)

Planets converts API data into mergable DB entities.

func Snapshot added in v0.0.2

func Snapshot(c Converter, data APIData) (mergers []db.EntityMerger, err error)

Snapshot converts API data into a mergable DB entity.

func Wars added in v0.0.2

func Wars(c Converter, data APIData) ([]db.EntityMerger, error)

Wars converts API data into mergable DB entities.

Types

type APIData

type APIData struct {
	WarID       *api.WarId
	War         *api.War
	Planets     *[]api.Planet
	Campaigns   *[]api.Campaign2
	Dispatches  *[]api.Dispatch
	Assignments *[]api.Assignment2
}

APIData contains all relevant (unprocessed) data from the API, used for further processing.

type Converter added in v0.0.3

type Converter interface {
	ConvertAssignment(source api.Assignment2) (*db.Assignment, error)
	// goverter:map Id ID
	// goverter:ignore TaskIds
	// goverter:map Reward RewardType | parseAssignmentRewardType
	// goverter:map Reward RewardAmount | parseAssignmentRewardAmount
	ConvertSingleAssignment(source api.Assignment2) (*gen.Assignment, error)
	// goverter:ignore ID
	// goverter:map Type TaskType
	ConvertAssignmentTask(source api.Task2) (gen.AssignmentTask, error)
	ConvertAssignmentTasks(source []api.Task2) ([]gen.AssignmentTask, error)

	// goverter:map Id ID
	ConvertCampaign(source api.Campaign2) (*db.Campaign, error)

	// goverter:map Id ID
	// goverter:map Published CreateTime
	ConvertDispatch(source api.Dispatch) (*db.Dispatch, error)

	// goverter:map Id ID
	// goverter:map CampaignId CampaignID
	// goverter:map EventType Type
	ConvertEvent(source api.Event) (*db.Event, error)

	// goverter:map . Planet
	ConvertPlanet(source api.Planet) (*db.Planet, error)
	ConvertPlanetBiome(source api.Biome) (gen.Biome, error)
	ConvertPlanetHazard(source api.Hazard) (gen.Hazard, error)
	// goverter:map Index ID
	// goverter:map Waypoints WaypointIds
	// goverter:map Biome BiomeName
	// goverter:map Hazards HazardNames
	ConvertSinglePlanet(source api.Planet) (gen.Planet, error)

	// goverter:map WarID ID
	// goverter:autoMap War
	// goverter:map War.Started StartTime
	// goverter:map War.Ended EndTime
	ConvertWar(source APIData) (*db.War, error)

	// goverter:default DefaultSnapshot
	// goverter:ignore CreateTime
	// goverter:ignore WarSnapshotID
	// goverter:ignore AssignmentSnapshotIds
	// goverter:ignore PlanetSnapshotIds
	// goverter:ignore StatisticsID
	// goverter:map Campaigns CampaignIds
	// goverter:map Dispatches DispatchIds
	ConvertSnapshot(source APIData) (gen.Snapshot, error)
	// goverter:ignore ID
	// goverter:autoMap War
	ConvertWarSnapshot(source APIData) (*gen.WarSnapshot, error)
	// goverter:default DefaultAssignmentSnapshot
	// goverter:ignore ID
	// goverter:map Id AssignmentID
	ConvertAssignmentSnapshot(source api.Assignment2) (gen.AssignmentSnapshot, error)
	ConvertAssignmentSnapshots(source []api.Assignment2) ([]gen.AssignmentSnapshot, error)
	// goverter:default DefaultPlanetSnapshot
	// goverter:ignore ID
	// goverter:map Index PlanetID
	// goverter:ignore EventSnapshotID
	// goverter:ignore StatisticsID
	// goverter:map Attacking AttackingPlanetIds
	ConvertPlanetSnapshotOnly(source api.Planet) (gen.PlanetSnapshot, error)
	ConvertPlanetSnapshotsOnly(source []api.Planet) ([]gen.PlanetSnapshot, error)
	// goverter:map . PlanetSnapshot
	ConvertPlanetSnapshot(source api.Planet) (db.PlanetSnapshot, error)
	ConvertPlanetSnapshots(source []api.Planet) ([]db.PlanetSnapshot, error)
	// goverter:ignore ID
	// goverter:map Id EventID
	ConvertEventSnapshot(source api.Event) (*gen.EventSnapshot, error)
	// goverter:ignore ID
	ConvertStatistics(source api.Statistics) (*gen.SnapshotStatistic, error)
	ConvertWarStatistics(source *api.War_Statistics) (*gen.SnapshotStatistic, error)
}

Converter converts API structs into mergable DB structs.

goverter:converter goverter:wrapErrors

goverter:extend Must.*

goverter:output:package github.com/stnokott/helldivers-client/internal/transform goverter:output:file ./generated.go

type ConverterImpl added in v0.0.3

type ConverterImpl struct{}

func (*ConverterImpl) ConvertAssignment added in v0.0.3

func (c *ConverterImpl) ConvertAssignment(source api.Assignment2) (*db.Assignment, error)

func (*ConverterImpl) ConvertAssignmentSnapshot added in v0.0.3

func (c *ConverterImpl) ConvertAssignmentSnapshot(source api.Assignment2) (gen.AssignmentSnapshot, error)

func (*ConverterImpl) ConvertAssignmentSnapshots added in v0.0.3

func (c *ConverterImpl) ConvertAssignmentSnapshots(source []api.Assignment2) ([]gen.AssignmentSnapshot, error)

func (*ConverterImpl) ConvertAssignmentTask added in v0.0.3

func (c *ConverterImpl) ConvertAssignmentTask(source api.Task2) (gen.AssignmentTask, error)

func (*ConverterImpl) ConvertAssignmentTasks added in v0.0.3

func (c *ConverterImpl) ConvertAssignmentTasks(source []api.Task2) ([]gen.AssignmentTask, error)

func (*ConverterImpl) ConvertCampaign added in v0.0.3

func (c *ConverterImpl) ConvertCampaign(source api.Campaign2) (*db.Campaign, error)

func (*ConverterImpl) ConvertDispatch added in v0.0.3

func (c *ConverterImpl) ConvertDispatch(source api.Dispatch) (*db.Dispatch, error)

func (*ConverterImpl) ConvertEvent added in v0.0.3

func (c *ConverterImpl) ConvertEvent(source api.Event) (*db.Event, error)

func (*ConverterImpl) ConvertEventSnapshot added in v0.0.3

func (c *ConverterImpl) ConvertEventSnapshot(source api.Event) (*gen.EventSnapshot, error)

func (*ConverterImpl) ConvertPlanet added in v0.0.3

func (c *ConverterImpl) ConvertPlanet(source api.Planet) (*db.Planet, error)

func (*ConverterImpl) ConvertPlanetBiome added in v0.0.3

func (c *ConverterImpl) ConvertPlanetBiome(source api.Biome) (gen.Biome, error)

func (*ConverterImpl) ConvertPlanetHazard added in v0.0.3

func (c *ConverterImpl) ConvertPlanetHazard(source api.Hazard) (gen.Hazard, error)

func (*ConverterImpl) ConvertPlanetSnapshot added in v0.0.3

func (c *ConverterImpl) ConvertPlanetSnapshot(source api.Planet) (db.PlanetSnapshot, error)

func (*ConverterImpl) ConvertPlanetSnapshotOnly added in v0.0.3

func (c *ConverterImpl) ConvertPlanetSnapshotOnly(source api.Planet) (gen.PlanetSnapshot, error)

func (*ConverterImpl) ConvertPlanetSnapshots added in v0.0.3

func (c *ConverterImpl) ConvertPlanetSnapshots(source []api.Planet) ([]db.PlanetSnapshot, error)

func (*ConverterImpl) ConvertPlanetSnapshotsOnly added in v0.0.3

func (c *ConverterImpl) ConvertPlanetSnapshotsOnly(source []api.Planet) ([]gen.PlanetSnapshot, error)

func (*ConverterImpl) ConvertSingleAssignment added in v0.0.3

func (c *ConverterImpl) ConvertSingleAssignment(source api.Assignment2) (*gen.Assignment, error)

func (*ConverterImpl) ConvertSinglePlanet added in v0.0.3

func (c *ConverterImpl) ConvertSinglePlanet(source api.Planet) (gen.Planet, error)

func (*ConverterImpl) ConvertSnapshot added in v0.0.3

func (c *ConverterImpl) ConvertSnapshot(source APIData) (gen.Snapshot, error)

func (*ConverterImpl) ConvertStatistics added in v0.0.3

func (c *ConverterImpl) ConvertStatistics(source api.Statistics) (*gen.SnapshotStatistic, error)

func (*ConverterImpl) ConvertWar added in v0.0.3

func (c *ConverterImpl) ConvertWar(source APIData) (*db.War, error)

func (*ConverterImpl) ConvertWarSnapshot added in v0.0.3

func (c *ConverterImpl) ConvertWarSnapshot(source APIData) (*gen.WarSnapshot, error)

func (*ConverterImpl) ConvertWarStatistics added in v0.0.3

func (c *ConverterImpl) ConvertWarStatistics(source *api.War_Statistics) (*gen.SnapshotStatistic, error)

Jump to

Keyboard shortcuts

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