github.com/yaegashi/msgraph.go@v0.1.4/beta/ActionRequest.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 // RequestObjectStopRequestParameter undocumented 15 type RequestObjectStopRequestParameter struct { 16 } 17 18 // RequestObjectRecordDecisionsRequestParameter undocumented 19 type RequestObjectRecordDecisionsRequestParameter struct { 20 // ReviewResult undocumented 21 ReviewResult *string `json:"reviewResult,omitempty"` 22 // Justification undocumented 23 Justification *string `json:"justification,omitempty"` 24 } 25 26 // Decisions returns request builder for AccessReviewDecision collection 27 func (b *RequestObjectRequestBuilder) Decisions() *RequestObjectDecisionsCollectionRequestBuilder { 28 bb := &RequestObjectDecisionsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 29 bb.baseURL += "/decisions" 30 return bb 31 } 32 33 // RequestObjectDecisionsCollectionRequestBuilder is request builder for AccessReviewDecision collection 34 type RequestObjectDecisionsCollectionRequestBuilder struct{ BaseRequestBuilder } 35 36 // Request returns request for AccessReviewDecision collection 37 func (b *RequestObjectDecisionsCollectionRequestBuilder) Request() *RequestObjectDecisionsCollectionRequest { 38 return &RequestObjectDecisionsCollectionRequest{ 39 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 40 } 41 } 42 43 // ID returns request builder for AccessReviewDecision item 44 func (b *RequestObjectDecisionsCollectionRequestBuilder) ID(id string) *AccessReviewDecisionRequestBuilder { 45 bb := &AccessReviewDecisionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 46 bb.baseURL += "/" + id 47 return bb 48 } 49 50 // RequestObjectDecisionsCollectionRequest is request for AccessReviewDecision collection 51 type RequestObjectDecisionsCollectionRequest struct{ BaseRequest } 52 53 // Paging perfoms paging operation for AccessReviewDecision collection 54 func (r *RequestObjectDecisionsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]AccessReviewDecision, error) { 55 req, err := r.NewJSONRequest(method, path, obj) 56 if err != nil { 57 return nil, err 58 } 59 if ctx != nil { 60 req = req.WithContext(ctx) 61 } 62 res, err := r.client.Do(req) 63 if err != nil { 64 return nil, err 65 } 66 var values []AccessReviewDecision 67 for { 68 if res.StatusCode != http.StatusOK { 69 b, _ := ioutil.ReadAll(res.Body) 70 res.Body.Close() 71 errRes := &ErrorResponse{Response: res} 72 err := jsonx.Unmarshal(b, errRes) 73 if err != nil { 74 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 75 } 76 return nil, errRes 77 } 78 var ( 79 paging Paging 80 value []AccessReviewDecision 81 ) 82 err := jsonx.NewDecoder(res.Body).Decode(&paging) 83 res.Body.Close() 84 if err != nil { 85 return nil, err 86 } 87 err = jsonx.Unmarshal(paging.Value, &value) 88 if err != nil { 89 return nil, err 90 } 91 values = append(values, value...) 92 if n >= 0 { 93 n-- 94 } 95 if n == 0 || len(paging.NextLink) == 0 { 96 return values, nil 97 } 98 req, err = http.NewRequest("GET", paging.NextLink, nil) 99 if ctx != nil { 100 req = req.WithContext(ctx) 101 } 102 res, err = r.client.Do(req) 103 if err != nil { 104 return nil, err 105 } 106 } 107 } 108 109 // GetN performs GET request for AccessReviewDecision collection, max N pages 110 func (r *RequestObjectDecisionsCollectionRequest) GetN(ctx context.Context, n int) ([]AccessReviewDecision, error) { 111 var query string 112 if r.query != nil { 113 query = "?" + r.query.Encode() 114 } 115 return r.Paging(ctx, "GET", query, nil, n) 116 } 117 118 // Get performs GET request for AccessReviewDecision collection 119 func (r *RequestObjectDecisionsCollectionRequest) Get(ctx context.Context) ([]AccessReviewDecision, error) { 120 return r.GetN(ctx, 0) 121 } 122 123 // Add performs POST request for AccessReviewDecision collection 124 func (r *RequestObjectDecisionsCollectionRequest) Add(ctx context.Context, reqObj *AccessReviewDecision) (resObj *AccessReviewDecision, err error) { 125 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 126 return 127 } 128 129 // MyDecisions returns request builder for AccessReviewDecision collection 130 func (b *RequestObjectRequestBuilder) MyDecisions() *RequestObjectMyDecisionsCollectionRequestBuilder { 131 bb := &RequestObjectMyDecisionsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 132 bb.baseURL += "/myDecisions" 133 return bb 134 } 135 136 // RequestObjectMyDecisionsCollectionRequestBuilder is request builder for AccessReviewDecision collection 137 type RequestObjectMyDecisionsCollectionRequestBuilder struct{ BaseRequestBuilder } 138 139 // Request returns request for AccessReviewDecision collection 140 func (b *RequestObjectMyDecisionsCollectionRequestBuilder) Request() *RequestObjectMyDecisionsCollectionRequest { 141 return &RequestObjectMyDecisionsCollectionRequest{ 142 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 143 } 144 } 145 146 // ID returns request builder for AccessReviewDecision item 147 func (b *RequestObjectMyDecisionsCollectionRequestBuilder) ID(id string) *AccessReviewDecisionRequestBuilder { 148 bb := &AccessReviewDecisionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 149 bb.baseURL += "/" + id 150 return bb 151 } 152 153 // RequestObjectMyDecisionsCollectionRequest is request for AccessReviewDecision collection 154 type RequestObjectMyDecisionsCollectionRequest struct{ BaseRequest } 155 156 // Paging perfoms paging operation for AccessReviewDecision collection 157 func (r *RequestObjectMyDecisionsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]AccessReviewDecision, error) { 158 req, err := r.NewJSONRequest(method, path, obj) 159 if err != nil { 160 return nil, err 161 } 162 if ctx != nil { 163 req = req.WithContext(ctx) 164 } 165 res, err := r.client.Do(req) 166 if err != nil { 167 return nil, err 168 } 169 var values []AccessReviewDecision 170 for { 171 if res.StatusCode != http.StatusOK { 172 b, _ := ioutil.ReadAll(res.Body) 173 res.Body.Close() 174 errRes := &ErrorResponse{Response: res} 175 err := jsonx.Unmarshal(b, errRes) 176 if err != nil { 177 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 178 } 179 return nil, errRes 180 } 181 var ( 182 paging Paging 183 value []AccessReviewDecision 184 ) 185 err := jsonx.NewDecoder(res.Body).Decode(&paging) 186 res.Body.Close() 187 if err != nil { 188 return nil, err 189 } 190 err = jsonx.Unmarshal(paging.Value, &value) 191 if err != nil { 192 return nil, err 193 } 194 values = append(values, value...) 195 if n >= 0 { 196 n-- 197 } 198 if n == 0 || len(paging.NextLink) == 0 { 199 return values, nil 200 } 201 req, err = http.NewRequest("GET", paging.NextLink, nil) 202 if ctx != nil { 203 req = req.WithContext(ctx) 204 } 205 res, err = r.client.Do(req) 206 if err != nil { 207 return nil, err 208 } 209 } 210 } 211 212 // GetN performs GET request for AccessReviewDecision collection, max N pages 213 func (r *RequestObjectMyDecisionsCollectionRequest) GetN(ctx context.Context, n int) ([]AccessReviewDecision, error) { 214 var query string 215 if r.query != nil { 216 query = "?" + r.query.Encode() 217 } 218 return r.Paging(ctx, "GET", query, nil, n) 219 } 220 221 // Get performs GET request for AccessReviewDecision collection 222 func (r *RequestObjectMyDecisionsCollectionRequest) Get(ctx context.Context) ([]AccessReviewDecision, error) { 223 return r.GetN(ctx, 0) 224 } 225 226 // Add performs POST request for AccessReviewDecision collection 227 func (r *RequestObjectMyDecisionsCollectionRequest) Add(ctx context.Context, reqObj *AccessReviewDecision) (resObj *AccessReviewDecision, err error) { 228 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 229 return 230 }