@esri/hub-common 10.1.0 → 11.0.0-beta.3
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.
- package/dist/esm/Hub.js +0 -26
- package/dist/esm/Hub.js.map +1 -1
- package/dist/esm/core/PermissionManager.js +60 -0
- package/dist/esm/core/PermissionManager.js.map +1 -0
- package/dist/esm/core/_internal/PropertyMapper.js +1 -0
- package/dist/esm/core/_internal/PropertyMapper.js.map +1 -1
- package/dist/esm/core/_internal/sharedWith.js +14 -0
- package/dist/esm/core/_internal/sharedWith.js.map +1 -0
- package/dist/esm/core/behaviors/IWithCatalogBehavior.js +1 -0
- package/dist/esm/core/behaviors/IWithCatalogBehavior.js.map +1 -0
- package/dist/esm/core/behaviors/IWithPermissionBehavior.js +69 -0
- package/dist/esm/core/behaviors/IWithPermissionBehavior.js.map +1 -0
- package/dist/esm/core/behaviors/IWithSharingBehavior.js +1 -0
- package/dist/esm/core/behaviors/IWithSharingBehavior.js.map +1 -0
- package/dist/esm/core/behaviors/IWithStoreBehavior.js +1 -0
- package/dist/esm/core/behaviors/IWithStoreBehavior.js.map +1 -0
- package/dist/esm/core/behaviors/index.js +5 -0
- package/dist/esm/core/behaviors/index.js.map +1 -0
- package/dist/esm/core/index.js +2 -0
- package/dist/esm/core/index.js.map +1 -1
- package/dist/esm/core/traits/IWithBannerImage.js +1 -0
- package/dist/esm/core/traits/IWithBannerImage.js.map +1 -0
- package/dist/esm/core/traits/IWithCatalogDefinition.js +1 -0
- package/dist/esm/core/traits/IWithCatalogDefinition.js.map +1 -0
- package/dist/esm/core/traits/IWithLayout.js +1 -0
- package/dist/esm/core/traits/IWithLayout.js.map +1 -0
- package/dist/esm/core/traits/IWithPermissions.js +1 -0
- package/dist/esm/core/traits/IWithPermissions.js.map +1 -0
- package/dist/esm/core/traits/IWithSlug.js +1 -0
- package/dist/esm/core/traits/IWithSlug.js.map +1 -0
- package/dist/esm/core/traits/index.js +4 -3
- package/dist/esm/core/traits/index.js.map +1 -1
- package/dist/esm/core/types/IHubPermission.js +1 -0
- package/dist/esm/core/types/IHubPermission.js.map +1 -0
- package/dist/esm/core/types/index.js +1 -0
- package/dist/esm/core/types/index.js.map +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/items/slugs.js +1 -1
- package/dist/esm/models/index.js +15 -10
- package/dist/esm/models/index.js.map +1 -1
- package/dist/esm/projects/HubProject.js +369 -0
- package/dist/esm/projects/HubProject.js.map +1 -0
- package/dist/esm/projects/HubProjectManager.js +4 -4
- package/dist/esm/projects/HubProjectManager.js.map +1 -1
- package/dist/esm/projects/HubProjects.js +37 -39
- package/dist/esm/projects/HubProjects.js.map +1 -1
- package/dist/esm/projects/defaults.js +36 -0
- package/dist/esm/projects/defaults.js.map +1 -0
- package/dist/esm/projects/index.js +1 -1
- package/dist/esm/projects/index.js.map +1 -1
- package/dist/esm/search/Catalog.js +22 -5
- package/dist/esm/search/Catalog.js.map +1 -1
- package/dist/esm/sites/HubSiteManager.js +1 -1
- package/dist/esm/sites/HubSiteManager.js.map +1 -1
- package/dist/esm/sites/index.js +0 -1
- package/dist/esm/sites/index.js.map +1 -1
- package/dist/node/Hub.js +0 -26
- package/dist/node/Hub.js.map +1 -1
- package/dist/node/core/PermissionManager.js +64 -0
- package/dist/node/core/PermissionManager.js.map +1 -0
- package/dist/node/core/_internal/PropertyMapper.js +1 -0
- package/dist/node/core/_internal/PropertyMapper.js.map +1 -1
- package/dist/node/core/_internal/sharedWith.js +18 -0
- package/dist/node/core/_internal/sharedWith.js.map +1 -0
- package/dist/node/core/behaviors/IWithCatalogBehavior.js +3 -0
- package/dist/node/core/behaviors/IWithCatalogBehavior.js.map +1 -0
- package/dist/node/core/behaviors/IWithPermissionBehavior.js +76 -0
- package/dist/node/core/behaviors/IWithPermissionBehavior.js.map +1 -0
- package/dist/node/core/behaviors/IWithSharingBehavior.js +3 -0
- package/dist/node/core/behaviors/IWithSharingBehavior.js.map +1 -0
- package/dist/node/core/behaviors/IWithStoreBehavior.js +3 -0
- package/dist/node/core/behaviors/IWithStoreBehavior.js.map +1 -0
- package/dist/node/core/behaviors/index.js +8 -0
- package/dist/node/core/behaviors/index.js.map +1 -0
- package/dist/node/core/index.js +2 -0
- package/dist/node/core/index.js.map +1 -1
- package/dist/node/core/traits/{WithBannerImage.js → IWithBannerImage.js} +1 -1
- package/dist/node/core/traits/IWithBannerImage.js.map +1 -0
- package/dist/node/core/traits/IWithCatalogDefinition.js +3 -0
- package/dist/node/core/traits/IWithCatalogDefinition.js.map +1 -0
- package/dist/node/core/traits/{WithCatalog.js → IWithLayout.js} +1 -1
- package/dist/node/core/traits/IWithLayout.js.map +1 -0
- package/dist/node/core/traits/IWithPermissions.js +3 -0
- package/dist/node/core/traits/IWithPermissions.js.map +1 -0
- package/dist/node/core/traits/{WithSlug.js → IWithSlug.js} +1 -1
- package/dist/node/core/traits/IWithSlug.js.map +1 -0
- package/dist/node/core/traits/index.js +4 -3
- package/dist/node/core/traits/index.js.map +1 -1
- package/dist/node/core/{traits/WithLayout.js → types/IHubPermission.js} +1 -1
- package/dist/node/core/types/IHubPermission.js.map +1 -0
- package/dist/node/core/types/index.js +1 -0
- package/dist/node/core/types/index.js.map +1 -1
- package/dist/node/index.js +2 -1
- package/dist/node/index.js.map +1 -1
- package/dist/node/items/slugs.js +1 -1
- package/dist/node/models/index.js +15 -10
- package/dist/node/models/index.js.map +1 -1
- package/dist/node/projects/HubProject.js +373 -0
- package/dist/node/projects/HubProject.js.map +1 -0
- package/dist/node/projects/HubProjectManager.js +3 -3
- package/dist/node/projects/HubProjectManager.js.map +1 -1
- package/dist/node/projects/HubProjects.js +42 -44
- package/dist/node/projects/HubProjects.js.map +1 -1
- package/dist/node/projects/defaults.js +39 -0
- package/dist/node/projects/defaults.js.map +1 -0
- package/dist/node/projects/index.js +1 -1
- package/dist/node/projects/index.js.map +1 -1
- package/dist/node/search/Catalog.js +22 -5
- package/dist/node/search/Catalog.js.map +1 -1
- package/dist/node/sites/HubSiteManager.js +1 -1
- package/dist/node/sites/HubSiteManager.js.map +1 -1
- package/dist/node/sites/index.js +0 -1
- package/dist/node/sites/index.js.map +1 -1
- package/dist/types/Hub.d.ts +0 -18
- package/dist/types/core/PermissionManager.d.ts +43 -0
- package/dist/types/core/_internal/PropertyMapper.d.ts +1 -0
- package/dist/types/core/_internal/sharedWith.d.ts +10 -0
- package/dist/types/core/behaviors/IWithCatalogBehavior.d.ts +4 -0
- package/dist/types/core/behaviors/IWithPermissionBehavior.d.ts +40 -0
- package/dist/types/core/behaviors/IWithSharingBehavior.d.ts +27 -0
- package/dist/types/core/behaviors/IWithStoreBehavior.d.ts +22 -0
- package/dist/types/core/behaviors/index.d.ts +4 -0
- package/dist/types/core/index.d.ts +2 -0
- package/dist/types/core/traits/{WithBannerImage.d.ts → IWithBannerImage.d.ts} +0 -0
- package/dist/types/core/traits/IWithCatalogDefinition.d.ts +7 -0
- package/dist/types/core/traits/{WithLayout.d.ts → IWithLayout.d.ts} +0 -0
- package/dist/types/core/traits/IWithPermissions.d.ts +10 -0
- package/dist/types/core/traits/{WithSlug.d.ts → IWithSlug.d.ts} +0 -0
- package/dist/types/core/traits/index.d.ts +4 -3
- package/dist/types/core/types/IHubEntityManager.d.ts +1 -1
- package/dist/types/core/types/IHubInitiative.d.ts +1 -1
- package/dist/types/core/types/IHubPage.d.ts +1 -1
- package/dist/types/core/types/IHubPermission.d.ts +23 -0
- package/dist/types/core/types/IHubProject.d.ts +4 -3
- package/dist/types/core/types/IHubSite.d.ts +2 -2
- package/dist/types/core/types/index.d.ts +1 -0
- package/dist/types/core/types/types.d.ts +5 -1
- package/dist/types/index.d.ts +0 -1
- package/dist/types/projects/HubProject.d.ts +92 -0
- package/dist/types/projects/HubProjectManager.d.ts +1 -1
- package/dist/types/projects/HubProjects.d.ts +7 -2
- package/dist/types/projects/defaults.d.ts +11 -0
- package/dist/types/projects/index.d.ts +1 -1
- package/dist/types/search/Catalog.d.ts +4 -3
- package/dist/types/sites/HubSiteManager.d.ts +1 -1
- package/dist/types/sites/index.d.ts +0 -1
- package/package.json +1 -1
- package/dist/esm/core/traits/WithBannerImage.js +0 -1
- package/dist/esm/core/traits/WithBannerImage.js.map +0 -1
- package/dist/esm/core/traits/WithCatalog.js +0 -1
- package/dist/esm/core/traits/WithCatalog.js.map +0 -1
- package/dist/esm/core/traits/WithLayout.js +0 -1
- package/dist/esm/core/traits/WithLayout.js.map +0 -1
- package/dist/esm/core/traits/WithSlug.js +0 -1
- package/dist/esm/core/traits/WithSlug.js.map +0 -1
- package/dist/node/core/traits/WithBannerImage.js.map +0 -1
- package/dist/node/core/traits/WithCatalog.js.map +0 -1
- package/dist/node/core/traits/WithLayout.js.map +0 -1
- package/dist/node/core/traits/WithSlug.js.map +0 -1
- package/dist/types/core/traits/WithCatalog.d.ts +0 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":";;;;AAAA,2DAAiC;AAGjC,iEASkC;AAElC,0BAAwD;AAExD;;;;GAIG;AACH,SAAgB,QAAQ,CACtB,EAAU,EACV,cAA+B;IAE/B,OAAO,OAAO,CAAC,GAAG,CAAC;QACjB,4BAAO,CAAC,EAAE,EAAE,cAAc,CAAC;QAC3B,gCAAW,CAAC,EAAE,EAAE,cAAc,CAAC;KAChC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAoB,EAAE,EAAE;QAC/B,0BAA0B;QAC1B,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YACf,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;SAChB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAdD,4BAcC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,cAAc,CAC5B,IAAY,EACZ,cAA+B;IAE/B,OAAO,iBAAa,CAAC,IAAI,EAAE,cAAc,CAAC;SACvC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACb,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACrC,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,IAAI,CAAC,gCAAW,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;SACjD;aAAM;YACL,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;SAClC;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,MAAa,EAAE,EAAE;QACtB,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;YACb,OAAO;gBACL,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;gBACf,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;aAChB,CAAC;SACH;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAxBD,wCAwBC;AAED;;;;;;GAMG;AACH,SAAgB,WAAW,CACzB,KAAa,EACb,cAAmC;IAEnC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,373 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HubProject = void 0;
|
|
4
|
+
const defaults_1 = require("./defaults");
|
|
5
|
+
const core_1 = require("../core");
|
|
6
|
+
const util_1 = require("../util");
|
|
7
|
+
const HubProjects_1 = require("./HubProjects");
|
|
8
|
+
const Catalog_1 = require("../search/Catalog");
|
|
9
|
+
const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
|
|
10
|
+
const sharedWith_1 = require("../core/_internal/sharedWith");
|
|
11
|
+
/**
|
|
12
|
+
* Hub Project Class
|
|
13
|
+
*/
|
|
14
|
+
class HubProject {
|
|
15
|
+
/**
|
|
16
|
+
* Private constructor so we don't have `new` all over the place. Allows for
|
|
17
|
+
* more flexibility in how we create the HubProjectManager over time.
|
|
18
|
+
* @param context
|
|
19
|
+
*/
|
|
20
|
+
constructor(project, context) {
|
|
21
|
+
this.isDestroyed = false;
|
|
22
|
+
this.context = context;
|
|
23
|
+
this.entity = project;
|
|
24
|
+
this._catalog = Catalog_1.Catalog.fromJson(project.catalogDefinition, this.context);
|
|
25
|
+
this._permissionManager = core_1.PermissionManager.fromJson(project.permissionDefinition, this.context);
|
|
26
|
+
}
|
|
27
|
+
//#region Properties - coverage skipped for now
|
|
28
|
+
// TODO: decide if we want ambient dirty tracking or if we
|
|
29
|
+
// implement that as async check against the server
|
|
30
|
+
// // istanbul ignore next
|
|
31
|
+
// get permissionDefinition(): IHubPermission[] {
|
|
32
|
+
// return this.entity.permissionDefinition;
|
|
33
|
+
// }
|
|
34
|
+
// // istanbul ignore next
|
|
35
|
+
// set permissionDefinition(permissions: IHubPermission[]) {
|
|
36
|
+
// this.entity.permissionDefinition = permissions;
|
|
37
|
+
// }
|
|
38
|
+
// // istanbul ignore next
|
|
39
|
+
// get timeline(): IHubTimeline | undefined {
|
|
40
|
+
// return this.entity.timeline;
|
|
41
|
+
// }
|
|
42
|
+
// // istanbul ignore next
|
|
43
|
+
// set timeline(value: IHubTimeline | undefined) {
|
|
44
|
+
// this.entity.timeline = value;
|
|
45
|
+
// }
|
|
46
|
+
// // istanbul ignore next
|
|
47
|
+
// get status(): "inactive" | "active" {
|
|
48
|
+
// return this.entity.status;
|
|
49
|
+
// }
|
|
50
|
+
// // istanbul ignore next
|
|
51
|
+
// set status(value: "inactive" | "active") {
|
|
52
|
+
// this.entity.status = value;
|
|
53
|
+
// }
|
|
54
|
+
// // istanbul ignore next
|
|
55
|
+
// get thumbnailUrl(): string | undefined {
|
|
56
|
+
// return this.entity.thumbnailUrl;
|
|
57
|
+
// }
|
|
58
|
+
// // istanbul ignore next
|
|
59
|
+
// set thumbnailUrl(value: string | undefined) {
|
|
60
|
+
// this.entity.thumbnailUrl = value;
|
|
61
|
+
// }
|
|
62
|
+
// // istanbul ignore next
|
|
63
|
+
// get owner(): string {
|
|
64
|
+
// return this.entity.owner;
|
|
65
|
+
// }
|
|
66
|
+
// // istanbul ignore next
|
|
67
|
+
// get description(): string | undefined {
|
|
68
|
+
// return this.entity.description;
|
|
69
|
+
// }
|
|
70
|
+
// // istanbul ignore next
|
|
71
|
+
// set description(value: string | undefined) {
|
|
72
|
+
// this.entity.description = value;
|
|
73
|
+
// }
|
|
74
|
+
// // istanbul ignore next
|
|
75
|
+
// get boundary(): IHubGeography | undefined {
|
|
76
|
+
// return this.entity.boundary;
|
|
77
|
+
// }
|
|
78
|
+
// // istanbul ignore next
|
|
79
|
+
// set boundary(value: IHubGeography | undefined) {
|
|
80
|
+
// this.entity.boundary = value;
|
|
81
|
+
// }
|
|
82
|
+
// // istanbul ignore next
|
|
83
|
+
// get culture(): string | undefined {
|
|
84
|
+
// return this.entity.culture;
|
|
85
|
+
// }
|
|
86
|
+
// // istanbul ignore next
|
|
87
|
+
// set culture(value: string | undefined) {
|
|
88
|
+
// this.entity.culture = value;
|
|
89
|
+
// }
|
|
90
|
+
// // istanbul ignore next
|
|
91
|
+
// get tags(): string[] {
|
|
92
|
+
// return this.entity.tags;
|
|
93
|
+
// }
|
|
94
|
+
// // istanbul ignore next
|
|
95
|
+
// set tags(value: string[]) {
|
|
96
|
+
// this.entity.tags = value;
|
|
97
|
+
// }
|
|
98
|
+
// // istanbul ignore next
|
|
99
|
+
// get typeKeywords(): string[] | undefined {
|
|
100
|
+
// return this.entity.typeKeywords;
|
|
101
|
+
// }
|
|
102
|
+
// // istanbul ignore next
|
|
103
|
+
// set typeKeywords(value: string[] | undefined) {
|
|
104
|
+
// this.entity.typeKeywords = value;
|
|
105
|
+
// }
|
|
106
|
+
// // istanbul ignore next
|
|
107
|
+
// get url(): string | undefined {
|
|
108
|
+
// return this.entity.url;
|
|
109
|
+
// }
|
|
110
|
+
// // istanbul ignore next
|
|
111
|
+
// set url(value: string | undefined) {
|
|
112
|
+
// this.entity.url = value;
|
|
113
|
+
// }
|
|
114
|
+
// // istanbul ignore next
|
|
115
|
+
// get id(): string {
|
|
116
|
+
// return this.entity.id;
|
|
117
|
+
// }
|
|
118
|
+
// // istanbul ignore next
|
|
119
|
+
// get name(): string {
|
|
120
|
+
// return this.entity.name;
|
|
121
|
+
// }
|
|
122
|
+
// // istanbul ignore next
|
|
123
|
+
// set name(value: string) {
|
|
124
|
+
// this.entity.name = value;
|
|
125
|
+
// }
|
|
126
|
+
// // istanbul ignore next
|
|
127
|
+
// get summary(): string | undefined {
|
|
128
|
+
// return this.entity.summary;
|
|
129
|
+
// }
|
|
130
|
+
// // istanbul ignore next
|
|
131
|
+
// set summary(value: string | undefined) {
|
|
132
|
+
// this.entity.summary = value;
|
|
133
|
+
// }
|
|
134
|
+
// // istanbul ignore next
|
|
135
|
+
// get createdDate(): Date {
|
|
136
|
+
// return this.entity.createdDate;
|
|
137
|
+
// }
|
|
138
|
+
// // istanbul ignore next
|
|
139
|
+
// get createdDateSource(): string {
|
|
140
|
+
// return this.entity.createdDateSource;
|
|
141
|
+
// }
|
|
142
|
+
// // istanbul ignore next
|
|
143
|
+
// get updatedDate(): Date {
|
|
144
|
+
// return this.entity.updatedDate;
|
|
145
|
+
// }
|
|
146
|
+
// // istanbul ignore next
|
|
147
|
+
// get updatedDateSource(): string {
|
|
148
|
+
// return this.entity.updatedDateSource;
|
|
149
|
+
// }
|
|
150
|
+
// // istanbul ignore next
|
|
151
|
+
// get type(): string {
|
|
152
|
+
// return this.entity.type;
|
|
153
|
+
// }
|
|
154
|
+
// // istanbul ignore next
|
|
155
|
+
// get source(): string | undefined {
|
|
156
|
+
// return this.entity.source;
|
|
157
|
+
// }
|
|
158
|
+
// // istanbul ignore next
|
|
159
|
+
// set source(value: string | undefined) {
|
|
160
|
+
// this.entity.source = value;
|
|
161
|
+
// }
|
|
162
|
+
// // istanbul ignore next
|
|
163
|
+
// get slug(): string {
|
|
164
|
+
// return this.entity.slug;
|
|
165
|
+
// }
|
|
166
|
+
// // istanbul ignore next
|
|
167
|
+
// set slug(value: string) {
|
|
168
|
+
// this.entity.slug = value;
|
|
169
|
+
// }
|
|
170
|
+
// // istanbul ignore next
|
|
171
|
+
// get orgUrlKey(): string {
|
|
172
|
+
// return this.entity.orgUrlKey;
|
|
173
|
+
// }
|
|
174
|
+
// // istanbul ignore next
|
|
175
|
+
// get layout(): IHubLayout | undefined {
|
|
176
|
+
// return this.entity.layout;
|
|
177
|
+
// }
|
|
178
|
+
// // istanbul ignore next
|
|
179
|
+
// set layout(value: IHubLayout | undefined) {
|
|
180
|
+
// this.entity.layout = value;
|
|
181
|
+
// }
|
|
182
|
+
// // istanbul ignore next
|
|
183
|
+
// get catalogDefinition(): IHubCatalog {
|
|
184
|
+
// return this.entity.catalogDefinition;
|
|
185
|
+
// }
|
|
186
|
+
// set catalogDefinition(value: IHubCatalog) {
|
|
187
|
+
// this.entity.catalogDefinition = value;
|
|
188
|
+
// // update the catalog instance
|
|
189
|
+
// this._catalog = Catalog.fromJson(value, this.context);
|
|
190
|
+
// }
|
|
191
|
+
/**
|
|
192
|
+
* @returns Catalog instance for this project. Note: Do not hold direct references to this object; always access it from the project.
|
|
193
|
+
*/
|
|
194
|
+
get catalog() {
|
|
195
|
+
return this._catalog;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* @returns PermissionManager instance for this project. Note: Do not hold direct references to this object; always access it from the project.
|
|
199
|
+
*/
|
|
200
|
+
get permissions() {
|
|
201
|
+
return this._permissionManager;
|
|
202
|
+
}
|
|
203
|
+
// #endregion
|
|
204
|
+
/**
|
|
205
|
+
* Create an instance from an IHubProject object
|
|
206
|
+
* @param json - JSON object to create a HubProject from
|
|
207
|
+
* @param context - ArcGIS context
|
|
208
|
+
* @returns
|
|
209
|
+
*/
|
|
210
|
+
static fromJson(json, context) {
|
|
211
|
+
// merge what we have with the default values
|
|
212
|
+
const pojo = this.applyDefaults(json, context);
|
|
213
|
+
return new HubProject(pojo, context);
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Create a new HubProject, returning a HubProject instance.
|
|
217
|
+
* Note: This does not persist the Project into the backing store
|
|
218
|
+
* @param partialProject
|
|
219
|
+
* @param context
|
|
220
|
+
* @returns
|
|
221
|
+
*/
|
|
222
|
+
static async create(partialProject, context, save = false) {
|
|
223
|
+
const pojo = this.applyDefaults(partialProject, context);
|
|
224
|
+
// return an instance of HubProject
|
|
225
|
+
const instance = HubProject.fromJson(pojo, context);
|
|
226
|
+
if (save) {
|
|
227
|
+
await instance.save();
|
|
228
|
+
}
|
|
229
|
+
return instance;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Fetch a Project from the backing store and return a HubProject instance.
|
|
233
|
+
* @param identifier - Identifier of the project to load
|
|
234
|
+
* @param context
|
|
235
|
+
* @returns
|
|
236
|
+
*/
|
|
237
|
+
static async fetch(identifier, context) {
|
|
238
|
+
// fetch the project by id or slug
|
|
239
|
+
try {
|
|
240
|
+
const project = await HubProjects_1.fetchProject(identifier, context.requestOptions);
|
|
241
|
+
// create an instance of HubProject from the project
|
|
242
|
+
return HubProject.fromJson(project, context);
|
|
243
|
+
}
|
|
244
|
+
catch (ex) {
|
|
245
|
+
if (ex.message ===
|
|
246
|
+
"CONT_0001: Item does not exist or is inaccessible.") {
|
|
247
|
+
throw new Error(`Project not found.`);
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
throw ex;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
static applyDefaults(partialProject, context) {
|
|
255
|
+
// ensure we have the orgUrlKey
|
|
256
|
+
if (!partialProject.orgUrlKey) {
|
|
257
|
+
partialProject.orgUrlKey = context.portal.urlKey;
|
|
258
|
+
}
|
|
259
|
+
// extend the partial over the defaults
|
|
260
|
+
const pojo = Object.assign(Object.assign({}, defaults_1.DEFAULT_PROJECT), partialProject);
|
|
261
|
+
return pojo;
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Get the current state of the IHubProject from the instance
|
|
265
|
+
* @returns IHubProject POJO
|
|
266
|
+
*/
|
|
267
|
+
toJson() {
|
|
268
|
+
if (this.isDestroyed) {
|
|
269
|
+
throw new Error("HubProject is already destroyed.");
|
|
270
|
+
}
|
|
271
|
+
return util_1.cloneObject(this.entity);
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Apply a new state to the instance
|
|
275
|
+
* @param changes
|
|
276
|
+
*/
|
|
277
|
+
update(changes) {
|
|
278
|
+
if (this.isDestroyed) {
|
|
279
|
+
throw new Error("HubProject is already destroyed.");
|
|
280
|
+
}
|
|
281
|
+
// merge partial onto existing entity
|
|
282
|
+
this.entity = Object.assign(Object.assign({}, this.entity), changes);
|
|
283
|
+
// update internal instances
|
|
284
|
+
if (changes.catalogDefinition) {
|
|
285
|
+
this._catalog = Catalog_1.Catalog.fromJson(this.entity.catalogDefinition, this.context);
|
|
286
|
+
}
|
|
287
|
+
if (changes.permissionDefinition) {
|
|
288
|
+
this._permissionManager = core_1.PermissionManager.fromJson(this.entity.permissionDefinition, this.context);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Save the HubProject to the store
|
|
293
|
+
* @returns
|
|
294
|
+
*/
|
|
295
|
+
async save() {
|
|
296
|
+
if (this.isDestroyed) {
|
|
297
|
+
throw new Error("HubProject is already destroyed.");
|
|
298
|
+
}
|
|
299
|
+
// get the catalog definition out of the instance
|
|
300
|
+
this.entity.catalogDefinition = this._catalog.toJson();
|
|
301
|
+
this.entity.permissionDefinition = this._permissionManager.toJson();
|
|
302
|
+
if (this.entity.id) {
|
|
303
|
+
// update it
|
|
304
|
+
this.entity = await HubProjects_1.updateProject(this.entity, this.context.userRequestOptions);
|
|
305
|
+
}
|
|
306
|
+
else {
|
|
307
|
+
// create it
|
|
308
|
+
this.entity = await HubProjects_1.createProject(this.entity, this.context.userRequestOptions);
|
|
309
|
+
}
|
|
310
|
+
return;
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Delete the HubProject from the store
|
|
314
|
+
* set a flag to indicate that it is destroyed
|
|
315
|
+
* @returns
|
|
316
|
+
*/
|
|
317
|
+
async delete() {
|
|
318
|
+
if (this.isDestroyed) {
|
|
319
|
+
throw new Error("HubProject is already destroyed.");
|
|
320
|
+
}
|
|
321
|
+
this.isDestroyed = true;
|
|
322
|
+
// Delegate to module fn
|
|
323
|
+
await HubProjects_1.deleteProject(this.entity.id, this.context.userRequestOptions);
|
|
324
|
+
}
|
|
325
|
+
//#region IWithSharingBehavior
|
|
326
|
+
/**
|
|
327
|
+
* Share the Project with the specified group id
|
|
328
|
+
* @param groupId
|
|
329
|
+
*/
|
|
330
|
+
async shareWithGroup(groupId) {
|
|
331
|
+
await arcgis_rest_portal_1.shareItemWithGroup({
|
|
332
|
+
id: this.entity.id,
|
|
333
|
+
groupId,
|
|
334
|
+
owner: this.entity.owner,
|
|
335
|
+
authentication: this.context.session,
|
|
336
|
+
});
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Unshare the Project with the specified group id
|
|
340
|
+
* @param groupId
|
|
341
|
+
*/
|
|
342
|
+
async unshareWithGroup(groupId) {
|
|
343
|
+
await arcgis_rest_portal_1.unshareItemWithGroup({
|
|
344
|
+
id: this.entity.id,
|
|
345
|
+
groupId,
|
|
346
|
+
owner: this.entity.owner,
|
|
347
|
+
authentication: this.context.session,
|
|
348
|
+
});
|
|
349
|
+
}
|
|
350
|
+
/**
|
|
351
|
+
* Set the access level of the backing item
|
|
352
|
+
* @param access
|
|
353
|
+
*/
|
|
354
|
+
async setAccess(access) {
|
|
355
|
+
await arcgis_rest_portal_1.setItemAccess({
|
|
356
|
+
id: this.entity.id,
|
|
357
|
+
access,
|
|
358
|
+
authentication: this.context.session,
|
|
359
|
+
});
|
|
360
|
+
// if this succeeded, update the entity
|
|
361
|
+
this.entity.access = access;
|
|
362
|
+
}
|
|
363
|
+
/**
|
|
364
|
+
* Return a list of groups the Project is shared to.
|
|
365
|
+
* @returns
|
|
366
|
+
*/
|
|
367
|
+
async sharedWith() {
|
|
368
|
+
// delegate to a util that merges the three arrays returned from the api, into a single array
|
|
369
|
+
return sharedWith_1.sharedWith(this.entity.id, this.context.requestOptions);
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
exports.HubProject = HubProject;
|
|
373
|
+
//# sourceMappingURL=HubProject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HubProject.js","sourceRoot":"","sources":["../../../src/projects/HubProject.ts"],"names":[],"mappings":";;;AAAA,yCAA6C;AAE7C,kCAQiB;AAEjB,kCAAsC;AACtC,+CAKuB;AAEvB,+CAA4C;AAG5C,iEAIkC;AAClC,6DAA0D;AAE1D;;GAEG;AACH,MAAa,UAAU;IAYrB;;;;OAIG;IACH,YAAoB,OAAoB,EAAE,OAAuB;QARzD,gBAAW,GAAY,KAAK,CAAC;QASnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,iBAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1E,IAAI,CAAC,kBAAkB,GAAG,wBAAiB,CAAC,QAAQ,CAClD,OAAO,CAAC,oBAAoB,EAC5B,IAAI,CAAC,OAAO,CACb,CAAC;IACJ,CAAC;IAED,+CAA+C;IAC/C,0DAA0D;IAC1D,mDAAmD;IAEnD,0BAA0B;IAC1B,iDAAiD;IACjD,6CAA6C;IAC7C,IAAI;IACJ,0BAA0B;IAC1B,4DAA4D;IAC5D,oDAAoD;IACpD,IAAI;IAEJ,0BAA0B;IAC1B,6CAA6C;IAC7C,iCAAiC;IACjC,IAAI;IACJ,0BAA0B;IAC1B,kDAAkD;IAClD,kCAAkC;IAClC,IAAI;IACJ,0BAA0B;IAC1B,wCAAwC;IACxC,+BAA+B;IAC/B,IAAI;IACJ,0BAA0B;IAC1B,6CAA6C;IAC7C,gCAAgC;IAChC,IAAI;IAEJ,0BAA0B;IAC1B,2CAA2C;IAC3C,qCAAqC;IACrC,IAAI;IACJ,0BAA0B;IAC1B,gDAAgD;IAChD,sCAAsC;IACtC,IAAI;IAEJ,0BAA0B;IAC1B,wBAAwB;IACxB,8BAA8B;IAC9B,IAAI;IAEJ,0BAA0B;IAC1B,0CAA0C;IAC1C,oCAAoC;IACpC,IAAI;IACJ,0BAA0B;IAC1B,+CAA+C;IAC/C,qCAAqC;IACrC,IAAI;IACJ,0BAA0B;IAC1B,8CAA8C;IAC9C,iCAAiC;IACjC,IAAI;IACJ,0BAA0B;IAC1B,mDAAmD;IACnD,kCAAkC;IAClC,IAAI;IACJ,0BAA0B;IAC1B,sCAAsC;IACtC,gCAAgC;IAChC,IAAI;IACJ,0BAA0B;IAC1B,2CAA2C;IAC3C,iCAAiC;IACjC,IAAI;IACJ,0BAA0B;IAC1B,yBAAyB;IACzB,6BAA6B;IAC7B,IAAI;IACJ,0BAA0B;IAC1B,8BAA8B;IAC9B,8BAA8B;IAC9B,IAAI;IACJ,0BAA0B;IAC1B,6CAA6C;IAC7C,qCAAqC;IACrC,IAAI;IACJ,0BAA0B;IAC1B,kDAAkD;IAClD,sCAAsC;IACtC,IAAI;IACJ,0BAA0B;IAC1B,kCAAkC;IAClC,4BAA4B;IAC5B,IAAI;IACJ,0BAA0B;IAC1B,uCAAuC;IACvC,6BAA6B;IAC7B,IAAI;IACJ,0BAA0B;IAC1B,qBAAqB;IACrB,2BAA2B;IAC3B,IAAI;IAEJ,0BAA0B;IAC1B,uBAAuB;IACvB,6BAA6B;IAC7B,IAAI;IACJ,0BAA0B;IAC1B,4BAA4B;IAC5B,8BAA8B;IAC9B,IAAI;IACJ,0BAA0B;IAC1B,sCAAsC;IACtC,gCAAgC;IAChC,IAAI;IACJ,0BAA0B;IAC1B,2CAA2C;IAC3C,iCAAiC;IACjC,IAAI;IACJ,0BAA0B;IAC1B,4BAA4B;IAC5B,oCAAoC;IACpC,IAAI;IACJ,0BAA0B;IAC1B,oCAAoC;IACpC,0CAA0C;IAC1C,IAAI;IACJ,0BAA0B;IAC1B,4BAA4B;IAC5B,oCAAoC;IACpC,IAAI;IACJ,0BAA0B;IAC1B,oCAAoC;IACpC,0CAA0C;IAC1C,IAAI;IACJ,0BAA0B;IAC1B,uBAAuB;IACvB,6BAA6B;IAC7B,IAAI;IACJ,0BAA0B;IAC1B,qCAAqC;IACrC,+BAA+B;IAC/B,IAAI;IACJ,0BAA0B;IAC1B,0CAA0C;IAC1C,gCAAgC;IAChC,IAAI;IACJ,0BAA0B;IAC1B,uBAAuB;IACvB,6BAA6B;IAC7B,IAAI;IACJ,0BAA0B;IAC1B,4BAA4B;IAC5B,8BAA8B;IAC9B,IAAI;IACJ,0BAA0B;IAC1B,4BAA4B;IAC5B,kCAAkC;IAClC,IAAI;IACJ,0BAA0B;IAC1B,yCAAyC;IACzC,+BAA+B;IAC/B,IAAI;IACJ,0BAA0B;IAC1B,8CAA8C;IAC9C,gCAAgC;IAChC,IAAI;IACJ,0BAA0B;IAC1B,yCAAyC;IACzC,0CAA0C;IAC1C,IAAI;IAEJ,8CAA8C;IAC9C,2CAA2C;IAC3C,mCAAmC;IACnC,2DAA2D;IAC3D,IAAI;IAEJ;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED,aAAa;IAEb;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CACb,IAA0B,EAC1B,OAAuB;QAEvB,6CAA6C;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,cAAoC,EACpC,OAAuB,EACvB,OAAgB,KAAK;QAErB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACzD,mCAAmC;QACnC,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACpD,IAAI,IAAI,EAAE;YACR,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;SACvB;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,CAChB,UAAkB,EAClB,OAAuB;QAEvB,kCAAkC;QAClC,IAAI;YACF,MAAM,OAAO,GAAG,MAAM,0BAAY,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YACvE,oDAAoD;YACpD,OAAO,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;SAC9C;QAAC,OAAO,EAAE,EAAE;YACX,IACG,EAAY,CAAC,OAAO;gBACrB,oDAAoD,EACpD;gBACA,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;aACvC;iBAAM;gBACL,MAAM,EAAE,CAAC;aACV;SACF;IACH,CAAC;IAEO,MAAM,CAAC,aAAa,CAC1B,cAAoC,EACpC,OAAuB;QAEvB,+BAA+B;QAC/B,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE;YAC7B,cAAc,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;SAClD;QACD,uCAAuC;QACvC,MAAM,IAAI,GAAG,gCAAK,0BAAe,GAAK,cAAc,CAAiB,CAAC;QACtE,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACrD;QACD,OAAO,kBAAW,CAAC,IAAI,CAAC,MAAM,CAA2B,CAAC;IAC5D,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,OAA6B;QAClC,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACrD;QACD,qCAAqC;QACrC,IAAI,CAAC,MAAM,mCAAQ,IAAI,CAAC,MAAM,GAAK,OAAO,CAAE,CAAC;QAE7C,4BAA4B;QAC5B,IAAI,OAAO,CAAC,iBAAiB,EAAE;YAC7B,IAAI,CAAC,QAAQ,GAAG,iBAAO,CAAC,QAAQ,CAC9B,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAC7B,IAAI,CAAC,OAAO,CACb,CAAC;SACH;QACD,IAAI,OAAO,CAAC,oBAAoB,EAAE;YAChC,IAAI,CAAC,kBAAkB,GAAG,wBAAiB,CAAC,QAAQ,CAClD,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAChC,IAAI,CAAC,OAAO,CACb,CAAC;SACH;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACrD;QACD,iDAAiD;QACjD,IAAI,CAAC,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;QAEpE,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;YAClB,YAAY;YACZ,IAAI,CAAC,MAAM,GAAG,MAAM,2BAAa,CAC/B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAChC,CAAC;SACH;aAAM;YACL,YAAY;YACZ,IAAI,CAAC,MAAM,GAAG,MAAM,2BAAa,CAC/B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAChC,CAAC;SACH;QAED,OAAO;IACT,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM;QACV,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACrD;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,wBAAwB;QACxB,MAAM,2BAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACvE,CAAC;IAED,8BAA8B;IAC9B;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,OAAe;QAClC,MAAM,uCAAkB,CAAC;YACvB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;YAClB,OAAO;YACP,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;YACxB,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;SACrC,CAAC,CAAC;IACL,CAAC;IACD;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAAe;QACpC,MAAM,yCAAoB,CAAC;YACzB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;YAClB,OAAO;YACP,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;YACxB,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;SACrC,CAAC,CAAC;IACL,CAAC;IACD;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,MAA2B;QACzC,MAAM,kCAAa,CAAC;YAClB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;YAClB,MAAM;YACN,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;SACrC,CAAC,CAAC;QACH,uCAAuC;QACvC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU;QACd,6FAA6F;QAC7F,OAAO,uBAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACjE,CAAC;CAGF;AApaD,gCAoaC"}
|
|
@@ -91,12 +91,12 @@ class HubProjectManager {
|
|
|
91
91
|
* @param requestOptions
|
|
92
92
|
* @returns
|
|
93
93
|
*/
|
|
94
|
-
async
|
|
94
|
+
async delete(id, requestOptions) {
|
|
95
95
|
if (requestOptions || this.context.isAuthenticated) {
|
|
96
|
-
return HubProjects_1.
|
|
96
|
+
return HubProjects_1.deleteProject(id, requestOptions || this.context.userRequestOptions);
|
|
97
97
|
}
|
|
98
98
|
else {
|
|
99
|
-
throw new __1.HubError("
|
|
99
|
+
throw new __1.HubError("Delete Project", "Destroying Hub Projects requires authentication.");
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HubProjectManager.js","sourceRoot":"","sources":["../../../src/projects/HubProjectManager.ts"],"names":[],"mappings":";;;AAEA,+CAOuB;AACvB,mDAAmD;AACnD,kEAA+D;AAC/D,0BAMY;AAGZ,gEAAoF;AAEpF,iEAKkC;AAClC,oCAAmD;AAEnD;;;;;;GAMG;AACH,MAAa,iBAAiB;IAkB5B;;;;OAIG;IACH,YAAoB,gBAAuD;QACzE,IAAI,gBAAgB,YAAY,2CAAoB,EAAE;YACpD,IAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC;SACzC;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC;SAClC;IACH,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,CACT,gBAAuD;QAEvD,OAAO,IAAI,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,IAAY,OAAO;QACjB,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;SACrC;aAAM;YACL,OAAO,IAAI,CAAC,QAAQ,CAAC;SACtB;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CACV,OAA6B,EAC7B,cAAoC;QAEpC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;YAClD,0BAA0B;YAC1B,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;gBACtB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;aAChD;YACD,OAAO,2BAAa,CAClB,OAAO,EACP,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAClD,CAAC;SACH;aAAM;YACL,MAAM,IAAI,YAAQ,CAChB,gBAAgB,EAChB,gDAAgD,CACjD,CAAC;SACH;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CACV,OAAoB,EACpB,cAAoC;QAEpC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;YAClD,OAAO,2BAAa,CAClB,OAAO,EACP,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAClD,CAAC;SACH;aAAM;YACL,MAAM,IAAI,YAAQ,CAChB,gBAAgB,EAChB,gDAAgD,CACjD,CAAC;SACH;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"HubProjectManager.js","sourceRoot":"","sources":["../../../src/projects/HubProjectManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.enrichProjectSearchResult = exports.convertItemToProject = exports.searchProjects = exports.
|
|
3
|
+
exports.enrichProjectSearchResult = exports.convertItemToProject = exports.searchProjects = exports.deleteProject = exports.fetchProject = exports.updateProject = exports.createProject = void 0;
|
|
4
4
|
// Note - we separate these imports so we can cleanly spy on things in tests
|
|
5
5
|
const models_1 = require("../models");
|
|
6
6
|
const slugs_1 = require("../items/slugs");
|
|
@@ -12,39 +12,7 @@ const parseInclude_1 = require("../search/_internal/parseInclude");
|
|
|
12
12
|
const _enrichments_1 = require("../items/_enrichments");
|
|
13
13
|
const _internal_1 = require("../content/_internal");
|
|
14
14
|
const _internal_2 = require("../search/_internal");
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Default values of a IHubProject
|
|
18
|
-
*/
|
|
19
|
-
const DEFAULT_PROJECT = {
|
|
20
|
-
name: "No title provided",
|
|
21
|
-
tags: [],
|
|
22
|
-
typeKeywords: ["Hub Project"],
|
|
23
|
-
status: "inactive",
|
|
24
|
-
};
|
|
25
|
-
/**
|
|
26
|
-
* Default values for a new HubProject Model
|
|
27
|
-
*/
|
|
28
|
-
const DEFAULT_PROJECT_MODEL = {
|
|
29
|
-
item: {
|
|
30
|
-
type: exports.HUB_PROJECT_ITEM_TYPE,
|
|
31
|
-
title: "No Title Provided",
|
|
32
|
-
description: "No Description Provided",
|
|
33
|
-
snippet: "",
|
|
34
|
-
tags: [],
|
|
35
|
-
typeKeywords: ["Hub Project"],
|
|
36
|
-
properties: {
|
|
37
|
-
slug: "",
|
|
38
|
-
},
|
|
39
|
-
},
|
|
40
|
-
data: {
|
|
41
|
-
display: "about",
|
|
42
|
-
timeline: {},
|
|
43
|
-
status: "inactive",
|
|
44
|
-
contacts: [],
|
|
45
|
-
schemaVersion: 1,
|
|
46
|
-
},
|
|
47
|
-
};
|
|
15
|
+
const defaults_1 = require("./defaults");
|
|
48
16
|
/**
|
|
49
17
|
* Returns an Array of IPropertyMap objects
|
|
50
18
|
* We could define these directly, but since the
|
|
@@ -77,6 +45,7 @@ function getProjectPropertyMap() {
|
|
|
77
45
|
"layout",
|
|
78
46
|
"location",
|
|
79
47
|
"status",
|
|
48
|
+
"permissions",
|
|
80
49
|
];
|
|
81
50
|
const map = [];
|
|
82
51
|
itemProps.forEach((entry) => {
|
|
@@ -90,6 +59,10 @@ function getProjectPropertyMap() {
|
|
|
90
59
|
objectKey: "slug",
|
|
91
60
|
modelKey: "item.properties.slug",
|
|
92
61
|
});
|
|
62
|
+
map.push({
|
|
63
|
+
objectKey: "catalogDefinition",
|
|
64
|
+
modelKey: "data.catalog",
|
|
65
|
+
});
|
|
93
66
|
map.push({
|
|
94
67
|
objectKey: "orgUrlKey",
|
|
95
68
|
modelKey: "item.properties.orgUrlKey",
|
|
@@ -101,6 +74,7 @@ function getProjectPropertyMap() {
|
|
|
101
74
|
return map;
|
|
102
75
|
}
|
|
103
76
|
/**
|
|
77
|
+
* @private
|
|
104
78
|
* Create a new Hub Project item
|
|
105
79
|
*
|
|
106
80
|
* Minimal properties are name and org
|
|
@@ -111,7 +85,7 @@ function getProjectPropertyMap() {
|
|
|
111
85
|
async function createProject(partialProject, requestOptions) {
|
|
112
86
|
// merge incoming with the default
|
|
113
87
|
// this expansion solves the typing somehow
|
|
114
|
-
const project = Object.assign(Object.assign({}, DEFAULT_PROJECT), partialProject);
|
|
88
|
+
const project = Object.assign(Object.assign({}, defaults_1.DEFAULT_PROJECT), partialProject);
|
|
115
89
|
// Create a slug from the title if one is not passed in
|
|
116
90
|
if (!project.slug) {
|
|
117
91
|
project.slug = slugs_1.constructSlug(project.name, project.orgUrlKey);
|
|
@@ -123,16 +97,18 @@ async function createProject(partialProject, requestOptions) {
|
|
|
123
97
|
// Map project object onto a default project Model
|
|
124
98
|
const mapper = new PropertyMapper_1.PropertyMapper(getProjectPropertyMap());
|
|
125
99
|
// create model from object, using the default model as a starting point
|
|
126
|
-
let model = mapper.objectToModel(project, index_1.cloneObject(DEFAULT_PROJECT_MODEL));
|
|
100
|
+
let model = mapper.objectToModel(project, index_1.cloneObject(defaults_1.DEFAULT_PROJECT_MODEL));
|
|
127
101
|
// create the item
|
|
128
102
|
model = await models_1.createModel(model, requestOptions);
|
|
129
103
|
// map the model back into a IHubProject
|
|
130
|
-
|
|
104
|
+
let newProject = mapper.modelToObject(model, {});
|
|
105
|
+
newProject = computeProps(model, newProject, requestOptions);
|
|
131
106
|
// and return it
|
|
132
107
|
return newProject;
|
|
133
108
|
}
|
|
134
109
|
exports.createProject = createProject;
|
|
135
110
|
/**
|
|
111
|
+
* @private
|
|
136
112
|
* Update a Hub Project
|
|
137
113
|
* @param project
|
|
138
114
|
* @param requestOptions
|
|
@@ -151,13 +127,15 @@ async function updateProject(project, requestOptions) {
|
|
|
151
127
|
// update the backing item
|
|
152
128
|
const updatedModel = await models_1.updateModel(modelToUpdate, requestOptions);
|
|
153
129
|
// now map back into a project and return that
|
|
154
|
-
|
|
130
|
+
let updatedProject = mapper.modelToObject(updatedModel, project);
|
|
131
|
+
updatedProject = computeProps(model, updatedProject, requestOptions);
|
|
155
132
|
// the casting is needed because modelToObject returns a `Partial<T>`
|
|
156
133
|
// where as this function returns a `T`
|
|
157
134
|
return updatedProject;
|
|
158
135
|
}
|
|
159
136
|
exports.updateProject = updateProject;
|
|
160
137
|
/**
|
|
138
|
+
* @private
|
|
161
139
|
* Get a Hub Project by id or slug
|
|
162
140
|
* @param identifier item id or slug
|
|
163
141
|
* @param requestOptions
|
|
@@ -179,16 +157,17 @@ function fetchProject(identifier, requestOptions) {
|
|
|
179
157
|
}
|
|
180
158
|
exports.fetchProject = fetchProject;
|
|
181
159
|
/**
|
|
160
|
+
* @private
|
|
182
161
|
* Remove a Hub Project
|
|
183
162
|
* @param id
|
|
184
163
|
* @param requestOptions
|
|
185
164
|
*/
|
|
186
|
-
async function
|
|
165
|
+
async function deleteProject(id, requestOptions) {
|
|
187
166
|
const ro = Object.assign(Object.assign({}, requestOptions), { id });
|
|
188
167
|
await arcgis_rest_portal_1.removeItem(ro);
|
|
189
168
|
return;
|
|
190
169
|
}
|
|
191
|
-
exports.
|
|
170
|
+
exports.deleteProject = deleteProject;
|
|
192
171
|
/**
|
|
193
172
|
* Search for Projects, and get IHubProject results
|
|
194
173
|
*
|
|
@@ -221,6 +200,7 @@ async function searchProjects(query, options) {
|
|
|
221
200
|
}
|
|
222
201
|
exports.searchProjects = searchProjects;
|
|
223
202
|
/**
|
|
203
|
+
* @private
|
|
224
204
|
* Convert an Hub Project Item into a Hub Project, fetching any additional
|
|
225
205
|
* information that may be required
|
|
226
206
|
* @param item
|
|
@@ -230,17 +210,35 @@ exports.searchProjects = searchProjects;
|
|
|
230
210
|
async function convertItemToProject(item, requestOptions) {
|
|
231
211
|
const model = await models_1.fetchModelFromItem(item, requestOptions);
|
|
232
212
|
const mapper = new PropertyMapper_1.PropertyMapper(getProjectPropertyMap());
|
|
213
|
+
const prj = mapper.modelToObject(model, {});
|
|
214
|
+
return computeProps(model, prj, requestOptions);
|
|
215
|
+
}
|
|
216
|
+
exports.convertItemToProject = convertItemToProject;
|
|
217
|
+
/**
|
|
218
|
+
* Given a model and a project, set various computed properties that can't be directly mapped
|
|
219
|
+
* @param model
|
|
220
|
+
* @param project
|
|
221
|
+
* @param requestOptions
|
|
222
|
+
* @returns
|
|
223
|
+
*/
|
|
224
|
+
function computeProps(model, project, requestOptions) {
|
|
233
225
|
let token;
|
|
234
226
|
if (requestOptions.authentication) {
|
|
235
227
|
const session = requestOptions.authentication;
|
|
236
228
|
token = session.token;
|
|
237
229
|
}
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
230
|
+
// thumbnail url
|
|
231
|
+
project.thumbnailUrl = index_1.getItemThumbnailUrl(model.item, requestOptions, token);
|
|
232
|
+
// Handle Dates
|
|
233
|
+
project.createdDate = new Date(model.item.created);
|
|
234
|
+
project.createdDateSource = "item.created";
|
|
235
|
+
project.updatedDate = new Date(model.item.modified);
|
|
236
|
+
project.updatedDateSource = "item.modified";
|
|
237
|
+
// cast b/c this takes a partial but returns a full project
|
|
238
|
+
return project;
|
|
241
239
|
}
|
|
242
|
-
exports.convertItemToProject = convertItemToProject;
|
|
243
240
|
/**
|
|
241
|
+
* @private
|
|
244
242
|
* Fetch project specific enrichments
|
|
245
243
|
* @param item
|
|
246
244
|
* @param include
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HubProjects.js","sourceRoot":"","sources":["../../../src/projects/HubProjects.ts"],"names":[],"mappings":";;;AAEA,4EAA4E;AAC5E,sCAKmB;AACnB,0CAKwB;AACxB,oCAYkB;AAClB,iEAKkC;AAElC,uEAAoE;AACpE,qEAAgF;AAQhF,mEAAgE;AAChE,wDAA6D;AAC7D,oDAAyD;AACzD,mDAA4D;
|
|
1
|
+
{"version":3,"file":"HubProjects.js","sourceRoot":"","sources":["../../../src/projects/HubProjects.ts"],"names":[],"mappings":"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"}
|