db

package
v0.0.0-...-34ab1a3 Latest Latest
Warning

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

Go to latest
Published: Oct 13, 2023 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const LimitPerPage int64 = 20 // Количество задач на страницу

Variables

This section is empty.

Functions

This section is empty.

Types

type Passages

type Passages struct {
	// contains filtered or unexported fields
}

func NewPassages

func NewPassages(client *mongo.Client) *Passages

func (*Passages) Create

func (db *Passages) Create(ctx context.Context, passage *models.Passage) (primitive.ObjectID, error)

func (*Passages) Read

func (db *Passages) Read(ctx context.Context, id primitive.ObjectID) (*models.Passage, error)

func (*Passages) SearchLastUserPassage

func (db *Passages) SearchLastUserPassage(
	ctx context.Context,
	userID, testID primitive.ObjectID,
) (*models.Passage, error)

Поиск последнего прохождения пользователем теста.

func (*Passages) SearchUserPassages

func (db *Passages) SearchUserPassages(
	ctx context.Context,
	userID, testID primitive.ObjectID,
) ([]*models.Passage, error)

func (*Passages) Update

func (db *Passages) Update(ctx context.Context, passage *models.Passage) error

type Tasks

type Tasks struct {
	// contains filtered or unexported fields
}

func NewTasks

func NewTasks(client *mongo.Client) *Tasks

func (*Tasks) Create

func (db *Tasks) Create(ctx context.Context, task *models.Task) (primitive.ObjectID, error)

func (*Tasks) Read

func (db *Tasks) Read(ctx context.Context, id primitive.ObjectID) (*models.Task, error)

func (*Tasks) Search

func (db *Tasks) Search(
	ctx context.Context,
	complexity constants.ComplexityType,
	themes []string,
	usedIDs []primitive.ObjectID,
) (*models.Task, error)

Поиск задач по сложности и темам без уже использованных IDs. Перемешивает найденные задачи, для унификации созданных тестов.

type Tests

type Tests struct {
	// contains filtered or unexported fields
}

func NewTests

func NewTests(client *mongo.Client) *Tests

func (*Tests) Create

func (db *Tests) Create(ctx context.Context, test *models.Test) (primitive.ObjectID, error)

func (*Tests) ReadByID

func (db *Tests) ReadByID(ctx context.Context, id primitive.ObjectID) (*models.Test, error)

func (*Tests) ReadByPath

func (db *Tests) ReadByPath(ctx context.Context, path string) (*models.Test, error)

func (*Tests) Search

func (db *Tests) Search(
	ctx context.Context,
	name string,
	class constants.ClassNumber,
	complexity constants.ComplexityType,
	page int64,
) ([]*models.Test, error)

Поиск тестов по имени, классу, сложности и номеру страницы.

func (*Tests) SearchCountPages

func (db *Tests) SearchCountPages(
	ctx context.Context,
	name string,
	class constants.ClassNumber,
	complexity constants.ComplexityType,
) (int64, error)

Количество страниц при данном имени, классе и сложности.

type Users

type Users struct {
	// contains filtered or unexported fields
}

func NewUsers

func NewUsers(client *mongo.Client) *Users

func (*Users) Create

func (db *Users) Create(ctx context.Context, user *models.User) (primitive.ObjectID, error)

func (*Users) ReadByAccessToken

func (db *Users) ReadByAccessToken(ctx context.Context, accessToken string) (*models.User, error)

func (*Users) ReadByEmail

func (db *Users) ReadByEmail(ctx context.Context, email string) (*models.User, error)

func (*Users) ReadByID

func (db *Users) ReadByID(ctx context.Context, id primitive.ObjectID) (*models.User, error)

func (*Users) ReadByRefreshToken

func (db *Users) ReadByRefreshToken(ctx context.Context, refreshToken string) (*models.User, error)

func (*Users) UpdateAccessTokenByEmail

func (db *Users) UpdateAccessTokenByEmail(ctx context.Context, email string, accessToken string) error

func (*Users) UpdateAccessTokenByID

func (db *Users) UpdateAccessTokenByID(ctx context.Context, id primitive.ObjectID, accessToken string) error

func (*Users) UpdateTokensByEmail

func (db *Users) UpdateTokensByEmail(ctx context.Context, email string, tokens *models.UserTokens) error

func (*Users) UpdateTokensByID

func (db *Users) UpdateTokensByID(ctx context.Context, id primitive.ObjectID, tokens *models.UserTokens) error

Jump to

Keyboard shortcuts

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