Files
minisrv/zefie_wtvp_minisrv/ServiceVault/wtv-mail/get-attachment.js
zefie 37f1ab67ad BREAKING CHANGES: (for SeCuRiTy):
By default:
- `ssid_sessions[socket.ssid]` is now `session_data`
- `require` is no longer allowed in user scripts

To access global `socket_sessions` and `ssid_sessions`, as well as `require` additional modules, you must set `privileged: true` for the specific service. See `config.json`.
2022-10-09 13:26:14 -04:00

21 lines
839 B
JavaScript

var minisrv_service_file = true;
var errpage = null;
var messageid = request_headers.query.message_id;
var attachment_id = request_headers.query.attachment_id;
if (!attachment_id && attachment_id != 0) errpage = wtvshared.doErrorPage(400, "Attachment ID required.");
else {
var message = session_data.mailstore.getMessageByID(messageid);
if (!message) errpage = wtvshared.doErrorPage(400, "Invalid Message ID");
else {
if (!message.attachments) message.attachments = []; // backwards compat
if (attachment_id > message.attachments.length) errpage = wtvshared.doErrorPage(400, "Invalid Attachment ID");
}
}
if (!errpage) {
headers = `200 OK
Content-Type: ${message.attachments[attachment_id]['Content-Type']}`;
data = new Buffer.from(message.attachments[attachment_id]['data'], 'base64');
}