2024-03-16 19:39:20 +01:00
|
|
|
import { NextRequest, NextResponse } from "next/server";
|
2024-04-26 15:49:58 +02:00
|
|
|
import { Service, ServiceConfig } from "./service";
|
|
|
|
|
|
|
|
|
|
export const whatsappConfig: ServiceConfig = {
|
|
|
|
|
entity: "whatsapp",
|
|
|
|
|
table: "WhatsappBot",
|
|
|
|
|
displayName: "WhatsApp Connection",
|
|
|
|
|
createFields: [
|
|
|
|
|
{
|
|
|
|
|
name: "name",
|
|
|
|
|
label: "Name",
|
|
|
|
|
required: true,
|
|
|
|
|
size: 12,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "description",
|
|
|
|
|
label: "Description",
|
|
|
|
|
size: 12,
|
|
|
|
|
lines: 3,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "phoneNumber",
|
|
|
|
|
label: "Phone Number",
|
|
|
|
|
required: true,
|
|
|
|
|
},
|
2024-04-26 16:29:13 +02:00
|
|
|
{
|
|
|
|
|
name: "token",
|
|
|
|
|
label: "Token",
|
|
|
|
|
hidden: true,
|
|
|
|
|
required: true,
|
|
|
|
|
autogenerated: "token",
|
|
|
|
|
},
|
2024-04-26 15:49:58 +02:00
|
|
|
],
|
|
|
|
|
updateFields: [
|
|
|
|
|
{ name: "name", label: "Name", required: true, size: 12 },
|
|
|
|
|
{
|
|
|
|
|
name: "description",
|
|
|
|
|
label: "Description",
|
|
|
|
|
size: 12,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "phoneNumber",
|
|
|
|
|
label: "Phone Number",
|
|
|
|
|
required: true,
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
displayFields: [
|
|
|
|
|
{ name: "name", label: "Name", required: true, size: 12 },
|
|
|
|
|
{
|
|
|
|
|
name: "description",
|
|
|
|
|
label: "Description",
|
|
|
|
|
size: 12,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "phoneNumber",
|
|
|
|
|
label: "Phone Number",
|
2024-04-26 16:29:13 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "token",
|
|
|
|
|
label: "Token",
|
|
|
|
|
copyable: true,
|
2024-04-26 15:49:58 +02:00
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
listColumns: [
|
|
|
|
|
{
|
|
|
|
|
field: "name",
|
|
|
|
|
headerName: "Name",
|
|
|
|
|
flex: 1,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: "phoneNumber",
|
|
|
|
|
headerName: "Phone Number",
|
|
|
|
|
flex: 1,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: "description",
|
|
|
|
|
headerName: "Description",
|
|
|
|
|
flex: 2,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: "updatedAt",
|
|
|
|
|
headerName: "Updated At",
|
|
|
|
|
valueGetter: (value: any) => new Date(value).toLocaleString(),
|
|
|
|
|
flex: 1,
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
};
|
2024-03-16 19:39:20 +01:00
|
|
|
|
|
|
|
|
const getAllBots = async (req: NextRequest) => {
|
|
|
|
|
console.log({ req });
|
|
|
|
|
|
|
|
|
|
return NextResponse.json({ response: "ok" });
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const getOneBot = async (req: NextRequest) => {
|
|
|
|
|
console.log({ req });
|
|
|
|
|
|
|
|
|
|
return NextResponse.json({ response: "ok" });
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const sendMessage = async (req: NextRequest) => {
|
|
|
|
|
console.log({ req });
|
|
|
|
|
|
|
|
|
|
return NextResponse.json({ response: "ok" });
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const receiveMessages = async (req: NextRequest) => {
|
|
|
|
|
console.log({ req });
|
|
|
|
|
|
|
|
|
|
return NextResponse.json({ response: "ok" });
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const registerBot = async (req: NextRequest) => {
|
|
|
|
|
console.log({ req });
|
|
|
|
|
|
|
|
|
|
return NextResponse.json({ response: "ok" });
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const resetBot = async (req: NextRequest) => {
|
|
|
|
|
console.log({ req });
|
|
|
|
|
|
|
|
|
|
return NextResponse.json({ response: "ok" });
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const requestCode = async (req: NextRequest) => {
|
|
|
|
|
console.log({ req });
|
|
|
|
|
|
|
|
|
|
return NextResponse.json({ response: "ok" });
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const unverifyBot = async (req: NextRequest) => {
|
|
|
|
|
console.log({ req });
|
|
|
|
|
|
|
|
|
|
return NextResponse.json({ response: "ok" });
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const refreshBot = async (req: NextRequest) => {
|
|
|
|
|
console.log({ req });
|
|
|
|
|
|
|
|
|
|
return NextResponse.json({ response: "ok" });
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const createBot = async (req: NextRequest) => {
|
|
|
|
|
console.log({ req });
|
|
|
|
|
|
|
|
|
|
return NextResponse.json({ response: "ok" });
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const deleteBot = async (req: NextRequest) => {
|
|
|
|
|
console.log({ req });
|
|
|
|
|
|
|
|
|
|
return NextResponse.json({ response: "ok" });
|
|
|
|
|
};
|
|
|
|
|
|
2024-04-21 20:47:55 +02:00
|
|
|
const handleWebhook = async (req: NextRequest) => {
|
|
|
|
|
console.log({ req });
|
|
|
|
|
|
|
|
|
|
return NextResponse.json({ response: "ok" });
|
|
|
|
|
};
|
|
|
|
|
|
2024-03-16 19:39:20 +01:00
|
|
|
export const Whatsapp: Service = {
|
|
|
|
|
getAllBots,
|
|
|
|
|
getOneBot,
|
|
|
|
|
sendMessage,
|
|
|
|
|
receiveMessages,
|
|
|
|
|
registerBot,
|
|
|
|
|
resetBot,
|
|
|
|
|
requestCode,
|
|
|
|
|
unverifyBot,
|
|
|
|
|
refreshBot,
|
|
|
|
|
createBot,
|
|
|
|
|
deleteBot,
|
2024-04-21 20:47:55 +02:00
|
|
|
handleWebhook,
|
2024-03-16 19:39:20 +01:00
|
|
|
};
|