io-actions/app/blocks/triggers/schedule/day/every_days_between.js
2025-08-01 16:13:40 -04:00

46 lines
955 B
JavaScript

import { makeOptions } from "#app/util/fields.js"
import mutator from "./day_mutator.js"
/** @type {import('#types').BlockDefinitionRaw} */
export default {
type: "every_days_between",
name: "Every X Days",
colour: 30,
description: "Runs every X days, between days Y and Z.",
connections: {
mode: 'value',
output: 'cron_day'
},
mutator,
template: "Every %FREQUENCY days between %START and %END",
fields: {
FREQUENCY: {
options: makeOptions({ factorsOf: 30 })
},
START: {
options: makeOptions({ from: 1, upTo: 32 })
},
END: {
options: makeOptions({ from: 1, upTo: 32, reverse: true })
}
},
generators: {
json: block => {
const
frequency = block.getFieldValue('FREQUENCY'),
start = block.getFieldValue('START'),
end = block.getFieldValue('END'),
cronString = `${start}-${end}/${frequency}`
return [ cronString, 0 ]
}
}
}