agil-auth-node
Version:
Agile authentication for NodeJS
139 lines (138 loc) • 3.24 kB
TypeScript
import { Database as SQLite3Database } from 'sqlite3';
interface Database {
path?: string;
userTokensFolder?: string;
usersFolder?: string;
instance?: SQLite3Database;
}
interface TokenData {
userId: any;
token: string;
expireAt: number;
}
/**
* Settings
*/
export declare class Settings {
/**
* Data
*/
private tokenLifeTime;
private hideFields;
private database;
private sqlCreateUserTokensTable;
private sqlCreateUsersTable;
/**
* Get database settings
*/
getDatabase(): Database;
/**
* Set hidden fields
*/
setHiddenFields(...fields: string[]): this;
/**
* Get hidden fields
*/
getHiddenFields(): string[];
/**
* Merge database settings
*/
mergeDatabase(settings?: Database): this;
/**
* Get token life time in seconds
*/
getTokenLifeTime(): number;
/**
* Set token life time in seconds
*/
setTokenLifeTime(lifeTime: number): this;
/**
* Get current timestamp
*/
getCurrentTimestamp(): number;
/**
* Get next expire timestamp
*/
getNextExpireTimestamp(): number;
/**
* Compare attempt to auth
*/
compareAttempt(toCompare: {
[key: string]: any;
}, rawUserData: {
[key: string]: any;
}): boolean;
/**
* Set method "compareAttempt"
*/
setMethodCompareAttempt(fn: (toCompare: {
[key: string]: any;
}, rawUserData: {
[key: string]: any;
}) => boolean): this;
/**
* Get user data
*/
getUserData(data?: {
[key: string]: any;
}): Promise<{
[key: string]: any;
}>;
/**
* Set method "getUserData"
*/
setMethodGetUserData(fn: (data: {
[key: string]: any;
}) => Promise<{
[key: string]: any;
}>): this;
/**
* Create user data
*/
createUserData(data?: {
[key: string]: any;
}): Promise<{
[key: string]: any;
}>;
/**
* Set method "createUserData"
*/
setMethodCreateUserData(fn: (data: {
[key: string]: any;
}) => Promise<{
[key: string]: any;
}>): this;
/**
* Store user token
*/
createUserToken(userId: any, token: string, expireAt: number): Promise<TokenData>;
/**
* Set method "createUserToken"
*/
setMethodCreateUserToken(fn: (userId: any, token: string, expireAt: number) => Promise<TokenData>): this;
/**
* Get token data
*/
getUserToken(userId: any, token: string): Promise<TokenData | null>;
/**
* Set method "getUserToken"
*/
setMethodGetUserToken(fn: (userId: any, token: string) => Promise<TokenData | null>): this;
/**
* Get all user tokens
*/
getUserAllTokens(userId: any): Promise<TokenData[]>;
/**
* Set method "getUserAllTokens"
*/
setMethodGetUserAllTokens(fn: (userId: any) => Promise<TokenData[]>): this;
/**
* Delete user token
*/
deleteUserToken(userId: any, token: string): Promise<void>;
/**
* Set method "deleteUserToken"
*/
setMethodDeleteUserToken(fn: (userId: any, token: string) => Promise<void>): this;
}
export {};