Add request to get preview url

This commit is contained in:
Neeraj Gupta
2024-08-08 12:51:42 +05:30
parent 2eb0cb3487
commit 50f6fd7440
2 changed files with 23 additions and 0 deletions

View File

@@ -72,3 +72,15 @@ type S3FileMetadata struct {
DecryptionHeader string `json:"header"`
Client string `json:"client"`
}
type GetPreviewUrlRequest struct {
FileID int64 `form:"fileID" binding:"required"`
Type ente.ObjectType `form:"type" binding:"required"`
}
func (g *GetPreviewUrlRequest) Validate() error {
if g.Type != ente.PreviewVideo && g.Type != ente.PreviewImage {
return ente.NewBadRequestWithMessage(fmt.Sprintf("unsupported object type %s", g.Type))
}
return nil
}

View File

@@ -25,6 +25,17 @@ func AllObjects(fileID int64, ownerID int64, oType ente.ObjectType) []string {
}
}
func PreviewUrl(fileID int64, ownerID int64, oType ente.ObjectType) string {
switch oType {
case ente.PreviewVideo:
return previewVideoPath(fileID, ownerID)
case ente.PreviewImage:
return previewImagePath(fileID, ownerID)
default:
panic(fmt.Sprintf("object type %s is not supported", oType))
}
}
func previewVideoPath(fileID int64, ownerID int64) string {
return fmt.Sprintf("%s%s", BasePrefix(fileID, ownerID), string(ente.PreviewVideo))
}