Skip to content

Commit 3dbcc41

Browse files
committed
upload drop to config.
1 parent b40c077 commit 3dbcc41

File tree

4 files changed

+16
-0
lines changed

4 files changed

+16
-0
lines changed

Diff for: internal/api/room/upload.go

+4
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ import (
1616
const maxUploadSize = 32 << 20
1717

1818
func (h *RoomHandler) uploadDrop(w http.ResponseWriter, r *http.Request) error {
19+
if !h.desktop.IsUploadDropEnabled() {
20+
return utils.HttpBadRequest("upload drop is disabled")
21+
}
22+
1923
err := r.ParseMultipartForm(maxUploadSize)
2024
if err != nil {
2125
return utils.HttpBadRequest("failed to parse multipart form").WithInternalErr(err)

Diff for: internal/config/desktop.go

+7
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ type Desktop struct {
2020
InputSocket string
2121

2222
Unminimize bool
23+
UploadDrop bool
2324
FileChooserDialog bool
2425
}
2526

@@ -44,6 +45,11 @@ func (Desktop) Init(cmd *cobra.Command) error {
4445
return err
4546
}
4647

48+
cmd.PersistentFlags().Bool("desktop.upload_drop", true, "whether drop upload is enabled")
49+
if err := viper.BindPFlag("desktop.upload_drop", cmd.PersistentFlags().Lookup("desktop.upload_drop")); err != nil {
50+
return err
51+
}
52+
4753
cmd.PersistentFlags().Bool("desktop.file_chooser_dialog", false, "whether to handle file chooser dialog externally")
4854
if err := viper.BindPFlag("desktop.file_chooser_dialog", cmd.PersistentFlags().Lookup("desktop.file_chooser_dialog")); err != nil {
4955
return err
@@ -80,5 +86,6 @@ func (s *Desktop) Set() {
8086
s.UseInputDriver = viper.GetBool("desktop.input.enabled")
8187
s.InputSocket = viper.GetString("desktop.input.socket")
8288
s.Unminimize = viper.GetBool("desktop.unminimize")
89+
s.UploadDrop = viper.GetBool("desktop.upload_drop")
8390
s.FileChooserDialog = viper.GetBool("desktop.file_chooser_dialog")
8491
}

Diff for: internal/desktop/drop.go

+4
Original file line numberDiff line numberDiff line change
@@ -62,3 +62,7 @@ func (manager *DesktopManagerCtx) DropFiles(x int, y int, files []string) bool {
6262
return false
6363
}
6464
}
65+
66+
func (manager *DesktopManagerCtx) IsUploadDropEnabled() bool {
67+
return manager.config.UploadDrop
68+
}

Diff for: pkg/types/desktop.go

+1
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ type DesktopManager interface {
9494

9595
// drop
9696
DropFiles(x int, y int, files []string) bool
97+
IsUploadDropEnabled() bool
9798

9899
// filechooser
99100
HandleFileChooserDialog(uri string) error

0 commit comments

Comments
 (0)