@esri/hub-common 11.23.1 → 12.0.0-alpha.1

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 (242) hide show
  1. package/dist/esm/ArcGISContext.js +24 -1
  2. package/dist/esm/ArcGISContext.js.map +1 -1
  3. package/dist/esm/ArcGISContextManager.js +48 -0
  4. package/dist/esm/ArcGISContextManager.js.map +1 -1
  5. package/dist/esm/content/compose.js +12 -0
  6. package/dist/esm/content/compose.js.map +1 -1
  7. package/dist/esm/core/HubItemEntity.js +39 -57
  8. package/dist/esm/core/HubItemEntity.js.map +1 -1
  9. package/dist/esm/core/_internal/PropertyMapper.js +10 -2
  10. package/dist/esm/core/_internal/PropertyMapper.js.map +1 -1
  11. package/dist/esm/core/_internal/getBasePropertyMap.js +1 -0
  12. package/dist/esm/core/_internal/getBasePropertyMap.js.map +1 -1
  13. package/dist/esm/core/behaviors/IWithPermissionBehavior.js +0 -68
  14. package/dist/esm/core/behaviors/IWithPermissionBehavior.js.map +1 -1
  15. package/dist/esm/core/fetchHubEntity.js +28 -0
  16. package/dist/esm/core/fetchHubEntity.js.map +1 -0
  17. package/dist/esm/core/getTypeFromEntity.js +26 -0
  18. package/dist/esm/core/getTypeFromEntity.js.map +1 -0
  19. package/dist/esm/core/index.js +2 -1
  20. package/dist/esm/core/index.js.map +1 -1
  21. package/dist/esm/core/types/HubEntity.js +1 -0
  22. package/dist/esm/core/types/HubEntity.js.map +1 -0
  23. package/dist/esm/core/types/HubEntityType.js +1 -0
  24. package/dist/esm/core/types/HubEntityType.js.map +1 -0
  25. package/dist/esm/core/types/ISystemStatus.js +21 -0
  26. package/dist/esm/core/types/ISystemStatus.js.map +1 -0
  27. package/dist/esm/core/types/index.js +3 -2
  28. package/dist/esm/core/types/index.js.map +1 -1
  29. package/dist/esm/index.js +1 -0
  30. package/dist/esm/index.js.map +1 -1
  31. package/dist/esm/initiatives/HubInitiative.js +0 -13
  32. package/dist/esm/initiatives/HubInitiative.js.map +1 -1
  33. package/dist/esm/permissions/HubPermissionPolicies.js +18 -0
  34. package/dist/esm/permissions/HubPermissionPolicies.js.map +1 -0
  35. package/dist/esm/permissions/_internal/checkAuthentication.js +24 -0
  36. package/dist/esm/permissions/_internal/checkAuthentication.js.map +1 -0
  37. package/dist/esm/permissions/_internal/checkEdit.js +35 -0
  38. package/dist/esm/permissions/_internal/checkEdit.js.map +1 -0
  39. package/dist/esm/permissions/_internal/checkEntityPolicy.js +56 -0
  40. package/dist/esm/permissions/_internal/checkEntityPolicy.js.map +1 -0
  41. package/dist/esm/permissions/_internal/checkLicense.js +27 -0
  42. package/dist/esm/permissions/_internal/checkLicense.js.map +1 -0
  43. package/dist/esm/permissions/_internal/checkOwner.js +36 -0
  44. package/dist/esm/permissions/_internal/checkOwner.js.map +1 -0
  45. package/dist/esm/permissions/_internal/checkPrivileges.js +27 -0
  46. package/dist/esm/permissions/_internal/checkPrivileges.js.map +1 -0
  47. package/dist/esm/permissions/_internal/getPolicyResponseCode.js +29 -0
  48. package/dist/esm/permissions/_internal/getPolicyResponseCode.js.map +1 -0
  49. package/dist/esm/permissions/checkPermission.js +88 -0
  50. package/dist/esm/permissions/checkPermission.js.map +1 -0
  51. package/dist/esm/permissions/index.js +5 -0
  52. package/dist/esm/permissions/index.js.map +1 -0
  53. package/dist/esm/permissions/types/HubLicense.js +1 -0
  54. package/dist/esm/permissions/types/HubLicense.js.map +1 -0
  55. package/dist/esm/permissions/types/IAccessResponse.js +1 -0
  56. package/dist/esm/permissions/types/IAccessResponse.js.map +1 -0
  57. package/dist/esm/permissions/types/IEntityPermissionPolicy.js +1 -0
  58. package/dist/esm/permissions/types/IEntityPermissionPolicy.js.map +1 -0
  59. package/dist/esm/permissions/types/IPermissionPolicy.js +1 -0
  60. package/dist/esm/permissions/types/IPermissionPolicy.js.map +1 -0
  61. package/dist/esm/permissions/types/IPolicyCheck.js +1 -0
  62. package/dist/esm/permissions/types/IPolicyCheck.js.map +1 -0
  63. package/dist/esm/permissions/types/Permission.js +24 -0
  64. package/dist/esm/permissions/types/Permission.js.map +1 -0
  65. package/dist/esm/permissions/types/PlatformPrivilege.js +5 -0
  66. package/dist/esm/permissions/types/PlatformPrivilege.js.map +1 -0
  67. package/dist/esm/permissions/types/PolicyResponse.js +4 -0
  68. package/dist/esm/permissions/types/PolicyResponse.js.map +1 -0
  69. package/dist/esm/permissions/types/index.js +9 -0
  70. package/dist/esm/permissions/types/index.js.map +1 -0
  71. package/dist/esm/permissions/utils.js +26 -0
  72. package/dist/esm/permissions/utils.js.map +1 -0
  73. package/dist/esm/projects/HubProject.js +5 -14
  74. package/dist/esm/projects/HubProject.js.map +1 -1
  75. package/dist/esm/projects/_internal/ProjectPermissionPolicies.js +35 -0
  76. package/dist/esm/projects/_internal/ProjectPermissionPolicies.js.map +1 -0
  77. package/dist/esm/projects/_internal.js +43 -0
  78. package/dist/esm/projects/_internal.js.map +1 -0
  79. package/dist/esm/projects/edit.js +115 -0
  80. package/dist/esm/projects/edit.js.map +1 -0
  81. package/dist/esm/projects/fetch.js +104 -0
  82. package/dist/esm/projects/fetch.js.map +1 -0
  83. package/dist/esm/projects/index.js +2 -1
  84. package/dist/esm/projects/index.js.map +1 -1
  85. package/dist/esm/search/Catalog.js.map +1 -1
  86. package/dist/esm/sites/HubSite.js +0 -13
  87. package/dist/esm/sites/HubSite.js.map +1 -1
  88. package/dist/esm/sites/_internal/SitesPermissionPolicies.js +34 -0
  89. package/dist/esm/sites/_internal/SitesPermissionPolicies.js.map +1 -0
  90. package/dist/esm/util.js +3 -1
  91. package/dist/esm/util.js.map +1 -1
  92. package/dist/node/ArcGISContext.js +28 -5
  93. package/dist/node/ArcGISContext.js.map +1 -1
  94. package/dist/node/ArcGISContextManager.js +48 -0
  95. package/dist/node/ArcGISContextManager.js.map +1 -1
  96. package/dist/node/content/compose.js +12 -0
  97. package/dist/node/content/compose.js.map +1 -1
  98. package/dist/node/core/HubItemEntity.js +38 -56
  99. package/dist/node/core/HubItemEntity.js.map +1 -1
  100. package/dist/node/core/_internal/PropertyMapper.js +9 -1
  101. package/dist/node/core/_internal/PropertyMapper.js.map +1 -1
  102. package/dist/node/core/_internal/getBasePropertyMap.js +1 -0
  103. package/dist/node/core/_internal/getBasePropertyMap.js.map +1 -1
  104. package/dist/node/core/behaviors/IWithPermissionBehavior.js +0 -73
  105. package/dist/node/core/behaviors/IWithPermissionBehavior.js.map +1 -1
  106. package/dist/node/core/fetchHubEntity.js +32 -0
  107. package/dist/node/core/fetchHubEntity.js.map +1 -0
  108. package/dist/node/core/getTypeFromEntity.js +30 -0
  109. package/dist/node/core/getTypeFromEntity.js.map +1 -0
  110. package/dist/node/core/index.js +2 -1
  111. package/dist/node/core/index.js.map +1 -1
  112. package/dist/node/core/types/{IHubPermission.js → HubEntity.js} +1 -1
  113. package/dist/node/core/types/HubEntity.js.map +1 -0
  114. package/dist/node/core/types/HubEntityType.js +3 -0
  115. package/dist/node/core/types/HubEntityType.js.map +1 -0
  116. package/dist/node/core/types/ISystemStatus.js +25 -0
  117. package/dist/node/core/types/ISystemStatus.js.map +1 -0
  118. package/dist/node/core/types/index.js +3 -2
  119. package/dist/node/core/types/index.js.map +1 -1
  120. package/dist/node/index.js +1 -0
  121. package/dist/node/index.js.map +1 -1
  122. package/dist/node/initiatives/HubInitiative.js +0 -13
  123. package/dist/node/initiatives/HubInitiative.js.map +1 -1
  124. package/dist/node/permissions/HubPermissionPolicies.js +22 -0
  125. package/dist/node/permissions/HubPermissionPolicies.js.map +1 -0
  126. package/dist/node/permissions/_internal/checkAuthentication.js +28 -0
  127. package/dist/node/permissions/_internal/checkAuthentication.js.map +1 -0
  128. package/dist/node/permissions/_internal/checkEdit.js +39 -0
  129. package/dist/node/permissions/_internal/checkEdit.js.map +1 -0
  130. package/dist/node/permissions/_internal/checkEntityPolicy.js +60 -0
  131. package/dist/node/permissions/_internal/checkEntityPolicy.js.map +1 -0
  132. package/dist/node/permissions/_internal/checkLicense.js +31 -0
  133. package/dist/node/permissions/_internal/checkLicense.js.map +1 -0
  134. package/dist/node/permissions/_internal/checkOwner.js +40 -0
  135. package/dist/node/permissions/_internal/checkOwner.js.map +1 -0
  136. package/dist/node/permissions/_internal/checkPrivileges.js +31 -0
  137. package/dist/node/permissions/_internal/checkPrivileges.js.map +1 -0
  138. package/dist/node/permissions/_internal/getPolicyResponseCode.js +33 -0
  139. package/dist/node/permissions/_internal/getPolicyResponseCode.js.map +1 -0
  140. package/dist/node/permissions/checkPermission.js +92 -0
  141. package/dist/node/permissions/checkPermission.js.map +1 -0
  142. package/dist/node/permissions/index.js +8 -0
  143. package/dist/node/permissions/index.js.map +1 -0
  144. package/dist/node/permissions/types/HubLicense.js +3 -0
  145. package/dist/node/permissions/types/HubLicense.js.map +1 -0
  146. package/dist/node/permissions/types/IAccessResponse.js +3 -0
  147. package/dist/node/permissions/types/IAccessResponse.js.map +1 -0
  148. package/dist/node/permissions/types/IEntityPermissionPolicy.js +3 -0
  149. package/dist/node/permissions/types/IEntityPermissionPolicy.js.map +1 -0
  150. package/dist/node/permissions/types/IPermissionPolicy.js +3 -0
  151. package/dist/node/permissions/types/IPermissionPolicy.js.map +1 -0
  152. package/dist/node/permissions/types/IPolicyCheck.js +3 -0
  153. package/dist/node/permissions/types/IPolicyCheck.js.map +1 -0
  154. package/dist/node/permissions/types/Permission.js +28 -0
  155. package/dist/node/permissions/types/Permission.js.map +1 -0
  156. package/dist/node/permissions/types/PlatformPrivilege.js +7 -0
  157. package/dist/node/permissions/types/PlatformPrivilege.js.map +1 -0
  158. package/dist/node/permissions/types/PolicyResponse.js +6 -0
  159. package/dist/node/permissions/types/PolicyResponse.js.map +1 -0
  160. package/dist/node/permissions/types/index.js +12 -0
  161. package/dist/node/permissions/types/index.js.map +1 -0
  162. package/dist/node/permissions/utils.js +31 -0
  163. package/dist/node/permissions/utils.js.map +1 -0
  164. package/dist/node/projects/HubProject.js +10 -19
  165. package/dist/node/projects/HubProject.js.map +1 -1
  166. package/dist/node/projects/_internal/ProjectPermissionPolicies.js +38 -0
  167. package/dist/node/projects/_internal/ProjectPermissionPolicies.js.map +1 -0
  168. package/dist/node/projects/_internal.js +48 -0
  169. package/dist/node/projects/_internal.js.map +1 -0
  170. package/dist/node/projects/edit.js +122 -0
  171. package/dist/node/projects/edit.js.map +1 -0
  172. package/dist/node/projects/fetch.js +110 -0
  173. package/dist/node/projects/fetch.js.map +1 -0
  174. package/dist/node/projects/index.js +2 -1
  175. package/dist/node/projects/index.js.map +1 -1
  176. package/dist/node/search/Catalog.js.map +1 -1
  177. package/dist/node/sites/HubSite.js +0 -13
  178. package/dist/node/sites/HubSite.js.map +1 -1
  179. package/dist/node/sites/_internal/SitesPermissionPolicies.js +37 -0
  180. package/dist/node/sites/_internal/SitesPermissionPolicies.js.map +1 -0
  181. package/dist/node/util.js +3 -1
  182. package/dist/node/util.js.map +1 -1
  183. package/dist/types/ArcGISContext.d.ts +23 -1
  184. package/dist/types/ArcGISContextManager.d.ts +6 -1
  185. package/dist/types/content/_internal.d.ts +15 -5
  186. package/dist/types/core/HubItemEntity.d.ts +29 -4
  187. package/dist/types/core/behaviors/IWithPermissionBehavior.d.ts +23 -35
  188. package/dist/types/core/behaviors/IWithStoreBehavior.d.ts +10 -10
  189. package/dist/types/core/fetchHubEntity.d.ts +11 -0
  190. package/dist/types/core/getTypeFromEntity.d.ts +8 -0
  191. package/dist/types/core/index.d.ts +2 -1
  192. package/dist/types/core/traits/IWithPermissions.d.ts +3 -3
  193. package/dist/types/core/types/HubEntity.d.ts +5 -0
  194. package/dist/types/core/types/HubEntityType.d.ts +1 -0
  195. package/dist/types/core/types/IHubContent.d.ts +2 -1
  196. package/dist/types/core/types/IHubItemEntity.d.ts +19 -2
  197. package/dist/types/core/types/ISystemStatus.d.ts +22 -0
  198. package/dist/types/core/types/index.d.ts +3 -2
  199. package/dist/types/index.d.ts +1 -0
  200. package/dist/types/initiatives/HubInitiative.d.ts +1 -7
  201. package/dist/types/permissions/HubPermissionPolicies.d.ts +11 -0
  202. package/dist/types/permissions/_internal/checkAuthentication.d.ts +11 -0
  203. package/dist/types/permissions/_internal/checkEdit.d.ts +11 -0
  204. package/dist/types/permissions/_internal/checkEntityPolicy.d.ts +9 -0
  205. package/dist/types/permissions/_internal/checkLicense.d.ts +10 -0
  206. package/dist/types/permissions/_internal/checkOwner.d.ts +11 -0
  207. package/dist/types/permissions/_internal/checkPrivileges.d.ts +11 -0
  208. package/dist/types/permissions/_internal/getPolicyResponseCode.d.ts +7 -0
  209. package/dist/types/permissions/checkPermission.d.ts +11 -0
  210. package/dist/types/permissions/index.d.ts +4 -0
  211. package/dist/types/permissions/types/HubLicense.d.ts +4 -0
  212. package/dist/types/permissions/types/IAccessResponse.d.ts +29 -0
  213. package/dist/types/permissions/types/IEntityPermissionPolicy.d.ts +22 -0
  214. package/dist/types/permissions/types/IPermissionPolicy.d.ts +48 -0
  215. package/dist/types/permissions/types/IPolicyCheck.d.ts +25 -0
  216. package/dist/types/permissions/types/Permission.d.ts +17 -0
  217. package/dist/types/permissions/types/PlatformPrivilege.d.ts +5 -0
  218. package/dist/types/permissions/types/PolicyResponse.d.ts +4 -0
  219. package/dist/types/permissions/types/index.d.ts +8 -0
  220. package/dist/types/permissions/utils.d.ts +18 -0
  221. package/dist/types/projects/HubProject.d.ts +1 -7
  222. package/dist/types/projects/_internal/ProjectPermissionPolicies.d.ts +7 -0
  223. package/dist/types/projects/_internal.d.ts +20 -0
  224. package/dist/types/projects/{HubProjects.d.ts → edit.d.ts} +1 -29
  225. package/dist/types/projects/fetch.d.ts +30 -0
  226. package/dist/types/projects/index.d.ts +2 -1
  227. package/dist/types/sites/HubSite.d.ts +1 -7
  228. package/dist/types/sites/_internal/SitesPermissionPolicies.d.ts +6 -0
  229. package/package.json +1 -1
  230. package/dist/esm/core/PermissionManager.js +0 -60
  231. package/dist/esm/core/PermissionManager.js.map +0 -1
  232. package/dist/esm/core/types/IHubPermission.js +0 -1
  233. package/dist/esm/core/types/IHubPermission.js.map +0 -1
  234. package/dist/esm/projects/HubProjects.js +0 -248
  235. package/dist/esm/projects/HubProjects.js.map +0 -1
  236. package/dist/node/core/PermissionManager.js +0 -64
  237. package/dist/node/core/PermissionManager.js.map +0 -1
  238. package/dist/node/core/types/IHubPermission.js.map +0 -1
  239. package/dist/node/projects/HubProjects.js +0 -258
  240. package/dist/node/projects/HubProjects.js.map +0 -1
  241. package/dist/types/core/PermissionManager.d.ts +0 -43
  242. package/dist/types/core/types/IHubPermission.d.ts +0 -23
@@ -1,258 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getHubProjectEditorConfig = exports.enrichProjectSearchResult = exports.convertItemToProject = exports.deleteProject = exports.fetchProject = exports.updateProject = exports.createProject = void 0;
4
- // Note - we separate these imports so we can cleanly spy on things in tests
5
- const models_1 = require("../models");
6
- const slugs_1 = require("../items/slugs");
7
- const index_1 = require("../index");
8
- const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
9
- const PropertyMapper_1 = require("../core/_internal/PropertyMapper");
10
- const parseInclude_1 = require("../search/_internal/parseInclude");
11
- const _enrichments_1 = require("../items/_enrichments");
12
- const _internal_1 = require("../content/_internal");
13
- const defaults_1 = require("./defaults");
14
- const getBasePropertyMap_1 = require("../core/_internal/getBasePropertyMap");
15
- const schemas_1 = require("../core/schemas");
16
- const internal_1 = require("../core/schemas/internal");
17
- const applyUiSchemaElementOptions_1 = require("../core/schemas/internal/applyUiSchemaElementOptions");
18
- /**
19
- * Returns an Array of IPropertyMap objects
20
- * that define the projection of properties from a IModel to an IHubProject
21
- * @returns
22
- */
23
- function getPropertyMap() {
24
- const map = getBasePropertyMap_1.getBasePropertyMap();
25
- // Type specific mappings
26
- map.push({ objectKey: "status", modelKey: "data.status" });
27
- map.push({ objectKey: "catalog", modelKey: "data.catalog" });
28
- map.push({ objectKey: "permissions", modelKey: "data.permissions" });
29
- map.push({ objectKey: "contacts", modelKey: "data.contacts" });
30
- map.push({ objectKey: "timeline", modelKey: "data.timeline" });
31
- return map;
32
- }
33
- /**
34
- * @private
35
- * Create a new Hub Project item
36
- *
37
- * Minimal properties are name and org
38
- *
39
- * @param project
40
- * @param requestOptions
41
- */
42
- async function createProject(partialProject, requestOptions) {
43
- // merge incoming with the default
44
- // this expansion solves the typing somehow
45
- const project = Object.assign(Object.assign({}, defaults_1.DEFAULT_PROJECT), partialProject);
46
- // Create a slug from the title if one is not passed in
47
- if (!project.slug) {
48
- project.slug = slugs_1.constructSlug(project.name, project.orgUrlKey);
49
- }
50
- // Ensure slug is unique
51
- project.slug = await slugs_1.getUniqueSlug({ slug: project.slug }, requestOptions);
52
- // add slug to keywords
53
- project.typeKeywords = slugs_1.setSlugKeyword(project.typeKeywords, project.slug);
54
- // Map project object onto a default project Model
55
- const mapper = new PropertyMapper_1.PropertyMapper(getPropertyMap());
56
- // create model from object, using the default model as a starting point
57
- let model = mapper.objectToModel(project, index_1.cloneObject(defaults_1.DEFAULT_PROJECT_MODEL));
58
- // create the item
59
- model = await models_1.createModel(model, requestOptions);
60
- // map the model back into a IHubProject
61
- let newProject = mapper.modelToObject(model, {});
62
- newProject = computeProps(model, newProject, requestOptions);
63
- // and return it
64
- return newProject;
65
- }
66
- exports.createProject = createProject;
67
- /**
68
- * @private
69
- * Update a Hub Project
70
- * @param project
71
- * @param requestOptions
72
- */
73
- async function updateProject(project, requestOptions) {
74
- // verify that the slug is unique, excluding the current project
75
- project.slug = await slugs_1.getUniqueSlug({ slug: project.slug, existingId: project.id }, requestOptions);
76
- // get the backing item & data
77
- const model = await models_1.getModel(project.id, requestOptions);
78
- // create the PropertyMapper
79
- const mapper = new PropertyMapper_1.PropertyMapper(getPropertyMap());
80
- // Note: Although we are fetching the model, and applying changes onto it,
81
- // we are not attempting to handle "concurrent edit" conflict resolution
82
- // but this is where we would apply that sort of logic
83
- const modelToUpdate = mapper.objectToModel(project, model);
84
- // update the backing item
85
- const updatedModel = await models_1.updateModel(modelToUpdate, requestOptions);
86
- // now map back into a project and return that
87
- let updatedProject = mapper.modelToObject(updatedModel, project);
88
- updatedProject = computeProps(model, updatedProject, requestOptions);
89
- // the casting is needed because modelToObject returns a `Partial<T>`
90
- // where as this function returns a `T`
91
- return updatedProject;
92
- }
93
- exports.updateProject = updateProject;
94
- /**
95
- * @private
96
- * Get a Hub Project by id or slug
97
- * @param identifier item id or slug
98
- * @param requestOptions
99
- */
100
- function fetchProject(identifier, requestOptions) {
101
- let getPrms;
102
- if (index_1.isGuid(identifier)) {
103
- // get item by id
104
- getPrms = arcgis_rest_portal_1.getItem(identifier, requestOptions);
105
- }
106
- else {
107
- getPrms = slugs_1.getItemBySlug(identifier, requestOptions);
108
- }
109
- return getPrms.then((item) => {
110
- if (!item)
111
- return null;
112
- return convertItemToProject(item, requestOptions);
113
- });
114
- }
115
- exports.fetchProject = fetchProject;
116
- /**
117
- * @private
118
- * Remove a Hub Project
119
- * @param id
120
- * @param requestOptions
121
- */
122
- async function deleteProject(id, requestOptions) {
123
- const ro = Object.assign(Object.assign({}, requestOptions), { id });
124
- await arcgis_rest_portal_1.removeItem(ro);
125
- return;
126
- }
127
- exports.deleteProject = deleteProject;
128
- /**
129
- * @private
130
- * Convert an Hub Project Item into a Hub Project, fetching any additional
131
- * information that may be required
132
- * @param item
133
- * @param auth
134
- * @returns
135
- */
136
- async function convertItemToProject(item, requestOptions) {
137
- const model = await models_1.fetchModelFromItem(item, requestOptions);
138
- // TODO: In the future we will handle the boundary fetching from resource
139
- const mapper = new PropertyMapper_1.PropertyMapper(getPropertyMap());
140
- const prj = mapper.modelToObject(model, {});
141
- return computeProps(model, prj, requestOptions);
142
- }
143
- exports.convertItemToProject = convertItemToProject;
144
- /**
145
- * Given a model and a project, set various computed properties that can't be directly mapped
146
- * @param model
147
- * @param project
148
- * @param requestOptions
149
- * @returns
150
- */
151
- function computeProps(model, project, requestOptions) {
152
- let token;
153
- if (requestOptions.authentication) {
154
- const session = requestOptions.authentication;
155
- token = session.token;
156
- }
157
- // thumbnail url
158
- project.thumbnailUrl = index_1.getItemThumbnailUrl(model.item, requestOptions, token);
159
- // Handle Dates
160
- project.createdDate = new Date(model.item.created);
161
- project.createdDateSource = "item.created";
162
- project.updatedDate = new Date(model.item.modified);
163
- project.updatedDateSource = "item.modified";
164
- // cast b/c this takes a partial but returns a full project
165
- return project;
166
- }
167
- /**
168
- * @private
169
- * Fetch project specific enrichments
170
- * @param item
171
- * @param include
172
- * @param requestOptions
173
- * @returns
174
- */
175
- async function enrichProjectSearchResult(item, include, requestOptions) {
176
- // Create the basic structure
177
- const result = {
178
- access: item.access,
179
- id: item.id,
180
- type: item.type,
181
- name: item.title,
182
- owner: item.owner,
183
- typeKeywords: item.typeKeywords,
184
- tags: item.tags,
185
- categories: item.categories,
186
- summary: item.snippet || item.description,
187
- createdDate: new Date(item.created),
188
- createdDateSource: "item.created",
189
- updatedDate: new Date(item.modified),
190
- updatedDateSource: "item.modified",
191
- family: index_1.getFamily(item.type),
192
- links: {
193
- self: "not-implemented",
194
- siteRelative: "not-implemented",
195
- thumbnail: "not-implemented",
196
- },
197
- };
198
- // default includes
199
- const DEFAULTS = [];
200
- // merge includes
201
- include = [...DEFAULTS, ...include].filter(index_1.unique);
202
- // Parse the includes into a valid set of enrichments
203
- const specs = include.map(parseInclude_1.parseInclude);
204
- // Extract out the low-level enrichments needed
205
- const enrichments = index_1.mapBy("enrichment", specs).filter(index_1.unique);
206
- // fetch the enrichments
207
- let enriched = {};
208
- if (enrichments.length) {
209
- // TODO: Look into caching for the requests in fetchItemEnrichments
210
- enriched = await _enrichments_1.fetchItemEnrichments(item, enrichments, requestOptions);
211
- }
212
- // map the enriched props onto the result
213
- specs.forEach((spec) => {
214
- result[spec.prop] = index_1.getProp(enriched, spec.path);
215
- });
216
- // Handle links
217
- // TODO: Link handling should be an enrichment
218
- result.links.thumbnail = index_1.getItemThumbnailUrl(item, requestOptions);
219
- result.links.self = index_1.getItemHomeUrl(result.id, requestOptions);
220
- result.links.siteRelative = _internal_1.getHubRelativeUrl(result.type, result.id, item.typeKeywords);
221
- return result;
222
- }
223
- exports.enrichProjectSearchResult = enrichProjectSearchResult;
224
- /**
225
- * Get the editor config for for the HubProject entity.
226
- * @param i18nScope Translation scope to be interpolated into the schemas
227
- * @param type
228
- * @param options Optional hash of Element component options
229
- * @returns
230
- */
231
- async function getHubProjectEditorConfig(i18nScope, type, options = []) {
232
- // schema is always the entire schema
233
- let schema = index_1.cloneObject(schemas_1.HubProjectSchema);
234
- // uiSchema is the complete (edit) schema, unless otherwise specified
235
- let uiSchema = index_1.cloneObject(schemas_1.HubProjectEditUiSchema);
236
- // by default we don't need to filter the schema b/c it's the entire schema
237
- let filterSchema = false;
238
- // if another schema is requested, we need to use that UI schema
239
- // and the subset the overall schema down to just the properties
240
- // used in the UI schema
241
- switch (type) {
242
- case "create":
243
- uiSchema = index_1.cloneObject(schemas_1.HubProjectCreateUiSchema);
244
- filterSchema = true;
245
- break;
246
- }
247
- if (filterSchema) {
248
- // filter out properties not used in the UI schema
249
- schema = internal_1.filterSchemaToUiSchema(schema, uiSchema);
250
- }
251
- // interpolate the i18n scope into the uiSchema
252
- uiSchema = index_1.interpolate(uiSchema, { i18nScope });
253
- // apply the options
254
- uiSchema = applyUiSchemaElementOptions_1.applyUiSchemaElementOptions(uiSchema, options);
255
- return Promise.resolve({ schema, uiSchema });
256
- }
257
- exports.getHubProjectEditorConfig = getHubProjectEditorConfig;
258
- //# sourceMappingURL=HubProjects.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HubProjects.js","sourceRoot":"","sources":["../../../src/projects/HubProjects.ts"],"names":[],"mappings":"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"}
@@ -1,43 +0,0 @@
1
- import { IArcGISContext } from "../ArcGISContext";
2
- import { HubPermission, IHubPermission } from "./types/IHubPermission";
3
- /**
4
- * Permission Manager class that provides permission behavior for a given entity
5
- */
6
- export declare class PermissionManager {
7
- private _permissions;
8
- private _context;
9
- private constructor();
10
- /**
11
- * Create a new PermissionManager instance from configuration and context
12
- * @param permissions
13
- * @param context
14
- * @returns
15
- */
16
- static fromJson(permissions: IHubPermission[], context: IArcGISContext): PermissionManager;
17
- /**
18
- * Check if the user has a specific permission in the context of an entity
19
- * @param permission
20
- */
21
- check(permission: HubPermission): boolean;
22
- /**
23
- * Get all the permission definitions for the specific permission
24
- * @param key permission to check for
25
- */
26
- get(permission: HubPermission): IHubPermission[];
27
- /**
28
- * Set a permission for the given entity
29
- * @param permission
30
- */
31
- add(permission: IHubPermission): void;
32
- /**
33
- * Remove a permission by targetId
34
- * @param permission
35
- * @param targetId
36
- */
37
- remove(permission: HubPermission, targetId: string): void;
38
- /**
39
- * Return the current permissions as a JSON object
40
- * @returns {IHubPermission[]}
41
- */
42
- toJson(): IHubPermission[];
43
- }
@@ -1,23 +0,0 @@
1
- /**
2
- * Structure of a Hub Permission
3
- */
4
- export interface IHubPermission {
5
- /**
6
- * Unique identifier of the permission
7
- */
8
- id?: string;
9
- /**
10
- * What action is being enabled for the target
11
- */
12
- permission: HubPermission;
13
- /**
14
- * What is the target of the permission
15
- */
16
- target: PermissionTarget;
17
- /**
18
- * Id of the entity that this permission is granted for
19
- */
20
- targetId: string;
21
- }
22
- export declare type HubPermission = "addEvent" | "createEvent" | "editEvent" | "deleteEvent" | "addInitiative" | "createInitiative" | "editInitiative" | "deleteInitiative" | "addProject" | "createProject" | "editProject" | "deleteProject";
23
- export declare type PermissionTarget = "org" | "group" | "user";