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 ErrorValueStringAsDataSetIDNotValid ¶ added in v1.24.0
func ErrorValueStringAsReverseDomainNotValid ¶ added in v1.24.0
func ErrorValueStringAsSemanticVersionNotValid ¶ added in v1.24.0
func ErrorValueStringAsUserIDNotValid ¶ added in v1.24.0
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 ParseBlob ¶ added in v1.24.0
func ParseBlob(parser ObjectParser) *Blob
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)
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)
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 ¶ 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 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
}
Source Files
¶
Click to show internal directories.
Click to hide internal directories.