| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- /** @module survey/survey */
- import { _baseRecord } from '..'
- import { surveySchema } from './survey.schema'
-
- class Survey extends _baseRecord {
- constructor(questionSteps, roles) {
- super()
-
- this.type = this.constructor.name.toLowerCase()
-
- /** Fields */
- this.steps = [
- ...questionSteps
- ] // ! required
- this.roleTree = roles
-
- return this
- }
- setRoleResponses(position) {
- const roleStep = this.steps.filter(step => step.response_key_prompt == 'role')[0]
- roleStep.responses = this.roleTree[position]
- console.log(roleStep)
- console.log(this.roleTree[position])
- }
- isValid() {
- const validate = surveySchema.validate(this)
-
- /**
- * Log out some useful error messages
- */
- if (validate.error) {
- console.error(`error: ${validate.error} - ${this.type} validation`)
- }
-
- /** validate(this) always returns something so force it to a bool */
- return !validate.error ? true : false
- }
-
- }
-
- export { Survey }
|