import { uniq } from 'lodash' import * as DateUtils from 'src/services/date_utils/date_utils.js' const pollFallbackValues = { pollType: 'single', options: ['', ''], expiryAmount: 10, expiryUnit: 'minutes', } const pollFallback = (object, attr) => { return object[attr] !== undefined ? object[attr] : pollFallbackValues[attr] } const pollFormToMasto = (poll) => { const expiresIn = DateUtils.unitToSeconds( pollFallback(poll, 'expiryUnit'), pollFallback(poll, 'expiryAmount'), ) const options = uniq( pollFallback(poll, 'options').filter((option) => option !== ''), ) if (options.length < 2) { return { errorKey: 'polls.not_enough_options' } } return { options, multiple: pollFallback(poll, 'pollType') === 'multiple', expiresIn, } } export { pollFallback, pollFormToMasto }