Documentation
¶
Index ¶
- Constants
- func DataSetStates() []string
- func DataSetTypes() []string
- func DataSourceStates() []string
- func DeviceTags() []string
- func ErrorValueStringAsIDNotValid(value string) error
- func ErrorValueStringAsSetIDNotValid(value string) error
- func ErrorValueStringAsSourceIDNotValid(value string) error
- func IDValidator(value string, errorReporter structure.ErrorReporter)
- func IsValidID(value string) bool
- func IsValidSetID(value string) bool
- func IsValidSourceID(value string) bool
- func NewID() string
- func NewSetID() string
- func NewSourceID() string
- func SetIDValidator(value string, errorReporter structure.ErrorReporter)
- func SourceIDValidator(value string, errorReporter structure.ErrorReporter)
- func TimeProcessings() []string
- func ValidateID(value string) error
- func ValidateSetID(value string) error
- func ValidateSourceID(value string) error
- 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 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" // TODO: Rename to across-the-board-time-zone or alternative TimeProcessingNone = "none" TimeProcessingUTCBootstrapping = "utc-bootstrapping" // TODO: Rename to utc-bootstrap or alternative )
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 ErrorValueStringAsIDNotValid ¶ added in v1.27.0
func ErrorValueStringAsSetIDNotValid ¶ added in v1.27.0
func ErrorValueStringAsSourceIDNotValid ¶ added in v1.27.0
func IDValidator ¶ added in v1.27.0
func IDValidator(value string, errorReporter structure.ErrorReporter)
func IsValidSetID ¶ added in v1.27.0
func IsValidSourceID ¶ added in v1.27.0
func NewSourceID ¶ added in v1.27.0
func NewSourceID() string
func SetIDValidator ¶ added in v1.27.0
func SetIDValidator(value string, errorReporter structure.ErrorReporter)
func SourceIDValidator ¶ added in v1.27.0
func SourceIDValidator(value string, errorReporter structure.ErrorReporter)
func TimeProcessings ¶ added in v1.20.0
func TimeProcessings() []string
func ValidateID ¶ added in v1.27.0
func ValidateSetID ¶ added in v1.27.0
func ValidateSourceID ¶ added in v1.27.0
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
ParseTime(index int, layout string) *time.Time
ParseObject(index int) *map[string]interface{}
ParseObjectArray(index int) *[]map[string]interface{}
ParseInterface(index int) *interface{}
ParseInterfaceArray(index int) *[]interface{}
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"`
TimeZoneName *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"`
TimeZoneName *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
func NewDataSetFilter ¶ added in v1.21.0
func NewDataSetFilter() *DataSetFilter
func (*DataSetFilter) MutateRequest ¶ added in v1.27.0
func (d *DataSetFilter) MutateRequest(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"`
TimeZoneName *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) MutateRequest ¶ added in v1.27.0
func (d *DataSourceFilter) MutateRequest(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 {
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)
}
func DatumAsPointer ¶ added in v1.26.0
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
ParseTime(key string, layout string) *time.Time
ParseObject(key string) *map[string]interface{}
ParseObjectArray(key string) *[]map[string]interface{}
ParseInterface(key string) *interface{}
ParseInterfaceArray(key string) *[]interface{}
ProcessNotParsed()
NewChildObjectParser(key string) ObjectParser
NewChildArrayParser(key string) ArrayParser
}
Source Files
¶
Click to show internal directories.
Click to hide internal directories.