@activepieces/piece-zoho-mail 0.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/README.md ADDED
@@ -0,0 +1,7 @@
1
+ # pieces-zoho-mail
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+ ## Building
6
+
7
+ Run `nx build pieces-zoho-mail` to build the library.
package/package.json ADDED
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "@activepieces/piece-zoho-mail",
3
+ "version": "0.0.1",
4
+ "dependencies": {
5
+ "@anthropic-ai/sdk": "0.39.0",
6
+ "@sinclair/typebox": "0.34.11",
7
+ "axios": "1.8.3",
8
+ "axios-retry": "4.4.1",
9
+ "deepmerge-ts": "7.1.0",
10
+ "fast-glob": "3.3.3",
11
+ "form-data": "4.0.0",
12
+ "mailparser": "3.6.7",
13
+ "mime-types": "2.1.35",
14
+ "nanoid": "3.3.8",
15
+ "openai": "4.67.1",
16
+ "replicate": "0.34.1",
17
+ "semver": "7.6.0",
18
+ "zod": "3.25.48",
19
+ "@activepieces/pieces-common": "0.4.8",
20
+ "@activepieces/pieces-framework": "0.14.0",
21
+ "@activepieces/shared": "0.12.0",
22
+ "tslib": "1.14.1"
23
+ },
24
+ "overrides": {
25
+ "@tryfabric/martian": {
26
+ "@notionhq/client": "$@notionhq/client"
27
+ },
28
+ "vite": {
29
+ "rollup": "npm:@rollup/wasm-node"
30
+ }
31
+ },
32
+ "resolutions": {
33
+ "rollup": "npm:@rollup/wasm-node"
34
+ },
35
+ "main": "./src/index.js",
36
+ "type": "commonjs",
37
+ "types": "./src/index.d.ts"
38
+ }
package/src/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare const zohoMail: import("@activepieces/pieces-framework").Piece<import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>>;
package/src/index.js ADDED
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.zohoMail = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_common_1 = require("@activepieces/pieces-common");
6
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
7
+ const shared_1 = require("@activepieces/shared");
8
+ const get_email_details_1 = require("./lib/actions/get-email-details");
9
+ const mark_email_as_read_1 = require("./lib/actions/mark-email-as-read");
10
+ const mark_email_as_unread_1 = require("./lib/actions/mark-email-as-unread");
11
+ const move_email_1 = require("./lib/actions/move-email");
12
+ const send_email_1 = require("./lib/actions/send-email");
13
+ const auth_1 = require("./lib/common/auth");
14
+ const new_email_received_trigger_1 = require("./lib/triggers/new-email-received-trigger");
15
+ exports.zohoMail = (0, pieces_framework_1.createPiece)({
16
+ displayName: 'Zoho Mail',
17
+ logoUrl: 'https://cdn.activepieces.com/pieces/zoho-mail.png',
18
+ auth: auth_1.zohoMailAuth,
19
+ authors: ['onyedikachi-david', 'kishanprmr'],
20
+ description: 'Zoho Mail is a powerful email service that allows you to manage your email, contacts, and calendars efficiently.',
21
+ minimumSupportedRelease: '0.36.1',
22
+ categories: [shared_1.PieceCategory.COMMUNICATION],
23
+ actions: [
24
+ get_email_details_1.getEmailDetailsAction,
25
+ mark_email_as_read_1.markEmailAsReadAction,
26
+ mark_email_as_unread_1.markEmailAsUnreadAction,
27
+ move_email_1.moveEmailAction,
28
+ send_email_1.sendEmailAction,
29
+ (0, pieces_common_1.createCustomApiCallAction)({
30
+ auth: auth_1.zohoMailAuth,
31
+ baseUrl: (auth) => {
32
+ var _a, _b;
33
+ const authValue = auth;
34
+ const location = (_b = (_a = authValue.props) === null || _a === void 0 ? void 0 : _a['location']) !== null && _b !== void 0 ? _b : 'zoho.com';
35
+ return `https://mail.${location}/api`;
36
+ },
37
+ authMapping: (auth) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
38
+ return {
39
+ Authorization: `Zoho-oauthtoken ${auth.access_token}`,
40
+ };
41
+ }),
42
+ }),
43
+ ],
44
+ triggers: [new_email_received_trigger_1.newEmailReceivedTrigger],
45
+ });
46
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pieces/community/zoho-mail/src/index.ts"],"names":[],"mappings":";;;;AAAA,+DAAwE;AACxE,qEAIwC;AACxC,iDAAqD;AACrD,uEAAwE;AACxE,yEAAyE;AACzE,6EAA6E;AAC7E,yDAA2D;AAC3D,yDAA2D;AAC3D,4CAAiD;AACjD,0FAAoF;AAEvE,QAAA,QAAQ,GAAG,IAAA,8BAAW,EAAC;IACnC,WAAW,EAAE,WAAW;IACxB,OAAO,EAAE,mDAAmD;IAC5D,IAAI,EAAE,mBAAY;IAClB,OAAO,EAAE,CAAC,mBAAmB,EAAE,YAAY,CAAC;IAC5C,WAAW,EACV,kHAAkH;IACnH,uBAAuB,EAAE,QAAQ;IACjC,UAAU,EAAE,CAAC,sBAAa,CAAC,aAAa,CAAC;IACzC,OAAO,EAAE;QACR,yCAAqB;QACrB,0CAAqB;QACrB,8CAAuB;QACvB,4BAAe;QACf,4BAAe;QACf,IAAA,yCAAyB,EAAC;YACzB,IAAI,EAAE,mBAAY;YAClB,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;;gBACjB,MAAM,SAAS,GAAG,IAAiD,CAAC;gBACpE,MAAM,QAAQ,GAAG,MAAA,MAAA,SAAS,CAAC,KAAK,0CAAG,UAAU,CAAC,mCAAI,UAAU,CAAC;gBAC7D,OAAO,gBAAgB,QAAQ,MAAM,CAAC;YACvC,CAAC;YACD,WAAW,EAAE,CAAO,IAAI,EAAE,EAAE;gBAC3B,OAAO;oBACN,aAAa,EAAE,mBAAoB,IAA4B,CAAC,YAAY,EAAE;iBAC9E,CAAC;YACH,CAAC,CAAA;SACD,CAAC;KACF;IACD,QAAQ,EAAE,CAAC,oDAAuB,CAAC;CACnC,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const getEmailDetailsAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
2
+ accountId: import("@activepieces/pieces-framework").DropdownProperty<string, false> | import("@activepieces/pieces-framework").DropdownProperty<string, true>;
3
+ folderId: import("@activepieces/pieces-framework").DropdownProperty<string, false> | import("@activepieces/pieces-framework").DropdownProperty<string, true>;
4
+ messageId: import("@activepieces/pieces-framework").DropdownProperty<string, false> | import("@activepieces/pieces-framework").DropdownProperty<string, true>;
5
+ }>;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getEmailDetailsAction = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_common_1 = require("@activepieces/pieces-common");
6
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
7
+ const common_1 = require("../common");
8
+ const auth_1 = require("../common/auth");
9
+ const props_1 = require("../common/props");
10
+ exports.getEmailDetailsAction = (0, pieces_framework_1.createAction)({
11
+ auth: auth_1.zohoMailAuth,
12
+ name: 'get_email_details',
13
+ displayName: 'Get Email Details',
14
+ description: 'Retrieves full content and metadata of a specific email.',
15
+ props: {
16
+ accountId: (0, props_1.accountId)({ displayName: 'Account', required: true }),
17
+ folderId: (0, props_1.folderId)({ displayName: 'Folder', required: true }),
18
+ messageId: (0, props_1.messageId)({
19
+ displayName: 'Message ID',
20
+ description: 'The ID of the email message to retrieve.',
21
+ required: true,
22
+ }),
23
+ },
24
+ run(context) {
25
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
26
+ const { accountId, messageId } = context.propsValue;
27
+ const response = yield (0, common_1.zohoMailApiCall)({
28
+ auth: context.auth,
29
+ method: pieces_common_1.HttpMethod.GET,
30
+ resourceUri: `/accounts/${accountId}/messages/${messageId}/originalmessage`,
31
+ });
32
+ const parsedMailResponse = yield (0, common_1.parseStream)(response.data.content);
33
+ return Object.assign(Object.assign({}, parsedMailResponse), { attachments: yield (0, common_1.convertAttachment)(parsedMailResponse.attachments, context.files), id: response.data.messageId });
34
+ });
35
+ },
36
+ });
37
+ //# sourceMappingURL=get-email-details.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-email-details.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/zoho-mail/src/lib/actions/get-email-details.ts"],"names":[],"mappings":";;;;AAAA,+DAAyD;AACzD,qEAA8D;AAC9D,sCAA4E;AAC5E,yCAA8C;AAC9C,2CAAiE;AAEpD,QAAA,qBAAqB,GAAG,IAAA,+BAAY,EAAC;IACjD,IAAI,EAAE,mBAAY;IAClB,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,mBAAmB;IAChC,WAAW,EAAE,0DAA0D;IACvE,KAAK,EAAE;QACN,SAAS,EAAE,IAAA,iBAAS,EAAC,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAChE,QAAQ,EAAE,IAAA,gBAAQ,EAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC7D,SAAS,EAAE,IAAA,iBAAS,EAAC;YACpB,WAAW,EAAE,YAAY;YACzB,WAAW,EAAE,0CAA0C;YACvD,QAAQ,EAAE,IAAI;SACd,CAAC;KACF;IACK,GAAG,CAAC,OAAO;;YAChB,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAEpD,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAe,EAAmD;gBACxF,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,WAAW,EAAE,aAAa,SAAS,aAAa,SAAS,kBAAkB;aAC3E,CAAC,CAAC;YAEH,MAAM,kBAAkB,GAAG,MAAM,IAAA,oBAAW,EAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAEpE,uCACI,kBAAkB,KACrB,WAAW,EAAE,MAAM,IAAA,0BAAiB,EAAC,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,EACnF,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,IAC1B;QACH,CAAC;KAAA;CACD,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const markEmailAsReadAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
2
+ accountId: import("@activepieces/pieces-framework").DropdownProperty<string, false> | import("@activepieces/pieces-framework").DropdownProperty<string, true>;
3
+ folderId: import("@activepieces/pieces-framework").DropdownProperty<string, false> | import("@activepieces/pieces-framework").DropdownProperty<string, true>;
4
+ messageId: import("@activepieces/pieces-framework").DropdownProperty<string, false> | import("@activepieces/pieces-framework").DropdownProperty<string, true>;
5
+ }>;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.markEmailAsReadAction = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_common_1 = require("@activepieces/pieces-common");
6
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
7
+ const common_1 = require("../common");
8
+ const auth_1 = require("../common/auth");
9
+ const props_1 = require("../common/props");
10
+ exports.markEmailAsReadAction = (0, pieces_framework_1.createAction)({
11
+ auth: auth_1.zohoMailAuth,
12
+ name: 'mark_email_as_read',
13
+ displayName: 'Mark Email as Read',
14
+ description: 'Marks an email as read.',
15
+ props: {
16
+ accountId: (0, props_1.accountId)({ displayName: 'Account', required: true }),
17
+ folderId: (0, props_1.folderId)({ displayName: 'Folder', required: true }),
18
+ messageId: (0, props_1.messageId)({
19
+ displayName: 'Message ID',
20
+ description: 'The ID of the email message to mark as read.',
21
+ required: true,
22
+ }),
23
+ },
24
+ run(context) {
25
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
26
+ const { accountId, messageId } = context.propsValue;
27
+ const response = yield (0, common_1.zohoMailApiCall)({
28
+ auth: context.auth,
29
+ method: pieces_common_1.HttpMethod.PUT,
30
+ resourceUri: `/accounts/${accountId}/updatemessage`,
31
+ body: {
32
+ mode: 'markAsRead',
33
+ messageId: [messageId],
34
+ },
35
+ });
36
+ return response;
37
+ });
38
+ },
39
+ });
40
+ //# sourceMappingURL=mark-email-as-read.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mark-email-as-read.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/zoho-mail/src/lib/actions/mark-email-as-read.ts"],"names":[],"mappings":";;;;AAAA,+DAAyD;AACzD,qEAA8D;AAC9D,sCAA4C;AAC5C,yCAA8C;AAC9C,2CAAiE;AAEpD,QAAA,qBAAqB,GAAG,IAAA,+BAAY,EAAC;IACjD,IAAI,EAAE,mBAAY;IAClB,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,oBAAoB;IACjC,WAAW,EAAE,yBAAyB;IACtC,KAAK,EAAE;QACN,SAAS,EAAE,IAAA,iBAAS,EAAC,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAChE,QAAQ,EAAE,IAAA,gBAAQ,EAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC7D,SAAS,EAAE,IAAA,iBAAS,EAAC;YACpB,WAAW,EAAE,YAAY;YACzB,WAAW,EAAE,8CAA8C;YAC3D,QAAQ,EAAE,IAAI;SACd,CAAC;KACF;IACK,GAAG,CAAC,OAAO;;YAChB,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAEpD,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAe,EAAC;gBACtC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,WAAW,EAAE,aAAa,SAAS,gBAAgB;gBACnD,IAAI,EAAE;oBACL,IAAI,EAAE,YAAY;oBAClB,SAAS,EAAE,CAAC,SAAS,CAAC;iBACtB;aACD,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC;QACjB,CAAC;KAAA;CACD,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const markEmailAsUnreadAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
2
+ accountId: import("@activepieces/pieces-framework").DropdownProperty<string, false> | import("@activepieces/pieces-framework").DropdownProperty<string, true>;
3
+ folderId: import("@activepieces/pieces-framework").DropdownProperty<string, false> | import("@activepieces/pieces-framework").DropdownProperty<string, true>;
4
+ messageId: import("@activepieces/pieces-framework").DropdownProperty<string, false> | import("@activepieces/pieces-framework").DropdownProperty<string, true>;
5
+ }>;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.markEmailAsUnreadAction = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_common_1 = require("@activepieces/pieces-common");
6
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
7
+ const common_1 = require("../common");
8
+ const auth_1 = require("../common/auth");
9
+ const props_1 = require("../common/props");
10
+ exports.markEmailAsUnreadAction = (0, pieces_framework_1.createAction)({
11
+ auth: auth_1.zohoMailAuth,
12
+ name: 'mark_email_as_unread',
13
+ displayName: 'Mark Emai as Unread',
14
+ description: 'Marks an email as unread.',
15
+ props: {
16
+ accountId: (0, props_1.accountId)({ displayName: 'Account', required: true }),
17
+ folderId: (0, props_1.folderId)({ displayName: 'Folder', required: true }),
18
+ messageId: (0, props_1.messageId)({
19
+ displayName: 'Message ID',
20
+ description: 'The ID of the email message to mark as unread.',
21
+ required: true,
22
+ }),
23
+ },
24
+ run(context) {
25
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
26
+ const { accountId, messageId } = context.propsValue;
27
+ const response = yield (0, common_1.zohoMailApiCall)({
28
+ auth: context.auth,
29
+ method: pieces_common_1.HttpMethod.PUT,
30
+ resourceUri: `/accounts/${accountId}/updatemessage`,
31
+ body: {
32
+ mode: 'markAsUnread',
33
+ messageId: [messageId],
34
+ },
35
+ });
36
+ return response;
37
+ });
38
+ },
39
+ });
40
+ //# sourceMappingURL=mark-email-as-unread.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mark-email-as-unread.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/zoho-mail/src/lib/actions/mark-email-as-unread.ts"],"names":[],"mappings":";;;;AAAA,+DAAyD;AACzD,qEAA8D;AAC9D,sCAA4C;AAC5C,yCAA8C;AAC9C,2CAAiE;AAEpD,QAAA,uBAAuB,GAAG,IAAA,+BAAY,EAAC;IACnD,IAAI,EAAE,mBAAY;IAClB,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE,qBAAqB;IAClC,WAAW,EAAE,2BAA2B;IACxC,KAAK,EAAE;QACN,SAAS,EAAE,IAAA,iBAAS,EAAC,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAChE,QAAQ,EAAE,IAAA,gBAAQ,EAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC7D,SAAS,EAAE,IAAA,iBAAS,EAAC;YACpB,WAAW,EAAE,YAAY;YACzB,WAAW,EAAE,gDAAgD;YAC7D,QAAQ,EAAE,IAAI;SACd,CAAC;KACF;IACK,GAAG,CAAC,OAAO;;YAChB,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAEpD,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAe,EAAC;gBACtC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,WAAW,EAAE,aAAa,SAAS,gBAAgB;gBACnD,IAAI,EAAE;oBACL,IAAI,EAAE,cAAc;oBACpB,SAAS,EAAE,CAAC,SAAS,CAAC;iBACtB;aACD,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC;QACjB,CAAC;KAAA;CACD,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare const moveEmailAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
2
+ accountId: import("@activepieces/pieces-framework").DropdownProperty<string, false> | import("@activepieces/pieces-framework").DropdownProperty<string, true>;
3
+ folderId: import("@activepieces/pieces-framework").DropdownProperty<string, false> | import("@activepieces/pieces-framework").DropdownProperty<string, true>;
4
+ messageId: import("@activepieces/pieces-framework").DropdownProperty<string, false> | import("@activepieces/pieces-framework").DropdownProperty<string, true>;
5
+ destfolderId: import("@activepieces/pieces-framework").DropdownProperty<string, false> | import("@activepieces/pieces-framework").DropdownProperty<string, true>;
6
+ }>;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.moveEmailAction = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_common_1 = require("@activepieces/pieces-common");
6
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
7
+ const common_1 = require("../common");
8
+ const auth_1 = require("../common/auth");
9
+ const props_1 = require("../common/props");
10
+ exports.moveEmailAction = (0, pieces_framework_1.createAction)({
11
+ auth: auth_1.zohoMailAuth,
12
+ name: 'move_email',
13
+ displayName: 'Move Email to Folder',
14
+ description: 'Moves an email to a different folder.',
15
+ props: {
16
+ accountId: (0, props_1.accountId)({ displayName: 'Account', required: true }),
17
+ folderId: (0, props_1.folderId)({ displayName: 'Current Folder', required: true }),
18
+ messageId: (0, props_1.messageId)({
19
+ displayName: 'Message ID',
20
+ description: 'The ID of the email message to move.',
21
+ required: true,
22
+ }),
23
+ destfolderId: (0, props_1.folderId)({
24
+ displayName: 'Destination Folder',
25
+ description: 'Select the folder to move the email to.',
26
+ required: true,
27
+ }),
28
+ },
29
+ run(context) {
30
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
31
+ const { accountId, destfolderId, messageId, folderId } = context.propsValue;
32
+ const response = yield (0, common_1.zohoMailApiCall)({
33
+ auth: context.auth,
34
+ method: pieces_common_1.HttpMethod.PUT,
35
+ resourceUri: `/accounts/${accountId}/updatemessage`,
36
+ body: {
37
+ mode: 'moveMessage',
38
+ destfolderId: destfolderId,
39
+ messageId: [messageId],
40
+ isFolderSpecific: true,
41
+ folderId: folderId,
42
+ },
43
+ });
44
+ return response;
45
+ });
46
+ },
47
+ });
48
+ //# sourceMappingURL=move-email.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"move-email.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/zoho-mail/src/lib/actions/move-email.ts"],"names":[],"mappings":";;;;AAAA,+DAAyD;AACzD,qEAA8D;AAC9D,sCAA4C;AAC5C,yCAA8C;AAC9C,2CAAiE;AAEpD,QAAA,eAAe,GAAG,IAAA,+BAAY,EAAC;IAC3C,IAAI,EAAE,mBAAY;IAClB,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,sBAAsB;IACnC,WAAW,EAAE,uCAAuC;IACpD,KAAK,EAAE;QACN,SAAS,EAAE,IAAA,iBAAS,EAAC,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAChE,QAAQ,EAAE,IAAA,gBAAQ,EAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACrE,SAAS,EAAE,IAAA,iBAAS,EAAC;YACpB,WAAW,EAAE,YAAY;YACzB,WAAW,EAAE,sCAAsC;YACnD,QAAQ,EAAE,IAAI;SACd,CAAC;QACF,YAAY,EAAE,IAAA,gBAAQ,EAAC;YACtB,WAAW,EAAE,oBAAoB;YACjC,WAAW,EAAE,yCAAyC;YACtD,QAAQ,EAAE,IAAI;SACd,CAAC;KACF;IACK,GAAG,CAAC,OAAO;;YAChB,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAE5E,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAe,EAAC;gBACtC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,WAAW,EAAE,aAAa,SAAS,gBAAgB;gBAEnD,IAAI,EAAE;oBACL,IAAI,EAAE,aAAa;oBACnB,YAAY,EAAE,YAAY;oBAC1B,SAAS,EAAE,CAAC,SAAS,CAAC;oBACtB,gBAAgB,EAAE,IAAI;oBACtB,QAAQ,EAAE,QAAQ;iBAClB;aACD,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC;QACjB,CAAC;KAAA;CACD,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ export declare const sendEmailAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
2
+ accountId: import("@activepieces/pieces-framework").DropdownProperty<string, false> | import("@activepieces/pieces-framework").DropdownProperty<string, true>;
3
+ fromAddress: import("@activepieces/pieces-framework").DropdownProperty<string, false> | import("@activepieces/pieces-framework").DropdownProperty<string, true>;
4
+ toAddress: import("@activepieces/pieces-framework").ShortTextProperty<true>;
5
+ subject: import("@activepieces/pieces-framework").LongTextProperty<true>;
6
+ mailFormat: import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
7
+ content: import("@activepieces/pieces-framework").LongTextProperty<true>;
8
+ ccAddress: import("@activepieces/pieces-framework").ShortTextProperty<false>;
9
+ bccAddress: import("@activepieces/pieces-framework").ShortTextProperty<false>;
10
+ askReceipt: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
11
+ attachment: import("@activepieces/pieces-framework").FileProperty<false>;
12
+ attachmentName: import("@activepieces/pieces-framework").ShortTextProperty<false>;
13
+ }>;
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sendEmailAction = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_common_1 = require("@activepieces/pieces-common");
6
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
7
+ const form_data_1 = tslib_1.__importDefault(require("form-data"));
8
+ const common_1 = require("../common");
9
+ const auth_1 = require("../common/auth");
10
+ const props_1 = require("../common/props");
11
+ exports.sendEmailAction = (0, pieces_framework_1.createAction)({
12
+ auth: auth_1.zohoMailAuth,
13
+ name: 'send_email',
14
+ displayName: 'Send Email',
15
+ description: 'Sends an email.',
16
+ props: {
17
+ accountId: (0, props_1.accountId)({ displayName: 'Account', required: true }),
18
+ fromAddress: (0, props_1.fromAddress)({ displayName: 'From Email Address', required: true }),
19
+ toAddress: pieces_framework_1.Property.ShortText({
20
+ displayName: 'To Email Address',
21
+ description: "Recipient's email address.",
22
+ required: true,
23
+ }),
24
+ subject: pieces_framework_1.Property.LongText({
25
+ displayName: 'Subject',
26
+ required: true,
27
+ }),
28
+ mailFormat: pieces_framework_1.Property.StaticDropdown({
29
+ displayName: 'Mail Format',
30
+ required: true,
31
+ options: {
32
+ options: [
33
+ { label: 'HTML', value: 'html' },
34
+ { label: 'Plain Text', value: 'plaintext' },
35
+ ],
36
+ },
37
+ defaultValue: 'html',
38
+ }),
39
+ content: pieces_framework_1.Property.LongText({
40
+ displayName: 'Content',
41
+ description: 'HTML or plain text content of the email.',
42
+ required: true,
43
+ }),
44
+ ccAddress: pieces_framework_1.Property.ShortText({
45
+ displayName: 'CC Email Address',
46
+ description: "CC recipient's email address.",
47
+ required: false,
48
+ }),
49
+ bccAddress: pieces_framework_1.Property.ShortText({
50
+ displayName: 'BCC Email Address',
51
+ description: "BCC recipient's email address.",
52
+ required: false,
53
+ }),
54
+ askReceipt: pieces_framework_1.Property.StaticDropdown({
55
+ displayName: 'Ask for Read Receipt',
56
+ required: false,
57
+ options: {
58
+ options: [
59
+ { label: 'Yes', value: 'yes' },
60
+ { label: 'No', value: 'no' },
61
+ ],
62
+ },
63
+ }),
64
+ attachment: pieces_framework_1.Property.File({
65
+ displayName: 'Attachment',
66
+ required: false,
67
+ }),
68
+ attachmentName: pieces_framework_1.Property.ShortText({
69
+ displayName: 'Attachment Name',
70
+ description: 'In case you want to change the name of the attachment.',
71
+ required: false,
72
+ }),
73
+ },
74
+ run(context) {
75
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
76
+ var _a, _b;
77
+ const { accountId, fromAddress, toAddress, ccAddress, bccAddress, subject, content, mailFormat, askReceipt, attachment, attachmentName, } = context.propsValue;
78
+ const requestBody = {
79
+ fromAddress,
80
+ toAddress,
81
+ subject,
82
+ content,
83
+ mailFormat: mailFormat !== null && mailFormat !== void 0 ? mailFormat : 'html',
84
+ };
85
+ if (ccAddress)
86
+ requestBody['ccAddress'] = ccAddress;
87
+ if (bccAddress)
88
+ requestBody['bccAddress'] = bccAddress;
89
+ if (askReceipt)
90
+ requestBody['askReceipt'] = askReceipt;
91
+ if (attachment) {
92
+ const formData = new form_data_1.default();
93
+ formData.append('attach', Buffer.from(attachment.base64, 'base64'), attachmentName || attachment.filename);
94
+ const location = (_b = (_a = context.auth.props) === null || _a === void 0 ? void 0 : _a['location']) !== null && _b !== void 0 ? _b : 'zoho.com';
95
+ const baseUrl = `https://mail.${location}/api`;
96
+ const uploadResponse = yield pieces_common_1.httpClient.sendRequest({
97
+ url: baseUrl + `/accounts/${accountId}/messages/attachments?uploadType=multipart`,
98
+ method: pieces_common_1.HttpMethod.POST,
99
+ body: formData,
100
+ headers: Object.assign(Object.assign({}, formData.getHeaders()), { Authorization: `Zoho-oauthtoken ${context.auth.access_token}` }),
101
+ });
102
+ requestBody['attachments'] = uploadResponse.body.data;
103
+ }
104
+ const response = yield (0, common_1.zohoMailApiCall)({
105
+ auth: context.auth,
106
+ method: pieces_common_1.HttpMethod.POST,
107
+ resourceUri: `/accounts/${accountId}/messages`,
108
+ body: requestBody,
109
+ });
110
+ return response;
111
+ });
112
+ },
113
+ });
114
+ //# sourceMappingURL=send-email.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send-email.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/zoho-mail/src/lib/actions/send-email.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const zohoMailAuth: import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.zohoMailAuth = void 0;
4
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
5
+ exports.zohoMailAuth = pieces_framework_1.PieceAuth.OAuth2({
6
+ props: {
7
+ location: pieces_framework_1.Property.StaticDropdown({
8
+ displayName: 'Location',
9
+ description: 'The location of your Zoho Mail account.',
10
+ required: true,
11
+ options: {
12
+ options: [
13
+ {
14
+ label: 'zoho.eu (Europe)',
15
+ value: 'zoho.eu',
16
+ },
17
+ {
18
+ label: 'zoho.com (United States)',
19
+ value: 'zoho.com',
20
+ },
21
+ {
22
+ label: 'zoho.com.au (Australia)',
23
+ value: 'zoho.com.au',
24
+ },
25
+ {
26
+ label: 'zoho.jp (Japan)',
27
+ value: 'zoho.jp',
28
+ },
29
+ {
30
+ label: 'zoho.in (India)',
31
+ value: 'zoho.in',
32
+ },
33
+ {
34
+ label: 'zohocloud.ca (Canada)',
35
+ value: 'zohocloud.ca',
36
+ },
37
+ ],
38
+ },
39
+ }),
40
+ },
41
+ description: 'Authentication for Zoho Desk',
42
+ scope: [
43
+ 'ZohoMail.accounts.READ',
44
+ 'ZohoMail.messages.ALL',
45
+ 'ZohoMail.folders.ALL',
46
+ 'ZohoMail.organization.accounts.READ',
47
+ ],
48
+ authUrl: 'https://accounts.{location}/oauth/v2/auth',
49
+ tokenUrl: 'https://accounts.{location}/oauth/v2/token',
50
+ required: true,
51
+ });
52
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/zoho-mail/src/lib/common/auth.ts"],"names":[],"mappings":";;;AAAA,qEAAqE;AAExD,QAAA,YAAY,GAAG,4BAAS,CAAC,MAAM,CAAC;IAC5C,KAAK,EAAE;QACN,QAAQ,EAAE,2BAAQ,CAAC,cAAc,CAAC;YACjC,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,yCAAyC;YACtD,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACR,OAAO,EAAE;oBACR;wBACC,KAAK,EAAE,kBAAkB;wBACzB,KAAK,EAAE,SAAS;qBAChB;oBACD;wBACC,KAAK,EAAE,0BAA0B;wBACjC,KAAK,EAAE,UAAU;qBACjB;oBACD;wBACC,KAAK,EAAE,yBAAyB;wBAChC,KAAK,EAAE,aAAa;qBACpB;oBACD;wBACC,KAAK,EAAE,iBAAiB;wBACxB,KAAK,EAAE,SAAS;qBAChB;oBACD;wBACC,KAAK,EAAE,iBAAiB;wBACxB,KAAK,EAAE,SAAS;qBAChB;oBACD;wBACC,KAAK,EAAE,uBAAuB;wBAC9B,KAAK,EAAE,cAAc;qBACrB;iBACD;aACD;SACD,CAAC;KACF;IACD,WAAW,EAAE,8BAA8B;IAC3C,KAAK,EAAE;QACN,wBAAwB;QACxB,uBAAuB;QACvB,sBAAsB;QACtB,qCAAqC;KACrC;IACD,OAAO,EAAE,2CAA2C;IACpD,QAAQ,EAAE,4CAA4C;IACtD,QAAQ,EAAE,IAAI;CACd,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { HttpMessageBody, HttpMethod } from '@activepieces/pieces-common';
2
+ import { FilesService, PiecePropValueSchema } from '@activepieces/pieces-framework';
3
+ import { Attachment, ParsedMail } from 'mailparser';
4
+ import { zohoMailAuth } from './auth';
5
+ export type ZohoMailApiCallParams = {
6
+ auth: PiecePropValueSchema<typeof zohoMailAuth>;
7
+ method: HttpMethod;
8
+ resourceUri: string;
9
+ query?: Record<string, string | number | string[] | undefined>;
10
+ body?: any;
11
+ };
12
+ export declare function zohoMailApiCall<T extends HttpMessageBody>({ auth, method, resourceUri, query, body, }: ZohoMailApiCallParams): Promise<T>;
13
+ export declare function parseStream(stream: string | Buffer): Promise<ParsedMail>;
14
+ export declare function convertAttachment(attachments: Attachment[], files: FilesService): Promise<{
15
+ fileName: string;
16
+ mimeType: string;
17
+ size: number;
18
+ data: string;
19
+ }[]>;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.zohoMailApiCall = zohoMailApiCall;
4
+ exports.parseStream = parseStream;
5
+ exports.convertAttachment = convertAttachment;
6
+ const tslib_1 = require("tslib");
7
+ const pieces_common_1 = require("@activepieces/pieces-common");
8
+ const mailparser_1 = require("mailparser");
9
+ function zohoMailApiCall(_a) {
10
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, method, resourceUri, query, body, }) {
11
+ var _b, _c;
12
+ const location = (_c = (_b = auth.props) === null || _b === void 0 ? void 0 : _b['location']) !== null && _c !== void 0 ? _c : 'zoho.com';
13
+ const baseUrl = `https://mail.${location}/api`;
14
+ const qs = {};
15
+ if (query) {
16
+ for (const [key, value] of Object.entries(query)) {
17
+ if (value !== null && value !== undefined) {
18
+ qs[key] = String(value);
19
+ }
20
+ }
21
+ }
22
+ const request = {
23
+ method,
24
+ url: baseUrl + resourceUri,
25
+ headers: {
26
+ Authorization: `Zoho-oauthtoken ${auth.access_token}`,
27
+ },
28
+ queryParams: qs,
29
+ body,
30
+ };
31
+ const response = yield pieces_common_1.httpClient.sendRequest(request);
32
+ return response.body;
33
+ });
34
+ }
35
+ function parseStream(stream) {
36
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
37
+ return new Promise((resolve, reject) => {
38
+ (0, mailparser_1.simpleParser)(stream, (err, parsed) => {
39
+ if (err) {
40
+ reject(err);
41
+ }
42
+ else {
43
+ resolve(parsed);
44
+ }
45
+ });
46
+ });
47
+ });
48
+ }
49
+ function convertAttachment(attachments, files) {
50
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
51
+ const promises = attachments.map((attachment) => tslib_1.__awaiter(this, void 0, void 0, function* () {
52
+ var _a;
53
+ try {
54
+ const fileName = (_a = attachment.filename) !== null && _a !== void 0 ? _a : `attachment-${Date.now()}`;
55
+ return {
56
+ fileName,
57
+ mimeType: attachment.contentType,
58
+ size: attachment.size,
59
+ data: yield files.write({
60
+ fileName: fileName,
61
+ data: attachment.content,
62
+ }),
63
+ };
64
+ }
65
+ catch (error) {
66
+ console.error(`Failed to process attachment: ${attachment.filename}`, error);
67
+ return null;
68
+ }
69
+ }));
70
+ const results = yield Promise.all(promises);
71
+ return results.filter((result) => result !== null);
72
+ });
73
+ }
74
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/zoho-mail/src/lib/common/index.ts"],"names":[],"mappings":";;AAmBA,0CA+BC;AAED,kCAUC;AAED,8CAoBC;;AApFD,+DAMqC;AAErC,2CAAkE;AAWlE,SAAsB,eAAe;iEAA4B,EAChE,IAAI,EACJ,MAAM,EACN,WAAW,EACX,KAAK,EACL,IAAI,GACmB;;QACvB,MAAM,QAAQ,GAAG,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAG,UAAU,CAAC,mCAAI,UAAU,CAAC;QACxD,MAAM,OAAO,GAAG,gBAAgB,QAAQ,MAAM,CAAC;QAC/C,MAAM,EAAE,GAAgB,EAAE,CAAC;QAE3B,IAAI,KAAK,EAAE,CAAC;YACX,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBAC3C,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBACzB,CAAC;YACF,CAAC;QACF,CAAC;QAED,MAAM,OAAO,GAAgB;YAC5B,MAAM;YACN,GAAG,EAAE,OAAO,GAAG,WAAW;YAC1B,OAAO,EAAE;gBACR,aAAa,EAAE,mBAAmB,IAAI,CAAC,YAAY,EAAE;aACrD;YACD,WAAW,EAAE,EAAE;YACf,IAAI;SACJ,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAI,OAAO,CAAC,CAAC;QAC1D,OAAO,QAAQ,CAAC,IAAI,CAAC;IACtB,CAAC;CAAA;AAED,SAAsB,WAAW,CAAC,MAAuB;;QACxD,OAAO,IAAI,OAAO,CAAa,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAClD,IAAA,yBAAY,EAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;gBACpC,IAAI,GAAG,EAAE,CAAC;oBACT,MAAM,CAAC,GAAG,CAAC,CAAC;gBACb,CAAC;qBAAM,CAAC;oBACP,OAAO,CAAC,MAAM,CAAC,CAAC;gBACjB,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;CAAA;AAED,SAAsB,iBAAiB,CAAC,WAAyB,EAAE,KAAmB;;QACrF,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAO,UAAU,EAAE,EAAE;;YACrD,IAAI,CAAC;gBACJ,MAAM,QAAQ,GAAG,MAAA,UAAU,CAAC,QAAQ,mCAAI,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBACnE,OAAO;oBACN,QAAQ;oBACR,QAAQ,EAAE,UAAU,CAAC,WAAW;oBAChC,IAAI,EAAE,UAAU,CAAC,IAAI;oBACrB,IAAI,EAAE,MAAM,KAAK,CAAC,KAAK,CAAC;wBACvB,QAAQ,EAAE,QAAQ;wBAClB,IAAI,EAAE,UAAU,CAAC,OAAO;qBACxB,CAAC;iBACF,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CAAC,iCAAiC,UAAU,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;gBAC7E,OAAO,IAAI,CAAC;YACb,CAAC;QACF,CAAC,CAAA,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;IACpD,CAAC;CAAA"}
@@ -0,0 +1,10 @@
1
+ interface DropdownParams {
2
+ displayName: string;
3
+ description?: string;
4
+ required: boolean;
5
+ }
6
+ export declare const accountId: (params: DropdownParams) => import("@activepieces/pieces-framework").DropdownProperty<string, false> | import("@activepieces/pieces-framework").DropdownProperty<string, true>;
7
+ export declare const folderId: (params: DropdownParams) => import("@activepieces/pieces-framework").DropdownProperty<string, false> | import("@activepieces/pieces-framework").DropdownProperty<string, true>;
8
+ export declare const messageId: (params: DropdownParams) => import("@activepieces/pieces-framework").DropdownProperty<string, false> | import("@activepieces/pieces-framework").DropdownProperty<string, true>;
9
+ export declare const fromAddress: (params: DropdownParams) => import("@activepieces/pieces-framework").DropdownProperty<string, false> | import("@activepieces/pieces-framework").DropdownProperty<string, true>;
10
+ export {};
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fromAddress = exports.messageId = exports.folderId = exports.accountId = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_common_1 = require("@activepieces/pieces-common");
6
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
7
+ const _1 = require(".");
8
+ const accountId = (params) => pieces_framework_1.Property.Dropdown({
9
+ displayName: params.displayName,
10
+ description: params.description,
11
+ refreshers: [],
12
+ required: params.required,
13
+ options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
14
+ if (!auth) {
15
+ return {
16
+ placeholder: 'Please connect your account first.',
17
+ options: [],
18
+ disabled: true,
19
+ };
20
+ }
21
+ const authValue = auth;
22
+ const response = yield (0, _1.zohoMailApiCall)({
23
+ auth: authValue,
24
+ method: pieces_common_1.HttpMethod.GET,
25
+ resourceUri: '/accounts',
26
+ });
27
+ return {
28
+ disabled: false,
29
+ options: response.data.map((account) => {
30
+ return {
31
+ label: account.displayName || account.accountId,
32
+ value: account.accountId,
33
+ };
34
+ }),
35
+ };
36
+ }),
37
+ });
38
+ exports.accountId = accountId;
39
+ const folderId = (params) => pieces_framework_1.Property.Dropdown({
40
+ displayName: params.displayName,
41
+ description: params.description,
42
+ refreshers: ['accountId'],
43
+ required: params.required,
44
+ options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, accountId }) {
45
+ if (!auth) {
46
+ return {
47
+ placeholder: 'Please connect your account first.',
48
+ options: [],
49
+ disabled: true,
50
+ };
51
+ }
52
+ if (!accountId) {
53
+ return {
54
+ placeholder: 'Please select Account first.',
55
+ options: [],
56
+ disabled: true,
57
+ };
58
+ }
59
+ const authValue = auth;
60
+ const response = yield (0, _1.zohoMailApiCall)({
61
+ auth: authValue,
62
+ method: pieces_common_1.HttpMethod.GET,
63
+ resourceUri: `/accounts/${accountId}/folders`,
64
+ });
65
+ return {
66
+ disabled: false,
67
+ options: response.data.map((folder) => {
68
+ return {
69
+ label: folder.path || folder.folderId,
70
+ value: folder.folderId,
71
+ };
72
+ }),
73
+ };
74
+ }),
75
+ });
76
+ exports.folderId = folderId;
77
+ const messageId = (params) => pieces_framework_1.Property.Dropdown({
78
+ displayName: params.displayName,
79
+ description: params.description,
80
+ refreshers: ['accountId', 'folderId'],
81
+ required: params.required,
82
+ options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, accountId, folderId }) {
83
+ if (!auth) {
84
+ return {
85
+ placeholder: 'Please connect your account first.',
86
+ options: [],
87
+ disabled: true,
88
+ };
89
+ }
90
+ if (!accountId) {
91
+ return {
92
+ placeholder: 'Please select Account first.',
93
+ options: [],
94
+ disabled: true,
95
+ };
96
+ }
97
+ if (!folderId) {
98
+ return {
99
+ placeholder: 'Please select Folder first.',
100
+ options: [],
101
+ disabled: true,
102
+ };
103
+ }
104
+ const authValue = auth;
105
+ const response = yield (0, _1.zohoMailApiCall)({
106
+ auth: authValue,
107
+ method: pieces_common_1.HttpMethod.GET,
108
+ resourceUri: `/accounts/${accountId}/messages/view`,
109
+ query: {
110
+ folderId: folderId,
111
+ limit: 50,
112
+ },
113
+ });
114
+ return {
115
+ disabled: false,
116
+ options: response.data.map((message) => {
117
+ return {
118
+ label: message.subject,
119
+ value: message.messageId,
120
+ };
121
+ }),
122
+ };
123
+ }),
124
+ });
125
+ exports.messageId = messageId;
126
+ const fromAddress = (params) => pieces_framework_1.Property.Dropdown({
127
+ displayName: params.displayName,
128
+ description: params.description,
129
+ refreshers: ['accountId'],
130
+ required: params.required,
131
+ options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, accountId }) {
132
+ if (!auth) {
133
+ return {
134
+ placeholder: 'Please connect your account first.',
135
+ options: [],
136
+ disabled: true,
137
+ };
138
+ }
139
+ if (!accountId) {
140
+ return {
141
+ placeholder: 'Please select Account first.',
142
+ options: [],
143
+ disabled: true,
144
+ };
145
+ }
146
+ const authValue = auth;
147
+ const response = yield (0, _1.zohoMailApiCall)({
148
+ auth: authValue,
149
+ method: pieces_common_1.HttpMethod.GET,
150
+ resourceUri: `/accounts/${accountId}`,
151
+ });
152
+ return {
153
+ disabled: false,
154
+ options: response.data.sendMailDetails.map((account) => {
155
+ return {
156
+ label: account.fromAddress,
157
+ value: account.fromAddress,
158
+ };
159
+ }),
160
+ };
161
+ }),
162
+ });
163
+ exports.fromAddress = fromAddress;
164
+ //# sourceMappingURL=props.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"props.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/zoho-mail/src/lib/common/props.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { TriggerStrategy } from '@activepieces/pieces-framework';
2
+ export declare const newEmailReceivedTrigger: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
3
+ accountId: import("@activepieces/pieces-framework").DropdownProperty<string, false> | import("@activepieces/pieces-framework").DropdownProperty<string, true>;
4
+ folderId: import("@activepieces/pieces-framework").DropdownProperty<string, false> | import("@activepieces/pieces-framework").DropdownProperty<string, true>;
5
+ }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
6
+ accountId: import("@activepieces/pieces-framework").DropdownProperty<string, false> | import("@activepieces/pieces-framework").DropdownProperty<string, true>;
7
+ folderId: import("@activepieces/pieces-framework").DropdownProperty<string, false> | import("@activepieces/pieces-framework").DropdownProperty<string, true>;
8
+ }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
9
+ accountId: import("@activepieces/pieces-framework").DropdownProperty<string, false> | import("@activepieces/pieces-framework").DropdownProperty<string, true>;
10
+ folderId: import("@activepieces/pieces-framework").DropdownProperty<string, false> | import("@activepieces/pieces-framework").DropdownProperty<string, true>;
11
+ }>;
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.newEmailReceivedTrigger = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_common_1 = require("@activepieces/pieces-common");
6
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
7
+ const common_1 = require("../common");
8
+ const auth_1 = require("../common/auth");
9
+ const props_1 = require("../common/props");
10
+ const polling = {
11
+ strategy: pieces_common_1.DedupeStrategy.TIMEBASED,
12
+ items(_a) {
13
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, propsValue, lastFetchEpochMS }) {
14
+ const { accountId, folderId } = propsValue;
15
+ let page = 1;
16
+ let hasMore = true;
17
+ const allMessages = [];
18
+ do {
19
+ const queryParams = {
20
+ start: page.toString(),
21
+ limit: lastFetchEpochMS === 0 ? '10' : '200',
22
+ };
23
+ if (folderId) {
24
+ queryParams['folderId'] = folderId;
25
+ }
26
+ const response = yield (0, common_1.zohoMailApiCall)({
27
+ auth,
28
+ resourceUri: `/accounts/${accountId}/messages/view`,
29
+ method: pieces_common_1.HttpMethod.GET,
30
+ query: queryParams,
31
+ });
32
+ const messages = response.data || [];
33
+ if (messages.length === 0) {
34
+ break;
35
+ }
36
+ for (const msg of messages) {
37
+ const receivedTime = Number(msg.receivedTime);
38
+ if (lastFetchEpochMS > 0 && receivedTime <= lastFetchEpochMS) {
39
+ hasMore = false;
40
+ break; // Stop processing this page
41
+ }
42
+ allMessages.push(msg); // Only add if it's newer
43
+ }
44
+ // if it's test mode, only fetch first page
45
+ if (lastFetchEpochMS === 0)
46
+ break;
47
+ if (!hasMore) {
48
+ break;
49
+ }
50
+ page++;
51
+ } while (hasMore);
52
+ return allMessages.map((msg) => {
53
+ return {
54
+ epochMilliSeconds: Number(msg.receivedTime),
55
+ data: msg,
56
+ };
57
+ });
58
+ });
59
+ },
60
+ };
61
+ exports.newEmailReceivedTrigger = (0, pieces_framework_1.createTrigger)({
62
+ auth: auth_1.zohoMailAuth,
63
+ name: 'new_email_received',
64
+ displayName: 'New Email Received',
65
+ description: 'Triggers when a new email is received in a specified folder (or inbox).',
66
+ props: {
67
+ accountId: (0, props_1.accountId)({ displayName: 'Account', required: true }),
68
+ folderId: (0, props_1.folderId)({
69
+ displayName: 'Folder',
70
+ description: 'Select the folder to watch. If empty, watches the inbox/all messages based on API default.',
71
+ required: false,
72
+ }),
73
+ },
74
+ type: pieces_framework_1.TriggerStrategy.POLLING,
75
+ onEnable(context) {
76
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
77
+ yield pieces_common_1.pollingHelper.onEnable(polling, {
78
+ auth: context.auth,
79
+ store: context.store,
80
+ propsValue: context.propsValue,
81
+ });
82
+ });
83
+ },
84
+ onDisable(context) {
85
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
86
+ yield pieces_common_1.pollingHelper.onDisable(polling, {
87
+ auth: context.auth,
88
+ store: context.store,
89
+ propsValue: context.propsValue,
90
+ });
91
+ });
92
+ },
93
+ test(context) {
94
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
95
+ return yield pieces_common_1.pollingHelper.test(polling, context);
96
+ });
97
+ },
98
+ run(context) {
99
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
100
+ return yield pieces_common_1.pollingHelper.poll(polling, context);
101
+ });
102
+ },
103
+ sampleData: {
104
+ summary: 'test mail',
105
+ sentDateInGMT: '1749273996000',
106
+ calendarType: 0,
107
+ subject: 'test mail',
108
+ messageId: '1749293811021114900',
109
+ flagid: 'flag_not_set',
110
+ status2: '0',
111
+ priority: '3',
112
+ hasInline: 'false',
113
+ toAddress: '',
114
+ folderId: '7723149000000002014',
115
+ ccAddress: 'Not Provided',
116
+ hasAttachment: '0',
117
+ size: '238',
118
+ sender: 'john.doe@gmail.com',
119
+ receivedTime: '1749293811018',
120
+ fromAddress: 'john.doe@gmail.com',
121
+ status: '0',
122
+ },
123
+ });
124
+ //# sourceMappingURL=new-email-received-trigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new-email-received-trigger.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/zoho-mail/src/lib/triggers/new-email-received-trigger.ts"],"names":[],"mappings":";;;;AAAA,+DAMqC;AACrC,qEAIwC;AACxC,sCAA4C;AAC5C,yCAA8C;AAC9C,2CAAsD;AAOtD,MAAM,OAAO,GAA8D;IAC1E,QAAQ,EAAE,8BAAc,CAAC,SAAS;IAC5B,KAAK;qEAAC,EAAE,IAAI,EAAE,UAAU,EAAE,gBAAgB,EAAE;YACjD,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC;YAE3C,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,IAAI,OAAO,GAAG,IAAI,CAAC;YACnB,MAAM,WAAW,GAAG,EAAE,CAAC;YAEvB,GAAG,CAAC;gBACH,MAAM,WAAW,GAAgB;oBAChC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;oBACtB,KAAK,EAAE,gBAAgB,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;iBAC5C,CAAC;gBAEF,IAAI,QAAQ,EAAE,CAAC;oBACd,WAAW,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;gBACpC,CAAC;gBAED,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAe,EAAuC;oBAC5E,IAAI;oBACJ,WAAW,EAAE,aAAa,SAAS,gBAAgB;oBACnD,MAAM,EAAE,0BAAU,CAAC,GAAG;oBACtB,KAAK,EAAE,WAAW;iBAClB,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;gBAErC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC3B,MAAM;gBACP,CAAC;gBAED,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;oBAC5B,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;oBAC9C,IAAI,gBAAgB,GAAG,CAAC,IAAI,YAAY,IAAI,gBAAgB,EAAE,CAAC;wBAC9D,OAAO,GAAG,KAAK,CAAC;wBAChB,MAAM,CAAC,4BAA4B;oBACpC,CAAC;oBACD,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,yBAAyB;gBACjD,CAAC;gBAED,2CAA2C;gBAC3C,IAAI,gBAAgB,KAAK,CAAC;oBAAE,MAAM;gBAElC,IAAI,CAAC,OAAO,EAAE,CAAC;oBACd,MAAM;gBACP,CAAC;gBACD,IAAI,EAAE,CAAC;YACR,CAAC,QAAQ,OAAO,EAAE;YAElB,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC9B,OAAO;oBACN,iBAAiB,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;oBAC3C,IAAI,EAAE,GAAG;iBACT,CAAC;YACH,CAAC,CAAC,CAAC;QACJ,CAAC;KAAA;CACD,CAAC;AAEW,QAAA,uBAAuB,GAAG,IAAA,gCAAa,EAAC;IACpD,IAAI,EAAE,mBAAY;IAClB,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,oBAAoB;IACjC,WAAW,EAAE,yEAAyE;IACtF,KAAK,EAAE;QACN,SAAS,EAAE,IAAA,iBAAS,EAAC,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAChE,QAAQ,EAAE,IAAA,gBAAQ,EAAC;YAClB,WAAW,EAAE,QAAQ;YACrB,WAAW,EACV,4FAA4F;YAC7F,QAAQ,EAAE,KAAK;SACf,CAAC;KACF;IACD,IAAI,EAAE,kCAAe,CAAC,OAAO;IAEvB,QAAQ,CAAC,OAAO;;YACrB,MAAM,6BAAa,CAAC,QAAQ,CAAC,OAAO,EAAE;gBACrC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,UAAU,EAAE,OAAO,CAAC,UAAU;aAC9B,CAAC,CAAC;QACJ,CAAC;KAAA;IACK,SAAS,CAAC,OAAO;;YACtB,MAAM,6BAAa,CAAC,SAAS,CAAC,OAAO,EAAE;gBACtC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,UAAU,EAAE,OAAO,CAAC,UAAU;aAC9B,CAAC,CAAC;QACJ,CAAC;KAAA;IACK,IAAI,CAAC,OAAO;;YACjB,OAAO,MAAM,6BAAa,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;KAAA;IACK,GAAG,CAAC,OAAO;;YAChB,OAAO,MAAM,6BAAa,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;KAAA;IACD,UAAU,EAAE;QACX,OAAO,EAAE,WAAW;QACpB,aAAa,EAAE,eAAe;QAC9B,YAAY,EAAE,CAAC;QACf,OAAO,EAAE,WAAW;QACpB,SAAS,EAAE,qBAAqB;QAChC,MAAM,EAAE,cAAc;QACtB,OAAO,EAAE,GAAG;QACZ,QAAQ,EAAE,GAAG;QACb,SAAS,EAAE,OAAO;QAClB,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,qBAAqB;QAC/B,SAAS,EAAE,cAAc;QACzB,aAAa,EAAE,GAAG;QAClB,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,oBAAoB;QAC5B,YAAY,EAAE,eAAe;QAC7B,WAAW,EAAE,oBAAoB;QACjC,MAAM,EAAE,GAAG;KACX;CACD,CAAC,CAAC"}