@cdmx/wappler_ac_s3_upload
Version:
App Connect module for S3 Upload.
231 lines (229 loc) • 9.5 kB
JSON
function validatePattern(value, pattern) {
const regex = new RegExp(pattern);
return regex.test(value);
}
function validateEnum(value, enumValues) {
return enumValues.includes(value);
}
const enum_all_countries = ["USA", "Canada", "UK", "Australia"]; // Update with actual values
const enum_currencies = ["USD", "CAD", "GBP", "AUD"];
let val_csv_schema = {
headers: [
{
name: 'Remitter Name',
required: false,
validate: function (value) {
return validatePattern(value, "^(?=.*[a-zA-Z])([a-zA-Z'\\-\\. ]+)$");
},
validateError: function (headerName, rowNumber, columnNumber) {
return `Invalid value for "${headerName}", please check the guide for correct values in row ${rowNumber}, column ${columnNumber}.`;
}
},
{
name: 'Remitter Type',
required: false,
validate: function (value) {
return validateEnum(value, ["Individual", "Company"]);
},
validateError: function (headerName, rowNumber, columnNumber) {
return `${headerName} must be one of the allowed values, please check the guide for correct values in row ${rowNumber}, column ${columnNumber}.`;
}
},
{
name: 'Remitter Country',
required: false,
validate: function (value) {
return validateEnum(value, enum_all_countries);
},
validateError: function (headerName, rowNumber, columnNumber) {
return `${headerName} must be one of the allowed values, please check the guide for correct values in row ${rowNumber}, column ${columnNumber}.`;
}
},
{
name: 'Remitter Bank Name',
required: false,
validate: function (value) {
return validatePattern(value, "^(?=.*[a-zA-Z])([a-zA-Z'\\-\\. ]+)$");
},
validateError: function (headerName, rowNumber, columnNumber) {
return `Invalid value for "${headerName}", please check the guide for correct values in row ${rowNumber}, column ${columnNumber}.`;
}
},
{
name: 'Remitter Bank Country',
required: false,
validate: function (value) {
return validateEnum(value, enum_all_countries);
},
validateError: function (headerName, rowNumber, columnNumber) {
return `${headerName} must be one of the allowed values, please check the guide for correct values in row ${rowNumber}, column ${columnNumber}.`;
}
},
{
name: 'Remitter Bank Account Number',
required: false,
condition: function(entry) {
return !entry['Remitter Name'];
},
validate: function (value) {
return validatePattern(value, "^[A-Za-z0-9]+$") && value.length <= 50;
},
validateError: function (headerName, rowNumber, columnNumber) {
return `Invalid value for "${headerName}", please check the guide for correct values in row ${rowNumber}, column ${columnNumber}.`;
}
},
{
name: 'Remitter Bank Account Holder Name',
required: false,
validate: function (value) {
return validatePattern(value, "^(?=.*[a-zA-Z])([a-zA-Z'\\-\\. ]+)$") && value.length <= 255;
},
validateError: function (headerName, rowNumber, columnNumber) {
return `Invalid value for "${headerName}", please check the guide for correct values in row ${rowNumber}, column ${columnNumber}.`;
}
},
{
name: 'Remitter IBAN',
required: false,
condition: function(entry) {
return !entry['Remitter Swift Code'] && !entry['Remitter Bank Account Number'];
},
validate: function (value) {
return typeof value === "string";
},
validateError: function (headerName, rowNumber, columnNumber) {
return `Invalid value for "${headerName}", please check the guide for correct values in row ${rowNumber}, column ${columnNumber}.`;
}
},
{
name: 'Remitter Swift Code',
required: false,
condition: function(entry) {
return !entry['Remitter IBAN'];
},
validate: function (value) {
return typeof value === "string";
},
validateError: function (headerName, rowNumber, columnNumber) {
return `Invalid value for "${headerName}", please check the guide for correct values in row ${rowNumber}, column ${columnNumber}.`;
}
},
{
name: 'Beneficiary Name',
required: true,
validate: function (value) {
return validatePattern(value, "^(?=.*[a-zA-Z])([a-zA-Z'\\-\\. ]+)$");
},
validateError: function (headerName, rowNumber, columnNumber) {
return `Invalid value for "${headerName}", please check the guide for correct values in row ${rowNumber}, column ${columnNumber}.`;
}
},
{
name: 'Beneficiary Type',
required: true,
validate: function (value) {
return validateEnum(value, ["Individual", "Company"]);
},
validateError: function (headerName, rowNumber, columnNumber) {
return `${headerName} must be one of the allowed values, please check the guide for correct values in row ${rowNumber}, column ${columnNumber}.`;
}
},
{
name: 'Beneficiary Country',
required: true,
validateError: function (headerName, rowNumber, columnNumber) {
return `${headerName} must be one of the allowed values, please check the guide for correct values in row ${rowNumber}, column ${columnNumber}.`;
}
},
{
name: 'Beneficiary Bank Name',
required: true,
validate: function (value) {
return validatePattern(value, "^(?=.*[a-zA-Z])([a-zA-Z'\\-\\. ]+)$");
},
validateError: function (headerName, rowNumber, columnNumber) {
return `Invalid value for "${headerName}", please check the guide for correct values in row ${rowNumber}, column ${columnNumber}.`;
}
},
{
name: 'Beneficiary Bank Country',
required: true,
validate: function (value) {
return validateEnum(value, enum_all_countries);
},
validateError: function (headerName, rowNumber, columnNumber) {
return `${headerName} must be one of the allowed values, please check the guide for correct values in row ${rowNumber}, column ${columnNumber}.`;
}
},
{
name: 'Beneficiary Bank Account Number',
required: true,
validate: function (value) {
return validatePattern(value, "^[A-Za-z0-9]+$") && value.length <= 50;
},
validateError: function (headerName, rowNumber, columnNumber) {
return `Invalid value for "${headerName}", please check the guide for correct values in row ${rowNumber}, column ${columnNumber}.`;
}
},
{
name: 'Beneficiary Bank Account Holder Name',
required: true,
validate: function (value) {
return validatePattern(value, "^(?=.*[a-zA-Z])([a-zA-Z'\\-\\. ]+)$") && value.length <= 255;
},
validateError: function (headerName, rowNumber, columnNumber) {
return `Invalid value for "${headerName}", please check the guide for correct values in row ${rowNumber}, column ${columnNumber}.`;
}
},
{
name: 'Beneficiary IBAN',
required: false,
validate: function (value) {
return typeof value === "string";
},
validateError: function (headerName, rowNumber, columnNumber) {
return `Invalid value for "${headerName}", please check the guide for correct values in row ${rowNumber}, column ${columnNumber}.`;
}
},
{
name: 'Beneficiary Swift Code',
required: false,
validate: function (value) {
return typeof value === "string";
},
validateError: function (headerName, rowNumber, columnNumber) {
return `Invalid value for "${headerName}", please check the guide for correct values in row ${rowNumber}, column ${columnNumber}.`;
}
},
{
name: 'From Currency',
required: true,
validate: function (value) {
return validateEnum(value, enum_currencies);
},
validateError: function (headerName, rowNumber, columnNumber) {
return `${headerName} must be one of the allowed values, please check the guide for correct values in row ${rowNumber}, column ${columnNumber}.`;
}
},
{
name: 'To Currency',
required: true,
validate: function (value) {
return validateEnum(value, enum_currencies);
},
validateError: function (headerName, rowNumber, columnNumber) {
return `${headerName} must be one of the allowed values, please check the guide for correct values in row ${rowNumber}, column ${columnNumber}.`;
}
},
{
name: 'Amount',
required: true,
validate: function (value) {
return typeof value === "number" && value >= 0.00001;
},
validateError: function (headerName, rowNumber, columnNumber) {
return `Invalid value for "${headerName}", please check the guide for correct values in row ${rowNumber}, column ${columnNumber}.`;
}
}
]
};