Documentation ¶
Overview ¶
The wireformat package contains definitions of wireformat used by the terms service.
Index ¶
- type Agreement
- type AgreementRequest
- type AgreementResponse
- type Agreements
- type CheckAgreementsRequest
- type CheckResult
- type DebugStatusResponse
- type GetTermsResponse
- type SaveAgreement
- type SaveAgreementResponses
- type SaveAgreements
- type SaveTerm
- type Term
- type TermIDResponse
- type Terms
- type TimeRFC3339
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Agreement ¶
type Agreement struct { User string `json:"user"` Owner string `json:"owner"` Term string `json:"term"` Revision int `json:"revision"` CreatedOn TimeRFC3339 `json:"created-on"` }
Agreement holds a single agreement made by the user to a specific revision of terms and conditions document.
type AgreementRequest ¶
type AgreementRequest struct { TermOwner string `json:"termowner"` TermName string `json:"termname"` TermRevision int `json:"termrevision"` }
AgreementRequest holds the parameters for creating a new user agreement to a specific revision of terms.
type AgreementResponse ¶
type AgreementResponse struct { User string `json:"user" yaml:"user"` Owner string `json:"owner,omitempty" yaml:"owner,omitempty"` Term string `json:"term" yaml:"term"` Revision int `json:"revision" yaml:"revision"` CreatedOn time.Time `json:"created-on" yaml:"createdon"` }
AgreementResponse holds the a single agreement made by the user to a specific revision of terms and conditions document.
type Agreements ¶
type Agreements struct {
Agreements []Agreement `json:"agreements"`
}
Agreements holds multiple agreements peformed in a single request.
type CheckAgreementsRequest ¶
type CheckAgreementsRequest struct {
Terms []string
}
CheckAgreementsRequest holds a slice of terms and the /v1/agreement endpoint will check if the user has agreed to the specified terms and return a slice of terms the user has not agreed to yet.
type CheckResult ¶
type CheckResult struct { // Name is the human readable name for the check. Name string `json:"name"` // Value is the check result. Value string `json:"value"` // Passed reports whether the check passed. Passed bool `json:"passed"` // Duration holds the duration that the // status check took to run. Duration time.Duration `json:"duration"` }
CheckResult holds the result of a single status check.
type DebugStatusResponse ¶
type DebugStatusResponse struct {
Checks map[string]CheckResult `json:"checks"`
}
DebugStatusResponse contains results of various checks that form the status of the terms service.
type GetTermsResponse ¶
type GetTermsResponse struct { Name string `json:"name" yaml:"name"` Owner string `json:"owner,omitempty" yaml:"owner,omitempty"` Title string `json:"title" yaml:"title"` Revision int `json:"revision" yaml:"revision"` CreatedOn time.Time `json:"created-on" yaml:"createdon"` Content string `json:"content" yaml:"content"` }
GetTermsResponse holds the response of the GetTerms call.
type SaveAgreement ¶
type SaveAgreement struct { TermOwner string `json:"termowner"` TermName string `json:"termname"` TermRevision int `json:"termrevision"` }
SaveAgreement holds the parameters for creating a new user agreement to a specific revision of terms.
type SaveAgreementResponses ¶
type SaveAgreementResponses struct {
Agreements []AgreementResponse `json:"agreements"`
}
SaveAgreementResponses holds the response of the SaveAgreement call.
type SaveAgreements ¶
type SaveAgreements struct {
Agreements []SaveAgreement `json:"agreements"`
}
SaveAgreements holds the parameters for creating new user agreements to one or more specific revisions of terms.
type SaveTerm ¶
type SaveTerm struct {
Content string `json:"content"`
}
SaveTerm structure contains the content of the terms document to be saved.
type Term ¶
type Term struct { Id string `json:"id" yaml:"id"` Owner string `json:"owner,omitempty" yaml:"owner,omitempty"` Name string `json:"name" yaml:"name"` Revision int `json:"revision" yaml:"revision"` Title string `json:"title,omitempty" yaml:"title,omitempty"` CreatedOn TimeRFC3339 `json:"created-on,omitempty" yaml:"createdon"` Published bool `json:"published", yaml:"published"` Content string `json:"content,omitempty" yaml:"content,omitempty"` }
Term contains the terms and conditions document structure.
type TermIDResponse ¶
type TermIDResponse struct {
TermID string `json:"term-id"`
}
TermIDResponse contains just the termID
type TimeRFC3339 ¶
TimeRFC3339 represents a time, which is marshaled and unmarshaled using the RFC3339 format
func (TimeRFC3339) MarshalJSON ¶
func (t TimeRFC3339) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaler interface.
func (TimeRFC3339) MarshalYAML ¶
func (t TimeRFC3339) MarshalYAML() (interface{}, error)
MarshalYAML implements gopkg.in/juju/yaml.v2 Marshaler interface.
func (*TimeRFC3339) UnmarshalJSON ¶
func (t *TimeRFC3339) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaler interface.
func (*TimeRFC3339) UnmarshalYAML ¶
func (t *TimeRFC3339) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements the yaml.Unmarshaler interface.