gd-sprest 9.8.4 → 9.8.6

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,5 +1,4 @@
1
- import { Web } from "../../lib";
2
- import { request } from "./request";
1
+ import { ContextInfo, Web } from "../../lib";
3
2
  /**
4
3
  * Creates a document set item.
5
4
  * @param name - The name of the document set folder to create.
@@ -21,30 +20,61 @@ export const createDocSet = (name, listName, webUrl) => {
21
20
  break;
22
21
  }
23
22
  }
24
- // Create the document set item
25
- request({
26
- method: "POST",
27
- url: list.ParentWebUrl + "/_vti_bin/listdata.svc/" + list.Title.replace(/ /g, ""),
28
- headers: {
29
- Accept: "application/json;odata=verbose",
30
- "Content-Type": "application/json;odata=verbose",
31
- Slug: list.RootFolder.ServerRelativeUrl + "/" + name + "|" + ctId,
32
- "X-Requested-With": "XMLHttpRequest"
33
- },
34
- data: {
35
- Title: name,
36
- Path: list.RootFolder.ServerRelativeUrl
37
- }
38
- }).then(response => {
39
- // See if the request was successful
40
- if (response.d && response.d.Id > 0) {
23
+ // Method to get the web information
24
+ (() => {
25
+ // Return a promise
26
+ return new Promise((resolve, reject) => {
27
+ if (webUrl) {
28
+ // Get the web context information
29
+ ContextInfo.getWeb(webUrl).execute(webInfo => {
30
+ resolve(webInfo.GetContextWebInformation.FormDigestValue);
31
+ }, reject);
32
+ }
33
+ else {
34
+ // Resolve the promise
35
+ resolve(null);
36
+ }
37
+ });
38
+ })().then(value => {
39
+ // Create the document set item
40
+ Web(webUrl, { requestDigest: value }).Lists(listName).addValidateUpdateItem({
41
+ FolderUrl: list.RootFolder.ServerRelativeUrl,
42
+ UnderlyingObjectType: 1
43
+ }, [
44
+ {
45
+ FieldName: "HTML_x0020_File_x0020_Type",
46
+ FieldValue: "SharePoint.DocumentSet"
47
+ },
48
+ {
49
+ FieldName: "ContentTypeId",
50
+ FieldValue: ctId
51
+ },
52
+ {
53
+ FieldName: "FileLeafRef",
54
+ FieldValue: name
55
+ }
56
+ ], false, "", true).execute(resp => {
57
+ // Parse the results
58
+ let itemId = 0;
59
+ for (let i = 0; i < resp.results.length; i++) {
60
+ // See if this is the item id
61
+ if (resp.results[i].FieldName == "Id") {
62
+ itemId = parseInt(resp.results[i].FieldValue);
63
+ break;
64
+ }
65
+ }
41
66
  // Get the document set item and resolve the promise
42
- Web(webUrl).Lists(listName).Items(response.d.Id).execute(resolve);
43
- }
44
- else {
67
+ Web(webUrl).Lists(listName).Items(itemId).execute(resolve);
68
+ }, (request) => {
69
+ let errorMessage = request.response;
70
+ // Try to determine the error message
71
+ try {
72
+ errorMessage = (JSON.parse(errorMessage)).error.message.value;
73
+ }
74
+ catch (_a) { }
45
75
  // Reject the promise
46
- reject(response["response"]);
47
- }
76
+ reject(errorMessage);
77
+ });
48
78
  });
49
79
  }, reject);
50
80
  });
package/build/rest.js CHANGED
@@ -6,7 +6,7 @@ import { GraphTypes, SPTypes } from "./sptypes";
6
6
  * SharePoint REST Library
7
7
  */
8
8
  export const $REST = {
9
- __ver: 9.84,
9
+ __ver: 9.86,
10
10
  AppContext: (siteUrl) => { return Lib.Site.getAppContext(siteUrl); },
11
11
  Apps: Lib.Apps,
12
12
  ContextInfo: Lib.ContextInfo,
@@ -670,6 +670,11 @@ export const Request = {
670
670
  if (isBatchRequest) {
671
671
  // Process the callbacks
672
672
  Batch.processCallbacks(base.base.batchRequests[batchIdx]);
673
+ // See if the callback for odata query exists
674
+ if (base.targetInfo.callbackQuery) {
675
+ // Call the method
676
+ base.targetInfo.callbackQuery(base.base.batchRequests[batchIdx]);
677
+ }
673
678
  }
674
679
  }
675
680
  },