@@ -57,18 +57,22 @@ func setBody(body interface{}) base.ReqCallback {
5757}
5858
5959func handleFolderId (dir model.Obj ) interface {} {
60- if dir . GetID () == "" {
61- return nil
60+ if isRootFolder ( dir ) {
61+ return nil // Root folder doesn't need folderId
6262 }
6363 return dir .GetID ()
6464}
6565
66+ func isRootFolder (dir model.Obj ) bool {
67+ return dir .GetID () == ""
68+ }
69+
6670// API layer methods
6771
6872func (d * Misskey ) getFiles (dir model.Obj ) ([]model.Obj , error ) {
6973 var files []MFile
7074 var body map [string ]string
71- if dir . GetPath () != "/" {
75+ if ! isRootFolder ( dir ) {
7276 body = map [string ]string {"folderId" : dir .GetID ()}
7377 } else {
7478 body = map [string ]string {}
@@ -85,7 +89,7 @@ func (d *Misskey) getFiles(dir model.Obj) ([]model.Obj, error) {
8589func (d * Misskey ) getFolders (dir model.Obj ) ([]model.Obj , error ) {
8690 var folders []MFolder
8791 var body map [string ]string
88- if dir . GetPath () != "/" {
92+ if ! isRootFolder ( dir ) {
8993 body = map [string ]string {"folderId" : dir .GetID ()}
9094 } else {
9195 body = map [string ]string {}
@@ -197,16 +201,24 @@ func (d *Misskey) put(ctx context.Context, dstDir model.Obj, stream model.FileSt
197201 Reader : stream ,
198202 UpdateProgress : up ,
199203 })
204+
205+ // Build form data, only add folderId if not root folder
206+ formData := map [string ]string {
207+ "name" : stream .GetName (),
208+ "comment" : "" ,
209+ "isSensitive" : "false" ,
210+ "force" : "false" ,
211+ }
212+
213+ folderId := handleFolderId (dstDir )
214+ if folderId != nil {
215+ formData ["folderId" ] = folderId .(string )
216+ }
217+
200218 req := base .RestyClient .R ().
201219 SetContext (ctx ).
202220 SetFileReader ("file" , stream .GetName (), reader ).
203- SetFormData (map [string ]string {
204- "folderId" : handleFolderId (dstDir ).(string ),
205- "name" : stream .GetName (),
206- "comment" : "" ,
207- "isSensitive" : "false" ,
208- "force" : "false" ,
209- }).
221+ SetFormData (formData ).
210222 SetResult (& file ).
211223 SetAuthToken (d .AccessToken )
212224
0 commit comments