reddit-magnet/src/models.rs

65 lines
1.8 KiB
Rust

use crate::schema::{bitmagnet_processed, magnets, transmission_processed};
use chrono::NaiveDateTime;
use diesel::prelude::*;
#[allow(dead_code)]
#[derive(Queryable, Selectable)]
#[diesel(table_name = magnets)]
#[diesel(check_for_backend(diesel::sqlite::Sqlite))]
pub struct Magnet {
pub id: Option<i32>,
pub title: String,
pub submitter: String,
pub subreddit: String,
pub link: String,
pub published_at: NaiveDateTime,
pub imdb_id: Option<String>,
}
#[derive(Insertable)]
#[diesel(table_name = magnets)]
#[diesel(check_for_backend(diesel::sqlite::Sqlite))]
pub struct NewMagnet<'a> {
pub title: &'a str,
pub submitter: &'a str,
pub subreddit: &'a str,
pub link: &'a str,
pub published_at: &'a NaiveDateTime,
pub imdb_id: Option<&'a str>,
}
#[allow(dead_code)]
#[derive(Queryable, Selectable)]
#[diesel(table_name = bitmagnet_processed)]
#[diesel(check_for_backend(diesel::sqlite::Sqlite))]
pub struct BitmagnetProcessed {
pub id: Option<i32>,
pub magnet_id: i32,
pub processed_at: NaiveDateTime,
}
#[derive(Insertable)]
#[diesel(table_name = bitmagnet_processed)]
#[diesel(check_for_backend(diesel::sqlite::Sqlite))]
pub struct NewBitmagnetProcessed<'a> {
pub magnet_id: i32,
pub processed_at: &'a NaiveDateTime,
}
#[allow(dead_code)]
#[derive(Queryable, Selectable)]
#[diesel(table_name = transmission_processed)]
#[diesel(check_for_backend(diesel::sqlite::Sqlite))]
pub struct TransmissionProcessed {
pub id: Option<i32>,
pub magnet_id: i32,
pub processed_at: NaiveDateTime,
}
#[derive(Insertable)]
#[diesel(table_name = transmission_processed)]
#[diesel(check_for_backend(diesel::sqlite::Sqlite))]
pub struct NewTransmissionProcessed<'a> {
pub magnet_id: i32,
pub processed_at: &'a NaiveDateTime,
}