forked from Ruderverein-Donau-Linz/rowt
		
	notifications
This commit is contained in:
		| @@ -8,25 +8,35 @@ pub struct Notification { | ||||
|     pub user_id: i64, | ||||
|     pub message: String, | ||||
|     pub read_at: NaiveDateTime, | ||||
|     pub created_at: NaiveDateTime, | ||||
|     pub category: String, | ||||
|     pub link: Option<String>, | ||||
| } | ||||
|  | ||||
| impl Notification { | ||||
|     //pub async fn create(db: &SqlitePool, msg: String) -> bool { | ||||
|     //    sqlx::query!("INSERT INTO log(msg) VALUES (?)", msg,) | ||||
|     //        .execute(db) | ||||
|     //        .await | ||||
|     //        .is_ok() | ||||
|     //} | ||||
|     pub async fn create( | ||||
|         db: &SqlitePool, | ||||
|         user: &User, | ||||
|         message: &str, | ||||
|         category: &str, | ||||
|         link: Option<&str>, | ||||
|     ) { | ||||
|         sqlx::query!( | ||||
|             "INSERT INTO notification(user_id, message, category, link) VALUES (?, ?, ?, ?)", | ||||
|             user.id, | ||||
|             message, | ||||
|             category, | ||||
|             link | ||||
|         ) | ||||
|         .execute(db) | ||||
|         .await | ||||
|         .unwrap() | ||||
|     } | ||||
|  | ||||
|     async fn for_user(db: &SqlitePool, user: &User) -> Vec<Self> { | ||||
|         sqlx::query_as!( | ||||
|             Log, | ||||
|             " | ||||
| SELECT id, user_id, message, read_at, category | ||||
| FROM notification | ||||
| WHERE user_id = {} | ||||
|     ", | ||||
|             "SELECT * FROM notification WHERE user_id = {}", | ||||
|             user.id | ||||
|         ) | ||||
|         .fetch_all(db) | ||||
|   | ||||
| @@ -0,0 +1,9 @@ | ||||
| CREATE TABLE IF NOT EXISTS "notification" ( | ||||
| 	"id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, | ||||
| 	"user_id" INTEGER NOT NULL REFERENCES user(id), | ||||
| 	"message" TEXT NOT NULL, | ||||
| 	"read_at" DATETIME, | ||||
| 	"created_at" DATETIME DEFAULT CURRENT_TIMESTAMP, | ||||
| 	"category" TEXT NOT NULL, | ||||
| 	"link" TEXT | ||||
| ); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user