UNPKG

flexbiz-server

Version:

Flexible Server

11 lines (10 loc) 4.77 kB
const model=global.getModel("user"),underscore=require("underscore"),{isSupperAdmin}=require("../../libs/utils"),controller=require("../../controllers/controller"); module.exports=function($contr_router$$){const $usersAdmin$$=[...configs.admins,...(configs.subAdmins||[])];$contr_router$$=new controller($contr_router$$,model,"users",{require_id_app:!1,sort:{email:1}});$contr_router$$.route();$contr_router$$.view=async function($user$$,$items$$,$fn$$){for(let $item$$ of $items$$)$item$$.status||$item$$.status===!1||($item$$.status=!0),$item$$.local&&($item$$.local.rePassword=$item$$.local.password,$item$$.address=$item$$.local.address,$item$$.phone=$item$$.local.phone, $item$$.password=$item$$.local.password,delete $item$$.local.password,delete $item$$.local.rspassword,delete $item$$.local.pin,delete $item$$.local.rePassword),$item$$.local.name||($item$$.local.name=$item$$.name),$item$$.local.email||($item$$.local.email=$item$$.email),$item$$.google&&(delete $item$$.google.token,delete $item$$.google.refreshToken),$item$$.facebook&&(delete $item$$.facebook.token,delete $item$$.facebook.refreshToken),delete $item$$.tokens,delete $item$$.token,delete $item$$.password, delete $item$$.pin,$item$$.admin=underscore.contains($usersAdmin$$,$item$$.email)||isSupperAdmin($item$$.email.toLowerCase()),$item$$.sl_db_da_tao=await global.getModel("app").countDocuments({user_created:$item$$.email});$fn$$(null,$items$$)};$contr_router$$.getting=function($user$$,$id$$,$next$$){return underscore.contains($usersAdmin$$,$user$$.email)||isSupperAdmin($user$$.email.toLowerCase())?$next$$():$next$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n truy c\u1eadp th\u00f4ng tin n\u00e0y")};$contr_router$$.finding= function($user$$,$condition$$,$next$$){return underscore.contains($usersAdmin$$,$user$$.email)||isSupperAdmin($user$$.email.toLowerCase())?$next$$(null,$condition$$):$next$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n truy c\u1eadp th\u00f4ng tin n\u00e0y")};$contr_router$$.creating=async function($user$$,$obj$$,$next$$,$options$$){if(!underscore.contains($usersAdmin$$,$user$$.email)&&!isSupperAdmin($user$$.email.toLowerCase()))return $next$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n truy c\u1eadp \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y"); $obj$$.local=$obj$$.local||{};if($obj$$.local.phone&&await model.findOne({$or:[{"local.phone":$obj$$.local.phone},{email:$obj$$.local.phone}]}))return $next$$("S\u1ed1 \u0111i\u1ec7n tho\u1ea1i "+$obj$$.local.phone+" \u0111\u00e3 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng");if($options$$.data.local){if($options$$.data.local.password!=$options$$.data.local.rePassword)return $next$$("M\u1eadt kh\u1ea9u x\u00e1c nh\u1eadn kh\u00f4ng ch\u00ednh x\u00e1c");$obj$$.local.password=$obj$$.generateHash($obj$$.email+ $obj$$.local.password)}$obj$$.local.name=$obj$$.name;$obj$$.local.email=$obj$$.email;return $next$$(null,$obj$$)};$contr_router$$.updating=async function($user$$,$data$$,$obj$$,$next$$){$data$$.local||($data$$.local=$obj$$.local||{email:$data$$.email});if($data$$.phone||$data$$.address){if($data$$.phone){$data$$.local.phone=$data$$.phone;let $u$$=await model.findOne({$or:[{"local.phone":$data$$.phone},{email:$data$$.phone}]});if($u$$&&$u$$.email!==$obj$$.email)return $next$$("S\u1ed1 \u0111i\u1ec7n tho\u1ea1i "+ $data$$.phone+" \u0111\u00e3 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng")}$data$$.address&&($data$$.local.address=$data$$.address);$data$$.name&&($data$$.local.name=$data$$.name)}if(!underscore.contains($usersAdmin$$,$user$$.email)&&!isSupperAdmin($user$$.email.toLowerCase())&&$user$$.email!=$obj$$.email)return $next$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n c\u1eadp nh\u1eadt ng\u01b0\u1eddi s\u1eed d\u1ee5ng n\u00e0y");if($obj$$.email!=$data$$.email)return $next$$("Kh\u00f4ng th\u1ec3 \u0111\u1ed5i t\u00e0i kho\u1ea3n \u0111\u0103ng nh\u1eadp"); if($data$$.local&&$data$$.local?.password!=$obj$$.local?.password){if($data$$.local.password!=$data$$.local.rePassword)return $next$$("M\u1eadt kh\u1ea9u x\u00e1c nh\u1eadn kh\u00f4ng ch\u00ednh x\u00e1c");$obj$$.local&&$data$$.local.password!=$obj$$.local.password&&$data$$.local.password&&($data$$.local.password=$obj$$.generateHash($obj$$.email+$data$$.local.password))}$data$$.local.name=$data$$.name;$data$$.local.email=$data$$.email;return $next$$(null,$data$$,$obj$$)};$contr_router$$.deleting= function($user$$,$obj$$,$next$$){if(underscore.contains($usersAdmin$$,$obj$$.email)||isSupperAdmin($obj$$.email.toLowerCase()))return $next$$("B\u1ea1n kh\u00f4ng th\u1ec3 x\u00f3a ng\u01b0\u1eddi qu\u1ea3n tr\u1ecb");if(!underscore.contains($usersAdmin$$,$user$$.email)&&!isSupperAdmin($user$$.email.toLowerCase()))return $next$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n x\u00f3a ng\u01b0\u1eddi s\u1eed d\u1ee5ng n\u00e0y");$next$$(null,$obj$$)}};