module models // структуры объявляются в принципе как в гошке, заисключением того что видимо взято из С происходит деление на публичные и приватные // поэтому для того чтобы реализовать инкапсуляцию, если указать ключевое слово pub - будет все доступно pub struct Button { pub mut: text string @[json: 'Text'] state string @[json: 'State'] } pub struct Question { pub mut: title string @[json: 'Title'] description string @[json: 'Description'] buttons []Button @[json: 'Buttons'] } @[table: 'question'] pub struct QuizQuestion { pub mut: id i64 @[primary; sql: serial] quiz_id i64 @[sql: 'quiz_id'] title string @[sql: 'title'] description string @[sql: 'description'] question_type string @[sql: 'questiontype'] content string @[sql: 'content'] required bool @[sql: 'required'] deleted bool @[sql: 'deleted'] } @[table: 'telegram_integration'] pub struct TelegramIntegration { pub mut: id i64 @[primary; sql: serial] account_id string @[sql: 'accountid'] quiz_id i64 @[sql: 'quizid'] bot_token string @[sql: 'bot_token'] repeatable bool @[sql: 'repeatable'] bot_name string @[sql: 'bot_name'] deleted bool @[sql: 'deleted'] } @[table: 'respondent_state'] pub struct RespondentState { pub mut: id i64 @[primary; sql: serial] telegram_id i64 @[sql: 'telegram_id'] quiz_id i64 @[sql: 'quizid'] state string @[sql: 'state'] lang string @[sql: 'lang'] contact string @[sql: 'contact'] finish bool @[sql: 'finish'] }