Skip to content

Commit ec330e8

Browse files
authored
Merge pull request #52 from WideChat/new/analytics
[NEW] Add Analytics Bridge
2 parents 176e149 + 2af2a3e commit ec330e8

41 files changed

Lines changed: 242 additions & 15 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
export interface IAnalyticsPayload {
2+
roomId: string;
3+
category: string;
4+
action: string;
5+
eventType: string;
6+
timestamp: string;
7+
properties?: Record<string, any>;
8+
tabId?: string;
9+
}
10+
/**
11+
* Provides an accessor to push data for Analytics.
12+
*/
13+
export interface IAnalytics {
14+
/**
15+
* Sends event data to server for Analytics
16+
*
17+
* @param data the analytics data for the event
18+
* @return true
19+
*/
20+
sendEvent(data: IAnalyticsPayload): Promise<boolean>;
21+
}

definition/accessors/IAnalytics.js

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

definition/accessors/IAnalytics.js.map

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

definition/accessors/IModify.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { IAnalytics } from './IAnalytics';
12
import { IModifyCreator } from './IModifyCreator';
23
import { IModifyDeleter } from './IModifyDeleter';
34
import { IModifyExtender } from './IModifyExtender';
@@ -24,4 +25,5 @@ export interface IModify {
2425
* Gets the accessor for creating scheduled jobs
2526
*/
2627
getScheduler(): ISchedulerModify;
28+
getAnalytics(): IAnalytics;
2729
}

definition/accessors/IModify.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

definition/accessors/index.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
export * from './IAnalytics';
12
export * from './IApiExtend';
23
export * from './IAppAccessors';
34
export * from './IAppInstallationContext';

definition/accessors/index.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

definition/accessors/index.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

server/accessors/Analytics.d.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import { IAnalytics, IAnalyticsPayload } from '../../definition/accessors';
2+
import { AnalyticsBridge } from '../bridges/AnalyticsBridge';
3+
export declare class Analytics implements IAnalytics {
4+
private analyticsBridge;
5+
private appId;
6+
constructor(analyticsBridge: AnalyticsBridge, appId: string);
7+
sendEvent(data: IAnalyticsPayload): Promise<boolean>;
8+
}

server/accessors/Analytics.js

Lines changed: 15 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)