fathom/models/pageview.go

51 lines
824 B
Go
Raw Normal View History

2016-11-21 16:36:25 +00:00
package models
2016-12-10 14:58:54 +00:00
import (
2016-12-11 13:50:01 +00:00
"database/sql"
2016-12-10 14:58:54 +00:00
)
2016-11-21 16:36:25 +00:00
type Pageview struct {
2016-12-11 13:50:01 +00:00
ID int64
PageID int64
VisitorID int64
ReferrerKeyword string
ReferrerUrl string
Timestamp string
}
type Pageviews struct {
2016-12-11 13:50:01 +00:00
Hostname string
Path string
Count int
CountUnique int
2016-11-21 16:36:25 +00:00
}
2016-12-10 14:58:54 +00:00
2016-12-11 13:50:01 +00:00
func (pv *Pageview) Save(conn *sql.DB) error {
// prepare statement for inserting data
stmt, err := conn.Prepare(`INSERT INTO pageviews (
2016-12-10 14:58:54 +00:00
page_id,
visitor_id,
referrer_url,
referrer_keyword,
timestamp
) VALUES( ?, ?, ?, ?, ? )`)
2016-12-11 13:50:01 +00:00
if err != nil {
return err
}
defer stmt.Close()
2016-12-10 14:58:54 +00:00
2016-12-11 13:50:01 +00:00
result, err := stmt.Exec(
pv.PageID,
pv.VisitorID,
pv.ReferrerUrl,
pv.ReferrerKeyword,
pv.Timestamp,
)
if err != nil {
return err
}
2016-12-10 14:58:54 +00:00
2016-12-11 13:50:01 +00:00
pv.ID, err = result.LastInsertId()
return err
}