@vrplatform/log 3.0.11 → 3.0.16
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/build/main/tracking/types.d.ts +33 -0
- package/build/module/tracking/types.d.ts +33 -0
- package/package.json +4 -4
- package/src/tracking/types.ts +36 -0
- package/build/main/tracking/_intercom.d.ts +0 -109
- package/build/main/tracking/_intercom.js +0 -139
- package/build/main/tracking/_intercom.js.map +0 -1
- package/build/main/tracking/eventTypes.d.ts +0 -16
- package/build/main/tracking/eventTypes.js +0 -3
- package/build/main/tracking/eventTypes.js.map +0 -1
- package/build/main/tracking/intercom.d.ts +0 -109
- package/build/main/tracking/intercom.js +0 -139
- package/build/main/tracking/intercom.js.map +0 -1
- package/build/main/tracking/test.d.ts +0 -1
- package/build/main/tracking/test.js +0 -23
- package/build/main/tracking/test.js.map +0 -1
- package/build/module/tracking/_intercom.d.ts +0 -109
- package/build/module/tracking/_intercom.js +0 -136
- package/build/module/tracking/_intercom.js.map +0 -1
- package/build/module/tracking/eventTypes.d.ts +0 -16
- package/build/module/tracking/eventTypes.js +0 -2
- package/build/module/tracking/eventTypes.js.map +0 -1
- package/build/module/tracking/intercom.d.ts +0 -109
- package/build/module/tracking/intercom.js +0 -136
- package/build/module/tracking/intercom.js.map +0 -1
- package/build/module/tracking/test.d.ts +0 -1
- package/build/module/tracking/test.js +0 -21
- package/build/module/tracking/test.js.map +0 -1
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
export class IntercomAPI {
|
|
2
|
-
constructor(token, log) {
|
|
3
|
-
this.headers = {
|
|
4
|
-
'Content-Type': 'application/json',
|
|
5
|
-
Accept: 'application/json',
|
|
6
|
-
'Intercom-Version': '2.11',
|
|
7
|
-
Authorization: `Bearer ${token}`,
|
|
8
|
-
};
|
|
9
|
-
this.log = log;
|
|
10
|
-
}
|
|
11
|
-
headers;
|
|
12
|
-
log;
|
|
13
|
-
async fetch(path, options) {
|
|
14
|
-
if (options?.data) {
|
|
15
|
-
options.body = JSON.stringify(options.data);
|
|
16
|
-
options.data = undefined;
|
|
17
|
-
}
|
|
18
|
-
try {
|
|
19
|
-
const result = await fetch(`https://api.intercom.io${path}`, {
|
|
20
|
-
method: 'GET',
|
|
21
|
-
headers: this.headers,
|
|
22
|
-
...options,
|
|
23
|
-
});
|
|
24
|
-
if (!result.ok) {
|
|
25
|
-
this.log?.info('Failed to fetch from Intercom', {
|
|
26
|
-
result: {
|
|
27
|
-
status: result.status,
|
|
28
|
-
statusText: result.statusText,
|
|
29
|
-
body: await result.text(),
|
|
30
|
-
},
|
|
31
|
-
});
|
|
32
|
-
if (result.status === 404)
|
|
33
|
-
return undefined;
|
|
34
|
-
if (result.status === 429) {
|
|
35
|
-
console.log('Intercom rate limit exceeded, waiting for 1 minute');
|
|
36
|
-
// X-RateLimit-Reset: 1487332520 => timestamp from header response when resetting
|
|
37
|
-
const reset = Number(result.headers.get('X-RateLimit-Reset'));
|
|
38
|
-
if (reset) {
|
|
39
|
-
const now = Math.floor(Date.now() / 1000);
|
|
40
|
-
const wait = reset - now + 1;
|
|
41
|
-
console.log(`Waiting for ${wait} seconds`);
|
|
42
|
-
await new Promise((resolve) => setTimeout(resolve, wait * 1000));
|
|
43
|
-
return await this.fetch(path, options);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
return result.status === 202 ? {} : (await result.json());
|
|
48
|
-
}
|
|
49
|
-
catch (error) {
|
|
50
|
-
this.log?.error(error);
|
|
51
|
-
return undefined;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
// User
|
|
55
|
-
async getUserByUserId(userId) {
|
|
56
|
-
return await this.fetch('/contacts/search', {
|
|
57
|
-
method: 'POST',
|
|
58
|
-
data: {
|
|
59
|
-
query: {
|
|
60
|
-
field: 'external_id',
|
|
61
|
-
operator: '=',
|
|
62
|
-
value: userId,
|
|
63
|
-
},
|
|
64
|
-
},
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
async createUser({ data, userId, }) {
|
|
68
|
-
return await this.fetch('/contacts', {
|
|
69
|
-
method: 'POST',
|
|
70
|
-
data: { ...data, external_id: userId },
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
async updateUser({ data, contactId, }) {
|
|
74
|
-
return await this.fetch(`/contacts/${contactId}`, {
|
|
75
|
-
method: 'PUT',
|
|
76
|
-
data,
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
async deleteUser(intercom_contact_id) {
|
|
80
|
-
return await this.fetch(`/contacts/${intercom_contact_id}`, {
|
|
81
|
-
method: 'DELETE',
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
async createCompanyUser(data) {
|
|
85
|
-
return await this.fetch(`/contacts/${data.intercom_contact_id}/companies`, {
|
|
86
|
-
method: 'POST',
|
|
87
|
-
data: {
|
|
88
|
-
id: data.intercom_company_id,
|
|
89
|
-
},
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
async deleteCompanyUser({ intercom_company_id, intercom_contact_id, }) {
|
|
93
|
-
return await this.fetch(`/contacts/${intercom_contact_id}/companies/${intercom_company_id}`, {
|
|
94
|
-
method: 'DELETE',
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
async trackEvent(data) {
|
|
98
|
-
return await this.fetch('/events', {
|
|
99
|
-
method: 'POST',
|
|
100
|
-
data: {
|
|
101
|
-
created_at: Math.floor(new Date().getTime() / 1000), // to seconds
|
|
102
|
-
...data,
|
|
103
|
-
},
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
// Company
|
|
107
|
-
async getCompanyByTenantId(tenantId) {
|
|
108
|
-
return await this.fetch(`/companies?company_id=${tenantId}`, {
|
|
109
|
-
method: 'GET',
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
async createCompany({ data, tenantId, }) {
|
|
113
|
-
return await this.fetch('/companies', {
|
|
114
|
-
method: 'POST',
|
|
115
|
-
data: {
|
|
116
|
-
...data,
|
|
117
|
-
company_id: tenantId,
|
|
118
|
-
},
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
async updateCompany({ data, companyId, }) {
|
|
122
|
-
return await this.fetch(`/companies/${companyId}`, {
|
|
123
|
-
method: 'PUT',
|
|
124
|
-
data,
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
async deleteCompany(intercom_company_id) {
|
|
128
|
-
return await this.fetch(`/companies/${intercom_company_id}`, {
|
|
129
|
-
method: 'DELETE',
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
export function useIntercom(token, log) {
|
|
134
|
-
return new IntercomAPI(token, log);
|
|
135
|
-
}
|
|
136
|
-
//# sourceMappingURL=intercom.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"intercom.js","sourceRoot":"src/","sources":["tracking/intercom.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { MixpanelClient } from './mixpanel';
|
|
2
|
-
const mixpanel = new MixpanelClient('933a19cf6d01a51a06ccdd083083f2a9');
|
|
3
|
-
mixpanel.identify('user@example.com');
|
|
4
|
-
mixpanel.group.set('tenant', '123test', {
|
|
5
|
-
$name: '123 Test!',
|
|
6
|
-
isTest: true,
|
|
7
|
-
});
|
|
8
|
-
mixpanel.people.set({
|
|
9
|
-
$email: 'user@example.com',
|
|
10
|
-
$name: 'John Doe',
|
|
11
|
-
$created: new Date().getTime() / 1000,
|
|
12
|
-
isTest: true,
|
|
13
|
-
tenant: ['123test'],
|
|
14
|
-
});
|
|
15
|
-
mixpanel.track('test_event', {
|
|
16
|
-
success: true,
|
|
17
|
-
message: 'Super Test!',
|
|
18
|
-
tenant: ['123test'],
|
|
19
|
-
});
|
|
20
|
-
mixpanel.reset();
|
|
21
|
-
//# sourceMappingURL=test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"src/","sources":["tracking/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,kCAAkC,CAAC,CAAC;AAExE,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;AAEtC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE;IACtC,KAAK,EAAE,WAAW;IAClB,MAAM,EAAE,IAAI;CACb,CAAC,CAAC;AAEH,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;IAClB,MAAM,EAAE,kBAAkB;IAC1B,KAAK,EAAE,UAAU;IACjB,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI;IACrC,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,CAAC,SAAS,CAAC;CACpB,CAAC,CAAC;AAEH,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE;IAC3B,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,aAAa;IACtB,MAAM,EAAE,CAAC,SAAS,CAAC;CACpB,CAAC,CAAC;AAEH,QAAQ,CAAC,KAAK,EAAE,CAAC"}
|