Skip to content

Commit

Permalink
Agent availability switch logic
Browse files Browse the repository at this point in the history
  • Loading branch information
minfeishen2024 authored and WillieCubed committed Feb 22, 2024
1 parent e1e5a64 commit 3e79d48
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 37 deletions.
41 changes: 9 additions & 32 deletions src/app/api/agent/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,47 +5,24 @@ interface Activity {
sid: string
}

// export async function POST(
// request: Request,
// respones: Response
// ) {

// const accountSid = process.env.TWILIO_ACCOUNT_SID;
// const authToken = process.env.TWILIO_AUTH_TOKEN;
// const client = require('twilio')(accountSid, authToken);


// client.taskrouter.v1.workspaces('WSd8100ebc4d3482bc08bd668af5f45c8a')
// .workers('WK1cfbadb8437bf21e5719d5b2358db96d')
// .update({
// activitySid: 'WAd9d119cdf4ac2d6a37c372ea05029717'
// })
// .then((worker: any) => console.log(worker.activityName));



// }

// import { NextApiRequest, NextApiResponse } from 'next';
// import twilio from 'twilio';

interface Activity {
sid: string;
}

export async function POST(
request: NextRequest,
response: NextResponse
) {
const accountSid = process.env.TWILIO_ACCOUNT_SID;
const authToken = process.env.TWILIO_AUTH_TOKEN;
const workspaceSid = process.env.TWILIO_TASKROUTER_WORKSPACE_SID;
//Need to update via Okta authentification
const workerSid=process.env.TWILIO_WORKER_SID;
const client = require('twilio')(accountSid, authToken);

const body = await request.json()
const {activitySid} = body;

try {
const worker = await client.taskrouter.v1.workspaces('WSd8100ebc4d3482bc08bd668af5f45c8a')
.workers('WK1cfbadb8437bf21e5719d5b2358db96d')
const worker = await client.taskrouter.v1.workspaces(workspaceSid)
.workers(workerSid)
.update({
activitySid: 'WA387cdc981874d6497a7658e6832d20a7'
activitySid
});

console.log(worker.activityName);
Expand Down
16 changes: 11 additions & 5 deletions src/components/appbar/AgentStatus.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,16 @@ import {Chip} from "@material-tailwind/react";
import {Button} from "../ui/button";

import axios from 'axios';
import toast from 'react-hot-toast';




const activities = {
Available: 'WAd9d119cdf4ac2d6a37c372ea05029717',
Unavailable: 'WA387cdc981874d6497a7658e6832d20a7',
Break: 'WA0e780b853a43067109d8f4c6ecb25c59'
}

const AgentStatus:React.FC = () => {

const [activity, setActivity] = useState('Unavailable')
Expand All @@ -16,18 +23,17 @@ const AgentStatus:React.FC = () => {
const toggleAvailability = async () => {
const newActivity = activity === 'Unavailable' ? 'Available' : 'Unavailable';
setActivity(newActivity);
const activitySid = activities[newActivity];

//Request to API route
try {
// Send a request to your API route using axios
const response = await axios.post('/api/agent', {
newActivity,
activitySid
});

console.log('Status updated to:', response.data.status);
} catch (error) {
console.error('Error updating status:', error);
// Optionally revert the status change in the UI if the API call fails
// If API call fail, make no change
setActivity(activity);
}
}
Expand Down

0 comments on commit 3e79d48

Please sign in to comment.