[server] More fixes for video preview API
This commit is contained in:
@@ -72,7 +72,7 @@ func (h *FileHandler) GetFilesData(ctx *gin.Context) {
|
||||
|
||||
func (h *FileHandler) GetFileData(ctx *gin.Context) {
|
||||
var req fileData.GetFileData
|
||||
if err := ctx.ShouldBindJSON(&req); err != nil {
|
||||
if err := ctx.ShouldBindQuery(&req); err != nil {
|
||||
ctx.JSON(http.StatusBadRequest, ente.NewBadRequestWithMessage(err.Error()))
|
||||
return
|
||||
}
|
||||
@@ -102,7 +102,7 @@ func (h *FileHandler) GetPreviewUploadURL(c *gin.Context) {
|
||||
|
||||
func (h *FileHandler) GetPreviewURL(c *gin.Context) {
|
||||
var request fileData.GetPreviewURLRequest
|
||||
if err := c.ShouldBindJSON(&request); err != nil {
|
||||
if err := c.ShouldBindQuery(&request); err != nil {
|
||||
handler.Error(c, stacktrace.Propagate(ente.ErrBadRequest, fmt.Sprintf("Request binding failed %s", err)))
|
||||
return
|
||||
}
|
||||
|
||||
@@ -30,39 +30,38 @@ func (c *Controller) InsertVideoPreview(ctx *gin.Context, req *filedata.VidPrevi
|
||||
return stacktrace.Propagate(sizeErr, "failed to validate size")
|
||||
}
|
||||
// Start a goroutine to handle the upload and insert operations
|
||||
go func() {
|
||||
obj := filedata.S3FileMetadata{
|
||||
Version: *req.Version,
|
||||
EncryptedData: req.Playlist,
|
||||
DecryptionHeader: req.PlayListHeader,
|
||||
Client: network.GetClientInfo(ctx),
|
||||
}
|
||||
logger := log.
|
||||
WithField("objectKey", objectKey).
|
||||
WithField("fileID", req.FileID).
|
||||
WithField("type", ente.PreviewVideo)
|
||||
size, uploadErr := c.uploadObject(obj, objectKey, bucketID)
|
||||
if uploadErr != nil {
|
||||
logger.WithError(uploadErr).Error("upload failed")
|
||||
return
|
||||
}
|
||||
nonce := "na"
|
||||
row := filedata.Row{
|
||||
FileID: req.FileID,
|
||||
Type: ente.PreviewVideo,
|
||||
UserID: fileOwnerID,
|
||||
Size: size + req.ObjectSize,
|
||||
LatestBucket: bucketID,
|
||||
ObjectID: &req.ObjectID,
|
||||
ObjectNonce: &nonce,
|
||||
}
|
||||
|
||||
dbInsertErr := c.Repo.InsertOrUpdatePreviewData(context.Background(), row, fileObjectKey)
|
||||
if dbInsertErr != nil {
|
||||
logger.WithError(dbInsertErr).Error("insert or update failed")
|
||||
return
|
||||
}
|
||||
}()
|
||||
//go func() {
|
||||
obj := filedata.S3FileMetadata{
|
||||
Version: *req.Version,
|
||||
EncryptedData: req.Playlist,
|
||||
DecryptionHeader: req.PlayListHeader,
|
||||
Client: network.GetClientInfo(ctx),
|
||||
}
|
||||
logger := log.
|
||||
WithField("objectKey", objectKey).
|
||||
WithField("fileID", req.FileID).
|
||||
WithField("type", ente.PreviewVideo)
|
||||
size, uploadErr := c.uploadObject(obj, objectKey, bucketID)
|
||||
if uploadErr != nil {
|
||||
logger.WithError(uploadErr).Error("upload failed")
|
||||
return nil
|
||||
}
|
||||
nonce := "na"
|
||||
row := filedata.Row{
|
||||
FileID: req.FileID,
|
||||
Type: ente.PreviewVideo,
|
||||
UserID: fileOwnerID,
|
||||
Size: size + req.ObjectSize,
|
||||
LatestBucket: bucketID,
|
||||
ObjectID: &req.ObjectID,
|
||||
ObjectNonce: &nonce,
|
||||
}
|
||||
dbInsertErr := c.Repo.InsertOrUpdatePreviewData(context.Background(), row, fileObjectKey)
|
||||
if dbInsertErr != nil {
|
||||
logger.WithError(dbInsertErr).Error("insert or update failed")
|
||||
return nil
|
||||
}
|
||||
//}()
|
||||
return nil
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user