Pārlūkot izejas kodu

feat: Added uploadedAt to YouTube videos table

Owen Diffey 1 gadu atpakaļ
vecāks
revīzija
bce831bcab

+ 1 - 1
backend/logic/db/schemas/youtubeVideo.js

@@ -3,7 +3,7 @@ export default {
 	title: { type: String, trim: true, required: true },
 	author: { type: String, trim: true, required: true },
 	duration: { type: Number, required: true },
-	uploadedAt: { type: Number },
+	uploadedAt: { type: Date },
 	createdAt: { type: Date, default: Date.now, required: true },
 	documentVersion: { type: Number, default: 1, required: true }
 };

+ 20 - 0
frontend/src/pages/Admin/YouTube/Videos.vue

@@ -118,6 +118,14 @@ const columns = ref<TableColumn[]>([
 		sortProperty: "songId",
 		defaultWidth: 220,
 		defaultVisibility: "hidden"
+	},
+	{
+		name: "uploadedAt",
+		displayName: "Uploaded At",
+		properties: ["uploadedAt"],
+		sortProperty: "uploadedAt",
+		defaultWidth: 200,
+		defaultVisibility: "hidden"
 	}
 ]);
 const filters = ref<TableFilter[]>([
@@ -182,6 +190,13 @@ const filters = ref<TableFilter[]>([
 		property: "songId",
 		filterTypes: ["contains", "exact", "regex"],
 		defaultFilterType: "contains"
+	},
+	{
+		name: "uploadedAt",
+		displayName: "Uploaded At",
+		property: "uploadedAt",
+		filterTypes: ["datetimeBefore", "datetimeAfter"],
+		defaultFilterType: "datetimeBefore"
 	}
 ]);
 const events = ref<TableEvents>({
@@ -381,6 +396,11 @@ const removeVideos = videoIds => {
 					slotProps.item.songId
 				}}</span>
 			</template>
+			<template #column-uploadedAt="slotProps">
+				<span :title="new Date(slotProps.item.uploadedAt).toString()">{{
+					utils.getDateFormatted(slotProps.item.uploadedAt)
+				}}</span>
+			</template>
 			<template #bulk-actions="slotProps">
 				<div class="bulk-actions">
 					<i

+ 1 - 1
frontend/src/stores/viewYoutubeVideo.ts

@@ -13,7 +13,7 @@ export const useViewYoutubeVideoStore = ({
 				title: string;
 				author: string;
 				duration: number;
-				uploadedAt?: number;
+				uploadedAt?: Date;
 			};
 			player: {
 				error: boolean;

+ 1 - 1
frontend/src/utils.ts

@@ -68,7 +68,7 @@ export default {
 
 		return formatHours() + formatMinutes() + formatSeconds();
 	},
-	getDateFormatted: (createdAt: number) => {
+	getDateFormatted: (createdAt: number | Date) => {
 		const date = new Date(createdAt);
 		const year = date.getFullYear();
 		const month = `${date.getMonth() + 1}`.padStart(2, "0");