flexbiz-server 12.0.21 → 12.0.24
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/package.json +3 -3
- package/server/controllers/controller.js +16 -16
- package/server/libs/blockchainconnect.js +18 -19
- package/server/libs/post-book.js +3 -2
- package/server/libs/post-socai.js +4 -3
- package/server/libs/tinhgiatb.js +15 -16
- package/server/models/approve.js +3 -3
- package/server/models/area.js +3 -3
- package/server/models/assbuy.js +2 -2
- package/server/models/asscashwithdraw.js +2 -2
- package/server/models/assinvestment.js +4 -4
- package/server/models/asskey.js +1 -1
- package/server/models/assneedtobuy.js +3 -3
- package/server/models/assperiod.js +4 -4
- package/server/models/assproduct.js +3 -3
- package/server/models/assprofitsharing.js +3 -3
- package/server/models/assreceiver.js +1 -1
- package/server/models/assrequest.js +3 -3
- package/server/models/asssell.js +4 -4
- package/server/models/asstransfer.js +4 -4
- package/server/models/asswithdraw.js +2 -2
- package/server/models/bangtinhluong.js +1 -1
- package/server/models/bg1.js +8 -8
- package/server/models/bg2.js +7 -7
- package/server/models/cart.js +4 -4
- package/server/models/cddiem.js +1 -1
- package/server/models/cddt.js +2 -2
- package/server/models/cdtk.js +2 -2
- package/server/models/cdvt.js +3 -3
- package/server/models/chamcong.js +2 -2
- package/server/models/checkin.js +3 -2
- package/server/models/dmdt.js +4 -4
- package/server/models/dmdvt.js +1 -1
- package/server/models/dmgiaban.js +5 -5
- package/server/models/dmgiamua.js +4 -4
- package/server/models/dmkho.js +4 -4
- package/server/models/dmkhuyenmai.js +3 -3
- package/server/models/dmkhuyenmaihd.js +2 -2
- package/server/models/dmlo.js +2 -2
- package/server/models/dmloaicong.js +1 -1
- package/server/models/dmloaitask.js +1 -1
- package/server/models/dmloaits.js +1 -1
- package/server/models/dmnghiepvu.js +2 -2
- package/server/models/dmnguonvon.js +1 -1
- package/server/models/dmnhnv.js +3 -3
- package/server/models/dmnv.js +3 -3
- package/server/models/dmphi.js +2 -2
- package/server/models/dmqct.js +3 -3
- package/server/models/dmqddvt.js +1 -1
- package/server/models/dmtanggiamts.js +1 -1
- package/server/models/dmto.js +3 -3
- package/server/models/dmtt.js +2 -2
- package/server/models/dmvt.js +6 -6
- package/server/models/dmyt.js +3 -3
- package/server/models/file.js +2 -2
- package/server/models/listinfo.js +43 -38
- package/server/models/moduleinfo.js +3 -3
- package/server/models/otp.js +1 -1
- package/server/models/pbl.js +11 -11
- package/server/models/pdn.js +8 -8
- package/server/models/pkk.js +2 -2
- package/server/models/pnc.js +8 -8
- package/server/models/pnk.js +6 -6
- package/server/models/po1.js +10 -10
- package/server/models/pxc.js +8 -8
- package/server/models/pxk.js +6 -6
- package/server/models/quanhuyen.js +1 -1
- package/server/models/reportinfo.js +4 -4
- package/server/models/right.js +2 -2
- package/server/models/rpt.js +1 -1
- package/server/models/rptobject.js +2 -2
- package/server/models/socai.js +8 -7
- package/server/models/socaitmp.js +11 -11
- package/server/models/sodiemthuong.js +2 -2
- package/server/models/sokho.js +9 -8
- package/server/models/sokhocapphat.js +9 -8
- package/server/models/sokhokhongton.js +9 -9
- package/server/models/sokhott.js +9 -8
- package/server/models/sophanbokh.js +3 -3
- package/server/models/sosanxuat.js +4 -4
- package/server/models/sotinhkh.js +1 -1
- package/server/models/tableinfo.js +3 -3
- package/server/models/templaterpt.js +1 -1
- package/server/models/templatestore.js +2 -2
- package/server/models/templatevoucher.js +1 -1
- package/server/models/tinhthanh.js +1 -1
- package/server/models/tokens.js +1 -1
- package/server/models/trangthai.js +2 -2
- package/server/models/usergroup.js +1 -1
- package/server/models/vat.js +2 -2
- package/server/models/xaphuong.js +1 -1
- package/server/modules/lists/ls-file.js +16 -14
- package/server/modules/lists/ls-participant.js +5 -4
- package/server/modules/reports/rp-assinterest.js +3 -2
- package/server/modules/reports/rp-thgt.js +2 -2
- package/server/modules/systems/sys-user.js +19 -16
- package/server/modules/vouchers/vo-pkk.js +4 -7
- package/server/route.js +3 -5
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
'use strict';const User=global.getModel("user"),log=global.getModel("log"),Customer=global.getModel("customer"),Endpoint=global.getModel("endpoint"),getNotifies=require("../../libs/getNotifies"),redisCache=require("../../libs/redis-cache"),underscore=require("underscore"),async=require("async"),fs=require("fs"),{isSupperAdmin}=require("../../libs/utils"),path=require("path"),Token=global.getModel("token"),gm=require("gm").subClass({imageMagick:!0}),request=
|
|
1
|
+
'use strict';const User=global.getModel("user"),log=global.getModel("log"),Customer=global.getModel("customer"),Endpoint=global.getModel("endpoint"),getNotifies=require("../../libs/getNotifies"),redisCache=require("../../libs/redis-cache"),underscore=require("underscore"),async=require("async"),fs=require("fs"),{isSupperAdmin}=require("../../libs/utils"),permission=require("../../libs/permission"),path=require("path"),Token=global.getModel("token"),gm=require("gm").subClass({imageMagick:!0}),request=
|
|
2
|
+
require("request"),findByToken=User.findByToken;
|
|
2
3
|
module.exports=function($router$$){const $usersAdmin$$=configs.admins;$router$$.route("/user").get(function($req$$,$res$$){const $access_token$$=$req$$.query.access_token;findByToken($access_token$$,$req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress,function($e$$,$user$$){if($e$$)return $res$$.status(400).send({error:$e$$.message||$e$$.error||$e$$});$user$$?($user$$.local=$user$$.local||{},$user$$.address=$user$$.local.address?$user$$.local.address:"",$user$$.phone=$user$$.local.phone?
|
|
3
4
|
$user$$.local.phone:"",$user$$.has_pin=$user$$.local.pin?!0:!1,$user$$.token=$access_token$$,$user$$.admin=underscore.contains($usersAdmin$$,$user$$.email)||isSupperAdmin($user$$.email.toLowerCase()),!$user$$.picture&&$user$$.local.picture&&($user$$.picture=$user$$.local.picture),console.log(JSON.stringify($user$$)),delete $user$$.tokens,delete $user$$.facebook,delete $user$$.google,delete $user$$.password,delete $user$$.pin,delete $user$$.local.pin,delete $user$$.local.rePassword,delete $user$$.local.password,
|
|
4
5
|
$res$$.send($user$$)):$res$$.status(404).send({error:"Token kh\u00f4ng t\u1ed3n t\u1ea1i"})})});$router$$.route("/profile").get(function($req$$,$res$$){const $email$$=$req$$.query.email,$query$$={};async.parallel({e:function($callback$$){$email$$?($query$$.email=$email$$,User.findOne($query$$).lean().exec(function($error$$,$user$$){if($error$$)return $callback$$($error$$);$callback$$(null,$user$$)})):$callback$$()},t:function($callback$$){$email$$?$callback$$():findByToken($req$$.query.access_token,
|
|
@@ -28,18 +29,20 @@ $rs$$.name,$cust$$.save(($e$$,$_cust$$)=>{if($e$$)return console.error("can't up
|
|
|
28
29
|
$router$$.route("/changepasswordByAdmin").post(function($req$$,$res$$){let $body$$=$req$$.body;if(!$body$$.newPassword)return $res$$.status(400).send({error:"B\u1ea1n ch\u01b0a nh\u1eadp m\u1eadt kh\u1ea9u m\u1edbi"});if($body$$.newPassword){if($body$$.reNewPassword!==$body$$.newPassword)return $res$$.status(400).send({error:"M\u1eadt kh\u1ea9u x\u00e1c nh\u1eadn kh\u00f4ng ch\u00ednh x\u00e1c"});if(!User.teststrengthPassword($body$$.newPassword))return $res$$.status(400).send({error:"M\u1eadt kh\u1ea9u ph\u1ea3i c\u00f3 \u00edt nh\u1ea5t 6 k\u00fd t\u1ef1 v\u00e0 bao g\u1ed3m \u00edt nh\u1ea5t m\u1ed9t ch\u1eef s\u1ed1, m\u1ed9t ch\u1eef hoa v\u00e0 m\u1ed9t ch\u1eef th\u01b0\u1eddng"})}findByToken($req$$.query.access_token,
|
|
29
30
|
$req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress,function($error$jscomp$0$$,$user$$){if($error$jscomp$0$$)return $res$$.status(400).send({error:$error$jscomp$0$$.message||$error$jscomp$0$$.error||$error$jscomp$0$$});if(!$user$$)return $res$$.status(400).send({error:"token kh\u00f4ng c\u00f3 gi\u00e1 tr\u1ecb"});if(underscore.contains($usersAdmin$$,$user$$.email)||isSupperAdmin($user$$.email.toLowerCase()))User.findOne({email:$body$$.email},function($e$jscomp$0$$,$u$$){if($e$jscomp$0$$||
|
|
30
31
|
!$u$$)return $res$$.status(400).send({error:$body$$.email+" ch\u01b0a \u0111\u01b0\u1ee3c \u0111\u0103ng k\u00fd"});$u$$.local.password=$u$$.generateHash($body$$.newPassword);$u$$.local.rspassword=null;$u$$.save(function($error$$){if($error$$)return $res$$.status(400).send($error$$);Token.deleteMany({email:$body$$.email,ip:{$in:["",null,void 0]}},$e$$=>{$e$$&&console.log("error when remove old tokens",$e$$)});log.create({id_app:"CHANGEPASSWORD",id_func:"CHANGEPASSWORD",action:"CHANGEPASSWORD"},$u$$.email,
|
|
31
|
-
$req$$.header("user-agent"),$req$$);redisCache.set("user",$u$$.toObject(),function($e$$){$e$$?console.error($e$$):console.log("cache user infomation to redis")});$res$$.send({message:"\u0110\u00e3 c\u1eadp nh\u1eadt th\u00e0nh c\u00f4ng"})})});else return $res$$.status(400).send({error:"B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n thay \u0111\u1ed5i m\u1eadt kh\u1ea9u c\u1ee7a ng\u01b0\u1eddi s\u1eed d\u1ee5ng n\u00e0y"})})});$router$$.route("/
|
|
32
|
-
$req$$.
|
|
33
|
-
$
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
$
|
|
37
|
-
$
|
|
38
|
-
if(
|
|
39
|
-
$user$$.local.
|
|
40
|
-
$
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
$
|
|
45
|
-
|
|
32
|
+
$req$$.header("user-agent"),$req$$);redisCache.set("user",$u$$.toObject(),function($e$$){$e$$?console.error($e$$):console.log("cache user infomation to redis")});$res$$.send({message:"\u0110\u00e3 c\u1eadp nh\u1eadt th\u00e0nh c\u00f4ng"})})});else return $res$$.status(400).send({error:"B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n thay \u0111\u1ed5i m\u1eadt kh\u1ea9u c\u1ee7a ng\u01b0\u1eddi s\u1eed d\u1ee5ng n\u00e0y"})})});$router$$.route("/delete").get(function($req$$,$res$$){findByToken($req$$.query.access_token,
|
|
33
|
+
$req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress,async function($error$$,$_user$$){if($error$$||!$_user$$)return $res$$.status(400).send({error:$error$$.message||$error$$.error||$error$$||"Kh\u00f4ng th\u1ec3 t\u00ecm th\u1ea5y t\u00e0i kho\u1ea3n n\u00e0y",code:1100});try{await permission.verifyOTP($_user$$.email,$req$$.query["otp-id"],$req$$.query["otp-code"]),await global.getModel("participant").deleteMany({email:$_user$$.email}),await global.getModel("user").deleteMany({email:$_user$$.email}),
|
|
34
|
+
$res$$.send({ok:!0,message:"T\u00e0i kho\u1ea3n c\u1ee7a b\u1ea1n \u0111\u00e3 \u0111\u01b0\u1ee3c x\u00f3a th\u00e0nh c\u00f4ng"})}catch($e$$){return console.error($e$$),$res$$.status(400).send({error:$e$$.message||$e$$.error||$e$$,code:4001})}})});$router$$.route("/changepassword").post(function($req$$,$res$$){let $access_token$$=$req$$.query.access_token;findByToken($access_token$$,$req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress,async function($error$jscomp$0$$,$_user$$){if($error$jscomp$0$$)return $res$$.status(400).send({error:$error$jscomp$0$$.message||
|
|
35
|
+
$error$jscomp$0$$.error||$error$jscomp$0$$});if($_user$$){let $user$$=await User.findOne({email:$_user$$.email});if(!$user$$)return $res$$.status(404).send({error:"Kh\u00f4ng t\u00ecm th\u1ea5y ng\u01b0\u1eddi d\u00f9ng "+$_user$$.email});$error$jscomp$0$$=$req$$.body;$_user$$=await Token.findOne({token:$access_token$$})||{};if($user$$.local.password&&!$_user$$.once){if(!$error$jscomp$0$$.oldPassword)return $res$$.status(400).send({error:"B\u1ea1n ch\u01b0a nh\u1eadp m\u1eadt kh\u1ea9u hi\u1ec7n t\u1ea1i"});
|
|
36
|
+
if(!$user$$.validPassword($error$jscomp$0$$.oldPassword))return $res$$.status(400).send({error:"M\u1eadt kh\u1ea9u hi\u1ec7n t\u1ea1i kh\u00f4ng ch\u00ednh x\u00e1c"})}if($error$jscomp$0$$.newPassword){if($error$jscomp$0$$.reNewPassword!==$error$jscomp$0$$.newPassword)return $res$$.status(400).send({error:"M\u1eadt kh\u1ea9u x\u00e1c nh\u1eadn kh\u00f4ng ch\u00ednh x\u00e1c"});if(!User.teststrengthPassword($error$jscomp$0$$.newPassword))return $res$$.status(400).send({error:"M\u1eadt kh\u1ea9u ph\u1ea3i c\u00f3 \u00edt nh\u1ea5t 6 k\u00fd t\u1ef1 v\u00e0 bao g\u1ed3m \u00edt nh\u1ea5t m\u1ed9t ch\u1eef s\u1ed1, m\u1ed9t ch\u1eef hoa v\u00e0 m\u1ed9t ch\u1eef th\u01b0\u1eddng"})}else return $res$$.status(400).send({error:"B\u1ea1n ch\u01b0a nh\u1eadp m\u1eadt kh\u1ea9u m\u1edbi"});
|
|
37
|
+
$user$$.local.password=$user$$.generateHash($error$jscomp$0$$.newPassword);$user$$.local.rspassword=null;$user$$.save(function($error$$){if($error$$)return $res$$.status(400).send($error$$);Token.deleteMany({email:$user$$.email,token:{$ne:$access_token$$},ip:{$in:["",null,void 0]}},$e$$=>{$e$$&&console.error("error when remove old tokens",$e$$)});log.create({id_app:"CHANGEPASSWORD",id_func:"CHANGEPASSWORD",action:"CHANGEPASSWORD"},$user$$.email,$req$$.header("user-agent"),$req$$);redisCache.set("user",
|
|
38
|
+
$user$$.toObject(),function($e$$){$e$$?console.error($e$$):console.log("cache user infomation to redis")});$res$$.send({message:"\u0110\u00e3 c\u1eadp nh\u1eadt th\u00e0nh c\u00f4ng"})})}else return $res$$.status(404).send({error:"Kh\u00f4ng t\u00ecm th\u1ea5y ng\u01b0\u1eddi d\u00f9ng n\u00e0y"})})});$router$$.route("/changepin").post(function($req$$,$res$$){let $access_token$$=$req$$.query.access_token;findByToken($access_token$$,$req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress,
|
|
39
|
+
async function($error$jscomp$17_passwords$$,$_user$jscomp$4_token$$){if($error$jscomp$17_passwords$$)return $res$$.status(400).send({error:$error$jscomp$17_passwords$$.message||$error$jscomp$17_passwords$$.error||$error$jscomp$17_passwords$$});if($_user$jscomp$4_token$$){let $user$$=await User.findOne({email:$_user$jscomp$4_token$$.email});if(!$user$$)return $res$$.status(404).send({error:"Kh\u00f4ng t\u00ecm th\u1ea5y ng\u01b0\u1eddi d\u00f9ng "+$_user$jscomp$4_token$$.email});$error$jscomp$17_passwords$$=
|
|
40
|
+
$req$$.body;$_user$jscomp$4_token$$=await Token.findOne({token:$access_token$$})||{};if($user$$.local.password&&!$_user$jscomp$4_token$$.once){if(!$error$jscomp$17_passwords$$.oldPassword)return $res$$.status(400).send({error:"B\u1ea1n ch\u01b0a nh\u1eadp m\u1eadt kh\u1ea9u"});if(!$user$$.validPassword($error$jscomp$17_passwords$$.oldPassword))return $res$$.status(400).send({error:"M\u1eadt kh\u1ea9u kh\u00f4ng ch\u00ednh x\u00e1c"})}if($error$jscomp$17_passwords$$.newPin){if($error$jscomp$17_passwords$$.reNewPin!==
|
|
41
|
+
$error$jscomp$17_passwords$$.newPin)return $res$$.status(400).send({error:"S\u1ed1 PIN x\u00e1c nh\u1eadn kh\u00f4ng ch\u00ednh x\u00e1c"});if(!User.teststrengthPin($error$jscomp$17_passwords$$.newPin))return $res$$.status(400).send({error:"S\u1ed1 Pin kh\u00f4ng h\u1ee3p l\u1ec7"})}else return $res$$.status(400).send({error:"B\u1ea1n ch\u01b0a nh\u1eadp s\u1ed1 PIN"});$user$$.local.pin=$user$$.generateHash($error$jscomp$17_passwords$$.newPin);$user$$.save(function($error$$){if($error$$)return $res$$.status(400).send($error$$);
|
|
42
|
+
log.create({id_app:"CHANGEPIN",id_func:"CHANGEPIN",action:"CHANGEPIN"},$user$$.email,$req$$.header("user-agent"),$req$$);redisCache.set("user",$user$$.toObject(),function($e$$){$e$$?console.error($e$$):console.log("cache user infomation to redis")});$res$$.send({message:"\u0110\u00e3 c\u1eadp nh\u1eadt th\u00e0nh c\u00f4ng"})})}else return $res$$.status(404).send({error:"Kh\u00f4ng t\u00ecm th\u1ea5y ng\u01b0\u1eddi d\u00f9ng n\u00e0y"})})});$router$$.route("/user/logout").get(function($req$$,$res$$){var $access_token$$=
|
|
43
|
+
$req$$.query.access_token;findByToken($access_token$$,$req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress,function($error$$,$user$$){if($error$$)return $res$$.status(400).send({error:$error$$.message||$error$$.error||$error$$});Token.deleteMany({token:$access_token$$},function($ep_id_error$$){if($ep_id_error$$)return $res$$.status(400).send($ep_id_error$$);($ep_id_error$$=global.clientIO[$access_token$$])&&global.socketIO&&$ep_id_error$$.forEach($id$$=>{global.socketIO.in($id$$).fetchSockets().then($sockets$$=>
|
|
44
|
+
{for(const $socket$$ of $sockets$$)$socket$$.disconnect()})});log.create({id_app:"LOGOUT",id_func:"LOGOUT",action:"LOGOUT"},$user$$.email,$req$$.header("user-agent"),$req$$);$req$$.query.ep&&($ep_id_error$$=(new Buffer($req$$.query.ep)).toString("base64"),Endpoint.deleteMany({ep_id:$ep_id_error$$},function($e$$){$e$$&&console.log("error when log out endpoint",$e$$)}));$res$$.send({message:$user$$.email+" logged out"})})})});$router$$.route("/notifies").get(function($req$$,$res$$){getNotifies($req$$.user.email,
|
|
45
|
+
function($error$$,$notifies$$){if($error$$)return $res$$.status(400).send({error:$error$$.message||$error$$.error||$error$$});$res$$.send($notifies$$)})});$router$$.route("/register-endpoint").get(function($req$$,$res$$){var $endpoint$$=$req$$.query.ep;if($endpoint$$){var $ep_id$$=(new Buffer($endpoint$$)).toString("base64");Endpoint.findOne({ep_id:$ep_id$$},function($e$jscomp$0$$,$ep$$){if($e$jscomp$0$$)return $res$$.status(400).send($e$jscomp$0$$);$ep$$?($ep$$.user=$req$$.user.email,$ep$$.userAuth=
|
|
46
|
+
$req$$.query.userAuth,$ep$$.userPublicKey=$req$$.query.userPublicKey):$ep$$=new Endpoint({ep_id:$ep_id$$,user:$req$$.user.email,endpoint:$endpoint$$,userAuth:$req$$.query.userAuth,userPublicKey:$req$$.query.userPublicKey});$ep$$.save(function($e$$,$rs$$){if($e$$)return $res$$.status(400).send($e$$);$res$$.send($rs$$)})})}else $res$$.status(400).send({error:"H\u00e0m register-endpoint y\u00eau c\u1ea7u tham s\u1ed1 'ep'"})});$router$$.route("/remove-endpoint").get(function($req$$,$res$$){Endpoint.deleteMany({endpoint:$req$$.query.ep},
|
|
47
|
+
$e$$=>{if($e$$)return console.error($e$$);$res$$.send("success!")})});let $wallet$$=global.getModel("wallet");$router$$.route("/sign").post(function($req$$,$res$$){let $access_token$$=$req$$.query.access_token,$dataToSign$$=$req$$.body,$id_app$$=$dataToSign$$.id_app;if(!$id_app$$)return $res$$.status(400).send("Data for sign miss id_app");findByToken($access_token$$,$req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress,async function($error$$,$user$$){if($error$$)return $res$$.status(400).send($error$$);
|
|
48
|
+
if($user$$)try{let $signature$$=await $wallet$$.sign($id_app$$,$user$$.email,$dataToSign$$);$res$$.send({signature:$signature$$})}catch($e$$){$res$$.status(400).send({error:$e$$.message||$e$$.error||$e$$})}else $res$$.status(400).send({error:"Not found user"})})})};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
'use strict';const PostBook=require("../../libs/post-book"),PostSocai=require("../../libs/post-socai"),Sokho=global.getModel("sokho"),Sokhott=global.getModel("sokhott"),dvcs=global.getModel("dvcs"),dmvt=global.getModel("dmvt"),dmkho=global.getModel("dmkho"),
|
|
2
|
-
async=require("async"),ma_ct="PKK";
|
|
1
|
+
'use strict';const PostBook=require("../../libs/post-book"),PostSocai=require("../../libs/post-socai"),Sokho=global.getModel("sokho"),Sokhott=global.getModel("sokhott"),dvcs=global.getModel("dvcs"),dmvt=global.getModel("dmvt"),dmkho=global.getModel("dmkho"),model=global.getModel("pkk"),controller=require("../../controllers/controller"),trangthai=global.getModel("trangthai"),async=require("async"),ma_ct="PKK";
|
|
3
2
|
module.exports=function($contr_router$$){$contr_router$$=new controller($contr_router$$,model,ma_ct.toLowerCase(),{isVoucher:!0,check_stock:!1,sort:{ngay_ct:-1,so_ct:-1},unique:["so_ct"]});$contr_router$$.route();$contr_router$$.post=function($obj$$,$fn$$){$fn$$||($fn$$=function(){});async.parallel({post_sokho:function($callback$jscomp$0$$){(new PostBook($obj$$,[...$obj$$.details.filter($d$$=>$d$$.sl_xuat)],Sokho,async function($_detail_detail$$,$callback$$){$_detail_detail$$={...$_detail_detail$$};
|
|
4
3
|
0>$_detail_detail$$.sl_xuat?($_detail_detail$$.nxt=1,$_detail_detail$$.ma_kho=$obj$$.ma_kho||$_detail_detail$$.ma_kho,$_detail_detail$$.pn_gia_tb=!$_detail_detail$$.px_gia_dd,$_detail_detail$$.sl_nhap=Math.abs($_detail_detail$$.sl_xuat),$_detail_detail$$.tien_nhap_nt=Math.abs($_detail_detail$$.tien_xuat_nt),$_detail_detail$$.tien_nhap=Math.abs($_detail_detail$$.tien_xuat),$_detail_detail$$.sl_xuat=0,$_detail_detail$$.tien_xuat_nt=0,$_detail_detail$$.tien_xuat=0):($_detail_detail$$.nxt=2,$_detail_detail$$.ma_kho=
|
|
5
4
|
$obj$$.ma_kho||$_detail_detail$$.ma_kho,$_detail_detail$$.he_so_qd=1,$_detail_detail$$.sl_xuat_qd=$_detail_detail$$.sl_xuat*$_detail_detail$$.he_so_qd);$callback$$($_detail_detail$$)})).run(function($e$$,$rs$$){$callback$jscomp$0$$($e$$,$rs$$)})},post_sokhott:function($callback$jscomp$0$$){(new PostBook($obj$$,[...$obj$$.details.filter($d$$=>$d$$.sl_xuat)],Sokhott,async function($_detail$jscomp$1_detail$$,$callback$$){$_detail$jscomp$1_detail$$={...$_detail$jscomp$1_detail$$};0>$_detail$jscomp$1_detail$$.sl_xuat?
|
|
@@ -8,8 +7,6 @@ $obj$$.ma_kho||$_detail_detail$$.ma_kho,$_detail_detail$$.he_so_qd=1,$_detail_de
|
|
|
8
7
|
$callback$$){$_detail$jscomp$2_detail$$={...$_detail$jscomp$2_detail$$};0>$_detail$jscomp$2_detail$$.sl_xuat?($_detail$jscomp$2_detail$$.tk_co=$obj$$.tk_cl_tang||$_detail$jscomp$2_detail$$.tk_cl_tang||"6321",$_detail$jscomp$2_detail$$.tk_no=$_detail$jscomp$2_detail$$.tk_vt):($_detail$jscomp$2_detail$$.tk_no=$obj$$.tk_cl_giam||$_detail$jscomp$2_detail$$.tk_cl_giam||"6321",$_detail$jscomp$2_detail$$.tk_co=$_detail$jscomp$2_detail$$.tk_vt);$_detail$jscomp$2_detail$$.tien_nt=Math.abs($_detail$jscomp$2_detail$$.tien_xuat_nt);
|
|
9
8
|
$_detail$jscomp$2_detail$$.tien=Math.abs($_detail$jscomp$2_detail$$.tien_xuat);$callback$$($_detail$jscomp$2_detail$$)})).run(function($e$$,$rs$$){$callback$jscomp$0$$($e$$,$rs$$)})}},function($e$$,$rs$$){$fn$$($e$$,$rs$$)})};const $valid$$=function($i_user$$,$obj$$,$next$$){for($i_user$$=0;$i_user$$<$obj$$.details.length;$i_user$$++){const $detail$$=$obj$$.details[$i_user$$];$detail$$.line=$i_user$$;"VND"==$obj$$.ma_nt&&($detail$$.tien_xuat=$detail$$.tien_xuat_nt)}$next$$(null,$obj$$)};$contr_router$$.creating=
|
|
10
9
|
function($user$$,$obj$$,$next$$){$obj$$.details||($obj$$.details=[]);$valid$$($user$$,$obj$$,function($error$$){if($error$$)return $next$$($error$$);$next$$(null,$obj$$)})};$contr_router$$.updating=function($user$$,$data$$,$obj$$,$next$$){$valid$$($user$$,$data$$,function($error$$){if($error$$)return $next$$($error$$);$next$$(null,$data$$,$obj$$)})};$contr_router$$.view=function($user$$,$items$$,$fn$$){let $id_app$$=$user$$.current_id_app;async.parallel({dv:function($callback$$){$items$$.filter($item$$=>
|
|
11
|
-
$item$$.ma_dvcs).joinModel($id_app$$,dvcs,[{akey:"ma_dvcs",bkey:"_id",fields:[{name:"ten_dvcs",value:"ten_dvcs"}]}],function(){$callback$$()})},trangthai:function($callback$$){$items$$.filter($item$$=>$item$$.trang_thai).joinModel2(null,trangthai,[{where:{trang_thai:"ma_trang_thai",ma_ct:"ma_ct"},fields:["ten_trang_thai","color"]}],function(){$callback$$()})},
|
|
12
|
-
$r$$.details.csum("sl_ton_tt"),$r$$.t_sl=$r$$.details.csum("sl_xuat"),$r$$.t_tien_xuat=$r$$.details.csum("tien_xuat"),$r$$.t_tien_xuat_nt=$r$$.details.csum("tien_xuat_nt"))});$callback$$()},
|
|
13
|
-
|
|
14
|
-
value:"ten_kho"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_dt:function($callback$$){async.map($items$$,function($r$$,$callback1$$){$r$$.details.filter($item$$=>$item$$.ma_dt).joinModel($id_app$$,dmdt,[{akey:"ma_dt",bkey:"ma_dt",fields:[{name:"ten_dt",value:"ten_dt"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_contract:function($callback$$){async.map($items$$,function($r$$,$callback1$$){$r$$.details.filter($item$$=>$item$$.ma_hd).joinModel($id_app$$,
|
|
15
|
-
contract,[{akey:"ma_hd",bkey:"so_hd",fields:[{name:"ten_hd",value:"ten_hd"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_phi:function($callback$$){async.map($items$$,function($r$$,$callback1$$){$r$$.details.filter($item$$=>$item$$.ma_phi).joinModel($id_app$$,dmphi,[{akey:"ma_phi",bkey:"ma_phi",fields:[{name:"ten_phi",value:"ten_phi"}]}],function(){$callback1$$()})},function(){$callback$$()})}},function(){$fn$$(null,$items$$)})}};
|
|
10
|
+
$item$$.ma_dvcs).joinModel($id_app$$,dvcs,[{akey:"ma_dvcs",bkey:"_id",fields:[{name:"ten_dvcs",value:"ten_dvcs"}]}],function(){$callback$$()})},kho:function($callback$$){$items$$.filter($item$$=>$item$$.ma_kho).joinModel2($id_app$$,dmkho,[{where:"ma_kho",fields:["ten_kho"]}],function(){$callback$$()})},trangthai:function($callback$$){$items$$.filter($item$$=>$item$$.trang_thai).joinModel2(null,trangthai,[{where:{trang_thai:"ma_trang_thai",ma_ct:"ma_ct"},fields:["ten_trang_thai","color"]}],function(){$callback$$()})},
|
|
11
|
+
t_tien:function($callback$$){$items$$.forEach(function($r$$){$r$$.details&&($r$$.t_sl_ton_ss=$r$$.details.csum("sl_ton_ss"),$r$$.t_sl_ton_tt=$r$$.details.csum("sl_ton_tt"),$r$$.t_sl=$r$$.details.csum("sl_xuat"),$r$$.t_tien_xuat=$r$$.details.csum("tien_xuat"),$r$$.t_tien_xuat_nt=$r$$.details.csum("tien_xuat_nt"))});$callback$$()},details_vt:function($callback$$){async.map($items$$,function($r$$,$callback1$$){$r$$.details.joinModel2($id_app$$,dmvt,[{where:"ma_vt",fields:[{name:"ten_vt",value:"ten_vt"}]}],
|
|
12
|
+
function(){$callback1$$()})},function(){$callback$$()})}},function(){$fn$$(null,$items$$)})}};
|
package/server/route.js
CHANGED
|
@@ -25,8 +25,6 @@ $app$$.use("/public",$public_router$$);const $funcs_public_inited$$={};configs.p
|
|
|
25
25
|
path.join(__dirname,"images"),$imgPath$$=path.join($root_dir$$,$req$$.params.folder,$req$$.params.filename);if(fs.existsSync($imgPath$$)){let $size$$,$cache$$;if($req$$.query.size||$req$$.query.resize)switch(String($req$$.query.size||$req$$.query.resize).toUpperCase()){case "64":case "X":$size$$=64;$cache$$=!0;break;case "128":$size$$=128;$cache$$=!0;break;case "320":case "S":$size$$=320;$cache$$=!0;break;case "512":case "M":$size$$=512;$cache$$=!0;break;case "1024":case "L":$size$$=1024;$cache$$=
|
|
26
26
|
!0;break;default:try{$size$$=Number($req$$.query.size||$req$$.query.resize)}catch($e$$){console.log("size param must be X or S or M or L or a number")}}if($size$$){let $file_name_resize$$=path.join($root_dir$$,$req$$.params.folder,String($size$$)+"."+$req$$.params.filename);if(fs.existsSync($file_name_resize$$))return gm($file_name_resize$$).stream(function($err$$,$stdout$$){$stdout$$.pipe($res$$)});$cache$$?gm($imgPath$$).resize($size$$,null).write($file_name_resize$$,function($error$$){if($error$$)console.log("Can't resize image \n"+
|
|
27
27
|
$error$$),$res$$.sendFile($imgPath$$);else return gm($file_name_resize$$).stream(function($err$$,$stdout$$){$stdout$$.pipe($res$$)})}):gm($imgPath$$).resize($size$$,null).stream(function($err$$,$stdout$$){$stdout$$.pipe($res$$)})}else $res$$.sendFile($imgPath$$)}else $res$$.sendFile(path.join(__dirname,"images","others","noimage.png"))});const $Labelinfo$$=global.getModel("labelinfo");$app$$.get("/labels/:labelid",$createRateLimiterMiddleware_limiter_others$$,function($labelid_req$$,$res$$){$labelid_req$$=
|
|
28
|
-
$labelid_req$$.params.labelid.toUpperCase();$Labelinfo$$.find({labelid:$labelid_req$$}).lean().exec(($e$$,$labels$$)=>{if($e$$)return $res$$.status(400).send($e$$);let $_labels$$={};$labels$$.forEach($l$$=>{$_labels$$[$l$$.textid]=$l$$});$res$$.send($_labels$$)})});const $qr$$=require("qr-image");$app$$.get("/qrcode",$createRateLimiterMiddleware_limiter_others$$,function($req$$,$res$$){let $report$$=$req$$.query.report;$report$$||($report$$=$req$$.query.data)&&($report$$=
|
|
29
|
-
if(!$report$$)return $res$$.status(400).send("miss parameter 'report'");setImmediate(()=>{const $code$$=$qr$$.image($report$$,{type:"svg"});$res$$.type("svg");$code$$.pipe($res$$)})});
|
|
30
|
-
|
|
31
|
-
$app$$.post("/sendmail",function($req$$,$res$$){setImmediate(()=>{let $msg$$=$req$$.body;if("KHGFIUWPPC"!==$msg$$.secretKey)return $res$$.status(400).send("Not allow");if(!$msg$$.to||!$msg$$.subject||!$msg$$.message)return $res$$.status(400).send("Msg is not valid");$nodemailer$$.createTransport({host:"mail.flexbiz.app",port:25,secure:!1,auth:{user:"info",pass:""},tls:{rejectUnauthorized:!1},name:$msg$$.name}).sendMail({from:"info@flexbiz.app",to:$msg$$.to,subject:$msg$$.subject,text:$msg$$.message,
|
|
32
|
-
html:$msg$$.message},$e$$=>{if($e$$)return $res$$.status(400).send($e$$);$res$$.send("OK")})})})}$cb$$()};
|
|
28
|
+
$labelid_req$$.params.labelid.toUpperCase();$Labelinfo$$.find({labelid:$labelid_req$$}).lean().exec(($e$$,$labels$$)=>{if($e$$)return $res$$.status(400).send($e$$);let $_labels$$={};$labels$$.forEach($l$$=>{$_labels$$[$l$$.textid]=$l$$});$res$$.send($_labels$$)})});if(configs.has_api_barcode){const $qr$$=require("qr-image");$app$$.get("/qrcode",$createRateLimiterMiddleware_limiter_others$$,function($req$$,$res$$){let $report$$=$req$$.query.report;$report$$||($report$$=$req$$.query.data)&&($report$$=
|
|
29
|
+
Buffer.from($report$$,"base64").toString("utf8"));if(!$report$$)return $res$$.status(400).send("miss parameter 'report'");setImmediate(()=>{const $code$$=$qr$$.image($report$$,{type:"svg"});$res$$.type("svg");$code$$.pipe($res$$)})});const $bwipjs$$=require("bwip-js"),$stream$$=require("stream");$app$$.get("/barcode",$createRateLimiterMiddleware_limiter_others$$,function($height_req$$,$res$$){let $code$$=$height_req$$.query.code||"code128",$data$$=$height_req$$.query.data;$height_req$$=Number($height_req$$.query.height||
|
|
30
|
+
10);if(!$data$$)return $res$$.status(400).send({error:"Thi\u1ebfu c\u00e1c tham s\u1ed1 data"});$bwipjs$$.toBuffer({bcid:$code$$,text:$data$$,scale:3,height:$height_req$$,includetext:!0,textxalign:"center"},function($bufferStream_e$$,$png$$){$bufferStream_e$$?(console.error($bufferStream_e$$,$code$$,$data$$),$res$$.status(400).send({error:$bufferStream_e$$.message||$bufferStream_e$$.error||$bufferStream_e$$})):($bufferStream_e$$=new $stream$$.PassThrough,$bufferStream_e$$.end($png$$),$bufferStream_e$$.pipe($res$$))})})}}$cb$$()};
|