extern crate base64;
use self::base64::{decode, encode};
use self::rusqlite::types::ToSql;
use self::rusqlite::NO_PARAMS;
use super::make_tags;
extern crate rusqlite;
use Note;
pub fn insert_image(note: Note) {
let data64 = note.annotations.replace("data:image/png;base64,", "");
let decoded = decode(&data64).unwrap();
let conn = &mut super::super::exe::get_sqlite_connection();
let tx = conn.transaction().unwrap();
{
tx.execute(
"
INSERT INTO note (title, url, tags, description, comments, annotations, created_at, is_public)
VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8);
",
&[
¬e.title,
¬e.url,
&make_tags(¬e.tags),
¬e.description,
¬e.comments,
&decoded as &ToSql,
¬e.created_at,
¬e.is_public as &ToSql,
],
).unwrap();
}
{
tx.execute(
"
UPDATE ssb SET is_last_note = 0
WHERE is_active_author = 1
",
NO_PARAMS,
)
.unwrap();
}
tx.commit().unwrap();
}