poll.service.js (824B)
- import * as DateUtils from 'src/services/date_utils/date_utils.js'
- import { uniq } from 'lodash'
- 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
- }