business

package
v0.0.0-...-a6ec2a5 Latest Latest
Warning

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

Go to latest
Published: Aug 26, 2024 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddBrokerProduct

func AddBrokerProduct(tx *gorm.DB, c *auth.Context, bps *BrokerProductSpec) (*db.BrokerProduct, error)

func AddConnection

func AddConnection(tx *gorm.DB, c *auth.Context, cs *ConnectionSpec) (*db.Connection, error)

func AddDataProduct

func AddDataProduct(tx *gorm.DB, c *auth.Context, pds *DataProductSpec) (*db.DataProduct, error)

func AddTradingSystem

func AddTradingSystem(tx *gorm.DB, c *auth.Context, tss *TradingSystemSpec) (*db.TradingSystem, error)

func GetBrokerProducts

func GetBrokerProducts(tx *gorm.DB, c *auth.Context, filter map[string]any, offset int, limit int, details bool) (*[]db.BrokerProductFull, error)

func GetConnectionById

func GetConnectionById(tx *gorm.DB, c *auth.Context, id uint) (*db.Connection, error)

func GetConnections

func GetConnections(tx *gorm.DB, c *auth.Context, filter map[string]any, offset int, limit int) (*[]db.Connection, error)

func GetCurrencies

func GetCurrencies(tx *gorm.DB) (*[]db.Currency, error)

func GetDataProducts

func GetDataProducts(tx *gorm.DB, c *auth.Context, filter map[string]any, offset int, limit int, details bool) (*[]db.DataProductFull, error)

func GetExchanges

func GetExchanges(tx *gorm.DB) (*[]db.Exchange, error)

func GetPortfolioTree

func GetPortfolioTree(tx *gorm.DB, c *auth.Context, filter map[string]any, offset int, limit int) (*[]*PortfolioTree, error)

func GetPortfolios

func GetPortfolios(tx *gorm.DB, c *auth.Context, filter map[string]any, offset int, limit int) (*[]db.Portfolio, error)

func GetTradingSessions

func GetTradingSessions(tx *gorm.DB, c *auth.Context, filter map[string]any, offset int, limit int) (*[]db.TradingSession, error)

func GetTradingSystems

func GetTradingSystems(tx *gorm.DB, c *auth.Context, filter map[string]any, offset int, limit int, details bool) (*[]db.TradingSystemFull, error)

func UpdateBrokerProduct

func UpdateBrokerProduct(tx *gorm.DB, c *auth.Context, id uint, pbs *BrokerProductSpec) (*db.BrokerProduct, error)

func UpdateDataProduct

func UpdateDataProduct(tx *gorm.DB, c *auth.Context, id uint, pds *DataProductSpec) (*db.DataProduct, error)

func UpdateTradingSystem

func UpdateTradingSystem(tx *gorm.DB, c *auth.Context, id uint, tss *TradingSystemSpec) (*db.TradingSystem, error)

Types

type BrokerProductExt

type BrokerProductExt struct {
	db.BrokerProduct
	Connection  db.Connection         `json:"connection"`
	Exchange    db.Exchange           `json:"exchange"`
	Instruments []db.BrokerInstrument `json:"instruments,omitempty"`
}

func GetBrokerProductById

func GetBrokerProductById(tx *gorm.DB, c *auth.Context, id uint, details bool) (*BrokerProductExt, error)

type BrokerProductMessage

type BrokerProductMessage struct {
	BrokerProduct db.BrokerProduct `json:"brokerProduct"`
	Connection    db.Connection    `json:"connection"`
	Exchange      db.Exchange      `json:"exchange"`
	Currency      db.Currency      `json:"currency"`
}

type BrokerProductSpec

type BrokerProductSpec struct {
	ConnectionId uint    `json:"connectionId"   binding:"required"`
	ExchangeId   uint    `json:"exchangeId"     binding:"required"`
	Symbol       string  `json:"symbol"         binding:"required"`
	Name         string  `json:"name"           binding:"required"`
	PointValue   float32 `json:"pointValue"     binding:"required,min=0"`
	CostPerTrade float32 `json:"costPerTrade"   binding:"required,min=0"`
	MarginValue  float32 `json:"marginValue"    binding:"required,min=0"`
	Increment    float64 `json:"increment"      binding:"required,min=0,max=1"`
	MarketType   string  `json:"marketType"     binding:"required"`
	ProductType  string  `json:"productType"    binding:"required"`
}

type ConnectionSpec

type ConnectionSpec struct {
	Code         string `json:"code"       binding:"required"`
	Name         string `json:"name"       binding:"required"`
	SystemCode   string `json:"systemCode" binding:"required"`
	SystemConfig string `json:"systemConfig"`
}

type DataProductExt

type DataProductExt struct {
	db.DataProduct
	Connection db.Connection `json:"connection,omitempty"`
	Exchange   db.Exchange   `json:"exchange,omitempty"`
}

func GetDataProductById

func GetDataProductById(tx *gorm.DB, c *auth.Context, id uint, details bool) (*DataProductExt, error)

type DataProductMessage

type DataProductMessage struct {
	DataProduct db.DataProduct `json:"dataProduct"`
	Connection  db.Connection  `json:"connection"`
	Exchange    db.Exchange    `json:"exchange"`
}

type DataProductSpec

type DataProductSpec struct {
	ConnectionId uint   `json:"connectionId"   binding:"required"`
	ExchangeId   uint   `json:"exchangeId"     binding:"required"`
	Symbol       string `json:"symbol"         binding:"required"`
	Name         string `json:"name"           binding:"required"`
	MarketType   string `json:"marketType"     binding:"required"`
	ProductType  string `json:"productType"    binding:"required"`
}

type PortfolioTree

type PortfolioTree struct {
	db.Portfolio
	Children       []*PortfolioTree        `json:"children"`
	TradingSystems []*db.TradingSystemFull `json:"tradingSystems"`
}

func (*PortfolioTree) AddChild

func (pt *PortfolioTree) AddChild(p *PortfolioTree)

func (*PortfolioTree) AddTradingSystem

func (pt *PortfolioTree) AddTradingSystem(ts *db.TradingSystemFull)

type TradingSystemMessage

type TradingSystemMessage struct {
	TradingSystem db.TradingSystem `json:"tradingSystem"`
	BrokerProduct db.BrokerProduct `json:"brokerProduct"`
	Currency      db.Currency      `json:"currency"`
}

type TradingSystemSpec

type TradingSystemSpec struct {
	PortfolioId      uint   `json:"portfolioId"       binding:"required"`
	DataProductId    uint   `json:"dataProductId"     binding:"required"`
	BrokerProductId  uint   `json:"brokerProductId"   binding:"required"`
	TradingSessionId uint   `json:"tradingSessionId"  binding:"required"`
	WorkspaceCode    string `json:"workspaceCode"     binding:"required"`
	Name             string `json:"name"              binding:"required"`
}

Jump to

Keyboard shortcuts

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