You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.3 KiB
Go
46 lines
1.3 KiB
Go
package question
|
|
|
|
import domain "knowfoolery/backend/services/question-bank-service/internal/domain/question"
|
|
|
|
// RandomQuestionRequest is the random question use-case input.
|
|
type RandomQuestionRequest struct {
|
|
ExcludeQuestionIDs []string
|
|
Theme string
|
|
Difficulty domain.Difficulty
|
|
}
|
|
|
|
// CreateQuestionInput is the create question use-case input.
|
|
type CreateQuestionInput struct {
|
|
Theme string
|
|
Text string
|
|
Answer string
|
|
Hint string
|
|
Difficulty domain.Difficulty
|
|
}
|
|
|
|
// UpdateQuestionInput is the update question use-case input.
|
|
type UpdateQuestionInput struct {
|
|
Theme string
|
|
Text string
|
|
Answer string
|
|
Hint string
|
|
Difficulty domain.Difficulty
|
|
IsActive bool
|
|
}
|
|
|
|
// BulkImportItem is an item in a bulk import payload.
|
|
type BulkImportItem struct {
|
|
Theme string `json:"theme"`
|
|
Text string `json:"text"`
|
|
Answer string `json:"answer"`
|
|
Hint string `json:"hint"`
|
|
Difficulty domain.Difficulty `json:"difficulty"`
|
|
}
|
|
|
|
// BulkImportResult is the bulk import use-case output.
|
|
type BulkImportResult struct {
|
|
CreatedCount int `json:"created_count"`
|
|
FailedCount int `json:"failed_count"`
|
|
Errors []domain.BulkError `json:"errors,omitempty"`
|
|
}
|