mirror of
https://github.com/muety/wakapi.git
synced 2023-08-10 21:12:56 +03:00
feat: extract machine name from heartbeat requests (resolve #47)
This commit is contained in:
parent
c0d6855546
commit
08a83af8da
11
migrations/sqlite3/4_machine_column.sql
Normal file
11
migrations/sqlite3/4_machine_column.sql
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
-- +migrate Up
|
||||||
|
-- SQL in section 'Up' is executed when this migration is applied
|
||||||
|
|
||||||
|
alter table users
|
||||||
|
add `machine` varchar(255);
|
||||||
|
|
||||||
|
-- +migrate Down
|
||||||
|
-- SQL section 'Down' is executed when this migration is rolled back
|
||||||
|
|
||||||
|
alter table users
|
||||||
|
drop column `machine`;
|
|
@ -20,6 +20,7 @@ type Heartbeat struct {
|
||||||
IsWrite bool `json:"is_write"`
|
IsWrite bool `json:"is_write"`
|
||||||
Editor string `json:"editor"`
|
Editor string `json:"editor"`
|
||||||
OperatingSystem string `json:"operating_system"`
|
OperatingSystem string `json:"operating_system"`
|
||||||
|
Machine string `json:"machine"`
|
||||||
Time CustomTime `json:"time" gorm:"type:timestamp; default:CURRENT_TIMESTAMP; index:idx_time,idx_time_user"`
|
Time CustomTime `json:"time" gorm:"type:timestamp; default:CURRENT_TIMESTAMP; index:idx_time,idx_time_user"`
|
||||||
languageRegex *regexp.Regexp
|
languageRegex *regexp.Regexp
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,6 +31,7 @@ func (h *HeartbeatHandler) ApiPost(w http.ResponseWriter, r *http.Request) {
|
||||||
var heartbeats []*models.Heartbeat
|
var heartbeats []*models.Heartbeat
|
||||||
user := r.Context().Value(models.UserKey).(*models.User)
|
user := r.Context().Value(models.UserKey).(*models.User)
|
||||||
opSys, editor, _ := utils.ParseUserAgent(r.Header.Get("User-Agent"))
|
opSys, editor, _ := utils.ParseUserAgent(r.Header.Get("User-Agent"))
|
||||||
|
machineName := r.Header.Get("X-Machine-Name")
|
||||||
|
|
||||||
dec := json.NewDecoder(r.Body)
|
dec := json.NewDecoder(r.Body)
|
||||||
if err := dec.Decode(&heartbeats); err != nil {
|
if err := dec.Decode(&heartbeats); err != nil {
|
||||||
|
@ -42,6 +43,7 @@ func (h *HeartbeatHandler) ApiPost(w http.ResponseWriter, r *http.Request) {
|
||||||
for _, hb := range heartbeats {
|
for _, hb := range heartbeats {
|
||||||
hb.OperatingSystem = opSys
|
hb.OperatingSystem = opSys
|
||||||
hb.Editor = editor
|
hb.Editor = editor
|
||||||
|
hb.Machine = machineName
|
||||||
hb.User = user
|
hb.User = user
|
||||||
hb.UserID = user.ID
|
hb.UserID = user.ID
|
||||||
hb.Augment(h.config.CustomLanguages)
|
hb.Augment(h.config.CustomLanguages)
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
1.7.5
|
1.7.6
|
Loading…
Reference in New Issue
Block a user