jitz-sharepoint-utilities 1.10.65 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,386 +1,392 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- var __generator = (this && this.__generator) || function (thisArg, body) {
11
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
- function verb(n) { return function (v) { return step([n, v]); }; }
14
- function step(op) {
15
- if (f) throw new TypeError("Generator is already executing.");
16
- while (_) try {
17
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
- if (y = 0, t) op = [op[0] & 2, t.value];
19
- switch (op[0]) {
20
- case 0: case 1: t = op; break;
21
- case 4: _.label++; return { value: op[1], done: false };
22
- case 5: _.label++; y = op[1]; op = [0]; continue;
23
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
- default:
25
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
- if (t[2]) _.ops.pop();
30
- _.trys.pop(); continue;
31
- }
32
- op = body.call(thisArg, _);
33
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
- }
36
- };
37
- Object.defineProperty(exports, "__esModule", { value: true });
38
- var Repository = /** @class */ (function () {
39
- function Repository(context, listName) {
40
- this.context = context;
41
- this.listName = listName;
42
- }
43
- Repository.prototype.getAll = function (selectFields, expand, filters, orderBy, top, skipTokenUniqueField, skipTokenUniqueFieldValue) {
44
- var queryUrlGetAllItems = "/_api/web/lists/GetByTitle('" + this.listName + "')/items";
45
- if (selectFields != null && selectFields != "") {
46
- queryUrlGetAllItems = queryUrlGetAllItems + "?$select=" + selectFields;
47
- }
48
- else {
49
- queryUrlGetAllItems = queryUrlGetAllItems + "?$select=*";
50
- }
51
- if (expand != null && expand != "") {
52
- queryUrlGetAllItems = queryUrlGetAllItems + "&$expand=" + expand;
53
- }
54
- if (filters != null && filters != "") {
55
- queryUrlGetAllItems = queryUrlGetAllItems + "&$filter=" + filters;
56
- }
57
- if (orderBy != null && orderBy != "") {
58
- queryUrlGetAllItems = queryUrlGetAllItems + "&$orderby=" + orderBy;
59
- }
60
- if (top != null && top != undefined && top > 0) {
61
- queryUrlGetAllItems = queryUrlGetAllItems + "&$top=" + top;
62
- }
63
- if (skipTokenUniqueField != null &&
64
- skipTokenUniqueField != undefined &&
65
- skipTokenUniqueFieldValue != null &&
66
- skipTokenUniqueFieldValue != undefined) {
67
- if (skipTokenUniqueField == "Id" || skipTokenUniqueField == "id") {
68
- skipTokenUniqueField = "ID";
69
- }
70
- queryUrlGetAllItems =
71
- queryUrlGetAllItems +
72
- ("&$skiptoken=Paged=TRUE%26p_" + skipTokenUniqueField + "=" + skipTokenUniqueFieldValue);
73
- }
74
- return this.context.client
75
- .get(queryUrlGetAllItems)
76
- .then(function (response) {
77
- if (response.status >= 200 && response.status < 300) {
78
- return response.data.d.results;
79
- }
80
- else {
81
- return Promise.reject(new Error(JSON.stringify(response)));
82
- }
83
- })
84
- .then(function (data) {
85
- var items = [];
86
- if (data) {
87
- for (var i = 0; i < data.length; i++) {
88
- var item = data[i];
89
- items.push(item);
90
- }
91
- }
92
- return items;
93
- })
94
- .catch(function (ex) {
95
- console.log("load Items > JitzSPHttpClient.get()...catch:", ex);
96
- throw ex;
97
- });
98
- };
99
- Repository.prototype.getAllRecursive = function (selectFields, expand, filters, orderBy, top, maxRecursiveCount) {
100
- if (maxRecursiveCount === void 0) { maxRecursiveCount = 5; }
101
- return __awaiter(this, void 0, void 0, function () {
102
- var items, queryUrlGetAllItems;
103
- var _this = this;
104
- return __generator(this, function (_a) {
105
- switch (_a.label) {
106
- case 0:
107
- items = [];
108
- queryUrlGetAllItems = "/_api/web/lists/GetByTitle('" + this.listName + "')/items";
109
- if (selectFields != null && selectFields != "") {
110
- queryUrlGetAllItems = queryUrlGetAllItems + "?$select=" + selectFields;
111
- }
112
- else {
113
- queryUrlGetAllItems = queryUrlGetAllItems + "?$select=*";
114
- }
115
- if (expand != null && expand != "") {
116
- queryUrlGetAllItems = queryUrlGetAllItems + "&$expand=" + expand;
117
- }
118
- if (filters != null && filters != "") {
119
- queryUrlGetAllItems = queryUrlGetAllItems + "&$filter=" + filters;
120
- }
121
- if (orderBy != null && orderBy != "") {
122
- queryUrlGetAllItems = queryUrlGetAllItems + "&$orderby=" + orderBy;
123
- }
124
- if (top != null && top != undefined && top > 0) {
125
- queryUrlGetAllItems = queryUrlGetAllItems + "&$top=" + top;
126
- }
127
- return [4 /*yield*/, this.context.client
128
- .get(queryUrlGetAllItems)
129
- .then(function (response) { return __awaiter(_this, void 0, void 0, function () {
130
- return __generator(this, function (_a) {
131
- switch (_a.label) {
132
- case 0:
133
- if (!(response.status >= 200 && response.status < 300)) return [3 /*break*/, 2];
134
- return [4 /*yield*/, response.data.d];
135
- case 1: return [2 /*return*/, _a.sent()];
136
- case 2: return [2 /*return*/, Promise.reject(new Error(JSON.stringify(response)))];
137
- }
138
- });
139
- }); })
140
- .then(function (data) { return __awaiter(_this, void 0, void 0, function () {
141
- var i, item, returnItem;
142
- return __generator(this, function (_a) {
143
- switch (_a.label) {
144
- case 0:
145
- if (data.results) {
146
- for (i = 0; i < data.results.length; i++) {
147
- item = data.results[i];
148
- items.push(item);
149
- }
150
- }
151
- returnItem = {
152
- __next: data.__next,
153
- results: items,
154
- };
155
- if (!(returnItem.__next != undefined && returnItem.__next.length > 0)) return [3 /*break*/, 2];
156
- return [4 /*yield*/, this.recursiveFetch(returnItem.__next, 2, maxRecursiveCount, returnItem.results)];
157
- case 1:
158
- items = _a.sent();
159
- _a.label = 2;
160
- case 2: return [2 /*return*/];
161
- }
162
- });
163
- }); })
164
- .catch(function (ex) {
165
- console.log("load Items > JitzSPHttpClient.get()...catch:", ex);
166
- throw ex;
167
- })];
168
- case 1:
169
- _a.sent();
170
- return [2 /*return*/, items];
171
- }
172
- });
173
- });
174
- };
175
- Repository.prototype.recursiveFetch = function (url, recursiveCount, maxRecursiveCount, items) {
176
- if (recursiveCount === void 0) { recursiveCount = 1; }
177
- if (maxRecursiveCount === void 0) { maxRecursiveCount = 5; }
178
- if (items === void 0) { items = []; }
179
- return __awaiter(this, void 0, void 0, function () {
180
- var _this = this;
181
- return __generator(this, function (_a) {
182
- switch (_a.label) {
183
- case 0:
184
- items = items || [];
185
- return [4 /*yield*/, this.context.client
186
- .get(url)
187
- .then(function (response) { return __awaiter(_this, void 0, void 0, function () {
188
- return __generator(this, function (_a) {
189
- switch (_a.label) {
190
- case 0:
191
- if (!(response.status >= 200 && response.status < 300)) return [3 /*break*/, 2];
192
- return [4 /*yield*/, response.data.d];
193
- case 1: return [2 /*return*/, _a.sent()];
194
- case 2: return [2 /*return*/, Promise.reject(new Error(JSON.stringify(response)))];
195
- }
196
- });
197
- }); })
198
- .then(function (data) { return __awaiter(_this, void 0, void 0, function () {
199
- var i, item, returnItem;
200
- return __generator(this, function (_a) {
201
- switch (_a.label) {
202
- case 0:
203
- if (data.results) {
204
- for (i = 0; i < data.results.length; i++) {
205
- item = data.results[i];
206
- items.push(item);
207
- }
208
- }
209
- returnItem = {
210
- __next: data.__next,
211
- results: items,
212
- };
213
- if (!(returnItem.__next != undefined &&
214
- returnItem.__next.length > 0 &&
215
- recursiveCount < maxRecursiveCount)) return [3 /*break*/, 2];
216
- return [4 /*yield*/, this.recursiveFetch(returnItem.__next, recursiveCount + 1, maxRecursiveCount, returnItem.results)];
217
- case 1:
218
- items = _a.sent();
219
- _a.label = 2;
220
- case 2: return [2 /*return*/];
221
- }
222
- });
223
- }); })
224
- .catch(function (ex) {
225
- console.log("load Items > JitzSPHttpClient.get()...catch:", ex);
226
- throw ex;
227
- })];
228
- case 1:
229
- _a.sent();
230
- return [2 /*return*/, items];
231
- }
232
- });
233
- });
234
- };
235
- Repository.prototype.itemsCount = function (filters) {
236
- var queryUrlGetAllItems = "_api/web/lists/GetByTitle('" + this.listName + "')/ItemCount";
237
- if (filters != null && filters != "") {
238
- queryUrlGetAllItems = queryUrlGetAllItems + "?$filter=" + filters;
239
- }
240
- return this.context.client
241
- .get(queryUrlGetAllItems)
242
- .then(function (response) {
243
- if (response.status >= 200 && response.status < 300) {
244
- // console.log(response);
245
- return response.data.d.ItemCount;
246
- }
247
- else {
248
- return Promise.reject(new Error(JSON.stringify(response)));
249
- }
250
- })
251
- .then(function (data) {
252
- return data;
253
- })
254
- .catch(function (ex) {
255
- console.log("loadEvents > JitzSPHttpClient.get()...catch:", ex);
256
- throw ex;
257
- });
258
- };
259
- Repository.prototype.getItemById = function (id, selectFields, expand) {
260
- return __awaiter(this, void 0, void 0, function () {
261
- var queryUrl;
262
- return __generator(this, function (_a) {
263
- switch (_a.label) {
264
- case 0:
265
- queryUrl = "_api/web/lists/getByTitle('" +
266
- this.listName +
267
- "')/items(" +
268
- id +
269
- ")" +
270
- ("?$select=*" + (selectFields != undefined ? "," + selectFields : "")) +
271
- ("" + (expand != undefined ? "&$expand=" + expand : ""));
272
- return [4 /*yield*/, this.context.client
273
- .get(queryUrl)
274
- .then(function (response) {
275
- if (response.status >= 200 && response.status < 300) {
276
- return response.data.d;
277
- }
278
- else {
279
- return Promise.reject(new Error(JSON.stringify(response)));
280
- }
281
- })
282
- .then(function (data) {
283
- return data;
284
- })
285
- .catch(function (ex) {
286
- console.log("loadEvents > JitzSPHttpClient.get()...catch:", ex);
287
- throw ex;
288
- })];
289
- case 1: return [2 /*return*/, _a.sent()];
290
- }
291
- });
292
- });
293
- };
294
- Repository.prototype.createItem = function (item) {
295
- var _this = this;
296
- return this.getEntityType().then(function (entityType) {
297
- item.__metadata = {
298
- type: entityType,
299
- };
300
- var requestUrl = "_api/web/lists/getbytitle('" + _this.listName + "')/items";
301
- return _this.context.client
302
- .post(requestUrl, item, {
303
- Accept: "application/json;odata=nometadata",
304
- "Content-type": "application/json;odata=verbose",
305
- "odata-version": "",
306
- })
307
- .then(function (response) {
308
- if (response.status >= 200 && response.status < 300) {
309
- var json = response;
310
- return json;
311
- }
312
- else {
313
- return Promise.reject(new Error(JSON.stringify(response)));
314
- }
315
- });
316
- });
317
- };
318
- Repository.prototype.updateItem = function (item) {
319
- var _this = this;
320
- return this.getEntityType().then(function (entityType) {
321
- item.__metadata = {
322
- //etag: "1",
323
- type: entityType,
324
- };
325
- var requestUrl = "_api/web/lists/getbytitle('" + _this.listName + "')/items(" + item.Id + ")";
326
- return _this.context.client
327
- .post(requestUrl, item, {
328
- Accept: "application/json;odata=nometadata",
329
- "Content-type": "application/json;odata=verbose",
330
- "odata-version": "",
331
- "IF-MATCH": "*",
332
- "X-HTTP-Method": "MERGE",
333
- })
334
- .then(function (response) {
335
- if (response.status >= 200 && response.status < 300) {
336
- return item;
337
- }
338
- else {
339
- console.log(JSON.stringify(response));
340
- return Promise.reject(new Error(JSON.stringify(response)));
341
- }
342
- });
343
- });
344
- };
345
- Repository.prototype.deleteItem = function (id) {
346
- var requestUrl = "_api/web/lists/getbytitle('" + this.listName + "')/items(" + id + ")";
347
- return this.context.client
348
- .post(requestUrl, {}, {
349
- Accept: "application/json;odata=nometadata",
350
- "Content-type": "application/json;odata=verbose",
351
- "odata-version": "",
352
- "IF-MATCH": "*",
353
- "X-HTTP-Method": "DELETE",
354
- })
355
- .then(function (response) {
356
- if (response.status >= 200 && response.status < 300) {
357
- return true;
358
- }
359
- else {
360
- return Promise.reject(new Error(JSON.stringify(response)));
361
- }
362
- });
363
- };
364
- Repository.prototype.getEntityType = function () {
365
- var _this = this;
366
- return new Promise(function (resolve, reject) {
367
- if (_this._listEntityType) {
368
- resolve(_this._listEntityType);
369
- return;
370
- }
371
- _this.context.client
372
- .get("_api/web/lists/getbytitle('" + _this.listName + "')?$select=ListItemEntityTypeFullName")
373
- .then(function (response) {
374
- return response;
375
- }, function (error) {
376
- reject(error);
377
- })
378
- .then(function (response) {
379
- _this._listEntityType = response.data.d.ListItemEntityTypeFullName;
380
- resolve(_this._listEntityType || "");
381
- });
382
- });
383
- };
384
- return Repository;
385
- }());
386
- exports.default = Repository;
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (_) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ var Repository = /** @class */ (function () {
39
+ function Repository(context, listName) {
40
+ this.context = context;
41
+ this.listName = listName;
42
+ }
43
+ Repository.prototype.getAll = function (selectFields, expand, filters, orderBy, top, skipTokenUniqueField, skipTokenUniqueFieldValue) {
44
+ var queryUrlGetAllItems = this.context.siteUrl + "/_api/web/lists/GetByTitle('" +
45
+ this.listName +
46
+ "')/items";
47
+ if (selectFields != null && selectFields != "") {
48
+ queryUrlGetAllItems = queryUrlGetAllItems + "?$select=" + selectFields;
49
+ }
50
+ else {
51
+ queryUrlGetAllItems = queryUrlGetAllItems + "?$select=*";
52
+ }
53
+ if (expand != null && expand != "") {
54
+ queryUrlGetAllItems = queryUrlGetAllItems + "&$expand=" + expand;
55
+ }
56
+ if (filters != null && filters != "") {
57
+ queryUrlGetAllItems = queryUrlGetAllItems + "&$filter=" + filters;
58
+ }
59
+ if (orderBy != null && orderBy != "") {
60
+ queryUrlGetAllItems = queryUrlGetAllItems + "&$orderby=" + orderBy;
61
+ }
62
+ if (top != null && top != undefined && top > 0) {
63
+ queryUrlGetAllItems = queryUrlGetAllItems + "&$top=" + top;
64
+ }
65
+ if (skipTokenUniqueField != null &&
66
+ skipTokenUniqueField != undefined &&
67
+ skipTokenUniqueFieldValue != null &&
68
+ skipTokenUniqueFieldValue != undefined) {
69
+ if (skipTokenUniqueField == "Id" || skipTokenUniqueField == "id") {
70
+ skipTokenUniqueField = "ID";
71
+ }
72
+ queryUrlGetAllItems =
73
+ queryUrlGetAllItems +
74
+ ("&$skiptoken=Paged=TRUE%26p_" + skipTokenUniqueField + "=" + skipTokenUniqueFieldValue);
75
+ }
76
+ return this.context.client
77
+ .get(queryUrlGetAllItems)
78
+ .then(function (response) {
79
+ if (response.status >= 200 && response.status < 300) {
80
+ return response.data.d.results;
81
+ }
82
+ else {
83
+ return Promise.reject(new Error(JSON.stringify(response)));
84
+ }
85
+ })
86
+ .then(function (data) {
87
+ var items = [];
88
+ if (data) {
89
+ for (var i = 0; i < data.length; i++) {
90
+ var item = data[i];
91
+ items.push(item);
92
+ }
93
+ }
94
+ return items;
95
+ })
96
+ .catch(function (ex) {
97
+ console.log("load Items > JitzSPHttpClient.get()...catch:", ex);
98
+ throw ex;
99
+ });
100
+ };
101
+ Repository.prototype.getAllRecursive = function (selectFields, expand, filters, orderBy, top, maxRecursiveCount) {
102
+ if (maxRecursiveCount === void 0) { maxRecursiveCount = 5; }
103
+ return __awaiter(this, void 0, void 0, function () {
104
+ var items, queryUrlGetAllItems;
105
+ var _this = this;
106
+ return __generator(this, function (_a) {
107
+ switch (_a.label) {
108
+ case 0:
109
+ items = [];
110
+ queryUrlGetAllItems = this.context.siteUrl + "/_api/web/lists/GetByTitle('" +
111
+ this.listName +
112
+ "')/items";
113
+ if (selectFields != null && selectFields != "") {
114
+ queryUrlGetAllItems = queryUrlGetAllItems + "?$select=" + selectFields;
115
+ }
116
+ else {
117
+ queryUrlGetAllItems = queryUrlGetAllItems + "?$select=*";
118
+ }
119
+ if (expand != null && expand != "") {
120
+ queryUrlGetAllItems = queryUrlGetAllItems + "&$expand=" + expand;
121
+ }
122
+ if (filters != null && filters != "") {
123
+ queryUrlGetAllItems = queryUrlGetAllItems + "&$filter=" + filters;
124
+ }
125
+ if (orderBy != null && orderBy != "") {
126
+ queryUrlGetAllItems = queryUrlGetAllItems + "&$orderby=" + orderBy;
127
+ }
128
+ if (top != null && top != undefined && top > 0) {
129
+ queryUrlGetAllItems = queryUrlGetAllItems + "&$top=" + top;
130
+ }
131
+ return [4 /*yield*/, this.context.client
132
+ .get(queryUrlGetAllItems)
133
+ .then(function (response) { return __awaiter(_this, void 0, void 0, function () {
134
+ return __generator(this, function (_a) {
135
+ switch (_a.label) {
136
+ case 0:
137
+ if (!(response.status >= 200 && response.status < 300)) return [3 /*break*/, 2];
138
+ return [4 /*yield*/, response.data.d];
139
+ case 1: return [2 /*return*/, _a.sent()];
140
+ case 2: return [2 /*return*/, Promise.reject(new Error(JSON.stringify(response)))];
141
+ }
142
+ });
143
+ }); })
144
+ .then(function (data) { return __awaiter(_this, void 0, void 0, function () {
145
+ var i, item, returnItem;
146
+ return __generator(this, function (_a) {
147
+ switch (_a.label) {
148
+ case 0:
149
+ if (data.results) {
150
+ for (i = 0; i < data.results.length; i++) {
151
+ item = data.results[i];
152
+ items.push(item);
153
+ }
154
+ }
155
+ returnItem = {
156
+ __next: data.__next,
157
+ results: items,
158
+ };
159
+ if (!(returnItem.__next != undefined && returnItem.__next.length > 0)) return [3 /*break*/, 2];
160
+ return [4 /*yield*/, this.recursiveFetch(returnItem.__next, 2, maxRecursiveCount, returnItem.results)];
161
+ case 1:
162
+ items = _a.sent();
163
+ _a.label = 2;
164
+ case 2: return [2 /*return*/];
165
+ }
166
+ });
167
+ }); })
168
+ .catch(function (ex) {
169
+ console.log("load Items > JitzSPHttpClient.get()...catch:", ex);
170
+ throw ex;
171
+ })];
172
+ case 1:
173
+ _a.sent();
174
+ return [2 /*return*/, items];
175
+ }
176
+ });
177
+ });
178
+ };
179
+ Repository.prototype.recursiveFetch = function (url, recursiveCount, maxRecursiveCount, items) {
180
+ if (recursiveCount === void 0) { recursiveCount = 1; }
181
+ if (maxRecursiveCount === void 0) { maxRecursiveCount = 5; }
182
+ if (items === void 0) { items = []; }
183
+ return __awaiter(this, void 0, void 0, function () {
184
+ var _this = this;
185
+ return __generator(this, function (_a) {
186
+ switch (_a.label) {
187
+ case 0:
188
+ items = items || [];
189
+ return [4 /*yield*/, this.context.client
190
+ .get(url)
191
+ .then(function (response) { return __awaiter(_this, void 0, void 0, function () {
192
+ return __generator(this, function (_a) {
193
+ switch (_a.label) {
194
+ case 0:
195
+ if (!(response.status >= 200 && response.status < 300)) return [3 /*break*/, 2];
196
+ return [4 /*yield*/, response.data.d];
197
+ case 1: return [2 /*return*/, _a.sent()];
198
+ case 2: return [2 /*return*/, Promise.reject(new Error(JSON.stringify(response)))];
199
+ }
200
+ });
201
+ }); })
202
+ .then(function (data) { return __awaiter(_this, void 0, void 0, function () {
203
+ var i, item, returnItem;
204
+ return __generator(this, function (_a) {
205
+ switch (_a.label) {
206
+ case 0:
207
+ if (data.results) {
208
+ for (i = 0; i < data.results.length; i++) {
209
+ item = data.results[i];
210
+ items.push(item);
211
+ }
212
+ }
213
+ returnItem = {
214
+ __next: data.__next,
215
+ results: items,
216
+ };
217
+ if (!(returnItem.__next != undefined &&
218
+ returnItem.__next.length > 0 &&
219
+ recursiveCount < maxRecursiveCount)) return [3 /*break*/, 2];
220
+ return [4 /*yield*/, this.recursiveFetch(returnItem.__next, recursiveCount + 1, maxRecursiveCount, returnItem.results)];
221
+ case 1:
222
+ items = _a.sent();
223
+ _a.label = 2;
224
+ case 2: return [2 /*return*/];
225
+ }
226
+ });
227
+ }); })
228
+ .catch(function (ex) {
229
+ console.log("load Items > JitzSPHttpClient.get()...catch:", ex);
230
+ throw ex;
231
+ })];
232
+ case 1:
233
+ _a.sent();
234
+ return [2 /*return*/, items];
235
+ }
236
+ });
237
+ });
238
+ };
239
+ Repository.prototype.itemsCount = function (filters) {
240
+ var queryUrlGetAllItems = this.context.siteUrl + "/_api/web/lists/GetByTitle('" +
241
+ this.listName +
242
+ "')/ItemCount";
243
+ if (filters != null && filters != "") {
244
+ queryUrlGetAllItems = queryUrlGetAllItems + "?$filter=" + filters;
245
+ }
246
+ return this.context.client
247
+ .get(queryUrlGetAllItems)
248
+ .then(function (response) {
249
+ if (response.status >= 200 && response.status < 300) {
250
+ // console.log(response);
251
+ return response.data.d.ItemCount;
252
+ }
253
+ else {
254
+ return Promise.reject(new Error(JSON.stringify(response)));
255
+ }
256
+ })
257
+ .then(function (data) {
258
+ return data;
259
+ })
260
+ .catch(function (ex) {
261
+ console.log("loadEvents > JitzSPHttpClient.get()...catch:", ex);
262
+ throw ex;
263
+ });
264
+ };
265
+ Repository.prototype.getItemById = function (id, selectFields, expand) {
266
+ return __awaiter(this, void 0, void 0, function () {
267
+ var queryUrl;
268
+ return __generator(this, function (_a) {
269
+ switch (_a.label) {
270
+ case 0:
271
+ queryUrl = this.context.siteUrl + "/_api/web/lists/getByTitle('" +
272
+ this.listName +
273
+ "')/items(" +
274
+ id +
275
+ ")" +
276
+ ("?$select=*" + (selectFields != undefined ? "," + selectFields : "")) +
277
+ ("" + (expand != undefined ? "&$expand=" + expand : ""));
278
+ return [4 /*yield*/, this.context.client
279
+ .get(queryUrl)
280
+ .then(function (response) {
281
+ if (response.status >= 200 && response.status < 300) {
282
+ return response.data.d;
283
+ }
284
+ else {
285
+ return Promise.reject(new Error(JSON.stringify(response)));
286
+ }
287
+ })
288
+ .then(function (data) {
289
+ return data;
290
+ })
291
+ .catch(function (ex) {
292
+ console.log("loadEvents > JitzSPHttpClient.get()...catch:", ex);
293
+ throw ex;
294
+ })];
295
+ case 1: return [2 /*return*/, _a.sent()];
296
+ }
297
+ });
298
+ });
299
+ };
300
+ Repository.prototype.createItem = function (item) {
301
+ var _this = this;
302
+ return this.getEntityType().then(function (entityType) {
303
+ item.__metadata = {
304
+ type: entityType,
305
+ };
306
+ var requestUrl = _this.context.siteUrl + "/_api/web/lists/getbytitle('" + _this.listName + "')/items";
307
+ return _this.context.client
308
+ .post(requestUrl, item, {
309
+ Accept: "application/json;odata=nometadata",
310
+ "Content-type": "application/json;odata=verbose",
311
+ "odata-version": "",
312
+ })
313
+ .then(function (response) {
314
+ if (response.status >= 200 && response.status < 300) {
315
+ var json = response;
316
+ return json;
317
+ }
318
+ else {
319
+ return Promise.reject(new Error(JSON.stringify(response)));
320
+ }
321
+ });
322
+ });
323
+ };
324
+ Repository.prototype.updateItem = function (item) {
325
+ var _this = this;
326
+ return this.getEntityType().then(function (entityType) {
327
+ item.__metadata = {
328
+ //etag: "1",
329
+ type: entityType,
330
+ };
331
+ var requestUrl = _this.context.siteUrl + "/_api/web/lists/getbytitle('" + _this.listName + "')/items(" + item.Id + ")";
332
+ return _this.context.client
333
+ .post(requestUrl, item, {
334
+ Accept: "application/json;odata=nometadata",
335
+ "Content-type": "application/json;odata=verbose",
336
+ "odata-version": "",
337
+ "IF-MATCH": "*",
338
+ "X-HTTP-Method": "MERGE",
339
+ })
340
+ .then(function (response) {
341
+ if (response.status >= 200 && response.status < 300) {
342
+ return item;
343
+ }
344
+ else {
345
+ console.log(JSON.stringify(response));
346
+ return Promise.reject(new Error(JSON.stringify(response)));
347
+ }
348
+ });
349
+ });
350
+ };
351
+ Repository.prototype.deleteItem = function (id) {
352
+ var requestUrl = this.context.siteUrl + "/_api/web/lists/getbytitle('" + this.listName + "')/items(" + id + ")";
353
+ return this.context.client
354
+ .post(requestUrl, {}, {
355
+ Accept: "application/json;odata=nometadata",
356
+ "Content-type": "application/json;odata=verbose",
357
+ "odata-version": "",
358
+ "IF-MATCH": "*",
359
+ "X-HTTP-Method": "DELETE",
360
+ })
361
+ .then(function (response) {
362
+ if (response.status >= 200 && response.status < 300) {
363
+ return true;
364
+ }
365
+ else {
366
+ return Promise.reject(new Error(JSON.stringify(response)));
367
+ }
368
+ });
369
+ };
370
+ Repository.prototype.getEntityType = function () {
371
+ var _this = this;
372
+ return new Promise(function (resolve, reject) {
373
+ if (_this._listEntityType) {
374
+ resolve(_this._listEntityType);
375
+ return;
376
+ }
377
+ _this.context.client
378
+ .get(_this.context.siteUrl + "/_api/web/lists/getbytitle('" + _this.listName + "')?$select=ListItemEntityTypeFullName")
379
+ .then(function (response) {
380
+ return response;
381
+ }, function (error) {
382
+ reject(error);
383
+ })
384
+ .then(function (response) {
385
+ _this._listEntityType = response.data.d.ListItemEntityTypeFullName;
386
+ resolve(_this._listEntityType || "");
387
+ });
388
+ });
389
+ };
390
+ return Repository;
391
+ }());
392
+ exports.default = Repository;