@esri/hub-common 12.11.0 → 12.12.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.
- package/dist/esm/capabilities/getWorkspaceCapabilities.js +2 -0
- package/dist/esm/capabilities/getWorkspaceCapabilities.js.map +1 -1
- package/dist/esm/core/HubItemEntity.js +7 -0
- package/dist/esm/core/HubItemEntity.js.map +1 -1
- package/dist/esm/core/_internal/getBasePropertyMap.js +1 -0
- package/dist/esm/core/_internal/getBasePropertyMap.js.map +1 -1
- package/dist/esm/core/fetchHubEntity.js +4 -0
- package/dist/esm/core/fetchHubEntity.js.map +1 -1
- package/dist/esm/core/getTypeFromEntity.js +3 -0
- package/dist/esm/core/getTypeFromEntity.js.map +1 -1
- package/dist/esm/core/types/IHubDiscussion.js +1 -0
- package/dist/esm/core/types/IHubDiscussion.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/discussions/HubDiscussion.js +107 -0
- package/dist/esm/discussions/HubDiscussion.js.map +1 -0
- package/dist/esm/discussions/_internal/DiscussionBusinessRules.js +79 -0
- package/dist/esm/discussions/_internal/DiscussionBusinessRules.js.map +1 -0
- package/dist/esm/discussions/_internal/computeProps.js +31 -0
- package/dist/esm/discussions/_internal/computeProps.js.map +1 -0
- package/dist/esm/discussions/_internal/getPropertyMap.js +13 -0
- package/dist/esm/discussions/_internal/getPropertyMap.js.map +1 -0
- package/dist/esm/discussions/defaults.js +30 -0
- package/dist/esm/discussions/defaults.js.map +1 -0
- package/dist/esm/discussions/edit.js +82 -0
- package/dist/esm/discussions/edit.js.map +1 -0
- package/dist/esm/discussions/fetch.js +44 -0
- package/dist/esm/discussions/fetch.js.map +1 -0
- package/dist/esm/discussions/index.js +4 -0
- package/dist/esm/discussions/index.js.map +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/permissions/HubPermissionPolicies.js +2 -0
- package/dist/esm/permissions/HubPermissionPolicies.js.map +1 -1
- package/dist/esm/permissions/types/Permission.js +2 -0
- package/dist/esm/permissions/types/Permission.js.map +1 -1
- package/dist/node/capabilities/getWorkspaceCapabilities.js +2 -0
- package/dist/node/capabilities/getWorkspaceCapabilities.js.map +1 -1
- package/dist/node/core/HubItemEntity.js +7 -0
- package/dist/node/core/HubItemEntity.js.map +1 -1
- package/dist/node/core/_internal/getBasePropertyMap.js +1 -0
- package/dist/node/core/_internal/getBasePropertyMap.js.map +1 -1
- package/dist/node/core/fetchHubEntity.js +4 -0
- package/dist/node/core/fetchHubEntity.js.map +1 -1
- package/dist/node/core/getTypeFromEntity.js +3 -0
- package/dist/node/core/getTypeFromEntity.js.map +1 -1
- package/dist/node/core/types/IHubDiscussion.js +3 -0
- package/dist/node/core/types/IHubDiscussion.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/discussions/HubDiscussion.js +111 -0
- package/dist/node/discussions/HubDiscussion.js.map +1 -0
- package/dist/node/discussions/_internal/DiscussionBusinessRules.js +82 -0
- package/dist/node/discussions/_internal/DiscussionBusinessRules.js.map +1 -0
- package/dist/node/discussions/_internal/computeProps.js +35 -0
- package/dist/node/discussions/_internal/computeProps.js.map +1 -0
- package/dist/node/discussions/_internal/getPropertyMap.js +17 -0
- package/dist/node/discussions/_internal/getPropertyMap.js.map +1 -0
- package/dist/node/discussions/defaults.js +33 -0
- package/dist/node/discussions/defaults.js.map +1 -0
- package/dist/node/discussions/edit.js +88 -0
- package/dist/node/discussions/edit.js.map +1 -0
- package/dist/node/discussions/fetch.js +49 -0
- package/dist/node/discussions/fetch.js.map +1 -0
- package/dist/node/discussions/index.js +7 -0
- package/dist/node/discussions/index.js.map +1 -0
- package/dist/node/index.js +1 -0
- package/dist/node/index.js.map +1 -1
- package/dist/node/permissions/HubPermissionPolicies.js +2 -0
- package/dist/node/permissions/HubPermissionPolicies.js.map +1 -1
- package/dist/node/permissions/types/Permission.js +2 -0
- package/dist/node/permissions/types/Permission.js.map +1 -1
- package/dist/types/content/_internal.d.ts +1 -0
- package/dist/types/core/HubItemEntity.d.ts +5 -0
- package/dist/types/core/types/HubEntityType.d.ts +1 -1
- package/dist/types/core/types/IHubDiscussion.d.ts +8 -0
- package/dist/types/core/types/IHubItemEntity.d.ts +4 -0
- package/dist/types/core/types/index.d.ts +1 -0
- package/dist/types/discussions/HubDiscussion.d.ts +44 -0
- package/dist/types/discussions/_internal/DiscussionBusinessRules.d.ts +27 -0
- package/dist/types/discussions/_internal/computeProps.d.ts +12 -0
- package/dist/types/discussions/_internal/getPropertyMap.d.ts +8 -0
- package/dist/types/discussions/defaults.d.ts +11 -0
- package/dist/types/discussions/edit.d.ts +29 -0
- package/dist/types/discussions/fetch.d.ts +20 -0
- package/dist/types/discussions/index.d.ts +3 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/permissions/types/Permission.d.ts +2 -2
- package/package.json +1 -1
|
@@ -2,6 +2,7 @@ import { getTypeFromEntity } from "../core/getTypeFromEntity";
|
|
|
2
2
|
import { ProjectCapabilityPermissions } from "../projects/_internal/ProjectBusinessRules";
|
|
3
3
|
import { checkCapabilityAccess } from "./_internal/checkCapabilityAccess";
|
|
4
4
|
import { InitiativeCapabilityPermissions } from "../initiatives/_internal/InitiativeBusinessRules";
|
|
5
|
+
import { DiscussionCapabilityPermissions } from "../discussions/_internal/DiscussionBusinessRules";
|
|
5
6
|
import { SiteCapabilityPermissions } from "../sites/_internal/SiteBusinessRules";
|
|
6
7
|
/**
|
|
7
8
|
* List of all the Capability Permissions in the Hub System
|
|
@@ -11,6 +12,7 @@ export const CapabilityPermissions = [
|
|
|
11
12
|
...ProjectCapabilityPermissions,
|
|
12
13
|
...InitiativeCapabilityPermissions,
|
|
13
14
|
...SiteCapabilityPermissions,
|
|
15
|
+
...DiscussionCapabilityPermissions,
|
|
14
16
|
];
|
|
15
17
|
/**
|
|
16
18
|
* Return the capabilities that are granted to the current user for a given entity
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getWorkspaceCapabilities.js","sourceRoot":"","sources":["../../../src/capabilities/getWorkspaceCapabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,+BAA+B,EAAE,MAAM,kDAAkD,CAAC;AACnG,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAIjF;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA4B;IAC5D,GAAG,4BAA4B;IAC/B,GAAG,+BAA+B;IAClC,GAAG,yBAAyB;
|
|
1
|
+
{"version":3,"file":"getWorkspaceCapabilities.js","sourceRoot":"","sources":["../../../src/capabilities/getWorkspaceCapabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,+BAA+B,EAAE,MAAM,kDAAkD,CAAC;AACnG,OAAO,EAAE,+BAA+B,EAAE,MAAM,kDAAkD,CAAC;AACnG,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAIjF;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA4B;IAC5D,GAAG,4BAA4B;IAC/B,GAAG,+BAA+B;IAClC,GAAG,yBAAyB;IAC5B,GAAG,+BAA+B;CACnC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,MAAiB,EACjB,OAAuB;IAEvB,MAAM,UAAU,GAAkB,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC5D,gDAAgD;IAChD,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,MAAM,CACxD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAC/B,CAAC;IAEF,oCAAoC;IACpC,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACnD,OAAO,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IACH,0FAA0F;IAC1F,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3E,8EAA8E;IAC9E,OAAO;QACL,OAAO;QACP,OAAO,EAAE,SAAS;KACnB,CAAC;AACJ,CAAC"}
|
|
@@ -100,6 +100,13 @@ export class HubItemEntity {
|
|
|
100
100
|
get canDelete() {
|
|
101
101
|
return this.entity.canDelete;
|
|
102
102
|
}
|
|
103
|
+
/**
|
|
104
|
+
* The orgId of the Entity, if available
|
|
105
|
+
* @returns the entity orgId, when available
|
|
106
|
+
*/
|
|
107
|
+
get orgId() {
|
|
108
|
+
return this.entity.orgId;
|
|
109
|
+
}
|
|
103
110
|
//#endregion IWithStoreBehavior
|
|
104
111
|
//#region IWithSharingBehavior
|
|
105
112
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HubItemEntity.js","sourceRoot":"","sources":["../../../src/core/HubItemEntity.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HubItemEntity.js","sourceRoot":"","sources":["../../../src/core/HubItemEntity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBasePropertyMap.js","sourceRoot":"","sources":["../../../../src/core/_internal/getBasePropertyMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAG7C;;;;GAIG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,SAAS,GAAG;QAChB,QAAQ;QACR,SAAS;QACT,SAAS;QACT,aAAa;QACb,QAAQ;QACR,IAAI;QACJ,aAAa;QACb,UAAU;QACV,OAAO;QACP,MAAM;QACN,MAAM;QACN,cAAc;QACd,WAAW;QACX,KAAK;
|
|
1
|
+
{"version":3,"file":"getBasePropertyMap.js","sourceRoot":"","sources":["../../../../src/core/_internal/getBasePropertyMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAG7C;;;;GAIG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,SAAS,GAAG;QAChB,QAAQ;QACR,SAAS;QACT,SAAS;QACT,aAAa;QACb,QAAQ;QACR,IAAI;QACJ,aAAa;QACb,UAAU;QACV,OAAO;QACP,MAAM;QACN,MAAM;QACN,cAAc;QACd,WAAW;QACX,KAAK;QACL,OAAO;KACR,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACrD,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,KAAK,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,KAAK,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IACH,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC9B,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,KAAK,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IACH,kBAAkB;IAClB,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,MAAM;QACjB,QAAQ,EAAE,sBAAsB;KACjC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE,cAAc;KACzB,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,eAAe;QAC1B,QAAQ,EAAE,+BAA+B;KAC1C,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,WAAW;QACtB,QAAQ,EAAE,2BAA2B;KACtC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,MAAM;QACjB,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,UAAU;QACrB,QAAQ,EAAE,0BAA0B;KACrC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { fetchInitiative } from "../initiatives/HubInitiatives";
|
|
2
2
|
import { fetchProject } from "../projects/fetch";
|
|
3
3
|
import { fetchSite } from "../sites/HubSites";
|
|
4
|
+
import { fetchDiscussion } from "../discussions/fetch";
|
|
4
5
|
/**
|
|
5
6
|
* Fetch a Hub entity by identifier (id or slug)
|
|
6
7
|
* @param type
|
|
@@ -20,6 +21,9 @@ export async function fetchHubEntity(type, identifier, context) {
|
|
|
20
21
|
case "initiative":
|
|
21
22
|
result = await fetchInitiative(identifier, context.requestOptions);
|
|
22
23
|
break;
|
|
24
|
+
case "discussion":
|
|
25
|
+
result = await fetchDiscussion(identifier, context.hubRequestOptions);
|
|
26
|
+
break;
|
|
23
27
|
case "page":
|
|
24
28
|
throw new Error(`FetchPage not implemented`);
|
|
25
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchHubEntity.js","sourceRoot":"","sources":["../../../src/core/fetchHubEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"fetchHubEntity.js","sourceRoot":"","sources":["../../../src/core/fetchHubEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAI9C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAmB,EACnB,UAAkB,EAClB,OAAuB;IAEvB,IAAI,MAAiB,CAAC;IACtB,QAAQ,IAAI,EAAE;QACZ,KAAK,SAAS;YACZ,MAAM,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YAChE,MAAM;QACR,KAAK,MAAM;YACT,MAAM,GAAG,MAAM,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAChE,MAAM;QACR,KAAK,YAAY;YACf,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YACnE,MAAM;QACR,KAAK,YAAY;YACf,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACtE,MAAM;QACR,KAAK,MAAM;YACT,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;KAChD;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTypeFromEntity.js","sourceRoot":"","sources":["../../../src/core/getTypeFromEntity.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,yDAAyD;AAIzD;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAiB;IACjD,IAAI,IAAmB,CAAC;IACxB,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,sBAAsB,CAAC;QAC5B,KAAK,kBAAkB;YACrB,IAAI,GAAG,MAAM,CAAC;YACd,MAAM;QACR,KAAK,UAAU,CAAC;QAChB,KAAK,WAAW;YACd,IAAI,GAAG,MAAM,CAAC;YACd,MAAM;QACR,KAAK,aAAa;YAChB,IAAI,GAAG,SAAS,CAAC;YACjB,MAAM;QACR,KAAK,gBAAgB;YACnB,IAAI,GAAG,YAAY,CAAC;YACpB,MAAM;KACT;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"getTypeFromEntity.js","sourceRoot":"","sources":["../../../src/core/getTypeFromEntity.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,yDAAyD;AAIzD;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAiB;IACjD,IAAI,IAAmB,CAAC;IACxB,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,sBAAsB,CAAC;QAC5B,KAAK,kBAAkB;YACrB,IAAI,GAAG,MAAM,CAAC;YACd,MAAM;QACR,KAAK,UAAU,CAAC;QAChB,KAAK,WAAW;YACd,IAAI,GAAG,MAAM,CAAC;YACd,MAAM;QACR,KAAK,aAAa;YAChB,IAAI,GAAG,SAAS,CAAC;YACjB,MAAM;QACR,KAAK,gBAAgB;YACnB,IAAI,GAAG,YAAY,CAAC;YACpB,MAAM;QACR,KAAK,YAAY;YACf,IAAI,GAAG,YAAY,CAAC;YACpB,MAAM;KACT;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=IHubDiscussion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IHubDiscussion.js","sourceRoot":"","sources":["../../../../src/core/types/IHubDiscussion.ts"],"names":[],"mappings":""}
|
|
@@ -2,6 +2,7 @@ export * from "./HubEntity";
|
|
|
2
2
|
export * from "./HubEntityType";
|
|
3
3
|
export * from "./IHubContent";
|
|
4
4
|
export * from "./IHubContentEnrichments";
|
|
5
|
+
export * from "./IHubDiscussion";
|
|
5
6
|
export * from "./IHubEntityBase";
|
|
6
7
|
export * from "./IHubEvent";
|
|
7
8
|
export * from "./IHubImage";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { DEFAULT_DISCUSSION } from "./defaults";
|
|
2
|
+
import { HubItemEntity } from "../core/HubItemEntity";
|
|
3
|
+
import { fetchDiscussion } from "./fetch";
|
|
4
|
+
/**
|
|
5
|
+
* Hub Discussion Class
|
|
6
|
+
*/
|
|
7
|
+
export class HubDiscussion extends HubItemEntity {
|
|
8
|
+
/**
|
|
9
|
+
* Create an instance from an IHubDiscussion object
|
|
10
|
+
* @param json JSON object to create a HubDiscussion from
|
|
11
|
+
* @param context ArcGIS context
|
|
12
|
+
* @returns a HubDiscussion
|
|
13
|
+
*/
|
|
14
|
+
static fromJson(json, context) {
|
|
15
|
+
// merge what we have with the default values
|
|
16
|
+
const pojo = this.applyDefaults(json, context);
|
|
17
|
+
return new HubDiscussion(pojo, context);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Create a new HubDiscussion, returning a HubDiscussion instance.
|
|
21
|
+
* Note: This does not persist the Discussion into the backing store
|
|
22
|
+
* @param partialDiscussion a partial IHubDiscussion
|
|
23
|
+
* @param context ArcGIS context
|
|
24
|
+
* @returns promise that resolves a HubDiscussion
|
|
25
|
+
*/
|
|
26
|
+
static async create(partialDiscussion, context, save = false) {
|
|
27
|
+
const pojo = this.applyDefaults(partialDiscussion, context);
|
|
28
|
+
// return an instance of HubDiscussion
|
|
29
|
+
const instance = HubDiscussion.fromJson(pojo, context);
|
|
30
|
+
if (save) {
|
|
31
|
+
await instance.save();
|
|
32
|
+
}
|
|
33
|
+
return instance;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Fetch a Discussion from the backing store and return a HubDiscussion instance.
|
|
37
|
+
* @param identifier slug or item id
|
|
38
|
+
* @param context ArcGIS context
|
|
39
|
+
* @returns promise that resolves a HubDiscussion
|
|
40
|
+
*/
|
|
41
|
+
static async fetch(identifier, context) {
|
|
42
|
+
try {
|
|
43
|
+
const entity = await fetchDiscussion(identifier, context.requestOptions);
|
|
44
|
+
// create an instance of HubDiscussion from the entity
|
|
45
|
+
return HubDiscussion.fromJson(entity, context);
|
|
46
|
+
}
|
|
47
|
+
catch (ex) {
|
|
48
|
+
throw ex.message ===
|
|
49
|
+
"CONT_0001: Item does not exist or is inaccessible."
|
|
50
|
+
? new Error("Discussion not found.")
|
|
51
|
+
: ex;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
static applyDefaults(partialDiscussion, context) {
|
|
55
|
+
// ensure we have the orgUrlKey
|
|
56
|
+
if (!partialDiscussion.orgUrlKey) {
|
|
57
|
+
partialDiscussion.orgUrlKey = context.portal.urlKey;
|
|
58
|
+
}
|
|
59
|
+
// extend the partial over the defaults
|
|
60
|
+
const pojo = Object.assign(Object.assign({}, DEFAULT_DISCUSSION), partialDiscussion);
|
|
61
|
+
return pojo;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Apply a new state to the instance
|
|
65
|
+
* @param changes A partial IHubDiscussion
|
|
66
|
+
*/
|
|
67
|
+
update(changes) {
|
|
68
|
+
if (this.isDestroyed) {
|
|
69
|
+
throw new Error("HubDiscussion is already destroyed.");
|
|
70
|
+
}
|
|
71
|
+
// merge partial onto existing entity
|
|
72
|
+
this.entity = Object.assign(Object.assign({}, this.entity), changes);
|
|
73
|
+
}
|
|
74
|
+
async save() {
|
|
75
|
+
if (this.isDestroyed) {
|
|
76
|
+
throw new Error("HubDiscussion is already destroyed.");
|
|
77
|
+
}
|
|
78
|
+
if (this.entity.id) {
|
|
79
|
+
const { updateDiscussion } = await import("./edit");
|
|
80
|
+
// update it
|
|
81
|
+
this.entity = await updateDiscussion(this.entity, this.context.userRequestOptions);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
const { createDiscussion } = await import("./edit");
|
|
85
|
+
// create it
|
|
86
|
+
this.entity = await createDiscussion(this.entity, this.context.userRequestOptions);
|
|
87
|
+
}
|
|
88
|
+
// call the after save hook on superclass
|
|
89
|
+
await super.afterSave();
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Delete the HubDiscussion from the store
|
|
94
|
+
* set a flag to indicate that it is destroyed
|
|
95
|
+
* @returns a promise
|
|
96
|
+
*/
|
|
97
|
+
async delete() {
|
|
98
|
+
if (this.isDestroyed) {
|
|
99
|
+
throw new Error("HubDiscussion is already destroyed.");
|
|
100
|
+
}
|
|
101
|
+
const { deleteDiscussion } = await import("./edit");
|
|
102
|
+
this.isDestroyed = true;
|
|
103
|
+
// Delegate to module fn
|
|
104
|
+
await deleteDiscussion(this.entity.id, this.context.userRequestOptions);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=HubDiscussion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HubDiscussion.js","sourceRoot":"","sources":["../../../src/discussions/HubDiscussion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAIhD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C;;GAEG;AAEH,MAAM,OAAO,aACX,SAAQ,aAA6B;IAGrC;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CACb,IAA6B,EAC7B,OAAuB;QAEvB,6CAA6C;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,iBAA0C,EAC1C,OAAuB,EACvB,OAAgB,KAAK;QAErB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAC5D,sCAAsC;QACtC,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvD,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,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YACzE,sDAAsD;YACtD,OAAO,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SAChD;QAAC,OAAO,EAAE,EAAE;YACX,MAAO,EAAY,CAAC,OAAO;gBACzB,oDAAoD;gBACpD,CAAC,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC;gBACpC,CAAC,CAAC,EAAE,CAAC;SACR;IACH,CAAC;IAEO,MAAM,CAAC,aAAa,CAC1B,iBAA0C,EAC1C,OAAuB;QAEvB,+BAA+B;QAC/B,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE;YAChC,iBAAiB,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;SACrD;QACD,uCAAuC;QACvC,MAAM,IAAI,GAAG,gCACR,kBAAkB,GAClB,iBAAiB,CACH,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,OAAgC;QACrC,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;QACD,qCAAqC;QACrC,IAAI,CAAC,MAAM,mCAAQ,IAAI,CAAC,MAAM,GAAK,OAAO,CAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;YAClB,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;YACpD,YAAY;YACZ,IAAI,CAAC,MAAM,GAAG,MAAM,gBAAgB,CAClC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAChC,CAAC;SACH;aAAM;YACL,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;YACpD,YAAY;YACZ,IAAI,CAAC,MAAM,GAAG,MAAM,gBAAgB,CAClC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAChC,CAAC;SACH;QAED,yCAAyC;QACzC,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC;QAExB,OAAO;IACT,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM;QACV,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;QACD,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,wBAAwB;QACxB,MAAM,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC1E,CAAC;CACF"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default capabilities for a Discussion. If not listed here, the capability will not be available
|
|
3
|
+
* This hash is combined with the capabilities hash stored in the item data. Regardless of what
|
|
4
|
+
* properties are defined in the item data, only the capabilities defined here will be available
|
|
5
|
+
* @private
|
|
6
|
+
*/
|
|
7
|
+
export const DiscussionDefaultCapabilities = {
|
|
8
|
+
overview: true,
|
|
9
|
+
details: true,
|
|
10
|
+
settings: true,
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* List of all the Discussion Capability Permissions
|
|
14
|
+
* These are considered Hub Business Rules and are not intended
|
|
15
|
+
* to be modified by consumers
|
|
16
|
+
* @private
|
|
17
|
+
*/
|
|
18
|
+
export const DiscussionCapabilityPermissions = [
|
|
19
|
+
{
|
|
20
|
+
entity: "discussion",
|
|
21
|
+
capability: "overview",
|
|
22
|
+
permissions: ["hub:discussion:view"],
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
entity: "discussion",
|
|
26
|
+
capability: "details",
|
|
27
|
+
permissions: ["hub:discussion:edit"],
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
entity: "discussion",
|
|
31
|
+
capability: "settings",
|
|
32
|
+
permissions: ["hub:discussion:edit"],
|
|
33
|
+
},
|
|
34
|
+
];
|
|
35
|
+
/**
|
|
36
|
+
* Discussion Permission Policies
|
|
37
|
+
* These define the requirements any user must meet to perform related actions
|
|
38
|
+
* @private
|
|
39
|
+
*/
|
|
40
|
+
export const DiscussionPermissions = [
|
|
41
|
+
"hub:discussion:create",
|
|
42
|
+
"hub:discussion:delete",
|
|
43
|
+
"hub:discussion:edit",
|
|
44
|
+
"hub:discussion:view",
|
|
45
|
+
];
|
|
46
|
+
/**
|
|
47
|
+
* Discussion permission policies
|
|
48
|
+
* @private
|
|
49
|
+
*/
|
|
50
|
+
export const DiscussionPermissionPolicies = [
|
|
51
|
+
{
|
|
52
|
+
permission: "hub:discussion:create",
|
|
53
|
+
subsystems: ["discussions"],
|
|
54
|
+
authenticated: true,
|
|
55
|
+
privileges: ["portal:user:createItem"],
|
|
56
|
+
licenses: ["hub-premium"],
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
permission: "hub:discussion:view",
|
|
60
|
+
subsystems: ["discussions"],
|
|
61
|
+
authenticated: false,
|
|
62
|
+
licenses: ["hub-premium"],
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
permission: "hub:discussion:edit",
|
|
66
|
+
authenticated: true,
|
|
67
|
+
subsystems: ["discussions"],
|
|
68
|
+
entityEdit: true,
|
|
69
|
+
licenses: ["hub-premium"],
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
permission: "hub:discussion:delete",
|
|
73
|
+
authenticated: true,
|
|
74
|
+
subsystems: ["discussions"],
|
|
75
|
+
entityOwner: true,
|
|
76
|
+
licenses: ["hub-premium"],
|
|
77
|
+
},
|
|
78
|
+
];
|
|
79
|
+
//# sourceMappingURL=DiscussionBusinessRules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DiscussionBusinessRules.js","sourceRoot":"","sources":["../../../../src/discussions/_internal/DiscussionBusinessRules.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAuB;IAC/D,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;CACf,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAA4B;IACtE;QACE,MAAM,EAAE,YAAY;QACpB,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,CAAC,qBAAqB,CAAC;KACrC;IACD;QACE,MAAM,EAAE,YAAY;QACpB,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,CAAC,qBAAqB,CAAC;KACrC;IACD;QACE,MAAM,EAAE,YAAY;QACpB,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,CAAC,qBAAqB,CAAC;KACrC;CACF,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,uBAAuB;IACvB,uBAAuB;IACvB,qBAAqB;IACrB,qBAAqB;CACb,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAwB;IAC/D;QACE,UAAU,EAAE,uBAAuB;QACnC,UAAU,EAAE,CAAC,aAAa,CAAC;QAC3B,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,wBAAwB,CAAC;QACtC,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;IACD;QACE,UAAU,EAAE,qBAAqB;QACjC,UAAU,EAAE,CAAC,aAAa,CAAC;QAC3B,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;IACD;QACE,UAAU,EAAE,qBAAqB;QACjC,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,aAAa,CAAC;QAC3B,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;IACD;QACE,UAAU,EAAE,uBAAuB;QACnC,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,aAAa,CAAC;QAC3B,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;CACF,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { getItemThumbnailUrl } from "../../resources";
|
|
2
|
+
import { DiscussionDefaultCapabilities } from "./DiscussionBusinessRules";
|
|
3
|
+
import { processEntityCapabilities } from "../../capabilities";
|
|
4
|
+
/**
|
|
5
|
+
* Given a model and a Discussion, set various computed properties that can't be directly mapped
|
|
6
|
+
* @private
|
|
7
|
+
* @param model
|
|
8
|
+
* @param discussion
|
|
9
|
+
* @param requestOptions
|
|
10
|
+
* @returns an IHubDiscussion
|
|
11
|
+
*/
|
|
12
|
+
export function computeProps(model, discussion, requestOptions) {
|
|
13
|
+
var _a, _b;
|
|
14
|
+
let token;
|
|
15
|
+
if (requestOptions.authentication) {
|
|
16
|
+
const session = requestOptions.authentication;
|
|
17
|
+
token = session.token;
|
|
18
|
+
}
|
|
19
|
+
// thumbnail url
|
|
20
|
+
discussion.thumbnailUrl = getItemThumbnailUrl(model.item, requestOptions, token);
|
|
21
|
+
// Handle Dates
|
|
22
|
+
discussion.createdDate = new Date(model.item.created);
|
|
23
|
+
discussion.createdDateSource = "item.created";
|
|
24
|
+
discussion.updatedDate = new Date(model.item.modified);
|
|
25
|
+
discussion.updatedDateSource = "item.modified";
|
|
26
|
+
// Handle capabilities
|
|
27
|
+
discussion.capabilities = processEntityCapabilities(((_b = (_a = model.data) === null || _a === void 0 ? void 0 : _a.settings) === null || _b === void 0 ? void 0 : _b.capabilities) || {}, DiscussionDefaultCapabilities);
|
|
28
|
+
// cast b/c this takes a partial but returns a full object
|
|
29
|
+
return discussion;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=computeProps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"computeProps.js","sourceRoot":"","sources":["../../../../src/discussions/_internal/computeProps.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAE1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAE/D;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAa,EACb,UAAmC,EACnC,cAA+B;;IAE/B,IAAI,KAAa,CAAC;IAClB,IAAI,cAAc,CAAC,cAAc,EAAE;QACjC,MAAM,OAAO,GAAgB,cAAc,CAAC,cAA6B,CAAC;QAC1E,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;KACvB;IACD,gBAAgB;IAChB,UAAU,CAAC,YAAY,GAAG,mBAAmB,CAC3C,KAAK,CAAC,IAAI,EACV,cAAc,EACd,KAAK,CACN,CAAC;IAEF,eAAe;IACf,UAAU,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,UAAU,CAAC,iBAAiB,GAAG,cAAc,CAAC;IAC9C,UAAU,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvD,UAAU,CAAC,iBAAiB,GAAG,eAAe,CAAC;IAE/C,sBAAsB;IACtB,UAAU,CAAC,YAAY,GAAG,yBAAyB,CACjD,aAAA,KAAK,CAAC,IAAI,0CAAE,QAAQ,0CAAE,YAAY,KAAI,EAAE,EACxC,6BAA6B,CAC9B,CAAC;IAEF,0DAA0D;IAC1D,OAAO,UAA4B,CAAC;AACtC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { getBasePropertyMap } from "../../core/_internal/getBasePropertyMap";
|
|
2
|
+
/**
|
|
3
|
+
* Returns an Array of IPropertyMap objects
|
|
4
|
+
* that define the projection of properties from a IModel to an IHubDiscussion
|
|
5
|
+
* @returns an IPropertyMap array
|
|
6
|
+
* @private
|
|
7
|
+
*/
|
|
8
|
+
export function getPropertyMap() {
|
|
9
|
+
const map = getBasePropertyMap();
|
|
10
|
+
// Type specific mappings
|
|
11
|
+
return map;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=getPropertyMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPropertyMap.js","sourceRoot":"","sources":["../../../../src/discussions/_internal/getPropertyMap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE7E;;;;;GAKG;AAEH,MAAM,UAAU,cAAc;IAC5B,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;IAEjC,yBAAyB;IAEzB,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export const HUB_DISCUSSION_ITEM_TYPE = "Discussion";
|
|
2
|
+
/**
|
|
3
|
+
* Default values of a IHubDiscussion
|
|
4
|
+
*/
|
|
5
|
+
export const DEFAULT_DISCUSSION = {
|
|
6
|
+
name: "No title provided",
|
|
7
|
+
tags: [],
|
|
8
|
+
typeKeywords: ["Hub Discussion"],
|
|
9
|
+
permissions: [],
|
|
10
|
+
schemaVersion: 1,
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Default values for a new HubDiscussion Model
|
|
14
|
+
*/
|
|
15
|
+
export const DEFAULT_DISCUSSION_MODEL = {
|
|
16
|
+
item: {
|
|
17
|
+
type: HUB_DISCUSSION_ITEM_TYPE,
|
|
18
|
+
title: "No Title Provided",
|
|
19
|
+
description: "No Description Provided",
|
|
20
|
+
snippet: "",
|
|
21
|
+
tags: [],
|
|
22
|
+
typeKeywords: ["Hub Discussion"],
|
|
23
|
+
properties: {
|
|
24
|
+
slug: "",
|
|
25
|
+
schemaVersion: 1,
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
data: {},
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/discussions/defaults.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAC;AAErD;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA4B;IACzD,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,EAAE;IACR,YAAY,EAAE,CAAC,gBAAgB,CAAC;IAChC,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAW;IAC9C,IAAI,EAAE;QACJ,IAAI,EAAE,wBAAwB;QAC9B,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,yBAAyB;QACtC,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,EAAE;QACR,YAAY,EAAE,CAAC,gBAAgB,CAAC;QAChC,UAAU,EAAE;YACV,IAAI,EAAE,EAAE;YACR,aAAa,EAAE,CAAC;SACjB;KACF;IACD,IAAI,EAAE,EAAE;CACY,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { removeItem } from "@esri/arcgis-rest-portal";
|
|
2
|
+
import { createModel, getModel, updateModel } from "../models";
|
|
3
|
+
import { constructSlug, getUniqueSlug, setSlugKeyword } from "../items/slugs";
|
|
4
|
+
import { cloneObject } from "../index";
|
|
5
|
+
import { PropertyMapper } from "../core/_internal/PropertyMapper";
|
|
6
|
+
import { getPropertyMap } from "./_internal/getPropertyMap";
|
|
7
|
+
import { computeProps } from "./_internal/computeProps";
|
|
8
|
+
import { DEFAULT_DISCUSSION, DEFAULT_DISCUSSION_MODEL } from "./defaults";
|
|
9
|
+
/**
|
|
10
|
+
* @private
|
|
11
|
+
* Create a new Hub Discussion item
|
|
12
|
+
*
|
|
13
|
+
* Minimal properties are name and orgUrlKey
|
|
14
|
+
*
|
|
15
|
+
* @param partialDiscussion a partial discussion
|
|
16
|
+
* @param requestOptions user request options
|
|
17
|
+
* @returns promise that resolves a IHubDiscussion
|
|
18
|
+
*/
|
|
19
|
+
export async function createDiscussion(partialDiscussion, requestOptions) {
|
|
20
|
+
// merge incoming with the default
|
|
21
|
+
// this expansion solves the typing somehow
|
|
22
|
+
const discussion = Object.assign(Object.assign({}, DEFAULT_DISCUSSION), partialDiscussion);
|
|
23
|
+
// Create a slug from the title if one is not passed in
|
|
24
|
+
if (!discussion.slug) {
|
|
25
|
+
discussion.slug = constructSlug(discussion.name, discussion.orgUrlKey);
|
|
26
|
+
}
|
|
27
|
+
// Ensure slug is unique
|
|
28
|
+
discussion.slug = await getUniqueSlug({ slug: discussion.slug }, requestOptions);
|
|
29
|
+
// add slug to keywords
|
|
30
|
+
discussion.typeKeywords = setSlugKeyword(discussion.typeKeywords, discussion.slug);
|
|
31
|
+
// Map discussion object onto a default discussion Model
|
|
32
|
+
const mapper = new PropertyMapper(getPropertyMap());
|
|
33
|
+
// create model from object, using the default model as a starting point
|
|
34
|
+
let model = mapper.objectToModel(discussion, cloneObject(DEFAULT_DISCUSSION_MODEL));
|
|
35
|
+
// create the item
|
|
36
|
+
model = await createModel(model, requestOptions);
|
|
37
|
+
// map the model back into a IHubDiscussion
|
|
38
|
+
let newDiscussion = mapper.modelToObject(model, {});
|
|
39
|
+
newDiscussion = computeProps(model, newDiscussion, requestOptions);
|
|
40
|
+
// and return it
|
|
41
|
+
return newDiscussion;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* @private
|
|
45
|
+
* Update a Hub Discussion
|
|
46
|
+
* @param discussion the discussion to update
|
|
47
|
+
* @param requestOptions user request options
|
|
48
|
+
* @returns promise that resolves a IHubDiscussion
|
|
49
|
+
*/
|
|
50
|
+
export async function updateDiscussion(discussion, requestOptions) {
|
|
51
|
+
// verify that the slug is unique, excluding the current discussion
|
|
52
|
+
discussion.slug = await getUniqueSlug({ slug: discussion.slug, existingId: discussion.id }, requestOptions);
|
|
53
|
+
// get the backing item & data
|
|
54
|
+
const model = await getModel(discussion.id, requestOptions);
|
|
55
|
+
// create the PropertyMapper
|
|
56
|
+
const mapper = new PropertyMapper(getPropertyMap());
|
|
57
|
+
// Note: Although we are fetching the model, and applying changes onto it,
|
|
58
|
+
// we are not attempting to handle "concurrent edit" conflict resolution
|
|
59
|
+
// but this is where we would apply that sort of logic
|
|
60
|
+
const modelToUpdate = mapper.objectToModel(discussion, model);
|
|
61
|
+
// update the backing item
|
|
62
|
+
const updatedModel = await updateModel(modelToUpdate, requestOptions);
|
|
63
|
+
// now map back into a discussion and return that
|
|
64
|
+
let updatedDiscussion = mapper.modelToObject(updatedModel, discussion);
|
|
65
|
+
updatedDiscussion = computeProps(model, updatedDiscussion, requestOptions);
|
|
66
|
+
// the casting is needed because modelToObject returns a `Partial<T>`
|
|
67
|
+
// where as this function returns a `T`
|
|
68
|
+
return updatedDiscussion;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* @private
|
|
72
|
+
* Remove a Hub Discussion
|
|
73
|
+
* @param id the discussion item id
|
|
74
|
+
* @param requestOptions request options
|
|
75
|
+
* @returns a promise
|
|
76
|
+
*/
|
|
77
|
+
export async function deleteDiscussion(id, requestOptions) {
|
|
78
|
+
const ro = Object.assign(Object.assign({}, requestOptions), { id });
|
|
79
|
+
await removeItem(ro);
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=edit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/discussions/edit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { getItem } from "@esri/arcgis-rest-portal";
|
|
2
|
+
import { fetchModelFromItem } from "../models";
|
|
3
|
+
import { getItemBySlug } from "../items/slugs";
|
|
4
|
+
import { isGuid } from "../index";
|
|
5
|
+
import { PropertyMapper } from "../core/_internal/PropertyMapper";
|
|
6
|
+
import { getPropertyMap } from "./_internal/getPropertyMap";
|
|
7
|
+
import { computeProps } from "./_internal/computeProps";
|
|
8
|
+
/**
|
|
9
|
+
* @private
|
|
10
|
+
* Get a Discussion by id or slug
|
|
11
|
+
* @param identifier item id or slug
|
|
12
|
+
* @param requestOptions request options
|
|
13
|
+
* @returns a promise that resolves a IHubDiscussion
|
|
14
|
+
*/
|
|
15
|
+
export async function fetchDiscussion(identifier, requestOptions) {
|
|
16
|
+
let getPrms;
|
|
17
|
+
if (isGuid(identifier)) {
|
|
18
|
+
// get item by id
|
|
19
|
+
getPrms = getItem(identifier, requestOptions);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
getPrms = getItemBySlug(identifier, requestOptions);
|
|
23
|
+
}
|
|
24
|
+
return getPrms.then((item) => {
|
|
25
|
+
if (!item)
|
|
26
|
+
return null;
|
|
27
|
+
return convertItemToDiscussion(item, requestOptions);
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* @private
|
|
32
|
+
* Convert a Hub Discussion Item into a Hub Discussion, fetching any additional
|
|
33
|
+
* information that may be required
|
|
34
|
+
* @param item the discussion item
|
|
35
|
+
* @param auth request options
|
|
36
|
+
* @returns a promise that resolves a IHubDiscussion
|
|
37
|
+
*/
|
|
38
|
+
export async function convertItemToDiscussion(item, requestOptions) {
|
|
39
|
+
const model = await fetchModelFromItem(item, requestOptions);
|
|
40
|
+
const mapper = new PropertyMapper(getPropertyMap());
|
|
41
|
+
const discussion = mapper.modelToObject(model, {});
|
|
42
|
+
return computeProps(model, discussion, requestOptions);
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=fetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/discussions/fetch.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,UAAkB,EAClB,cAA+B;IAE/B,IAAI,OAAO,CAAC;IACZ,IAAI,MAAM,CAAC,UAAU,CAAC,EAAE;QACtB,iBAAiB;QACjB,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;KAC/C;SAAM;QACL,OAAO,GAAG,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;KACrD;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO,uBAAuB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,IAAW,EACX,cAA+B;IAE/B,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,IAAI,cAAc,CAA0B,cAAc,EAAE,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,CAAmB,CAAC;IACrE,OAAO,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;AACzD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/discussions/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}
|
package/dist/esm/index.js
CHANGED
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;gBACgB;AAChB,0BAA0B;AAE1B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAE7B,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,aAAa;AACb,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;gBACgB;AAChB,0BAA0B;AAE1B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAE7B,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,aAAa;AACb,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { InitiativePermissionPolicies } from "../initiatives/_internal/InitiativeBusinessRules";
|
|
2
2
|
import { ProjectPermissionPolicies } from "../projects/_internal/ProjectBusinessRules";
|
|
3
3
|
import { SitesPermissionPolicies } from "../sites/_internal/SiteBusinessRules";
|
|
4
|
+
import { DiscussionPermissionPolicies } from "../discussions/_internal/DiscussionBusinessRules";
|
|
4
5
|
// Examples of possible Permission Policies
|
|
5
6
|
// const DiscussionPermissionPolicies: IPermissionPolicy[] = [
|
|
6
7
|
// {
|
|
@@ -61,6 +62,7 @@ export const HubPermissionsPolicies = [
|
|
|
61
62
|
...SitesPermissionPolicies,
|
|
62
63
|
...ProjectPermissionPolicies,
|
|
63
64
|
...InitiativePermissionPolicies,
|
|
65
|
+
...DiscussionPermissionPolicies,
|
|
64
66
|
];
|
|
65
67
|
/**
|
|
66
68
|
* Get the policies defined for a specific permission
|