forked from Ruderverein-Donau-Linz/rowt
		
	Merge pull request 'proper-time-in-notificatoins' (#453) from proper-time-in-notificatoins into main
Reviewed-on: Ruderverein-Donau-Linz/rowt#453
This commit is contained in:
		@@ -70,23 +70,39 @@ impl Notification {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pub async fn for_user(db: &SqlitePool, user: &User) -> Vec<Self> {
 | 
			
		||||
        sqlx::query_as!(
 | 
			
		||||
            Self,
 | 
			
		||||
        let rows = sqlx::query!(
 | 
			
		||||
            "
 | 
			
		||||
SELECT * FROM notification 
 | 
			
		||||
SELECT id, user_id, message, read_at, datetime(created_at, 'localtime') as created_at, category, link FROM notification 
 | 
			
		||||
WHERE 
 | 
			
		||||
  user_id = ? 
 | 
			
		||||
  AND (
 | 
			
		||||
    read_at IS NULL 
 | 
			
		||||
    OR read_at >= datetime('now', '-14 days')
 | 
			
		||||
  ) 
 | 
			
		||||
  AND created_at is not NULL
 | 
			
		||||
ORDER BY read_at DESC, created_at DESC;
 | 
			
		||||
            ",
 | 
			
		||||
            user.id
 | 
			
		||||
        )
 | 
			
		||||
        .fetch_all(db)
 | 
			
		||||
        .await
 | 
			
		||||
        .unwrap()
 | 
			
		||||
        .unwrap();
 | 
			
		||||
 | 
			
		||||
        rows.into_iter()
 | 
			
		||||
            .map(|rec| Notification {
 | 
			
		||||
                id: rec.id,
 | 
			
		||||
                user_id: rec.user_id,
 | 
			
		||||
                message: rec.message,
 | 
			
		||||
                read_at: rec.read_at,
 | 
			
		||||
                created_at: NaiveDateTime::parse_from_str(
 | 
			
		||||
                    &rec.created_at.unwrap(),
 | 
			
		||||
                    "%Y-%m-%d %H:%M:%S",
 | 
			
		||||
                )
 | 
			
		||||
                .unwrap(),
 | 
			
		||||
                category: rec.category,
 | 
			
		||||
                link: rec.link,
 | 
			
		||||
            })
 | 
			
		||||
            .collect()
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pub async fn mark_read(self, db: &SqlitePool) {
 | 
			
		||||
 
 | 
			
		||||
@@ -30,7 +30,7 @@
 | 
			
		||||
                            <div class="relative flex justify-between items-center p-3">
 | 
			
		||||
                                <div class="grow me-4">
 | 
			
		||||
                                    <small class="uppercase text-gray-600 dark:text-gray-100">
 | 
			
		||||
                                        <strong>{{ notification.category }}</strong> • {{ notification.created_at | date(timezone="Europe/Vienna", format="%d.%m.%Y %H:%M",) }}
 | 
			
		||||
                                        <strong>{{ notification.category }}</strong> • {{ notification.created_at | date(format="%d.%m.%Y %H:%M",) }}
 | 
			
		||||
                                    </small>
 | 
			
		||||
                                    <div class="mt-1">{{ notification.message | safe }}</div>
 | 
			
		||||
                                </div>
 | 
			
		||||
@@ -55,7 +55,7 @@
 | 
			
		||||
                            {% if notification.read_at %}
 | 
			
		||||
                                <div class="p-3 relative">
 | 
			
		||||
                                    <small class="uppercase text-gray-600 dark:text-gray-100">
 | 
			
		||||
                                        <strong>{{ notification.category }}</strong> • {{ notification.created_at | date(timezone="Europe/Vienna", format="%d.%m.%Y %H:%M") }}
 | 
			
		||||
                                        <strong>{{ notification.category }}</strong> • {{ notification.created_at | date(format="%d.%m.%Y %H:%M") }}
 | 
			
		||||
                                    </small>
 | 
			
		||||
                                    <div class="mt-1">{{ notification.message | safe }}</div>
 | 
			
		||||
                                </div>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user