Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Aggregation ¶
type Aggregation string
Aggregation details the mathematical function used to aggregate questions
const ( // Mean takes the average of the question values AggregationMean Aggregation = "MEAN" // Sum totals all the questions values AggregationSum Aggregation = "SUM" )
func (Aggregation) IsValid ¶
func (e Aggregation) IsValid() bool
func (Aggregation) MarshalGQL ¶
func (e Aggregation) MarshalGQL(w io.Writer)
func (Aggregation) String ¶
func (e Aggregation) String() string
func (*Aggregation) UnmarshalGQL ¶
func (e *Aggregation) UnmarshalGQL(v interface{}) error
type Band ¶
type Band struct { Min *float64 `json:"min"` Max *float64 `json:"max"` Label string `json:"label"` Description *string `json:"description"` }
Band provides context to scores within a certain band of values
type Changes ¶
type Changes struct { Version string `json:"version"` Changes []string `json:"changes"` Timestamp string `json:"timestamp"` }
Changes details the changes made in a given version
type LikertQuestion ¶
type LikertQuestion struct { ID string `json:"id"` Question string `json:"question"` Description *string `json:"description"` Short *string `json:"short"` Scale []*Point `json:"scale"` }
LikertQuestion is a likert scale question
func (LikertQuestion) IsQuestion ¶
func (LikertQuestion) IsQuestion()
type Link ¶
type Link struct { Name string `json:"name"` Description *string `json:"description"` URL string `json:"url"` }
Link captures a URL with some textual context
type PageInfo ¶
type PageInfo struct { HasNextPage bool `json:"hasNextPage"` Page int `json:"page"` Limit int `json:"limit"` }
PageInfo details the current page and whether pages are available either side
type Question ¶
type Question interface {
IsQuestion()
}
Question is the basic fields required by questions
type Questionnaire ¶
type Questionnaire struct { ID string `json:"id"` Logo *string `json:"logo"` Name string `json:"name"` Short *string `json:"short"` Version string `json:"version"` Changelog []Changes `json:"changelog"` Description *string `json:"description"` License string `json:"license"` Attribution *string `json:"attribution"` Instructions *string `json:"instructions"` Links []*Link `json:"links"` Questions []*Question `json:"questions"` Scorings []*Scoring `json:"scorings"` }
Questionnaire is a collection of questions and scorings
func (*Questionnaire) UnmarshalJSON ¶
func (q *Questionnaire) UnmarshalJSON(data []byte) error
type QuestionnaireList ¶
type QuestionnaireList struct { Questionnaires []*Questionnaire `json:"questionnaires"` PageInfo PageInfo `json:"pageInfo"` }
QuestionnaireList is a list of questionnaires along with page information
type Scoring ¶
type Scoring struct { ID string `json:"id"` Name string `json:"name"` Description *string `json:"description"` Questions []*string `json:"questions"` Aggregation Aggregation `json:"aggregation"` Bands []*Band `json:"bands"` }
Scoring is an aggregation of questions into a score which can be tracked and evaluated
Click to show internal directories.
Click to hide internal directories.