UNPKG

flexbiz-server

Version:

Flexible Server

10 lines (9 loc) 4.09 kB
const model=global.getModel("assproduct"),Trangthai=global.getModel("trangthai"),financialroadmap=global.getModel("financialroadmap"),controller=require("../../controllers/controller"),{isSupperAdmin}=require("../../libs/utils"); module.exports=function($contr_router$$){$contr_router$$=new controller($contr_router$$,model,"assproduct",{sort:{date_created:-1},unique:["token"],onFinding:async($user$$,$condition$$,$next$$)=>{if($condition$$.wish&&!$condition$$.id)try{let $query$$={id_app:$user$$.current_id_app,user:$user$$.email};typeof $condition$$.wish=="object"&&($query$$={...$query$$,...$condition$$.wish});let $ps$$=await global.getModel("asswishlist").find($query$$,{ma_du_an:1}).lean();$condition$$.id={$in:$ps$$.map($r$$=> $r$$.ma_du_an)}}catch($e$$){Logger.error($e$$)}delete $condition$$.wish;$next$$(null,$condition$$)},onView:async($user$$,$items$$,$next$$)=>{$items$$=$items$$.filter($i$$=>!$i$$.not_found);await $items$$.asyncJoinModel2($user$$.current_id_app,"asswishlist",{where:$item$$=>({ma_du_an:$item$$.id,user:$user$$.email}),setFields:($item$$,$ref$$)=>{$item$$.wish=$ref$$}});$items$$.joinModel2(null,Trangthai,[{where:$a$$=>({ma_trang_thai:$a$$.trang_thai,ma_ct:"ASSPRODUCT"}),fields:["ten_trang_thai","color"]}], function(){$items$$.filter($item$$=>$item$$.id||$item$$.id==0).joinModel2($user$$.current_id_app,financialroadmap,[{where:$a$$=>({code:$a$$.id}),fields:[{frm_id:"_id"}]}],function(){$next$$(null,$items$$)})})},onCreating:async($user$$,$obj$$,$next$$)=>{let $creator$$=$obj$$.creator;if(!await global.getModel("asskey").findOne({id_app:$user$$.current_id_app,username:$user$$.email,address:$creator$$}).lean())return $next$$("\u0110\u1ecba ch\u1ec9 v\u00ed n\u00e0y kh\u00f4ng thu\u1ed9c v\u1ec1 b\u1ea1n"); if($obj$$.trang_thai==="9")return $next$$(null,$obj$$);if(global.configs.FEE_CREATE_ASSPRODUCT&&global.configs.MAIN_DENOM)try{await global.getModel("assbank").sendCoinsFromAccountToSystem($obj$$.id_app,$obj$$.creator,global.configs.FEE_CREATE_ASSPRODUCT,global.configs.MAIN_DENOM)}catch($e$$){return $next$$($e$$)}$next$$(null,$obj$$)},onCreated:async($user$$,$obj$$,$next$$)=>{$obj$$.id=$obj$$._id.toString();await model.updateOne({_id:$obj$$._id},{id:$obj$$.id});$next$$(null,$obj$$)}});$contr_router$$.deleting= function($user$$,$obj$$,$fn$$){if(!isSupperAdmin($user$$.email.toLowerCase()))return $fn$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n x\u00f3a s\u1ea3n ph\u1ea9m n\u00e0y n\u00e0y");$fn$$(null,$obj$$)};$contr_router$$.updating=async function($user$$,$data$$,$_obj$$,$fn$$){$_obj$$.id||($data$$.id=$_obj$$._id.toString());let $obj$$=$_obj$$.toObject?$_obj$$.toObject():$_obj$$;if($user$$.email!==$obj$$.user_created)return Logger.info("update product",$obj$$.trang_thai,$obj$$.ten_san_pham),$fn$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n c\u1eadp nh\u1eadt s\u1ea3n ph\u1ea9m n\u00e0y"); if($data$$.trang_thai=="9"&&$obj$$.trang_thai!="9")return $fn$$("Kh\u00f4ng th\u1ec3 chuy\u1ec3n v\u1ec1 tr\u1ea1ng th\u00e1i ch\u01b0a \u0111\u01b0\u1ee3c ph\u00e1t h\u00e0nh t\u1eeb tr\u1ea1ng th\u00e1i \u0111\u00e3 \u0111\u01b0\u1ee3c ph\u00e1t h\u00e0nh");if($data$$.trang_thai=="9")return $fn$$(null,$data$$,$obj$$);if($data$$.co_phan!=void 0&&$data$$.co_phan!=$obj$$.co_phan)return $fn$$("Kh\u00f4ng th\u1ec3 \u0111\u1ed5i ki\u1ec3u d\u1ef1 \u00e1n (c\u1ed5 ph\u1ea7n ho\u1eb7c kh\u00f4ng c\u1ed5 ph\u1ea7n"); $data$$.trang_thai=$data$$.trang_thai||$obj$$.trang_thai;$data$$.co_phan=$obj$$.co_phan;if($data$$.creator&&$data$$.creator!==$obj$$.creator)return $fn$$("Kh\u00f4ng \u0111\u01b0\u1ee3c ph\u00e9p s\u1eeda \u0111\u1ecba ch\u1ec9 v\u00ed ng\u01b0\u1eddi t\u1ea1o");if($data$$.token&&$data$$.token!==$obj$$.token)return $fn$$("Kh\u00f4ng \u0111\u01b0\u1ee3c ph\u00e9p s\u1eeda t\u00ean token");if($obj$$.trang_thai=="9"&&global.configs.FEE_CREATE_ASSPRODUCT&&global.configs.MAIN_DENOM)try{await global.getModel("assbank").sendCoinsFromAccountToSystem($obj$$.id_app, $obj$$.creator,global.configs.FEE_CREATE_ASSPRODUCT,global.configs.MAIN_DENOM)}catch($e$$){return $fn$$($e$$)}$fn$$(null,$data$$,$_obj$$)};$contr_router$$.route()};