// Some random functions, as to not clutter the main file module.exports = { // Input validation validateInput: function (input, type) { switch (type) { case 'extention': // Check if input is a 3 digit number if (input.length != 3) { return false; } if (isNaN(input)) { return false; } return true; break; } }, // Generate GraphQL query generateQuery: function (type, args) { switch (type) { case 'lookup': return `query { fetchExtension(extensionId: "${args.ext}") { user { extension name extPassword voicemail } } fetchVoiceMail(extensionId: "${args.ext}") { password email } }` break; case 'list': return `query { fetchAllExtensions { extension { user { extension name } } } }`; break; case 'add': return `mutation { addExtension(input: { extensionId: "${args.ext}" name: "${args.name}" email: "${args.uid}" vmEnable: true vmPassword: "${args.ext}" maxContacts: "5" umEnable: false }) { status } }`; break; case 'delete': return `mutation { deleteExtension(input: {extensionId: ${args.ext}}) { status } }`; break; case 'reload': return `mutation { doreload(input: {clientMutationId: "${args.id}"}) { status } }`; break; case 'update_name': return `mutation { updateCoreUser (input: {extension: ${args.ext}, name: "${args.name}", noanswer_cid: "", busy_cid: "", chanunavail_cid: "", busy_dest: "", noanswer_dest: "", chanunavail_dest: ""}) { coreuser { name } } }`; } } }