Hey so I have a 2FA function that runs and is giving me an error while retrieving my User ID. I've confirmed it exists, and the error is just kinda weird
MFA Setup -- User ID: 659479ac0d6bbe8e70d1
Getting user
{"code":400,"type":"","response":"<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">\n <head>\n <title>400 Bad Request</title>\n </head>\n <body>\n <h1>400 Bad Request</h1>\n </body>\n</html>\n"}
----------------------------------------------------------------------------
Unsupported logs detected. Use context.log() or context.error() for logging.
----------------------------------------------------------------------------
(node:22) ExperimentalWarning: The Fetch API is an experimental feature. This feature could change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
(node:22) Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable to '0' makes TLS connections and HTTPS requests insecure by disabling certificate verification.
----------------------------------------------------------------------------
any advice is appreciated
async function getCurrentDateTime() {
try {
const response = await fetch("http://worldtimeapi.org/api/timezone/America/New_York");
if (!response.ok) {
throw new Error('Network response was not ok');
}
const data = await response.json();
return data.datetime;
} catch (error) {
console.error('There has been a problem with your fetch operation:', error);
}
}
// This is your Appwrite function
// It's executed each time we get a request
export default async ({ req, res, log, error }) => {
// Why not try the Appwrite SDK?
//
const client = new Client()
.setEndpoint('https://appwrite.pva.ai/v1')
.setProject(process.env.APPWRITE_FUNCTION_PROJECT_ID)
.setKey(process.env.APPWRITE_API_KEY)
.setSelfSigned(true);
const users = new Users(client);
const db = new Databases(client);
const timestamp = req.body.timestamp;
// The `req` object contains the request data
if (req.body.requestType == 'getCode') {
try {
var status = 0;
log(`MFA Setup -- User ID: ${req.body.userId}`)
const userId = req.body.userId;
log("Getting user");
const user = await users.get(userId);
log("Getting member");
const member = await db.getDocument("maindb", "member", userId);
if (!user) {
return res.json({ type: "error", message: "User not found" });
}
where is this line logged?
{"code":400,"type":"","response":"<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">\n <head>\n <title>400 Bad Request</title>\n </head>\n <body>\n <h1>400 Bad Request</h1>\n </body>\n</html>\n"}
it seems to be from the user = await users.get
based on the logs
it's inside logs
what's your catch block doing?
} catch (err) {
log(err);
return res.json(err);
}
Recommended threads
- How to Avoid Double Requests in function...
I'm currently using Appwrite's `functions.createExecution` in my project. I want to avoid double requests when multiple actions (like searching or pagination) a...
- Send Email Verification With REST
I am using REST to create a user on the server side after receiving form data from the client. After the account is successfully created i wanted to send the v...
- Use different email hosts for different ...
Hello, I have 2 projects and i want to be able to set up email templates in the projects. Both projects will have different email host configurations. I see ...