@adonisjs/auth
Version:
Official authentication provider for Adonis framework
76 lines (75 loc) • 2.65 kB
TypeScript
/// <reference types="@adonisjs/application/build/adonis-typings/application" />
import { ApplicationContract } from '@ioc:Adonis/Core/Application';
import { DatabaseContract, QueryClientContract } from '@ioc:Adonis/Lucid/Database';
import { DatabaseProviderRow, ProviderUserContract, DatabaseProviderConfig, DatabaseProviderContract } from '@ioc:Adonis/Addons/Auth';
/**
* Database provider to lookup users inside the database
*/
export declare class DatabaseProvider implements DatabaseProviderContract<DatabaseProviderRow> {
private application;
private config;
private db;
/**
* Hooks reference
*/
private hooks;
/**
* Custom connection or query client
*/
private connection?;
/**
* Name of the remember_me_token column
*/
private rememberMeColumn;
constructor(application: ApplicationContract, config: DatabaseProviderConfig, db: DatabaseContract);
/**
* Returns the query client for invoking queries
*/
private getQueryClient;
/**
* Returns the query builder instance for the users table
*/
private getUserQueryBuilder;
/**
* Ensure "user.id" is always present
*/
private ensureUserHasId;
/**
* Executes the query to find the user, calls the registered hooks
* and wraps the result inside [[ProviderUserContract]]
*/
private findUser;
/**
* Returns an instance of provider user
*/
getUserFor(user: any): Promise<ProviderUserContract<DatabaseProviderRow>>;
/**
* Define custom connection
*/
setConnection(connection: string | QueryClientContract): this;
/**
* Define before hooks. Check interface for exact type information
*/
before(event: 'findUser', callback: (query: any) => Promise<void>): this;
/**
* Define after hooks. Check interface for exact type information
*/
after(event: 'findUser', callback: (...args: any[]) => Promise<void>): this;
/**
* Returns the user row using the primary key
*/
findById(id: string | number): Promise<ProviderUserContract<DatabaseProviderRow>>;
/**
* Returns a user from their remember me token
*/
findByRememberMeToken(id: number | string, token: string): Promise<ProviderUserContract<DatabaseProviderRow>>;
/**
* Returns the user row by searching the uidValue against
* their defined uids.
*/
findByUid(uidValue: string): Promise<ProviderUserContract<DatabaseProviderRow>>;
/**
* Updates the user remember me token
*/
updateRememberMeToken(user: ProviderUserContract<DatabaseProviderRow>): Promise<void>;
}