use time::Date; #[derive(Queryable, Selectable)] #[diesel(table_name = crate::schema::users)] #[diesel(check_for_backend(diesel::mysql::Mysql))] pub struct User { pub id: i64, pub username: String, pub email: String, pub salt: String, pub pass: String, pub joined: Date, } #[derive(Insertable)] #[diesel(table_name = crate::schema::users)] #[diesel(check_for_backend(diesel::mysql::Mysql))] pub struct NewUser { pub username: String, pub email: String, pub salt: String, pub pass: String, pub joined: Date, } #[derive(Queryable, Selectable)] #[diesel(table_name = crate::schema::channels)] #[diesel(check_for_backend(diesel::mysql::Mysql))] pub struct Channel { pub id: i64, pub user: i64, pub name: String, pub bio: Option, } #[derive(Insertable)] #[diesel(table_name = crate::schema::channels)] #[diesel(check_for_backend(diesel::mysql::Mysql))] pub struct NewChannel { pub user: i64, pub name: String, pub bio: Option, } #[derive(Queryable, Selectable)] #[diesel(table_name = crate::schema::subscription)] #[diesel(check_for_backend(diesel::mysql::Mysql))] pub struct Subscription { pub subscription_id: i64, pub user_id: i64, pub channel_id: i64, } #[derive(Insertable)] #[diesel(table_name = crate::schema::subscription)] #[diesel(check_for_backend(diesel::mysql::Mysql))] pub struct NewSubscription { pub user_id: i64, pub channel_id: i64, }