database

package
v0.0.0-...-73e1c45 Latest Latest
Warning

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

Go to latest
Published: Aug 30, 2023 License: GPL-3.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Connect

func Connect(db DB, logger *os.File) (*xorm.Engine, error)

func CreateLog

func CreateLog(name string) *os.File

TODO: изобрести раздорбление логов по дате

func GenerateID

func GenerateID(engine *xorm.Engine) (int64, error)

Types

type DB

type DB struct {
	User   string
	Pass   string
	Schema string
}

type File

type File struct {
	Id         int64 `xorm:"pk autoincr"`
	FileId     string
	TgId       int64
	IsPersonal bool
	IsGroup    bool
	SheduleId  int64
	Week       int
	LastUpd    time.Time
}

Файлы, залитые в Telegream

type Group

type Group struct {
	GroupId   int64  `xorm:"pk"`
	GroupName string // Полный номер группы
	SpecName  string // Шифр и название специальности
	LastUpd   time.Time
	LastCheck time.Time
}

Учебная группа

type Lesson

type Lesson struct {
	LessonId     int64 `xorm:"pk autoincr"`
	NumInShedule int
	Type         string
	Name         string
	GroupId      int64
	Begin        time.Time
	End          time.Time
	TeacherId    int64
	Place        string
	Comment      string
	SubGroup     int64
	Hash         string
}

Занятие

type LogFiles

type LogFiles struct {
	DebugFile *os.File
	ErrorFile *os.File
	TgLogFile *os.File
	DBLogFile *os.File
}

func OpenLogs

func OpenLogs() (files LogFiles)

func (*LogFiles) CloseAll

func (files *LogFiles) CloseAll()

type Position

type Position string
const (
	NotStarted Position = "not_started" // Только начал диалог с ботом
	Ready      Position = "ready"       // Готов к дальнейшим действиям
	Add        Position = "add"         // Подключает личное расписание
	Set        Position = "set"         // Устанавливает время
	Delete     Position = "del"         // Отключается от группы
)

type ShedulesInUser

type ShedulesInUser struct {
	UID       int64 `xorm:"pk autoincr"` // Не забывать про автоинкремент!!!
	L9Id      int64
	IsGroup   bool
	SheduleId int64
	Subgroup  int64
	NextNote  bool
	NextDay   bool
	NextWeek  bool
	First     bool
	FirstTime int `xorm:"default 45"`
	Military  bool
}

Подключённое к пользователю расписание

type Teacher

type Teacher struct {
	TeacherId int64  `xorm:"pk"`
	FirstName string // Фамилия
	LastName  string // Имя, отчество и прочие окончания
	ShortName string // Инициалы
	SpecName  string // Место работы
	LastUpd   time.Time
	LastCheck time.Time
}

Преподаватель

type TempMsg

type TempMsg struct {
	ID        int64 `xorm:"pk autoincr"`
	TgId      int64
	MessageId int
	Destroy   time.Time
}

Самоуничтожающиеся сообщения

type TgUser

type TgUser struct {
	L9Id   int64 `xorm:"pk"`
	TgId   int64
	Name   string
	PosTag Position
}

Пользователь Telegram

type User

type User struct {
	L9Id int64 `xorm:"pk"`
}

Пользователь системы (задел под сайт)

Jump to

Keyboard shortcuts

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