65 lines
1.7 KiB
Rust
65 lines
1.7 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: 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: 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: 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,
|
|
}
|