// 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 = answersAdmin{} _ pact.AdminRecordSource = answersAdmin{} _ pact.AdminPermissioned = answersAdmin{} _ cabana.FieldRelationProvider = answersAdmin{} ) // answersAdmin lists and edits the answers of single and multiple // questions; the list filters by quiz. type answersAdmin struct{} func (answersAdmin) ID() string { return "golem15.quizzes.answers" } func (answersAdmin) ModelName() string { return "Answer" } func (answersAdmin) ConfigDir() string { return "controllers/answers" } // NewRecord returns the model the generic admin handlers query and fill. func (answersAdmin) NewRecord() any { return &models.Answer{} } // RequiredPermissions is checked before any schema or record is served. func (answersAdmin) RequiredPermissions() []string { return []string{"golem15.quizzes.access_quizzes"} } // AdminFieldRelations binds the question picker to question_id. func (answersAdmin) AdminFieldRelations() []cabana.FieldRelationContract { return []cabana.FieldRelationContract{{ Field: "question", Kind: "belongsTo", NewRelated: func() any { return &models.Question{} }, ForeignKey: "question_id", LabelColumn: "text", }} } // AnswersController returns the golem15.quizzes.answers admin controller. func AnswersController() pact.AdminController { return answersAdmin{} }