aboutsummaryrefslogtreecommitdiffstats
path: root/drive/mkdir.go
blob: 99047ee2f624f95676107d80f6988c2f0bb104b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package drive

import (
    "google.golang.org/api/drive/v3"
    "io"
    "fmt"
)

const DirectoryMimeType = "application/vnd.google-apps.folder"

type MkdirArgs struct {
    Out io.Writer
    Name string
    Parent string
    Share bool
}

func (self *Drive) Mkdir(args MkdirArgs) (err error) {
    dstFile := &drive.File{Name: args.Name, MimeType: DirectoryMimeType}

    // Set parent folder if provided
    if args.Parent != "" {
        dstFile.Parents = []string{args.Parent}
    }

    // Create folder
    f, err := self.service.Files.Create(dstFile).Do()
    if err != nil {
        return fmt.Errorf("Failed to create folder: %s", err)
    }

    PrintFileInfo(PrintFileInfoArgs{Out: args.Out, File: f})

    //if args.Share {
    //    self.Share(TODO)
    //}
    return
}