Add download button in the SharePlayer
This commit is contained in:
@@ -45,6 +45,9 @@ func checkShareError(ctx context.Context, w http.ResponseWriter, err error, id s
|
||||
case errors.Is(err, model.ErrNotFound):
|
||||
log.Error(ctx, "Share not found", "id", id, err)
|
||||
http.Error(w, "Share not found", http.StatusNotFound)
|
||||
case errors.Is(err, model.ErrNotAuthorized):
|
||||
log.Error(ctx, "Share is not downloadable", "id", id, err)
|
||||
http.Error(w, "This share is not downloadable", http.StatusForbidden)
|
||||
case err != nil:
|
||||
log.Error(ctx, "Error retrieving share", "id", id, err)
|
||||
http.Error(w, "Error retrieving share", http.StatusInternalServerError)
|
||||
|
||||
@@ -122,8 +122,10 @@ func getIndexTemplate(r *http.Request, fs fs.FS) (*template.Template, error) {
|
||||
}
|
||||
|
||||
type shareData struct {
|
||||
Description string `json:"description"`
|
||||
Tracks []shareTrack `json:"tracks"`
|
||||
ID string `json:"id"`
|
||||
Description string `json:"description"`
|
||||
Downloadable bool `json:"downloadable"`
|
||||
Tracks []shareTrack `json:"tracks"`
|
||||
}
|
||||
|
||||
type shareTrack struct {
|
||||
@@ -141,7 +143,9 @@ func addShareData(r *http.Request, data map[string]interface{}, shareInfo *model
|
||||
return
|
||||
}
|
||||
sd := shareData{
|
||||
Description: shareInfo.Description,
|
||||
ID: shareInfo.ID,
|
||||
Description: shareInfo.Description,
|
||||
Downloadable: shareInfo.Downloadable,
|
||||
}
|
||||
sd.Tracks = slice.Map(shareInfo.Tracks, func(mf model.MediaFile) shareTrack {
|
||||
return shareTrack{
|
||||
|
||||
Reference in New Issue
Block a user