fleet/frontend/components/forms/admin/AppConfigForm/validate.js
Gabe Hernandez efb35b537a
add prettier and have it format all fleet application code (#625)
* add prettier and have it format all js code except website:
:

* trying running prettier check in CI

* fix runs on in CI

* change CI job name

* fix prettier erros and fix CI
2021-04-12 14:32:25 +01:00

78 lines
1.8 KiB
JavaScript

import { size } from "lodash";
export default (formData) => {
const errors = {};
const {
authentication_type: authType,
kolide_server_url: kolideServerUrl,
org_name: orgName,
enable_smtp: enableSMTP,
password: smtpPassword,
sender_address: smtpSenderAddress,
server: smtpServer,
port: smtpServerPort,
user_name: smtpUserName,
enable_sso: enableSSO,
metadata,
metadata_url: metadataURL,
entity_id: entityID,
idp_name: idpName,
host_expiry_enabled: hostExpiryEnabled,
host_expiry_window: hostExpiryWindow = 0,
} = formData;
if (enableSSO) {
if (!metadata && !metadataURL) {
errors.metadata_url = "Metadata URL must be present";
}
if (!entityID) {
errors.entity_id = "Entity ID must be present";
}
if (!idpName) {
errors.idp_name = "Identity Provider Name must be present";
}
}
if (!kolideServerUrl) {
errors.kolide_server_url = "Fleet Server URL must be present";
}
if (!orgName) {
errors.org_name = "Organization Name must be present";
}
if (enableSMTP) {
if (!smtpSenderAddress) {
errors.sender_address = "SMTP Sender Address must be present";
}
if (!smtpServer) {
errors.server = "SMTP Server must be present";
}
if (!smtpServerPort) {
errors.server = "SMTP Server Port must be present";
}
if (authType !== "authtype_none") {
if (!smtpUserName) {
errors.user_name = "SMTP Username must be present";
}
if (!smtpPassword) {
errors.password = "SMTP Password must be present";
}
}
}
if (hostExpiryEnabled) {
if (isNaN(hostExpiryWindow) || Number(hostExpiryWindow) <= 0) {
errors.host_expiry_window =
"Host Expiry Window must be a positive number";
}
}
const valid = !size(errors);
return { valid, errors };
};