trivial

package
v0.0.0-...-8b20b1e Latest Latest
Warning

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

Go to latest
Published: Apr 28, 2024 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IdTrivialArrayToPQ

func IdTrivialArrayToPQ(ids []IdTrivial) pq.Int64Array

func InsertManySelfaccessTrivials

func InsertManySelfaccessTrivials(tx *sql.Tx, items ...SelfaccessTrivial) error

Insert the links SelfaccessTrivial in the database. It is a no-op if 'items' is empty.

func InsertSelfaccessTrivial

func InsertSelfaccessTrivial(db DB, item SelfaccessTrivial) error

Types

type CategoriesQuestions

type CategoriesQuestions struct {
	Tags [trivial.NbCategories]QuestionCriterion
	// Union. An empty slice means no selection : all variants are accepted.
	Difficulties editor.DifficultyQuery
}

CategoriesQuestions defines a union of intersection of tags, for every category.

func (CategoriesQuestions) Levels

func (cat CategoriesQuestions) Levels() []string

Levels returns all the levels targetted. It may return an empty slice.

func (CategoriesQuestions) MatchMatiere

func (cat CategoriesQuestions) MatchMatiere(matiere teacher.MatiereTag) bool

MatchMatiere returns true if [matiere] is in one of the categories.

If there is no matiere defined at all, [Autre] will match.

func (*CategoriesQuestions) Normalize

func (query *CategoriesQuestions) Normalize()

Normalize removes empty intersections and normalizes tags, for each categories

func (*CategoriesQuestions) Scan

func (s *CategoriesQuestions) Scan(src interface{}) error

func (CategoriesQuestions) Value

func (s CategoriesQuestions) Value() (driver.Value, error)

type DB

type DB interface {
	Exec(query string, args ...interface{}) (sql.Result, error)
	Query(query string, args ...interface{}) (*sql.Rows, error)
	QueryRow(query string, args ...interface{}) *sql.Row
	Prepare(query string) (*sql.Stmt, error)
}

DB groups transaction like objects, and is implemented by *sql.DB and *sql.Tx

type IdTrivial

type IdTrivial int64

func DeleteTrivialsByIDs

func DeleteTrivialsByIDs(tx DB, ids ...IdTrivial) ([]IdTrivial, error)

Deletes the Trivial in the database and returns the ids.

func DeleteTrivialsByIdTeachers

func DeleteTrivialsByIdTeachers(tx DB, idTeachers_ ...teacher.IdTeacher) ([]IdTrivial, error)

func ScanIdTrivialArray

func ScanIdTrivialArray(rs *sql.Rows) ([]IdTrivial, error)

ScanIdTrivialArray scans the result of a query returning a list of ID's.

type IdTrivialSet

type IdTrivialSet map[IdTrivial]bool

func NewIdTrivialSetFrom

func NewIdTrivialSetFrom(ids []IdTrivial) IdTrivialSet

func (IdTrivialSet) Add

func (s IdTrivialSet) Add(id IdTrivial)

func (IdTrivialSet) Has

func (s IdTrivialSet) Has(id IdTrivial) bool

func (IdTrivialSet) Keys

func (s IdTrivialSet) Keys() []IdTrivial

type QuestionCriterion

type QuestionCriterion [][]editor.TagSection

QuestionCriterion is an union of intersection of tags.

type SelfaccessTrivial

type SelfaccessTrivial struct {
	IdClassroom teacher.IdClassroom `gomacro-sql-on-delete:"CASCADE"`
	IdTrivial   IdTrivial           `gomacro-sql-on-delete:"CASCADE"`
	IdTeacher   teacher.IdTeacher
}

SelfaccessTrivial is a link table enabling a teacher to publish (or hide) a Trivial for the students of a classroom. gomacro:SQL ADD FOREIGN KEY (IdClassroom, IdTeacher) REFERENCES Classrooms (Id, IdTeacher) ON DELETE CASCADE gomacro:SQL _SELECT KEY (IdTrivial, IdTeacher)

func ScanSelfaccessTrivial

func ScanSelfaccessTrivial(row *sql.Row) (SelfaccessTrivial, error)

func (SelfaccessTrivial) Delete

func (item SelfaccessTrivial) Delete(tx DB) error

Delete the link SelfaccessTrivial from the database. Only the foreign keys IdClassroom, IdTrivial, IdTeacher fields are used in 'item'.

type SelfaccessTrivials

type SelfaccessTrivials []SelfaccessTrivial

func DeleteSelfaccessTrivialsByIdClassrooms

func DeleteSelfaccessTrivialsByIdClassrooms(tx DB, idClassrooms_ ...teacher.IdClassroom) (SelfaccessTrivials, error)

func DeleteSelfaccessTrivialsByIdTeachers

func DeleteSelfaccessTrivialsByIdTeachers(tx DB, idTeachers_ ...teacher.IdTeacher) (SelfaccessTrivials, error)

func DeleteSelfaccessTrivialsByIdTrivialAndIdTeacher

func DeleteSelfaccessTrivialsByIdTrivialAndIdTeacher(tx DB, idTrivial IdTrivial, idTeacher teacher.IdTeacher) (item SelfaccessTrivials, err error)

DeleteSelfaccessTrivialsByIdTrivialAndIdTeacher deletes the item matching the given fields, returning the deleted items.

func DeleteSelfaccessTrivialsByIdTrivials

func DeleteSelfaccessTrivialsByIdTrivials(tx DB, idTrivials_ ...IdTrivial) (SelfaccessTrivials, error)

func ScanSelfaccessTrivials

func ScanSelfaccessTrivials(rs *sql.Rows) (SelfaccessTrivials, error)

func SelectAllSelfaccessTrivials

func SelectAllSelfaccessTrivials(db DB) (SelfaccessTrivials, error)

SelectAll returns all the items in the selfaccess_trivials table.

func SelectSelfaccessTrivialsByIdClassrooms

func SelectSelfaccessTrivialsByIdClassrooms(tx DB, idClassrooms_ ...teacher.IdClassroom) (SelfaccessTrivials, error)

func SelectSelfaccessTrivialsByIdTeachers

func SelectSelfaccessTrivialsByIdTeachers(tx DB, idTeachers_ ...teacher.IdTeacher) (SelfaccessTrivials, error)

func SelectSelfaccessTrivialsByIdTrivialAndIdTeacher

func SelectSelfaccessTrivialsByIdTrivialAndIdTeacher(tx DB, idTrivial IdTrivial, idTeacher teacher.IdTeacher) (item SelfaccessTrivials, err error)

SelectSelfaccessTrivialsByIdTrivialAndIdTeacher selects the items matching the given fields.

func SelectSelfaccessTrivialsByIdTrivials

func SelectSelfaccessTrivialsByIdTrivials(tx DB, idTrivials_ ...IdTrivial) (SelfaccessTrivials, error)

func (SelfaccessTrivials) ByIdClassroom

func (items SelfaccessTrivials) ByIdClassroom() map[teacher.IdClassroom]SelfaccessTrivials

ByIdClassroom returns a map with 'IdClassroom' as keys.

func (SelfaccessTrivials) ByIdTeacher

func (items SelfaccessTrivials) ByIdTeacher() map[teacher.IdTeacher]SelfaccessTrivials

ByIdTeacher returns a map with 'IdTeacher' as keys.

func (SelfaccessTrivials) ByIdTrivial

func (items SelfaccessTrivials) ByIdTrivial() map[IdTrivial]SelfaccessTrivials

ByIdTrivial returns a map with 'IdTrivial' as keys.

func (SelfaccessTrivials) IdClassrooms

func (items SelfaccessTrivials) IdClassrooms() []teacher.IdClassroom

IdClassrooms returns the list of ids of IdClassroom contained in this link table. They are not garanteed to be distinct.

func (SelfaccessTrivials) IdTeachers

func (items SelfaccessTrivials) IdTeachers() []teacher.IdTeacher

IdTeachers returns the list of ids of IdTeacher contained in this link table. They are not garanteed to be distinct.

func (SelfaccessTrivials) IdTrivials

func (items SelfaccessTrivials) IdTrivials() []IdTrivial

IdTrivials returns the list of ids of IdTrivial contained in this link table. They are not garanteed to be distinct.

type Trivial

type Trivial struct {
	Id              IdTrivial
	Questions       CategoriesQuestions
	QuestionTimeout int // in seconds
	ShowDecrassage  bool
	Public          bool
	IdTeacher       teacher.IdTeacher
	Name            string
}

Trivial is a trivial game configuration stored in the DB, one per activity.

func DeleteTrivialById

func DeleteTrivialById(tx DB, id IdTrivial) (Trivial, error)

Deletes the Trivial and returns the item

func ScanTrivial

func ScanTrivial(row *sql.Row) (Trivial, error)

func SelectTrivial

func SelectTrivial(tx DB, id IdTrivial) (Trivial, error)

SelectTrivial returns the entry matching 'id'.

func (Trivial) Insert

func (item Trivial) Insert(tx DB) (out Trivial, err error)

Insert one Trivial in the database and returns the item with id filled.

func (Trivial) Update

func (item Trivial) Update(tx DB) (out Trivial, err error)

Update Trivial in the database and returns the new version.

type Trivials

type Trivials map[IdTrivial]Trivial

func ScanTrivials

func ScanTrivials(rs *sql.Rows) (Trivials, error)

func SelectAllTrivials

func SelectAllTrivials(db DB) (Trivials, error)

SelectAll returns all the items in the trivials table.

func SelectTrivials

func SelectTrivials(tx DB, ids ...IdTrivial) (Trivials, error)

SelectTrivials returns the entry matching the given 'ids'.

func SelectTrivialsByIdTeachers

func SelectTrivialsByIdTeachers(tx DB, idTeachers_ ...teacher.IdTeacher) (Trivials, error)

func (Trivials) ByIdTeacher

func (items Trivials) ByIdTeacher() map[teacher.IdTeacher]Trivials

ByIdTeacher returns a map with 'IdTeacher' as keys.

func (Trivials) IDs

func (m Trivials) IDs() []IdTrivial

func (Trivials) IdTeachers

func (items Trivials) IdTeachers() []teacher.IdTeacher

IdTeachers returns the list of ids of IdTeacher contained in this table. They are not garanteed to be distinct.

Jump to

Keyboard shortcuts

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