// Code generated by summer make. DO NOT EDIT. package controllers import ( "git.golem15.com/golem15/sm-quizzes-plugin/models" "git.golem15.com/golem15/summercms/modules/cabana" "git.golem15.com/golem15/summercms/modules/pact" ) var ( _ pact.AdminController = questionsAdmin{} _ pact.AdminRecordSource = questionsAdmin{} _ pact.AdminPermissioned = questionsAdmin{} _ cabana.FieldRelationProvider = questionsAdmin{} ) // questionsAdmin lists and edits questions of every quiz; the list filters // by quiz, category and type. type questionsAdmin struct{} func (questionsAdmin) ID() string { return "golem15.quizzes.questions" } func (questionsAdmin) ModelName() string { return "Question" } func (questionsAdmin) ConfigDir() string { return "controllers/questions" } // NewRecord returns the model the generic admin handlers query and fill. func (questionsAdmin) NewRecord() any { return &models.Question{} } // RequiredPermissions is checked before any schema or record is served. func (questionsAdmin) RequiredPermissions() []string { return []string{"golem15.quizzes.access_quizzes"} } // AdminFieldRelations binds the quiz picker to quiz_id. func (questionsAdmin) AdminFieldRelations() []cabana.FieldRelationContract { return []cabana.FieldRelationContract{{ Field: "quiz", Kind: "belongsTo", NewRelated: func() any { return &models.Quiz{} }, ForeignKey: "quiz_id", LabelColumn: "title", }} } // QuestionsController returns the golem15.quizzes.questions admin controller. func QuestionsController() pact.AdminController { return questionsAdmin{} }