@activepieces/piece-google-contacts 0.2.2 → 0.3.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.
- package/package.json +7 -8
- package/src/index.d.ts +2 -1
- package/src/index.js +12 -2
- package/src/index.js.map +1 -1
- package/src/lib/action/create-contact.d.ts +9 -1
- package/src/lib/action/create-contact.js +3 -2
- package/src/lib/action/create-contact.js.map +1 -1
- package/src/lib/common/index.d.ts +0 -1
- package/src/lib/common/index.js +0 -9
- package/src/lib/common/index.js.map +1 -1
- package/src/lib/trigger/new-contact.d.ts +2 -1
- package/src/lib/trigger/new-contact.js +53 -27
- package/src/lib/trigger/new-contact.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@activepieces/piece-google-contacts",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"dependencies": {
|
|
5
|
-
"@sinclair/typebox": "0.26.
|
|
5
|
+
"@sinclair/typebox": "^0.26.3",
|
|
6
6
|
"axios": "1.2.4",
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"@activepieces/pieces-framework": "0.
|
|
10
|
-
"@activepieces/shared": "0.
|
|
11
|
-
"
|
|
12
|
-
"tslib": "2.5.3"
|
|
7
|
+
"nanoid": "^3.3.4",
|
|
8
|
+
"@activepieces/pieces-common": "0.1.0",
|
|
9
|
+
"@activepieces/pieces-framework": "0.4.0",
|
|
10
|
+
"@activepieces/shared": "0.4.0",
|
|
11
|
+
"tslib": "1.14.1"
|
|
13
12
|
},
|
|
14
13
|
"main": "./src/index.js",
|
|
15
14
|
"types": "./src/index.d.ts"
|
package/src/index.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export declare const
|
|
1
|
+
export declare const googleContactsAuth: import("@activepieces/pieces-framework").OAuth2Property<true, import("@activepieces/pieces-framework").OAuth2Props>;
|
|
2
|
+
export declare const googleContacts: import("@activepieces/pieces-framework").Piece<import("@activepieces/pieces-framework").OAuth2Property<true, import("@activepieces/pieces-framework").OAuth2Props>>;
|
package/src/index.js
CHANGED
|
@@ -1,14 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.googleContacts = void 0;
|
|
3
|
+
exports.googleContacts = exports.googleContactsAuth = void 0;
|
|
4
4
|
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
5
5
|
const create_contact_1 = require("./lib/action/create-contact");
|
|
6
6
|
const new_contact_1 = require("./lib/trigger/new-contact");
|
|
7
|
+
exports.googleContactsAuth = pieces_framework_1.PieceAuth.OAuth2({
|
|
8
|
+
description: "",
|
|
9
|
+
displayName: 'Authentication',
|
|
10
|
+
authUrl: "https://accounts.google.com/o/oauth2/auth",
|
|
11
|
+
tokenUrl: "https://oauth2.googleapis.com/token",
|
|
12
|
+
required: true,
|
|
13
|
+
scope: ["https://www.googleapis.com/auth/contacts"]
|
|
14
|
+
});
|
|
7
15
|
exports.googleContacts = (0, pieces_framework_1.createPiece)({
|
|
16
|
+
minimumSupportedRelease: '0.5.0',
|
|
8
17
|
logoUrl: 'https://cdn.activepieces.com/pieces/google-contacts.png',
|
|
9
18
|
actions: [create_contact_1.googleContactsAddContactAction],
|
|
10
19
|
displayName: "Google Contacts",
|
|
11
|
-
authors: ['abuaboud'],
|
|
20
|
+
authors: ['abuaboud', 'abdallah-alwarawreh'],
|
|
12
21
|
triggers: [new_contact_1.googleContactNewOrUpdatedContact],
|
|
22
|
+
auth: exports.googleContactsAuth,
|
|
13
23
|
});
|
|
14
24
|
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/pieces/google-contacts/src/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/pieces/google-contacts/src/index.ts"],"names":[],"mappings":";;;AAAA,qEAAwE;AACxE,gEAA6E;AAC7E,2DAA6E;AAEhE,QAAA,kBAAkB,GAAG,4BAAS,CAAC,MAAM,CAAC;IAC/C,WAAW,EAAE,EAAE;IACf,WAAW,EAAE,gBAAgB;IAC7B,OAAO,EAAE,2CAA2C;IACpD,QAAQ,EAAE,qCAAqC;IAC/C,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE,CAAC,0CAA0C,CAAC;CACtD,CAAC,CAAA;AAEW,QAAA,cAAc,GAAG,IAAA,8BAAW,EAAC;IACrC,uBAAuB,EAAE,OAAO;IACjC,OAAO,EAAE,yDAAyD;IACrE,OAAO,EAAE,CAAC,+CAA8B,CAAC;IACzC,WAAW,EAAE,iBAAiB;IAC9B,OAAO,EAAE,CAAC,UAAU,EAAE,qBAAqB,CAAC;IAC5C,QAAQ,EAAE,CAAC,8CAAgC,CAAC;IACzC,IAAI,EAAE,0BAAkB;CAC3B,CAAC,CAAC"}
|
|
@@ -1 +1,9 @@
|
|
|
1
|
-
export declare const googleContactsAddContactAction: import("@activepieces/pieces-framework").
|
|
1
|
+
export declare const googleContactsAddContactAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").OAuth2Property<true, import("@activepieces/pieces-framework").OAuth2Props>, {
|
|
2
|
+
firstName: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
3
|
+
middleName: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
4
|
+
lastName: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
5
|
+
jobTitle: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
6
|
+
company: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
7
|
+
email: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
8
|
+
phoneNumber: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
9
|
+
}>;
|
|
@@ -5,12 +5,13 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
6
6
|
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
7
7
|
const common_1 = require("../common");
|
|
8
|
+
const __1 = require("../../");
|
|
8
9
|
exports.googleContactsAddContactAction = (0, pieces_framework_1.createAction)({
|
|
10
|
+
auth: __1.googleContactsAuth,
|
|
9
11
|
name: 'add_contact',
|
|
10
12
|
description: 'Add a contact to a Google Contacts account',
|
|
11
13
|
displayName: 'Add Contact',
|
|
12
14
|
props: {
|
|
13
|
-
authentication: common_1.googleContactsCommon.authentication,
|
|
14
15
|
firstName: pieces_framework_1.Property.ShortText({
|
|
15
16
|
displayName: 'First Name',
|
|
16
17
|
description: 'The first name of the contact',
|
|
@@ -75,7 +76,7 @@ exports.googleContactsAddContactAction = (0, pieces_framework_1.createAction)({
|
|
|
75
76
|
body: requestBody,
|
|
76
77
|
authentication: {
|
|
77
78
|
type: pieces_common_1.AuthenticationType.BEARER_TOKEN,
|
|
78
|
-
token: context.
|
|
79
|
+
token: context.auth.access_token,
|
|
79
80
|
}
|
|
80
81
|
};
|
|
81
82
|
return (yield pieces_common_1.httpClient.sendRequest(request)).body;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-contact.js","sourceRoot":"","sources":["../../../../../../../packages/pieces/google-contacts/src/lib/action/create-contact.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,+DAAsG;AACtG,sCAAiD;
|
|
1
|
+
{"version":3,"file":"create-contact.js","sourceRoot":"","sources":["../../../../../../../packages/pieces/google-contacts/src/lib/action/create-contact.ts"],"names":[],"mappings":"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"}
|
package/src/lib/common/index.js
CHANGED
|
@@ -1,16 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.googleContactsCommon = void 0;
|
|
4
|
-
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
5
4
|
exports.googleContactsCommon = {
|
|
6
|
-
authentication: pieces_framework_1.Property.OAuth2({
|
|
7
|
-
description: "",
|
|
8
|
-
displayName: 'Authentication',
|
|
9
|
-
authUrl: "https://accounts.google.com/o/oauth2/auth",
|
|
10
|
-
tokenUrl: "https://oauth2.googleapis.com/token",
|
|
11
|
-
required: true,
|
|
12
|
-
scope: ["https://www.googleapis.com/auth/contacts"]
|
|
13
|
-
}),
|
|
14
5
|
baseUrl: `https://people.googleapis.com/v1/people`
|
|
15
6
|
};
|
|
16
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/pieces/google-contacts/src/lib/common/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/pieces/google-contacts/src/lib/common/index.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG;IAChC,OAAO,EAAE,yCAAyC;CACrD,CAAA"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { TriggerStrategy } from '@activepieces/pieces-framework';
|
|
2
|
+
export declare const googleContactNewOrUpdatedContact: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").OAuth2Property<true, import("@activepieces/pieces-framework").OAuth2Props>, {}>;
|
|
@@ -5,13 +5,40 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
6
6
|
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
7
7
|
const common_1 = require("../common");
|
|
8
|
+
const __1 = require("../../");
|
|
9
|
+
const polling = {
|
|
10
|
+
strategy: pieces_common_1.DedupeStrategy.LAST_ITEM,
|
|
11
|
+
items: ({ store, auth }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
12
|
+
let newContacts = [];
|
|
13
|
+
let fetchMore = true;
|
|
14
|
+
while (fetchMore) {
|
|
15
|
+
const syncToken = (yield store.get("syncToken"));
|
|
16
|
+
const response = yield listContacts((0, pieces_common_1.getAccessTokenOrThrow)(auth), syncToken);
|
|
17
|
+
const newConnections = response.body.connections;
|
|
18
|
+
yield store.put("syncToken", response.body.nextSyncToken);
|
|
19
|
+
if (newConnections === undefined || newConnections.length == 0) {
|
|
20
|
+
fetchMore = false;
|
|
21
|
+
}
|
|
22
|
+
if (newConnections !== undefined) {
|
|
23
|
+
newContacts = [...newContacts, ...newConnections];
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
console.log(`Found ${newContacts.length} new contacts`);
|
|
27
|
+
newContacts = newContacts.filter(f => {
|
|
28
|
+
return f.metadata.deleted !== true;
|
|
29
|
+
});
|
|
30
|
+
return newContacts.map((item) => ({
|
|
31
|
+
id: newContacts.indexOf(item),
|
|
32
|
+
data: item,
|
|
33
|
+
}));
|
|
34
|
+
})
|
|
35
|
+
};
|
|
8
36
|
exports.googleContactNewOrUpdatedContact = (0, pieces_framework_1.createTrigger)({
|
|
37
|
+
auth: __1.googleContactsAuth,
|
|
9
38
|
name: 'new_or_updated_contact',
|
|
10
39
|
displayName: 'New Or Updated Contact',
|
|
11
40
|
description: 'Triggers when there is a new or updated contact',
|
|
12
|
-
props: {
|
|
13
|
-
authentication: common_1.googleContactsCommon.authentication,
|
|
14
|
-
},
|
|
41
|
+
props: {},
|
|
15
42
|
sampleData: {
|
|
16
43
|
"resourceName": "people/c4278485694217203807",
|
|
17
44
|
"etag": "%EiMBAgMFBgcICQoLDA0ODxATFBUWGSEiIyQlJicuNDU3PT4/QBoEAQIFByIMZFVwNlJPNEVKUzg9",
|
|
@@ -72,47 +99,46 @@ exports.googleContactNewOrUpdatedContact = (0, pieces_framework_1.createTrigger)
|
|
|
72
99
|
},
|
|
73
100
|
type: pieces_framework_1.TriggerStrategy.POLLING,
|
|
74
101
|
onEnable(ctx) {
|
|
75
|
-
var _a;
|
|
76
102
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
77
|
-
|
|
78
|
-
|
|
103
|
+
return yield pieces_common_1.pollingHelper.onEnable(polling, {
|
|
104
|
+
store: ctx.store,
|
|
105
|
+
auth: ctx.auth,
|
|
106
|
+
propsValue: {}
|
|
107
|
+
});
|
|
79
108
|
});
|
|
80
109
|
},
|
|
81
110
|
onDisable(ctx) {
|
|
82
111
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
83
|
-
|
|
112
|
+
return yield pieces_common_1.pollingHelper.onEnable(polling, {
|
|
113
|
+
store: ctx.store,
|
|
114
|
+
auth: ctx.auth,
|
|
115
|
+
propsValue: {}
|
|
116
|
+
});
|
|
84
117
|
});
|
|
85
118
|
},
|
|
86
119
|
run(ctx) {
|
|
87
|
-
var _a, _b;
|
|
88
120
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
const response = yield listContacts((0, pieces_common_1.getAccessTokenOrThrow)(ctx.propsValue['authentication']), syncToken);
|
|
94
|
-
const newConnections = response.body.connections;
|
|
95
|
-
yield ((_b = ctx.store) === null || _b === void 0 ? void 0 : _b.put("syncToken", response.body.nextSyncToken));
|
|
96
|
-
if (newConnections === undefined || newConnections.length == 0) {
|
|
97
|
-
fetchMore = false;
|
|
98
|
-
}
|
|
99
|
-
if (newConnections !== undefined) {
|
|
100
|
-
newContacts = [...newContacts, ...newConnections];
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
console.log(`Found ${newContacts.length} new contacts`);
|
|
104
|
-
return newContacts.filter(f => {
|
|
105
|
-
return f.metadata.deleted !== true;
|
|
121
|
+
return yield pieces_common_1.pollingHelper.poll(polling, {
|
|
122
|
+
store: ctx.store,
|
|
123
|
+
auth: ctx.auth,
|
|
124
|
+
propsValue: {}
|
|
106
125
|
});
|
|
107
126
|
});
|
|
108
127
|
},
|
|
128
|
+
test: (ctx) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
129
|
+
return yield pieces_common_1.pollingHelper.poll(polling, {
|
|
130
|
+
store: ctx.store,
|
|
131
|
+
auth: ctx.auth,
|
|
132
|
+
propsValue: {}
|
|
133
|
+
});
|
|
134
|
+
})
|
|
109
135
|
});
|
|
110
136
|
function listContacts(access_token, syncToken) {
|
|
111
137
|
let qParams = {
|
|
112
|
-
personFields: "
|
|
138
|
+
personFields: "addresses,ageRanges,biographies,birthdays,calendarUrls,clientData,coverPhotos,emailAddresses,events,externalIds,genders,imClients,interests,locales,locations,memberships,metadata,miscKeywords,names,nicknames,occupations,organizations,phoneNumbers,photos,relations,sipAddresses,skills,urls,userDefined",
|
|
113
139
|
requestSyncToken: "true"
|
|
114
140
|
};
|
|
115
|
-
if (syncToken !== undefined) {
|
|
141
|
+
if (syncToken !== undefined && syncToken !== null) {
|
|
116
142
|
qParams = Object.assign(Object.assign({}, qParams), { syncToken: syncToken });
|
|
117
143
|
}
|
|
118
144
|
return pieces_common_1.httpClient.sendRequest({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new-contact.js","sourceRoot":"","sources":["../../../../../../../packages/pieces/google-contacts/src/lib/trigger/new-contact.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"new-contact.js","sourceRoot":"","sources":["../../../../../../../packages/pieces/google-contacts/src/lib/trigger/new-contact.ts"],"names":[],"mappings":"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"}
|