Documentation ¶
Index ¶
- type Driver
- func (m *Driver) FindSession(filter *models.SessionFilter) ([]models.Session, error)
- func (m *Driver) GetAnalytics() ([]models.Analytics, error)
- func (m *Driver) GetAnalyticsFilter(sessIDPtr *string, keywordPtr *string) ([]models.Analytics, error)
- func (m *Driver) GetClassroom(filter *models.SessionFilter) ([]models.Classroom, error)
- func (m *Driver) GetCourse(filter *models.SessionFilter) ([]models.Course, error)
- func (m *Driver) GetFrameByFilter(sessID, schema, channel string, numberFilters []models.FrameNumberFilter, ...) ([]interface{}, error)
- func (m *Driver) GetFrameByFrameNumber(sessID, schema, channel string, frameNumber uint32) ([]interface{}, error)
- func (m *Driver) GetMostRecentFrame(sessID, schema, channel string) ([]interface{}, error)
- func (m *Driver) GetMostRecentQueriableAudioFrame(sessID, schema, channel string) ([]models.AudioFrame, error)
- func (m *Driver) GetMostRecentQueriableVideoFrame(sessID, schema, channel string) ([]models.VideoFrame, error)
- func (m *Driver) GetQueriableAudioFrameByFilter(sessID, schema, channel string, numberFilters []models.FrameNumberFilter, ...) ([]models.AudioFrame, error)
- func (m *Driver) GetQueriableAudioFrameByFrameNumber(sessID, schema, channel string, frameNumber uint32) ([]models.AudioFrame, error)
- func (m *Driver) GetQueriableVideoFrameByFilter(sessID, schema, channel string, numberFilters []models.FrameNumberFilter, ...) ([]models.VideoFrame, error)
- func (m *Driver) GetQueriableVideoFrameByFrameNumber(sessID, schema, channel string, frameNumber uint32) ([]models.VideoFrame, error)
- func (m *Driver) GetSession(sessID string) (*models.Session, error)
- func (m *Driver) InsertAnalytics(analytics models.Analytics) error
- func (m *Driver) InsertClassroomCollection(classroom models.Classroom) error
- func (m *Driver) InsertCourseCollection(course models.Course) error
- func (m *Driver) InsertFrame(sessID, schema, channel string, frame interface{}) error
- func (m *Driver) InsertQueriableAudioFrame(sessID, schema, channel string, frame models.AudioFrame) error
- func (m *Driver) InsertQueriableVideoFrame(sessID, schema, channel string, frame models.VideoFrame) error
- func (m *Driver) InsertSession(developer, version, keyword, overwrite string, metadata interface{}) (*models.Session, error)
- func (m *Driver) UpdateSession(sessID string, metadata interface{}) (*models.Session, error)
- type Frame
- type Session
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Driver ¶
Driver implements DatabaseDriver interface for MongoDB database backend.
func NewMongoDriver ¶
NewMongoDriver creates a new mongoDB driver by host/port and database of mongoDB.
func (*Driver) FindSession ¶
FindSession retrieves list of sessions by given session filter.
func (*Driver) GetAnalyticsFilter ¶
func (*Driver) GetClassroom ¶
func (*Driver) GetFrameByFilter ¶
func (m *Driver) GetFrameByFilter(sessID, schema, channel string, numberFilters []models.FrameNumberFilter, timstampFilters []models.TimestampFilter) ([]interface{}, error)
GetFrameByFilter returns list of free-form frames by given frame filter. TODO(DohyunKimOfficial): This function has been discarded when moving to GraphQL. This should be properly implemented again in future.
func (*Driver) GetFrameByFrameNumber ¶
func (m *Driver) GetFrameByFrameNumber(sessID, schema, channel string, frameNumber uint32) ([]interface{}, error)
GetFrameByFrameNumber returns list of free-form frames by frame number.
func (*Driver) GetMostRecentFrame ¶
GetMostRecentFrame returns a list of the most recent free-frorm frames.
func (*Driver) GetMostRecentQueriableAudioFrame ¶
func (m *Driver) GetMostRecentQueriableAudioFrame(sessID, schema, channel string) ([]models.AudioFrame, error)
GetMostRecentQueriableAudioFrame returns a list of the most recent graphQL-queriable audio frames.
func (*Driver) GetMostRecentQueriableVideoFrame ¶
func (m *Driver) GetMostRecentQueriableVideoFrame(sessID, schema, channel string) ([]models.VideoFrame, error)
GetMostRecentQueriableVideoFrame returns a list of the most recent graphQL-queriable video frames.
func (*Driver) GetQueriableAudioFrameByFilter ¶
func (m *Driver) GetQueriableAudioFrameByFilter(sessID, schema, channel string, numberFilters []models.FrameNumberFilter, timestampFilters []models.TimestampFilter) ([]models.AudioFrame, error)
GetQueriableAudioFrameByFilter returns list of graphQL-queriable audio frames by given frame filters.
func (*Driver) GetQueriableAudioFrameByFrameNumber ¶
func (m *Driver) GetQueriableAudioFrameByFrameNumber(sessID, schema, channel string, frameNumber uint32) ([]models.AudioFrame, error)
GetQueriableAudioFrameByFrameNumber returns list of graphQL-queriable audio frames by given fraem number.
func (*Driver) GetQueriableVideoFrameByFilter ¶
func (m *Driver) GetQueriableVideoFrameByFilter(sessID, schema, channel string, numberFilters []models.FrameNumberFilter, timestampFilters []models.TimestampFilter) ([]models.VideoFrame, error)
GetQueriableVideoFrameByFilter returns list of graphQL-queriable video frames by given frame filters.
func (*Driver) GetQueriableVideoFrameByFrameNumber ¶
func (m *Driver) GetQueriableVideoFrameByFrameNumber(sessID, schema, channel string, frameNumber uint32) ([]models.VideoFrame, error)
GetQueriableVideoFrameByFrameNumber returns list of graphQL-queriable video framss by given frame number.
func (*Driver) GetSession ¶
GetSession retrives a session data by given session filter.
func (*Driver) InsertClassroomCollection ¶
func (*Driver) InsertCourseCollection ¶
func (*Driver) InsertFrame ¶
InsertFrame inserts a free-form frame.
func (*Driver) InsertQueriableAudioFrame ¶
func (m *Driver) InsertQueriableAudioFrame(sessID, schema, channel string, frame models.AudioFrame) error
InsertQueriableAudioFrame inserts a graphQL-queriable audio frame.
func (*Driver) InsertQueriableVideoFrame ¶
func (m *Driver) InsertQueriableVideoFrame(sessID, schema, channel string, frame models.VideoFrame) error
InsertQueriableVideoFrame inserts a graphQL-queriable video frame.
type Frame ¶
type Frame struct { FrameNumber uint32 `bson:"frame_number"` Timestamp time.Time `bson:"timestamp"` Data interface{} `bson:"data"` }
Frame specifies bson-specific formatting of freeframe object.
type Session ¶
type Session struct { ID bson.ObjectId `bson:"_id"` Keyword string `bson:"keyword"` Developer string `bson:"developer"` Version string `bson:"version"` Timestamp time.Time `bson:"timestamp"` Schemas []string `bson:"schemas"` Metadata interface{} `bson:"metadata"` }
Session specifies bson-specific formatting of session object.