here is my code
import { default as axios } from 'axios';
import fetch from 'node-fetch';
import { WebhookReceiver } from 'livekit-server-sdk';
// This is your Appwrite function
// It's executed each time we get a request
export default async ({ req, res, log, error }) => {
const client = new Client();
const functions = new Functions(client);
const database = new Databases(client);
client.setEndpoint('https://cloud.appwrite.io/v1')
.setProject(process.env.APPWRITE_FUNCTION_PROJECT_ID)
.setKey(process.env.APPWRITE_API_KEY);
const ENDPOINT = process.env.MY_APPWRITE_ENDPOINT;
const PROJECT_ID = process.env.APPWRITE_PROJECT_ID;
const API_KEY = process.env.APPWRITE_API_KEY;
const DATABASE_ID = process.env.DATABASE_ID;
const LIVEKIT_STREAMING_COLLECTION = process.env.LIVEKIT_STREAMING_COLLECTION;
const LIVE_KIT_API = process.env.LIVE_KIT_API;
const LIVE_KIT_SEC_KEY = process.env.LIVE_KIT_SEC_KEY;
const LIVE_KIT_WEBSOCKET = process.env.LIVE_KIT_WEBSOCKET;
const receiver = new WebhookReceiver(LIVE_KIT_API, LIVE_KIT_SEC_KEY);
if (req.method === 'POST') {
const jsondData = JSON.parse(req.bodyRaw);
const VideoLibraryId = jsondData.VideoLibraryId;
const VideoGuid = jsondData.VideoGuid;
const Status = jsondData.Status;
// Event is a WebhookEvent object
var headers = req.headers;
log(`headers ${headers}`);
var authorization = headers['authorization'];
// const authorization = req.headers["Authorization"];
const event = await receiver.receive(req.body, authorization);
log(`Events ${event}`);
}
return res.send({method: 'method is POST'});
};
I'm using NodeJs Runtime Environment 18.0
@Joshi hello
You literally put the answer to your problem in the title
my head is smoking and confused...
it seem like i need a higher nodejs runtime
Please what are your thoughts on this
Thank you very much Steve,
Please how do I add the --experimental-global-webcrypto flag when using Node.js
<@462046107556511744>
or is there way i can upgrade my nodejs 18 to 19 in Appwrite?
Hello <@462046107556511744>
any support please/
<@462046107556511744> <@777466243535994910> please is there hope on resloving this ?
Add this at the top of your function:
import { webcrypto } from 'node:crypto';
globalThis.crypto ??= webcrypto;
<@1144658630591909998>
Recommended threads
- Issue Related to Presence
```PresenceService: upsert error – AppwriteException: user_unauthorized, The current user is not authorized to perform the requested action. (401) ...
- Can't create or update functions via CLI...
Self-hosted 1.9.5 — all function create/update return 500: Unknown attribute: "providerBranches" (metadata ↔ physical-column desync after upgrade) Env: Appwrit...
- Refund
i started with the free version and then switch to pro and pay the fee. Before ending of the month, i switch back to free plan. got the confirmation email t...