UNPKG

cdk-amazon-chime-resources

Version:

![Experimental](https://img.shields.io/badge/experimental-important.svg?style=for-the-badge)

54 lines 6.97 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.sipRuleValidator = void 0; var E164_NUMBER = /^\+[1-9]\d{1,14}$/; var URI_HOSTNAME = /^[0-9a-z]{22}.voiceconnector.chime.aws$/; var SMA_ID = /^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$/; function sipRuleValidator(props) { if (props.triggerType) { if (props.triggerValue.includes('Token')) { } else { if (props.triggerType === 'ToPhoneNumber' && !E164_NUMBER.test(props.triggerValue)) { throw new Error('Trigger Value must be must be valid E.164 number'); } if (props.triggerType === 'RequestUriHostname' && !URI_HOSTNAME.test(props.triggerValue)) { throw new Error('Trigger Value must be valid Chime Voice Connector'); } } } if (props.targetApplications) { for (var target of props.targetApplications) { if (target.sipMediaApplicationId) { if (target.sipMediaApplicationId.includes('Token')) { } else { if (!SMA_ID.test(target.sipMediaApplicationId)) { throw new Error('sipMediaApplicationId must be valid'); } } } for (var target of props.targetApplications) { if (target.priority) { if (target.priority < 1 || target.priority > 25) { throw new Error('priority should be between 1 and 25'); } } } for (var target of props.targetApplications) { if (target.region) { if (!(target.region.includes('Token[AWS.Region.') || target.region === 'us-east-1' || target.region === 'us-west-2')) { throw new Error('Region must be us-east-1 or us-west-2'); } } } } } return true; } exports.sipRuleValidator = sipRuleValidator; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lwUnVsZVZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wc3RuL3NpcFJ1bGVWYWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsSUFBSSxXQUFXLEdBQUcsbUJBQW1CLENBQUM7QUFFdEMsSUFBSSxZQUFZLEdBQUcseUNBQXlDLENBQUM7QUFFN0QsSUFBSSxNQUFNLEdBQUcsZ0VBQWdFLENBQUM7QUFFOUUsU0FBZ0IsZ0JBQWdCLENBQUMsS0FBbUI7SUFDbEQsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdEIsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQzNDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFDRSxLQUFLLENBQUMsV0FBVyxLQUFLLGVBQWU7Z0JBQ3JDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEVBQ3JDLENBQUM7Z0JBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO1lBQ3RFLENBQUM7WUFDRCxJQUNFLEtBQUssQ0FBQyxXQUFXLEtBQUssb0JBQW9CO2dCQUMxQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxFQUN0QyxDQUFDO2dCQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQztZQUN2RSxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzdCLEtBQUssSUFBSSxNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDNUMsSUFBSSxNQUFNLENBQUMscUJBQXFCLEVBQUUsQ0FBQztnQkFDakMsSUFBSSxNQUFNLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ3JELENBQUM7cUJBQU0sQ0FBQztvQkFDTixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDO3dCQUMvQyxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7b0JBQ3pELENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7WUFDRCxLQUFLLElBQUksTUFBTSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO2dCQUM1QyxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDcEIsSUFBSSxNQUFNLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsUUFBUSxHQUFHLEVBQUUsRUFBRSxDQUFDO3dCQUNoRCxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7b0JBQ3pELENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7WUFFRCxLQUFLLElBQUksTUFBTSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO2dCQUM1QyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDbEIsSUFDRSxDQUFDLENBQ0MsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUM7d0JBQzNDLE1BQU0sQ0FBQyxNQUFNLEtBQUssV0FBVzt3QkFDN0IsTUFBTSxDQUFDLE1BQU0sS0FBSyxXQUFXLENBQzlCLEVBQ0QsQ0FBQzt3QkFDRCxNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7b0JBQzNELENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQXRERCw0Q0FzREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTaXBSdWxlUHJvcHMgfSBmcm9tICcuL3NpcFJ1bGUnO1xuXG52YXIgRTE2NF9OVU1CRVIgPSAvXlxcK1sxLTldXFxkezEsMTR9JC87XG5cbnZhciBVUklfSE9TVE5BTUUgPSAvXlswLTlhLXpdezIyfS52b2ljZWNvbm5lY3Rvci5jaGltZS5hd3MkLztcblxudmFyIFNNQV9JRCA9IC9eWzAtOWEtel17OH0tWzAtOWEtel17NH0tWzAtOWEtel17NH0tWzAtOWEtel17NH0tWzAtOWEtel17MTJ9JC87XG5cbmV4cG9ydCBmdW5jdGlvbiBzaXBSdWxlVmFsaWRhdG9yKHByb3BzOiBTaXBSdWxlUHJvcHMpIHtcbiAgaWYgKHByb3BzLnRyaWdnZXJUeXBlKSB7XG4gICAgaWYgKHByb3BzLnRyaWdnZXJWYWx1ZS5pbmNsdWRlcygnVG9rZW4nKSkge1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoXG4gICAgICAgIHByb3BzLnRyaWdnZXJUeXBlID09PSAnVG9QaG9uZU51bWJlcicgJiZcbiAgICAgICAgIUUxNjRfTlVNQkVSLnRlc3QocHJvcHMudHJpZ2dlclZhbHVlKVxuICAgICAgKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVHJpZ2dlciBWYWx1ZSBtdXN0IGJlIG11c3QgYmUgdmFsaWQgRS4xNjQgbnVtYmVyJyk7XG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIHByb3BzLnRyaWdnZXJUeXBlID09PSAnUmVxdWVzdFVyaUhvc3RuYW1lJyAmJlxuICAgICAgICAhVVJJX0hPU1ROQU1FLnRlc3QocHJvcHMudHJpZ2dlclZhbHVlKVxuICAgICAgKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVHJpZ2dlciBWYWx1ZSBtdXN0IGJlIHZhbGlkIENoaW1lIFZvaWNlIENvbm5lY3RvcicpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChwcm9wcy50YXJnZXRBcHBsaWNhdGlvbnMpIHtcbiAgICBmb3IgKHZhciB0YXJnZXQgb2YgcHJvcHMudGFyZ2V0QXBwbGljYXRpb25zKSB7XG4gICAgICBpZiAodGFyZ2V0LnNpcE1lZGlhQXBwbGljYXRpb25JZCkge1xuICAgICAgICBpZiAodGFyZ2V0LnNpcE1lZGlhQXBwbGljYXRpb25JZC5pbmNsdWRlcygnVG9rZW4nKSkge1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICghU01BX0lELnRlc3QodGFyZ2V0LnNpcE1lZGlhQXBwbGljYXRpb25JZCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignc2lwTWVkaWFBcHBsaWNhdGlvbklkIG11c3QgYmUgdmFsaWQnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGZvciAodmFyIHRhcmdldCBvZiBwcm9wcy50YXJnZXRBcHBsaWNhdGlvbnMpIHtcbiAgICAgICAgaWYgKHRhcmdldC5wcmlvcml0eSkge1xuICAgICAgICAgIGlmICh0YXJnZXQucHJpb3JpdHkgPCAxIHx8IHRhcmdldC5wcmlvcml0eSA+IDI1KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3ByaW9yaXR5IHNob3VsZCBiZSBiZXR3ZWVuIDEgYW5kIDI1Jyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZvciAodmFyIHRhcmdldCBvZiBwcm9wcy50YXJnZXRBcHBsaWNhdGlvbnMpIHtcbiAgICAgICAgaWYgKHRhcmdldC5yZWdpb24pIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAhKFxuICAgICAgICAgICAgICB0YXJnZXQucmVnaW9uLmluY2x1ZGVzKCdUb2tlbltBV1MuUmVnaW9uLicpIHx8XG4gICAgICAgICAgICAgIHRhcmdldC5yZWdpb24gPT09ICd1cy1lYXN0LTEnIHx8XG4gICAgICAgICAgICAgIHRhcmdldC5yZWdpb24gPT09ICd1cy13ZXN0LTInXG4gICAgICAgICAgICApXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlZ2lvbiBtdXN0IGJlIHVzLWVhc3QtMSBvciB1cy13ZXN0LTInKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cbiJdfQ==