Update dependencies

This commit is contained in:
Darren Clarke 2024-11-25 09:31:25 +01:00
parent 48aa89f7cf
commit 7ad25e8a95
49 changed files with 2116 additions and 1699 deletions

View file

@ -5,19 +5,21 @@ import { getService } from "./utils";
export const getBot = async (
_req: NextRequest,
params: ServiceParams,
): Promise<NextResponse> => getService(params)?.getBot(params);
): Promise<NextResponse> => (await getService(params))?.getBot(params);
export const sendMessage = async (
req: NextRequest,
params: ServiceParams,
): Promise<NextResponse> => getService(params)?.sendMessage(req, params);
): Promise<NextResponse> =>
(await getService(params))?.sendMessage(req, params);
export const receiveMessage = async (
req: NextRequest,
params: ServiceParams,
): Promise<NextResponse> => getService(params)?.receiveMessage(req, params);
): Promise<NextResponse> =>
(await getService(params))?.receiveMessage(req, params);
export const handleWebhook = async (
req: NextRequest,
params: ServiceParams,
): Promise<NextResponse> => getService(params)?.handleWebhook(req);
): Promise<NextResponse> => (await getService(params))?.handleWebhook(req);

View file

@ -51,16 +51,15 @@ export type ServiceConfig = {
};
export type ServiceParams = {
params: {
params: Promise<{
service: string;
token?: string;
};
}>;
};
export class Service {
async getBot({
params: { service, token },
}: ServiceParams): Promise<NextResponse> {
async getBot({ params }: ServiceParams): Promise<NextResponse> {
const { service, token } = await params;
const table = getServiceTable(service);
const row = await db
.selectFrom(table)
@ -71,16 +70,15 @@ export class Service {
return NextResponse.json(row);
}
async registerBot({
params: { service, token },
}: ServiceParams): Promise<NextResponse> {
async registerBot({ params: _params }: ServiceParams): Promise<NextResponse> {
return NextResponse.error() as any;
}
async sendMessage(
req: NextRequest,
{ params: { service, token } }: ServiceParams,
{ params }: ServiceParams,
): Promise<NextResponse> {
const { service, token } = await params;
const table = getServiceTable(service);
const row = await db
.selectFrom(table)
@ -109,8 +107,9 @@ export class Service {
async receiveMessage(
req: NextRequest,
{ params: { service, token } }: ServiceParams,
{ params }: ServiceParams,
): Promise<NextResponse> {
const { service, token } = await params;
const json = await req.json();
const worker = await getWorkerUtils();
await worker.addJob(`${service}/receive-${service}-message`, {

View file

@ -11,7 +11,8 @@ const fetchNoCache = async (url: string, options = {}) => {
};
export class Signal extends Service {
async getBot({ params: { token } }: ServiceParams) {
async getBot({ params }: ServiceParams) {
const { token } = await params;
const row = await db
.selectFrom("SignalBot")
.selectAll()

View file

@ -3,7 +3,10 @@ import { Facebook } from "./facebook";
import { Signal } from "./signal";
import { Whatsapp } from "./whatsapp";
export const getService = ({ params: { service } }: ServiceParams): Service => {
export const getService = async ({
params,
}: ServiceParams): Promise<Service> => {
const { service } = await params;
if (service === "facebook") {
return new Facebook();
} else if (service === "signal") {

View file

@ -4,7 +4,8 @@ import { revalidatePath } from "next/cache";
import { Service, ServiceParams } from "./service";
export class Whatsapp extends Service {
async getBot({ params: { token } }: ServiceParams) {
async getBot({ params }: ServiceParams) {
const { token } = await params;
const row = await db
.selectFrom("WhatsappBot")
.selectAll()