From 8e8fe46b2f8c332ac87603249834dfe9dae51a42 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Mon, 5 Oct 2020 00:45:30 +0530 Subject: [PATCH] Adds url rule validation --- tests/domain-utils.test.js | 1 + utils/domain.js | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/domain-utils.test.js b/tests/domain-utils.test.js index 1946978fa..418f788c7 100644 --- a/tests/domain-utils.test.js +++ b/tests/domain-utils.test.js @@ -49,6 +49,7 @@ describe('validateDomainData', () => { ...defaultDomain, description: getstroflen(99), }, + { ...defaultDomain, record: { CNAME: ['sd'], URL: ['121,3213'] } }, ]; it('should return false for invalid data', () => { diff --git a/utils/domain.js b/utils/domain.js index 69f1d83fd..15b739204 100644 --- a/utils/domain.js +++ b/utils/domain.js @@ -26,7 +26,7 @@ const validate = pattern => data => R.compose( )(pattern); const validateNameRecord = type => R.allPass([ - R.compose(R.equals(1), R.length, R.keys), + R.compose(R.equals(1), R.length, R.reject(R.equals('URL')), R.keys), R.propSatisfies(R.is(Array), type), ]); @@ -59,10 +59,12 @@ const validateDomainData = validate({ reason: 'Invalid record', fn: R.allPass([ R.is(Object), + //r => R.keys(r). R.cond([ [R.prop('CNAME'), validateNameRecord('CNAME')], [R.prop('ALIAS'), validateNameRecord('ALIAS')], [R.prop('A'), R.propSatisfies(R.is(Array), 'A')], + [R.prop('URL'), R.propSatisfies(R.is(Array), 'URL')], [R.T, R.T], ]), ]),