dbErrorHandler.js 823 Bytes
Newer Older
Yoon, Daeki's avatar
Yoon, Daeki committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
const getErrorMessage = (err) => {
  let message = ''
  // console.log('error in getErrorMessage', err)
  if (err.code) {
    switch (err.code) {
      case 11000:
      case 11001:
        message = getUniqueErrorMessage(err)
        break
      default:
        message = 'Something went wrong'
    }
  } else if (err._message) {
    message = err._message
  }
  return message
}

const getUniqueErrorMessage = (err) => {
  let output
  // console.log('error in getUniqueErrormessage', err)
  try {
    let fieldName = err.message.substring(err.message.lastIndexOf('.$') + 2,
      err.message.lastIndexOf('_1'))
    output = fieldName.charAt(0).toUpperCase() + fieldName.slice(1) + ' already exists'
  } catch (error) {
    output = 'Unique field already exists'
  }
  return output
}

export default { getErrorMessage }