HEX
Server: Apache
System: Linux p3plzcpnl506847.prod.phx3.secureserver.net 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: slfopp7cb1df (5698090)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: /home/slfopp7cb1df/public_html/Call/master/controllers/workers.js
const twilio 	= require('twilio')

const client = twilio(
	process.env.TWILIO_ACCOUNT_SID,
	process.env.TWILIO_AUTH_TOKEN)

module.exports.delete = function (req, res) {
	let id = req.params.id

	client.taskrouter.workspaces(process.env.TWILIO_WORKSPACE_SID).workers(id).remove()
		.then(worker => {
			res.status(200).end()
		}).catch(error => {
			res.status(500).send(res.convertErrorToJSON(error))
		})

}

module.exports.create = function (req, res) {
	const worker = {
		friendlyName: req.body.friendlyName,
		attributes: req.body.attributes
	}

	client.taskrouter.workspaces(process.env.TWILIO_WORKSPACE_SID).workers.create(worker)
		.then(worker => {
			const payload = {
				sid: worker.sid,
				friendlyName: worker.friendlyName,
				attributes: worker.attributes,
				activityName: worker.activityName
			}

			res.status(200).json(payload)
		}).catch(error => {
			res.status(500).send(res.convertErrorToJSON(error))
		})

}

module.exports.list = function (req, res) {

	client.taskrouter.workspaces(process.env.TWILIO_WORKSPACE_SID).workers.list()
		.then(workers => {
			let payload =[]

			for (let i = 0; i < workers.length; i++) {
				const worker = {
					sid: workers[i].sid,
					friendlyName: workers[i].friendlyName,
					attributes: JSON.parse(workers[i].attributes),
					activityName: workers[i].activityName
				}

				payload.push(worker)
			}

			res.status(200).json(payload)
		}).catch(error => {
			res.status(500).send(res.convertErrorToJSON(error))
		})

}