@lomray/microservice-users
Version:
Users microservice based on NodeJS & inverted json.
113 lines (112 loc) • 3.23 kB
TypeScript
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 };