server

package
v0.0.0-...-3d2cefe Latest Latest
Warning

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

Go to latest
Published: Mar 1, 2020 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Class

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

Class contain student related functions

func NewClass

func NewClass(storage Storage, logger logrus.FieldLogger) *Class

func (*Class) CreateStudent

func (c *Class) CreateStudent(
	ctx context.Context,
	req *studytrack.CreateStudentRequest,
) (res *studytrack.Student, err error)

func (*Class) GetStudent

func (c *Class) GetStudent(
	ctx context.Context,
	req *studytrack.GetStudentRequest,
) (res *studytrack.Student, err error)

type Lesson

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

func NewLesson

func NewLesson(storage Storage, logger logrus.FieldLogger) *Lesson

func (*Lesson) CreateTheme

func (l *Lesson) CreateTheme(
	ctx context.Context,
	req *studytrack.CreateThemeRequest,
) (res *studytrack.Theme, err error)

func (*Lesson) ListThemes

func (l *Lesson) ListThemes(
	ctx context.Context,
	req *studytrack.ListThemesRequest,
) (res *studytrack.ListThemesResponse, err error)

type Storage

type Storage interface {
	CreateStudent(ctx context.Context, student Student) (err error)
	CreateTheme(ctx context.Context, theme Theme) (err error)
	CreateSubject(ctx context.Context, subject Subject) (err error)

	GetStudent(ctx context.Context, name string) (student Student, err error)
	ListThemes(_ context.Context, name string) (res []Theme, err error)
}

type Student

type Student struct {
	Name      string
	CreatedAt time.Time
	UpdatedAt time.Time
}

type Subject

type Subject struct {
	ID          uuid.UUID
	ThemeID     uuid.UUID // fk
	Title       string
	Description string
	Deadline    pq.NullTime
	CreatedAt   time.Time
	UpdatedAt   time.Time
}

type Theme

type Theme struct {
	ID       uuid.UUID
	UserName string // fk
	Name     string
}

type Themes

type Themes []Theme

Jump to

Keyboard shortcuts

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