clarion-shared-types 1.0.111 → 1.0.112
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/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/modules/newsfeed/index.js +19 -0
- package/dist/cjs/modules/newsfeed/index.js.map +1 -0
- package/dist/cjs/modules/newsfeed/interfaces/newsfeed-analytics.js +19 -0
- package/dist/cjs/modules/newsfeed/interfaces/newsfeed-analytics.js.map +1 -0
- package/dist/cjs/modules/permission/enums/permission-actions.enum.js +3 -0
- package/dist/cjs/modules/permission/enums/permission-actions.enum.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/modules/newsfeed/index.js +3 -0
- package/dist/esm/modules/newsfeed/index.js.map +1 -0
- package/dist/esm/modules/newsfeed/interfaces/newsfeed-analytics.js +18 -0
- package/dist/esm/modules/newsfeed/interfaces/newsfeed-analytics.js.map +1 -0
- package/dist/esm/modules/permission/enums/permission-actions.enum.js +3 -0
- package/dist/esm/modules/permission/enums/permission-actions.enum.js.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/modules/newsfeed/index.d.ts +1 -0
- package/dist/types/modules/newsfeed/interfaces/newsfeed-analytics.d.ts +324 -0
- package/dist/types/modules/permission/enums/permission-actions.enum.d.ts +1 -0
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -41,6 +41,7 @@ __exportStar(require("./modules/partner/index"), exports);
|
|
|
41
41
|
__exportStar(require("./modules/support/index"), exports);
|
|
42
42
|
__exportStar(require("./modules/safety/index"), exports);
|
|
43
43
|
__exportStar(require("./modules/billing/index"), exports);
|
|
44
|
+
__exportStar(require("./modules/newsfeed/index"), exports);
|
|
44
45
|
// Interfaces
|
|
45
46
|
__exportStar(require("./modules/common/interfaces/server-message"), exports);
|
|
46
47
|
__exportStar(require("./modules/common/interfaces/pagination"), exports);
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,UAAU;AACV,uDAAqC;AACrC,+DAA6C;AAC7C,yDAAuC;AACvC,6DAA2C;AAC3C,uDAAqC;AACrC,uDAAqC;AACrC,iEAA+C;AAC/C,gEAA8C;AAC9C,2DAAyC;AACzC,2DAAyC;AACzC,sDAAoC;AACpC,sDAAoC;AACpC,sDAAoC;AACpC,yDAAuC;AACvC,mEAAiD;AACjD,+DAA6C;AAC7C,uDAAqC;AACrC,0DAAwC;AACxC,2DAAyC;AACzC,8DAA4C;AAC5C,iEAA+C;AAC/C,+DAA6C;AAC7C,0DAAwC;AACxC,0DAAwC;AACxC,yDAAuC;AACvC,0DAAwC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,UAAU;AACV,uDAAqC;AACrC,+DAA6C;AAC7C,yDAAuC;AACvC,6DAA2C;AAC3C,uDAAqC;AACrC,uDAAqC;AACrC,iEAA+C;AAC/C,gEAA8C;AAC9C,2DAAyC;AACzC,2DAAyC;AACzC,sDAAoC;AACpC,sDAAoC;AACpC,sDAAoC;AACpC,yDAAuC;AACvC,mEAAiD;AACjD,+DAA6C;AAC7C,uDAAqC;AACrC,0DAAwC;AACxC,2DAAyC;AACzC,8DAA4C;AAC5C,iEAA+C;AAC/C,+DAA6C;AAC7C,0DAAwC;AACxC,0DAAwC;AACxC,yDAAuC;AACvC,0DAAwC;AACxC,2DAAyC;AAEzC,aAAa;AACb,6EAA2D;AAC3D,yEAAuD"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
// Interfaces
|
|
18
|
+
__exportStar(require("./interfaces/newsfeed-analytics"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/newsfeed/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,aAAa;AACb,kEAAgD"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Newsfeed analytics (the admin's Newsfeed Analytics): what an organization published
|
|
4
|
+
* to its members, and how the members responded - likes, comments, shares - when, how
|
|
5
|
+
* quickly, and to what kind of post.
|
|
6
|
+
*
|
|
7
|
+
* One read, computed by clarion-newsfeed from one consistent snapshot, so every number
|
|
8
|
+
* on a dashboard agrees with every other. Counts, durations and the organization's own
|
|
9
|
+
* posts only: never a member's name, never who liked, commented or shared.
|
|
10
|
+
*
|
|
11
|
+
* Posts are counted by when they were FIRST published (a post archived and published
|
|
12
|
+
* again counts once). Responses are counted by when they were made, whenever the post
|
|
13
|
+
* was published. A like that was taken back is gone (an unlike deletes it), so likes
|
|
14
|
+
* are the likes still standing - the ones taken back are counted separately, from the
|
|
15
|
+
* events the service emitted. Comments are every comment written, including any since
|
|
16
|
+
* hidden by a moderator or removed.
|
|
17
|
+
*/
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
//# sourceMappingURL=newsfeed-analytics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"newsfeed-analytics.js","sourceRoot":"","sources":["../../../../../src/modules/newsfeed/interfaces/newsfeed-analytics.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG"}
|
|
@@ -216,6 +216,9 @@ var PermissionActions;
|
|
|
216
216
|
PermissionActions["READ_NEWSFEED_FEED"] = "read:newsfeed-feed";
|
|
217
217
|
PermissionActions["ENGAGE_NEWSFEED_POST"] = "engage:newsfeed-post";
|
|
218
218
|
PermissionActions["MODERATE_NEWSFEED_COMMENT"] = "moderate:newsfeed-comment";
|
|
219
|
+
// Newsfeed Analytics: what was published and how the members responded - totals
|
|
220
|
+
// only. Held by everybody who reads the posts as staff do (read:newsfeed-post).
|
|
221
|
+
PermissionActions["READ_NEWSFEED_ANALYTICS"] = "read:newsfeed-analytics";
|
|
219
222
|
// Module: Alert Intake
|
|
220
223
|
// The channels the PUBLIC reaches an organization on without the app - its SMS
|
|
221
224
|
// short code, WhatsApp number and mailbox (clarion-alerts) - configuring them, and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permission-actions.enum.js","sourceRoot":"","sources":["../../../../../src/modules/permission/enums/permission-actions.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"permission-actions.enum.js","sourceRoot":"","sources":["../../../../../src/modules/permission/enums/permission-actions.enum.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -25,6 +25,7 @@ export * from './modules/partner/index';
|
|
|
25
25
|
export * from './modules/support/index';
|
|
26
26
|
export * from './modules/safety/index';
|
|
27
27
|
export * from './modules/billing/index';
|
|
28
|
+
export * from './modules/newsfeed/index';
|
|
28
29
|
// Interfaces
|
|
29
30
|
export * from './modules/common/interfaces/server-message';
|
|
30
31
|
export * from './modules/common/interfaces/pagination';
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AAEzC,aAAa;AACb,cAAc,4CAA4C,CAAC;AAC3D,cAAc,wCAAwC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/newsfeed/index.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,cAAc,iCAAiC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Newsfeed analytics (the admin's Newsfeed Analytics): what an organization published
|
|
3
|
+
* to its members, and how the members responded - likes, comments, shares - when, how
|
|
4
|
+
* quickly, and to what kind of post.
|
|
5
|
+
*
|
|
6
|
+
* One read, computed by clarion-newsfeed from one consistent snapshot, so every number
|
|
7
|
+
* on a dashboard agrees with every other. Counts, durations and the organization's own
|
|
8
|
+
* posts only: never a member's name, never who liked, commented or shared.
|
|
9
|
+
*
|
|
10
|
+
* Posts are counted by when they were FIRST published (a post archived and published
|
|
11
|
+
* again counts once). Responses are counted by when they were made, whenever the post
|
|
12
|
+
* was published. A like that was taken back is gone (an unlike deletes it), so likes
|
|
13
|
+
* are the likes still standing - the ones taken back are counted separately, from the
|
|
14
|
+
* events the service emitted. Comments are every comment written, including any since
|
|
15
|
+
* hidden by a moderator or removed.
|
|
16
|
+
*/
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=newsfeed-analytics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"newsfeed-analytics.js","sourceRoot":"","sources":["../../../../../src/modules/newsfeed/interfaces/newsfeed-analytics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG"}
|
|
@@ -213,6 +213,9 @@ export var PermissionActions;
|
|
|
213
213
|
PermissionActions["READ_NEWSFEED_FEED"] = "read:newsfeed-feed";
|
|
214
214
|
PermissionActions["ENGAGE_NEWSFEED_POST"] = "engage:newsfeed-post";
|
|
215
215
|
PermissionActions["MODERATE_NEWSFEED_COMMENT"] = "moderate:newsfeed-comment";
|
|
216
|
+
// Newsfeed Analytics: what was published and how the members responded - totals
|
|
217
|
+
// only. Held by everybody who reads the posts as staff do (read:newsfeed-post).
|
|
218
|
+
PermissionActions["READ_NEWSFEED_ANALYTICS"] = "read:newsfeed-analytics";
|
|
216
219
|
// Module: Alert Intake
|
|
217
220
|
// The channels the PUBLIC reaches an organization on without the app - its SMS
|
|
218
221
|
// short code, WhatsApp number and mailbox (clarion-alerts) - configuring them, and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permission-actions.enum.js","sourceRoot":"","sources":["../../../../../src/modules/permission/enums/permission-actions.enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"permission-actions.enum.js","sourceRoot":"","sources":["../../../../../src/modules/permission/enums/permission-actions.enum.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -24,5 +24,6 @@ export * from './modules/partner/index';
|
|
|
24
24
|
export * from './modules/support/index';
|
|
25
25
|
export * from './modules/safety/index';
|
|
26
26
|
export * from './modules/billing/index';
|
|
27
|
+
export * from './modules/newsfeed/index';
|
|
27
28
|
export * from './modules/common/interfaces/server-message';
|
|
28
29
|
export * from './modules/common/interfaces/pagination';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './interfaces/newsfeed-analytics';
|
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Newsfeed analytics (the admin's Newsfeed Analytics): what an organization published
|
|
3
|
+
* to its members, and how the members responded - likes, comments, shares - when, how
|
|
4
|
+
* quickly, and to what kind of post.
|
|
5
|
+
*
|
|
6
|
+
* One read, computed by clarion-newsfeed from one consistent snapshot, so every number
|
|
7
|
+
* on a dashboard agrees with every other. Counts, durations and the organization's own
|
|
8
|
+
* posts only: never a member's name, never who liked, commented or shared.
|
|
9
|
+
*
|
|
10
|
+
* Posts are counted by when they were FIRST published (a post archived and published
|
|
11
|
+
* again counts once). Responses are counted by when they were made, whenever the post
|
|
12
|
+
* was published. A like that was taken back is gone (an unlike deletes it), so likes
|
|
13
|
+
* are the likes still standing - the ones taken back are counted separately, from the
|
|
14
|
+
* events the service emitted. Comments are every comment written, including any since
|
|
15
|
+
* hidden by a moderator or removed.
|
|
16
|
+
*/
|
|
17
|
+
/** How the period is cut into points for the charts. Chosen by the service from the length of the period. */
|
|
18
|
+
export type NewsfeedAnalyticsBucket = 'hour' | 'day' | 'week' | 'month';
|
|
19
|
+
export interface NewsfeedAnalyticsRange {
|
|
20
|
+
/** Inclusive, ISO 8601. The first post's creation when the period asked for was "forever". */
|
|
21
|
+
from: string;
|
|
22
|
+
/** Exclusive, ISO 8601. */
|
|
23
|
+
to: string;
|
|
24
|
+
bucket: NewsfeedAnalyticsBucket;
|
|
25
|
+
/** IANA time zone the buckets, the times of day and the hour-of-week grid are cut in. */
|
|
26
|
+
timeZone: string;
|
|
27
|
+
}
|
|
28
|
+
/** A count by a key (a status, a kind, a band), largest first unless the section says otherwise. */
|
|
29
|
+
export interface NewsfeedAnalyticsCount<K extends string = string> {
|
|
30
|
+
key: K;
|
|
31
|
+
count: number;
|
|
32
|
+
}
|
|
33
|
+
/** Median and 90th percentile of one duration, in seconds; null when nothing was measured. */
|
|
34
|
+
export interface NewsfeedAnalyticsDuration {
|
|
35
|
+
median: number | null;
|
|
36
|
+
p90: number | null;
|
|
37
|
+
/** How many were measured. */
|
|
38
|
+
count: number;
|
|
39
|
+
}
|
|
40
|
+
/** What was published in the period, and the feed as it stands now. */
|
|
41
|
+
export interface NewsfeedAnalyticsPosts {
|
|
42
|
+
/** First published in the period. */
|
|
43
|
+
published: number;
|
|
44
|
+
/** Of those, written as a draft and published later (more than a minute after it was written). */
|
|
45
|
+
draftedFirst: number;
|
|
46
|
+
/** Of those, published the moment they were written. */
|
|
47
|
+
publishedStraightAway: number;
|
|
48
|
+
/** From written to published, for those drafted first. */
|
|
49
|
+
draftToPublish: NewsfeedAnalyticsDuration;
|
|
50
|
+
/** Written in the period, published or not. */
|
|
51
|
+
written: number;
|
|
52
|
+
/** Of those published in the period: with at least one image, with a video, with no media at all. */
|
|
53
|
+
withImages: number;
|
|
54
|
+
withVideo: number;
|
|
55
|
+
textOnly: number;
|
|
56
|
+
/** Images and videos attached to the posts published in the period. */
|
|
57
|
+
mediaItems: number;
|
|
58
|
+
/** Staff who published in the period. */
|
|
59
|
+
authors: number;
|
|
60
|
+
/** Of those published in the period: archived since, and deleted since. */
|
|
61
|
+
archivedSince: number;
|
|
62
|
+
deletedSince: number;
|
|
63
|
+
/** NOW, whatever the period: the posts members can see, drafts waiting, archived and deleted posts. */
|
|
64
|
+
liveNow: number;
|
|
65
|
+
draftsNow: number;
|
|
66
|
+
archivedNow: number;
|
|
67
|
+
deletedNow: number;
|
|
68
|
+
/** When the oldest draft still waiting was written; null when there is none. */
|
|
69
|
+
oldestDraftAt: string | null;
|
|
70
|
+
/** The last time anything was published - whatever the period. */
|
|
71
|
+
lastPublishedAt: string | null;
|
|
72
|
+
/** Every post now by where it stands: PUBLISHED, DRAFT, ARCHIVED, DELETED - zeros included. */
|
|
73
|
+
byStatus: NewsfeedAnalyticsCount[];
|
|
74
|
+
/** The posts published in the period by kind: TEXT, IMAGE (one), GALLERY (several), VIDEO - zeros included. */
|
|
75
|
+
byKind: NewsfeedAnalyticsCount[];
|
|
76
|
+
}
|
|
77
|
+
/** How the members responded in the period. */
|
|
78
|
+
export interface NewsfeedAnalyticsEngagement {
|
|
79
|
+
/** Likes, comments and shares made in the period. */
|
|
80
|
+
total: number;
|
|
81
|
+
/** Likes made in the period and still standing. */
|
|
82
|
+
likes: number;
|
|
83
|
+
/** Likes taken back in the period - they are not in `likes`. */
|
|
84
|
+
unliked: number;
|
|
85
|
+
/** Comments written in the period, replies included. */
|
|
86
|
+
comments: number;
|
|
87
|
+
shares: number;
|
|
88
|
+
/** Members who responded at all - and who liked, commented, shared (a member can be all three). */
|
|
89
|
+
members: number;
|
|
90
|
+
likers: number;
|
|
91
|
+
commenters: number;
|
|
92
|
+
sharers: number;
|
|
93
|
+
/** Members whose first response to this feed, ever, was in the period. */
|
|
94
|
+
newMembers: number;
|
|
95
|
+
/** Members who responded to more than one post in the period. */
|
|
96
|
+
repeatMembers: number;
|
|
97
|
+
/** Posts that drew any response in the period, whenever they were published. */
|
|
98
|
+
postsResponded: number;
|
|
99
|
+
/** Of the posts published in the period: those that have drawn a response, by the end of the period. */
|
|
100
|
+
publishedResponded: number;
|
|
101
|
+
/** Responses drawn by the posts published in the period, by the end of the period. */
|
|
102
|
+
publishedResponses: number;
|
|
103
|
+
/** publishedResponses / posts published in the period; null when nothing was published. */
|
|
104
|
+
perPublishedPost: number | null;
|
|
105
|
+
/** From a post published in the period going out to its first like, comment or share. */
|
|
106
|
+
firstResponse: NewsfeedAnalyticsDuration;
|
|
107
|
+
/** Of the responses to the posts published in the period, the share made in each post's first 24 hours, as a percentage. */
|
|
108
|
+
firstDayShare: number | null;
|
|
109
|
+
/** The period's responses by how old the post was: H1 (first hour), H6, D1, D3, W1, M1, OLDER - in that order. */
|
|
110
|
+
byPostAge: NewsfeedAnalyticsCount[];
|
|
111
|
+
/** The posts published in the period by the responses they drew: NONE, 1-2, 3-5, 6-10, 11-25, 26+ - in that order. */
|
|
112
|
+
postsByResponses: NewsfeedAnalyticsCount[];
|
|
113
|
+
/** The members who responded, by how many times: 1, 2-3, 4-10, 11+ - in that order. */
|
|
114
|
+
membersByResponses: NewsfeedAnalyticsCount[];
|
|
115
|
+
/** The members who responded, by what they did: LIKED, COMMENTED or SHARED only, or SEVERAL. */
|
|
116
|
+
membersByKind: NewsfeedAnalyticsCount[];
|
|
117
|
+
}
|
|
118
|
+
/** The conversation under the posts. */
|
|
119
|
+
export interface NewsfeedAnalyticsComments {
|
|
120
|
+
/** Written in the period. */
|
|
121
|
+
written: number;
|
|
122
|
+
/** Of those, replies to another comment. */
|
|
123
|
+
replies: number;
|
|
124
|
+
commenters: number;
|
|
125
|
+
/** Posts commented on in the period. */
|
|
126
|
+
postsDiscussed: number;
|
|
127
|
+
/** Of those written in the period, where they stand now: VISIBLE, HIDDEN by a moderator, REMOVED. */
|
|
128
|
+
visible: number;
|
|
129
|
+
hidden: number;
|
|
130
|
+
removed: number;
|
|
131
|
+
/** Every comment a moderator is holding back now, whenever it was written. */
|
|
132
|
+
hiddenNow: number;
|
|
133
|
+
}
|
|
134
|
+
/** Posts members passed on. */
|
|
135
|
+
export interface NewsfeedAnalyticsShares {
|
|
136
|
+
shares: number;
|
|
137
|
+
sharers: number;
|
|
138
|
+
/** Posts shared in the period. */
|
|
139
|
+
postsShared: number;
|
|
140
|
+
/** Where the app says it went: WHATSAPP, SMS, EMAIL, SYSTEM_SHARE (the phone's share sheet), COPIED_LINK, OTHER. */
|
|
141
|
+
byTarget: NewsfeedAnalyticsCount[];
|
|
142
|
+
/**
|
|
143
|
+
* The app the phone's share sheet handed it to, when the phone said - an Android
|
|
144
|
+
* package such as `com.whatsapp` - or NOT_RECORDED. The ten most used.
|
|
145
|
+
*/
|
|
146
|
+
byApp: NewsfeedAnalyticsCount[];
|
|
147
|
+
}
|
|
148
|
+
/** One group of the posts published in the period, and what they drew by the end of it. */
|
|
149
|
+
export interface NewsfeedAnalyticsContentRow {
|
|
150
|
+
key: string;
|
|
151
|
+
posts: number;
|
|
152
|
+
/** Posts that drew at least one response. */
|
|
153
|
+
responded: number;
|
|
154
|
+
likes: number;
|
|
155
|
+
comments: number;
|
|
156
|
+
shares: number;
|
|
157
|
+
}
|
|
158
|
+
/** What draws a response: the posts published in the period, grouped four ways. */
|
|
159
|
+
export interface NewsfeedAnalyticsContent {
|
|
160
|
+
/** TEXT, IMAGE, GALLERY, VIDEO - zeros included. */
|
|
161
|
+
byKind: NewsfeedAnalyticsContentRow[];
|
|
162
|
+
/** SHORT (under 280 characters), MEDIUM (280 to 999), LONG (1,000 and more) - zeros included. */
|
|
163
|
+
byLength: NewsfeedAnalyticsContentRow[];
|
|
164
|
+
/** When it went out, in `range.timeZone`: NIGHT (00-06), MORNING (06-12), AFTERNOON (12-18), EVENING (18-24) - zeros included. */
|
|
165
|
+
byDaypart: NewsfeedAnalyticsContentRow[];
|
|
166
|
+
/** TITLED or UNTITLED - zeros included. */
|
|
167
|
+
byTitle: NewsfeedAnalyticsContentRow[];
|
|
168
|
+
}
|
|
169
|
+
/** One kind of event the service handed on, and how that went. */
|
|
170
|
+
export interface NewsfeedAnalyticsDeliveryType {
|
|
171
|
+
/** The event, e.g. newsfeed.post.published. */
|
|
172
|
+
type: string;
|
|
173
|
+
events: number;
|
|
174
|
+
delivered: number;
|
|
175
|
+
/** Failed and being retried, or given up on. */
|
|
176
|
+
failed: number;
|
|
177
|
+
/** Not handed on yet. */
|
|
178
|
+
waiting: number;
|
|
179
|
+
medianLagSeconds: number | null;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Behind the scenes: the events clarion-newsfeed handed to the platform about these
|
|
183
|
+
* posts in the period. A published post's event is what clarion-notification turns into
|
|
184
|
+
* the push members receive, so `announcements` is whether members were told.
|
|
185
|
+
*/
|
|
186
|
+
export interface NewsfeedAnalyticsDelivery {
|
|
187
|
+
events: number;
|
|
188
|
+
delivered: number;
|
|
189
|
+
/** Not handed on yet (pending or being sent). */
|
|
190
|
+
waiting: number;
|
|
191
|
+
/** Failed, and to be tried again. */
|
|
192
|
+
retrying: number;
|
|
193
|
+
/** Failed every attempt - nobody was told. */
|
|
194
|
+
gaveUp: number;
|
|
195
|
+
/** Delivered, but not at the first attempt. */
|
|
196
|
+
retried: number;
|
|
197
|
+
/** From the event being written to it being handed on - delivered ones. */
|
|
198
|
+
lag: NewsfeedAnalyticsDuration;
|
|
199
|
+
/** Published-post events: the push announcements. */
|
|
200
|
+
announcements: number;
|
|
201
|
+
announcementsDelivered: number;
|
|
202
|
+
byType: NewsfeedAnalyticsDeliveryType[];
|
|
203
|
+
}
|
|
204
|
+
/** One post: what it is, and how members responded - in the period, and in all by the end of it. */
|
|
205
|
+
export interface NewsfeedAnalyticsPostRow {
|
|
206
|
+
id: number;
|
|
207
|
+
organizationId: number;
|
|
208
|
+
countryCode: string;
|
|
209
|
+
/** The title, or the opening of the text when it has none. */
|
|
210
|
+
title: string;
|
|
211
|
+
hasTitle: boolean;
|
|
212
|
+
/** PUBLISHED, DRAFT or ARCHIVED. */
|
|
213
|
+
status: string;
|
|
214
|
+
deleted: boolean;
|
|
215
|
+
/** TEXT, IMAGE, GALLERY or VIDEO. */
|
|
216
|
+
kind: string;
|
|
217
|
+
images: number;
|
|
218
|
+
videos: number;
|
|
219
|
+
publishedAt: string | null;
|
|
220
|
+
/** In the period. */
|
|
221
|
+
responses: number;
|
|
222
|
+
likes: number;
|
|
223
|
+
comments: number;
|
|
224
|
+
shares: number;
|
|
225
|
+
members: number;
|
|
226
|
+
/** In all, by the end of the period. */
|
|
227
|
+
totalLikes: number;
|
|
228
|
+
totalComments: number;
|
|
229
|
+
totalShares: number;
|
|
230
|
+
/** From publishing to its first response; null when it has none. */
|
|
231
|
+
firstResponseSeconds: number | null;
|
|
232
|
+
}
|
|
233
|
+
/** One country's posts. */
|
|
234
|
+
export interface NewsfeedAnalyticsCountryRow {
|
|
235
|
+
countryCode: string;
|
|
236
|
+
published: number;
|
|
237
|
+
liveNow: number;
|
|
238
|
+
likes: number;
|
|
239
|
+
comments: number;
|
|
240
|
+
shares: number;
|
|
241
|
+
members: number;
|
|
242
|
+
}
|
|
243
|
+
/** A Super-Admin's view of every organization: one row each, busiest first. */
|
|
244
|
+
export interface NewsfeedAnalyticsOrganizationRow {
|
|
245
|
+
organizationId: number;
|
|
246
|
+
published: number;
|
|
247
|
+
liveNow: number;
|
|
248
|
+
draftsNow: number;
|
|
249
|
+
likes: number;
|
|
250
|
+
comments: number;
|
|
251
|
+
shares: number;
|
|
252
|
+
members: number;
|
|
253
|
+
postsResponded: number;
|
|
254
|
+
/** Responses per post published in the period, by the end of it. */
|
|
255
|
+
perPublishedPost: number | null;
|
|
256
|
+
lastPublishedAt: string | null;
|
|
257
|
+
}
|
|
258
|
+
/** One point on the charts: a bucket of the period. */
|
|
259
|
+
export interface NewsfeedAnalyticsPoint {
|
|
260
|
+
/** Local wall-clock start of the bucket, in `range.timeZone` (no offset). */
|
|
261
|
+
bucket: string;
|
|
262
|
+
published: number;
|
|
263
|
+
likes: number;
|
|
264
|
+
comments: number;
|
|
265
|
+
shares: number;
|
|
266
|
+
/** Likes taken back. */
|
|
267
|
+
unliked: number;
|
|
268
|
+
/** Members who responded in the bucket. */
|
|
269
|
+
members: number;
|
|
270
|
+
}
|
|
271
|
+
/** One hour of the week: the responses made in it, and the posts published in it. Weekday 1 is Monday. */
|
|
272
|
+
export interface NewsfeedAnalyticsHeatCell {
|
|
273
|
+
weekday: number;
|
|
274
|
+
hour: number;
|
|
275
|
+
responses: number;
|
|
276
|
+
published: number;
|
|
277
|
+
}
|
|
278
|
+
/** The previous period of the same length, for the change on each headline figure. */
|
|
279
|
+
export interface NewsfeedAnalyticsPrevious {
|
|
280
|
+
from: string;
|
|
281
|
+
to: string;
|
|
282
|
+
published: number;
|
|
283
|
+
likes: number;
|
|
284
|
+
unliked: number;
|
|
285
|
+
comments: number;
|
|
286
|
+
shares: number;
|
|
287
|
+
members: number;
|
|
288
|
+
newMembers: number;
|
|
289
|
+
postsResponded: number;
|
|
290
|
+
medianSecondsToFirstResponse: number | null;
|
|
291
|
+
}
|
|
292
|
+
export interface NewsfeedAnalytics {
|
|
293
|
+
/** Whose figures: one organization, or null for every organization. */
|
|
294
|
+
organizationId: number | null;
|
|
295
|
+
/** The one country the figures are narrowed to, or null for every country. */
|
|
296
|
+
countryCode: string | null;
|
|
297
|
+
range: NewsfeedAnalyticsRange;
|
|
298
|
+
generatedAt: string;
|
|
299
|
+
previous: NewsfeedAnalyticsPrevious | null;
|
|
300
|
+
/** The countries posts were written for, in scope and whatever country is chosen - for narrowing to one. */
|
|
301
|
+
countryOptions: NewsfeedAnalyticsCount[];
|
|
302
|
+
posts: NewsfeedAnalyticsPosts;
|
|
303
|
+
engagement: NewsfeedAnalyticsEngagement;
|
|
304
|
+
comments: NewsfeedAnalyticsComments;
|
|
305
|
+
shares: NewsfeedAnalyticsShares;
|
|
306
|
+
content: NewsfeedAnalyticsContent;
|
|
307
|
+
delivery: NewsfeedAnalyticsDelivery;
|
|
308
|
+
timeline: NewsfeedAnalyticsPoint[];
|
|
309
|
+
/** All 168 hours of the week, Monday first, zeros included. */
|
|
310
|
+
heatmap: NewsfeedAnalyticsHeatCell[];
|
|
311
|
+
/** Posts published in the period or responded to in it, most responses in the period first - at most 50. */
|
|
312
|
+
topPosts: NewsfeedAnalyticsPostRow[];
|
|
313
|
+
byCountry: NewsfeedAnalyticsCountryRow[];
|
|
314
|
+
/** A Super-Admin looking at every organization only. */
|
|
315
|
+
byOrganization?: NewsfeedAnalyticsOrganizationRow[];
|
|
316
|
+
}
|
|
317
|
+
/** What a dashboard asks: the period, one country - and, for a Super-Admin, whose figures. */
|
|
318
|
+
export interface NewsfeedAnalyticsQuery {
|
|
319
|
+
from?: string;
|
|
320
|
+
to?: string;
|
|
321
|
+
timeZone?: string;
|
|
322
|
+
organizationId?: number;
|
|
323
|
+
countryCode?: string;
|
|
324
|
+
}
|
|
@@ -167,6 +167,7 @@ export declare enum PermissionActions {
|
|
|
167
167
|
READ_NEWSFEED_FEED = "read:newsfeed-feed",
|
|
168
168
|
ENGAGE_NEWSFEED_POST = "engage:newsfeed-post",
|
|
169
169
|
MODERATE_NEWSFEED_COMMENT = "moderate:newsfeed-comment",
|
|
170
|
+
READ_NEWSFEED_ANALYTICS = "read:newsfeed-analytics",
|
|
170
171
|
CREATE_ALERT_INTAKE_CONNECTION = "create:alert-intake-connection",
|
|
171
172
|
READ_ALERT_INTAKE_CONNECTION = "read:alert-intake-connection",
|
|
172
173
|
UPDATE_ALERT_INTAKE_CONNECTION = "update:alert-intake-connection",
|