opendesk
Publikutils.ts
export const isDocDirty = (doc: any, originalDoc: any) => {
if (!doc || !originalDoc) return false;
return JSON.stringify(doc) !== JSON.stringify(originalDoc);
};
export const validateTwilio = (twilio, telephonyAgent, twilioErrors) => {
if (telephonyAgent.default_medium === "Twilio" && !twilio.enabled) {
twilioErrors.value.default_medium =
"Enable Twilio to set it as default medium";
} else {
twilioErrors.value.default_medium = "";
}
if (!twilio.enabled) {
return;
}
if (!twilio.account_sid) {
twilioErrors.value.accountSid = "Account SID is required";
} else {
twilioErrors.value.accountSid = "";
}
if (!twilio.auth_token) {
twilioErrors.value.authToken = "Auth Token is required";
} else {
twilioErrors.value.authToken = "";
}
if (!telephonyAgent.twilio_number) {
twilioErrors.value.number = "Number is required";
} else if (!validatePhone(telephonyAgent.twilio_number)) {
twilioErrors.value.number = "Please enter a valid phone number";
} else {
twilioErrors.value.number = "";
}
};
export const validateExotel = (exotel, telephonyAgent, exotelErrors) => {
if (telephonyAgent.default_medium === "Exotel" && !exotel.enabled) {
exotelErrors.value.default_medium =
"Enable Exotel to set it as default medium";
} else {
exotelErrors.value.default_medium = "";
}
if (!exotel.enabled) {
return;
}
if (!exotel.account_sid) {
exotelErrors.value.accountSid = "Account SID is required";
} else {
exotelErrors.value.accountSid = "";
}
if (!exotel.webhook_verify_token) {
exotelErrors.value.webhookVerifyToken = "Webhook Verify Token is required";
} else {
exotelErrors.value.webhookVerifyToken = "";
}
if (!exotel.subdomain) {
exotelErrors.value.subdomain = "Subdomain is required";
} else {
exotelErrors.value.subdomain = "";
}
if (!exotel.api_key) {
exotelErrors.value.apiKey = "API Key is required";
} else {
exotelErrors.value.apiKey = "";
}
if (!exotel.api_token) {
exotelErrors.value.apiToken = "API Token is required";
} else {
exotelErrors.value.apiToken = "";
}
if (!telephonyAgent.exotel_number) {
exotelErrors.value.number = "Number is required";
} else if (!validatePhone(telephonyAgent.exotel_number)) {
exotelErrors.value.number = "Please enter a valid phone number";
} else {
exotelErrors.value.number = "";
}
if (!telephonyAgent.mobile_no) {
exotelErrors.value.mobileNo = "Personal number is required";
} else if (!validatePhone(telephonyAgent.mobile_no)) {
exotelErrors.value.mobileNo = "Please enter a valid phone number";
} else {
exotelErrors.value.mobileNo = "";
}
};
const validatePhone = (number: string) => {
return /^\+?\d{8,15}$/.test(number);
};