Back

Function to replicate created user not working

  • 0
  • Web
  • Functions
  • Auth
  • Cloud
Criffis
7 Apr, 2024, 21:51

I'm trying to create a function that replicates a newly created user to a document in a collection(triggered by event)

I just get a Server Error occured trying to replicate the user: doge@doge.com in the logs.

TypeScript
import { Client, Databases, Permission, Role } from 'node-appwrite';

export default async ({ req, res, log, error }) => {
  const client = new Client();

  client
    .setEndpoint(process.env.API_ENDPOINT)
    .setProject(process.env.PROJECT_ID)
    .setKey(process.env.APPWRITE_API_KEY);

  const databases = new Databases(client);

  const { $id, name, email } = req.body
  
  try {
    await databases.createDocument(process.env.DB_ID, process.env.COLLECTION_ID, $id, {
      name,
      email,
    }, 
    [
      Permission.read(Role.any()),   
      Permission.update(Role.user($id))
    ])
  } catch (e) {
    error(`Error: ${e} occurred trying to replicate the user: ${email}.`)
    return res.send("Error occurred");
  }

  return res.send("User created");
};

Any ideas?

TL;DR
Function is trying to duplicate a user into a document but encountering a server error. Check the API key and permissions. Make sure your endpoint, project ID, and database IDs are correct.
Reply

Reply to this thread by joining our Discord

Reply on Discord

Need support?

Join our Discord

Get community support by joining our Discord server.

Join Discord

Get premium support

Join Appwrite Pro and get email support from our team.

Learn more