UNPKG

@cdmx/wappler_ac_s3_upload

Version:

App Connect module for S3 Upload.

231 lines (229 loc) 9.5 kB
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}.`; } } ] };