Documentation
¶
Index ¶
- Variables
- func BuildDownloadsObject(previousFilterOutput, filterOutput *models.Filter, downloadServiceURL string)
- func CreatePublicDimension(dimension models.Dimension, host, filterID string) *models.PublicDimension
- func CreatePublicDimensions(inputDimensions []models.Dimension, host, filterID string) []*models.PublicDimension
- func RemoveDuplicateAndEmptyOptions(elements []string) []string
- func WriteJSONBody(ctx context.Context, v interface{}, w http.ResponseWriter, data log.Data) error
- type DataStore
- type DatasetAPI
- type FilterAPI
- type FilterFlexAPI
- type OutputQueue
Constants ¶
This section is empty.
Variables ¶
View Source
var ( InternalError = "Failed to process the request due to an internal error" BadRequest = "Bad request - Invalid request body" )
Functions ¶
func BuildDownloadsObject ¶
func CreatePublicDimension ¶
func CreatePublicDimension(dimension models.Dimension, host, filterID string) *models.PublicDimension
CreatePublicDimension creates a PublicDimension struct from a Dimension struct
func CreatePublicDimensions ¶
func CreatePublicDimensions(inputDimensions []models.Dimension, host, filterID string) []*models.PublicDimension
CreatePublicDimensions wraps CreatePublicDimension for converting arrays of dimensions
func WriteJSONBody ¶
WriteJSONBody marshals the provided interface into json, and writes it to the response body.
Types ¶
type DataStore ¶
type DataStore interface { AddFilter(ctx context.Context, filter *models.Filter) (*models.Filter, error) GetFilter(ctx context.Context, filterID, eTagSelector string) (*models.Filter, error) UpdateFilter(ctx context.Context, updatedFilter *models.Filter, timestamp primitive.Timestamp, eTagSelector string, currentFilter *models.Filter) (newETag string, err error) GetFilterDimension(ctx context.Context, filterID string, name, eTagSelector string) (dimension *models.Dimension, err error) AddFilterDimension(ctx context.Context, filterID, name string, options []string, dimensions []models.Dimension, timestamp primitive.Timestamp, eTagSelector string, currentFilter *models.Filter) (newETag string, err error) RemoveFilterDimension(ctx context.Context, filterID, name string, timestamp primitive.Timestamp, eTagSelector string, currentFilter *models.Filter) (newETag string, err error) AddFilterDimensionOption(ctx context.Context, filterID, name, option string, timestamp primitive.Timestamp, eTagSelector string, currentFilter *models.Filter) (newETag string, err error) AddFilterDimensionOptions(ctx context.Context, filterID, name string, options []string, timestamp primitive.Timestamp, eTagSelector string, currentFilter *models.Filter) (newETag string, err error) RemoveFilterDimensionOption(ctx context.Context, filterID string, name string, option string, timestamp primitive.Timestamp, eTagSelector string, currentFilter *models.Filter) (newETag string, err error) RemoveFilterDimensionOptions(ctx context.Context, filterID string, name string, options []string, timestamp primitive.Timestamp, eTagSelector string, currentFilter *models.Filter) (newETag string, err error) CreateFilterOutput(ctx context.Context, filter *models.Filter) error GetFilterOutput(ctx context.Context, filterOutputID string) (*models.Filter, error) UpdateFilterOutput(ctx context.Context, filter *models.Filter, timestamp primitive.Timestamp) error AddEventToFilterOutput(ctx context.Context, filterOutputID string, event *models.Event) error RunTransaction(ctx context.Context, retry bool, fn mongodriver.TransactionFunc) (interface{}, error) }
DataStore - A interface used to store filters
type DatasetAPI ¶
type DatasetAPI interface { Get(ctx context.Context, userToken, svcToken, collectionID, datasetID string) (dataset.DatasetDetails, error) GetVersion(ctx context.Context, userAuthToken, serviceAuthToken, downloadServiceAuthToken, collectionID, datasetID, edition, version string) (m dataset.Version, err error) GetVersionDimensions(ctx context.Context, userAuthToken, serviceAuthToken, collectionID, id, edition, version string) (m dataset.VersionDimensions, err error) GetOptionsBatchProcess(ctx context.Context, userAuthToken, serviceAuthToken, collectionID, id, edition, version, dimension string, optionIDs *[]string, processBatch dataset.OptionsBatchProcessor, batchSize, maxWorkers int) (err error) }
DatasetAPI - An interface used to access the DatasetAPI
type FilterAPI ¶
type FilterAPI struct { Router *mux.Router FilterFlexAPI FilterFlexAPI BatchMaxWorkers int // contains filtered or unexported fields }
FilterAPI manages importing filters against a dataset
func Setup ¶
func Setup( cfg *config.Config, router *mux.Router, dataStore DataStore, outputQueue OutputQueue, datasetAPI DatasetAPI, filterFlexAPI FilterFlexAPI) *FilterAPI
Setup manages all the routes configured to API
type FilterFlexAPI ¶
type OutputQueue ¶
OutputQueue - An interface used to queue filter outputs
Source Files
¶
Click to show internal directories.
Click to hide internal directories.