import { Schema } from "mongoose"; import { EnumMap,IJson,IDocument,IObject,IInstance,IModel,IAction,IActionTypes } from "@onebro/oba-common"; export type OBAuthCredsParams = "pin"|"reset"; export type OBAuthCredsConfig = Partial>; export type OBAuthCredsType = IObject & OBAuthCredsConfig; export interface OBAuthCredsDocument extends IDocument,OBAuthCredsType { lastLogin:Date; lastReset:Date; attempts:number; next:string;} export interface OBAuthCreds extends IInstance,OBAuthCredsDocument { setPin(s:string):Promise; valid(o:OBAuthCredsConfig):Promise;} export interface OBAuthCredsModel extends IModel {} export type OBAuthCredsPublicKeys = "lastLogin"|"lastReset"; export type OBAuthCredsPublicData = Pick; export type OBAuthCredsJson = IJson & OBAuthCredsPublicData & {}; export type OBAuthCredsModelMap = {OBAuthCreds:OBAuthCredsModel;}; export type OBAuthCredsInstanceMap = {creds:OBAuthCreds;}; export type OBAuthCredsSchemaMap = {creds:Schema;}; export type OBAuthCredsActionTypes = IActionTypes; export type OBAuthCredsActions = EnumMap;