import {Log} from "fme-logger" var L = new Log("codes"); import {TradechatServer,FmeUser} from "../tradechat-server"; import {Db,Collection} from "mongodb"; import {TradechatProduct} from "./products"; import {TradechatMessage} from "./messages"; var ObjectId = require('mongodb').ObjectId; export class TradechatCode { _id?:string description = ""; code = ""; company = "mrtopstep"; products:string[] = []; affiliate = "" creator: FmeUser = {} as FmeUser; create_date = new Date() update_date = new Date() last_editor:FmeUser = new FmeUser(); } export class TradechatCodeController { codeDb:Collection = {} as Collection; constructor(public tc:TradechatServer) { } init = async() => { this.codeDb = this.tc.db.collection("codes"); } save = async (code:TradechatCode) => { return await this.saveByCode(code) } saveByCode = async (code:TradechatCode) => { var ret = await this.codeDb.update({code:code.code},code,{upsert:true}); return ret; } get = async (code:string) => { return await this.codeDb.findOne({code:code}) as TradechatCode; } getById = async(id:string) => { return await this.codeDb.findOne({_id:ObjectId(id)}); } removeByName = async (code:string) => { return await this.codeDb.remove({code:code}); } removeById = async (id:string) => { return await this.codeDb.remove({_id: ObjectId(id)}); } }