@novo-x/google-firebase
v1.0.3
Published
Google Firebase core
Downloads
1
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
)