import { Schema } from "mongoose"; import { EnumMap,IJson,IDocument,IObject,IInstance,IModel,IAction,IActionTypes } from "@onebro/oba-common"; import { SwiftTradersUserProfile,SwiftTradersUserProfilePreview } from "./profiles"; export enum SwiftTradersDistressSignalStatuses { N = "New", S = "Saved", Y = "Sent", Z = "Seen/Read", A = "Accepted", D = "Declined", R = "Revised", E = "Expired", C = "Cancelled",} export type SwiftTradersDistressSignalStatus = keyof typeof SwiftTradersDistressSignalStatuses; export type SwiftTradersDistressSignalConfig = { 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 SwiftTradersDistressSignalType = IObject & Omit & { author:SwiftTradersUserProfile; }; export interface SwiftTradersDistressSignalDocument extends IDocument,SwiftTradersDistressSignalType {} export interface SwiftTradersDistressSignal extends IInstance,SwiftTradersDistressSignalDocument {} export interface SwiftTradersDistressSignalModel extends IModel {} export type SwiftTradersDistressSignalPublicKeys = Exclude; export type SwiftTradersDistressSignalPublicData = Pick; export type SwiftTradersDistressSignalJson = IJson & SwiftTradersDistressSignalPublicData & {published:Date;author:SwiftTradersUserProfilePreview;}; export type SwiftTradersDistressSignalModelMap = {SwiftTradersDistressSignal:SwiftTradersDistressSignalModel;}; export type SwiftTradersDistressSignalInstanceMap = {signal:SwiftTradersDistressSignal;}; export type SwiftTradersDistressSignalSchemaMap = {signal:Schema;}; export type SwiftTradersDistressSignalActionTypes = IActionTypes; export type SwiftTradersDistressSignalActions = EnumMap;