UNPKG

kod-temp

Version:

Workano Communications SDK

40 lines (39 loc) 1.57 kB
// addUser.ts import workano from "../../lib/index"; export default class { static async listCallLogs(offset, limit) { const callLogs = await workano.callLogd.listCallLogs(offset, limit); // Process the call logs to create a more readable data structure const groupedLogs = {}; callLogs.forEach((cl) => { const isOutgoing = cl.callDirection === "outbound"; const contactNumber = isOutgoing ? cl.destination.extension : cl.source.extension; const contactName = isOutgoing ? cl.destination.name : cl.source.name; const simplifiedLog = { id: cl.id, time: cl.start.toISOString().split("T")[1].substr(0, 8), // HH:MM:SS duration: cl.duration, isOutgoing, contactName: contactName || "", contactNumber, answered: cl.answered, recordings: cl.recordings, }; const date = cl.start.toISOString().split("T")[0]; // YYYY-MM-DD if (!groupedLogs[date]) { groupedLogs[date] = []; } groupedLogs[date].push(simplifiedLog); }); // Convert the grouped logs into an array const result = Object.keys(groupedLogs) .sort((a, b) => new Date(b).getTime() - new Date(a).getTime()) // Sort dates descending .map((date) => ({ date, calls: groupedLogs[date], })); return result; } }