Как проверить, существует ли пользователь, если у него есть профиль пользователя в Firestore - PullRequest
1 голос
/ 09 ноября 2019

Я хотел бы проверить, существует ли пользователь в моей коллекции «Users» в Firestore, поэтому я не пишу пользователю, которого не существует. Я немного растерялся с документацией, поэтому любая помощь будет принята с благодарностью.

Вот что я пробовал до сих пор:

const admin = require('firebase-admin');
const functions = require('firebase-functions');
const express = require('express');

admin.initializeApp();

const db = admin.firestore();
const messaging = admin.messaging();
const app = express();

app.get('/checkUserID/:userID', async (request: any, response: any) => {
    const userID: String = request.params.userID;

    console.log(`Looking up user ${userID}`);

    try {
        db.doc("Users/"+userID).get().then((documentSnapshot: any) => {
            const userExists = documentSnapshot.exists;

            if (userExists) {
                response.set('Cache-Control', 'private, max-age=300');
                return response.status(200);
            } else {
                return response.status(404).json({errorCode: 400, errorMessage: `User '${userID}' not found`});
            }
        });
    } catch(error) {
        console.log('Error checking if user exists:', userID, error.message);
        return response.sendStatus(404);
    }
});

exports.api = functions.https.onRequest(app);

Заранее большое спасибо: D

РЕДАКТИРОВАТЬ: Моя проблема в том, что я получаю 408 тайм-аут примерно через минуту.

1 Ответ

1 голос
/ 09 ноября 2019

Похоже, мне просто нужно было использовать response.sendStatus() вместо response.status(). Спасибо @ samthecodingman

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...