import { Schema } from "mongoose"; import { EnumMap,IJson,IDocument,IObject,IInstance,IModel,IAction,IActionTypes } from "@onebro/oba-common"; import { FirstlineUserProfile,FirstlineUserProfilePreview } from "./profiles"; export enum FirstlineDistressSignalStatuses { N = "New", S = "Saved", Y = "Sent", Z = "Seen/Read", A = "Accepted", D = "Declined", R = "Revised", E = "Expired", C = "Cancelled",} export type FirstlineDistressSignalStatus = keyof typeof FirstlineDistressSignalStatuses; export type FirstlineDistressSignalConfig = { 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 FirstlineDistressSignalType = IObject & Omit & { author:FirstlineUserProfile; }; export interface FirstlineDistressSignalDocument extends IDocument,FirstlineDistressSignalType {} export interface FirstlineDistressSignal extends IInstance,FirstlineDistressSignalDocument {} export interface FirstlineDistressSignalModel extends IModel {} export type FirstlineDistressSignalPublicKeys = Exclude; export type FirstlineDistressSignalPublicData = Pick; export type FirstlineDistressSignalJson = IJson & FirstlineDistressSignalPublicData & {published:Date;author:FirstlineUserProfilePreview;}; export type FirstlineDistressSignalModelMap = {FirstlineDistressSignal:FirstlineDistressSignalModel;}; export type FirstlineDistressSignalInstanceMap = {signal:FirstlineDistressSignal;}; export type FirstlineDistressSignalSchemaMap = {signal:Schema;}; export type FirstlineDistressSignalActionTypes = IActionTypes; export type FirstlineDistressSignalActions = EnumMap;