summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/matterbridge/msgraph.go/beta/extensions.go
diff options
context:
space:
mode:
authorWim <wim@42.be>2020-03-08 17:08:18 +0100
committerGitHub <noreply@github.com>2020-03-08 17:08:18 +0100
commit9785edd26366be8eb11c2435f50f90a5c8eea7fc (patch)
treee8e236b5b273e7535c607507cc059f3b957068a1 /vendor/github.com/matterbridge/msgraph.go/beta/extensions.go
parent2a0bc11b684f63305258e338c5f1d0e91eb24414 (diff)
downloadmatterbridge-msglm-9785edd26366be8eb11c2435f50f90a5c8eea7fc.tar.gz
matterbridge-msglm-9785edd26366be8eb11c2435f50f90a5c8eea7fc.tar.bz2
matterbridge-msglm-9785edd26366be8eb11c2435f50f90a5c8eea7fc.zip
Remove replace directives and use own fork to make go get work again (#1028)
See https://github.com/golang/go/issues/30354 go get doesn't honor the go.mod replace options.
Diffstat (limited to 'vendor/github.com/matterbridge/msgraph.go/beta/extensions.go')
-rw-r--r--vendor/github.com/matterbridge/msgraph.go/beta/extensions.go62
1 files changed, 62 insertions, 0 deletions
diff --git a/vendor/github.com/matterbridge/msgraph.go/beta/extensions.go b/vendor/github.com/matterbridge/msgraph.go/beta/extensions.go
new file mode 100644
index 00000000..23971438
--- /dev/null
+++ b/vendor/github.com/matterbridge/msgraph.go/beta/extensions.go
@@ -0,0 +1,62 @@
+// Code generated by msgraph-generate.go DO NOT EDIT.
+
+package msgraph
+
+import (
+ "context"
+ "fmt"
+ "net/url"
+ "strings"
+)
+
+// ItemWithPath returns DriveItemRequestBuilder addressed by relative path
+func (b *DriveItemRequestBuilder) ItemWithPath(path string) *DriveItemRequestBuilder {
+ bb := &DriveItemRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
+ if len(path) == 0 || path[0] != '/' {
+ path = "/" + path
+ }
+ bb.baseURL += ":" + path + ":"
+ return bb
+}
+
+// GetByPath returns SiteRequestBuilder addressed by hostname and path
+func (b *GraphServiceSitesCollectionRequestBuilder) GetByPath(hostname, path string) *SiteRequestBuilder {
+ bb := &SiteRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
+ if len(path) == 0 || path[0] != '/' {
+ path = "/" + path
+ }
+ bb.baseURL += "/" + hostname + ":" + path + ":"
+ return bb
+}
+
+// GetDriveItemByURL returns DriveItemRequestBuilder addressed by URL
+func (b *GraphServiceRequestBuilder) GetDriveItemByURL(ctx context.Context, itemURL string) (*DriveItemRequestBuilder, error) {
+ u, err := url.Parse(itemURL)
+ if err != nil {
+ return nil, err
+ }
+ u.RawQuery = ""
+ itemURL = u.String()
+ var site *Site
+ segments := strings.Split(u.Path, "/")
+ for i := 3; i <= len(segments); i++ {
+ site, err = b.Sites().GetByPath(u.Hostname(), strings.Join(segments[:i], "/")).Request().Get(ctx)
+ if err == nil {
+ break
+ }
+ }
+ if site == nil {
+ return nil, fmt.Errorf("Site for %s not found", itemURL)
+ }
+ drives, err := b.Sites().ID(*site.ID).Drives().Request().Get(ctx)
+ if err != nil {
+ return nil, err
+ }
+ for _, drive := range drives {
+ if strings.HasPrefix(itemURL, *drive.WebURL) {
+ path := itemURL[len(*drive.WebURL):]
+ return b.Drives().ID(*drive.ID).Root().ItemWithPath(path), nil
+ }
+ }
+ return nil, fmt.Errorf("DriveItem for %s not found", itemURL)
+}