@digipair/skill-imap 0.56.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/index.cjs.d.ts +1 -0
- package/index.cjs.js +297 -0
- package/index.d.ts +1 -0
- package/index.esm.js +28213 -0
- package/libs/skill-imap/src/index.d.ts +1 -0
- package/libs/skill-imap/src/lib/skill-imap.d.ts +25 -0
- package/package.json +9 -0
- package/schema.fr.json +889 -0
- package/schema.json +889 -0
package/index.cjs.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./src/index";
|
package/index.cjs.js
ADDED
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var engine = require('@digipair/engine');
|
|
6
|
+
var imapflow = require('imapflow');
|
|
7
|
+
|
|
8
|
+
function _extends() {
|
|
9
|
+
_extends = Object.assign || function assign(target) {
|
|
10
|
+
for(var i = 1; i < arguments.length; i++){
|
|
11
|
+
var source = arguments[i];
|
|
12
|
+
for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
|
|
13
|
+
}
|
|
14
|
+
return target;
|
|
15
|
+
};
|
|
16
|
+
return _extends.apply(this, arguments);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
let IMapService = class IMapService {
|
|
20
|
+
async connect(params, _pinsSettingsList, context) {
|
|
21
|
+
var _context_protected;
|
|
22
|
+
const { config, load = [], close = [], error = [], exists = [], expunge = [], flags = [], log = [], mailboxClose = [], mailboxOpen = [] } = params;
|
|
23
|
+
const client = new imapflow.ImapFlow(_extends({
|
|
24
|
+
logger: false
|
|
25
|
+
}, config));
|
|
26
|
+
await client.connect();
|
|
27
|
+
(_context_protected = context.protected) == null ? void 0 : _context_protected.signal.addEventListener('abort', ()=>{
|
|
28
|
+
client.logout();
|
|
29
|
+
});
|
|
30
|
+
client.on('close', async ()=>{
|
|
31
|
+
try {
|
|
32
|
+
await engine.executePinsList(close, _extends({}, context, {
|
|
33
|
+
imap: client
|
|
34
|
+
}));
|
|
35
|
+
} catch (error) {
|
|
36
|
+
const skillLogger = require('@digipair/skill-logger');
|
|
37
|
+
skillLogger.addLog(context, 'ERROR', error.message);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
client.on('error', async (data)=>{
|
|
41
|
+
try {
|
|
42
|
+
await engine.executePinsList(error, _extends({}, context, {
|
|
43
|
+
error: data,
|
|
44
|
+
imap: client
|
|
45
|
+
}));
|
|
46
|
+
} catch (error) {
|
|
47
|
+
const skillLogger = require('@digipair/skill-logger');
|
|
48
|
+
skillLogger.addLog(context, 'ERROR', error.message);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
client.on('exists', async (data)=>{
|
|
52
|
+
try {
|
|
53
|
+
await engine.executePinsList(exists, _extends({}, context, {
|
|
54
|
+
data,
|
|
55
|
+
imap: client
|
|
56
|
+
}));
|
|
57
|
+
} catch (error) {
|
|
58
|
+
const skillLogger = require('@digipair/skill-logger');
|
|
59
|
+
skillLogger.addLog(context, 'ERROR', error.message);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
client.on('expunge', async (data)=>{
|
|
63
|
+
try {
|
|
64
|
+
await engine.executePinsList(expunge, _extends({}, context, {
|
|
65
|
+
data,
|
|
66
|
+
imap: client
|
|
67
|
+
}));
|
|
68
|
+
} catch (error) {
|
|
69
|
+
const skillLogger = require('@digipair/skill-logger');
|
|
70
|
+
skillLogger.addLog(context, 'ERROR', error.message);
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
client.on('flags', async (data)=>{
|
|
74
|
+
try {
|
|
75
|
+
await engine.executePinsList(flags, _extends({}, context, {
|
|
76
|
+
data,
|
|
77
|
+
imap: client
|
|
78
|
+
}));
|
|
79
|
+
} catch (error) {
|
|
80
|
+
const skillLogger = require('@digipair/skill-logger');
|
|
81
|
+
skillLogger.addLog(context, 'ERROR', error.message);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
client.on('log', async (data)=>{
|
|
85
|
+
try {
|
|
86
|
+
await engine.executePinsList(log, _extends({}, context, {
|
|
87
|
+
data,
|
|
88
|
+
imap: client
|
|
89
|
+
}));
|
|
90
|
+
} catch (error) {
|
|
91
|
+
const skillLogger = require('@digipair/skill-logger');
|
|
92
|
+
skillLogger.addLog(context, 'ERROR', error.message);
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
client.on('mailboxClose', async (data)=>{
|
|
96
|
+
try {
|
|
97
|
+
await engine.executePinsList(mailboxClose, _extends({}, context, {
|
|
98
|
+
data,
|
|
99
|
+
imap: client
|
|
100
|
+
}));
|
|
101
|
+
} catch (error) {
|
|
102
|
+
const skillLogger = require('@digipair/skill-logger');
|
|
103
|
+
skillLogger.addLog(context, 'ERROR', error.message);
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
client.on('mailboxOpen', async (data)=>{
|
|
107
|
+
try {
|
|
108
|
+
await engine.executePinsList(mailboxOpen, _extends({}, context, {
|
|
109
|
+
data,
|
|
110
|
+
imap: client
|
|
111
|
+
}));
|
|
112
|
+
} catch (error) {
|
|
113
|
+
const skillLogger = require('@digipair/skill-logger');
|
|
114
|
+
skillLogger.addLog(context, 'ERROR', error.message);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
try {
|
|
118
|
+
await engine.executePinsList(load, _extends({}, context, {
|
|
119
|
+
imap: client
|
|
120
|
+
}));
|
|
121
|
+
} catch (error) {
|
|
122
|
+
const skillLogger = require('@digipair/skill-logger');
|
|
123
|
+
skillLogger.addLog(context, 'ERROR', error.message);
|
|
124
|
+
}
|
|
125
|
+
return client;
|
|
126
|
+
}
|
|
127
|
+
async search(params, _pinsSettingsList, context) {
|
|
128
|
+
const { client = context.imap, query, attachments = 'FULL' } = params;
|
|
129
|
+
let messages;
|
|
130
|
+
const list = await client.search(query);
|
|
131
|
+
const results = await client.fetchAll(list, {
|
|
132
|
+
envelope: true,
|
|
133
|
+
uid: true,
|
|
134
|
+
bodyStructure: true
|
|
135
|
+
});
|
|
136
|
+
messages = await Promise.all(results.map(async (message)=>{
|
|
137
|
+
var _message_bodyStructure_childNodes;
|
|
138
|
+
const contents = await client.downloadMany(message.seq.toString(), ((_message_bodyStructure_childNodes = message.bodyStructure.childNodes) == null ? void 0 : _message_bodyStructure_childNodes.map((node)=>node.part)) || [
|
|
139
|
+
'1'
|
|
140
|
+
]);
|
|
141
|
+
const contentTextKey = Object.keys(contents).find((key)=>{
|
|
142
|
+
var _message_bodyStructure_childNodes_find, _message_bodyStructure_childNodes;
|
|
143
|
+
return contents[key].meta.contentType === 'text/plain' && !((_message_bodyStructure_childNodes = message.bodyStructure.childNodes) == null ? void 0 : (_message_bodyStructure_childNodes_find = _message_bodyStructure_childNodes.find((node)=>node.part === key)) == null ? void 0 : _message_bodyStructure_childNodes_find.disposition);
|
|
144
|
+
});
|
|
145
|
+
const contentHtmlKey = Object.keys(contents).find((key)=>{
|
|
146
|
+
var _message_bodyStructure_childNodes_find, _message_bodyStructure_childNodes;
|
|
147
|
+
return contents[key].meta.contentType === 'text/html' && !((_message_bodyStructure_childNodes = message.bodyStructure.childNodes) == null ? void 0 : (_message_bodyStructure_childNodes_find = _message_bodyStructure_childNodes.find((node)=>node.part === key)) == null ? void 0 : _message_bodyStructure_childNodes_find.disposition);
|
|
148
|
+
});
|
|
149
|
+
return _extends({}, message, {
|
|
150
|
+
contentText: contentTextKey !== undefined ? contents[contentTextKey].content.toString('UTF8') : '',
|
|
151
|
+
contentHtml: contentHtmlKey !== undefined ? contents[contentHtmlKey].content.toString('UTF8') : '',
|
|
152
|
+
attachments: Object.keys(contents).filter((key)=>key !== contentTextKey && key !== contentHtmlKey).filter((node)=>attachments === 'FULL' ? true : attachments === 'INLINE' ? node.disposition !== 'attachment' : false).map((key)=>({
|
|
153
|
+
meta: contents[key].meta,
|
|
154
|
+
content: contents[key].content.toString('base64')
|
|
155
|
+
}))
|
|
156
|
+
});
|
|
157
|
+
}));
|
|
158
|
+
return messages;
|
|
159
|
+
}
|
|
160
|
+
async getMailboxLock(params, _pinsSettingsList, context) {
|
|
161
|
+
const { client = context.imap, path = 'INBOX', options = {} } = params;
|
|
162
|
+
return client.getMailboxLock(path, options);
|
|
163
|
+
}
|
|
164
|
+
async getQuota(params, _pinsSettingsList, context) {
|
|
165
|
+
const { client = context.imap, path } = params;
|
|
166
|
+
return client.getQuota(path);
|
|
167
|
+
}
|
|
168
|
+
async idle(params, _pinsSettingsList, context) {
|
|
169
|
+
const { client = context.imap } = params;
|
|
170
|
+
return client.idle();
|
|
171
|
+
}
|
|
172
|
+
async list(params, _pinsSettingsList, context) {
|
|
173
|
+
const { client = context.imap, options = {} } = params;
|
|
174
|
+
return client.list(options);
|
|
175
|
+
}
|
|
176
|
+
async listTree(params, _pinsSettingsList, context) {
|
|
177
|
+
const { client = context.imap, options = {} } = params;
|
|
178
|
+
return client.listTree(options);
|
|
179
|
+
}
|
|
180
|
+
async logout(params, _pinsSettingsList, context) {
|
|
181
|
+
const { client = context.imap } = params;
|
|
182
|
+
return client.logout();
|
|
183
|
+
}
|
|
184
|
+
async mailboxClose(params, _pinsSettingsList, context) {
|
|
185
|
+
const { client = context.imap } = params;
|
|
186
|
+
return client.mailboxClose();
|
|
187
|
+
}
|
|
188
|
+
async mailboxCreate(params, _pinsSettingsList, context) {
|
|
189
|
+
const { client = context.imap, path } = params;
|
|
190
|
+
return client.mailboxCreate(path);
|
|
191
|
+
}
|
|
192
|
+
async mailboxDelete(params, _pinsSettingsList, context) {
|
|
193
|
+
const { client = context.imap, path } = params;
|
|
194
|
+
return client.mailboxDelete(path);
|
|
195
|
+
}
|
|
196
|
+
async mailboxOpen(params, _pinsSettingsList, context) {
|
|
197
|
+
const { client = context.imap, path, options = {} } = params;
|
|
198
|
+
return client.mailboxOpen(path, options);
|
|
199
|
+
}
|
|
200
|
+
async mailboxRename(params, _pinsSettingsList, context) {
|
|
201
|
+
const { client = context.imap, path, newPath } = params;
|
|
202
|
+
return client.mailboxRename(path, newPath);
|
|
203
|
+
}
|
|
204
|
+
async mailboxSubscribe(params, _pinsSettingsList, context) {
|
|
205
|
+
const { client = context.imap, path } = params;
|
|
206
|
+
return client.mailboxSubscribe(path);
|
|
207
|
+
}
|
|
208
|
+
async mailboxUnsubscribe(params, _pinsSettingsList, context) {
|
|
209
|
+
const { client = context.imap, path } = params;
|
|
210
|
+
return client.mailboxUnsubscribe(path);
|
|
211
|
+
}
|
|
212
|
+
async messageCopy(params, _pinsSettingsList, context) {
|
|
213
|
+
const { client = context.imap, range, destination, options = {} } = params;
|
|
214
|
+
return client.messageCopy(range, destination, options);
|
|
215
|
+
}
|
|
216
|
+
async messageDelete(params, _pinsSettingsList, context) {
|
|
217
|
+
const { client = context.imap, range, options = {} } = params;
|
|
218
|
+
return client.messageDelete(range, options);
|
|
219
|
+
}
|
|
220
|
+
async messageFlagsAdd(params, _pinsSettingsList, context) {
|
|
221
|
+
const { client = context.imap, range, flags, options = {} } = params;
|
|
222
|
+
return client.messageFlagsAdd(range, flags, options);
|
|
223
|
+
}
|
|
224
|
+
async messageFlagsRemove(params, _pinsSettingsList, context) {
|
|
225
|
+
const { client = context.imap, range, flags, options = {} } = params;
|
|
226
|
+
return client.messageFlagsRemove(range, flags, options);
|
|
227
|
+
}
|
|
228
|
+
async messageFlagsSet(params, _pinsSettingsList, context) {
|
|
229
|
+
const { client = context.imap, range, flags, options = {} } = params;
|
|
230
|
+
return client.messageFlagsSet(range, flags, options);
|
|
231
|
+
}
|
|
232
|
+
async messageMove(params, _pinsSettingsList, context) {
|
|
233
|
+
const { client = context.imap, range, destination, options = {} } = params;
|
|
234
|
+
return client.messageMove(range, destination, options);
|
|
235
|
+
}
|
|
236
|
+
async noop(params, _pinsSettingsList, context) {
|
|
237
|
+
const { client = context.imap } = params;
|
|
238
|
+
return client.noop();
|
|
239
|
+
}
|
|
240
|
+
async setFlagColor(params, _pinsSettingsList, context) {
|
|
241
|
+
const { client = context.imap, flag, color } = params;
|
|
242
|
+
return client.setFlagColor(flag, color);
|
|
243
|
+
}
|
|
244
|
+
async status(params, _pinsSettingsList, context) {
|
|
245
|
+
const { client = context.imap, path, query } = params;
|
|
246
|
+
return client.status(path, query);
|
|
247
|
+
}
|
|
248
|
+
};
|
|
249
|
+
const connect = (params, pinsSettingsList, context)=>new IMapService().connect(params, pinsSettingsList, context);
|
|
250
|
+
const search = (params, pinsSettingsList, context)=>new IMapService().search(params, pinsSettingsList, context);
|
|
251
|
+
const getMailboxLock = (params, pinsSettingsList, context)=>new IMapService().getMailboxLock(params, pinsSettingsList, context);
|
|
252
|
+
const getQuota = (params, pinsSettingsList, context)=>new IMapService().getQuota(params, pinsSettingsList, context);
|
|
253
|
+
const idle = (params, pinsSettingsList, context)=>new IMapService().idle(params, pinsSettingsList, context);
|
|
254
|
+
const list = (params, pinsSettingsList, context)=>new IMapService().list(params, pinsSettingsList, context);
|
|
255
|
+
const listTree = (params, pinsSettingsList, context)=>new IMapService().listTree(params, pinsSettingsList, context);
|
|
256
|
+
const logout = (params, pinsSettingsList, context)=>new IMapService().logout(params, pinsSettingsList, context);
|
|
257
|
+
const mailboxClose = (params, pinsSettingsList, context)=>new IMapService().mailboxClose(params, pinsSettingsList, context);
|
|
258
|
+
const mailboxCreate = (params, pinsSettingsList, context)=>new IMapService().mailboxCreate(params, pinsSettingsList, context);
|
|
259
|
+
const mailboxDelete = (params, pinsSettingsList, context)=>new IMapService().mailboxDelete(params, pinsSettingsList, context);
|
|
260
|
+
const mailboxOpen = (params, pinsSettingsList, context)=>new IMapService().mailboxOpen(params, pinsSettingsList, context);
|
|
261
|
+
const mailboxRename = (params, pinsSettingsList, context)=>new IMapService().mailboxRename(params, pinsSettingsList, context);
|
|
262
|
+
const mailboxSubscribe = (params, pinsSettingsList, context)=>new IMapService().mailboxSubscribe(params, pinsSettingsList, context);
|
|
263
|
+
const mailboxUnsubscribe = (params, pinsSettingsList, context)=>new IMapService().mailboxUnsubscribe(params, pinsSettingsList, context);
|
|
264
|
+
const messageCopy = (params, pinsSettingsList, context)=>new IMapService().messageCopy(params, pinsSettingsList, context);
|
|
265
|
+
const messageDelete = (params, pinsSettingsList, context)=>new IMapService().messageDelete(params, pinsSettingsList, context);
|
|
266
|
+
const messageFlagsAdd = (params, pinsSettingsList, context)=>new IMapService().messageFlagsAdd(params, pinsSettingsList, context);
|
|
267
|
+
const messageFlagsRemove = (params, pinsSettingsList, context)=>new IMapService().messageFlagsRemove(params, pinsSettingsList, context);
|
|
268
|
+
const messageFlagsSet = (params, pinsSettingsList, context)=>new IMapService().messageFlagsSet(params, pinsSettingsList, context);
|
|
269
|
+
const messageMove = (params, pinsSettingsList, context)=>new IMapService().messageMove(params, pinsSettingsList, context);
|
|
270
|
+
const noop = (params, pinsSettingsList, context)=>new IMapService().noop(params, pinsSettingsList, context);
|
|
271
|
+
const setFlagColor = (params, pinsSettingsList, context)=>new IMapService().setFlagColor(params, pinsSettingsList, context);
|
|
272
|
+
const status = (params, pinsSettingsList, context)=>new IMapService().status(params, pinsSettingsList, context);
|
|
273
|
+
|
|
274
|
+
exports.connect = connect;
|
|
275
|
+
exports.getMailboxLock = getMailboxLock;
|
|
276
|
+
exports.getQuota = getQuota;
|
|
277
|
+
exports.idle = idle;
|
|
278
|
+
exports.list = list;
|
|
279
|
+
exports.listTree = listTree;
|
|
280
|
+
exports.logout = logout;
|
|
281
|
+
exports.mailboxClose = mailboxClose;
|
|
282
|
+
exports.mailboxCreate = mailboxCreate;
|
|
283
|
+
exports.mailboxDelete = mailboxDelete;
|
|
284
|
+
exports.mailboxOpen = mailboxOpen;
|
|
285
|
+
exports.mailboxRename = mailboxRename;
|
|
286
|
+
exports.mailboxSubscribe = mailboxSubscribe;
|
|
287
|
+
exports.mailboxUnsubscribe = mailboxUnsubscribe;
|
|
288
|
+
exports.messageCopy = messageCopy;
|
|
289
|
+
exports.messageDelete = messageDelete;
|
|
290
|
+
exports.messageFlagsAdd = messageFlagsAdd;
|
|
291
|
+
exports.messageFlagsRemove = messageFlagsRemove;
|
|
292
|
+
exports.messageFlagsSet = messageFlagsSet;
|
|
293
|
+
exports.messageMove = messageMove;
|
|
294
|
+
exports.noop = noop;
|
|
295
|
+
exports.search = search;
|
|
296
|
+
exports.setFlagColor = setFlagColor;
|
|
297
|
+
exports.status = status;
|
package/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './libs/skill-imap/src/index';
|