Documentation ¶
Index ¶
- Constants
- func DataSetStates() []string
- func DataSetTypes() []string
- func DataSourceStates() []string
- func DeviceTags() []string
- func ErrorValueStringAsDataSetIDNotValid(value string) error
- func ErrorValueStringAsReverseDomainNotValid(value string) error
- func ErrorValueStringAsSemanticVersionNotValid(value string) error
- func ErrorValueStringAsUserIDNotValid(value string) error
- func TimeProcessings() []string
- func ValidateDataSetID(value string, errorReporter structure.ErrorReporter)
- func ValidateReverseDomain(value string, errorReporter structure.ErrorReporter)
- func ValidateSemanticVersion(value string, errorReporter structure.ErrorReporter)
- func ValidateUserID(value string, errorReporter structure.ErrorReporter)
- type ArrayParser
- type Blob
- type BlobArray
- type Context
- type DataSet
- type DataSetAccessor
- type DataSetClient
- type DataSetCreate
- type DataSetFilter
- type DataSetUpdate
- type DataSets
- type DataSource
- type DataSourceAccessor
- type DataSourceCreate
- type DataSourceFilter
- type DataSourceUpdate
- type DataSources
- type Datum
- type Deduplicator
- type DeduplicatorDescriptor
- func (d *DeduplicatorDescriptor) IsRegisteredWithAnyDeduplicator() bool
- func (d *DeduplicatorDescriptor) IsRegisteredWithNamedDeduplicator(name string) bool
- func (d *DeduplicatorDescriptor) Normalize(normalizer Normalizer)
- func (d *DeduplicatorDescriptor) RegisterWithDeduplicator(deduplicator Deduplicator) error
- func (d *DeduplicatorDescriptor) Validate(validator structure.Validator)
- type Factory
- type Inspector
- type Normalizable
- type Normalizer
- type ObjectParser
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 TimeProcessings ¶ added in v1.20.0
func TimeProcessings() []string
func ValidateDataSetID ¶
func ValidateDataSetID(value string, errorReporter structure.ErrorReporter)
func ValidateReverseDomain ¶
func ValidateReverseDomain(value string, errorReporter structure.ErrorReporter)
func ValidateSemanticVersion ¶
func ValidateSemanticVersion(value string, errorReporter structure.ErrorReporter)
func ValidateUserID ¶
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 ¶
type Blob map[string]interface{}
func ParseBlob ¶
func ParseBlob(parser ObjectParser) *Blob
func (*Blob) Normalize ¶
func (b *Blob) Normalize(normalizer Normalizer)
func (*Blob) Parse ¶
func (b *Blob) Parse(parser ObjectParser)
type BlobArray ¶
type BlobArray []*Blob
func NewBlobArray ¶
func NewBlobArray() *BlobArray
func ParseBlobArray ¶
func ParseBlobArray(parser ArrayParser) *BlobArray
func (*BlobArray) Normalize ¶
func (b *BlobArray) Normalize(normalizer Normalizer)
func (*BlobArray) Parse ¶
func (b *BlobArray) Parse(parser ArrayParser)
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 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
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 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 ¶
func (d *DeduplicatorDescriptor) Normalize(normalizer Normalizer)
func (*DeduplicatorDescriptor) RegisterWithDeduplicator ¶ added in v1.8.0
func (d *DeduplicatorDescriptor) RegisterWithDeduplicator(deduplicator Deduplicator) error
func (*DeduplicatorDescriptor) Validate ¶
func (d *DeduplicatorDescriptor) Validate(validator structure.Validator)
type Normalizable ¶
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 }
Source Files ¶
Click to show internal directories.
Click to hide internal directories.