flexbiz-server
Version:
Flexible Server
6 lines (5 loc) • 1.92 kB
JavaScript
'use strict';const model=global.getModel("congtacvien"),Participant=global.getModel("participant"),Usergroup=global.getModel("usergroup"),Trangthai=global.getModel("trangthai"),controller=require("../../controllers/controller"),async=require("async");
module.exports=function($router$$){(new controller($router$$,model,"congtacvien",{sort:{date_created:1},unique:["username"],onView:($user$$,$items$$,$next$$)=>{async.series({trangthai:function($callback$$){$items$$.joinModel2(null,Trangthai,[{where:$a$$=>({ma_trang_thai:$a$$.trang_thai,ma_ct:"CONGTACVIEN"}),fields:["ten_trang_thai","color"]}],function(){$callback$$()})}},$e$$=>{if($e$$)return $next$$($e$$);$next$$(null,$items$$)})},onCreating:async($user$$,$data$$,$next$$)=>$data$$.so_cmnd?await model.findOne({so_cmnd:$data$$.so_cmnd})?
$next$$(`S\u1ed1 CMND/c\u0103n c\u01b0\u1edbc '${$data$$.so_cmnd}' \u0111\u00e3 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng`):$next$$(null,$data$$):$next$$(null,$data$$),onUpdating:async($user$$,$data$$,$obj$$,$next$$)=>{if($data$$.so_cmnd&&$data$$.so_cmnd!=$obj$$.so_cmnd){if(await model.findOne({so_cmnd:$data$$.so_cmnd}))return $next$$(`S\u1ed1 CMND/c\u0103n c\u01b0\u1edbc '${$data$$.so_cmnd}' \u0111\u00e3 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng`)}else return $next$$(null,$data$$,$obj$$)},onUpdated:async($group_partner_user$$,
$obj$$,$next$$)=>{$group_partner_user$$=await Usergroup.findOne({id_app:$obj$$.id_app,is_partner_group:!0});let $group_customer$$=await Usergroup.findOne({id_app:$obj$$.id_app,is_customer_group:!0})||{_id:""};$group_partner_user$$?"7"===$obj$$.trang_thai?Participant.findOneAndUpdate({id_app:$obj$$.id_app,email:$obj$$.user_created},{group_id:$group_partner_user$$._id.toString()},()=>{$next$$(null,$obj$$)}):Participant.findOneAndUpdate({id_app:$obj$$.id_app,email:$obj$$.user_created},{group_id:$group_customer$$._id.toString()},
()=>{$next$$(null,$obj$$)}):$next$$(null,$obj$$)}})).route()};