Имитация создания пользователя в функциях Firebase CLI

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

Чтобы запустить CLI, я запускаю:

firebase experimental:functions:shell

Моя функция:

exports.createTreeForNewUser = functions.auth.user().onCreate(event => {
    const user = event.data;
    console.log(user.uid);
    console.log(user.displayName);
    console.log(user.email);
    console.log(user.photoURL);
    console.log(user.metadata.creationTime);
    return null;
});

Когда я запускаю следующую команду в интерфейсе командной строки Firebase:

createTreeForNewUser()

он печатает undefined 4 раза, за которым следует исключение, потому что он не может извлечь creationTime из undefined. Такое поведение имеет смысл, но что бы я ни пытался, я не мог понять, как правильно передать event (чтобы функция смогла извлечь все нужные мне параметры).

Вопрос: как запустить createTreeForNewUser с правильно установленным параметром event?

Спасибо! Славик




Ответы (1)


Передайте пользовательский объект в функцию:

createTreeForNewUser({
    uid: 'xxx',
    displayName: 'John',
    email: '[email protected]',
    photoURL: 'https://...',
    metadata: {creationTime: 123}
})
person Doug Stevenson    schedule 12.11.2017
comment
Сработало как по волшебству, спасибо! Просто удалите лишний «}» в конце строки «метаданные» :) - person Slavik N; 13.11.2017