UNPKG

@lomray/microservice-users

Version:

Users microservice based on NodeJS & inverted json.

113 lines (112 loc) 3.23 kB
import { auth } from 'firebase-admin'; import IdentityProvider from "../../entities/identity-provider.js"; import Profile from "../../entities/profile.js"; import User from "../../entities/user.js"; import Abstract from "./abstract.js"; import { ISingInReturn, TSingInParams } from "./abstract.js"; type UserRecord = auth.UserRecord; /** * Firebase identity provider */ declare class Firebase extends Abstract { /** * Return user by identity token */ /** * Return user by identity token */ getUserByToken(): Promise<User>; /** * @inheritDoc */ /** * @inheritDoc */ signIn({ isDenyRegister, isDenyAuthViaRegister, isShouldAttachUserPhoto, isShouldApproveProvider, }?: TSingInParams): Promise<ISingInReturn>; /** * @inheritDoc */ /** * @inheritDoc */ attachProvider(userId: string): Promise<User>; /** * Sign up user * NOTE: type - (google or facebook) * @protected */ /** * Sign up user * NOTE: type - (google or facebook) * @protected */ protected register(firebaseUser: UserRecord, type: string): Promise<User>; /** * Approve firebase user identity * NOTE: Set emailVerified to true for preventing override * non-trusted providers */ /** * Approve firebase user identity * NOTE: Set emailVerified to true for preventing override * non-trusted providers */ protected approveFirebaseUserProvider(firebaseUser: UserRecord): Promise<void>; /** * Returns user photo if it should be attached * NOTE: Uses while user on split sign up want to upload own photo, * in this case we don't need to set photo from user provider result */ /** * Returns user photo if it should be attached * NOTE: Uses while user on split sign up want to upload own photo, * in this case we don't need to set photo from user provider result */ protected getUserPhoto(firebaseUser: UserRecord): string | null; /** * Make or update user profile * @protected */ /** * Make or update user profile * @protected */ protected getProfile(firebaseUser: UserRecord, profile?: Profile): Profile; /** * Get current identity provider * @protected */ /** * Get current identity provider * @protected */ protected getIdentityProvider(firebaseUser: UserRecord, type: string): IdentityProvider; /** * Get provider uid for facebook, google, etc... * @protected */ /** * Get provider uid for facebook, google, etc... * @protected */ protected static getTypeUid(firebaseUser: UserRecord, type: string): string | undefined; /** * Get firebase user photo with large size * @protected */ /** * Get firebase user photo with large size * @protected */ protected static getUserPhoto(firebaseUser: UserRecord): string | undefined; /** * Get firebase user by token * @protected */ /** * Get firebase user by token * @protected */ protected getFirebaseUser(): Promise<[UserRecord, string]>; } export { Firebase as default };