mirror of
https://github.com/fleetdm/fleet
synced 2026-04-21 21:47:20 +00:00
* Creates new PackComposerPage at /packs/new * Creates PackForm component * Adds PackForm to PackComposerPage * Creates QueriesListItem * Creates QueriesList * Creates QueriesListWrapper * Get all queries when the Packs Composer Page loads * Form HOC handles updates to formData prop * Creates form to configure scheduled queries * QueriesListWrapper renders ConfigurePackQueryForm * search queries input filters queries list * Empty state text * create pack when user submits the new pack form * Adds Edit pack page to /packs/:pack_id/edit * API client - get scheduled queries for a pack * API client - create scheduled query * Redux config for scheduled queries * Remove scheduled queries from packs * Add labels to pack on create * Add disabled state to the select targets dropdown * Adds edit route and pushes to new route on edit click * Adds cancel button to edit pack form * Adds Checkbox that selects all scheduled queries in table
33 lines
740 B
JavaScript
33 lines
740 B
JavaScript
import { size } from 'lodash';
|
|
|
|
import validateNumericality from 'components/forms/validators/validate_numericality';
|
|
|
|
const validate = (formData) => {
|
|
const errors = {};
|
|
|
|
if (!formData.query_id) {
|
|
errors.query_id = 'A query must be selected';
|
|
}
|
|
|
|
if (!formData.interval) {
|
|
errors.interval = 'Interval must be present';
|
|
}
|
|
|
|
if (formData.interval && !validateNumericality(formData.interval)) {
|
|
errors.interval = 'Interval must be a number';
|
|
}
|
|
|
|
if (!formData.platform) {
|
|
errors.platform = 'A platform must be selected';
|
|
}
|
|
|
|
if (!formData.logging_type) {
|
|
errors.logging_type = 'A Logging Type must be selected';
|
|
}
|
|
|
|
const valid = !size(errors);
|
|
|
|
return { valid, errors };
|
|
};
|
|
|
|
export default validate;
|