From 12a5f17351e7d69b3857c861bbacb733b7da96c4 Mon Sep 17 00:00:00 2001 From: Patrick Fic <> Date: Fri, 4 Mar 2022 10:11:18 -0800 Subject: [PATCH] Add create user. --- server.js | 3 +-- server/firebase/firebase-handler.js | 37 +++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/server.js b/server.js index 55b06de89..4b9d076f0 100644 --- a/server.js +++ b/server.js @@ -149,6 +149,7 @@ app.post( fb.unsubscribe ); app.post("/adm/updateuser", fb.validateFirebaseIdToken, fb.updateUser); +app.post("/adm/createuser", fb.validateFirebaseIdToken, fb.createUser); //Stripe Processing var stripe = require("./server/stripe/payment"); @@ -180,7 +181,6 @@ app.post("/data/arms", data.arms); var taskHandler = require("./server/tasks/tasks"); app.post("/taskHandler", taskHandler.taskHandler); - var ioevent = require("./server/ioevent/ioevent"); app.post("/ioevent", ioevent.default); app.post("/newlog", (req, res) => { @@ -188,7 +188,6 @@ app.post("/newlog", (req, res) => { logger.log(message, type, user, record, object); }); - var cdkGetMake = require("./server/cdk/cdk-get-makes"); app.post("/cdk/getvehicles", fb.validateFirebaseIdToken, cdkGetMake.default); diff --git a/server/firebase/firebase-handler.js b/server/firebase/firebase-handler.js index 42e6f19a6..05a5e38aa 100644 --- a/server/firebase/firebase-handler.js +++ b/server/firebase/firebase-handler.js @@ -25,6 +25,43 @@ const adminEmail = [ "patrick@thinkimex.com", ]; +exports.createUser = (req, res) => { + logger.log("admin-create-user", "WARN", req.user.email, null, { + request: req.body, + }); + if (!adminEmail.includes(req.user.email)) { + logger.log( + "admin-create-user-unauthorized", + "ERROR", + req.user.email, + null, + { + request: req.body, + user: req.user, + } + ); + res.sendStatus(404); + } + const { email, displayName, password } = req.body; + admin + .auth() + .createUser({ email, displayName, password }) + .then((userRecord) => { + // See the UserRecord reference doc for the contents of userRecord. + + logger.log("admin-update-user-success", "DEBUG", req.user.email, null, { + userRecord, + }); + res.json(userRecord); + }) + .catch((error) => { + logger.log("admin-update-user-error", "ERROR", req.user.email, null, { + error, + }); + res.status(500).json(error); + }); +}; + exports.updateUser = (req, res) => { logger.log("admin-update-user", "WARN", req.user.email, null, { request: req.body,