probo/client/client.go

106 lines
1.7 KiB
Go

package client
import "git.andreafazzi.eu/andrea/probo/models"
type Question struct {
Text string `json:"text"`
}
type Answer struct {
Text string `json:"text"`
Correct bool `json:"correct"`
}
type Quiz struct {
Question *Question `json:"question"`
Answers []*Answer `json:"answers"`
}
type Collection struct {
Name string `json:"name"`
Query string `json:"query"`
}
type Participant struct {
Firstname string `json:"firstname"`
Lastname string `json:"lastname"`
Token uint `json:"token"`
Attributes map[string]string `json:"attributes"`
}
type Exam struct {
Name string `json:"name"`
Description string `json:"description"`
ParticipantID string `json:"participant_id"`
CollectionID string `json:"collection_id"`
}
type BaseResponse struct {
Status string `json:"status"`
Message string `json:"message"`
}
type ReadAllQuizResponse struct {
BaseResponse
Content []*models.Quiz `json:"content"`
}
type CreateQuizResponse struct {
BaseResponse
Content *models.Quiz `json:"content"`
}
type UpdateQuizResponse struct {
BaseResponse
Content *models.Quiz `json:"content"`
}
type CreateQuestionRequest struct {
*Question
}
type CreateAnswerRequest struct {
*Answer
}
type CreateUpdateQuizRequest struct {
*Quiz
*models.Meta
}
type DeleteQuizRequest struct {
ID string
}
type CreateUpdateCollectionRequest struct {
*Collection
}
type DeleteCollectionRequest struct {
ID string
}
type CreateUpdateExamRequest struct {
*Exam
}
type DeleteExamRequest struct {
ID string
}
type ReadExamByIDRequest struct {
ID string
}
type CreateUpdateParticipantRequest struct {
*Participant
}
type DeleteParticipantRequest struct {
ID string
}
type ReadParticipantByIDRequest struct {
ID string
}