@vrplatform/log 2.0.97 → 3.0.1
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/baselog.d.ts +19 -0
- package/build/main/baselog.js +137 -0
- package/build/main/baselog.js.map +1 -0
- package/build/main/color.d.ts +54 -0
- package/build/main/color.js +371 -0
- package/build/main/color.js.map +1 -0
- package/build/main/common.d.ts +29 -0
- package/build/main/common.js +86 -0
- package/build/main/common.js.map +1 -0
- package/build/main/index.spec.d.ts +0 -0
- package/build/main/index.spec.js +2 -0
- package/build/main/index.spec.js.map +1 -0
- package/build/main/log/baselog.js +3 -0
- package/build/main/log/baselog.js.map +1 -1
- package/build/main/tracking/index.d.ts +2 -2
- package/build/main/tracking/index.js +19 -4
- package/build/main/tracking/index.js.map +1 -1
- package/build/main/tracking/types.d.ts +3 -3
- package/build/main/tsconfig.main.tsbuildinfo +1 -1
- package/build/main/type.d.ts +39 -0
- package/build/main/{tracking/eventTypes.js → type.js} +1 -1
- package/build/main/type.js.map +1 -0
- package/build/module/baselog.d.ts +19 -0
- package/build/module/baselog.js +120 -0
- package/build/module/baselog.js.map +1 -0
- package/build/module/color.d.ts +54 -0
- package/build/module/color.js +375 -0
- package/build/module/color.js.map +1 -0
- package/build/module/common.d.ts +29 -0
- package/build/module/common.js +80 -0
- package/build/module/common.js.map +1 -0
- package/build/module/index.spec.d.ts +0 -0
- package/build/module/index.spec.js +2 -0
- package/build/module/index.spec.js.map +1 -0
- package/build/module/log/baselog.js +3 -0
- package/build/module/log/baselog.js.map +1 -1
- package/build/module/tracking/index.d.ts +2 -2
- package/build/module/tracking/index.js +19 -4
- package/build/module/tracking/index.js.map +1 -1
- package/build/module/tracking/types.d.ts +3 -3
- package/build/module/tsconfig.esm.tsbuildinfo +1 -1
- package/build/module/type.d.ts +39 -0
- package/build/module/type.js +2 -0
- package/build/module/type.js.map +1 -0
- package/package.json +10 -9
- package/src/log/baselog.ts +3 -1
- package/src/tracking/index.ts +13 -5
- package/src/tracking/types.ts +11 -6
- 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.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,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
1
|
+
import type { recurringFeeType_enum } from '@vrplatform/graphql';
|
|
2
|
+
export type Maybe<T> = T | null | undefined;
|
|
3
3
|
export type TrackProps<T extends TrackingEvent> = OptionalUser<{
|
|
4
4
|
groupId: string;
|
|
5
5
|
packageName: string;
|
|
@@ -153,7 +153,7 @@ export type TenantStatus = 'active' | 'inactive';
|
|
|
153
153
|
export type SubscriptionStatus = 'active' | 'cancelled' | 'draft' | 'errored' | 'paused' | 'pending' | 'voided';
|
|
154
154
|
export type OwnerStatementStatus = 'preview' | 'draft' | 'inReview' | 'void' | 'published' | 'posted';
|
|
155
155
|
export type TaxStatementStatus = 'draft' | 'ignored' | 'inReview' | 'ready' | 'submitted' | 'error';
|
|
156
|
-
export type PaymentMethodType =
|
|
156
|
+
export type PaymentMethodType = 'card' | 'direct_debit' | 'direct_debit_ach' | 'direct_debit_bacs' | 'transfer' | 'transfer_automated' | 'external';
|
|
157
157
|
type AccountInvitationAcceptedProps = MaybePartial<{
|
|
158
158
|
userId: string;
|
|
159
159
|
userEmail: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../../src/index.ts","../../src/log/baselog.ts","../../src/log/color.ts","../../src/log/common.ts","../../src/log/index.spec.ts","../../src/log/index.ts","../../src/log/type.ts","../../src/tracking/index.ts","../../src/tracking/mixpanel.ts","../../src/tracking/types.ts","../../src/utils/convertkeystosnakecase.ts","../../src/utils/convertvaluestostring.ts","../../src/utils/index.ts","../../src/utils/istest.ts","../../src/utils/isvrpmember.ts"],"version":"5.
|
|
1
|
+
{"root":["../../src/index.ts","../../src/log/baselog.ts","../../src/log/color.ts","../../src/log/common.ts","../../src/log/index.spec.ts","../../src/log/index.ts","../../src/log/type.ts","../../src/tracking/index.ts","../../src/tracking/mixpanel.ts","../../src/tracking/types.ts","../../src/utils/convertkeystosnakecase.ts","../../src/utils/convertvaluestostring.ts","../../src/utils/index.ts","../../src/utils/istest.ts","../../src/utils/isvrpmember.ts"],"version":"5.9.2"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export type LogFn = (message: any, additionalContext?: Record<string, any>) => void;
|
|
2
|
+
export type LogFns = {
|
|
3
|
+
error: LogFn;
|
|
4
|
+
info: LogFn;
|
|
5
|
+
debug: LogFn;
|
|
6
|
+
warn: LogFn;
|
|
7
|
+
};
|
|
8
|
+
export type Log = LogFns & {
|
|
9
|
+
child: (data: ChildLogOptions) => Log;
|
|
10
|
+
addContext: (data: Record<string, any>) => void;
|
|
11
|
+
};
|
|
12
|
+
export type ChildLogOptions = {
|
|
13
|
+
correlationId?: string;
|
|
14
|
+
name?: string;
|
|
15
|
+
request?: any;
|
|
16
|
+
context?: Record<string, any>;
|
|
17
|
+
};
|
|
18
|
+
type Res = Response | {
|
|
19
|
+
status: number;
|
|
20
|
+
statusText?: string;
|
|
21
|
+
headers?: Record<string, string>;
|
|
22
|
+
body?: any;
|
|
23
|
+
response?: Response;
|
|
24
|
+
};
|
|
25
|
+
export type BaseLog = Log & {
|
|
26
|
+
flush(): Promise<void> | void;
|
|
27
|
+
};
|
|
28
|
+
export type WorkerLog = BaseLog & {
|
|
29
|
+
respond(response: Res | Promise<Res> | (() => Res | Promise<Res>)): Promise<Response>;
|
|
30
|
+
};
|
|
31
|
+
export type RequestLike = {
|
|
32
|
+
headers: {
|
|
33
|
+
get: (key: string) => string | null;
|
|
34
|
+
};
|
|
35
|
+
method: string;
|
|
36
|
+
url: string;
|
|
37
|
+
json: () => Promise<any>;
|
|
38
|
+
};
|
|
39
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type.js","sourceRoot":"src/","sources":["type.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vrplatform/log",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.1",
|
|
4
4
|
"main": "build/main/index.js",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -17,16 +17,17 @@
|
|
|
17
17
|
"LICENSE"
|
|
18
18
|
],
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@axiomhq/js": "1.3.
|
|
21
|
-
"
|
|
22
|
-
"intercom-client": "6.0.0-beta.3",
|
|
23
|
-
"serialize-error": "11.0.3"
|
|
20
|
+
"@axiomhq/js": "1.3.1",
|
|
21
|
+
"intercom-client": "6.0.0-beta.3"
|
|
24
22
|
},
|
|
25
23
|
"devDependencies": {
|
|
26
|
-
"@
|
|
27
|
-
"@biomejs/biome": "^
|
|
28
|
-
"@types/bun": "^1.
|
|
29
|
-
"typescript": "5.
|
|
24
|
+
"@vrplatform/graphql": "^1.1.3",
|
|
25
|
+
"@biomejs/biome": "^2.2.4",
|
|
26
|
+
"@types/bun": "^1.2.22",
|
|
27
|
+
"typescript": "5.9.2"
|
|
28
|
+
},
|
|
29
|
+
"peerDependencies": {
|
|
30
|
+
"@vrplatform/graphql": "*"
|
|
30
31
|
},
|
|
31
32
|
"trustedDependencies": [
|
|
32
33
|
"@biomejs/biome"
|
package/src/log/baselog.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Axiom } from '@axiomhq/js';
|
|
2
|
-
import { serializeError } from 'serialize-error';
|
|
3
2
|
import { logger } from './color';
|
|
4
3
|
import { getCorrelationId, requestToContext } from './common';
|
|
5
4
|
import type {
|
|
@@ -186,6 +185,9 @@ export function createBaseLog(
|
|
|
186
185
|
context: { ...childContext, ...context },
|
|
187
186
|
}),
|
|
188
187
|
error: (message, error, data) => {
|
|
188
|
+
if (message instanceof Error) {
|
|
189
|
+
return baseLog('error', message.message, error as any, message);
|
|
190
|
+
}
|
|
189
191
|
const m =
|
|
190
192
|
typeof message === 'string'
|
|
191
193
|
? message
|
package/src/tracking/index.ts
CHANGED
|
@@ -100,20 +100,20 @@ declare module 'intercom-client' {
|
|
|
100
100
|
|
|
101
101
|
import { useHasuraClient } from '@finalytic/graphql';
|
|
102
102
|
import { Intercom } from 'intercom-client';
|
|
103
|
-
import { type LogBindings, type WorkerLog
|
|
103
|
+
import { type LogBindings, useLog, type WorkerLog } from '../log';
|
|
104
104
|
import { isTest, isVrpMember } from '../utils';
|
|
105
105
|
import { convertValuesToString } from '../utils/convertValuesToString';
|
|
106
106
|
import { MixpanelClient } from './mixpanel';
|
|
107
107
|
import type {
|
|
108
108
|
GroupProps,
|
|
109
109
|
IdentifyProps,
|
|
110
|
-
TrackProps,
|
|
111
110
|
TrackingEvent,
|
|
111
|
+
TrackProps,
|
|
112
112
|
} from './types';
|
|
113
113
|
|
|
114
|
-
export * from './types';
|
|
115
114
|
export * from 'intercom-client';
|
|
116
115
|
export * from '../utils';
|
|
116
|
+
export * from './types';
|
|
117
117
|
|
|
118
118
|
export type Tracking = ReturnType<typeof useTracking>;
|
|
119
119
|
export type UseTracking = {
|
|
@@ -193,7 +193,8 @@ export const useTracking = (
|
|
|
193
193
|
tenantId: groupId,
|
|
194
194
|
userId: userId,
|
|
195
195
|
props: properties,
|
|
196
|
-
|
|
196
|
+
// TODO: @philipp check
|
|
197
|
+
// trackedAt: timestamp ? timestamp.toISOString() : undefined,
|
|
197
198
|
packageName,
|
|
198
199
|
},
|
|
199
200
|
}).id
|
|
@@ -247,7 +248,7 @@ export const useTracking = (
|
|
|
247
248
|
const _lastSeenAt = traits?.lastSeenAt
|
|
248
249
|
? Math.floor(new Date(traits.lastSeenAt).getTime() / 1000)
|
|
249
250
|
: traits?.lastSeenAt !== null
|
|
250
|
-
? Math.floor(
|
|
251
|
+
? Math.floor(Date.now() / 1000)
|
|
251
252
|
: undefined;
|
|
252
253
|
|
|
253
254
|
// upsert mixpanel user
|
|
@@ -255,12 +256,19 @@ export const useTracking = (
|
|
|
255
256
|
mixpanel.identify(userId);
|
|
256
257
|
|
|
257
258
|
const {
|
|
259
|
+
// biome-ignore lint/correctness/noUnusedVariables: <explanation>
|
|
258
260
|
firstName,
|
|
261
|
+
// biome-ignore lint/correctness/noUnusedVariables: <explanation>
|
|
259
262
|
lastName,
|
|
263
|
+
// biome-ignore lint/correctness/noUnusedVariables: <explanation>
|
|
260
264
|
name,
|
|
265
|
+
// biome-ignore lint/correctness/noUnusedVariables: <explanation>
|
|
261
266
|
email,
|
|
267
|
+
// biome-ignore lint/correctness/noUnusedVariables: <explanation>
|
|
262
268
|
avatar,
|
|
269
|
+
// biome-ignore lint/correctness/noUnusedVariables: <explanation>
|
|
263
270
|
lastSeenAt,
|
|
271
|
+
// biome-ignore lint/correctness/noUnusedVariables: <explanation>
|
|
264
272
|
createdAt,
|
|
265
273
|
...rest
|
|
266
274
|
} = traits || {};
|
package/src/tracking/types.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
} from '@finalytic/graphql';
|
|
5
|
-
import type { Maybe } from '@finalytic/utils';
|
|
1
|
+
import type { recurringFeeType_enum } from '@vrplatform/graphql';
|
|
2
|
+
|
|
3
|
+
export type Maybe<T> = T | null | undefined;
|
|
6
4
|
|
|
7
5
|
export type TrackProps<T extends TrackingEvent> = OptionalUser<{
|
|
8
6
|
groupId: string;
|
|
@@ -222,7 +220,14 @@ export type TaxStatementStatus =
|
|
|
222
220
|
| 'ready'
|
|
223
221
|
| 'submitted'
|
|
224
222
|
| 'error';
|
|
225
|
-
export type PaymentMethodType =
|
|
223
|
+
export type PaymentMethodType =
|
|
224
|
+
| 'card'
|
|
225
|
+
| 'direct_debit'
|
|
226
|
+
| 'direct_debit_ach'
|
|
227
|
+
| 'direct_debit_bacs'
|
|
228
|
+
| 'transfer'
|
|
229
|
+
| 'transfer_automated'
|
|
230
|
+
| 'external';
|
|
226
231
|
|
|
227
232
|
// Signup/Onboarding Funnel
|
|
228
233
|
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import type { Log } from '../log';
|
|
2
|
-
export declare class IntercomAPI {
|
|
3
|
-
constructor(token: string, log?: Log);
|
|
4
|
-
private headers;
|
|
5
|
-
private log?;
|
|
6
|
-
private fetch;
|
|
7
|
-
getUserByUserId(userId: string): Promise<{
|
|
8
|
-
type: "list";
|
|
9
|
-
data: {
|
|
10
|
-
id: string;
|
|
11
|
-
}[] | undefined;
|
|
12
|
-
total_count: 0;
|
|
13
|
-
pages: {
|
|
14
|
-
type: "pages";
|
|
15
|
-
page: 1;
|
|
16
|
-
per_page: 10;
|
|
17
|
-
total_pages: 0;
|
|
18
|
-
};
|
|
19
|
-
} | undefined>;
|
|
20
|
-
createUser({ data, userId, }: {
|
|
21
|
-
userId: string;
|
|
22
|
-
data: {
|
|
23
|
-
email: string;
|
|
24
|
-
name: string;
|
|
25
|
-
custom_attributes: Record<string, any>;
|
|
26
|
-
};
|
|
27
|
-
}): Promise<unknown>;
|
|
28
|
-
updateUser({ data, contactId, }: {
|
|
29
|
-
contactId: string;
|
|
30
|
-
data: {
|
|
31
|
-
email?: string;
|
|
32
|
-
name?: string;
|
|
33
|
-
custom_attributes: Record<string, any>;
|
|
34
|
-
[key: string]: any;
|
|
35
|
-
};
|
|
36
|
-
}): Promise<unknown>;
|
|
37
|
-
deleteUser(intercom_contact_id: string): Promise<{
|
|
38
|
-
id: "6657adf56abd0167d9419d1c";
|
|
39
|
-
external_id: "70";
|
|
40
|
-
type: "contact";
|
|
41
|
-
deleted: true;
|
|
42
|
-
} | undefined>;
|
|
43
|
-
createCompanyUser(data: {
|
|
44
|
-
intercom_contact_id: string;
|
|
45
|
-
intercom_company_id: string;
|
|
46
|
-
}): Promise<unknown>;
|
|
47
|
-
deleteCompanyUser({ intercom_company_id, intercom_contact_id, }: {
|
|
48
|
-
intercom_contact_id: string;
|
|
49
|
-
intercom_company_id: string;
|
|
50
|
-
}): Promise<{
|
|
51
|
-
id: "6657adc96abd0167d9419ca7";
|
|
52
|
-
} | undefined>;
|
|
53
|
-
trackEvent(data: {
|
|
54
|
-
user_id: string;
|
|
55
|
-
event_name: string;
|
|
56
|
-
metadata: Record<string, any>;
|
|
57
|
-
}): Promise<unknown>;
|
|
58
|
-
getCompanyByTenantId(tenantId: string): Promise<{
|
|
59
|
-
type: "list";
|
|
60
|
-
data: [{
|
|
61
|
-
type: "company";
|
|
62
|
-
company_id: "remote_companies_scroll_2";
|
|
63
|
-
id: "664df5436abd01f7945e1a78";
|
|
64
|
-
app_id: "this_is_an_id111_that_should_be_at_least_";
|
|
65
|
-
name: "IntercomQATest1";
|
|
66
|
-
remote_created_at: 1716385091;
|
|
67
|
-
created_at: 1716385091;
|
|
68
|
-
updated_at: 1716385091;
|
|
69
|
-
monthly_spend: 0;
|
|
70
|
-
session_count: 0;
|
|
71
|
-
user_count: 4;
|
|
72
|
-
tags: {
|
|
73
|
-
type: "tag.list";
|
|
74
|
-
tags: [];
|
|
75
|
-
};
|
|
76
|
-
segments: {
|
|
77
|
-
type: "segment.list";
|
|
78
|
-
segments: [];
|
|
79
|
-
};
|
|
80
|
-
custom_attributes: Record<string, string>;
|
|
81
|
-
}] | undefined;
|
|
82
|
-
pages: {
|
|
83
|
-
type: "pages";
|
|
84
|
-
next: null;
|
|
85
|
-
page: 1;
|
|
86
|
-
per_page: 15;
|
|
87
|
-
total_pages: 1;
|
|
88
|
-
};
|
|
89
|
-
total_count: 1;
|
|
90
|
-
} | undefined>;
|
|
91
|
-
createCompany({ data, tenantId, }: {
|
|
92
|
-
tenantId: string;
|
|
93
|
-
data: {
|
|
94
|
-
name: string;
|
|
95
|
-
remote_created_at: number;
|
|
96
|
-
custom_attributes: Record<string, any>;
|
|
97
|
-
};
|
|
98
|
-
}): Promise<unknown>;
|
|
99
|
-
updateCompany({ data, companyId, }: {
|
|
100
|
-
companyId: string;
|
|
101
|
-
data: Record<string, any>;
|
|
102
|
-
}): Promise<unknown>;
|
|
103
|
-
deleteCompany(intercom_company_id: string): Promise<{
|
|
104
|
-
id: "6657adc96abd0167d9419ca7";
|
|
105
|
-
object: "company";
|
|
106
|
-
deleted: true;
|
|
107
|
-
} | undefined>;
|
|
108
|
-
}
|
|
109
|
-
export declare function useIntercom(token: string, log?: Log): IntercomAPI;
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.IntercomAPI = void 0;
|
|
4
|
-
exports.useIntercom = useIntercom;
|
|
5
|
-
class IntercomAPI {
|
|
6
|
-
constructor(token, log) {
|
|
7
|
-
this.headers = {
|
|
8
|
-
'Content-Type': 'application/json',
|
|
9
|
-
Accept: 'application/json',
|
|
10
|
-
'Intercom-Version': '2.11',
|
|
11
|
-
Authorization: `Bearer ${token}`,
|
|
12
|
-
};
|
|
13
|
-
this.log = log;
|
|
14
|
-
}
|
|
15
|
-
async fetch(path, options) {
|
|
16
|
-
if (options?.data) {
|
|
17
|
-
options.body = JSON.stringify(options.data);
|
|
18
|
-
options.data = undefined;
|
|
19
|
-
}
|
|
20
|
-
try {
|
|
21
|
-
const result = await fetch(`https://api.intercom.io${path}`, {
|
|
22
|
-
method: 'GET',
|
|
23
|
-
headers: this.headers,
|
|
24
|
-
...options,
|
|
25
|
-
});
|
|
26
|
-
if (!result.ok) {
|
|
27
|
-
this.log?.info('Failed to fetch from Intercom', {
|
|
28
|
-
result: {
|
|
29
|
-
status: result.status,
|
|
30
|
-
statusText: result.statusText,
|
|
31
|
-
body: await result.text(),
|
|
32
|
-
},
|
|
33
|
-
});
|
|
34
|
-
if (result.status === 404)
|
|
35
|
-
return undefined;
|
|
36
|
-
if (result.status === 429) {
|
|
37
|
-
console.log('Intercom rate limit exceeded, waiting for 1 minute');
|
|
38
|
-
// X-RateLimit-Reset: 1487332520 => timestamp from header response when resetting
|
|
39
|
-
const reset = Number(result.headers.get('X-RateLimit-Reset'));
|
|
40
|
-
if (reset) {
|
|
41
|
-
const now = Math.floor(Date.now() / 1000);
|
|
42
|
-
const wait = reset - now + 1;
|
|
43
|
-
console.log(`Waiting for ${wait} seconds`);
|
|
44
|
-
await new Promise((resolve) => setTimeout(resolve, wait * 1000));
|
|
45
|
-
return await this.fetch(path, options);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
return result.status === 202 ? {} : (await result.json());
|
|
50
|
-
}
|
|
51
|
-
catch (error) {
|
|
52
|
-
this.log?.error(error);
|
|
53
|
-
return undefined;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
// User
|
|
57
|
-
async getUserByUserId(userId) {
|
|
58
|
-
return await this.fetch('/contacts/search', {
|
|
59
|
-
method: 'POST',
|
|
60
|
-
data: {
|
|
61
|
-
query: {
|
|
62
|
-
field: 'external_id',
|
|
63
|
-
operator: '=',
|
|
64
|
-
value: userId,
|
|
65
|
-
},
|
|
66
|
-
},
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
async createUser({ data, userId, }) {
|
|
70
|
-
return await this.fetch('/contacts', {
|
|
71
|
-
method: 'POST',
|
|
72
|
-
data: { ...data, external_id: userId },
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
async updateUser({ data, contactId, }) {
|
|
76
|
-
return await this.fetch(`/contacts/${contactId}`, {
|
|
77
|
-
method: 'PUT',
|
|
78
|
-
data,
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
async deleteUser(intercom_contact_id) {
|
|
82
|
-
return await this.fetch(`/contacts/${intercom_contact_id}`, {
|
|
83
|
-
method: 'DELETE',
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
async createCompanyUser(data) {
|
|
87
|
-
return await this.fetch(`/contacts/${data.intercom_contact_id}/companies`, {
|
|
88
|
-
method: 'POST',
|
|
89
|
-
data: {
|
|
90
|
-
id: data.intercom_company_id,
|
|
91
|
-
},
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
async deleteCompanyUser({ intercom_company_id, intercom_contact_id, }) {
|
|
95
|
-
return await this.fetch(`/contacts/${intercom_contact_id}/companies/${intercom_company_id}`, {
|
|
96
|
-
method: 'DELETE',
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
async trackEvent(data) {
|
|
100
|
-
return await this.fetch('/events', {
|
|
101
|
-
method: 'POST',
|
|
102
|
-
data: {
|
|
103
|
-
created_at: Math.floor(new Date().getTime() / 1000), // to seconds
|
|
104
|
-
...data,
|
|
105
|
-
},
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
// Company
|
|
109
|
-
async getCompanyByTenantId(tenantId) {
|
|
110
|
-
return await this.fetch(`/companies?company_id=${tenantId}`, {
|
|
111
|
-
method: 'GET',
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
async createCompany({ data, tenantId, }) {
|
|
115
|
-
return await this.fetch('/companies', {
|
|
116
|
-
method: 'POST',
|
|
117
|
-
data: {
|
|
118
|
-
...data,
|
|
119
|
-
company_id: tenantId,
|
|
120
|
-
},
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
async updateCompany({ data, companyId, }) {
|
|
124
|
-
return await this.fetch(`/companies/${companyId}`, {
|
|
125
|
-
method: 'PUT',
|
|
126
|
-
data,
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
async deleteCompany(intercom_company_id) {
|
|
130
|
-
return await this.fetch(`/companies/${intercom_company_id}`, {
|
|
131
|
-
method: 'DELETE',
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
exports.IntercomAPI = IntercomAPI;
|
|
136
|
-
function useIntercom(token, log) {
|
|
137
|
-
return new IntercomAPI(token, log);
|
|
138
|
-
}
|
|
139
|
-
//# 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,16 +0,0 @@
|
|
|
1
|
-
type AuthEvent = 'account_signin_completed' | 'account_signup_code_requested' | 'account_signup_code_completed' | 'account_signup_code_failed' | 'account_signup_completed' | 'account_password_reset_requested' | 'account_password_reset_failed' | 'account_password_reset_completed' | 'account_invitation_accepted' | 'account_signed_out';
|
|
2
|
-
type TeamEvent = 'team_added' | 'team_info_updated' | 'team_deleted' | 'team_member_removed';
|
|
3
|
-
type ConnectionEvent = 'connection_created' | 'connection_reconnected' | 'connection_deleted' | 'connection_requested';
|
|
4
|
-
type OwnershipEvent = 'ownership_created' | 'ownership_updated' | 'ownership_deleted';
|
|
5
|
-
type OwnerEvent = 'owner_created' | 'owner_updated' | 'owner_deleted' | 'owner_tax_info_modal_opened' | 'owner_tax_info_modal_submitted';
|
|
6
|
-
type SetupEvent = 'setup_classes_set' | 'setup_accounting_version_completed' | 'setup_accounting_config_completed' | 'setup_owner_imported' | 'setup_listing_imported';
|
|
7
|
-
type AutomationEvent = 'automation_created' | 'automation_updated' | 'automation_deleted';
|
|
8
|
-
type TaxStatementEvent = 'tax_statement_preview_opened' | 'tax_statement_downloaded';
|
|
9
|
-
type GLOwnerStatementEvent = 'gl_owner_statement_preview_opened' | 'gl_owner_statement_downloaded';
|
|
10
|
-
type HyperlineEvent = 'hyperline_invoice_ready' | 'hyperline_invoice_settled' | 'hyperline_trial_started' | 'hyperline_trial_ended' | 'hyperline_subscription_activated' | 'hyperline_subscription_cancelled' | 'hyperline_subscription_created' | 'hyperline_subscription_errored' | 'hyperline_subscription_paused' | 'hyperline_subscription_voided' | 'hyperline_subscription_charged' | 'hyperline_customer_created' | 'hyperline_customer_updated' | 'hyperline_payment_method_created' | 'hyperline_payment_method_errored' | 'hyperline_payment_method_deleted';
|
|
11
|
-
type ListingEvent = 'listing_activated' | 'listing_deactivated';
|
|
12
|
-
type ReportEvent = 'listings_reported';
|
|
13
|
-
type UserEvent = 'update_refresh_accepted' | 'owner_statement_opened';
|
|
14
|
-
type TestEvent = 'test_event' | 'test_error';
|
|
15
|
-
export type TrackingEvent = AuthEvent | TeamEvent | ConnectionEvent | OwnershipEvent | OwnerEvent | SetupEvent | AutomationEvent | TaxStatementEvent | GLOwnerStatementEvent | HyperlineEvent | UserEvent | ListingEvent | ReportEvent | TestEvent;
|
|
16
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"eventTypes.js","sourceRoot":"src/","sources":["tracking/eventTypes.ts"],"names":[],"mappings":""}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import type { Log } from '../log';
|
|
2
|
-
export declare class IntercomAPI {
|
|
3
|
-
constructor(token: string, log?: Log);
|
|
4
|
-
private headers;
|
|
5
|
-
private log?;
|
|
6
|
-
private fetch;
|
|
7
|
-
getUserByUserId(userId: string): Promise<{
|
|
8
|
-
type: "list";
|
|
9
|
-
data: {
|
|
10
|
-
id: string;
|
|
11
|
-
}[] | undefined;
|
|
12
|
-
total_count: 0;
|
|
13
|
-
pages: {
|
|
14
|
-
type: "pages";
|
|
15
|
-
page: 1;
|
|
16
|
-
per_page: 10;
|
|
17
|
-
total_pages: 0;
|
|
18
|
-
};
|
|
19
|
-
} | undefined>;
|
|
20
|
-
createUser({ data, userId, }: {
|
|
21
|
-
userId: string;
|
|
22
|
-
data: {
|
|
23
|
-
email: string;
|
|
24
|
-
name: string;
|
|
25
|
-
custom_attributes: Record<string, any>;
|
|
26
|
-
};
|
|
27
|
-
}): Promise<unknown>;
|
|
28
|
-
updateUser({ data, contactId, }: {
|
|
29
|
-
contactId: string;
|
|
30
|
-
data: {
|
|
31
|
-
email?: string;
|
|
32
|
-
name?: string;
|
|
33
|
-
custom_attributes: Record<string, any>;
|
|
34
|
-
[key: string]: any;
|
|
35
|
-
};
|
|
36
|
-
}): Promise<unknown>;
|
|
37
|
-
deleteUser(intercom_contact_id: string): Promise<{
|
|
38
|
-
id: "6657adf56abd0167d9419d1c";
|
|
39
|
-
external_id: "70";
|
|
40
|
-
type: "contact";
|
|
41
|
-
deleted: true;
|
|
42
|
-
} | undefined>;
|
|
43
|
-
createCompanyUser(data: {
|
|
44
|
-
intercom_contact_id: string;
|
|
45
|
-
intercom_company_id: string;
|
|
46
|
-
}): Promise<unknown>;
|
|
47
|
-
deleteCompanyUser({ intercom_company_id, intercom_contact_id, }: {
|
|
48
|
-
intercom_contact_id: string;
|
|
49
|
-
intercom_company_id: string;
|
|
50
|
-
}): Promise<{
|
|
51
|
-
id: "6657adc96abd0167d9419ca7";
|
|
52
|
-
} | undefined>;
|
|
53
|
-
trackEvent(data: {
|
|
54
|
-
user_id: string;
|
|
55
|
-
event_name: string;
|
|
56
|
-
metadata: Record<string, any>;
|
|
57
|
-
}): Promise<unknown>;
|
|
58
|
-
getCompanyByTenantId(tenantId: string): Promise<{
|
|
59
|
-
type: "list";
|
|
60
|
-
data: [{
|
|
61
|
-
type: "company";
|
|
62
|
-
company_id: "remote_companies_scroll_2";
|
|
63
|
-
id: "664df5436abd01f7945e1a78";
|
|
64
|
-
app_id: "this_is_an_id111_that_should_be_at_least_";
|
|
65
|
-
name: "IntercomQATest1";
|
|
66
|
-
remote_created_at: 1716385091;
|
|
67
|
-
created_at: 1716385091;
|
|
68
|
-
updated_at: 1716385091;
|
|
69
|
-
monthly_spend: 0;
|
|
70
|
-
session_count: 0;
|
|
71
|
-
user_count: 4;
|
|
72
|
-
tags: {
|
|
73
|
-
type: "tag.list";
|
|
74
|
-
tags: [];
|
|
75
|
-
};
|
|
76
|
-
segments: {
|
|
77
|
-
type: "segment.list";
|
|
78
|
-
segments: [];
|
|
79
|
-
};
|
|
80
|
-
custom_attributes: Record<string, string>;
|
|
81
|
-
}] | undefined;
|
|
82
|
-
pages: {
|
|
83
|
-
type: "pages";
|
|
84
|
-
next: null;
|
|
85
|
-
page: 1;
|
|
86
|
-
per_page: 15;
|
|
87
|
-
total_pages: 1;
|
|
88
|
-
};
|
|
89
|
-
total_count: 1;
|
|
90
|
-
} | undefined>;
|
|
91
|
-
createCompany({ data, tenantId, }: {
|
|
92
|
-
tenantId: string;
|
|
93
|
-
data: {
|
|
94
|
-
name: string;
|
|
95
|
-
remote_created_at: number;
|
|
96
|
-
custom_attributes: Record<string, any>;
|
|
97
|
-
};
|
|
98
|
-
}): Promise<unknown>;
|
|
99
|
-
updateCompany({ data, companyId, }: {
|
|
100
|
-
companyId: string;
|
|
101
|
-
data: Record<string, any>;
|
|
102
|
-
}): Promise<unknown>;
|
|
103
|
-
deleteCompany(intercom_company_id: string): Promise<{
|
|
104
|
-
id: "6657adc96abd0167d9419ca7";
|
|
105
|
-
object: "company";
|
|
106
|
-
deleted: true;
|
|
107
|
-
} | undefined>;
|
|
108
|
-
}
|
|
109
|
-
export declare function useIntercom(token: string, log?: Log): IntercomAPI;
|