DDD framework for Firebase applications that includes ORMOnFire and FireAuth libraries.
Getting Started
Install root package that adds all of the latest FireLegion packages to dependencies
yarn add @typeheim/fire-legion
//or
npm -i @typeheim/fire-legion
ORMOnFire
ORMOnFire is a powerful Firestore ORM.
import {
Agregate,
Entity,
Collection,
CollectionRef,
ID,
Field
} from '@typeheim/orm-on-fire'
@Agregate()
export class User {
@ID() id: string
@Field() firstName: string
@Field() lastName: string
@Field() status: string
@CollectionRef(UserFile) files: Collection<UserFile>
}
@Entity({ collection: 'user-files' })
export class UserFile {
@ID() id: string
@Field() name: string
}
export const UsersCollection = Collection.of(User)
let markus = await UsersCollection.one('markus').get()
UsersCollection.one('tom').get().subscribe((tom: User) => {
tom.files.forEach((file: UserFile) => {
})
})
Read more...
FireAuth
FireAuth is Firebase auth library based on Rx principles.
import { FireAuth, FireAuthSession, AuthProvidersList } from '@typeheim/fire-auth'
FireAuth.throughProvider(AuthProvidersList.Google).signInWithPopup()
FireAuth.signIn(new PasswordAuth('email', 'password'))
FireAuthSession.userStream.subscribe(user => )
FireAuthSession.isLoggedInStream.subscribe(isLoggedIn => )
FireAuthSession.accessTokenStream.subscribe(token => )
Read more...