app

package
v0.0.0-...-618a704 Latest Latest
Warning

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

Go to latest
Published: Nov 30, 2021 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type App

type App interface {
	// FetchStaticData выполняет выгрузку статических данных
	FetchStaticData(ctx context.Context) error

	// FetchMarketData выполняет выгрузку рыночных данных
	FetchMarketData(ctx context.Context) error

	// NewUnitOfWork создает новый unit of work
	NewUnitOfWork(ctx context.Context) (UnitOfWork, error)

	// StartBackgroundTasks запускает фоновые задачи
	StartBackgroundTasks() error

	// Close завершает работу приложения
	Close()
}

App является корневым контейнером для сервисов приложения

func New

func New(options ...Option) (App, error)

New создает новый объект App

type Option

type Option func(c *config) error

Option конфигурирует объект App

func WithDataSource

func WithDataSource(value string) Option

WithDataSource задает строку соединения с БД

func WithMoexURL

func WithMoexURL(value string) Option

WithMoexURL задает корневой URL сервиса ISS По умолчанию используется moex.DefaultURL

type UnitOfWork

type UnitOfWork interface {
	// Search выполняет поиск облигации по тексту
	Search(req search.Request) (*search.Result, error)

	// ListCollections возвращает список коллекций рекомендаций
	ListCollections() []recommender.Collection

	// GetCollection возвращает коллекцию рекомендаций по ее ID
	GetCollection(id string) (recommender.Collection, error)

	// ListCollectionBonds возвращает облигации из коллекции рекомендаций по ее ID
	ListCollectionBonds(id string, duration recommender.Duration) ([]*recommender.Report, error)

	// GetReport возвращает отчет по отдельной облигации
	GetReport(idOrISIN string) (*recommender.Report, error)

	// Suggest выполняет расчет предложений по инвестированию
	Suggest(request *recommender.SuggestRequest) (*recommender.SuggestResult, error)

	// Close закрывает unit of work
	Close()
}

UnitOfWork представляет собой реализацию паттерна "unit of work"

Jump to

Keyboard shortcuts

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