data

package
v1.24.0-basal-automated.2 Latest Latest
Warning

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

Go to latest
Published: Mar 27, 2018 License: BSD-3-Clause Imports: 18 Imported by: 50

Documentation

Index

Constants

View Source
const (
	SchemaVersionCurrent = 3 // DEPRECATED

	ComputerTimeFormat = "2006-01-02T15:04:05"
	TimeFormat         = time.RFC3339

	DataSetTypeContinuous = "continuous"
	DataSetTypeNormal     = "normal" // TODO: Normal?

	DataSetStateClosed = "closed"
	DataSetStateOpen   = "open"

	DeviceTagBGM         = "bgm"
	DeviceTagCGM         = "cgm"
	DeviceTagInsulinPump = "insulin-pump"

	TimeProcessingAcrossTheBoardTimezone = "across-the-board-timezone"
	TimeProcessingNone                   = "none"
	TimeProcessingUTCBootstrapping       = "utc-bootstrapping"
)
View Source
const (
	DataSourceStateConnected    = "connected"
	DataSourceStateDisconnected = "disconnected"
	DataSourceStateError        = "error"
)

Variables

This section is empty.

Functions

func DataSetStates added in v1.20.0

func DataSetStates() []string

func DataSetTypes added in v1.20.0

func DataSetTypes() []string

func DataSourceStates added in v1.20.0

func DataSourceStates() []string

func DeviceTags added in v1.20.0

func DeviceTags() []string

func ErrorValueStringAsDataSetIDNotValid added in v1.24.0

func ErrorValueStringAsDataSetIDNotValid(value string) error

func ErrorValueStringAsReverseDomainNotValid added in v1.24.0

func ErrorValueStringAsReverseDomainNotValid(value string) error

func ErrorValueStringAsSemanticVersionNotValid added in v1.24.0

func ErrorValueStringAsSemanticVersionNotValid(value string) error

func ErrorValueStringAsUserIDNotValid added in v1.24.0

func ErrorValueStringAsUserIDNotValid(value string) error

func TimeProcessings added in v1.20.0

func TimeProcessings() []string

func ValidateDataSetID added in v1.24.0

func ValidateDataSetID(value string, errorReporter structure.ErrorReporter)

func ValidateReverseDomain added in v1.24.0

func ValidateReverseDomain(value string, errorReporter structure.ErrorReporter)

func ValidateSemanticVersion added in v1.24.0

func ValidateSemanticVersion(value string, errorReporter structure.ErrorReporter)

func ValidateUserID added in v1.24.0

func ValidateUserID(value string, errorReporter structure.ErrorReporter)

Types

type ArrayParser

type ArrayParser interface {
	Logger() log.Logger

	SetMeta(meta interface{})

	AppendError(reference interface{}, err *service.Error)

	Array() *[]interface{}

	ParseBoolean(index int) *bool
	ParseInteger(index int) *int
	ParseFloat(index int) *float64
	ParseString(index int) *string
	ParseStringArray(index int) *[]string
	ParseObject(index int) *map[string]interface{}
	ParseObjectArray(index int) *[]map[string]interface{}
	ParseInterface(index int) *interface{}
	ParseInterfaceArray(index int) *[]interface{}
	ParseDatum(index int) *Datum
	ParseDatumArray(index int) *[]Datum

	ProcessNotParsed()

	NewChildObjectParser(index int) ObjectParser
	NewChildArrayParser(index int) ArrayParser
}

type Blob added in v1.24.0

type Blob map[string]interface{}

func NewBlob added in v1.24.0

func NewBlob() *Blob

func ParseBlob added in v1.24.0

func ParseBlob(parser ObjectParser) *Blob

func (*Blob) Delete added in v1.24.0

func (b *Blob) Delete(key string)

func (*Blob) Get added in v1.24.0

func (b *Blob) Get(key string) interface{}

func (*Blob) Normalize added in v1.24.0

func (b *Blob) Normalize(normalizer Normalizer)

func (*Blob) Parse added in v1.24.0

func (b *Blob) Parse(parser ObjectParser)

func (*Blob) Set added in v1.24.0

func (b *Blob) Set(key string, value interface{})

func (*Blob) Validate added in v1.24.0

func (b *Blob) Validate(validator structure.Validator)

type BlobArray added in v1.24.0

type BlobArray []*Blob

func NewBlobArray added in v1.24.0

func NewBlobArray() *BlobArray

func ParseBlobArray added in v1.24.0

func ParseBlobArray(parser ArrayParser) *BlobArray

func (*BlobArray) Normalize added in v1.24.0

func (b *BlobArray) Normalize(normalizer Normalizer)

func (*BlobArray) Parse added in v1.24.0

func (b *BlobArray) Parse(parser ArrayParser)

func (*BlobArray) Validate added in v1.24.0

func (b *BlobArray) Validate(validator structure.Validator)

type Context

type Context interface {
	Logger() log.Logger

	SetMeta(meta interface{})

	ResolveReference(reference interface{}) string

	AppendError(reference interface{}, err *service.Error)

	NewChildContext(reference interface{}) Context
}

type DataSet added in v1.20.0

type DataSet struct {
	Active              bool                    `json:"-" bson:"_active"`
	Annotations         *BlobArray              `json:"annotations,omitempty" bson:"annotations,omitempty"`
	ArchivedDatasetID   string                  `json:"-" bson:"archivedDatasetId,omitempty"`
	ArchivedTime        string                  `json:"-" bson:"archivedTime,omitempty"`
	ByUser              *string                 `json:"byUser,omitempty" bson:"byUser,omitempty"`
	Client              *DataSetClient          `json:"client,omitempty" bson:"client,omitempty"`
	ClockDriftOffset    *int                    `json:"clockDriftOffset,omitempty" bson:"clockDriftOffset,omitempty"`
	ComputerTime        *string                 `json:"computerTime,omitempty" bson:"computerTime,omitempty"`
	ConversionOffset    *int                    `json:"conversionOffset,omitempty" bson:"conversionOffset,omitempty"`
	CreatedTime         string                  `json:"createdTime,omitempty" bson:"createdTime,omitempty"`
	CreatedUserID       string                  `json:"createdUserId,omitempty" bson:"createdUserId,omitempty"`
	DataSetType         *string                 `json:"dataSetType,omitempty" bson:"dataSetType,omitempty"`
	DataState           string                  `json:"-" bson:"_dataState,omitempty"` // TODO: Deprecated DataState (after data migration)
	Deduplicator        *DeduplicatorDescriptor `json:"-" bson:"_deduplicator,omitempty"`
	DeletedTime         string                  `json:"deletedTime,omitempty" bson:"deletedTime,omitempty"`
	DeletedUserID       string                  `json:"deletedUserId,omitempty" bson:"deletedUserId,omitempty"`
	DeviceID            *string                 `json:"deviceId,omitempty" bson:"deviceId,omitempty"`
	DeviceManufacturers *[]string               `json:"deviceManufacturers,omitempty" bson:"deviceManufacturers,omitempty"`
	DeviceModel         *string                 `json:"deviceModel,omitempty" bson:"deviceModel,omitempty"`
	DeviceSerialNumber  *string                 `json:"deviceSerialNumber,omitempty" bson:"deviceSerialNumber,omitempty"`
	DeviceTags          *[]string               `json:"deviceTags,omitempty" bson:"deviceTags,omitempty"`
	DeviceTime          *string                 `json:"deviceTime,omitempty" bson:"deviceTime,omitempty"`
	GUID                string                  `json:"guid,omitempty" bson:"guid,omitempty"`
	ID                  string                  `json:"id,omitempty" bson:"id,omitempty"`
	ModifiedTime        string                  `json:"modifiedTime,omitempty" bson:"modifiedTime,omitempty"`
	ModifiedUserID      string                  `json:"modifiedUserId,omitempty" bson:"modifiedUserId,omitempty"`
	Payload             *Blob                   `json:"payload,omitempty" bson:"payload,omitempty"`
	SchemaVersion       int                     `json:"-" bson:"_schemaVersion,omitempty"`
	Source              *string                 `json:"source,omitempty" bson:"source,omitempty"`
	State               string                  `json:"-" bson:"_state,omitempty"`
	Time                *string                 `json:"time,omitempty" bson:"time,omitempty"`
	TimeProcessing      *string                 `json:"timeProcessing,omitempty" bson:"timeProcessing,omitempty"`
	Timezone            *string                 `json:"timezone,omitempty" bson:"timezone,omitempty"`
	TimezoneOffset      *int                    `json:"timezoneOffset,omitempty" bson:"timezoneOffset,omitempty"`
	Type                string                  `json:"type,omitempty" bson:"type,omitempty"`
	UploadID            string                  `json:"uploadId,omitempty" bson:"uploadId,omitempty"`
	UserID              string                  `json:"-" bson:"_userId,omitempty"`
	Version             *string                 `json:"version,omitempty" bson:"version,omitempty"`
	VersionInternal     int                     `json:"-" bson:"_version,omitempty"`
}

type DataSetAccessor added in v1.20.0

type DataSetAccessor interface {
	ListUserDataSets(ctx context.Context, userID string, filter *DataSetFilter, pagination *page.Pagination) (DataSets, error)
	CreateUserDataSet(ctx context.Context, userID string, create *DataSetCreate) (*DataSet, error)
	GetDataSet(ctx context.Context, id string) (*DataSet, error)
	UpdateDataSet(ctx context.Context, id string, update *DataSetUpdate) (*DataSet, error)
	DeleteDataSet(ctx context.Context, id string) error
}

type DataSetClient added in v1.20.0

type DataSetClient struct {
	Name    *string                 `json:"name,omitempty" bson:"name,omitempty"`
	Version *string                 `json:"version,omitempty" bson:"version,omitempty"`
	Private *map[string]interface{} `json:"private,omitempty" bson:"private,omitempty"`
}

func NewDataSetClient added in v1.20.0

func NewDataSetClient() *DataSetClient

func (*DataSetClient) Parse added in v1.20.0

func (d *DataSetClient) Parse(parser structure.ObjectParser)

func (*DataSetClient) Validate added in v1.20.0

func (d *DataSetClient) Validate(validator structure.Validator)

type DataSetCreate added in v1.20.0

type DataSetCreate struct {
	Client              *DataSetClient `json:"client,omitempty"`
	DataSetType         string         `json:"dataSetType,omitempty"`
	DeviceID            string         `json:"deviceId,omitempty"`
	DeviceManufacturers []string       `json:"deviceManufacturers,omitempty"`
	DeviceModel         string         `json:"deviceModel,omitempty"`
	DeviceSerialNumber  string         `json:"deviceSerialNumber,omitempty"`
	DeviceTags          []string       `json:"deviceTags,omitempty"`
	Time                time.Time      `json:"time,omitempty"`
	Type                string         `json:"type,omitempty"`
	TimeProcessing      string         `json:"timeProcessing,omitempty"`
	Timezone            string         `json:"timezone,omitempty"`
	TimezoneOffset      int            `json:"timezoneOffset,omitempty"`
}

func NewDataSetCreate added in v1.20.0

func NewDataSetCreate() *DataSetCreate

func (*DataSetCreate) Normalize added in v1.20.0

func (d *DataSetCreate) Normalize(normalizer structure.Normalizer)

func (*DataSetCreate) Parse added in v1.20.0

func (d *DataSetCreate) Parse(parser structure.ObjectParser)

func (*DataSetCreate) Validate added in v1.20.0

func (d *DataSetCreate) Validate(validator structure.Validator)

type DataSetFilter added in v1.21.0

type DataSetFilter struct {
	Deleted  *bool   `json:"deleted,omitempty" bson:"deleted,omitempty"`
	DeviceID *string `json:"deviceId,omitempty" bson:"deviceId,omitempty"`
}

func NewDataSetFilter added in v1.21.0

func NewDataSetFilter() *DataSetFilter

func (*DataSetFilter) Mutate added in v1.21.0

func (d *DataSetFilter) Mutate(req *http.Request) error

func (*DataSetFilter) Parse added in v1.21.0

func (d *DataSetFilter) Parse(parser structure.ObjectParser)

func (*DataSetFilter) Validate added in v1.21.0

func (d *DataSetFilter) Validate(validator structure.Validator)

type DataSetUpdate added in v1.20.0

type DataSetUpdate struct {
	Active             *bool                   `json:"-"`
	DeviceID           *string                 `json:"deviceId,omitempty"`
	DeviceModel        *string                 `json:"deviceModel,omitempty"`
	DeviceSerialNumber *string                 `json:"deviceSerialNumber,omitempty"`
	Deduplicator       *DeduplicatorDescriptor `json:"-"`
	State              *string                 `json:"state,omitempty"`
	Time               *time.Time              `json:"time,omitempty"`
	Timezone           *string                 `json:"timezone,omitempty"`
	TimezoneOffset     *int                    `json:"timezoneOffset,omitempty"`
}

func NewDataSetUpdate added in v1.20.0

func NewDataSetUpdate() *DataSetUpdate

func (*DataSetUpdate) HasUpdates added in v1.20.0

func (d *DataSetUpdate) HasUpdates() bool

func (*DataSetUpdate) Parse added in v1.20.0

func (d *DataSetUpdate) Parse(parser structure.ObjectParser)

func (*DataSetUpdate) Validate added in v1.20.0

func (d *DataSetUpdate) Validate(validator structure.Validator)

type DataSets added in v1.20.0

type DataSets []*DataSet

type DataSource added in v1.20.0

type DataSource struct {
	ID                string               `json:"id" bson:"id"`
	UserID            string               `json:"userId" bson:"userId"`
	ProviderType      string               `json:"providerType" bson:"providerType"`
	ProviderName      string               `json:"providerName" bson:"providerName"`
	ProviderSessionID *string              `json:"providerSessionId,omitempty" bson:"providerSessionId,omitempty"`
	State             string               `json:"state,omitempty" bson:"state,omitempty"`
	Error             *errors.Serializable `json:"error,omitempty" bson:"error,omitempty"`
	DataSetIDs        []string             `json:"dataSetIds,omitempty" bson:"dataSetIds,omitempty"`
	EarliestDataTime  *time.Time           `json:"earliestDataTime,omitempty" bson:"earliestDataTime,omitempty"`
	LatestDataTime    *time.Time           `json:"latestDataTime,omitempty" bson:"latestDataTime,omitempty"`
	LastImportTime    *time.Time           `json:"lastImportTime,omitempty" bson:"lastImportTime,omitempty"`
	CreatedTime       time.Time            `json:"createdTime" bson:"createdTime"`
	ModifiedTime      *time.Time           `json:"modifiedTime,omitempty" bson:"modifiedTime,omitempty"`
}

func NewDataSource added in v1.20.0

func NewDataSource(userID string, create *DataSourceCreate) (*DataSource, error)

func (*DataSource) Normalize added in v1.20.0

func (d *DataSource) Normalize(normalizer structure.Normalizer)

func (*DataSource) Parse added in v1.20.0

func (d *DataSource) Parse(parser structure.ObjectParser)

func (*DataSource) Sanitize added in v1.20.0

func (d *DataSource) Sanitize(details request.Details) error

func (*DataSource) Validate added in v1.20.0

func (d *DataSource) Validate(validator structure.Validator)

type DataSourceAccessor added in v1.20.0

type DataSourceAccessor interface {
	ListUserDataSources(ctx context.Context, userID string, filter *DataSourceFilter, pagination *page.Pagination) (DataSources, error)
	CreateUserDataSource(ctx context.Context, userID string, create *DataSourceCreate) (*DataSource, error)
	GetDataSource(ctx context.Context, id string) (*DataSource, error)
	UpdateDataSource(ctx context.Context, id string, update *DataSourceUpdate) (*DataSource, error)
	DeleteDataSource(ctx context.Context, id string) error
}

type DataSourceCreate added in v1.20.0

type DataSourceCreate struct {
	ProviderType      string `json:"providerType" bson:"providerType"`
	ProviderName      string `json:"providerName" bson:"providerName"`
	ProviderSessionID string `json:"providerSessionId" bson:"providerSessionId"`
	State             string `json:"state,omitempty" bson:"state,omitempty"`
}

func NewDataSourceCreate added in v1.20.0

func NewDataSourceCreate() *DataSourceCreate

func (*DataSourceCreate) Parse added in v1.20.0

func (d *DataSourceCreate) Parse(parser structure.ObjectParser)

func (*DataSourceCreate) Validate added in v1.20.0

func (d *DataSourceCreate) Validate(validator structure.Validator)

type DataSourceFilter added in v1.20.0

type DataSourceFilter struct {
	ProviderType      *string `json:"providerType,omitempty" bson:"providerType,omitempty"`
	ProviderName      *string `json:"providerName,omitempty" bson:"providerName,omitempty"`
	ProviderSessionID *string `json:"providerSessionId,omitempty" bson:"providerSessionId,omitempty"`
	State             *string `json:"state,omitempty" bson:"state,omitempty"`
}

func NewDataSourceFilter added in v1.20.0

func NewDataSourceFilter() *DataSourceFilter

func (*DataSourceFilter) Mutate added in v1.20.0

func (d *DataSourceFilter) Mutate(req *http.Request) error

func (*DataSourceFilter) Parse added in v1.20.0

func (d *DataSourceFilter) Parse(parser structure.ObjectParser)

func (*DataSourceFilter) Validate added in v1.20.0

func (d *DataSourceFilter) Validate(validator structure.Validator)

type DataSourceUpdate added in v1.20.0

type DataSourceUpdate struct {
	State            *string              `json:"state,omitempty" bson:"state,omitempty"`
	Error            *errors.Serializable `json:"error,omitempty" bson:"error,omitempty"`
	DataSetIDs       *[]string            `json:"dataSetIds,omitempty" bson:"dataSetIds,omitempty"`
	EarliestDataTime *time.Time           `json:"earliestDataTime,omitempty" bson:"earliestDataTime,omitempty"`
	LatestDataTime   *time.Time           `json:"latestDataTime,omitempty" bson:"latestDataTime,omitempty"`
	LastImportTime   *time.Time           `json:"lastImportTime,omitempty" bson:"lastImportTime,omitempty"`
}

func NewDataSourceUpdate added in v1.20.0

func NewDataSourceUpdate() *DataSourceUpdate

func (*DataSourceUpdate) HasUpdates added in v1.20.0

func (d *DataSourceUpdate) HasUpdates() bool

func (*DataSourceUpdate) Normalize added in v1.20.0

func (d *DataSourceUpdate) Normalize(normalizer structure.Normalizer)

func (*DataSourceUpdate) Parse added in v1.20.0

func (d *DataSourceUpdate) Parse(parser structure.ObjectParser)

func (*DataSourceUpdate) Validate added in v1.20.0

func (d *DataSourceUpdate) Validate(validator structure.Validator)

type DataSources added in v1.20.0

type DataSources []*DataSource

func (DataSources) Sanitize added in v1.20.0

func (d DataSources) Sanitize(details request.Details) error

type Datum

type Datum interface {
	Init()

	Meta() interface{}

	Parse(parser ObjectParser) error
	Validate(validator structure.Validator)
	Normalize(normalizer Normalizer)

	IdentityFields() ([]string, error)

	GetPayload() *Blob

	SetUserID(userID *string)
	SetDatasetID(datasetID *string)
	SetActive(active bool)
	SetDeviceID(deviceID *string)
	SetCreatedTime(createdTime *string)
	SetCreatedUserID(createdUserID *string)
	SetModifiedTime(modifiedTime *string)
	SetModifiedUserID(modifiedUserID *string)
	SetDeletedTime(deletedTime *string)
	SetDeletedUserID(deletedUserID *string)

	DeduplicatorDescriptor() *DeduplicatorDescriptor
	SetDeduplicatorDescriptor(deduplicatorDescriptor *DeduplicatorDescriptor)
}

type Deduplicator added in v1.4.0

type Deduplicator interface {
	Name() string
	Version() string

	RegisterDataset(ctx context.Context) error

	AddDatasetData(ctx context.Context, datasetData []Datum) error
	DeduplicateDataset(ctx context.Context) error

	DeleteDataset(ctx context.Context) error
}

type DeduplicatorDescriptor added in v1.4.0

type DeduplicatorDescriptor struct {
	Name    string `bson:"name,omitempty"`
	Version string `bson:"version,omitempty"`
	Hash    string `bson:"hash,omitempty"`
}

func NewDeduplicatorDescriptor added in v1.5.0

func NewDeduplicatorDescriptor() *DeduplicatorDescriptor

func (*DeduplicatorDescriptor) IsRegisteredWithAnyDeduplicator added in v1.5.0

func (d *DeduplicatorDescriptor) IsRegisteredWithAnyDeduplicator() bool

func (*DeduplicatorDescriptor) IsRegisteredWithNamedDeduplicator added in v1.5.0

func (d *DeduplicatorDescriptor) IsRegisteredWithNamedDeduplicator(name string) bool

func (*DeduplicatorDescriptor) Normalize added in v1.24.0

func (d *DeduplicatorDescriptor) Normalize(normalizer Normalizer)

func (*DeduplicatorDescriptor) RegisterWithDeduplicator added in v1.8.0

func (d *DeduplicatorDescriptor) RegisterWithDeduplicator(deduplicator Deduplicator) error

func (*DeduplicatorDescriptor) Validate added in v1.24.0

func (d *DeduplicatorDescriptor) Validate(validator structure.Validator)

type Factory

type Factory interface {
	New(inspector Inspector) (Datum, error)
	Init(inspector Inspector) (Datum, error)
}

type Inspector

type Inspector interface {
	GetProperty(key string) *string
	NewMissingPropertyError(key string) error
	NewInvalidPropertyError(key string, value string, allowedValues []string) error
}

type Normalizable added in v1.24.0

type Normalizable interface {
	Normalize(normalizer Normalizer)
}

type Normalizer

type Normalizer interface {
	structure.OriginReporter
	structure.SourceReporter
	structure.MetaReporter

	structure.ErrorReporter

	Normalize(normalizable Normalizable) error

	AddData(data ...Datum)

	WithOrigin(origin structure.Origin) Normalizer
	WithSource(source structure.Source) Normalizer
	WithMeta(meta interface{}) Normalizer
	WithReference(reference string) Normalizer
}

type ObjectParser

type ObjectParser interface {
	Logger() log.Logger

	SetMeta(meta interface{})

	AppendError(reference interface{}, err *service.Error)

	Object() *map[string]interface{}

	ParseBoolean(key string) *bool
	ParseInteger(key string) *int
	ParseFloat(key string) *float64
	ParseString(key string) *string
	ParseStringArray(key string) *[]string
	ParseObject(key string) *map[string]interface{}
	ParseObjectArray(key string) *[]map[string]interface{}
	ParseInterface(key string) *interface{}
	ParseInterfaceArray(key string) *[]interface{}
	ParseDatum(key string) *Datum
	ParseDatumArray(key string) *[]Datum

	ProcessNotParsed()

	NewChildObjectParser(key string) ObjectParser
	NewChildArrayParser(key string) ArrayParser
}

Jump to

Keyboard shortcuts

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