{ "version": "0.3.14-fixed", "steps": [ { "tag": "CreateEnum", "enum": "ChoiseType", "values": [ "SELECT", "CHECK", "CHOOSE" ] }, { "tag": "CreateEnum", "enum": "AnswerType", "values": [ "INPUT", "CHOISE" ] }, { "tag": "CreateSource", "source": "db" }, { "tag": "CreateArgument", "location": { "tag": "Source", "source": "db" }, "argument": "provider", "value": "\"postgres\"" }, { "tag": "CreateArgument", "location": { "tag": "Source", "source": "db" }, "argument": "url", "value": "\"***\"" }, { "tag": "CreateModel", "model": "Form" }, { "tag": "CreateField", "model": "Form", "field": "title", "type": "String", "arity": "Required" }, { "tag": "CreateField", "model": "Form", "field": "choisesQuestions", "type": "ChoisesQuestion", "arity": "List" }, { "tag": "CreateField", "model": "Form", "field": "inputQuestions", "type": "InputQuestion", "arity": "List" }, { "tag": "CreateField", "model": "Form", "field": "submissions", "type": "FormSubmission", "arity": "List" }, { "tag": "CreateField", "model": "Form", "field": "dateCreated", "type": "DateTime", "arity": "Required" }, { "tag": "CreateDirective", "location": { "path": { "tag": "Field", "model": "Form", "field": "dateCreated" }, "directive": "default" } }, { "tag": "CreateArgument", "location": { "tag": "Directive", "path": { "tag": "Field", "model": "Form", "field": "dateCreated" }, "directive": "default" }, "argument": "", "value": "now()" }, { "tag": "CreateField", "model": "Form", "field": "id", "type": "Int", "arity": "Required" }, { "tag": "CreateDirective", "location": { "path": { "tag": "Field", "model": "Form", "field": "id" }, "directive": "id" } }, { "tag": "CreateField", "model": "Form", "field": "userId", "type": "Int", "arity": "Required" }, { "tag": "CreateField", "model": "Form", "field": "author", "type": "User", "arity": "Required" }, { "tag": "CreateDirective", "location": { "path": { "tag": "Field", "model": "Form", "field": "author" }, "directive": "relation" } }, { "tag": "CreateArgument", "location": { "tag": "Directive", "path": { "tag": "Field", "model": "Form", "field": "author" }, "directive": "relation" }, "argument": "fields", "value": "[userId]" }, { "tag": "CreateArgument", "location": { "tag": "Directive", "path": { "tag": "Field", "model": "Form", "field": "author" }, "directive": "relation" }, "argument": "references", "value": "[id]" }, { "tag": "CreateModel", "model": "ChoisesQuestion" }, { "tag": "CreateField", "model": "ChoisesQuestion", "field": "title", "type": "String", "arity": "Required" }, { "tag": "CreateField", "model": "ChoisesQuestion", "field": "variants", "type": "Variant", "arity": "List" }, { "tag": "CreateField", "model": "ChoisesQuestion", "field": "type", "type": "ChoiseType", "arity": "Required" }, { "tag": "CreateField", "model": "ChoisesQuestion", "field": "number", "type": "Int", "arity": "Required" }, { "tag": "CreateField", "model": "ChoisesQuestion", "field": "id", "type": "Int", "arity": "Required" }, { "tag": "CreateDirective", "location": { "path": { "tag": "Field", "model": "ChoisesQuestion", "field": "id" }, "directive": "id" } }, { "tag": "CreateField", "model": "ChoisesQuestion", "field": "Form", "type": "Form", "arity": "Optional" }, { "tag": "CreateDirective", "location": { "path": { "tag": "Field", "model": "ChoisesQuestion", "field": "Form" }, "directive": "relation" } }, { "tag": "CreateArgument", "location": { "tag": "Directive", "path": { "tag": "Field", "model": "ChoisesQuestion", "field": "Form" }, "directive": "relation" }, "argument": "fields", "value": "[formId]" }, { "tag": "CreateArgument", "location": { "tag": "Directive", "path": { "tag": "Field", "model": "ChoisesQuestion", "field": "Form" }, "directive": "relation" }, "argument": "references", "value": "[id]" }, { "tag": "CreateField", "model": "ChoisesQuestion", "field": "formId", "type": "Int", "arity": "Optional" }, { "tag": "CreateModel", "model": "Variant" }, { "tag": "CreateField", "model": "Variant", "field": "text", "type": "String", "arity": "Required" }, { "tag": "CreateField", "model": "Variant", "field": "id", "type": "Int", "arity": "Required" }, { "tag": "CreateDirective", "location": { "path": { "tag": "Field", "model": "Variant", "field": "id" }, "directive": "id" } }, { "tag": "CreateField", "model": "Variant", "field": "ChoisesQuestion", "type": "ChoisesQuestion", "arity": "Optional" }, { "tag": "CreateDirective", "location": { "path": { "tag": "Field", "model": "Variant", "field": "ChoisesQuestion" }, "directive": "relation" } }, { "tag": "CreateArgument", "location": { "tag": "Directive", "path": { "tag": "Field", "model": "Variant", "field": "ChoisesQuestion" }, "directive": "relation" }, "argument": "fields", "value": "[choisesQuestionId]" }, { "tag": "CreateArgument", "location": { "tag": "Directive", "path": { "tag": "Field", "model": "Variant", "field": "ChoisesQuestion" }, "directive": "relation" }, "argument": "references", "value": "[id]" }, { "tag": "CreateField", "model": "Variant", "field": "choisesQuestionId", "type": "Int", "arity": "Optional" }, { "tag": "CreateModel", "model": "InputQuestion" }, { "tag": "CreateField", "model": "InputQuestion", "field": "title", "type": "String", "arity": "Required" }, { "tag": "CreateField", "model": "InputQuestion", "field": "number", "type": "Int", "arity": "Required" }, { "tag": "CreateField", "model": "InputQuestion", "field": "id", "type": "Int", "arity": "Required" }, { "tag": "CreateDirective", "location": { "path": { "tag": "Field", "model": "InputQuestion", "field": "id" }, "directive": "id" } }, { "tag": "CreateField", "model": "InputQuestion", "field": "Form", "type": "Form", "arity": "Optional" }, { "tag": "CreateDirective", "location": { "path": { "tag": "Field", "model": "InputQuestion", "field": "Form" }, "directive": "relation" } }, { "tag": "CreateArgument", "location": { "tag": "Directive", "path": { "tag": "Field", "model": "InputQuestion", "field": "Form" }, "directive": "relation" }, "argument": "fields", "value": "[formId]" }, { "tag": "CreateArgument", "location": { "tag": "Directive", "path": { "tag": "Field", "model": "InputQuestion", "field": "Form" }, "directive": "relation" }, "argument": "references", "value": "[id]" }, { "tag": "CreateField", "model": "InputQuestion", "field": "formId", "type": "Int", "arity": "Optional" }, { "tag": "CreateModel", "model": "FormSubmission" }, { "tag": "CreateField", "model": "FormSubmission", "field": "answers", "type": "Answer", "arity": "List" }, { "tag": "CreateField", "model": "FormSubmission", "field": "date", "type": "DateTime", "arity": "Required" }, { "tag": "CreateDirective", "location": { "path": { "tag": "Field", "model": "FormSubmission", "field": "date" }, "directive": "default" } }, { "tag": "CreateArgument", "location": { "tag": "Directive", "path": { "tag": "Field", "model": "FormSubmission", "field": "date" }, "directive": "default" }, "argument": "", "value": "now()" }, { "tag": "CreateField", "model": "FormSubmission", "field": "id", "type": "Int", "arity": "Required" }, { "tag": "CreateDirective", "location": { "path": { "tag": "Field", "model": "FormSubmission", "field": "id" }, "directive": "id" } }, { "tag": "CreateField", "model": "FormSubmission", "field": "user", "type": "User", "arity": "Required" }, { "tag": "CreateDirective", "location": { "path": { "tag": "Field", "model": "FormSubmission", "field": "user" }, "directive": "relation" } }, { "tag": "CreateArgument", "location": { "tag": "Directive", "path": { "tag": "Field", "model": "FormSubmission", "field": "user" }, "directive": "relation" }, "argument": "fields", "value": "[userId]" }, { "tag": "CreateArgument", "location": { "tag": "Directive", "path": { "tag": "Field", "model": "FormSubmission", "field": "user" }, "directive": "relation" }, "argument": "references", "value": "[id]" }, { "tag": "CreateField", "model": "FormSubmission", "field": "Form", "type": "Form", "arity": "Optional" }, { "tag": "CreateDirective", "location": { "path": { "tag": "Field", "model": "FormSubmission", "field": "Form" }, "directive": "relation" } }, { "tag": "CreateArgument", "location": { "tag": "Directive", "path": { "tag": "Field", "model": "FormSubmission", "field": "Form" }, "directive": "relation" }, "argument": "fields", "value": "[formId]" }, { "tag": "CreateArgument", "location": { "tag": "Directive", "path": { "tag": "Field", "model": "FormSubmission", "field": "Form" }, "directive": "relation" }, "argument": "references", "value": "[id]" }, { "tag": "CreateField", "model": "FormSubmission", "field": "formId", "type": "Int", "arity": "Optional" }, { "tag": "CreateField", "model": "FormSubmission", "field": "userId", "type": "Int", "arity": "Required" }, { "tag": "CreateModel", "model": "Answer" }, { "tag": "CreateField", "model": "Answer", "field": "id", "type": "Int", "arity": "Required" }, { "tag": "CreateDirective", "location": { "path": { "tag": "Field", "model": "Answer", "field": "id" }, "directive": "id" } }, { "tag": "CreateField", "model": "Answer", "field": "userInput", "type": "String", "arity": "Required" }, { "tag": "CreateField", "model": "Answer", "field": "userChoise", "type": "Int", "arity": "Required" }, { "tag": "CreateField", "model": "Answer", "field": "type", "type": "AnswerType", "arity": "Required" }, { "tag": "CreateField", "model": "Answer", "field": "FormSubmission", "type": "FormSubmission", "arity": "Optional" }, { "tag": "CreateDirective", "location": { "path": { "tag": "Field", "model": "Answer", "field": "FormSubmission" }, "directive": "relation" } }, { "tag": "CreateArgument", "location": { "tag": "Directive", "path": { "tag": "Field", "model": "Answer", "field": "FormSubmission" }, "directive": "relation" }, "argument": "fields", "value": "[formSubmissionId]" }, { "tag": "CreateArgument", "location": { "tag": "Directive", "path": { "tag": "Field", "model": "Answer", "field": "FormSubmission" }, "directive": "relation" }, "argument": "references", "value": "[id]" }, { "tag": "CreateField", "model": "Answer", "field": "formSubmissionId", "type": "Int", "arity": "Optional" }, { "tag": "CreateModel", "model": "User" }, { "tag": "CreateField", "model": "User", "field": "id", "type": "Int", "arity": "Required" }, { "tag": "CreateDirective", "location": { "path": { "tag": "Field", "model": "User", "field": "id" }, "directive": "id" } }, { "tag": "CreateField", "model": "User", "field": "name", "type": "String", "arity": "Required" }, { "tag": "CreateField", "model": "User", "field": "forms", "type": "Form", "arity": "List" }, { "tag": "CreateField", "model": "User", "field": "formsSubmissions", "type": "FormSubmission", "arity": "List" } ] }