1use crate::schema::snips;
2use chrono::NaiveDateTime;
3use diesel::{Identifiable, Insertable, Queryable, Selectable};
4
5#[derive(Queryable, Identifiable, Selectable, Debug)]
6#[diesel(table_name = snips)]
7#[diesel(check_for_backend(diesel::sqlite::Sqlite))]
8pub struct Snip {
9 pub id: i32,
10 pub alias: String,
11 pub value: String,
12 pub access_count: i32,
13 pub created: NaiveDateTime,
14 pub last_access: Option<NaiveDateTime>,
15}
16
17#[derive(Insertable, Debug)]
18#[diesel(table_name = snips)]
19pub struct NewSnip<'a> {
20 pub alias: &'a str,
21 pub value: &'a str,
22}
23
24impl<'a> NewSnip<'a> {
25 pub fn new(alias: &'a str, value: &'a str) -> Self {
26 NewSnip { alias, value }
27 }
28}