получить ИД пользователя пользователя наСоздать и обновить БД - PullRequest
0 голосов
/ 23 октября 2018

Я пытаюсь написать облачную функцию, которая определяет, когда новый пользователь был создан, используя функцию oncreate ((user), а затем добавляет значение 50 в поле точек. Вот что создается:

User

То, что я пытаюсь сделать, это просто определить, когда пользователь создан, получить идентификатор и изменить значение баллов на 50, это должно бытьОблачная функция. Вот как выглядит мой код в настоящее время.

    exports.updatepoints = functions.auth.user().onCreate((user) => {

  const userID = firebase.auth.currentUser.uid; 
  return updatepoints(userID)
});

async function updatepoints(userID) {
  return firebase.database().ref('mobile_user/' + userID).set(
    {
      points: 50
    });
};

Я довольно новичок в JS и Firebase, поэтому любая помощь руководства приветствуется.

1 Ответ

0 голосов
/ 24 октября 2018

Я бы сделал это так:

Сначала я бы изменил имя функции, чтобы действительно сказать, что делает функция, в этом случае инициализация пользователя.Итак, initUser.

Тогда ваши функции получают данные в виде пользователя.Используйте это, чтобы получить информацию о созданном пользователе и сохранить данные в Firebase.

Примерно так должно работать.

import { auth } from 'firebase-functions';
import { database } from 'firebase-admin';

exports.initUser = functions.auth.user().onCreate((user) => {

const mobileUser = {
email: user.email,
points: 50,
subscribedToMailingList: true
}    

const ref = database().ref(`mobile_user/${user.uid}`);

  return ref.set(mobileUser)
    .then(() => console.log(`Created user: ${user.email}`))
    .catch((error) => console.log(`Error: ${error}`));
...