Skip to content

An interface for interacting with Google Firebase data storage.

Notifications You must be signed in to change notification settings

CAndRyan/MTBjorn.Firestorm

Repository files navigation

Firestorm

An interface for interacting with Google Firebase data storage.

Getting Started

  1. Get app config for your Firebase app from the Project Settings page

  2. Setup the active Firebase app

    import { setupActiveFirebaseApp } from '@mtbjorn/firestorm';
    setupActiveFirebaseApp({
    	appName: 'appName',
    	appConfig: {},
    	driverConfig: {}
    });
    • TODO: support for managing multiple Firebase apps
  3. Login to the active Firebase app

    import { getActiveFirebaseApp } from '@mtbjorn/firestorm';
    const { isUserLoggedIn, login } = getActiveFirebaseApp();
    
    const userIsLoggedIn = await isUserLoggedIn('email');
    if (!userIsLoggedIn) await login('email', 'password');
  4. Logout of the active Firebase app

    import { getActiveFirebaseApp } from '@mtbjorn/firestorm';
    const { logout } = getActiveFirebaseApp();
    await logout();
  5. Respond to changes in authentication status of active Firebase app

    import { getActiveFirebaseApp } from '@mtbjorn/firestorm';
    const { addAuthStateListener } = getActiveFirebaseApp();
    
    const removeAuthStateListener = await addAuthStateListener((auth) => {
        console.log(`Current user: ${auth.email}`)
        removeAuthStateListener();
    });
  6. Upload a file to storage

    import { uploadFile } from '@mtbjorn/firestorm';
    const url = await uploadFile('fileName', file, 'imagesDirectory');

About

An interface for interacting with Google Firebase data storage.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published