Documentation ¶
Index ¶
- type Balance
- type BalanceAttributes
- type BalanceListResponse
- type BalanceResponse
- type CreateBalance
- type CreateBalanceAttributes
- type CreateBalanceListRequest
- type CreateBalanceRequest
- type Details
- type Event
- type EventAttributes
- type EventClaimingState
- type EventClaimingStateAttributes
- type EventClaimingStateListResponse
- type EventClaimingStateResponse
- type EventListResponse
- type EventMeta
- type EventRelationships
- type EventResponse
- type EventStaticMeta
- type EventType
- type EventTypeListResponse
- type EventTypeResponse
- type Flag
- type Flagger
- type Flags
- type FulfillQrEvent
- type FulfillQrEventAttributes
- type FulfillQrEventListRequest
- type FulfillQrEventRequest
- type Included
- func (c *Included) Add(includes ...Resource)
- func (c Included) MarshalJSON() ([]byte, error)
- func (c *Included) MustBalance(key Key) *Balance
- func (c *Included) MustCreateBalance(key Key) *CreateBalance
- func (c *Included) MustEvent(key Key) *Event
- func (c *Included) MustEventClaimingState(key Key) *EventClaimingState
- func (c *Included) MustEventType(key Key) *EventType
- func (c *Included) MustFulfillQrEvent(key Key) *FulfillQrEvent
- func (c *Included) MustVerifyPassport(key Key) *VerifyPassport
- func (c *Included) UnmarshalJSON(data []byte) error
- type Key
- type Links
- type ReferralCode
- type Relation
- type RelationCollection
- type Resource
- type ResourceType
- type VerifyPassport
- type VerifyPassportAttributes
- type VerifyPassportListRequest
- type VerifyPassportRequest
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Balance ¶
type Balance struct { Key Attributes BalanceAttributes `json:"attributes"` }
type BalanceAttributes ¶
type BalanceAttributes struct { // Amount of points Amount int64 `json:"amount"` // Unix timestamp of balance creation CreatedAt int32 `json:"created_at"` // Whether the user was not referred by anybody, but the balance with some events was reserved. It happens when the user fulfills some event before the balance creation. IsDisabled *bool `json:"is_disabled,omitempty"` // Whether the user has scanned passport. Returned only for the single user. IsVerified *bool `json:"is_verified,omitempty"` // The level indicates user permissions and features Level int `json:"level"` // Rank of the user in the full leaderboard. Returned only for the single user. Rank *int `json:"rank,omitempty"` // Referral codes. Returned only for the single user. ReferralCodes *[]ReferralCode `json:"referral_codes,omitempty"` // Unix timestamp of the last points accruing UpdatedAt int32 `json:"updated_at"` }
type BalanceListResponse ¶
type BalanceListResponse struct { Data []Balance `json:"data"` Included Included `json:"included"` Links *Links `json:"links"` Meta json.RawMessage `json:"meta,omitempty"` }
func (*BalanceListResponse) GetMeta ¶
func (r *BalanceListResponse) GetMeta(out interface{}) error
func (*BalanceListResponse) PutMeta ¶
func (r *BalanceListResponse) PutMeta(v interface{}) (err error)
type BalanceResponse ¶
type CreateBalance ¶
type CreateBalance struct { Key Attributes CreateBalanceAttributes `json:"attributes"` }
type CreateBalanceAttributes ¶
type CreateBalanceAttributes struct { // referrer code from the link ReferredBy string `json:"referred_by"` }
type CreateBalanceListRequest ¶
type CreateBalanceListRequest struct { Data []CreateBalance `json:"data"` Included Included `json:"included"` Links *Links `json:"links"` Meta json.RawMessage `json:"meta,omitempty"` }
func (*CreateBalanceListRequest) GetMeta ¶
func (r *CreateBalanceListRequest) GetMeta(out interface{}) error
func (*CreateBalanceListRequest) PutMeta ¶
func (r *CreateBalanceListRequest) PutMeta(v interface{}) (err error)
type CreateBalanceRequest ¶
type CreateBalanceRequest struct { Data CreateBalance `json:"data"` Included Included `json:"included"` }
type Details ¶
type Details json.RawMessage
func (Details) MarshalJSON ¶
MarshalJSON - casts Details to []byte
func (*Details) UnmarshalJSON ¶
UnmarshalJSON - casts data to Details
type Event ¶
type Event struct { Key Attributes EventAttributes `json:"attributes"` Relationships *EventRelationships `json:"relationships,omitempty"` }
type EventAttributes ¶
type EventAttributes struct { // Unix timestamp of event creation CreatedAt int32 `json:"created_at"` // Whether this event may become expired. HasExpiration bool `json:"has_expiration"` Meta EventMeta `json:"meta"` // How many points were accrued. Required only for `claimed` events. This is necessary, as the reward might change over time, while the certain balance should be left intact. PointsAmount *int64 `json:"points_amount,omitempty"` // See `filter[status]` parameter for explanation Status string `json:"status"` // Unix timestamp of the event status change UpdatedAt int32 `json:"updated_at"` }
type EventClaimingState ¶
type EventClaimingState struct { Key Attributes EventClaimingStateAttributes `json:"attributes"` }
type EventClaimingStateAttributes ¶
type EventClaimingStateAttributes struct { // If passport scan event was automatically claimed Claimed bool `json:"claimed"` }
type EventClaimingStateListResponse ¶
type EventClaimingStateListResponse struct { Data []EventClaimingState `json:"data"` Included Included `json:"included"` Links *Links `json:"links"` Meta json.RawMessage `json:"meta,omitempty"` }
func (*EventClaimingStateListResponse) GetMeta ¶
func (r *EventClaimingStateListResponse) GetMeta(out interface{}) error
func (*EventClaimingStateListResponse) PutMeta ¶
func (r *EventClaimingStateListResponse) PutMeta(v interface{}) (err error)
type EventClaimingStateResponse ¶
type EventClaimingStateResponse struct { Data EventClaimingState `json:"data"` Included Included `json:"included"` }
type EventListResponse ¶
type EventListResponse struct { Data []Event `json:"data"` Included Included `json:"included"` Links *Links `json:"links"` Meta json.RawMessage `json:"meta,omitempty"` }
func (*EventListResponse) GetMeta ¶
func (r *EventListResponse) GetMeta(out interface{}) error
func (*EventListResponse) PutMeta ¶
func (r *EventListResponse) PutMeta(v interface{}) (err error)
type EventMeta ¶
type EventMeta struct { // Some events require dynamic data, which can be filled into `static` template. Dynamic *json.RawMessage `json:"dynamic,omitempty"` Static EventStaticMeta `json:"static"` }
type EventRelationships ¶
type EventRelationships struct {
Balance Relation `json:"balance"`
}
type EventResponse ¶
type EventStaticMeta ¶
type EventStaticMeta struct { // Page where you can fulfill the event ActionUrl *string `json:"action_url,omitempty"` // Whether the event is automatically claimed on fulfillment, or requires manual claim AutoClaim bool `json:"auto_claim"` Description string `json:"description"` // Whether the event is disabled in the system. Disabled events can only be retrieved. Disabled bool `json:"disabled"` // General event expiration date (UTC RFC3339) ExpiresAt *time.Time `json:"expires_at,omitempty"` // Event configuration flag: - active: Events can be opened, fulfilled, claimed - not_started: Event are not available yet, see `starts_at` - expired: Event is not available, as it has already expired, see `expires_at` - disabled: Event is disabled in the system If event is disabled, it doesn't matter if it's expired or not started: it has `disabled` flag. Do not specify this field on creation: this structure is reused for request body too. Flag string `json:"flag"` // Event frequency, which means how often you can fulfill certain task and claim the reward. Frequency string `json:"frequency"` // Event logo Logo *string `json:"logo,omitempty"` // Unique event code name Name string `json:"name"` // Base64-encoded QR code. Must match the code provided in event type. QrCodeValue *string `json:"qr_code_value,omitempty"` // Reward amount in points Reward int64 `json:"reward"` ShortDescription string `json:"short_description"` // General event starting date (UTC RFC3339) StartsAt *time.Time `json:"starts_at,omitempty"` Title string `json:"title"` }
Primary event metadata in plain JSON. This is a template to be filled by `dynamic` when it's present. This structure is also reused as request body to event type creation and update.
type EventType ¶
type EventType struct { Key Attributes EventStaticMeta `json:"attributes"` }
type EventTypeListResponse ¶
type EventTypeListResponse struct { Data []EventType `json:"data"` Included Included `json:"included"` Links *Links `json:"links"` Meta json.RawMessage `json:"meta,omitempty"` }
func (*EventTypeListResponse) GetMeta ¶
func (r *EventTypeListResponse) GetMeta(out interface{}) error
func (*EventTypeListResponse) PutMeta ¶
func (r *EventTypeListResponse) PutMeta(v interface{}) (err error)
type EventTypeResponse ¶
type FulfillQrEvent ¶
type FulfillQrEvent struct { Key Attributes FulfillQrEventAttributes `json:"attributes"` }
type FulfillQrEventAttributes ¶
type FulfillQrEventAttributes struct { // Base64-encoded QR code QrCode string `json:"qr_code"` }
type FulfillQrEventListRequest ¶
type FulfillQrEventListRequest struct { Data []FulfillQrEvent `json:"data"` Included Included `json:"included"` Links *Links `json:"links"` Meta json.RawMessage `json:"meta,omitempty"` }
func (*FulfillQrEventListRequest) GetMeta ¶
func (r *FulfillQrEventListRequest) GetMeta(out interface{}) error
func (*FulfillQrEventListRequest) PutMeta ¶
func (r *FulfillQrEventListRequest) PutMeta(v interface{}) (err error)
type FulfillQrEventRequest ¶
type FulfillQrEventRequest struct { Data FulfillQrEvent `json:"data"` Included Included `json:"included"` }
type Included ¶
type Included struct {
// contains filtered or unexported fields
}
Included - an array of Resource objects that are related to the primary data and/or each other (“included resources”).
func (Included) MarshalJSON ¶
MarshalJSON - marshals include collection as array of json objects
func (*Included) MustBalance ¶
MustBalance - returns Balance from include collection. if entry with specified key does not exist - returns nil if entry with specified key exists but type or ID mismatches - panics
func (*Included) MustCreateBalance ¶
func (c *Included) MustCreateBalance(key Key) *CreateBalance
MustCreateBalance - returns CreateBalance from include collection. if entry with specified key does not exist - returns nil if entry with specified key exists but type or ID mismatches - panics
func (*Included) MustEvent ¶
MustEvent - returns Event from include collection. if entry with specified key does not exist - returns nil if entry with specified key exists but type or ID mismatches - panics
func (*Included) MustEventClaimingState ¶
func (c *Included) MustEventClaimingState(key Key) *EventClaimingState
MustEventClaimingState - returns EventClaimingState from include collection. if entry with specified key does not exist - returns nil if entry with specified key exists but type or ID mismatches - panics
func (*Included) MustEventType ¶
MustEventType - returns EventType from include collection. if entry with specified key does not exist - returns nil if entry with specified key exists but type or ID mismatches - panics
func (*Included) MustFulfillQrEvent ¶
func (c *Included) MustFulfillQrEvent(key Key) *FulfillQrEvent
MustFulfillQrEvent - returns FulfillQrEvent from include collection. if entry with specified key does not exist - returns nil if entry with specified key exists but type or ID mismatches - panics
func (*Included) MustVerifyPassport ¶
func (c *Included) MustVerifyPassport(key Key) *VerifyPassport
MustVerifyPassport - returns VerifyPassport from include collection. if entry with specified key does not exist - returns nil if entry with specified key exists but type or ID mismatches - panics
func (*Included) UnmarshalJSON ¶
UmarshalJSON - unmarshal array of json objects into include collection
type Key ¶
type Key struct { ID string `json:"id"` Type ResourceType `json:"type"` }
func NewKeyInt64 ¶
func NewKeyInt64(id int64, resourceType ResourceType) Key
func (Key) AsRelation ¶
type ReferralCode ¶
type ReferralCode struct { // Referral code itself, unique identifier Id string `json:"id"` // Status of the code, belonging to this user (referrer): 1. infinity: the code have unlimited usage count and user can get points for each user who scanned passport 2. active: the code is not used yet by another user (referee) 3. awaiting: the code is used by referee who has scanned passport, but the referrer hasn't yet 4. rewarded: the code is used, both referee and referrer have scanned passports 5. consumed: the code is used by referee who has not scanned passport yet The list is sorted by priority. E.g. if the referee has scanned passport, but referrer not, the status would be `consumed`. If both not scann passport yet status would be `awaiting`. Status string `json:"status"` }
type RelationCollection ¶
func (RelationCollection) MarshalJSON ¶
func (r RelationCollection) MarshalJSON() ([]byte, error)
type ResourceType ¶
type ResourceType string
const ( BALANCE ResourceType = "balance" CLAIM_EVENT ResourceType = "claim_event" CREATE_BALANCE ResourceType = "create_balance" EVENT_CLAIMING_STATE ResourceType = "event_claiming_state" EVENT ResourceType = "event" EVENT_TYPE ResourceType = "event_type" FULFILL_QR_EVENT ResourceType = "fulfill_qr_event" VERIFY_PASSPORT ResourceType = "verify_passport" )
List of ResourceType
type VerifyPassport ¶
type VerifyPassport struct { Key Attributes VerifyPassportAttributes `json:"attributes"` }
type VerifyPassportListRequest ¶
type VerifyPassportListRequest struct { Data []VerifyPassport `json:"data"` Included Included `json:"included"` Links *Links `json:"links"` Meta json.RawMessage `json:"meta,omitempty"` }
func (*VerifyPassportListRequest) GetMeta ¶
func (r *VerifyPassportListRequest) GetMeta(out interface{}) error
func (*VerifyPassportListRequest) PutMeta ¶
func (r *VerifyPassportListRequest) PutMeta(v interface{}) (err error)
type VerifyPassportRequest ¶
type VerifyPassportRequest struct { Data VerifyPassport `json:"data"` Included Included `json:"included"` }
Source Files ¶
- db.go
- flag.go
- included.go
- links.go
- model_balance.go
- model_balance_attributes.go
- model_create_balance.go
- model_create_balance_attributes.go
- model_details.go
- model_event.go
- model_event_attributes.go
- model_event_claiming_state.go
- model_event_claiming_state_attributes.go
- model_event_meta.go
- model_event_relationships.go
- model_event_static_meta.go
- model_event_type.go
- model_fulfill_qr_event.go
- model_fulfill_qr_event_attributes.go
- model_key.go
- model_referral_code.go
- model_relation.go
- model_relation_collection.go
- model_resource_type.go
- model_verify_passport.go
- model_verify_passport_attributes.go