import { Schema } from "mongoose"; import { EnumMap,IJson,IDocument,IObject,IInstance,IModel,IAction,IActionTypes } from "@onebro/oba-common"; import { OneToOneUserProfile,OneToOneUserProfilePreview } from "./profiles"; export enum OneToOneMantaTestSuiteStatuses { N = "New", S = "Saved", Y = "Sent", Z = "Seen/Read", A = "Accepted", D = "Declined", R = "Revised", E = "Expired", C = "Cancelled",} export type OneToOneMantaTestSuiteStatus = keyof typeof OneToOneMantaTestSuiteStatuses; export type OneToOneMantaTestSuiteConfig = { type:"contactus"|"note"|"chat"|"buy-alert"|"sell-alert"; author:string; body:string; symbol:string; subscribers:string[]; sendAt:{time?:Date;price?:number;}; img?:string; link?:string;}; export type OneToOneMantaTestSuiteType = IObject & Omit & { author:OneToOneUserProfile; }; export interface OneToOneMantaTestSuiteDocument extends IDocument,OneToOneMantaTestSuiteType {} export interface OneToOneMantaTestSuite extends IInstance,OneToOneMantaTestSuiteDocument {} export interface OneToOneMantaTestSuiteModel extends IModel {} export type OneToOneMantaTestSuitePublicKeys = Exclude; export type OneToOneMantaTestSuitePublicData = Pick; export type OneToOneMantaTestSuiteJson = IJson & OneToOneMantaTestSuitePublicData & {published:Date;author:OneToOneUserProfilePreview;}; export type OneToOneMantaTestSuiteModelMap = {OneToOneMantaTestSuite:OneToOneMantaTestSuiteModel;}; export type OneToOneMantaTestSuiteInstanceMap = {mantaTest:OneToOneMantaTestSuite;}; export type OneToOneMantaTestSuiteSchemaMap = {mantaTest:Schema;}; export type OneToOneMantaTestSuiteActionTypes = IActionTypes; export type OneToOneMantaTestSuiteActions = EnumMap;