mongo

package
v0.0.0-...-c84b60a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 17, 2021 License: BSD-3-Clause Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Driver

type Driver struct {
	DB *mgo.Database
}

Driver implements DatabaseDriver interface for MongoDB database backend.

func NewMongoDriver

func NewMongoDriver(hostPort, database string) (*Driver, error)

NewMongoDriver creates a new mongoDB driver by host/port and database of mongoDB.

func (*Driver) FindSession

func (m *Driver) FindSession(filter *models.SessionFilter) ([]models.Session, error)

FindSession retrieves list of sessions by given session filter.

func (*Driver) GetAnalytics

func (m *Driver) GetAnalytics() ([]models.Analytics, error)

func (*Driver) GetAnalyticsFilter

func (m *Driver) GetAnalyticsFilter(sessIDPtr *string, keywordPtr *string) ([]models.Analytics, error)

func (*Driver) GetClassroom

func (m *Driver) GetClassroom(filter *models.SessionFilter) ([]models.Classroom, error)

func (*Driver) GetCourse

func (m *Driver) GetCourse(filter *models.SessionFilter) ([]models.Course, error)

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

func (m *Driver) GetMostRecentFrame(sessID, schema, channel string) ([]interface{}, error)

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

func (m *Driver) GetSession(sessID string) (*models.Session, error)

GetSession retrives a session data by given session filter.

func (*Driver) InsertAnalytics

func (m *Driver) InsertAnalytics(analytics models.Analytics) error

func (*Driver) InsertClassroomCollection

func (m *Driver) InsertClassroomCollection(classroom models.Classroom) error

func (*Driver) InsertCourseCollection

func (m *Driver) InsertCourseCollection(course models.Course) error

func (*Driver) InsertFrame

func (m *Driver) InsertFrame(sessID, schema, channel string, frame interface{}) error

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.

func (*Driver) InsertSession

func (m *Driver) InsertSession(developer, version, keyword, overwrite string, metadata interface{}) (*models.Session, error)

InsertSession inserts a new session.

func (*Driver) UpdateSession

func (m *Driver) UpdateSession(sessID string, metadata interface{}) (*models.Session, error)

UpdateSession updates frame with given session ID.

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL