X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/74d5bfb293b2acf76d639df12ff8769bc333a5f2..b9f0177e6a477a518fd5a89156fafde57f2dddf8:/services/ws/session_v0.go?ds=inline diff --git a/services/ws/session_v0.go b/services/ws/session_v0.go index 29a7adec82..2b108a2b5c 100644 --- a/services/ws/session_v0.go +++ b/services/ws/session_v0.go @@ -23,6 +23,7 @@ var ( ) type v0session struct { + ac *arvados.Client ws wsConn sendq chan<- interface{} db *sql.DB @@ -34,12 +35,13 @@ type v0session struct { setupOnce sync.Once } -func NewSessionV0(ws wsConn, sendq chan<- interface{}, ac arvados.Client, db *sql.DB) (session, error) { +func newSessionV0(ws wsConn, sendq chan<- interface{}, db *sql.DB, pc permChecker, ac *arvados.Client) (session, error) { sess := &v0session{ sendq: sendq, ws: ws, db: db, - permChecker: NewPermChecker(ac), + ac: ac, + permChecker: pc, log: logger(ws.Request().Context()), } @@ -86,12 +88,14 @@ func (sess *v0session) EventMessage(e *event) ([]byte, error) { return nil, err } + kind, _ := sess.ac.KindForUUID(detail.ObjectUUID) msg := map[string]interface{}{ "msgID": atomic.AddUint64(&sess.lastMsgID, 1), "id": detail.ID, "uuid": detail.UUID, "object_uuid": detail.ObjectUUID, "object_owner_uuid": detail.ObjectOwnerUUID, + "object_kind": kind, "event_type": detail.EventType, } if detail.Properties != nil && detail.Properties["text"] != nil { @@ -165,9 +169,11 @@ func (sub *v0subscribe) sendOldEvents(sess *v0session) { // same thing all over again. time.Sleep(100 * time.Millisecond) } + now := time.Now() e := &event{ LogID: id, - Received: time.Now(), + Received: now, + Ready: now, db: sess.db, } if sub.match(sess, e) {