diff --git a/api4/status.go b/api4/status.go index ae4ca5e5871..34b20f7bf69 100644 --- a/api4/status.go +++ b/api4/status.go @@ -99,7 +99,7 @@ func updateUserStatus(c *Context, w http.ResponseWriter, r *http.Request) { case "away": c.App.SetStatusAwayIfNeeded(c.Params.UserId, true) case "dnd": - c.App.SetStatusDoNotDisturbTimed(c.Params.UserId, status.DNDEndTime) + c.App.SetStatusDoNotDisturbTimed(c.Params.UserId, status.StatusClearTime) default: c.SetInvalidParam("status") return diff --git a/api4/status_test.go b/api4/status_test.go index 8a470d3738f..766ef0608f3 100644 --- a/api4/status_test.go +++ b/api4/status_test.go @@ -200,7 +200,7 @@ func TestUpdateUserStatus(t *testing.T) { }) t.Run("set dnd status timed", func(t *testing.T) { - toUpdateUserStatus := &model.Status{Status: "dnd", UserId: th.BasicUser.Id, DNDEndTime: time.Now().Add(10 * time.Minute).Format(time.RFC3339)} + toUpdateUserStatus := &model.Status{Status: "dnd", UserId: th.BasicUser.Id, StatusClearTime: time.Now().Add(10 * time.Minute).Format(time.RFC3339)} updateUserStatus, resp := Client.UpdateUserStatus(th.BasicUser.Id, toUpdateUserStatus) CheckNoError(t, resp) assert.Equal(t, "dnd", updateUserStatus.Status) diff --git a/app/status.go b/app/status.go index 28833d96e79..a1ddc911e00 100644 --- a/app/status.go +++ b/app/status.go @@ -307,7 +307,7 @@ func (a *App) SetStatusDoNotDisturbTimed(userId string, endtime string) { status.Status = model.STATUS_DND status.Manual = true - status.DNDEndTimeUnix = utc.Unix() + status.StatusClearTimeUnix = utc.Unix() a.SaveAndBroadcastStatus(status) } diff --git a/model/status.go b/model/status.go index 08b9db0d6c5..2fbe118f90a 100644 --- a/model/status.go +++ b/model/status.go @@ -20,14 +20,14 @@ const ( ) type Status struct { - UserId string `json:"user_id"` - Status string `json:"status"` - Manual bool `json:"manual"` - LastActivityAt int64 `json:"last_activity_at"` - ActiveChannel string `json:"active_channel,omitempty" db:"-"` - DNDEndTime string `json:"dnd_end_time" db:"-"` - DNDEndTimeUnix int64 `json:"-"` - PrevStatus string `json:"-"` + UserId string `json:"user_id"` + Status string `json:"status"` + Manual bool `json:"manual"` + LastActivityAt int64 `json:"last_activity_at"` + ActiveChannel string `json:"active_channel,omitempty" db:"-"` + StatusClearTime string `json:"status_clear_time" db:"-"` + StatusClearTimeUnix int64 `json:"-"` + PrevStatus string `json:"-"` } func (o *Status) ToJson() string { diff --git a/store/sqlstore/status_store.go b/store/sqlstore/status_store.go index c9d1262a723..8a1e35573d2 100644 --- a/store/sqlstore/status_store.go +++ b/store/sqlstore/status_store.go @@ -106,10 +106,10 @@ func (s SqlStatusStore) UpdateExpiredDNDStatuses() ([]*model.Status, error) { UPDATE Status SET - DNDEndTimeUnix = %v, Manual = %v, + StatusClearTimeUnix = %v, Manual = %v, PrevStatus = '%v', Status = PrevStatus WHERE - (Status = '%v' AND DNDEndTimeUnix <= %v AND DNDEndTimeUnix > %v) + (Status = '%v' AND StatusClearTimeUnix <= %v AND StatusClearTimeUnix > %v) RETURNING UserId, Status`, -1, false, model.STATUS_DND, model.STATUS_DND, time.Now().UTC().Unix(), 1, diff --git a/store/sqlstore/upgrade.go b/store/sqlstore/upgrade.go index d9af13a5966..a2b26206894 100644 --- a/store/sqlstore/upgrade.go +++ b/store/sqlstore/upgrade.go @@ -947,7 +947,7 @@ func upgradeDatabaseToVersion530(sqlStore *SqlStore) { sqlStore.CreateColumnIfNotExists("SidebarCategories", "Muted", "tinyint(1)", "boolean", "0") - sqlStore.CreateColumnIfNotExistsNoDefault("Status", "DNDEndTimeUnix", "BIGINT", "BIGINT") + sqlStore.CreateColumnIfNotExistsNoDefault("Status", "StatusClearTimeUnix", "BIGINT", "BIGINT") sqlStore.CreateColumnIfNotExistsNoDefault("Status", "PrevStatus", "VARCHAR(32)", "VARCHAR(32)") saveSchemaVersion(sqlStore, VERSION_5_30_0)