Skip to content

Instantly share code, notes, and snippets.

@hoangsetup
Created September 18, 2021 08:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hoangsetup/825cada1a8d5e0f82a0e8e25b63a9a27 to your computer and use it in GitHub Desktop.
Save hoangsetup/825cada1a8d5e0f82a0e8e25b63a9a27 to your computer and use it in GitHub Desktop.
// src/controllers/call-state.controller.ts
import { Request, Response } from 'express';
import CustomerModel from '../models/customer.model';
import CallStateModel from '../models/call.state.model';
const callStateController = {
handleNewCallState: async (req: Request, res: Response) => {
try {
const { phone_number: phoneNumber, state, timestamp } = req.body;
let customer = await CustomerModel.findOne({ phoneNumber }).exec();
if (!customer) {
customer = await CustomerModel.create({
phoneNumber,
name: 'New customer',
});
}
await CallStateModel.create({
customerId: customer._id,
timestamp,
state,
});
res.json({ success: true });
} catch (error) {
res.status(500);
if (error instanceof Error) {
res.json({ message: error.message });
} else {
res.json({ message: error });
}
}
},
};
export default callStateController;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment