mod find;
use crate::generators::tetherscript::model::Model;
pub fn render(model: &Model) -> String {
let mut file = format!(
"// Queries for the `{}` table.\n\n{}",
model.table,
all(model)
);
match model.key() {
Some(key) => {
file.push_str(&find::render(model, &key.column));
file.push_str("export all\nexport find\n");
}
None => {
file.push_str(&find::unsupported(model));
file.push_str("export all\n");
}
}
file
}
fn all(model: &Model) -> String {
format!(
"// Returns every row.\n\
fn all() {{\n\
\x20 let sql = \"SELECT * FROM {table}{order}\"\n\n\
\x20 return db.query(sql, [])\n\
}}\n\n",
table = model.table,
order = super::order::clause(model)
)
}