import axios from "npm:axios";
export const refreshAccessToken = async (
clientId: string,
clientSecret: string,
refreshToken: string,
): Promise<string> => {
const responseDesk = await axios.post(
`https://accounts.zoho.com/oauth/v2/token`,
{},
{
params: {
client_id: clientId,
client_secret: clientSecret,
refresh_token: refreshToken,
grant_type: "refresh_token",
},
},
);
return responseDesk.data.access_token;
};
type Ticket = any;
export const notAssignedTickets = async (
accessToken: string,
orgId: string,
departmentId: string,
): Promise<{ data: Ticket[] }> => {
const responseDesk = await axios.get(
`https://desk.zoho.com/api/v1/tickets`,
{
params: {
limit: "100",
departmentIds: departmentId,
assignee: "Unassigned",
status: "${ONHOLD},${OPEN}",
},
headers: {
"Authorization": `Zoho-oauthtoken ${accessToken}`,
"orgId": orgId,
},
},
);
if (responseDesk.status === 422) {
return {
data: [],
};
}
return responseDesk.data;
};