| 1 | import dayjs from 'utils/dayjs'; |
| 2 | |
| 3 | const PreparedValues = (fields, record = {}) => { |
| 4 | const preparedArray = {}; |
| 5 | Object.keys(fields).forEach((field) => { |
| 6 | const type = fields[field].type; |
| 7 | const value = record[field]; |
| 8 | let preparedValue; |
| 9 | switch (type) { |
| 10 | case 'date': |
| 11 | preparedValue = value ? dayjs(value, 'YYYY-MM-DD').toDate() : null; |
| 12 | break; |
| 13 | |
| 14 | case 'user_many': |
| 15 | case 'relation_many': |
| 16 | if (!value || !value.length) { |
| 17 | preparedValue = []; |
| 18 | } else { |
| 19 | preparedValue = value.map((item) => item.id); |
| 20 | } |
| 21 | break; |
| 22 | |
| 23 | case 'user_one': |
| 24 | case 'relation_one': |
| 25 | preparedValue = value ? value.id : null; |
| 26 | break; |
| 27 | |
| 28 | default: |
| 29 | preparedValue = value; |
| 30 | } |
| 31 | preparedArray[field] = preparedValue; |
| 32 | }); |
| 33 | return preparedArray; |
| 34 | }; |
| 35 | |
| 36 | export default PreparedValues; |