@esri/hub-common 9.17.1 → 9.18.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 (62) hide show
  1. package/dist/es2017/Hub.js +6 -10
  2. package/dist/es2017/Hub.js.map +1 -1
  3. package/dist/es2017/core/types/IHubItemEntityManager.js +1 -0
  4. package/dist/es2017/core/types/IHubItemEntityManager.js.map +1 -0
  5. package/dist/es2017/items/index.js +1 -0
  6. package/dist/es2017/items/index.js.map +1 -1
  7. package/dist/es2017/items/setItemThumbnail.js +31 -0
  8. package/dist/es2017/items/setItemThumbnail.js.map +1 -0
  9. package/dist/es2017/items/slugs.js +39 -15
  10. package/dist/es2017/items/slugs.js.map +1 -1
  11. package/dist/es2017/models/index.js +13 -0
  12. package/dist/es2017/models/index.js.map +1 -1
  13. package/dist/es2017/projects/HubProjectManager.js +40 -4
  14. package/dist/es2017/projects/HubProjectManager.js.map +1 -1
  15. package/dist/es2017/projects/HubProjects.js +91 -18
  16. package/dist/es2017/projects/HubProjects.js.map +1 -1
  17. package/dist/esm/Hub.js +6 -10
  18. package/dist/esm/Hub.js.map +1 -1
  19. package/dist/esm/core/types/IHubItemEntityManager.js +1 -0
  20. package/dist/esm/core/types/IHubItemEntityManager.js.map +1 -0
  21. package/dist/esm/items/index.js +1 -0
  22. package/dist/esm/items/index.js.map +1 -1
  23. package/dist/esm/items/setItemThumbnail.js +46 -0
  24. package/dist/esm/items/setItemThumbnail.js.map +1 -0
  25. package/dist/esm/items/slugs.js +39 -15
  26. package/dist/esm/items/slugs.js.map +1 -1
  27. package/dist/esm/models/index.js +23 -1
  28. package/dist/esm/models/index.js.map +1 -1
  29. package/dist/esm/projects/HubProjectManager.js +58 -4
  30. package/dist/esm/projects/HubProjectManager.js.map +1 -1
  31. package/dist/esm/projects/HubProjects.js +100 -21
  32. package/dist/esm/projects/HubProjects.js.map +1 -1
  33. package/dist/node/Hub.js +6 -10
  34. package/dist/node/Hub.js.map +1 -1
  35. package/dist/node/core/types/IHubItemEntityManager.js +3 -0
  36. package/dist/node/core/types/IHubItemEntityManager.js.map +1 -0
  37. package/dist/node/items/index.js +1 -0
  38. package/dist/node/items/index.js.map +1 -1
  39. package/dist/node/items/setItemThumbnail.js +35 -0
  40. package/dist/node/items/setItemThumbnail.js.map +1 -0
  41. package/dist/node/items/slugs.js +42 -17
  42. package/dist/node/items/slugs.js.map +1 -1
  43. package/dist/node/models/index.js +15 -1
  44. package/dist/node/models/index.js.map +1 -1
  45. package/dist/node/projects/HubProjectManager.js +38 -2
  46. package/dist/node/projects/HubProjectManager.js.map +1 -1
  47. package/dist/node/projects/HubProjects.js +91 -17
  48. package/dist/node/projects/HubProjects.js.map +1 -1
  49. package/dist/types/Hub.d.ts +7 -11
  50. package/dist/types/core/types/IHubEntityManager.d.ts +16 -0
  51. package/dist/types/core/types/IHubItemEntityManager.d.ts +15 -0
  52. package/dist/types/items/index.d.ts +1 -0
  53. package/dist/types/items/setItemThumbnail.d.ts +9 -0
  54. package/dist/types/items/slugs.d.ts +20 -1
  55. package/dist/types/models/index.d.ts +8 -0
  56. package/dist/types/projects/HubProjectManager.d.ts +21 -3
  57. package/dist/types/projects/HubProjects.d.ts +3 -1
  58. package/dist/umd/common.umd.js +267 -47
  59. package/dist/umd/common.umd.js.map +1 -1
  60. package/dist/umd/common.umd.min.js +1 -1
  61. package/dist/umd/common.umd.min.js.map +1 -1
  62. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setItemThumbnail.js","sourceRoot":"","sources":["../../../src/items/setItemThumbnail.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAE9B;;;;;;GAMG;AACH,MAAM,UAAgB,gBAAgB,CACpC,EAAU,EACV,IAAS,EACT,QAAgB,EAChB,cAAmC;;;;;;oBAE7B,IAAI,cACR,IAAI,EAAE;4BACJ,EAAE,IAAA;yBACH,EACD,MAAM,EAAE;4BACN,SAAS,EAAE,IAAI;yBAChB,EACD,QAAQ,UAAA,IACL,cAAc,CAClB,CAAC;;;;oBAEiB,qBAAM,UAAU,CAAC,IAAI,CAAC,EAAA;;oBAAjC,QAAQ,GAAG,SAAsB;oBACvC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;wBACrB,MAAM,IAAI,QAAQ,CAChB,uBAAuB,EACvB,kCAAkC,CACnC,CAAC;qBACH;;;;oBAED,IAAI,KAAG,YAAY,KAAK,EAAE;wBACxB,MAAM,IAAI,QAAQ,CAAC,uBAAuB,EAAE,KAAG,CAAC,OAAO,EAAE,KAAG,CAAC,CAAC;qBAC/D;yBAAM;wBACL,MAAM,IAAI,QAAQ,CAChB,uBAAuB,EACvB,kCAAkC,CACnC,CAAC;qBACH;;;;;;CAEJ"}
@@ -40,19 +40,43 @@ export function setSlugKeyword(typeKeywords, slug) {
40
40
  * @returns
41
41
  */
42
42
  export function getItemBySlug(slug, requestOptions) {
43
+ return findItemsBySlug({ slug: slug }, requestOptions).then(function (results) {
44
+ if (results.length) {
45
+ return results[0];
46
+ }
47
+ else {
48
+ return null;
49
+ }
50
+ });
51
+ }
52
+ /**
53
+ * Find items by slug typeKeywords.
54
+ *
55
+ * Optional exclude parameter accepts the id of an item we expect to
56
+ * have this particular slug. This is used during update calls
57
+ * where we don't know if the slug specifically has been updated, but we
58
+ * don't want a false-postive from the item we are updating
59
+ *
60
+ * @param slug
61
+ * @param requestOptions
62
+ * @returns
63
+ */
64
+ export function findItemsBySlug(slugInfo, requestOptions) {
43
65
  var opts = {
44
66
  q: "",
45
- filter: "typekeywords:\"slug|" + slug + "\"",
67
+ filter: "typekeywords:\"slug|" + slugInfo.slug + "\"",
46
68
  authentication: requestOptions.authentication,
47
69
  };
70
+ // We need to check for other items w/ a slug during
71
+ // the update calls. For those scenarios we are interested
72
+ // in any _other_ items which may have a specific slug
73
+ // but not one specific item
74
+ if (slugInfo.exclude) {
75
+ opts.q = "NOT id:" + slugInfo.exclude;
76
+ }
48
77
  return searchItems(opts)
49
78
  .then(function (response) {
50
- if (response.results.length) {
51
- return response.results[0];
52
- }
53
- else {
54
- return null;
55
- }
79
+ return response.results;
56
80
  })
57
81
  .catch(function (e) {
58
82
  throw Error("Error in getItemBySlug " + e);
@@ -70,20 +94,20 @@ export function getItemBySlug(slug, requestOptions) {
70
94
  * @param step
71
95
  * @returns
72
96
  */
73
- export function getUniqueSlug(slug, requestOptions, step) {
97
+ export function getUniqueSlug(slugInfo, requestOptions, step) {
74
98
  if (step === void 0) { step = 0; }
75
- var combined = slug;
99
+ var combinedSlug = slugInfo.slug;
76
100
  if (step) {
77
- combined = slug + "-" + step;
101
+ combinedSlug = slugInfo.slug + "-" + step;
78
102
  }
79
- return getItemBySlug(combined, requestOptions)
80
- .then(function (result) {
81
- if (result) {
103
+ return findItemsBySlug({ slug: combinedSlug, exclude: slugInfo.existingId }, requestOptions)
104
+ .then(function (results) {
105
+ if (results.length) {
82
106
  step++;
83
- return getUniqueSlug(slug, requestOptions, step);
107
+ return getUniqueSlug(slugInfo, requestOptions, step);
84
108
  }
85
109
  else {
86
- return combined;
110
+ return combinedSlug;
87
111
  }
88
112
  })
89
113
  .catch(function (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"slugs.js","sourceRoot":"","sources":["../../../src/items/slugs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,+CAA+C;AAC/C,2FAA2F;AAE3F;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,MAAc;IACzD,OAAU,MAAM,CAAC,WAAW,EAAE,SAAI,OAAO,CAAC,KAAK,CAAG,CAAC;AACrD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,YAAsB,EAAE,IAAY;IACjE,+BAA+B;IAC/B,IAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,UAAC,KAAa;QAChD,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,aAAa;IACb,OAAO,CAAC,IAAI,CAAC,UAAQ,IAAM,CAAC,CAAC;IAC7B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,cAA+B;IAE/B,IAAM,IAAI,GAAG;QACX,CAAC,EAAE,EAAE;QACL,MAAM,EAAE,yBAAsB,IAAI,OAAG;QACrC,cAAc,EAAE,cAAc,CAAC,cAAc;KAC9C,CAAC;IACF,OAAO,WAAW,CAAC,IAAI,CAAC;SACrB,IAAI,CAAC,UAAC,QAAQ;QACb,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE;YAC3B,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SAC5B;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC,CAAC;SACD,KAAK,CAAC,UAAC,CAAC;QACP,MAAM,KAAK,CAAC,4BAA0B,CAAG,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,cAA+B,EAC/B,IAAgB;IAAhB,qBAAA,EAAA,QAAgB;IAEhB,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,IAAI,IAAI,EAAE;QACR,QAAQ,GAAM,IAAI,SAAI,IAAM,CAAC;KAC9B;IACD,OAAO,aAAa,CAAC,QAAQ,EAAE,cAAc,CAAC;SAC3C,IAAI,CAAC,UAAC,MAAM;QACX,IAAI,MAAM,EAAE;YACV,IAAI,EAAE,CAAC;YACP,OAAO,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;SAClD;aAAM;YACL,OAAO,QAAQ,CAAC;SACjB;IACH,CAAC,CAAC;SACD,KAAK,CAAC,UAAC,CAAC;QACP,MAAM,KAAK,CAAC,4BAA0B,CAAG,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"slugs.js","sourceRoot":"","sources":["../../../src/items/slugs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,+CAA+C;AAC/C,2FAA2F;AAE3F;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,MAAc;IACzD,OAAU,MAAM,CAAC,WAAW,EAAE,SAAI,OAAO,CAAC,KAAK,CAAG,CAAC;AACrD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,YAAsB,EAAE,IAAY;IACjE,+BAA+B;IAC/B,IAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,UAAC,KAAa;QAChD,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,aAAa;IACb,OAAO,CAAC,IAAI,CAAC,UAAQ,IAAM,CAAC,CAAC;IAC7B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,cAA+B;IAE/B,OAAO,eAAe,CAAC,EAAE,IAAI,MAAA,EAAE,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;QAC5D,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;SACnB;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe,CAC7B,QAGC,EACD,cAA+B;IAE/B,IAAM,IAAI,GAAG;QACX,CAAC,EAAE,EAAE;QACL,MAAM,EAAE,yBAAsB,QAAQ,CAAC,IAAI,OAAG;QAC9C,cAAc,EAAE,cAAc,CAAC,cAAc;KAC9C,CAAC;IACF,oDAAoD;IACpD,0DAA0D;IAC1D,sDAAsD;IACtD,4BAA4B;IAC5B,IAAI,QAAQ,CAAC,OAAO,EAAE;QACpB,IAAI,CAAC,CAAC,GAAG,YAAU,QAAQ,CAAC,OAAS,CAAC;KACvC;IACD,OAAO,WAAW,CAAC,IAAI,CAAC;SACrB,IAAI,CAAC,UAAC,QAAQ;QACb,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC1B,CAAC,CAAC;SACD,KAAK,CAAC,UAAC,CAAC;QACP,MAAM,KAAK,CAAC,4BAA0B,CAAG,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAC3B,QAGC,EACD,cAA+B,EAC/B,IAAgB;IAAhB,qBAAA,EAAA,QAAgB;IAEhB,IAAI,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;IACjC,IAAI,IAAI,EAAE;QACR,YAAY,GAAM,QAAQ,CAAC,IAAI,SAAI,IAAM,CAAC;KAC3C;IACD,OAAO,eAAe,CACpB,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAC,UAAU,EAAE,EACpD,cAAc,CACf;SACE,IAAI,CAAC,UAAC,OAAO;QACZ,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,IAAI,EAAE,CAAC;YACP,OAAO,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;SACtD;aAAM;YACL,OAAO,YAAY,CAAC;SACrB;IACH,CAAC,CAAC;SACD,KAAK,CAAC,UAAC,CAAC;QACP,MAAM,KAAK,CAAC,4BAA0B,CAAG,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,4 +1,4 @@
1
- import { __assign } from "tslib";
1
+ import { __assign, __awaiter, __generator } from "tslib";
2
2
  export * from "./serializeModel";
3
3
  import { createItem, getItem, getItemData, updateItem, } from "@esri/arcgis-rest-portal";
4
4
  import { cloneObject, getItemBySlug } from "..";
@@ -96,4 +96,26 @@ export function updateModel(model, requestOptions) {
96
96
  return clone;
97
97
  });
98
98
  }
99
+ /**
100
+ * Given an Item, fetch the data json and return an IModel
101
+ * @param item
102
+ * @param requestOptions
103
+ * @returns
104
+ */
105
+ export function fetchModelFromItem(item, requestOptions) {
106
+ return __awaiter(this, void 0, void 0, function () {
107
+ var data;
108
+ return __generator(this, function (_a) {
109
+ switch (_a.label) {
110
+ case 0: return [4 /*yield*/, getItemData(item.id, requestOptions)];
111
+ case 1:
112
+ data = _a.sent();
113
+ return [2 /*return*/, {
114
+ item: item,
115
+ data: data,
116
+ }];
117
+ }
118
+ });
119
+ });
120
+ }
99
121
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import { __awaiter, __generator } from "tslib";
2
- import { createProject, updateProject, destroyProject, getProject, } from "./HubProjects";
2
+ import { createProject, updateProject, destroyProject, fetchProject, searchProjects, } from "./HubProjects";
3
3
  // Node has issues if this is not directly imported
4
4
  import { ArcGISContextManager } from "../ArcGISContextManager";
5
- import { HubError } from "..";
5
+ import { HubError, } from "..";
6
+ import { setItemThumbnail as updateItemThumbnail } from "../items/setItemThumbnail";
6
7
  /**
7
8
  * Centralized functions used to manage IHubProject instances
8
9
  *
@@ -113,6 +114,18 @@ var HubProjectManager = /** @class */ (function () {
113
114
  });
114
115
  });
115
116
  };
117
+ // DEPRECATED IN FAVOR OF .fetch()
118
+ // TODO: REMOVE AT NEXT MAJOR
119
+ /* istanbul ignore next */
120
+ HubProjectManager.prototype.get = function (identifier, requestOptions) {
121
+ return __awaiter(this, void 0, void 0, function () {
122
+ return __generator(this, function (_a) {
123
+ // tslint:disable-next-line
124
+ console.warn("HubProjectManager.get is deprecated and will be removed. Use .fetch() instead.");
125
+ return [2 /*return*/, this.fetch(identifier, requestOptions)];
126
+ });
127
+ });
128
+ };
116
129
  /**
117
130
  * Fetch a Project via id or it's slug
118
131
  *
@@ -127,15 +140,56 @@ var HubProjectManager = /** @class */ (function () {
127
140
  return __awaiter(this, void 0, void 0, function () {
128
141
  return __generator(this, function (_a) {
129
142
  if (requestOptions || this.context.requestOptions) {
130
- return [2 /*return*/, getProject(identifier, requestOptions || this.context.requestOptions)];
143
+ return [2 /*return*/, fetchProject(identifier, requestOptions || this.context.requestOptions)];
131
144
  }
132
145
  else {
133
- throw new HubError("Get Project", "Can not retrieve context.requestOptions from Context Manager. HubProjectManager is configured incorrectly.");
146
+ throw new HubError("Fetch Project", "Can not retrieve context.requestOptions from Context Manager. HubProjectManager is configured incorrectly.");
134
147
  }
135
148
  return [2 /*return*/];
136
149
  });
137
150
  });
138
151
  };
152
+ /**
153
+ * Search for Projects
154
+ *
155
+ * @param filter
156
+ * @param options
157
+ */
158
+ HubProjectManager.prototype.search = function (filter, options) {
159
+ return __awaiter(this, void 0, void 0, function () {
160
+ return __generator(this, function (_a) {
161
+ // if we were not passed auth, and we have a session, use it
162
+ if (!options.authentication && this.context.session) {
163
+ options.authentication = this.context.session;
164
+ }
165
+ return [2 /*return*/, searchProjects(filter, options)];
166
+ });
167
+ });
168
+ };
169
+ /**
170
+ * Set the thumbnail for the Project
171
+ * @param id
172
+ * @param file
173
+ * @param filename
174
+ * @param requestOptions
175
+ * @returns
176
+ */
177
+ HubProjectManager.prototype.updateThumbnail = function (project, file, filename, requestOptions) {
178
+ return __awaiter(this, void 0, void 0, function () {
179
+ var ro;
180
+ return __generator(this, function (_a) {
181
+ switch (_a.label) {
182
+ case 0:
183
+ ro = requestOptions || this.context.userRequestOptions;
184
+ return [4 /*yield*/, updateItemThumbnail(project.id, file, filename, ro)];
185
+ case 1:
186
+ _a.sent();
187
+ // get the item so we have updated props and timestamps
188
+ return [2 /*return*/, this.fetch(project.id, requestOptions)];
189
+ }
190
+ });
191
+ });
192
+ };
139
193
  return HubProjectManager;
140
194
  }());
141
195
  export { HubProjectManager };
@@ -1 +1 @@
1
- {"version":3,"file":"HubProjectManager.js","sourceRoot":"","sources":["../../../src/projects/HubProjectManager.ts"],"names":[],"mappings":";AAEA,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,UAAU,GACX,MAAM,eAAe,CAAC;AACvB,mDAAmD;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAkB,MAAM,IAAI,CAAC;AAG9C;;;;;;GAMG;AACH;IAgBE;;;;OAIG;IACH,2BAAoB,gBAAuD;QACzE,IAAI,gBAAgB,YAAY,oBAAoB,EAAE;YACpD,IAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC;SACzC;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC;SAClC;IACH,CAAC;IAED;;;;;;OAMG;IACI,sBAAI,GAAX,UACE,gBAAuD;QAEvD,OAAO,IAAI,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACjD,CAAC;IAKD,sBAAY,sCAAO;QAHnB;;WAEG;aACH;YACE,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;aACrC;iBAAM;gBACL,OAAO,IAAI,CAAC,QAAQ,CAAC;aACtB;QACH,CAAC;;;OAAA;IAED;;;;;;;OAOG;IACG,kCAAM,GAAZ,UACE,OAA6B,EAC7B,cAAoC;;;gBAEpC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;oBAClD,0BAA0B;oBAC1B,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;wBACtB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;qBAChD;oBACD,sBAAO,aAAa,CAClB,OAAO,EACP,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAClD,EAAC;iBACH;qBAAM;oBACL,MAAM,IAAI,QAAQ,CAChB,gBAAgB,EAChB,gDAAgD,CACjD,CAAC;iBACH;;;;KACF;IAED;;;;;OAKG;IACG,kCAAM,GAAZ,UACE,OAAoB,EACpB,cAAoC;;;gBAEpC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;oBAClD,sBAAO,aAAa,CAClB,OAAO,EACP,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAClD,EAAC;iBACH;qBAAM;oBACL,MAAM,IAAI,QAAQ,CAChB,gBAAgB,EAChB,gDAAgD,CACjD,CAAC;iBACH;;;;KACF;IAED;;;;;;OAMG;IACG,mCAAO,GAAb,UACE,EAAU,EACV,cAAoC;;;gBAEpC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;oBAClD,sBAAO,cAAc,CACnB,EAAE,EACF,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAClD,EAAC;iBACH;qBAAM;oBACL,MAAM,IAAI,QAAQ,CAChB,iBAAiB,EACjB,kDAAkD,CACnD,CAAC;iBACH;;;;KACF;IACD;;;;;;;;;OASG;IACG,iCAAK,GAAX,UACE,UAAkB,EAClB,cAAgC;;;gBAEhC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;oBACjD,sBAAO,UAAU,CACf,UAAU,EACV,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAC9C,EAAC;iBACH;qBAAM;oBACL,MAAM,IAAI,QAAQ,CAChB,aAAa,EACb,4GAA4G,CAC7G,CAAC;iBACH;;;;KACF;IAgBH,wBAAC;AAAD,CAAC,AAzKD,IAyKC"}
1
+ {"version":3,"file":"HubProjectManager.js","sourceRoot":"","sources":["../../../src/projects/HubProjectManager.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { __assign, __awaiter, __generator } from "tslib";
2
2
  // Note - we separate these imports so we can cleanly spy on things in tests
3
- import { createModel, getModel, getModelBySlug, updateModel } from "../models";
3
+ import { createModel, fetchModelFromItem, getModel, getModelBySlug, updateModel, } from "../models";
4
4
  import { constructSlug, getUniqueSlug, setSlugKeyword } from "../items/slugs";
5
- import { isGuid, cloneObject, } from "..";
6
- import { removeItem } from "@esri/arcgis-rest-portal";
5
+ import { isGuid, cloneObject, expandContentFilter, serializeContentFilterForPortal, getNextFunction, mergeContentFilter, getItemThumbnailUrl, } from "..";
6
+ import { removeItem, searchItems, } from "@esri/arcgis-rest-portal";
7
7
  import { PropertyMapper } from "../core/helpers/PropertyMapper";
8
8
  export var HUB_PROJECT_ITEM_TYPE = "Web Mapping Application";
9
9
  /**
@@ -13,6 +13,7 @@ var DEFAULT_PROJECT = {
13
13
  name: "No title provided",
14
14
  tags: [],
15
15
  typeKeywords: ["IHubProject", "HubProject"],
16
+ status: "inactive",
16
17
  };
17
18
  /**
18
19
  * Default values for a new HubProject Model
@@ -24,7 +25,7 @@ var DEFAULT_PROJECT_MODEL = {
24
25
  description: "No Description Provided",
25
26
  snippet: "",
26
27
  tags: [],
27
- typeKeywords: [],
28
+ typeKeywords: ["Hub Project"],
28
29
  properties: {
29
30
  slug: "",
30
31
  },
@@ -32,7 +33,6 @@ var DEFAULT_PROJECT_MODEL = {
32
33
  data: {
33
34
  display: "about",
34
35
  timeline: {},
35
- org: {},
36
36
  status: "inactive",
37
37
  contacts: [],
38
38
  schemaVersion: 1,
@@ -113,7 +113,7 @@ export function createProject(partialProject, requestOptions) {
113
113
  }
114
114
  // Ensure slug is unique
115
115
  _a = project;
116
- return [4 /*yield*/, getUniqueSlug(project.slug, requestOptions)];
116
+ return [4 /*yield*/, getUniqueSlug({ slug: project.slug }, requestOptions)];
117
117
  case 1:
118
118
  // Ensure slug is unique
119
119
  _a.slug = _b.sent();
@@ -143,15 +143,11 @@ export function updateProject(project, requestOptions) {
143
143
  return __generator(this, function (_b) {
144
144
  switch (_b.label) {
145
145
  case 0:
146
- // verify that the slug is unique
147
- // TODO: if the slug has not changed, we don't want to do this because
148
- // the existing item will cause this to increment
146
+ // verify that the slug is unique, excluding the current project
149
147
  _a = project;
150
- return [4 /*yield*/, getUniqueSlug(project.slug, requestOptions)];
148
+ return [4 /*yield*/, getUniqueSlug({ slug: project.slug, existingId: project.id }, requestOptions)];
151
149
  case 1:
152
- // verify that the slug is unique
153
- // TODO: if the slug has not changed, we don't want to do this because
154
- // the existing item will cause this to increment
150
+ // verify that the slug is unique, excluding the current project
155
151
  _a.slug = _b.sent();
156
152
  return [4 /*yield*/, getModel(project.id, requestOptions)];
157
153
  case 2:
@@ -174,7 +170,7 @@ export function updateProject(project, requestOptions) {
174
170
  * @param identifier item id or slug
175
171
  * @param requestOptions
176
172
  */
177
- export function getProject(identifier, requestOptions) {
173
+ export function fetchProject(identifier, requestOptions) {
178
174
  var getPrms;
179
175
  if (isGuid(identifier)) {
180
176
  // get item by id
@@ -182,12 +178,20 @@ export function getProject(identifier, requestOptions) {
182
178
  }
183
179
  else {
184
180
  // search for item using filter=typekeywords:slug|identifier
181
+ // although we could leverage searchProjects with an appropriate filter
182
+ // getModelBySlug is a generalized function that works for any type
185
183
  getPrms = getModelBySlug(identifier, requestOptions);
186
184
  }
187
185
  return getPrms.then(function (model) {
188
186
  // transform the model into a HubProject
189
187
  var mapper = new PropertyMapper(getProjectPropertyMap());
190
188
  var project = mapper.modelToObject(model, {});
189
+ var token;
190
+ if (requestOptions.authentication) {
191
+ var us = requestOptions.authentication;
192
+ token = us.token;
193
+ }
194
+ project.thumbnailUrl = getItemThumbnailUrl(model.item, requestOptions, token);
191
195
  return project;
192
196
  });
193
197
  }
@@ -215,11 +219,86 @@ export function destroyProject(id, requestOptions) {
215
219
  // i.e. delegate to searchContent or just do an item search
216
220
  // and convert to IHubProject objects.
217
221
  //
218
- // export async function searchProjects(
219
- // filter: Filter<"content">,
220
- // opts: IHubSearchOptions
221
- // ): Promise<ISearchResponse<IHubProject>> {
222
- // return _searchContent(filter, opts).then((results) => {
223
- // })
224
- // }
222
+ export function searchProjects(filter, options) {
223
+ var _a;
224
+ return __awaiter(this, void 0, void 0, function () {
225
+ var scopingFilter, projectFilter, expanded, so;
226
+ return __generator(this, function (_b) {
227
+ scopingFilter = {
228
+ filterType: "content",
229
+ typekeywords: {
230
+ exact: ["HubProject"],
231
+ },
232
+ };
233
+ projectFilter = mergeContentFilter([scopingFilter, filter]);
234
+ expanded = expandContentFilter(projectFilter);
235
+ so = serializeContentFilterForPortal(expanded);
236
+ // Aggregations
237
+ if ((_a = options.aggregations) === null || _a === void 0 ? void 0 : _a.length) {
238
+ so.countFields = options.aggregations.join(",");
239
+ so.countSize = 200;
240
+ }
241
+ // copy over various options
242
+ if (options.num) {
243
+ so.num = options.num;
244
+ }
245
+ if (options.sortField) {
246
+ so.sortField = options.sortField;
247
+ }
248
+ if (options.sortOrder) {
249
+ so.sortOrder = options.sortOrder;
250
+ }
251
+ if (options.site) {
252
+ so.site = cloneObject(options.site);
253
+ }
254
+ if (options.authentication) {
255
+ so.authentication = options.authentication;
256
+ }
257
+ return [2 /*return*/, searchPortalProjects(so)];
258
+ });
259
+ });
260
+ }
261
+ /**
262
+ * Internal fn that takes
263
+ * @param searchOptions
264
+ * @returns
265
+ */
266
+ function searchPortalProjects(searchOptions) {
267
+ return __awaiter(this, void 0, void 0, function () {
268
+ var response, hasNext, modelPromises, models, mapper, token, us, projects;
269
+ return __generator(this, function (_a) {
270
+ switch (_a.label) {
271
+ case 0: return [4 /*yield*/, searchItems(searchOptions)];
272
+ case 1:
273
+ response = _a.sent();
274
+ hasNext = response.nextStart > -1;
275
+ modelPromises = response.results.map(function (itm) {
276
+ return fetchModelFromItem(itm, {
277
+ authentication: searchOptions.authentication,
278
+ });
279
+ });
280
+ return [4 /*yield*/, Promise.all(modelPromises)];
281
+ case 2:
282
+ models = _a.sent();
283
+ mapper = new PropertyMapper(getProjectPropertyMap());
284
+ if (searchOptions.authentication) {
285
+ us = searchOptions.authentication;
286
+ token = us.token;
287
+ }
288
+ projects = models.map(function (m) {
289
+ var prj = mapper.modelToObject(m, {});
290
+ prj.thumbnailUrl = getItemThumbnailUrl(m.item, { authentication: searchOptions.authentication }, token);
291
+ return prj;
292
+ });
293
+ return [2 /*return*/, {
294
+ total: response.total,
295
+ results: projects,
296
+ facets: [],
297
+ hasNext: hasNext,
298
+ next: getNextFunction(searchOptions, response.nextStart, response.total, searchPortalProjects),
299
+ }];
300
+ }
301
+ });
302
+ });
303
+ }
225
304
  //# sourceMappingURL=HubProjects.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HubProjects.js","sourceRoot":"","sources":["../../../src/projects/HubProjects.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HubProjects.js","sourceRoot":"","sources":["../../../src/projects/HubProjects.ts"],"names":[],"mappings":"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"}
package/dist/node/Hub.js CHANGED
@@ -15,21 +15,19 @@ const HubProjectManager_1 = require("./projects/HubProjectManager");
15
15
  *
16
16
  * myHub.context.currentUser //=> {username: "casey", ...} as IUser
17
17
  *
18
- * const projectStore = await myHub.getProjectStore();
19
- *
20
- * const pavingProject = await projectStore.create({name: "12th Street Paving"});
18
+ * const pavingProject = await myHub.projects.create({name: "12th Street Paving"});
21
19
  * pavingProject.summary = "This is the 2024 planned paving of 12th Street, between 8th and 11th Ave";
22
- * await projectStore.update(pavingProject);
20
+ * await myHub.projects.update(pavingProject);
23
21
  * ```
24
22
  *
25
- * This is a convenience class. Hub Stores can be created
23
+ * This is a convenience class. Hub Managers can be created
26
24
  * directly, or the underlying functions can be imported an used
27
25
  * as need for scenarios where these class structures introduce
28
26
  * unwanted complexity
29
27
  */
30
28
  class Hub {
31
29
  /**
32
- * Private so we can employ a factory function should we need
30
+ * Private so we can employ a factory function to do
33
31
  * async work during creation
34
32
  * @param contextManager
35
33
  */
@@ -37,9 +35,7 @@ class Hub {
37
35
  this._contextManager = contextManager;
38
36
  }
39
37
  /**
40
- * Factory function to construct a new HubProjectStore instance.
41
- *
42
- * Note: Used so that we could do async actions in the ctor.
38
+ * Factory function to construct a new Hub instance.
43
39
  * @param contextManager
44
40
  * @returns
45
41
  */
@@ -60,7 +56,7 @@ class Hub {
60
56
  return this._contextManager.context;
61
57
  }
62
58
  /**
63
- * Create a Project Store connected to the current Hub
59
+ * HubProjectManager for the current Hub
64
60
  * @returns
65
61
  */
66
62
  get projects() {
@@ -1 +1 @@
1
- {"version":3,"file":"Hub.js","sourceRoot":"","sources":["../../src/Hub.ts"],"names":[],"mappings":";;;AAAA,iEAGgC;AAChC,oEAAiE;AAWjE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAa,GAAG;IAYd;;;;OAIG;IACH,YAAoB,cAAoC;QACtD,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;IACxC,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAoB;QACtC,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;SACxC;aAAM;YACL,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;YAC1C,MAAM,GAAG,GAAG,MAAM,2CAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpD,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;SACrB;IACH,CAAC;IAED;;OAEG;IACH,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,IAAI,QAAQ;QACV,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,IAAI,CAAC,eAAe,GAAG,qCAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACrE;QAED,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;CACF;AAxDD,kBAwDC"}
1
+ {"version":3,"file":"Hub.js","sourceRoot":"","sources":["../../src/Hub.ts"],"names":[],"mappings":";;;AAAA,iEAGgC;AAChC,oEAAiE;AAWjE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAa,GAAG;IAYd;;;;OAIG;IACH,YAAoB,cAAoC;QACtD,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAoB;QACtC,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;SACxC;aAAM;YACL,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;YAC1C,MAAM,GAAG,GAAG,MAAM,2CAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpD,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;SACrB;IACH,CAAC;IAED;;OAEG;IACH,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,IAAI,QAAQ;QACV,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,IAAI,CAAC,eAAe,GAAG,qCAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACrE;QAED,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;CACF;AAtDD,kBAsDC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IHubItemEntityManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHubItemEntityManager.js","sourceRoot":"","sources":["../../../../src/core/types/IHubItemEntityManager.ts"],"names":[],"mappings":""}
@@ -18,4 +18,5 @@ tslib_1.__exportStar(require("./fetch-all-pages"), exports);
18
18
  tslib_1.__exportStar(require("./get-structured-license"), exports);
19
19
  tslib_1.__exportStar(require("./slugs"), exports);
20
20
  tslib_1.__exportStar(require("./normalize-solution-template-item"), exports);
21
+ tslib_1.__exportStar(require("./setItemThumbnail"), exports);
21
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/items/index.ts"],"names":[],"mappings":";;;AAAA,uEAA6C;AAC7C,sEAA4C;AAC5C,wDAA8B;AAC9B,6DAAmC;AACnC,mEAAyC;AACzC,wDAA8B;AAC9B,gEAAsC;AACtC,4DAAkC;AAClC,iEAAuC;AACvC,4DAAkC;AAClC,qEAA2C;AAC3C,uEAA6C;AAC7C,kEAAwC;AACxC,4DAAkC;AAClC,mEAAyC;AACzC,kDAAwB;AACxB,6EAAmD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/items/index.ts"],"names":[],"mappings":";;;AAAA,uEAA6C;AAC7C,sEAA4C;AAC5C,wDAA8B;AAC9B,6DAAmC;AACnC,mEAAyC;AACzC,wDAA8B;AAC9B,gEAAsC;AACtC,4DAAkC;AAClC,iEAAuC;AACvC,4DAAkC;AAClC,qEAA2C;AAC3C,uEAA6C;AAC7C,kEAAwC;AACxC,4DAAkC;AAClC,mEAAyC;AACzC,kDAAwB;AACxB,6EAAmD;AACnD,6DAAmC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setItemThumbnail = void 0;
4
+ const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
5
+ const __1 = require("..");
6
+ /**
7
+ * Upload a file to be used as the thumbnail for an item
8
+ * @param id
9
+ * @param file
10
+ * @param filename
11
+ * @param requestOptions
12
+ */
13
+ async function setItemThumbnail(id, file, filename, requestOptions) {
14
+ const opts = Object.assign({ item: {
15
+ id,
16
+ }, params: {
17
+ thumbnail: file,
18
+ }, filename }, requestOptions);
19
+ try {
20
+ const response = await arcgis_rest_portal_1.updateItem(opts);
21
+ if (!response.success) {
22
+ throw new __1.HubError("Set Project Thumbnail", "Unknown error setting thumbnail.");
23
+ }
24
+ }
25
+ catch (err) {
26
+ if (err instanceof Error) {
27
+ throw new __1.HubError("Set Project Thumbnail", err.message, err);
28
+ }
29
+ else {
30
+ throw new __1.HubError("Set Project Thumbnail", "Unknown error setting thumbnail.");
31
+ }
32
+ }
33
+ }
34
+ exports.setItemThumbnail = setItemThumbnail;
35
+ //# sourceMappingURL=setItemThumbnail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setItemThumbnail.js","sourceRoot":"","sources":["../../../src/items/setItemThumbnail.ts"],"names":[],"mappings":";;;AACA,iEAAsD;AACtD,0BAA8B;AAE9B;;;;;;GAMG;AACI,KAAK,UAAU,gBAAgB,CACpC,EAAU,EACV,IAAS,EACT,QAAgB,EAChB,cAAmC;IAEnC,MAAM,IAAI,mBACR,IAAI,EAAE;YACJ,EAAE;SACH,EACD,MAAM,EAAE;YACN,SAAS,EAAE,IAAI;SAChB,EACD,QAAQ,IACL,cAAc,CAClB,CAAC;IACF,IAAI;QACF,MAAM,QAAQ,GAAG,MAAM,+BAAU,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACrB,MAAM,IAAI,YAAQ,CAChB,uBAAuB,EACvB,kCAAkC,CACnC,CAAC;SACH;KACF;IAAC,OAAO,GAAG,EAAE;QACZ,IAAI,GAAG,YAAY,KAAK,EAAE;YACxB,MAAM,IAAI,YAAQ,CAAC,uBAAuB,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;SAC/D;aAAM;YACL,MAAM,IAAI,YAAQ,CAChB,uBAAuB,EACvB,kCAAkC,CACnC,CAAC;SACH;KACF;AACH,CAAC;AAlCD,4CAkCC"}