remix-demo

react router (remix) demo

git clone https://9o.is/git/remix-demo.git

userInvite.server.ts

(713B)


      1 import { json } from "@remix-run/server-runtime";
      2 import { validationError } from "remix-validated-form";
      3 import { createUser } from "~/models/user.server";
      4 import { userInviteValidator } from "~/schemas/userInvite";
      5 import { requireUserId } from "~/session.server";
      6 
      7 export async function inviteUser(request: Request) {
      8   await requireUserId(request);
      9   const { error, data } = await userInviteValidator.validate(
     10     await request.formData()
     11   );
     12 
     13   if (error) return validationError(error);
     14 
     15   try {
     16     await createUser({
     17       name: data.name,
     18       email: data.email,
     19     });
     20   } catch (error) {
     21     // For security purposes, do not notify user if email exists.
     22   }
     23 
     24   return json(null, { status: 204 });
     25 }