Documentation ¶
Index ¶
- type Extension
- type ExtensionBuilder
- type LocationConstraintExtension
- type LocationConstraintExtensionBuilder
- func (builder *LocationConstraintExtensionBuilder) Build() LocationConstraintExtension
- func (builder *LocationConstraintExtensionBuilder) New() *LocationConstraintExtensionBuilder
- func (builder *LocationConstraintExtensionBuilder) WithLatitude(latitude float64) *LocationConstraintExtensionBuilder
- func (builder *LocationConstraintExtensionBuilder) WithLongitude(longitude float64) *LocationConstraintExtensionBuilder
- func (builder *LocationConstraintExtensionBuilder) WithRadius(radius float64) *LocationConstraintExtensionBuilder
- func (builder *LocationConstraintExtensionBuilder) WithUncertainty(uncertainty float64) *LocationConstraintExtensionBuilder
- type ThirdPartyAttributeExtension
- type ThirdPartyAttributeExtensionBuilder
- func (builder *ThirdPartyAttributeExtensionBuilder) Build() ThirdPartyAttributeExtension
- func (builder *ThirdPartyAttributeExtensionBuilder) New() *ThirdPartyAttributeExtensionBuilder
- func (builder *ThirdPartyAttributeExtensionBuilder) WithDefinition(definition attribute.AttributeDefinition) *ThirdPartyAttributeExtensionBuilder
- func (builder *ThirdPartyAttributeExtensionBuilder) WithDefinitions(definitions []attribute.AttributeDefinition) *ThirdPartyAttributeExtensionBuilder
- func (builder *ThirdPartyAttributeExtensionBuilder) WithExpiryDate(expiryDate *time.Time) *ThirdPartyAttributeExtensionBuilder
- type TransactionalFlowExtension
- type TransactionalFlowExtensionBuilder
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Extension ¶
type Extension struct {
// contains filtered or unexported fields
}
Extension is a generic type of extension that can be used where a more specialised Extension type is not available
Example ¶
content := "SOME CONTENT" extType := "SOME_TYPE" extension := (&ExtensionBuilder{}).New().WithContent(content).WithType(extType).Build() data, _ := extension.MarshalJSON() fmt.Println(string(data))
Output: {"type":"SOME_TYPE","content":"SOME CONTENT"}
func (Extension) MarshalJSON ¶
MarshalJSON returns the JSON encoding
type ExtensionBuilder ¶
type ExtensionBuilder struct {
// contains filtered or unexported fields
}
ExtensionBuilder is used to construct an Extension object
func (*ExtensionBuilder) Build ¶
func (builder *ExtensionBuilder) Build() Extension
Build constructs the Extension
func (*ExtensionBuilder) New ¶
func (builder *ExtensionBuilder) New() *ExtensionBuilder
New initializes an ExtensionBuilder
func (*ExtensionBuilder) WithContent ¶
func (builder *ExtensionBuilder) WithContent(content interface{}) *ExtensionBuilder
WithContent attaches data to the Extension. The content must implement JSON serialization
func (*ExtensionBuilder) WithType ¶
func (builder *ExtensionBuilder) WithType(extensionType string) *ExtensionBuilder
WithType sets the extension type string
type LocationConstraintExtension ¶
type LocationConstraintExtension struct {
// contains filtered or unexported fields
}
LocationConstraintExtension is an extension representing a geographic constraint
Example ¶
extension := (&LocationConstraintExtensionBuilder{}).New(). WithLatitude(51.511831). WithLongitude(-0.081446). WithRadius(0.001). WithUncertainty(0.001). Build() data, _ := extension.MarshalJSON() fmt.Println(string(data))
Output: {"type":"LOCATION_CONSTRAINT","content":{"expected_device_location":{"latitude":51.511831,"longitude":-0.081446,"radius":0.001,"max_uncertainty_radius":0.001}}}
func (LocationConstraintExtension) MarshalJSON ¶
func (extension LocationConstraintExtension) MarshalJSON() ([]byte, error)
MarshalJSON returns the JSON encoding
type LocationConstraintExtensionBuilder ¶
type LocationConstraintExtensionBuilder struct {
// contains filtered or unexported fields
}
LocationConstraintExtensionBuilder is used to construct a LocationConstraintExtension
func (*LocationConstraintExtensionBuilder) Build ¶
func (builder *LocationConstraintExtensionBuilder) Build() LocationConstraintExtension
Build constructs a LocationConstraintExtension from the builder
func (*LocationConstraintExtensionBuilder) New ¶
func (builder *LocationConstraintExtensionBuilder) New() *LocationConstraintExtensionBuilder
New initializes the builder
func (*LocationConstraintExtensionBuilder) WithLatitude ¶
func (builder *LocationConstraintExtensionBuilder) WithLatitude(latitude float64) *LocationConstraintExtensionBuilder
WithLatitude sets the latitude of the location constraint
func (*LocationConstraintExtensionBuilder) WithLongitude ¶
func (builder *LocationConstraintExtensionBuilder) WithLongitude(longitude float64) *LocationConstraintExtensionBuilder
WithLongitude sets the longitude of the location constraint
func (*LocationConstraintExtensionBuilder) WithRadius ¶
func (builder *LocationConstraintExtensionBuilder) WithRadius(radius float64) *LocationConstraintExtensionBuilder
WithRadius sets the radius within which the location constraint will be satisfied
func (*LocationConstraintExtensionBuilder) WithUncertainty ¶
func (builder *LocationConstraintExtensionBuilder) WithUncertainty(uncertainty float64) *LocationConstraintExtensionBuilder
WithUncertainty sets the max uncertainty allowed by the location constraint extension
type ThirdPartyAttributeExtension ¶ added in v2.7.0
type ThirdPartyAttributeExtension struct {
// contains filtered or unexported fields
}
ThirdPartyAttributeExtension is an extension representing the issuance of a third party attribute
Example ¶
attributeDefinition := attribute.NewAttributeDefinition("some_value") datetime, err := time.Parse("2006-01-02T15:04:05.000Z", "2019-10-30T12:10:09.458Z") if err != nil { log.Printf("Error parsing date, %v", err) } extension := (&ThirdPartyAttributeExtensionBuilder{}).New(). WithExpiryDate(&datetime). WithDefinition(attributeDefinition). Build() data, _ := extension.MarshalJSON() fmt.Println(string(data))
Output: {"type":"THIRD_PARTY_ATTRIBUTE","content":{"expiry_date":"2019-10-30T12:10:09.458Z","definitions":[{"name":"some_value"}]}}
func (ThirdPartyAttributeExtension) MarshalJSON ¶ added in v2.7.0
func (extension ThirdPartyAttributeExtension) MarshalJSON() ([]byte, error)
MarshalJSON returns the JSON encoding
type ThirdPartyAttributeExtensionBuilder ¶ added in v2.7.0
type ThirdPartyAttributeExtensionBuilder struct {
// contains filtered or unexported fields
}
ThirdPartyAttributeExtensionBuilder is used to construct a ThirdPartyAttributeExtension
func (*ThirdPartyAttributeExtensionBuilder) Build ¶ added in v2.7.0
func (builder *ThirdPartyAttributeExtensionBuilder) Build() ThirdPartyAttributeExtension
Build creates a ThirdPartyAttributeExtension using the supplied values
func (*ThirdPartyAttributeExtensionBuilder) New ¶ added in v2.7.0
func (builder *ThirdPartyAttributeExtensionBuilder) New() *ThirdPartyAttributeExtensionBuilder
New initializes the builder
func (*ThirdPartyAttributeExtensionBuilder) WithDefinition ¶ added in v2.7.0
func (builder *ThirdPartyAttributeExtensionBuilder) WithDefinition(definition attribute.AttributeDefinition) *ThirdPartyAttributeExtensionBuilder
WithDefinition adds an attribute.AttributeDefinition to the list of definitions
func (*ThirdPartyAttributeExtensionBuilder) WithDefinitions ¶ added in v2.7.0
func (builder *ThirdPartyAttributeExtensionBuilder) WithDefinitions(definitions []attribute.AttributeDefinition) *ThirdPartyAttributeExtensionBuilder
WithDefinitions sets the array of attribute.AttributeDefinition on the extension
func (*ThirdPartyAttributeExtensionBuilder) WithExpiryDate ¶ added in v2.7.0
func (builder *ThirdPartyAttributeExtensionBuilder) WithExpiryDate(expiryDate *time.Time) *ThirdPartyAttributeExtensionBuilder
WithExpiryDate sets the expiry date of the extension as a UTC timestamp
type TransactionalFlowExtension ¶
type TransactionalFlowExtension struct {
// contains filtered or unexported fields
}
TransactionalFlowExtension represents a type of extension in a dynamic share
Example ¶
content := "SOME CONTENT" extension := (&TransactionalFlowExtensionBuilder{}).New(). WithContent(content). Build() data, _ := json.Marshal(extension) fmt.Println(string(data))
Output: {"type":"TRANSACTIONAL_FLOW","content":"SOME CONTENT"}
func (TransactionalFlowExtension) MarshalJSON ¶
func (extension TransactionalFlowExtension) MarshalJSON() ([]byte, error)
MarshalJSON returns the JSON encoding
type TransactionalFlowExtensionBuilder ¶
type TransactionalFlowExtensionBuilder struct {
// contains filtered or unexported fields
}
TransactionalFlowExtensionBuilder constructs a TransactionalFlowExtension
func (*TransactionalFlowExtensionBuilder) Build ¶
func (builder *TransactionalFlowExtensionBuilder) Build() TransactionalFlowExtension
Build constructs a TransactionalFlowExtension
func (*TransactionalFlowExtensionBuilder) New ¶
func (builder *TransactionalFlowExtensionBuilder) New() *TransactionalFlowExtensionBuilder
New initializes a TransactionalFlowExtensionBuilder
func (*TransactionalFlowExtensionBuilder) WithContent ¶
func (builder *TransactionalFlowExtensionBuilder) WithContent(content interface{}) *TransactionalFlowExtensionBuilder
WithContent sets the payload data for a TransactionalFlowExtension. The content must implement JSON serialization