Documentation ¶
Overview ¶
Package payloads defines data structures to be used as tokens.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ConvertIntoMap ¶
func ConvertIntoMap(source interface{}) map[string]interface{}
ConvertIntoMap converts a struct into a map Fields without a `json` tag or having '-' as a json field name are skipped.
Types ¶
type AnswerToken ¶
type AnswerToken struct { // Nullable fields are of pointer types Date string `json:"date" validate:"dmy-date"` // dd-mm-yyyy UserID string `json:"idUser"` ItemID *string `json:"idItem"` // always is nil? AttemptID string `json:"idAttempt"` ItemURL string `json:"itemUrl"` LocalItemID string `json:"idItemLocal"` PlatformName string `json:"platformName" validate:"min=1,max=200"` // 1 <= length <= 200 RandomSeed string `json:"randomSeed"` HintsRequested *string `json:"sHintsRequested"` HintsGivenCount string `json:"nbHintsGiven"` Answer string `json:"sAnswer"` UserAnswerID string `json:"idUserAnswer"` PublicKey *rsa.PublicKey PrivateKey *rsa.PrivateKey }
AnswerToken represents data inside an answer token. idAttempt is required.
type HintToken ¶
type HintToken struct { Date string `json:"date" validate:"dmy-date"` // dd-mm-yyyy UserID string `json:"idUser,omitempty"` ItemID *string `json:"idItem,omitempty"` LocalItemID string `json:"idItemLocal"` ItemURL string `json:"itemUrl"` AttemptID string `json:"idAttempt"` AskedHint formdata.Anything `json:"askedHint"` Converted HintTokenConverted PublicKey *rsa.PublicKey PrivateKey *rsa.PrivateKey }
HintToken represents data inside a hint token
func (*HintToken) Bind ¶
Bind validates a hint token and converts some needed field values (called by ParseMap)
func (*HintToken) UnmarshalJSON ¶
UnmarshalJSON unmarshals the hint token payload from JSON
type HintTokenConverted ¶
type HintTokenConverted struct {
UserID int64
}
HintTokenConverted contains converted field values of HintToken payload
type ScoreToken ¶
type ScoreToken struct { // Nullable fields are of pointer types Date string `json:"date" validate:"dmy-date"` // dd-mm-yyyy UserID string `json:"idUser"` ItemID *string `json:"idItem,omitempty"` LocalItemID string `json:"idItemLocal"` AttemptID string `json:"idAttempt"` ItemURL string `json:"itemUrl"` Score string `json:"score"` UserAnswerID string `json:"idUserAnswer"` Answer *string `json:"sAnswer"` Converted ScoreTokenConverted PublicKey *rsa.PublicKey PrivateKey *rsa.PrivateKey }
ScoreToken represents data inside a score token
func (*ScoreToken) Bind ¶
func (tt *ScoreToken) Bind() error
Bind validates a score token and converts some needed field values (called by ParseMap)
type ScoreTokenConverted ¶
ScoreTokenConverted contains converted field values of ScoreToken payload
type TaskToken ¶
type TaskToken struct { // Nullable fields are of pointer types Date string `json:"date" validate:"set,dmy-date"` // dd-mm-yyyy UserID string `json:"idUser"` ItemID *string `json:"idItem,omitempty"` // always is nil? AttemptID string `json:"idAttempt"` ItemURL string `json:"itemUrl"` LocalItemID string `json:"idItemLocal"` PlatformName string `json:"platformName" validate:"min=1,max=200"` // 1 <= length <= 200 RandomSeed string `json:"randomSeed"` TaskID *string `json:"idTask,omitempty"` // always is nil? HintsAllowed *bool `json:"bHintsAllowed,omitempty"` HintPossible *bool `json:"bHintPossible,omitempty"` HintsRequested *string `json:"sHintsRequested,omitempty"` HintsGivenCount *string `json:"nbHintsGiven,omitempty"` AccessSolutions *bool `json:"bAccessSolutions,omitempty"` ReadAnswers *bool `json:"bReadAnswers,omitempty"` Login *string `json:"sLogin,omitempty"` SubmissionPossible *bool `json:"bSubmissionPossible,omitempty"` SupportedLangProg *string `json:"sSupportedLangProg,omitempty"` IsAdmin *bool `json:"bIsAdmin,omitempty"` Converted TaskTokenConverted PublicKey *rsa.PublicKey PrivateKey *rsa.PrivateKey }
TaskToken represents data inside a task token