@esri/hub-common 14.104.0 → 14.106.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/dist/esm/events/api/events.js +1 -1
  2. package/dist/esm/events/api/utils/authenticate-request.js +1 -1
  3. package/dist/esm/items/follow.js +102 -0
  4. package/dist/esm/items/follow.js.map +1 -0
  5. package/dist/esm/items/index.js +2 -0
  6. package/dist/esm/items/index.js.map +1 -1
  7. package/dist/esm/newsletters/api/index.js +4 -0
  8. package/dist/esm/newsletters/api/index.js.map +1 -0
  9. package/dist/esm/newsletters/api/orval/api/orval-newsletters.js +107 -0
  10. package/dist/esm/newsletters/api/orval/api/orval-newsletters.js.map +1 -0
  11. package/dist/esm/newsletters/api/orval/awaited-type.js +1 -0
  12. package/dist/esm/newsletters/api/orval/awaited-type.js.map +1 -0
  13. package/dist/esm/newsletters/api/orval/custom-client.js +44 -0
  14. package/dist/esm/newsletters/api/orval/custom-client.js.map +1 -0
  15. package/dist/esm/newsletters/api/subscriptions.js +53 -0
  16. package/dist/esm/newsletters/api/subscriptions.js.map +1 -0
  17. package/dist/esm/newsletters/api/types.js +2 -0
  18. package/dist/esm/newsletters/api/types.js.map +1 -0
  19. package/dist/esm/newsletters/api/users.js +43 -0
  20. package/dist/esm/newsletters/api/users.js.map +1 -0
  21. package/dist/esm/newsletters/api/utils/authenticate-request.js +15 -0
  22. package/dist/esm/newsletters/api/utils/authenticate-request.js.map +1 -0
  23. package/dist/esm/newsletters/index.js +2 -0
  24. package/dist/esm/newsletters/index.js.map +1 -0
  25. package/dist/esm/surveys/utils/get-s123-edit-url.js +4 -0
  26. package/dist/esm/surveys/utils/get-s123-edit-url.js.map +1 -0
  27. package/dist/esm/surveys/utils/index.js +1 -0
  28. package/dist/esm/surveys/utils/index.js.map +1 -1
  29. package/dist/node/events/api/events.js +1 -1
  30. package/dist/node/events/api/utils/authenticate-request.js +1 -1
  31. package/dist/node/items/follow.js +109 -0
  32. package/dist/node/items/follow.js.map +1 -0
  33. package/dist/node/items/index.js +2 -0
  34. package/dist/node/items/index.js.map +1 -1
  35. package/dist/node/newsletters/api/index.js +7 -0
  36. package/dist/node/newsletters/api/index.js.map +1 -0
  37. package/dist/node/newsletters/api/orval/api/orval-newsletters.js +110 -0
  38. package/dist/node/newsletters/api/orval/api/orval-newsletters.js.map +1 -0
  39. package/dist/node/newsletters/api/orval/awaited-type.js +3 -0
  40. package/dist/node/newsletters/api/orval/awaited-type.js.map +1 -0
  41. package/dist/node/newsletters/api/orval/custom-client.js +48 -0
  42. package/dist/node/newsletters/api/orval/custom-client.js.map +1 -0
  43. package/dist/node/newsletters/api/subscriptions.js +61 -0
  44. package/dist/node/newsletters/api/subscriptions.js.map +1 -0
  45. package/dist/node/newsletters/api/types.js +7 -0
  46. package/dist/node/newsletters/api/types.js.map +1 -0
  47. package/dist/node/newsletters/api/users.js +50 -0
  48. package/dist/node/newsletters/api/users.js.map +1 -0
  49. package/dist/node/newsletters/api/utils/authenticate-request.js +19 -0
  50. package/dist/node/newsletters/api/utils/authenticate-request.js.map +1 -0
  51. package/dist/node/newsletters/index.js +5 -0
  52. package/dist/node/newsletters/index.js.map +1 -0
  53. package/dist/node/surveys/utils/get-s123-edit-url.js +8 -0
  54. package/dist/node/surveys/utils/get-s123-edit-url.js.map +1 -0
  55. package/dist/node/surveys/utils/index.js +1 -0
  56. package/dist/node/surveys/utils/index.js.map +1 -1
  57. package/dist/types/events/api/events.d.ts +1 -1
  58. package/dist/types/events/api/utils/authenticate-request.d.ts +1 -1
  59. package/dist/types/items/follow.d.ts +50 -0
  60. package/dist/types/items/index.d.ts +2 -0
  61. package/dist/types/newsletters/api/index.d.ts +3 -0
  62. package/dist/types/newsletters/api/orval/api/orval-newsletters.d.ts +215 -0
  63. package/dist/types/newsletters/api/orval/awaited-type.d.ts +5 -0
  64. package/dist/types/newsletters/api/orval/custom-client.d.ts +22 -0
  65. package/dist/types/newsletters/api/subscriptions.d.ts +36 -0
  66. package/dist/types/newsletters/api/types.d.ts +47 -0
  67. package/dist/types/newsletters/api/users.d.ts +29 -0
  68. package/dist/types/newsletters/api/utils/authenticate-request.d.ts +9 -0
  69. package/dist/types/newsletters/index.d.ts +1 -0
  70. package/dist/types/surveys/utils/get-s123-edit-url.d.ts +2 -0
  71. package/dist/types/surveys/utils/index.d.ts +1 -0
  72. package/package.json +1 -1
@@ -23,7 +23,7 @@ export async function getEvents(options) {
23
23
  /**
24
24
  * get an event
25
25
  *
26
- * @param {ICreateEventParams} options
26
+ * @param {IGetEventParams} options
27
27
  * @return {Promise<IEvent>}
28
28
  */
29
29
  export async function getEvent(options) {
@@ -2,7 +2,7 @@
2
2
  * return a token created using options.authentication or set on options.token
3
3
  *
4
4
  * @export
5
- * @param {IDiscussionsRequestOptions} options
5
+ * @param {IEventsRequestOptions} options
6
6
  * @return {*} {Promise<string>}
7
7
  */
8
8
  export function authenticateRequest(options) {
@@ -0,0 +1,102 @@
1
+ import { joinGroup, leaveGroup } from "@esri/arcgis-rest-portal";
2
+ import { fetchHubEntity } from "../core";
3
+ /**
4
+ * Get the entity's followers group id
5
+ * @param entityId entity id
6
+ * @param entityType entity type
7
+ * @param context context used to support fetchHubEntity so it has access
8
+ * to different types of request options based on the entity type
9
+ * @returns {string} entity's followers group id
10
+ */
11
+ export async function getEntityFollowersGroupId(entityId, entityType, context) {
12
+ // entity's type is IWithFollowers as we only want to accept hub entities
13
+ // backed by item entities which extend IWithFollowers
14
+ let entity;
15
+ try {
16
+ entity = (await fetchHubEntity(entityType, entityId, context));
17
+ return entity.followersGroupId;
18
+ }
19
+ catch (e) {
20
+ throw new Error(`Error fetching entity followers group ID: ${e}`);
21
+ }
22
+ }
23
+ /**
24
+ * Whether the user is currently following the entity
25
+ * @param entityOrId hub entity or entity id, type is IWithFollowers
26
+ * as we only want to accept hub entities backed by item entities which
27
+ * extend IWithFollowers
28
+ * @param user
29
+ * @param entityType
30
+ * @param context
31
+ * @returns {boolean}
32
+ */
33
+ export async function isUserFollowing(entityOrId, user, entityType, context) {
34
+ // get the entity's followers group id
35
+ let groupId;
36
+ if (typeof entityOrId === "string") {
37
+ groupId = await getEntityFollowersGroupId(entityOrId, entityType, context);
38
+ }
39
+ else {
40
+ groupId = entityOrId.followersGroupId;
41
+ }
42
+ // looks through the users group list and find the same group
43
+ const group = user.groups.find((g) => g.id === groupId);
44
+ return !!group;
45
+ }
46
+ /**
47
+ * Follow an entity
48
+ * @param entityId entity id
49
+ * @param user user who attempts to follow the entity
50
+ * @param entityType optional if entityOrId is a string
51
+ * @param context optional if entityOrId is a string
52
+ * @returns promise that resolves { success: true, username: user.username }
53
+ * or rejects with an error
54
+ */
55
+ export async function followEntity(entityId, user, entityType, context) {
56
+ const isFollowing = await isUserFollowing(entityId, user, entityType, context);
57
+ // don't update if user is already following
58
+ if (isFollowing) {
59
+ return Promise.reject("User is already following this entity.");
60
+ }
61
+ const groupId = await getEntityFollowersGroupId(entityId, entityType, context);
62
+ try {
63
+ await joinGroup({
64
+ id: groupId,
65
+ authentication: context.hubRequestOptions.authentication,
66
+ });
67
+ // successfully joined the group
68
+ return { success: true, username: user.username };
69
+ }
70
+ catch (error) {
71
+ throw new Error(`Error joining group: ${error}`);
72
+ }
73
+ }
74
+ /**
75
+ * Unfollow an entity
76
+ * @param entityId entity id
77
+ * @param user user who attempts to unfollow the entity
78
+ * @param entityType optional if entityOrId is a string
79
+ * @param context optional if entityOrId is a string
80
+ * @returns promise that resolves { success: true, username: user.username } or
81
+ * rejects with an error
82
+ */
83
+ export async function unfollowEntity(entityId, user, entityType, context) {
84
+ const isFollowing = await isUserFollowing(entityId, user, entityType, context);
85
+ // don't update if user is not following
86
+ if (!isFollowing) {
87
+ return Promise.reject("User is not following this entity.");
88
+ }
89
+ const groupId = await getEntityFollowersGroupId(entityId, entityType, context);
90
+ try {
91
+ await leaveGroup({
92
+ id: groupId,
93
+ authentication: context.hubRequestOptions.authentication,
94
+ });
95
+ // successfully left the group
96
+ return { success: true, username: user.username };
97
+ }
98
+ catch (error) {
99
+ throw new Error(`Error leaving group: ${error}`);
100
+ }
101
+ }
102
+ //# sourceMappingURL=follow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"follow.js","sourceRoot":"","sources":["../../../src/items/follow.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,8 @@ export * from "./uploadImageResource";
24
24
  export * from "./is-services-directory-disabled";
25
25
  export * from "./getItemIdentifier";
26
26
  export * from "./deleteItemThumbnail";
27
+ export * from "./deleteItemThumbnail";
28
+ export * from "./follow";
27
29
  // No longer exported as the only App Hub needed this for was a Site
28
30
  // and that registration is now done in the domain service with a
29
31
  // signed HMAC request.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/items/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,SAAS,CAAC;AACxB,cAAc,oCAAoC,CAAC;AACnD,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,oEAAoE;AACpE,iEAAiE;AACjE,uBAAuB;AACvB,wCAAwC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/items/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,SAAS,CAAC;AACxB,cAAc,oCAAoC,CAAC;AACnD,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AACzB,oEAAoE;AACpE,iEAAiE;AACjE,uBAAuB;AACvB,wCAAwC"}
@@ -0,0 +1,4 @@
1
+ export * from "./subscriptions";
2
+ export * from "./users";
3
+ export * from "./types";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/newsletters/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Generated by orval v6.24.0 🍺
3
+ * Do not edit manually.
4
+ * Hub Newsletters Service
5
+ * OpenAPI spec version: 0.0.1
6
+ */
7
+ import { customClient } from "../custom-client";
8
+ export var DeliveryMethod;
9
+ (function (DeliveryMethod) {
10
+ DeliveryMethod["EMAIL"] = "EMAIL";
11
+ })(DeliveryMethod || (DeliveryMethod = {}));
12
+ export var Cadence;
13
+ (function (Cadence) {
14
+ Cadence["ON_EVENT"] = "ON_EVENT";
15
+ Cadence["DAILY"] = "DAILY";
16
+ Cadence["WEEKLY"] = "WEEKLY";
17
+ Cadence["MONTHLY"] = "MONTHLY";
18
+ })(Cadence || (Cadence = {}));
19
+ export var SystemNotificationSpecNames;
20
+ (function (SystemNotificationSpecNames) {
21
+ SystemNotificationSpecNames["TELEMETRY_REPORT"] = "TELEMETRY_REPORT";
22
+ SystemNotificationSpecNames["EVENT"] = "EVENT";
23
+ })(SystemNotificationSpecNames || (SystemNotificationSpecNames = {}));
24
+ export const createSubscription = (iCreateSubscription, options) => {
25
+ return customClient({
26
+ url: `/api/newsletters/v1/subscriptions`,
27
+ method: "POST",
28
+ headers: { "Content-Type": "application/json" },
29
+ data: iCreateSubscription,
30
+ }, options);
31
+ };
32
+ export const getSubscriptions = (params, options) => {
33
+ return customClient({ url: `/api/newsletters/v1/subscriptions`, method: "GET", params }, options);
34
+ };
35
+ export const subscribe = (iSubscribe, options) => {
36
+ return customClient({
37
+ url: `/api/newsletters/v1/subscriptions/subscribe`,
38
+ method: "POST",
39
+ headers: { "Content-Type": "application/json" },
40
+ data: iSubscribe,
41
+ }, options);
42
+ };
43
+ export const getSubscription = (id, options) => {
44
+ return customClient({ url: `/api/newsletters/v1/subscriptions/${id}`, method: "GET" }, options);
45
+ };
46
+ export const updateSubscription = (id, iUpdateSubscription, options) => {
47
+ return customClient({
48
+ url: `/api/newsletters/v1/subscriptions/${id}`,
49
+ method: "PATCH",
50
+ headers: { "Content-Type": "application/json" },
51
+ data: iUpdateSubscription,
52
+ }, options);
53
+ };
54
+ export const deleteSubscription = (id, options) => {
55
+ return customClient({ url: `/api/newsletters/v1/subscriptions/${id}`, method: "DELETE" }, options);
56
+ };
57
+ export const createUser = (iCreateUser, options) => {
58
+ return customClient({
59
+ url: `/api/newsletters/v1/users`,
60
+ method: "POST",
61
+ headers: { "Content-Type": "application/json" },
62
+ data: iCreateUser,
63
+ }, options);
64
+ };
65
+ export const getUsers = (options) => {
66
+ return customClient({ url: `/api/newsletters/v1/users`, method: "GET" }, options);
67
+ };
68
+ export const getUser = (userId, options) => {
69
+ return customClient({ url: `/api/newsletters/v1/users/${userId}`, method: "GET" }, options);
70
+ };
71
+ export const updateUser = (userId, iUpdateUser, options) => {
72
+ return customClient({
73
+ url: `/api/newsletters/v1/users/${userId}`,
74
+ method: "PATCH",
75
+ headers: { "Content-Type": "application/json" },
76
+ data: iUpdateUser,
77
+ }, options);
78
+ };
79
+ export const deleteUser = (userId, options) => {
80
+ return customClient({ url: `/api/newsletters/v1/users/${userId}`, method: "DELETE" }, options);
81
+ };
82
+ export const createNotificationSpec = (iCreateNotificationSpec, options) => {
83
+ return customClient({
84
+ url: `/api/newsletters/v1/notification-specs`,
85
+ method: "POST",
86
+ headers: { "Content-Type": "application/json" },
87
+ data: iCreateNotificationSpec,
88
+ }, options);
89
+ };
90
+ export const getNotificationSpecs = (options) => {
91
+ return customClient({ url: `/api/newsletters/v1/notification-specs`, method: "GET" }, options);
92
+ };
93
+ export const getNotificationSpec = (id, options) => {
94
+ return customClient({ url: `/api/newsletters/v1/notification-specs/${id}`, method: "GET" }, options);
95
+ };
96
+ export const updateNotificationSpec = (id, iUpdateNotificationSpec, options) => {
97
+ return customClient({
98
+ url: `/api/newsletters/v1/notification-specs/${id}`,
99
+ method: "PATCH",
100
+ headers: { "Content-Type": "application/json" },
101
+ data: iUpdateNotificationSpec,
102
+ }, options);
103
+ };
104
+ export const deleteNotificationSpec = (id, options) => {
105
+ return customClient({ url: `/api/newsletters/v1/notification-specs/${id}`, method: "DELETE" }, options);
106
+ };
107
+ //# sourceMappingURL=orval-newsletters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orval-newsletters.js","sourceRoot":"","sources":["../../../../../../src/newsletters/api/orval/api/orval-newsletters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=awaited-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"awaited-type.js","sourceRoot":"","sources":["../../../../../src/newsletters/api/orval/awaited-type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,44 @@
1
+ export async function customClient(orvalParams, customParams) {
2
+ const { url, method, data } = orvalParams;
3
+ const { mode, cache, credentials } = customParams;
4
+ const { headers, params } = combineParams(orvalParams, customParams);
5
+ const baseUrl = removeTrailingSlash(customParams.hubApiUrl);
6
+ const requestUrl = `${baseUrl}${url}?${new URLSearchParams(params)}`;
7
+ const requestOptions = {
8
+ headers,
9
+ method,
10
+ cache,
11
+ credentials,
12
+ mode,
13
+ };
14
+ if (data) {
15
+ requestOptions.body = JSON.stringify(data);
16
+ }
17
+ const res = await fetch(requestUrl, requestOptions);
18
+ const { statusText, status } = res;
19
+ if (res.ok) {
20
+ return res.json();
21
+ }
22
+ const error = await res.json();
23
+ throw new RemoteServerError(statusText, requestUrl, status, JSON.stringify(error.message));
24
+ }
25
+ function removeTrailingSlash(hubApiUrl = "https://hub.arcgis.com") {
26
+ return hubApiUrl.replace(/\/$/, "");
27
+ }
28
+ function combineParams(orvalParams, options) {
29
+ const headers = new Headers(Object.assign(Object.assign({}, orvalParams.headers), options.headers));
30
+ if (options.token) {
31
+ headers.set("Authorization", options.token);
32
+ }
33
+ const params = Object.assign(Object.assign({}, orvalParams.params), options.params);
34
+ return { headers, params };
35
+ }
36
+ class RemoteServerError extends Error {
37
+ constructor(message, url, status, error) {
38
+ super(message);
39
+ this.status = status;
40
+ this.url = url;
41
+ this.error = error;
42
+ }
43
+ }
44
+ //# sourceMappingURL=custom-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-client.js","sourceRoot":"","sources":["../../../../../src/newsletters/api/orval/custom-client.ts"],"names":[],"mappings":"AAuBA,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,WAAyB,EACzB,YAA2B;IAE3B,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC;IAC1C,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,YAAY,CAAC;IAClD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAErE,MAAM,OAAO,GAAG,mBAAmB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,GAAG,OAAO,GAAG,GAAG,IAAI,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;IAErE,MAAM,cAAc,GAAgB;QAClC,OAAO;QACP,MAAM;QACN,KAAK;QACL,WAAW;QACX,IAAI;KACL,CAAC;IACF,IAAI,IAAI,EAAE;QACR,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;KAC5C;IAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACpD,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAEnC,IAAI,GAAG,CAAC,EAAE,EAAE;QACV,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;KACnB;IAED,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAC/B,MAAM,IAAI,iBAAiB,CACzB,UAAU,EACV,UAAU,EACV,MAAM,EACN,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAC9B,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,SAAS,GAAG,wBAAwB;IAC/D,OAAO,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,aAAa,CAAC,WAAyB,EAAE,OAAsB;IACtE,MAAM,OAAO,GAAG,IAAI,OAAO,iCACtB,WAAW,CAAC,OAAO,GACnB,OAAO,CAAC,OAAO,EAClB,CAAC;IACH,IAAI,OAAO,CAAC,KAAK,EAAE;QACjB,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;KAC7C;IAED,MAAM,MAAM,mCACP,WAAW,CAAC,MAAM,GAClB,OAAO,CAAC,MAAM,CAClB,CAAC;IAEF,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,iBAAkB,SAAQ,KAAK;IAKnC,YAAY,OAAe,EAAE,GAAW,EAAE,MAAc,EAAE,KAAa;QACrE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF"}
@@ -0,0 +1,53 @@
1
+ import { authenticateRequest } from "./utils/authenticate-request";
2
+ import { subscribe as _subscribe, createSubscription as _createSubscription, getSubscriptions as _getSubscriptions, getSubscription as _getSubscription, updateSubscription as _updateSubscription, } from "./orval/api/orval-newsletters";
3
+ /**
4
+ * create a subscription for user (existing or not) to a newsletter
5
+ *
6
+ * @param {ISubscribeParams} options
7
+ * @return {Promise<ISubscription>}
8
+ */
9
+ export async function subscribe(options) {
10
+ options.token = await authenticateRequest(options);
11
+ return _subscribe(options.data, options);
12
+ }
13
+ /**
14
+ * create a subscription for user (existing) to a newsletter
15
+ *
16
+ * @param {ICreateSubscriptionParams} options
17
+ * @return {Promise<ISubscription>}
18
+ */
19
+ export async function createSubscription(options) {
20
+ options.token = await authenticateRequest(options);
21
+ return _createSubscription(options.data, options);
22
+ }
23
+ /**
24
+ * get subscriptions
25
+ *
26
+ * @param {IGetSubscriptionsParams} options
27
+ * @return {Promise<ISubscription[]>}
28
+ */
29
+ export async function getSubscriptions(options) {
30
+ options.token = await authenticateRequest(options);
31
+ return _getSubscriptions(options.data, options);
32
+ }
33
+ /**
34
+ * get a subscription
35
+ *
36
+ * @param {IGetSubscriptionParams} options
37
+ * @return {Promise<ISubscription>}
38
+ */
39
+ export async function getSubscription(options) {
40
+ options.token = await authenticateRequest(options);
41
+ return _getSubscription(options.subscriptionId, options);
42
+ }
43
+ /**
44
+ * update a subscription
45
+ *
46
+ * @param {IUpdateSubscriptionParams} options
47
+ * @return {Promise<ISubscription>}
48
+ */
49
+ export async function updateSubscription(options) {
50
+ options.token = await authenticateRequest(options);
51
+ return _updateSubscription(options.subscriptionId, options.data, options);
52
+ }
53
+ //# sourceMappingURL=subscriptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptions.js","sourceRoot":"","sources":["../../../../src/newsletters/api/subscriptions.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EACL,SAAS,IAAI,UAAU,EACvB,kBAAkB,IAAI,mBAAmB,EACzC,gBAAgB,IAAI,iBAAiB,EACrC,eAAe,IAAI,gBAAgB,EACnC,kBAAkB,IAAI,mBAAmB,GAC1C,MAAM,+BAA+B,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,OAAyB;IAEzB,OAAO,CAAC,KAAK,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACnD,OAAO,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAkC;IAElC,OAAO,CAAC,KAAK,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACnD,OAAO,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAgC;IAEhC,OAAO,CAAC,KAAK,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACnD,OAAO,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAA+B;IAE/B,OAAO,CAAC,KAAK,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACnD,OAAO,gBAAgB,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAkC;IAElC,OAAO,CAAC,KAAK,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACnD,OAAO,mBAAmB,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC5E,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { Cadence, DeliveryMethod, SystemNotificationSpecNames, } from "./orval/api/orval-newsletters";
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/newsletters/api/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,cAAc,EAQd,2BAA2B,GAC5B,MAAM,+BAA+B,CAAC"}
@@ -0,0 +1,43 @@
1
+ import { authenticateRequest } from "./utils/authenticate-request";
2
+ import { createUser as _createUser, getUser as _getUser, updateUser as _updateUser, deleteUser as _deleteUser, } from "./orval/api/orval-newsletters";
3
+ /**
4
+ * create a user
5
+ *
6
+ * @param {ICreateUserParams} options
7
+ * @return {Promise<IUser>}
8
+ */
9
+ export async function createUser(options) {
10
+ options.token = await authenticateRequest(options);
11
+ return _createUser(options.data, options);
12
+ }
13
+ /**
14
+ * get a user
15
+ *
16
+ * @param {IGetUserParams} options
17
+ * @return {Promise<IUser>}
18
+ */
19
+ export async function getUser(options) {
20
+ options.token = await authenticateRequest(options);
21
+ return _getUser(options.userId, options);
22
+ }
23
+ /**
24
+ * update a user
25
+ *
26
+ * @param {IUpdateUserParams} options
27
+ * @return {Promise<IUser>}
28
+ */
29
+ export async function updateUser(options) {
30
+ options.token = await authenticateRequest(options);
31
+ return _updateUser(options.userId, options.data, options);
32
+ }
33
+ /**
34
+ * delete a user
35
+ *
36
+ * @param {IDeleteUserParams} options
37
+ * @return {Promise<IUser>}
38
+ */
39
+ export async function deleteUser(options) {
40
+ options.token = await authenticateRequest(options);
41
+ return _deleteUser(options.userId, options);
42
+ }
43
+ //# sourceMappingURL=users.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.js","sourceRoot":"","sources":["../../../../src/newsletters/api/users.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EACL,UAAU,IAAI,WAAW,EACzB,OAAO,IAAI,QAAQ,EACnB,UAAU,IAAI,WAAW,EACzB,UAAU,IAAI,WAAW,GAC1B,MAAM,+BAA+B,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAA0B;IACzD,OAAO,CAAC,KAAK,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACnD,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAuB;IACnD,OAAO,CAAC,KAAK,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACnD,OAAO,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAA0B;IACzD,OAAO,CAAC,KAAK,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACnD,OAAO,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAA0B;IACzD,OAAO,CAAC,KAAK,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACnD,OAAO,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * return a token created using options.authentication or set on options.token
3
+ *
4
+ * @export
5
+ * @param {INewslettersRequestOptions} options
6
+ * @return {*} {Promise<string>}
7
+ */
8
+ export function authenticateRequest(options) {
9
+ const { token, authentication } = options;
10
+ if (authentication) {
11
+ return authentication.getToken(authentication.portal);
12
+ }
13
+ return Promise.resolve(token);
14
+ }
15
+ //# sourceMappingURL=authenticate-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authenticate-request.js","sourceRoot":"","sources":["../../../../../src/newsletters/api/utils/authenticate-request.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAmC;IAEnC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IAE1C,IAAI,cAAc,EAAE;QAClB,OAAO,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;KACvD;IAED,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./api";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/newsletters/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC"}
@@ -0,0 +1,4 @@
1
+ export function getS123EditUrl(id, context) {
2
+ return `${context.survey123Url}/surveys/${id}?portalUrl=${encodeURIComponent(context.portalUrl)}`;
3
+ }
4
+ //# sourceMappingURL=get-s123-edit-url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-s123-edit-url.js","sourceRoot":"","sources":["../../../../src/surveys/utils/get-s123-edit-url.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,cAAc,CAAC,EAAU,EAAE,OAAuB;IAChE,OAAO,GAAG,OAAO,CAAC,YAAY,YAAY,EAAE,cAAc,kBAAkB,CAC1E,OAAO,CAAC,SAAS,CAClB,EAAE,CAAC;AACN,CAAC"}
@@ -3,6 +3,7 @@ export * from "./get-form-info-json";
3
3
  export * from "./get-form-json";
4
4
  export * from "./get-input-feature-service-model";
5
5
  export * from "./get-map-question";
6
+ export * from "./get-s123-edit-url";
6
7
  export * from "./get-s123-share-url";
7
8
  export * from "./get-source-feature-service-model-from-fieldworker";
8
9
  export * from "./get-stakeholder-model";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/surveys/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mCAAmC,CAAC;AAClD,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qDAAqD,CAAC;AACpE,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/surveys/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mCAAmC,CAAC;AAClD,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qDAAqD,CAAC;AACpE,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC"}
@@ -28,7 +28,7 @@ exports.getEvents = getEvents;
28
28
  /**
29
29
  * get an event
30
30
  *
31
- * @param {ICreateEventParams} options
31
+ * @param {IGetEventParams} options
32
32
  * @return {Promise<IEvent>}
33
33
  */
34
34
  async function getEvent(options) {
@@ -5,7 +5,7 @@ exports.authenticateRequest = void 0;
5
5
  * return a token created using options.authentication or set on options.token
6
6
  *
7
7
  * @export
8
- * @param {IDiscussionsRequestOptions} options
8
+ * @param {IEventsRequestOptions} options
9
9
  * @return {*} {Promise<string>}
10
10
  */
11
11
  function authenticateRequest(options) {
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.unfollowEntity = exports.followEntity = exports.isUserFollowing = exports.getEntityFollowersGroupId = void 0;
4
+ const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
5
+ const core_1 = require("../core");
6
+ /**
7
+ * Get the entity's followers group id
8
+ * @param entityId entity id
9
+ * @param entityType entity type
10
+ * @param context context used to support fetchHubEntity so it has access
11
+ * to different types of request options based on the entity type
12
+ * @returns {string} entity's followers group id
13
+ */
14
+ async function getEntityFollowersGroupId(entityId, entityType, context) {
15
+ // entity's type is IWithFollowers as we only want to accept hub entities
16
+ // backed by item entities which extend IWithFollowers
17
+ let entity;
18
+ try {
19
+ entity = (await core_1.fetchHubEntity(entityType, entityId, context));
20
+ return entity.followersGroupId;
21
+ }
22
+ catch (e) {
23
+ throw new Error(`Error fetching entity followers group ID: ${e}`);
24
+ }
25
+ }
26
+ exports.getEntityFollowersGroupId = getEntityFollowersGroupId;
27
+ /**
28
+ * Whether the user is currently following the entity
29
+ * @param entityOrId hub entity or entity id, type is IWithFollowers
30
+ * as we only want to accept hub entities backed by item entities which
31
+ * extend IWithFollowers
32
+ * @param user
33
+ * @param entityType
34
+ * @param context
35
+ * @returns {boolean}
36
+ */
37
+ async function isUserFollowing(entityOrId, user, entityType, context) {
38
+ // get the entity's followers group id
39
+ let groupId;
40
+ if (typeof entityOrId === "string") {
41
+ groupId = await getEntityFollowersGroupId(entityOrId, entityType, context);
42
+ }
43
+ else {
44
+ groupId = entityOrId.followersGroupId;
45
+ }
46
+ // looks through the users group list and find the same group
47
+ const group = user.groups.find((g) => g.id === groupId);
48
+ return !!group;
49
+ }
50
+ exports.isUserFollowing = isUserFollowing;
51
+ /**
52
+ * Follow an entity
53
+ * @param entityId entity id
54
+ * @param user user who attempts to follow the entity
55
+ * @param entityType optional if entityOrId is a string
56
+ * @param context optional if entityOrId is a string
57
+ * @returns promise that resolves { success: true, username: user.username }
58
+ * or rejects with an error
59
+ */
60
+ async function followEntity(entityId, user, entityType, context) {
61
+ const isFollowing = await isUserFollowing(entityId, user, entityType, context);
62
+ // don't update if user is already following
63
+ if (isFollowing) {
64
+ return Promise.reject("User is already following this entity.");
65
+ }
66
+ const groupId = await getEntityFollowersGroupId(entityId, entityType, context);
67
+ try {
68
+ await arcgis_rest_portal_1.joinGroup({
69
+ id: groupId,
70
+ authentication: context.hubRequestOptions.authentication,
71
+ });
72
+ // successfully joined the group
73
+ return { success: true, username: user.username };
74
+ }
75
+ catch (error) {
76
+ throw new Error(`Error joining group: ${error}`);
77
+ }
78
+ }
79
+ exports.followEntity = followEntity;
80
+ /**
81
+ * Unfollow an entity
82
+ * @param entityId entity id
83
+ * @param user user who attempts to unfollow the entity
84
+ * @param entityType optional if entityOrId is a string
85
+ * @param context optional if entityOrId is a string
86
+ * @returns promise that resolves { success: true, username: user.username } or
87
+ * rejects with an error
88
+ */
89
+ async function unfollowEntity(entityId, user, entityType, context) {
90
+ const isFollowing = await isUserFollowing(entityId, user, entityType, context);
91
+ // don't update if user is not following
92
+ if (!isFollowing) {
93
+ return Promise.reject("User is not following this entity.");
94
+ }
95
+ const groupId = await getEntityFollowersGroupId(entityId, entityType, context);
96
+ try {
97
+ await arcgis_rest_portal_1.leaveGroup({
98
+ id: groupId,
99
+ authentication: context.hubRequestOptions.authentication,
100
+ });
101
+ // successfully left the group
102
+ return { success: true, username: user.username };
103
+ }
104
+ catch (error) {
105
+ throw new Error(`Error leaving group: ${error}`);
106
+ }
107
+ }
108
+ exports.unfollowEntity = unfollowEntity;
109
+ //# sourceMappingURL=follow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"follow.js","sourceRoot":"","sources":["../../../src/items/follow.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,8 @@ tslib_1.__exportStar(require("./uploadImageResource"), exports);
27
27
  tslib_1.__exportStar(require("./is-services-directory-disabled"), exports);
28
28
  tslib_1.__exportStar(require("./getItemIdentifier"), exports);
29
29
  tslib_1.__exportStar(require("./deleteItemThumbnail"), exports);
30
+ tslib_1.__exportStar(require("./deleteItemThumbnail"), exports);
31
+ tslib_1.__exportStar(require("./follow"), exports);
30
32
  // No longer exported as the only App Hub needed this for was a Site
31
33
  // and that registration is now done in the domain service with a
32
34
  // signed HMAC request.