UNPKG

@adonisjs/auth

Version:

Official authentication provider for Adonis framework

76 lines (75 loc) 2.65 kB
/// <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>; }