728x90
반응형

1. 백엔드 쪽에서 데이터를 받고 행해질 내용들을 구현한다.

   또한 성공할 경우, 실패할 경우에 맞는 데이터를 res.send로 반환한다.

//자동차 등록
  // 수기 입력(하나씩) 차량 등록
router.post('/car_join', isNotLoggedIn, async (req, res, next) => {
  const { data } = req.body;
  const jsonData = JSON.parse(data);
  // const CID = req.decoded.CID;
  const CNU = req.decoded.CNU;
  
  try {
    // 차량번호 정규식
    var check = /^[0-9]{2,3}[가-힣]{1}[0-9]{4}/gi;
    // 업체에 등록된 차량
    const exCar = await modelQuery(QUERY.Findone,COLLECTION_NAME.Car,{ "CNU" : CNU, "CN" :  jsonData.CN },{});
      
    if(jsonData.CN.length >= 7 && jsonData.CN.length <= 8) {
      if(check.test(jsonData.CN) == true) {
        if(!exCar) {
          await modelQuery(QUERY.Create,COLLECTION_NAME.Car,{
            "CNU" : CNU,
            "CN" : jsonData.CN,
            "CPN" : jsonData.CPN
          },{});
          
          const CUA = moment().format('YYYY-MM-DD hh:mm:ss');
          await modelQuery(QUERY.Update,COLLECTION_NAME.Company,{where : { "CNU" : CNU }, update : { "CUA" : CUA }},{});
            
          return res.send({ result : 'success', type : 'car' });
        }
        else {
          return res.send({ result : 'exist', type : 'car' });
        }
      }
      else {
        return res.send({ result : 'type', type : 'car' });
      }
    }
    else {
      return res.send({ result : 'length', type : 'car' });
    }
  } catch(err) {
    res.send({ result : "fail" });
    console.error(err);
    next(err);
  }
});
728x90
반응형

+ Recent posts