Files
drip/lib/import-export/get-csv-column-names.js
2018-10-25 16:02:21 +02:00

23 lines
731 B
JavaScript

import { getSchema } from '../../db'
export default function getColumnNamesForCsv() {
return getPrefixedKeys('CycleDay')
function getPrefixedKeys(schemaName, prefix) {
const schema = getSchema()
const model = schema[schemaName]
return Object.keys(model).reduce((acc, key) => {
// we don't want to include isCycleStart, because that is
// a derived value
if (key === 'isCycleStart') return acc
const prefixedKey = prefix ? [prefix, key].join('.') : key
const childSchemaName = model[key].objectType
if (!childSchemaName) {
acc.push(prefixedKey)
return acc
}
acc.push(...getPrefixedKeys(childSchemaName, prefixedKey))
return acc
}, [])
}
}