2017-12-04 21:05:17 -05:00
|
|
|
package models
|
|
|
|
|
|
|
|
import (
|
|
|
|
"encoding/json"
|
|
|
|
"net/http"
|
|
|
|
"strings"
|
|
|
|
"time"
|
|
|
|
)
|
|
|
|
|
|
|
|
type Price struct {
|
|
|
|
PriceId int64
|
|
|
|
SecurityId int64
|
|
|
|
CurrencyId int64
|
|
|
|
Date time.Time
|
2017-12-12 19:40:38 -05:00
|
|
|
Value Amount // price of Security in Currency units
|
2017-12-04 21:05:17 -05:00
|
|
|
RemoteId string // unique ID from source, for detecting duplicates
|
|
|
|
}
|
|
|
|
|
|
|
|
type PriceList struct {
|
|
|
|
Prices *[]*Price `json:"prices"`
|
|
|
|
}
|
|
|
|
|
|
|
|
func (p *Price) Read(json_str string) error {
|
|
|
|
dec := json.NewDecoder(strings.NewReader(json_str))
|
|
|
|
return dec.Decode(p)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (p *Price) Write(w http.ResponseWriter) error {
|
|
|
|
enc := json.NewEncoder(w)
|
|
|
|
return enc.Encode(p)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (pl *PriceList) Read(json_str string) error {
|
|
|
|
dec := json.NewDecoder(strings.NewReader(json_str))
|
|
|
|
return dec.Decode(pl)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (pl *PriceList) Write(w http.ResponseWriter) error {
|
|
|
|
enc := json.NewEncoder(w)
|
|
|
|
return enc.Encode(pl)
|
|
|
|
}
|