nylas 7.5.2 → 7.6.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/lib/cjs/apiClient.js +1 -0
- package/lib/cjs/models/webhooks.js +27 -0
- package/lib/cjs/resources/auth.js +2 -2
- package/lib/cjs/resources/messages.js +3 -8
- package/lib/cjs/resources/webhooks.js +1 -1
- package/lib/cjs/version.js +1 -1
- package/lib/esm/apiClient.js +1 -0
- package/lib/esm/models/webhooks.js +27 -0
- package/lib/esm/resources/auth.js +1 -1
- package/lib/esm/resources/messages.js +3 -8
- package/lib/esm/resources/webhooks.js +1 -1
- package/lib/esm/version.js +1 -1
- package/lib/types/apiClient.d.ts +1 -1
- package/lib/types/models/attachments.d.ts +5 -2
- package/lib/types/models/auth.d.ts +1 -1
- package/lib/types/models/events.d.ts +11 -2
- package/lib/types/models/webhooks.d.ts +19 -1
- package/lib/types/resources/messages.d.ts +1 -1
- package/lib/types/version.d.ts +1 -1
- package/package.json +1 -2
package/lib/cjs/apiClient.js
CHANGED
|
@@ -115,6 +115,7 @@ class APIClient {
|
|
|
115
115
|
requestOptions.body = JSON.stringify((0, utils_js_1.objKeysToSnakeCase)(optionParams.body, ['metadata']) // metadata should remain as is
|
|
116
116
|
);
|
|
117
117
|
requestOptions.headers['Content-Type'] = 'application/json';
|
|
118
|
+
requestOptions.headers['Accept-Encoding'] = 'gzip';
|
|
118
119
|
}
|
|
119
120
|
if (optionParams.form) {
|
|
120
121
|
requestOptions.body = optionParams.form;
|
|
@@ -6,16 +6,43 @@ exports.WebhookTriggers = void 0;
|
|
|
6
6
|
*/
|
|
7
7
|
var WebhookTriggers;
|
|
8
8
|
(function (WebhookTriggers) {
|
|
9
|
+
// Calendar triggers
|
|
9
10
|
WebhookTriggers["CalendarCreated"] = "calendar.created";
|
|
10
11
|
WebhookTriggers["CalendarUpdated"] = "calendar.updated";
|
|
11
12
|
WebhookTriggers["CalendarDeleted"] = "calendar.deleted";
|
|
13
|
+
// Event triggers
|
|
12
14
|
WebhookTriggers["EventCreated"] = "event.created";
|
|
13
15
|
WebhookTriggers["EventUpdated"] = "event.updated";
|
|
14
16
|
WebhookTriggers["EventDeleted"] = "event.deleted";
|
|
17
|
+
// Grant triggers
|
|
15
18
|
WebhookTriggers["GrantCreated"] = "grant.created";
|
|
16
19
|
WebhookTriggers["GrantUpdated"] = "grant.updated";
|
|
17
20
|
WebhookTriggers["GrantDeleted"] = "grant.deleted";
|
|
18
21
|
WebhookTriggers["GrantExpired"] = "grant.expired";
|
|
22
|
+
// Message triggers
|
|
23
|
+
WebhookTriggers["MessageCreated"] = "message.created";
|
|
24
|
+
WebhookTriggers["MessageUpdated"] = "message.updated";
|
|
19
25
|
WebhookTriggers["MessageSendSuccess"] = "message.send_success";
|
|
20
26
|
WebhookTriggers["MessageSendFailed"] = "message.send_failed";
|
|
27
|
+
WebhookTriggers["MessageBounceDetected"] = "message.bounce_detected";
|
|
28
|
+
// Message tracking triggers
|
|
29
|
+
WebhookTriggers["MessageOpened"] = "message.opened";
|
|
30
|
+
WebhookTriggers["MessageLinkClicked"] = "message.link_clicked";
|
|
31
|
+
WebhookTriggers["ThreadReplied"] = "thread.replied";
|
|
32
|
+
// ExtractAI triggers
|
|
33
|
+
WebhookTriggers["MessageIntelligenceOrder"] = "message.intelligence.order";
|
|
34
|
+
WebhookTriggers["MessageIntelligenceTracking"] = "message.intelligence.tracking";
|
|
35
|
+
// Folder triggers
|
|
36
|
+
WebhookTriggers["FolderCreated"] = "folder.created";
|
|
37
|
+
WebhookTriggers["FolderUpdated"] = "folder.updated";
|
|
38
|
+
WebhookTriggers["FolderDeleted"] = "folder.deleted";
|
|
39
|
+
// Contact triggers
|
|
40
|
+
WebhookTriggers["ContactUpdated"] = "contact.updated";
|
|
41
|
+
WebhookTriggers["ContactDeleted"] = "contact.deleted";
|
|
42
|
+
// Scheduler triggers
|
|
43
|
+
WebhookTriggers["BookingCreated"] = "booking.created";
|
|
44
|
+
WebhookTriggers["BookingPending"] = "booking.pending";
|
|
45
|
+
WebhookTriggers["BookingRescheduled"] = "booking.rescheduled";
|
|
46
|
+
WebhookTriggers["BookingCancelled"] = "booking.cancelled";
|
|
47
|
+
WebhookTriggers["BookingReminder"] = "booking.reminder";
|
|
21
48
|
})(WebhookTriggers = exports.WebhookTriggers || (exports.WebhookTriggers = {}));
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Auth = void 0;
|
|
4
4
|
const uuid_1 = require("uuid");
|
|
5
|
-
const
|
|
5
|
+
const crypto_1 = require("crypto");
|
|
6
6
|
const resource_js_1 = require("./resource.js");
|
|
7
7
|
/**
|
|
8
8
|
* A collection of authentication related API endpoints
|
|
@@ -165,7 +165,7 @@ class Auth extends resource_js_1.Resource {
|
|
|
165
165
|
return url;
|
|
166
166
|
}
|
|
167
167
|
hashPKCESecret(secret) {
|
|
168
|
-
const hash = (0,
|
|
168
|
+
const hash = (0, crypto_1.createHash)('sha256')
|
|
169
169
|
.update(secret)
|
|
170
170
|
.digest('hex');
|
|
171
171
|
return Buffer.from(hash)
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Messages = void 0;
|
|
4
4
|
const resource_js_1 = require("./resource.js");
|
|
5
|
-
const FormData = require("form-data");
|
|
6
5
|
const utils_js_1 = require("../utils.js");
|
|
7
6
|
const smartCompose_js_1 = require("./smartCompose.js");
|
|
8
7
|
/**
|
|
@@ -133,14 +132,10 @@ class Messages extends resource_js_1.Resource {
|
|
|
133
132
|
});
|
|
134
133
|
}
|
|
135
134
|
static _buildFormRequest(requestBody) {
|
|
136
|
-
let form;
|
|
137
135
|
// FormData imports are funky, cjs needs to use .default, es6 doesn't
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
else {
|
|
142
|
-
form = new FormData();
|
|
143
|
-
}
|
|
136
|
+
const FD = require('form-data');
|
|
137
|
+
const FormDataConstructor = FD.default || FD;
|
|
138
|
+
const form = new FormDataConstructor();
|
|
144
139
|
// Split out the message payload from the attachments
|
|
145
140
|
const messagePayload = {
|
|
146
141
|
...requestBody,
|
|
@@ -65,7 +65,7 @@ class Webhooks extends resource_js_1.Resource {
|
|
|
65
65
|
* @returns The updated webhook destination with the webhook secret
|
|
66
66
|
*/
|
|
67
67
|
rotateSecret({ webhookId, overrides, }) {
|
|
68
|
-
return super.
|
|
68
|
+
return super._create({
|
|
69
69
|
path: `/v3/webhooks/${webhookId}/rotate-secret`,
|
|
70
70
|
requestBody: {},
|
|
71
71
|
overrides,
|
package/lib/cjs/version.js
CHANGED
package/lib/esm/apiClient.js
CHANGED
|
@@ -113,6 +113,7 @@ export default class APIClient {
|
|
|
113
113
|
requestOptions.body = JSON.stringify(objKeysToSnakeCase(optionParams.body, ['metadata']) // metadata should remain as is
|
|
114
114
|
);
|
|
115
115
|
requestOptions.headers['Content-Type'] = 'application/json';
|
|
116
|
+
requestOptions.headers['Accept-Encoding'] = 'gzip';
|
|
116
117
|
}
|
|
117
118
|
if (optionParams.form) {
|
|
118
119
|
requestOptions.body = optionParams.form;
|
|
@@ -3,16 +3,43 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export var WebhookTriggers;
|
|
5
5
|
(function (WebhookTriggers) {
|
|
6
|
+
// Calendar triggers
|
|
6
7
|
WebhookTriggers["CalendarCreated"] = "calendar.created";
|
|
7
8
|
WebhookTriggers["CalendarUpdated"] = "calendar.updated";
|
|
8
9
|
WebhookTriggers["CalendarDeleted"] = "calendar.deleted";
|
|
10
|
+
// Event triggers
|
|
9
11
|
WebhookTriggers["EventCreated"] = "event.created";
|
|
10
12
|
WebhookTriggers["EventUpdated"] = "event.updated";
|
|
11
13
|
WebhookTriggers["EventDeleted"] = "event.deleted";
|
|
14
|
+
// Grant triggers
|
|
12
15
|
WebhookTriggers["GrantCreated"] = "grant.created";
|
|
13
16
|
WebhookTriggers["GrantUpdated"] = "grant.updated";
|
|
14
17
|
WebhookTriggers["GrantDeleted"] = "grant.deleted";
|
|
15
18
|
WebhookTriggers["GrantExpired"] = "grant.expired";
|
|
19
|
+
// Message triggers
|
|
20
|
+
WebhookTriggers["MessageCreated"] = "message.created";
|
|
21
|
+
WebhookTriggers["MessageUpdated"] = "message.updated";
|
|
16
22
|
WebhookTriggers["MessageSendSuccess"] = "message.send_success";
|
|
17
23
|
WebhookTriggers["MessageSendFailed"] = "message.send_failed";
|
|
24
|
+
WebhookTriggers["MessageBounceDetected"] = "message.bounce_detected";
|
|
25
|
+
// Message tracking triggers
|
|
26
|
+
WebhookTriggers["MessageOpened"] = "message.opened";
|
|
27
|
+
WebhookTriggers["MessageLinkClicked"] = "message.link_clicked";
|
|
28
|
+
WebhookTriggers["ThreadReplied"] = "thread.replied";
|
|
29
|
+
// ExtractAI triggers
|
|
30
|
+
WebhookTriggers["MessageIntelligenceOrder"] = "message.intelligence.order";
|
|
31
|
+
WebhookTriggers["MessageIntelligenceTracking"] = "message.intelligence.tracking";
|
|
32
|
+
// Folder triggers
|
|
33
|
+
WebhookTriggers["FolderCreated"] = "folder.created";
|
|
34
|
+
WebhookTriggers["FolderUpdated"] = "folder.updated";
|
|
35
|
+
WebhookTriggers["FolderDeleted"] = "folder.deleted";
|
|
36
|
+
// Contact triggers
|
|
37
|
+
WebhookTriggers["ContactUpdated"] = "contact.updated";
|
|
38
|
+
WebhookTriggers["ContactDeleted"] = "contact.deleted";
|
|
39
|
+
// Scheduler triggers
|
|
40
|
+
WebhookTriggers["BookingCreated"] = "booking.created";
|
|
41
|
+
WebhookTriggers["BookingPending"] = "booking.pending";
|
|
42
|
+
WebhookTriggers["BookingRescheduled"] = "booking.rescheduled";
|
|
43
|
+
WebhookTriggers["BookingCancelled"] = "booking.cancelled";
|
|
44
|
+
WebhookTriggers["BookingReminder"] = "booking.reminder";
|
|
18
45
|
})(WebhookTriggers || (WebhookTriggers = {}));
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Resource } from './resource.js';
|
|
2
|
-
import * as FormData from 'form-data';
|
|
3
2
|
import { encodeAttachmentStreams, objKeysToSnakeCase } from '../utils.js';
|
|
4
3
|
import { SmartCompose } from './smartCompose.js';
|
|
5
4
|
/**
|
|
@@ -130,14 +129,10 @@ export class Messages extends Resource {
|
|
|
130
129
|
});
|
|
131
130
|
}
|
|
132
131
|
static _buildFormRequest(requestBody) {
|
|
133
|
-
let form;
|
|
134
132
|
// FormData imports are funky, cjs needs to use .default, es6 doesn't
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
else {
|
|
139
|
-
form = new FormData();
|
|
140
|
-
}
|
|
133
|
+
const FD = require('form-data');
|
|
134
|
+
const FormDataConstructor = FD.default || FD;
|
|
135
|
+
const form = new FormDataConstructor();
|
|
141
136
|
// Split out the message payload from the attachments
|
|
142
137
|
const messagePayload = {
|
|
143
138
|
...requestBody,
|
|
@@ -62,7 +62,7 @@ export class Webhooks extends Resource {
|
|
|
62
62
|
* @returns The updated webhook destination with the webhook secret
|
|
63
63
|
*/
|
|
64
64
|
rotateSecret({ webhookId, overrides, }) {
|
|
65
|
-
return super.
|
|
65
|
+
return super._create({
|
|
66
66
|
path: `/v3/webhooks/${webhookId}/rotate-secret`,
|
|
67
67
|
requestBody: {},
|
|
68
68
|
overrides,
|
package/lib/esm/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// This file is generated by scripts/exportVersion.js
|
|
2
|
-
export const SDK_VERSION = '7.
|
|
2
|
+
export const SDK_VERSION = '7.6.1';
|
package/lib/types/apiClient.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// <reference types="node" />
|
|
3
3
|
import { Request, Response } from 'node-fetch';
|
|
4
4
|
import { NylasConfig, OverridableNylasConfig } from './config.js';
|
|
5
|
-
import
|
|
5
|
+
import FormData from 'form-data';
|
|
6
6
|
/**
|
|
7
7
|
* Options for a request to the Nylas API
|
|
8
8
|
* @property path The path to the API endpoint
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
2
3
|
/**
|
|
3
4
|
* Interface of an attachment object from Nylas.
|
|
4
5
|
*/
|
|
@@ -34,9 +35,11 @@ interface BaseAttachment {
|
|
|
34
35
|
export interface CreateAttachmentRequest extends BaseAttachment {
|
|
35
36
|
/**
|
|
36
37
|
* Content of the attachment.
|
|
37
|
-
* It can either be a readable stream
|
|
38
|
+
* It can either be a readable stream, a base64 encoded string, or a buffer.
|
|
39
|
+
* For attachments less than 3MB, the content can be a readable stream, or a base64 encoded string.
|
|
40
|
+
* For attachments greater than 3MB, the content must be either a readable stream or a buffer.
|
|
38
41
|
*/
|
|
39
|
-
content: NodeJS.ReadableStream | string;
|
|
42
|
+
content: NodeJS.ReadableStream | string | Buffer;
|
|
40
43
|
}
|
|
41
44
|
/**
|
|
42
45
|
* Interface of an attachment object from Nylas.
|
|
@@ -5,7 +5,7 @@ type AccessType = 'online' | 'offline';
|
|
|
5
5
|
/**
|
|
6
6
|
* Type for the different OAuth providers Nylas supports.
|
|
7
7
|
*/
|
|
8
|
-
export type Provider = 'google' | 'imap' | 'microsoft' | 'icloud' | 'virtual-calendar';
|
|
8
|
+
export type Provider = 'google' | 'imap' | 'microsoft' | 'icloud' | 'virtual-calendar' | 'ews';
|
|
9
9
|
/**
|
|
10
10
|
* Configuration for generating a URL for OAuth 2.0 authentication.
|
|
11
11
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ListQueryParams } from './listQueryParams.js';
|
|
2
1
|
import { Subset } from '../utils.js';
|
|
3
|
-
import { NylasBaseResponse } from './response.js';
|
|
4
2
|
import { NylasApiErrorResponseData } from './error.js';
|
|
3
|
+
import { ListQueryParams } from './listQueryParams.js';
|
|
4
|
+
import { NylasBaseResponse } from './response.js';
|
|
5
5
|
/**
|
|
6
6
|
* Interface representing a Nylas Event object.
|
|
7
7
|
*/
|
|
@@ -273,6 +273,15 @@ export interface ListEventQueryParams extends ListQueryParams {
|
|
|
273
273
|
* You can pass the query parameter multiple times to select or exclude multiple event types.
|
|
274
274
|
*/
|
|
275
275
|
eventType?: EventType[];
|
|
276
|
+
/**
|
|
277
|
+
* Filter for events that include the specified attendees.
|
|
278
|
+
* Not supported for virtual calendars.
|
|
279
|
+
*/
|
|
280
|
+
attendees?: string[];
|
|
281
|
+
/**
|
|
282
|
+
* Master event id if recurring events.
|
|
283
|
+
*/
|
|
284
|
+
masterEventId?: string;
|
|
276
285
|
}
|
|
277
286
|
/**
|
|
278
287
|
* Interface representing of the query parameters for creating an event.
|
|
@@ -118,8 +118,26 @@ export declare enum WebhookTriggers {
|
|
|
118
118
|
GrantUpdated = "grant.updated",
|
|
119
119
|
GrantDeleted = "grant.deleted",
|
|
120
120
|
GrantExpired = "grant.expired",
|
|
121
|
+
MessageCreated = "message.created",
|
|
122
|
+
MessageUpdated = "message.updated",
|
|
121
123
|
MessageSendSuccess = "message.send_success",
|
|
122
|
-
MessageSendFailed = "message.send_failed"
|
|
124
|
+
MessageSendFailed = "message.send_failed",
|
|
125
|
+
MessageBounceDetected = "message.bounce_detected",
|
|
126
|
+
MessageOpened = "message.opened",
|
|
127
|
+
MessageLinkClicked = "message.link_clicked",
|
|
128
|
+
ThreadReplied = "thread.replied",
|
|
129
|
+
MessageIntelligenceOrder = "message.intelligence.order",
|
|
130
|
+
MessageIntelligenceTracking = "message.intelligence.tracking",
|
|
131
|
+
FolderCreated = "folder.created",
|
|
132
|
+
FolderUpdated = "folder.updated",
|
|
133
|
+
FolderDeleted = "folder.deleted",
|
|
134
|
+
ContactUpdated = "contact.updated",
|
|
135
|
+
ContactDeleted = "contact.deleted",
|
|
136
|
+
BookingCreated = "booking.created",
|
|
137
|
+
BookingPending = "booking.pending",
|
|
138
|
+
BookingRescheduled = "booking.rescheduled",
|
|
139
|
+
BookingCancelled = "booking.cancelled",
|
|
140
|
+
BookingReminder = "booking.reminder"
|
|
123
141
|
}
|
|
124
142
|
/**
|
|
125
143
|
* Enum representing the available webhook statuses.
|
|
@@ -3,7 +3,7 @@ import { CleanMessagesRequest, CleanMessagesResponse, FindMessageQueryParams, Li
|
|
|
3
3
|
import { Overrides } from '../config.js';
|
|
4
4
|
import { NylasBaseResponse, NylasListResponse, NylasResponse } from '../models/response.js';
|
|
5
5
|
import { CreateDraftRequest, SendMessageRequest, UpdateDraftRequest } from '../models/drafts.js';
|
|
6
|
-
import
|
|
6
|
+
import FormData from 'form-data';
|
|
7
7
|
import { SmartCompose } from './smartCompose.js';
|
|
8
8
|
import APIClient from '../apiClient.js';
|
|
9
9
|
/**
|
package/lib/types/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "7.
|
|
1
|
+
export declare const SDK_VERSION = "7.6.1";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nylas",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.6.1",
|
|
4
4
|
"description": "A NodeJS wrapper for the Nylas REST API for email, contacts, and calendar.",
|
|
5
5
|
"main": "lib/cjs/nylas.js",
|
|
6
6
|
"types": "lib/types/nylas.d.ts",
|
|
@@ -40,7 +40,6 @@
|
|
|
40
40
|
"license": "MIT",
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"change-case": "^4.1.2",
|
|
43
|
-
"eslint-plugin-import": "^2.28.1",
|
|
44
43
|
"form-data": "^4.0.0",
|
|
45
44
|
"mime-types": "^2.1.35",
|
|
46
45
|
"node-fetch": "^2.6.12",
|