///
import { juggler } from '@loopback/repository';
import { UserProfile } from '@loopback/security';
import { AuthenticateFn } from '@loopback/authentication';
import { Request } from '@loopback/rest';
export interface UserWithRole extends UserProfile {
id: number;
uniqKey: string;
ownerCustomerId: number;
password: string;
emailVerified: number;
status: string;
roleId: number;
roleName: string;
}
export type Credentials = {
email: string;
password: string;
};
export interface AuthenticateFunc extends AuthenticateFn {
(request: Request): Promise;
}
export interface AuthorizationFn {
(route: any, userInfo: UserWithRole): Promise;
}
export interface FLCL_AUTHZ_OPTIONS {
skip: boolean;
}
export interface FLCL_AUTHN_OPTIONS {
strategy?: string;
skip?: boolean;
}
export interface FLCL_AUTHN_OPTIONS_2 {
strategy: string;
skip?: boolean;
}
export interface CONFIGURATIONS {
dataSourceName?: string;
dataSource?: juggler.DataSource;
}