ADD thumbnail to database (#12)
* ADD thumbnail to database * ADD thumbnail generation and retrieval functionality * ADD thumbnail availability check in VideoCard component * ADD ClipDTO to reduce exposed internals * REFactor move APIResponse and VideoMetadata to dto package * REMOVE unused props from VideoCard * ADD isThumbnailAvailable function
This commit is contained in:
@@ -176,6 +176,15 @@ const getClipById = async (id: string): Promise<Clip | null> => {
|
||||
}
|
||||
};
|
||||
|
||||
const isThumbnailAvailable = async (id: number): Promise<boolean> => {
|
||||
const response = await fetch(`/api/v1/download/thumbnail/${id}`);
|
||||
if (!response.ok) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
export {
|
||||
uploadFile,
|
||||
editFile,
|
||||
@@ -184,5 +193,6 @@ export {
|
||||
getMetadata,
|
||||
getUser,
|
||||
getClips,
|
||||
getClipById
|
||||
getClipById,
|
||||
isThumbnailAvailable
|
||||
};
|
||||
@@ -23,14 +23,10 @@ type User = {
|
||||
|
||||
type Clip = {
|
||||
id: number,
|
||||
userId: number,
|
||||
title: string,
|
||||
description: string,
|
||||
duration: number,
|
||||
thumbnailPath: string,
|
||||
videoPath: string,
|
||||
fps: number,
|
||||
width: number,
|
||||
height: number,
|
||||
createdAt: string,
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user