@progress/sitefinity-webservices-sdk 1.0.4 → 1.1.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.
Files changed (167) hide show
  1. package/.eslintrc.js +30 -9
  2. package/config/helpers.ts +8 -0
  3. package/config/webpack.common.ts +39 -0
  4. package/config/webpack.dev.ts +37 -0
  5. package/config/webpack.prod.ts +17 -0
  6. package/dist/docs/assets/highlight.css +17 -3
  7. package/dist/docs/assets/main.js +4 -2
  8. package/dist/docs/assets/search.js +1 -1
  9. package/dist/docs/assets/style.css +430 -619
  10. package/dist/docs/classes/BlobBuilder.BlobBuilder.html +135 -0
  11. package/dist/docs/classes/Data.Data.html +385 -0
  12. package/dist/docs/classes/Expression.BinaryExpression.html +184 -1
  13. package/dist/docs/classes/Expression.ComplexExpression.html +139 -1
  14. package/dist/docs/classes/Expression.ExpressionBase.html +125 -1
  15. package/dist/docs/classes/OrderProperty.OrderProperty.html +130 -0
  16. package/dist/docs/classes/Query.Query.html +353 -0
  17. package/dist/docs/classes/QueryBase.QueryBase.html +185 -0
  18. package/dist/docs/classes/QueryBuilder.QueryBuilder.html +190 -0
  19. package/dist/docs/classes/Requests_BatchRequest.BatchRequest.html +731 -17
  20. package/dist/docs/classes/Requests_BatchRequest.Transaction.html +330 -17
  21. package/dist/docs/classes/Requests_ExecutableRequest.ExecutableRequest.html +342 -1
  22. package/dist/docs/classes/Requests_Request.CommitChunksRequest.html +303 -0
  23. package/dist/docs/classes/Requests_Request.CreateRelatedRequest.html +310 -1
  24. package/dist/docs/classes/Requests_Request.CreateRequest.html +309 -1
  25. package/dist/docs/classes/Requests_Request.DeleteRelatedByIdRequest.html +309 -1
  26. package/dist/docs/classes/Requests_Request.DeleteRelatedRequest.html +302 -1
  27. package/dist/docs/classes/Requests_Request.DeleteRequest.html +300 -1
  28. package/dist/docs/classes/Requests_Request.GetByIdRequest.html +300 -1
  29. package/dist/docs/classes/Requests_Request.GetRelatedByIdRequest.html +309 -1
  30. package/dist/docs/classes/Requests_Request.GetRelatedRequest.html +302 -1
  31. package/dist/docs/classes/Requests_Request.GetRequest.html +295 -1
  32. package/dist/docs/classes/Requests_Request.UpdateRequest.html +309 -1
  33. package/dist/docs/classes/Requests_Request.UploadChunkRequest.html +352 -0
  34. package/dist/docs/classes/Requests_Request.UploadRequest.html +329 -1
  35. package/dist/docs/classes/Requests_RequestBase.RequestBase.html +275 -1
  36. package/dist/docs/classes/Requests_RequestFactory.RequestFactory.html +342 -1
  37. package/dist/docs/classes/Sitefinity.Sitefinity.html +186 -0
  38. package/dist/docs/classes/WhereQuery.WhereQuery.html +410 -0
  39. package/dist/docs/classes/chunk_upload_chunk_upload_sdk.ChunkUploadSdk.html +229 -0
  40. package/dist/docs/classes/chunk_upload_chunked_file_upload_utilities.ChunkedFileUploadUtilities.html +129 -0
  41. package/dist/docs/classes/utils.utils.html +301 -0
  42. package/dist/docs/index.html +56 -2
  43. package/dist/docs/interfaces/Data.CreateRelatedRequestOptions.html +157 -1
  44. package/dist/docs/interfaces/Data.CreateRequestOptions.html +155 -1
  45. package/dist/docs/interfaces/Data.OperationsRequestOptions.html +145 -1
  46. package/dist/docs/interfaces/Data.PropertyRequestOptions.html +151 -1
  47. package/dist/docs/interfaces/Data.RequestOptionsBase.html +136 -1
  48. package/dist/docs/interfaces/Data.SingleRelatedItemRequestOptions.html +157 -1
  49. package/dist/docs/interfaces/Data.UpdateRequestOptions.html +157 -1
  50. package/dist/docs/interfaces/Data.UploadRequestOptions.html +169 -1
  51. package/dist/docs/interfaces/Requests_BatchRequest.BatchCreateRelatedRequestOptions.html +161 -1
  52. package/dist/docs/interfaces/Requests_BatchRequest.BatchCreateRequestOptions.html +153 -1
  53. package/dist/docs/interfaces/Requests_BatchRequest.BatchPropertyRequestOptions.html +153 -1
  54. package/dist/docs/interfaces/Requests_BatchRequest.BatchRequestOptionsBase.html +145 -1
  55. package/dist/docs/interfaces/Requests_BatchRequest.BatchRequestOptionsExtended.html +153 -1
  56. package/dist/docs/interfaces/Requests_BatchRequest.BatchSingleItemRequestOptions.html +145 -1
  57. package/dist/docs/interfaces/Requests_BatchRequest.BatchSingleRelatedItemRequestOptions.html +161 -1
  58. package/dist/docs/interfaces/Requests_BatchRequest.BatchUpdateRequestOptions.html +161 -1
  59. package/dist/docs/interfaces/Requests_ExecutableRequest.ResponseHandlers.html +96 -5
  60. package/dist/docs/interfaces/Requests_Request.CommitChunksRequestOptionsExtended.html +215 -0
  61. package/dist/docs/interfaces/Requests_Request.PostRequestOptionsExtended.html +161 -1
  62. package/dist/docs/interfaces/Requests_Request.PutRequestOptionsExtended.html +161 -1
  63. package/dist/docs/interfaces/Requests_Request.RelatedByIdRequestOptionsExtended.html +169 -1
  64. package/dist/docs/interfaces/Requests_Request.RelatedRequestOptionsExtended.html +165 -1
  65. package/dist/docs/interfaces/Requests_Request.UploadChunkRequestOptionsExtended.html +210 -0
  66. package/dist/docs/interfaces/Requests_Request.UploadRequestOptionsExtended.html +180 -1
  67. package/dist/docs/interfaces/Requests_RequestBase.RequestOptionsBaseExtended.html +150 -1
  68. package/dist/docs/interfaces/Sitefinity.SDKOptions.html +128 -9
  69. package/dist/docs/interfaces/Sitefinity.Token.html +92 -1
  70. package/dist/docs/interfaces/Sitefinity.TypeOptions.html +144 -13
  71. package/dist/docs/interfaces/chunk_upload_chunk_upload_sdk.ChunkUploadInfoDTO.html +157 -0
  72. package/dist/docs/interfaces/chunk_upload_chunk_upload_sdk.ChunkUploadResult.html +109 -0
  73. package/dist/docs/interfaces/chunk_upload_chunk_upload_sdk.CleanUpChunksRequestOptions.html +171 -0
  74. package/dist/docs/interfaces/chunk_upload_chunk_upload_sdk.CommitChunksRequestOptions.html +204 -0
  75. package/dist/docs/interfaces/chunk_upload_chunk_upload_sdk.GetChunkUploadInfoRequestOptions.html +166 -0
  76. package/dist/docs/interfaces/chunk_upload_chunk_upload_sdk.UploadChunkRequestOptions.html +201 -0
  77. package/dist/docs/interfaces/chunk_upload_chunked_file_upload_utilities.ChunkFileResult.html +99 -0
  78. package/dist/docs/interfaces/chunk_upload_chunked_file_upload_utilities.FileUploadChunk.html +92 -0
  79. package/dist/docs/modules/BlobBuilder.html +71 -1
  80. package/dist/docs/modules/Data.html +90 -1
  81. package/dist/docs/modules/Expression.html +75 -1
  82. package/dist/docs/modules/OrderProperty.html +71 -1
  83. package/dist/docs/modules/Query.html +71 -1
  84. package/dist/docs/modules/QueryBase.html +71 -1
  85. package/dist/docs/modules/QueryBuilder.html +71 -1
  86. package/dist/docs/modules/Requests_BatchRequest.html +92 -1
  87. package/dist/docs/modules/Requests_ExecutableRequest.html +76 -1
  88. package/dist/docs/modules/Requests_Request.html +112 -1
  89. package/dist/docs/modules/Requests_RequestBase.html +76 -1
  90. package/dist/docs/modules/Requests_RequestFactory.html +71 -1
  91. package/dist/docs/modules/Sitefinity.html +80 -1
  92. package/dist/docs/modules/WhereQuery.html +71 -1
  93. package/dist/docs/modules/chunk_upload_chunk_upload_sdk.html +86 -0
  94. package/dist/docs/modules/chunk_upload_chunked_file_upload_utilities.html +78 -0
  95. package/dist/docs/modules/constants.html +81 -1
  96. package/dist/docs/modules/utils.html +71 -1
  97. package/dist/docs/modules.html +78 -1
  98. package/dist/docs/variables/constants.CONTENT_TYPES.html +74 -0
  99. package/dist/docs/variables/constants.EXPRESSION_TYPE.html +102 -0
  100. package/dist/docs/variables/constants.HEADER_NAMES.html +100 -0
  101. package/dist/docs/variables/constants.HTTP_METHODS.html +82 -0
  102. package/dist/docs/variables/constants.ODATA_PARAMS.html +88 -0
  103. package/dist/docs/variables/constants.SF_PARAMS.html +82 -0
  104. package/dist/samples.html +235 -36
  105. package/dist/sitefinity-webservices-sdk.d.ts +0 -1
  106. package/dist/sitefinity-webservices-sdk.js +473 -117
  107. package/dist/sitefinity-webservices-sdk.js.map +1 -1
  108. package/dist/sitefinity-webservices-sdk.min.js +1 -2
  109. package/dist/src/Data.d.ts +10 -0
  110. package/dist/src/Data.spec.d.ts +1 -0
  111. package/dist/src/Query.d.ts +3 -3
  112. package/dist/src/Requests/ExecutableRequest.d.ts +3 -1
  113. package/dist/src/Requests/Request.d.ts +42 -0
  114. package/dist/src/Requests/RequestBase.d.ts +1 -2
  115. package/dist/src/Requests/RequestFactory.d.ts +3 -1
  116. package/dist/src/Requests/request.spec.d.ts +1 -0
  117. package/dist/src/Sitefinity.d.ts +2 -2
  118. package/dist/src/Sitefinity.spec.d.ts +1 -0
  119. package/dist/src/WhereQuery.d.ts +2 -2
  120. package/dist/src/chunk-upload/chunk-upload.sdk.d.ts +290 -0
  121. package/dist/src/chunk-upload/chunk-upload.sdk.spec.d.ts +1 -0
  122. package/dist/src/chunk-upload/chunked-file-upload.utilities.d.ts +13 -0
  123. package/dist/src/constants.d.ts +5 -0
  124. package/package-lock.json +3166 -6687
  125. package/package.json +24 -22
  126. package/sitefinity-webservices-sdk.ts +0 -1
  127. package/src/Data.spec.ts +12 -12
  128. package/src/Data.ts +19 -4
  129. package/src/OrderProperty.ts +7 -7
  130. package/src/Query.ts +4 -4
  131. package/src/QueryBase.ts +4 -4
  132. package/src/QueryBuilder.ts +38 -38
  133. package/src/Requests/BatchRequest.ts +25 -25
  134. package/src/Requests/ExecutableRequest.ts +30 -24
  135. package/src/Requests/Request.ts +109 -2
  136. package/src/Requests/RequestBase.ts +3 -4
  137. package/src/Requests/RequestFactory.ts +9 -1
  138. package/src/Requests/request.spec.ts +10 -10
  139. package/src/Sitefinity.spec.ts +6 -6
  140. package/src/Sitefinity.ts +5 -5
  141. package/src/WhereQuery.ts +2 -2
  142. package/src/chunk-upload/chunk-upload.sdk.spec.ts +340 -0
  143. package/src/chunk-upload/chunk-upload.sdk.ts +436 -0
  144. package/src/chunk-upload/chunked-file-upload.utilities.ts +64 -0
  145. package/src/constants.ts +35 -30
  146. package/src/utils.ts +10 -10
  147. package/template.html +189 -36
  148. package/tsconfig.json +11 -3
  149. package/type.txt +1 -1
  150. package/config/helpers.js +0 -10
  151. package/config/webpack.common.js +0 -39
  152. package/config/webpack.dev.js +0 -19
  153. package/config/webpack.prod.js +0 -25
  154. package/dist/docs/assets/icons.css +0 -1043
  155. package/dist/docs/assets/icons.png +0 -0
  156. package/dist/docs/assets/icons@2x.png +0 -0
  157. package/dist/docs/classes/BlobBuilder.BlobBuilder-1.html +0 -7
  158. package/dist/docs/classes/Data.Data-1.html +0 -65
  159. package/dist/docs/classes/OrderProperty.OrderProperty-1.html +0 -1
  160. package/dist/docs/classes/Query.Query-1.html +0 -33
  161. package/dist/docs/classes/QueryBase.QueryBase-1.html +0 -7
  162. package/dist/docs/classes/QueryBuilder.QueryBuilder-1.html +0 -1
  163. package/dist/docs/classes/Sitefinity.Sitefinity-1.html +0 -5
  164. package/dist/docs/classes/WhereQuery.WhereQuery-1.html +0 -31
  165. package/dist/docs/classes/utils.utils-1.html +0 -1
  166. package/dist/sitefinity-webservices-sdk.min.js.LICENSE.txt +0 -14
  167. package/version.txt +0 -1
@@ -1,11 +1,13 @@
1
- import { RequestBase, RequestOptionsBaseExtended } from './RequestBase';
2
- import { utils } from '../utils';
1
+ import { RequestBase, RequestOptionsBaseExtended } from "./RequestBase";
2
+ import { utils } from "../utils";
3
3
  import { HEADER_NAMES } from "../constants";
4
4
  import { SDKOptions, Token } from "../Sitefinity";
5
5
 
6
6
  const XMLHttpRequestDone = 4;
7
7
 
8
8
  export class ExecutableRequest extends RequestBase {
9
+ protected http: XMLHttpRequest;
10
+
9
11
  private token: Token;
10
12
  private enableUnlimitedChoices: boolean;
11
13
  private integrationMode: boolean;
@@ -20,20 +22,19 @@ export class ExecutableRequest extends RequestBase {
20
22
  }
21
23
 
22
24
  execute() {
23
- const http = new XMLHttpRequest();
24
-
25
- http.onreadystatechange = () => {
26
- if (http.readyState === XMLHttpRequestDone) {
27
- if (http.status > 0) {
28
- let data = this.parseResponse(http);
25
+ this.http = new XMLHttpRequest();
29
26
 
30
- if (http.status >= 200 && http.status <= 206) {
27
+ this.http.onreadystatechange = () => {
28
+ if (this.http.readyState === XMLHttpRequestDone) {
29
+ if (this.http.status > 0) {
30
+ let data = this.parseResponse(this.http);
31
31
 
32
- if (utils.isFunction(this.successCb)) {
32
+ if (this.http.status >= 200 && this.http.status <= 206) {
33
+ if (this.successCb && utils.isFunction(this.successCb)) {
33
34
  this.successCb(data);
34
35
  }
35
36
  }
36
- else if (http.status >= 400) {
37
+ else if (this.http.status >= 400) {
37
38
  // When the data is string, we save the string as message
38
39
  // and convert the data to normal object with message property
39
40
  if (utils.isString(data)) {
@@ -42,10 +43,10 @@ export class ExecutableRequest extends RequestBase {
42
43
  };
43
44
  }
44
45
 
45
- data.status = http.status;
46
+ data.status = this.http.status;
46
47
 
47
48
  // in case of errors we would like there to be one handler for all of the errors
48
- if (utils.isFunction(this.failureCb)) {
49
+ if (this.failureCb && utils.isFunction(this.failureCb)) {
49
50
  this.failureCb(data);
50
51
  }
51
52
  }
@@ -53,20 +54,25 @@ export class ExecutableRequest extends RequestBase {
53
54
  }
54
55
  };
55
56
 
56
- if (utils.isFunction(this.progressCb)) {
57
- if (http.upload) {
58
- http.upload.onprogress = (event) => {
59
- this.progressCb(event);
60
- };
61
- }
62
- }
57
+
58
+ this.executeProgressEvent();
63
59
 
64
60
  const method = this.getMethod();
65
61
  const url = this.buildUrl();
66
- http.open(method, url, true);
67
- this.setHeaders(http, this.getHeaders());
62
+ this.http.open(method, url, true);
63
+ this.setHeaders(this.http, this.getHeaders());
68
64
 
69
- http.send(utils.serializeToJSON(this.getBody()));
65
+ this.http.send(utils.serializeToJSON(this.getBody()));
66
+ }
67
+
68
+ protected executeProgressEvent() {
69
+ if (this.http.upload) {
70
+ this.http.upload.onprogress = (event) => {
71
+ if (this.progressCb && utils.isFunction(this.progressCb)) {
72
+ this.progressCb(event);
73
+ }
74
+ };
75
+ }
70
76
  }
71
77
 
72
78
  private setHeaders(http: XMLHttpRequest, headers: { [key: string]: string }) {
@@ -77,7 +83,7 @@ export class ExecutableRequest extends RequestBase {
77
83
  }
78
84
 
79
85
  if (this.token) {
80
- if (typeof this.token === 'string') {
86
+ if (typeof this.token === "string") {
81
87
  // for backward compatibility
82
88
  http.setRequestHeader(HEADER_NAMES.authorization, this.token);
83
89
  } else {
@@ -1,6 +1,6 @@
1
1
  import { HEADER_NAMES, HTTP_METHODS } from "../constants";
2
2
  import { SDKOptions, Token } from "../Sitefinity";
3
- import { utils } from '../utils';
3
+ import { utils } from "../utils";
4
4
  import { ExecutableRequest } from "./ExecutableRequest";
5
5
  import { RequestOptionsBaseExtended } from "./RequestBase";
6
6
 
@@ -120,7 +120,7 @@ export class DeleteRelatedRequest extends DeleteRequest {
120
120
  }
121
121
 
122
122
  buildUrl(): string {
123
- const url = this.urlOptions.baseUrl + this.urlOptions.entitySet + "(" + this.key + ")/" + this.property + "/$ref"
123
+ const url = this.urlOptions.baseUrl + this.urlOptions.entitySet + "(" + this.key + ")/" + this.property + "/$ref";
124
124
  return this.addQueryParameters(url);
125
125
  }
126
126
  }
@@ -190,6 +190,91 @@ export class UploadRequest extends CreateRequest {
190
190
  }
191
191
  }
192
192
 
193
+ export class UploadChunkRequest extends CreateRequest {
194
+ contentType: string;
195
+ chunkOrdinal: number;
196
+ chunkSize: number;
197
+ chunkedFileUploadSessionId: string;
198
+ numberOfChunks: number;
199
+ positionInQueue: number;
200
+ blobStorageProviderName: string;
201
+
202
+ constructor(requestOptions: UploadChunkRequestOptionsExtended, token: Token, sdkOptions: SDKOptions) {
203
+ super(requestOptions, token, sdkOptions);
204
+ this.contentType = requestOptions.fileMimeType;
205
+ this.chunkOrdinal = requestOptions.chunkOrdinal;
206
+ this.chunkedFileUploadSessionId = requestOptions.chunkedFileUploadSessionId;
207
+ this.chunkSize = requestOptions.chunkSize;
208
+ this.numberOfChunks = requestOptions.numberOfChunks;
209
+ this.positionInQueue = requestOptions.positionOfChunkInQueue;
210
+ this.blobStorageProviderName = requestOptions.blobStorageProviderName;
211
+ this.data = requestOptions.chunkBlob;
212
+ }
213
+
214
+ getHeaders(): { [key: string]: string } {
215
+ const headers = super.getHeaders();
216
+ headers[HEADER_NAMES.contentEncoding] = "identity";
217
+ headers[HEADER_NAMES.contentType] = this.contentType || "application/octet-stream";
218
+ headers[HEADER_NAMES.chunkOrdinal] = this.chunkOrdinal.toString();
219
+ headers[HEADER_NAMES.chunkedFileUploadSessionId] = this.chunkedFileUploadSessionId;
220
+ headers[HEADER_NAMES.chunkSize] = this.chunkSize.toString();
221
+ headers[HEADER_NAMES.blobStorageProviderName] = this.blobStorageProviderName.toString();
222
+
223
+ return headers;
224
+ }
225
+
226
+ getBody(): object {
227
+ return this.data;
228
+ }
229
+
230
+ getMethod(): string {
231
+ return HTTP_METHODS.post;
232
+ }
233
+
234
+ protected override executeProgressEvent(): void {
235
+ if (this.http.upload) {
236
+ this.http.upload.onprogress = () => {
237
+ const payload = {
238
+ lengthComputable: true,
239
+ loaded: this.positionInQueue,
240
+ total: this.numberOfChunks
241
+ };
242
+
243
+ if (this.progressCb && utils.isFunction(this.progressCb)) {
244
+ this.progressCb(payload);
245
+ }
246
+ };
247
+ }
248
+ }
249
+ }
250
+
251
+ export class CommitChunksRequest extends CreateRequest {
252
+ constructor(requestOptions: CommitChunksRequestOptionsExtended, token: Token, sdkOptions: SDKOptions) {
253
+ super(requestOptions, token, sdkOptions);
254
+
255
+ this.action = "Default.CommitChunks";
256
+
257
+ this.data = {
258
+ // ! this must be the param name that the operation provider on the server accepts
259
+ commitChunksDto: {
260
+ chunkedFileUploadSessionId: requestOptions.chunkedFileUploadSessionId,
261
+ contentType: requestOptions.contentType,
262
+ fileTotalSize: requestOptions.fileTotalSize,
263
+ numberOfChunks: requestOptions.numberOfChunks,
264
+ fileName: requestOptions.fileName,
265
+ blobStorageProviderName: requestOptions.blobStorageProviderName,
266
+ itemId: requestOptions.itemId || null,
267
+ // ! must be named properties
268
+ properties: requestOptions.uploadProperties
269
+ }
270
+ };
271
+ }
272
+
273
+ getMethod(): string {
274
+ return HTTP_METHODS.post;
275
+ }
276
+ }
277
+
193
278
  export interface PostRequestOptionsExtended extends RequestOptionsBaseExtended {
194
279
  data?: object;
195
280
  }
@@ -211,3 +296,25 @@ export interface UploadRequestOptionsExtended extends PostRequestOptionsExtended
211
296
  contentType: string;
212
297
  uploadProperties: { [key: string]: string };
213
298
  }
299
+
300
+ export interface UploadChunkRequestOptionsExtended extends PostRequestOptionsExtended {
301
+ fileMimeType: string;
302
+ chunkedFileUploadSessionId: string;
303
+ chunkSize: number;
304
+ chunkOrdinal: number;
305
+ numberOfChunks: number;
306
+ chunkBlob: Blob;
307
+ blobStorageProviderName: string;
308
+ positionOfChunkInQueue?: number;
309
+ }
310
+
311
+ export interface CommitChunksRequestOptionsExtended extends PostRequestOptionsExtended {
312
+ chunkedFileUploadSessionId: string
313
+ blobStorageProviderName: string;
314
+ contentType: string;
315
+ fileTotalSize: number;
316
+ numberOfChunks: number;
317
+ fileName: string;
318
+ uploadProperties: { [key: string]: string };
319
+ itemId?: string;
320
+ }
@@ -2,7 +2,7 @@ import { CONTENT_TYPES, HEADER_NAMES, ODATA_PARAMS, SF_PARAMS } from "../constan
2
2
  import { RequestOptionsBase } from "../Data";
3
3
  import { Query } from "../Query";
4
4
  import { TypeOptions } from "../Sitefinity";
5
- import { utils } from '../utils';
5
+ import { utils } from "../utils";
6
6
 
7
7
  export class RequestBase {
8
8
  public successCb: Function;
@@ -11,14 +11,14 @@ export class RequestBase {
11
11
  public key: string | number;
12
12
  public urlOptions: TypeOptions;
13
13
  protected query: Query;
14
- private action: string;
14
+ protected action: string;
15
15
  private fallbackProperties: string[];
16
16
 
17
17
  constructor(options: RequestOptionsBaseExtended) {
18
18
  this.successCb = options.successCb;
19
19
  this.failureCb = options.failureCb;
20
- this.urlOptions = options.urlOptions;
21
20
  this.progressCb = options.progressCb;
21
+ this.urlOptions = options.urlOptions;
22
22
  this.key = options.key;
23
23
  this.action = options.action;
24
24
  this.fallbackProperties = options.fallbackProperties;
@@ -156,6 +156,5 @@ export class RequestBase {
156
156
  }
157
157
 
158
158
  export interface RequestOptionsBaseExtended extends RequestOptionsBase {
159
- progressCb?: Function;
160
159
  urlOptions: TypeOptions;
161
160
  }
@@ -1,4 +1,4 @@
1
- import { GetRequest, GetByIdRequest, CreateRequest, UpdateRequest, DeleteRequest, GetRelatedRequest, GetRelatedByIdRequest, DeleteRelatedRequest, DeleteRelatedByIdRequest, CreateRelatedRequest, UploadRequest, PostRequestOptionsExtended, PutRequestOptionsExtended, RelatedRequestOptionsExtended, RelatedByIdRequestOptionsExtended, UploadRequestOptionsExtended } from "./Request";
1
+ import { GetRequest, GetByIdRequest, CreateRequest, UpdateRequest, DeleteRequest, GetRelatedRequest, GetRelatedByIdRequest, DeleteRelatedRequest, DeleteRelatedByIdRequest, CreateRelatedRequest, UploadRequest, PostRequestOptionsExtended, PutRequestOptionsExtended, RelatedRequestOptionsExtended, RelatedByIdRequestOptionsExtended, UploadRequestOptionsExtended, UploadChunkRequest, CommitChunksRequest, CommitChunksRequestOptionsExtended, UploadChunkRequestOptionsExtended } from "./Request";
2
2
  import { SDKOptions, Token } from "../Sitefinity";
3
3
  import { BatchRequest, BatchRequestOptionsExtended } from "./BatchRequest";
4
4
  import { RequestOptionsBaseExtended } from "./RequestBase";
@@ -59,6 +59,14 @@ export class RequestFactory {
59
59
  return new UploadRequest(parameters, this.token, this.options);
60
60
  }
61
61
 
62
+ uploadChunk(parameters: UploadChunkRequestOptionsExtended) {
63
+ return new UploadChunkRequest(parameters, this.token, this.options);
64
+ }
65
+
66
+ commitChunks(parameters: CommitChunksRequestOptionsExtended) {
67
+ return new CommitChunksRequest(parameters, this.token, this.options);
68
+ }
69
+
62
70
  batch(parameters: RequestOptionsBaseExtended) {
63
71
  const batchParams = parameters as BatchRequestOptionsExtended;
64
72
  batchParams.factory = this;
@@ -2,7 +2,7 @@ import { Query } from "../Query";
2
2
  import { Sitefinity } from "../Sitefinity";
3
3
 
4
4
  describe("SDK basic tests", () => {
5
- const baseUrl = "http://www.mysite.com/api/default/"
5
+ const baseUrl = "http://www.mysite.com/api/default/";
6
6
  let sitefinity: Sitefinity;
7
7
  let query: Query;
8
8
 
@@ -23,13 +23,13 @@ describe("SDK basic tests", () => {
23
23
  });
24
24
 
25
25
  it("query assert", () => {
26
- const testQuery = (query.where().and().endsWith("Title", "Record").done() as any).or().startsWith('Title', 'asd').done().done();
26
+ const testQuery = (query.where().and().endsWith("Title", "Record").done() as any).or().startsWith("Title", "asd").done().done();
27
27
  const resultingQuery = testQuery.build();
28
28
  expect(resultingQuery.$filter).toEqual("(endswith(Title, 'Record')) and (startswith(Title, 'asd'))");
29
29
  });
30
30
 
31
31
  it("complex query assert", () => {
32
- const testQuery = query.where().not().endsWith("Record", "Title").done().and().not().eq('Content', 'test').done().done().done();
32
+ const testQuery = query.where().not().endsWith("Record", "Title").done().and().not().eq("Content", "test").done().done().done();
33
33
  const resultingQuery = testQuery.build();
34
34
  expect(resultingQuery.$filter).toEqual("(not endswith(Record, 'Title')) and ((not (Content eq 'test')))");
35
35
  });
@@ -42,12 +42,12 @@ describe("SDK basic tests", () => {
42
42
  data.get({query: query.count(false)});
43
43
 
44
44
  let request = jasmine.Ajax.requests.mostRecent();
45
- expect(request.url).toBe('http://www.mysite.com/api/default/newsitems/$count');
45
+ expect(request.url).toBe("http://www.mysite.com/api/default/newsitems/$count");
46
46
 
47
47
  data.get({query: query.count(true)});
48
48
 
49
49
  request = jasmine.Ajax.requests.mostRecent();
50
- expect(request.url).toBe('http://www.mysite.com/api/default/newsitems?$count=true');
50
+ expect(request.url).toBe("http://www.mysite.com/api/default/newsitems?$count=true");
51
51
  });
52
52
 
53
53
  it("request assert", () => {
@@ -58,14 +58,14 @@ describe("SDK basic tests", () => {
58
58
  }).get({query: null});
59
59
 
60
60
  const request = jasmine.Ajax.requests.mostRecent();
61
- expect(request.url).toBe('http://www.mysite.com/api/default/newsitems?sf_provider=newsProvider&sf_culture=en-US');
62
- expect(request.method).toBe('GET');
61
+ expect(request.url).toBe("http://www.mysite.com/api/default/newsitems?sf_provider=newsProvider&sf_culture=en-US");
62
+ expect(request.method).toBe("GET");
63
63
  expect(request.data()).toEqual({});
64
64
  });
65
65
 
66
66
  it("batch assert", async () => {
67
67
  const batch = sitefinity.batch();
68
- const getQuery = query.where().eq('Title', 'newTitleN11').done();
68
+ const getQuery = query.where().eq("Title", "newTitleN11").done();
69
69
 
70
70
  batch.get({
71
71
  entitySet: "newsitems",
@@ -83,8 +83,8 @@ describe("SDK basic tests", () => {
83
83
  (batch as any).execute();
84
84
 
85
85
  const request = jasmine.Ajax.requests.mostRecent();
86
- expect(request.url).toBe('http://www.mysite.com/api/default/$batch');
87
- expect(request.method).toBe('POST');
86
+ expect(request.url).toBe("http://www.mysite.com/api/default/$batch");
87
+ expect(request.method).toBe("POST");
88
88
 
89
89
  await readBlobAsText(request.params).then((result) => {
90
90
  expect(result).toContain("{\"title\":\"Test\"}");
@@ -103,7 +103,7 @@ OData-Version: 4.0\r
103
103
  sdk = new Sitefinity({
104
104
  baseUrl: "http://www.mysite.com/api/default/v2/",
105
105
  enableUnlimitedChoices: false
106
- })
106
+ });
107
107
  sdk.data({}).get({});
108
108
 
109
109
  request = jasmine.Ajax.requests.mostRecent();
@@ -123,7 +123,7 @@ OData-Version: 4.0\r
123
123
  sdk = new Sitefinity({
124
124
  baseUrl: "http://www.mysite.com/api/default/v2/",
125
125
  integrationMode: false
126
- })
126
+ });
127
127
  sdk.data({}).get({});
128
128
 
129
129
  request = jasmine.Ajax.requests.mostRecent();
@@ -147,7 +147,7 @@ OData-Version: 4.0\r
147
147
  const request = jasmine.Ajax.requests.mostRecent();
148
148
  request.respondWith({
149
149
  status: 200,
150
- responseText: '{"message":"test"}'
150
+ responseText: "{\"message\":\"test\"}"
151
151
  });
152
152
 
153
153
  expect(successSpy).toHaveBeenCalledOnceWith({ message: "test" });
@@ -171,7 +171,7 @@ OData-Version: 4.0\r
171
171
  const request = jasmine.Ajax.requests.mostRecent();
172
172
  request.respondWith({
173
173
  status: 400,
174
- responseText: '{"message":"test"}'
174
+ responseText: "{\"message\":\"test\"}"
175
175
  });
176
176
 
177
177
  expect(failureSpy).toHaveBeenCalledOnceWith({ message: "test", status: 400 });
@@ -286,7 +286,7 @@ OData-Version: 4.0\r
286
286
  }).get({});
287
287
 
288
288
  const request = jasmine.Ajax.requests.mostRecent();
289
- expect(request.url).toContain(`p1=test1&p2=123`);
289
+ expect(request.url).toContain("p1=test1&p2=123");
290
290
  });
291
291
  });
292
292
 
@@ -366,7 +366,7 @@ OData-Version: 4.0\r
366
366
  }).execute();
367
367
 
368
368
  const request = jasmine.Ajax.requests.mostRecent();
369
- expect(request.url).toContain(`p1=test1&p2=123`);
369
+ expect(request.url).toContain("p1=test1&p2=123");
370
370
  });
371
371
 
372
372
  it("Verify successCb overrides global success handler from SDK options", () => {
package/src/Sitefinity.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { RequestFactory } from './Requests/RequestFactory';
2
- import { Data } from './Data';
3
- import { Query } from './Query';
4
- import { utils } from './utils';
1
+ import { RequestFactory } from "./Requests/RequestFactory";
2
+ import { Data } from "./Data";
3
+ import { Query } from "./Query";
4
+ import { utils } from "./utils";
5
5
  import { ResponseHandlers } from "./Requests/ExecutableRequest";
6
6
  import { BatchRequest } from "./Requests/BatchRequest";
7
7
 
@@ -29,7 +29,7 @@ export class Sitefinity {
29
29
  siteId: options.siteId || this.siteId,
30
30
  additionalQueryParams: options.additionalQueryParams,
31
31
  entitySet: options.entitySet
32
- }
32
+ };
33
33
 
34
34
  return new Data(urlOptions, this.factory);
35
35
  }
package/src/WhereQuery.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ComplexExpression, BinaryExpression } from './Expression';
1
+ import { ComplexExpression, BinaryExpression } from "./Expression";
2
2
  import { EXPRESSION_TYPE } from "./constants";
3
3
 
4
4
  /**
@@ -103,7 +103,7 @@ export class WhereQuery<QueryType> {
103
103
  }
104
104
 
105
105
  /**
106
- * Ends the definition of the current WhereQuery. You need to call this method in order to continue with the definition of the parent {@link QueryBase}. All other `WhereQuery` methods return the current instance of `WhereQuery` to allow chaining.
106
+ * Ends the definition of the current WhereQuery. You need to call this method in order to continue with the definition of the parent {@link Query}. All other `WhereQuery` methods return the current instance of `WhereQuery` to allow chaining.
107
107
  */
108
108
  done(): QueryType {
109
109
  if (this.parent instanceof WhereQuery) {