github.com/yaegashi/msgraph.go@v0.1.4/beta/RequestCalendar.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 // CalendarRequestBuilder is request builder for Calendar 15 type CalendarRequestBuilder struct{ BaseRequestBuilder } 16 17 // Request returns CalendarRequest 18 func (b *CalendarRequestBuilder) Request() *CalendarRequest { 19 return &CalendarRequest{ 20 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 21 } 22 } 23 24 // CalendarRequest is request for Calendar 25 type CalendarRequest struct{ BaseRequest } 26 27 // Get performs GET request for Calendar 28 func (r *CalendarRequest) Get(ctx context.Context) (resObj *Calendar, err error) { 29 var query string 30 if r.query != nil { 31 query = "?" + r.query.Encode() 32 } 33 err = r.JSONRequest(ctx, "GET", query, nil, &resObj) 34 return 35 } 36 37 // Update performs PATCH request for Calendar 38 func (r *CalendarRequest) Update(ctx context.Context, reqObj *Calendar) error { 39 return r.JSONRequest(ctx, "PATCH", "", reqObj, nil) 40 } 41 42 // Delete performs DELETE request for Calendar 43 func (r *CalendarRequest) Delete(ctx context.Context) error { 44 return r.JSONRequest(ctx, "DELETE", "", nil, nil) 45 } 46 47 // CalendarGroupRequestBuilder is request builder for CalendarGroup 48 type CalendarGroupRequestBuilder struct{ BaseRequestBuilder } 49 50 // Request returns CalendarGroupRequest 51 func (b *CalendarGroupRequestBuilder) Request() *CalendarGroupRequest { 52 return &CalendarGroupRequest{ 53 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 54 } 55 } 56 57 // CalendarGroupRequest is request for CalendarGroup 58 type CalendarGroupRequest struct{ BaseRequest } 59 60 // Get performs GET request for CalendarGroup 61 func (r *CalendarGroupRequest) Get(ctx context.Context) (resObj *CalendarGroup, err error) { 62 var query string 63 if r.query != nil { 64 query = "?" + r.query.Encode() 65 } 66 err = r.JSONRequest(ctx, "GET", query, nil, &resObj) 67 return 68 } 69 70 // Update performs PATCH request for CalendarGroup 71 func (r *CalendarGroupRequest) Update(ctx context.Context, reqObj *CalendarGroup) error { 72 return r.JSONRequest(ctx, "PATCH", "", reqObj, nil) 73 } 74 75 // Delete performs DELETE request for CalendarGroup 76 func (r *CalendarGroupRequest) Delete(ctx context.Context) error { 77 return r.JSONRequest(ctx, "DELETE", "", nil, nil) 78 } 79 80 // CalendarPermissionRequestBuilder is request builder for CalendarPermission 81 type CalendarPermissionRequestBuilder struct{ BaseRequestBuilder } 82 83 // Request returns CalendarPermissionRequest 84 func (b *CalendarPermissionRequestBuilder) Request() *CalendarPermissionRequest { 85 return &CalendarPermissionRequest{ 86 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 87 } 88 } 89 90 // CalendarPermissionRequest is request for CalendarPermission 91 type CalendarPermissionRequest struct{ BaseRequest } 92 93 // Get performs GET request for CalendarPermission 94 func (r *CalendarPermissionRequest) Get(ctx context.Context) (resObj *CalendarPermission, err error) { 95 var query string 96 if r.query != nil { 97 query = "?" + r.query.Encode() 98 } 99 err = r.JSONRequest(ctx, "GET", query, nil, &resObj) 100 return 101 } 102 103 // Update performs PATCH request for CalendarPermission 104 func (r *CalendarPermissionRequest) Update(ctx context.Context, reqObj *CalendarPermission) error { 105 return r.JSONRequest(ctx, "PATCH", "", reqObj, nil) 106 } 107 108 // Delete performs DELETE request for CalendarPermission 109 func (r *CalendarPermissionRequest) Delete(ctx context.Context) error { 110 return r.JSONRequest(ctx, "DELETE", "", nil, nil) 111 } 112 113 // CalendarSharingMessageRequestBuilder is request builder for CalendarSharingMessage 114 type CalendarSharingMessageRequestBuilder struct{ BaseRequestBuilder } 115 116 // Request returns CalendarSharingMessageRequest 117 func (b *CalendarSharingMessageRequestBuilder) Request() *CalendarSharingMessageRequest { 118 return &CalendarSharingMessageRequest{ 119 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 120 } 121 } 122 123 // CalendarSharingMessageRequest is request for CalendarSharingMessage 124 type CalendarSharingMessageRequest struct{ BaseRequest } 125 126 // Get performs GET request for CalendarSharingMessage 127 func (r *CalendarSharingMessageRequest) Get(ctx context.Context) (resObj *CalendarSharingMessage, err error) { 128 var query string 129 if r.query != nil { 130 query = "?" + r.query.Encode() 131 } 132 err = r.JSONRequest(ctx, "GET", query, nil, &resObj) 133 return 134 } 135 136 // Update performs PATCH request for CalendarSharingMessage 137 func (r *CalendarSharingMessageRequest) Update(ctx context.Context, reqObj *CalendarSharingMessage) error { 138 return r.JSONRequest(ctx, "PATCH", "", reqObj, nil) 139 } 140 141 // Delete performs DELETE request for CalendarSharingMessage 142 func (r *CalendarSharingMessageRequest) Delete(ctx context.Context) error { 143 return r.JSONRequest(ctx, "DELETE", "", nil, nil) 144 } 145 146 // 147 type CalendarGetScheduleRequestBuilder struct{ BaseRequestBuilder } 148 149 // GetSchedule action undocumented 150 func (b *CalendarRequestBuilder) GetSchedule(reqObj *CalendarGetScheduleRequestParameter) *CalendarGetScheduleRequestBuilder { 151 bb := &CalendarGetScheduleRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 152 bb.BaseRequestBuilder.baseURL += "/getSchedule" 153 bb.BaseRequestBuilder.requestObject = reqObj 154 return bb 155 } 156 157 // 158 type CalendarGetScheduleRequest struct{ BaseRequest } 159 160 // 161 func (b *CalendarGetScheduleRequestBuilder) Request() *CalendarGetScheduleRequest { 162 return &CalendarGetScheduleRequest{ 163 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject}, 164 } 165 } 166 167 // 168 func (r *CalendarGetScheduleRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]ScheduleInformation, error) { 169 req, err := r.NewJSONRequest(method, path, obj) 170 if err != nil { 171 return nil, err 172 } 173 if ctx != nil { 174 req = req.WithContext(ctx) 175 } 176 res, err := r.client.Do(req) 177 if err != nil { 178 return nil, err 179 } 180 var values []ScheduleInformation 181 for { 182 if res.StatusCode != http.StatusOK { 183 b, _ := ioutil.ReadAll(res.Body) 184 res.Body.Close() 185 errRes := &ErrorResponse{Response: res} 186 err := jsonx.Unmarshal(b, errRes) 187 if err != nil { 188 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 189 } 190 return nil, errRes 191 } 192 var ( 193 paging Paging 194 value []ScheduleInformation 195 ) 196 err := jsonx.NewDecoder(res.Body).Decode(&paging) 197 res.Body.Close() 198 if err != nil { 199 return nil, err 200 } 201 err = jsonx.Unmarshal(paging.Value, &value) 202 if err != nil { 203 return nil, err 204 } 205 values = append(values, value...) 206 if n >= 0 { 207 n-- 208 } 209 if n == 0 || len(paging.NextLink) == 0 { 210 return values, nil 211 } 212 req, err = http.NewRequest("GET", paging.NextLink, nil) 213 if ctx != nil { 214 req = req.WithContext(ctx) 215 } 216 res, err = r.client.Do(req) 217 if err != nil { 218 return nil, err 219 } 220 } 221 } 222 223 // 224 func (r *CalendarGetScheduleRequest) PostN(ctx context.Context, n int) ([]ScheduleInformation, error) { 225 return r.Paging(ctx, "POST", "", r.requestObject, n) 226 } 227 228 // 229 func (r *CalendarGetScheduleRequest) Post(ctx context.Context) ([]ScheduleInformation, error) { 230 return r.Paging(ctx, "POST", "", r.requestObject, 0) 231 } 232 233 // 234 type CalendarSharingMessageAcceptRequestBuilder struct{ BaseRequestBuilder } 235 236 // Accept action undocumented 237 func (b *CalendarSharingMessageRequestBuilder) Accept(reqObj *CalendarSharingMessageAcceptRequestParameter) *CalendarSharingMessageAcceptRequestBuilder { 238 bb := &CalendarSharingMessageAcceptRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 239 bb.BaseRequestBuilder.baseURL += "/accept" 240 bb.BaseRequestBuilder.requestObject = reqObj 241 return bb 242 } 243 244 // 245 type CalendarSharingMessageAcceptRequest struct{ BaseRequest } 246 247 // 248 func (b *CalendarSharingMessageAcceptRequestBuilder) Request() *CalendarSharingMessageAcceptRequest { 249 return &CalendarSharingMessageAcceptRequest{ 250 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject}, 251 } 252 } 253 254 // 255 func (r *CalendarSharingMessageAcceptRequest) Post(ctx context.Context) (resObj *Calendar, err error) { 256 err = r.JSONRequest(ctx, "POST", "", r.requestObject, &resObj) 257 return 258 }