npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@novo-x/google-firebase

v1.0.3

Published

Google Firebase core

Downloads

5

Readme

Google Firebase Service

Available methods

  • createUser: creates a user
  • getUser: retrieves a user
  • updateUser: updates a user
  • deleteUser: deletes a user
  • verifyToken: verifies the token and returns the decoded data
  • notifyUser: sends push notification to a user
  • notifyAllUsers: sends push notification to all users
  • notifyTopic: sends push notification to a topic
  • disabledByAdmin: an admin disables an user
  • setCustomUserClaims: sets custom user claims
  • setAdminRights: gives an user admin rights
  • generatePasswordRecoveryLink: generates a password recovery link
  • generateEmailVerificationLink: generates an email verification link
  • createSessionCookie: creates a session cookie
  • verifySessionCookie: verifies a session cookie

Usage examples

yarn add @novo-x/google-firebase

import {GoogleFirebase, UserIdentifier} from "@novo-x/google-firebase"

const MyService = new GoogleFirebase(/* optional config object */);

const createdUser = await MyService.createUser({
    displayName: 'John Doe',
    email: '[email protected]',
    password: 'Pass1234'
    // etc..
})

const deletedUser = await MyService.deleteUser(
    '123456789' // firebaseUserId
)

const user = await MyService.getUser(
    UserIdentifier.USER_ID, // type of identifier (id, email, etc..)
    '123456789' // identifier value
)

const updateUser = await MyService.updateUser(
    '123456789', // firebaseUserId
    {
        displayName: 'John Doe',
        email: '[email protected]',
        password: 'Pass1234'
        // etc..
    } // updatedUserDdata
)

const decodedToken = await MyService.verifyToken(
    '123456789', // firebaseToken
    true // optional to check if the user is disabled
)

const userMessageId = await MyService.notifyUser(
    '123456789', // user token
    {
        title: 'Some title',
        body: 'Some body'
    } // notification object
)

const successAndFailedTokens = await MyService.notifyAllUsers(
    [
        '123456789',
        '987654321'
    ], // array with user tokens to notify
    {
        title: 'Some title',
        body: 'Some body'
    } // notification object
)

const topicMessageId = await MyService.notifyTopic(
    'some-topic', // topic to notify
    {
        title: 'Some title',
        body: 'Some body'
    } // notification object
)

const disabledUser = await MyService.disabledByAdmin(
    '123456789', // userId
    'ABCDEFGHI123456789' // admin token
)

await MyService.setCustomUserClaims(
    '123456789', // userId
    {
        // custom user claims
    }
)

await MyService.setAdminRights(
    '123456789', // userId
)

const recoveryLink = await MyService.generatePasswordRecoveryLink(
    '[email protected]', // user email
    {
        // optional link configuration
    }
)

const emailVerificationLink = await MyService.generateEmailVerificationLink(
    '[email protected]', // user email
    {
        // optional link configuration
    }
)

const sessionCookie = await MyService.createSessionCookie(
    'ABCDEFGHI1234567', // user token
    300000 // expiration time (milliseconds)
)

const decodedSesssionCookie = await MyService.verifySessionCookie(
    sessionCookie, // the session cookie
    true // optional to check if the user is disabled
)

Dependencies

firebase-admin