github.com/yaegashi/msgraph.go@v0.1.4/beta/ActionItem.go (about) 1 // Code generated by msgraph.go/gen DO NOT EDIT. 2 3 package msgraph 4 5 import ( 6 "context" 7 "fmt" 8 "io/ioutil" 9 "net/http" 10 11 "github.com/yaegashi/msgraph.go/jsonx" 12 ) 13 14 // ItemCategory is navigation property 15 func (b *ItemRequestBuilder) ItemCategory() *ItemCategoryRequestBuilder { 16 bb := &ItemCategoryRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 17 bb.baseURL += "/itemCategory" 18 return bb 19 } 20 21 // Picture returns request builder for Picture collection 22 func (b *ItemRequestBuilder) Picture() *ItemPictureCollectionRequestBuilder { 23 bb := &ItemPictureCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 24 bb.baseURL += "/picture" 25 return bb 26 } 27 28 // ItemPictureCollectionRequestBuilder is request builder for Picture collection 29 type ItemPictureCollectionRequestBuilder struct{ BaseRequestBuilder } 30 31 // Request returns request for Picture collection 32 func (b *ItemPictureCollectionRequestBuilder) Request() *ItemPictureCollectionRequest { 33 return &ItemPictureCollectionRequest{ 34 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 35 } 36 } 37 38 // ID returns request builder for Picture item 39 func (b *ItemPictureCollectionRequestBuilder) ID(id string) *PictureRequestBuilder { 40 bb := &PictureRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 41 bb.baseURL += "/" + id 42 return bb 43 } 44 45 // ItemPictureCollectionRequest is request for Picture collection 46 type ItemPictureCollectionRequest struct{ BaseRequest } 47 48 // Paging perfoms paging operation for Picture collection 49 func (r *ItemPictureCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]Picture, error) { 50 req, err := r.NewJSONRequest(method, path, obj) 51 if err != nil { 52 return nil, err 53 } 54 if ctx != nil { 55 req = req.WithContext(ctx) 56 } 57 res, err := r.client.Do(req) 58 if err != nil { 59 return nil, err 60 } 61 var values []Picture 62 for { 63 if res.StatusCode != http.StatusOK { 64 b, _ := ioutil.ReadAll(res.Body) 65 res.Body.Close() 66 errRes := &ErrorResponse{Response: res} 67 err := jsonx.Unmarshal(b, errRes) 68 if err != nil { 69 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 70 } 71 return nil, errRes 72 } 73 var ( 74 paging Paging 75 value []Picture 76 ) 77 err := jsonx.NewDecoder(res.Body).Decode(&paging) 78 res.Body.Close() 79 if err != nil { 80 return nil, err 81 } 82 err = jsonx.Unmarshal(paging.Value, &value) 83 if err != nil { 84 return nil, err 85 } 86 values = append(values, value...) 87 if n >= 0 { 88 n-- 89 } 90 if n == 0 || len(paging.NextLink) == 0 { 91 return values, nil 92 } 93 req, err = http.NewRequest("GET", paging.NextLink, nil) 94 if ctx != nil { 95 req = req.WithContext(ctx) 96 } 97 res, err = r.client.Do(req) 98 if err != nil { 99 return nil, err 100 } 101 } 102 } 103 104 // GetN performs GET request for Picture collection, max N pages 105 func (r *ItemPictureCollectionRequest) GetN(ctx context.Context, n int) ([]Picture, error) { 106 var query string 107 if r.query != nil { 108 query = "?" + r.query.Encode() 109 } 110 return r.Paging(ctx, "GET", query, nil, n) 111 } 112 113 // Get performs GET request for Picture collection 114 func (r *ItemPictureCollectionRequest) Get(ctx context.Context) ([]Picture, error) { 115 return r.GetN(ctx, 0) 116 } 117 118 // Add performs POST request for Picture collection 119 func (r *ItemPictureCollectionRequest) Add(ctx context.Context, reqObj *Picture) (resObj *Picture, err error) { 120 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 121 return 122 } 123 124 // DriveItem is navigation property 125 func (b *ItemActivityRequestBuilder) DriveItem() *DriveItemRequestBuilder { 126 bb := &DriveItemRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 127 bb.baseURL += "/driveItem" 128 return bb 129 } 130 131 // DriveItem is navigation property 132 func (b *ItemActivityOLDRequestBuilder) DriveItem() *DriveItemRequestBuilder { 133 bb := &DriveItemRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 134 bb.baseURL += "/driveItem" 135 return bb 136 } 137 138 // ListItem is navigation property 139 func (b *ItemActivityOLDRequestBuilder) ListItem() *ListItemRequestBuilder { 140 bb := &ListItemRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 141 bb.baseURL += "/listItem" 142 return bb 143 } 144 145 // Activities returns request builder for ItemActivity collection 146 func (b *ItemActivityStatRequestBuilder) Activities() *ItemActivityStatActivitiesCollectionRequestBuilder { 147 bb := &ItemActivityStatActivitiesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 148 bb.baseURL += "/activities" 149 return bb 150 } 151 152 // ItemActivityStatActivitiesCollectionRequestBuilder is request builder for ItemActivity collection 153 type ItemActivityStatActivitiesCollectionRequestBuilder struct{ BaseRequestBuilder } 154 155 // Request returns request for ItemActivity collection 156 func (b *ItemActivityStatActivitiesCollectionRequestBuilder) Request() *ItemActivityStatActivitiesCollectionRequest { 157 return &ItemActivityStatActivitiesCollectionRequest{ 158 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 159 } 160 } 161 162 // ID returns request builder for ItemActivity item 163 func (b *ItemActivityStatActivitiesCollectionRequestBuilder) ID(id string) *ItemActivityRequestBuilder { 164 bb := &ItemActivityRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 165 bb.baseURL += "/" + id 166 return bb 167 } 168 169 // ItemActivityStatActivitiesCollectionRequest is request for ItemActivity collection 170 type ItemActivityStatActivitiesCollectionRequest struct{ BaseRequest } 171 172 // Paging perfoms paging operation for ItemActivity collection 173 func (r *ItemActivityStatActivitiesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]ItemActivity, error) { 174 req, err := r.NewJSONRequest(method, path, obj) 175 if err != nil { 176 return nil, err 177 } 178 if ctx != nil { 179 req = req.WithContext(ctx) 180 } 181 res, err := r.client.Do(req) 182 if err != nil { 183 return nil, err 184 } 185 var values []ItemActivity 186 for { 187 if res.StatusCode != http.StatusOK { 188 b, _ := ioutil.ReadAll(res.Body) 189 res.Body.Close() 190 errRes := &ErrorResponse{Response: res} 191 err := jsonx.Unmarshal(b, errRes) 192 if err != nil { 193 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 194 } 195 return nil, errRes 196 } 197 var ( 198 paging Paging 199 value []ItemActivity 200 ) 201 err := jsonx.NewDecoder(res.Body).Decode(&paging) 202 res.Body.Close() 203 if err != nil { 204 return nil, err 205 } 206 err = jsonx.Unmarshal(paging.Value, &value) 207 if err != nil { 208 return nil, err 209 } 210 values = append(values, value...) 211 if n >= 0 { 212 n-- 213 } 214 if n == 0 || len(paging.NextLink) == 0 { 215 return values, nil 216 } 217 req, err = http.NewRequest("GET", paging.NextLink, nil) 218 if ctx != nil { 219 req = req.WithContext(ctx) 220 } 221 res, err = r.client.Do(req) 222 if err != nil { 223 return nil, err 224 } 225 } 226 } 227 228 // GetN performs GET request for ItemActivity collection, max N pages 229 func (r *ItemActivityStatActivitiesCollectionRequest) GetN(ctx context.Context, n int) ([]ItemActivity, error) { 230 var query string 231 if r.query != nil { 232 query = "?" + r.query.Encode() 233 } 234 return r.Paging(ctx, "GET", query, nil, n) 235 } 236 237 // Get performs GET request for ItemActivity collection 238 func (r *ItemActivityStatActivitiesCollectionRequest) Get(ctx context.Context) ([]ItemActivity, error) { 239 return r.GetN(ctx, 0) 240 } 241 242 // Add performs POST request for ItemActivity collection 243 func (r *ItemActivityStatActivitiesCollectionRequest) Add(ctx context.Context, reqObj *ItemActivity) (resObj *ItemActivity, err error) { 244 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 245 return 246 } 247 248 // AllTime is navigation property 249 func (b *ItemAnalyticsRequestBuilder) AllTime() *ItemActivityStatRequestBuilder { 250 bb := &ItemActivityStatRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 251 bb.baseURL += "/allTime" 252 return bb 253 } 254 255 // ItemActivityStats returns request builder for ItemActivityStat collection 256 func (b *ItemAnalyticsRequestBuilder) ItemActivityStats() *ItemAnalyticsItemActivityStatsCollectionRequestBuilder { 257 bb := &ItemAnalyticsItemActivityStatsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 258 bb.baseURL += "/itemActivityStats" 259 return bb 260 } 261 262 // ItemAnalyticsItemActivityStatsCollectionRequestBuilder is request builder for ItemActivityStat collection 263 type ItemAnalyticsItemActivityStatsCollectionRequestBuilder struct{ BaseRequestBuilder } 264 265 // Request returns request for ItemActivityStat collection 266 func (b *ItemAnalyticsItemActivityStatsCollectionRequestBuilder) Request() *ItemAnalyticsItemActivityStatsCollectionRequest { 267 return &ItemAnalyticsItemActivityStatsCollectionRequest{ 268 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 269 } 270 } 271 272 // ID returns request builder for ItemActivityStat item 273 func (b *ItemAnalyticsItemActivityStatsCollectionRequestBuilder) ID(id string) *ItemActivityStatRequestBuilder { 274 bb := &ItemActivityStatRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 275 bb.baseURL += "/" + id 276 return bb 277 } 278 279 // ItemAnalyticsItemActivityStatsCollectionRequest is request for ItemActivityStat collection 280 type ItemAnalyticsItemActivityStatsCollectionRequest struct{ BaseRequest } 281 282 // Paging perfoms paging operation for ItemActivityStat collection 283 func (r *ItemAnalyticsItemActivityStatsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]ItemActivityStat, error) { 284 req, err := r.NewJSONRequest(method, path, obj) 285 if err != nil { 286 return nil, err 287 } 288 if ctx != nil { 289 req = req.WithContext(ctx) 290 } 291 res, err := r.client.Do(req) 292 if err != nil { 293 return nil, err 294 } 295 var values []ItemActivityStat 296 for { 297 if res.StatusCode != http.StatusOK { 298 b, _ := ioutil.ReadAll(res.Body) 299 res.Body.Close() 300 errRes := &ErrorResponse{Response: res} 301 err := jsonx.Unmarshal(b, errRes) 302 if err != nil { 303 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 304 } 305 return nil, errRes 306 } 307 var ( 308 paging Paging 309 value []ItemActivityStat 310 ) 311 err := jsonx.NewDecoder(res.Body).Decode(&paging) 312 res.Body.Close() 313 if err != nil { 314 return nil, err 315 } 316 err = jsonx.Unmarshal(paging.Value, &value) 317 if err != nil { 318 return nil, err 319 } 320 values = append(values, value...) 321 if n >= 0 { 322 n-- 323 } 324 if n == 0 || len(paging.NextLink) == 0 { 325 return values, nil 326 } 327 req, err = http.NewRequest("GET", paging.NextLink, nil) 328 if ctx != nil { 329 req = req.WithContext(ctx) 330 } 331 res, err = r.client.Do(req) 332 if err != nil { 333 return nil, err 334 } 335 } 336 } 337 338 // GetN performs GET request for ItemActivityStat collection, max N pages 339 func (r *ItemAnalyticsItemActivityStatsCollectionRequest) GetN(ctx context.Context, n int) ([]ItemActivityStat, error) { 340 var query string 341 if r.query != nil { 342 query = "?" + r.query.Encode() 343 } 344 return r.Paging(ctx, "GET", query, nil, n) 345 } 346 347 // Get performs GET request for ItemActivityStat collection 348 func (r *ItemAnalyticsItemActivityStatsCollectionRequest) Get(ctx context.Context) ([]ItemActivityStat, error) { 349 return r.GetN(ctx, 0) 350 } 351 352 // Add performs POST request for ItemActivityStat collection 353 func (r *ItemAnalyticsItemActivityStatsCollectionRequest) Add(ctx context.Context, reqObj *ItemActivityStat) (resObj *ItemActivityStat, err error) { 354 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 355 return 356 } 357 358 // LastSevenDays is navigation property 359 func (b *ItemAnalyticsRequestBuilder) LastSevenDays() *ItemActivityStatRequestBuilder { 360 bb := &ItemActivityStatRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 361 bb.baseURL += "/lastSevenDays" 362 return bb 363 } 364 365 // Item is navigation property 366 func (b *ItemAttachmentRequestBuilder) Item() *OutlookItemRequestBuilder { 367 bb := &OutlookItemRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 368 bb.baseURL += "/item" 369 return bb 370 }