flexbiz-server
Version:
Flexible Server
6 lines (5 loc) • 2.19 kB
JavaScript
const model=global.getModel("mailreceived"),controller=require("../../controllers/controller"),underscore=require("underscore"),path=require("path"),fs=require("fs");
module.exports=function($contr_router$$){const $domain$$=configs.domain;$contr_router$$=new controller($contr_router$$,model,"mailreceived",{sort:{date_created:-1},notNeedRight:!0,onFinding:function($user$$,$condition$$,$next$$){$condition$$.user_created=$user$$.email;$next$$(null,$condition$$)},onView:function($user$$,$items$$,$next$$){$items$$.forEach(function($item$$){$item$$.attachments&&$item$$.mail&&$item$$.mail.html&&$item$$.attachments.forEach(function($att$$){var $url_img$$=$domain$$+"/api/attachments/"+
$item$$._id+"/"+$att$$.contentId+"?access_token="+$user$$.token;$item$$.mail.html=$item$$.mail.html.split("cid:"+$att$$.contentId).join($url_img$$)})});$next$$(null,$items$$)},onDeleted:function($user$$,$obj$$,$next$$){$obj$$.attachments&&$obj$$.attachments.length>0&&$obj$$.attachments.forEach(function($att$$){$att$$=$att$$.path;var $root$$=__dirname;$root$$=path.dirname($root$$);$root$$=path.dirname($root$$);$att$$=path.join($root$$,$att$$);fs.existsSync($att$$)&&fs.unlink($att$$,()=>{})});$next$$(null,
$obj$$)}});$contr_router$$.route(function($router$$){$router$$.route("/attachments/:emailId/:contentId").get(function($req$$,$res$$){var $contentId$$=$req$$.params.contentId;model.findOne({_id:$req$$.params.emailId},{attachments:1}).lean().exec(function($att$$,$email_file_name$$){if($att$$)return $res$$.send($att$$);if($email_file_name$$&&$email_file_name$$.attachments)if($att$$=underscore.find($email_file_name$$.attachments,function($a$$){return $a$$.contentId==$contentId$$})){$email_file_name$$=
$att$$.path;var $root$$=__dirname;$root$$=path.dirname($root$$);$root$$=path.dirname($root$$);$email_file_name$$=path.join($root$$,$email_file_name$$);fs.existsSync($email_file_name$$)?$res$$.download($email_file_name$$,$att$$.fileName):$res$$.status(400).send("File n\u00e0y kh\u00f4ng t\u1ed3n t\u1ea1i")}else $res$$.status(400).send("File n\u00e0y kh\u00f4ng t\u1ed3n t\u1ea1i");else $res$$.status(400).send("Kh\u00f4ng t\u00ecm th\u1ea5y file n\u00e0y")})})});$contr_router$$.route()};