httphandlers

package
v0.0.0-...-84d0589 Latest Latest
Warning

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

Go to latest
Published: Feb 23, 2023 License: AGPL-3.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

View Source
const ADMIN = "admin"
View Source
const FOOD_ORGANIZER = "food organizer"
View Source
const MeetPlanLogoBase64 = "" /* 73952-byte string literal not displayed */
View Source
const PARENT = "parent"
View Source
const POTRDILO_O_SAMOTESTIRANJU = 3
View Source
const POTRDILO_O_SOLANJU = 1
View Source
const PRINCIPAL = "principal"
View Source
const PRINCIPAL_ASSISTANT = "principal assistant"
View Source
const RESETIRANJE_GESLA = 2
View Source
const SCHOOL_PSYCHOLOGIST = "school psychologist"
View Source
const SPRICEVALO = 0
View Source
const STUDENT = "student"
View Source
const TEACHER = "teacher"
View Source
const UNVERIFIED = "unverified"

Variables

This section is empty.

Functions

func DumpJSON

func DumpJSON(jsonstruct interface{}) []byte

func GenerateBeforeAfterHour

func GenerateBeforeAfterHour(stackedSubjects []string, subject sql.Subject) int

func GenerateRandomHourForBeforeAfterSubjects

func GenerateRandomHourForBeforeAfterSubjects() int

func GetAuthorizationJWT

func GetAuthorizationJWT(r *http.Request) string

func WriteBadRequest

func WriteBadRequest(w http.ResponseWriter)

func WriteForbiddenJWT

func WriteForbiddenJWT(w http.ResponseWriter)

func WriteJSON

func WriteJSON(w http.ResponseWriter, jsonstruct interface{}, statusCode int)

Types

type Absence

type Absence struct {
	sql.Absence
	TeacherName string
	UserName    string
	MeetingName string
}

type ClassJSON

type ClassJSON struct {
	Students       []UserJSON
	ID             string
	TeacherID      string
	TeacherName    string
	ClassYear      string
	SOK            int
	EOK            int
	LastSchoolDate int
}

type CommunicationJson

type CommunicationJson struct {
	sql.Communication
	Messages []MessageJson
}

type Document

type Document struct {
	sql.Document
	ExporterName string
}

type GradeTableResponse

type GradeTableResponse struct {
	Users       []UserGradeTable
	TeacherName string
}

type GradingDate

type GradingDate struct {
	Date     string
	Gradings []Meeting
}

type HTTP

type HTTP interface {
	// user.go
	Login(w http.ResponseWriter, r *http.Request)
	NewUser(w http.ResponseWriter, r *http.Request)
	GetAllClasses(w http.ResponseWriter, r *http.Request)
	PatchUser(w http.ResponseWriter, r *http.Request)
	GetStudents(w http.ResponseWriter, r *http.Request)
	HasClass(w http.ResponseWriter, r *http.Request)
	GetUserData(w http.ResponseWriter, r *http.Request)
	GetAbsencesUser(w http.ResponseWriter, r *http.Request)
	CertificateOfSchooling(w http.ResponseWriter, r *http.Request)
	ResetPassword(w http.ResponseWriter, r *http.Request)
	GenerateNewUserCert(pdf *gopdf.GoPdf, userId string) (*gopdf.GoPdf, string, error)
	ChangePassword(w http.ResponseWriter, r *http.Request)

	// testing.go
	GetSelfTestingTeacher(w http.ResponseWriter, r *http.Request)
	PatchSelfTesting(w http.ResponseWriter, r *http.Request)
	GetPDFSelfTestingReportStudent(w http.ResponseWriter, r *http.Request)
	GetTestingResults(w http.ResponseWriter, r *http.Request)

	// class.go
	NewClass(w http.ResponseWriter, r *http.Request)
	GetClasses(w http.ResponseWriter, r *http.Request)
	PatchClass(w http.ResponseWriter, r *http.Request)
	AssignUserToClass(w http.ResponseWriter, r *http.Request)
	RemoveUserFromClass(w http.ResponseWriter, r *http.Request)
	GetClass(w http.ResponseWriter, r *http.Request)
	DeleteClass(w http.ResponseWriter, r *http.Request)

	// admin.go
	GetAllUsers(w http.ResponseWriter, r *http.Request)
	ChangeRole(w http.ResponseWriter, r *http.Request)
	DeleteUser(w http.ResponseWriter, r *http.Request)
	GetTeachers(w http.ResponseWriter, r *http.Request)
	LockUnlockUser(w http.ResponseWriter, r *http.Request)

	// meetings.go
	GetTimetable(w http.ResponseWriter, r *http.Request)
	NewMeeting(w http.ResponseWriter, r *http.Request)
	PatchMeeting(w http.ResponseWriter, r *http.Request)
	DeleteMeeting(w http.ResponseWriter, r *http.Request)
	GetMeeting(w http.ResponseWriter, r *http.Request)
	GetAbsencesTeacher(w http.ResponseWriter, r *http.Request)
	PatchAbsence(w http.ResponseWriter, r *http.Request)
	GetUsersForMeeting(w http.ResponseWriter, r *http.Request)
	MigrateBetaMeetings(w http.ResponseWriter, r *http.Request)
	DeleteBetaMeetings(w http.ResponseWriter, r *http.Request)

	// subjects.go
	GetSubjects(w http.ResponseWriter, r *http.Request)
	NewSubject(w http.ResponseWriter, r *http.Request)
	GetSubject(w http.ResponseWriter, r *http.Request)
	AssignUserToSubject(w http.ResponseWriter, r *http.Request)
	RemoveUserFromSubject(w http.ResponseWriter, r *http.Request)
	DeleteSubject(w http.ResponseWriter, r *http.Request)
	PatchSubjectName(w http.ResponseWriter, r *http.Request)

	// grades.go
	GetGradesForMeeting(w http.ResponseWriter, r *http.Request)
	NewGrade(w http.ResponseWriter, r *http.Request)
	PatchGrade(w http.ResponseWriter, r *http.Request)
	DeleteGrade(w http.ResponseWriter, r *http.Request)
	GetMyGrades(w http.ResponseWriter, r *http.Request)
	PrintCertificateOfEndingClass(w http.ResponseWriter, r *http.Request)

	// homework.go
	NewHomework(w http.ResponseWriter, r *http.Request)
	GetAllHomeworksForSpecificSubject(w http.ResponseWriter, r *http.Request)
	PatchHomeworkForStudent(w http.ResponseWriter, r *http.Request)
	GetUserHomework(w http.ResponseWriter, r *http.Request)

	// classteacher.go
	ExcuseAbsence(w http.ResponseWriter, r *http.Request)

	// communication.go
	GetCommunications(w http.ResponseWriter, r *http.Request)
	GetCommunication(w http.ResponseWriter, r *http.Request)
	NewMessage(w http.ResponseWriter, r *http.Request)
	NewCommunication(w http.ResponseWriter, r *http.Request)
	GetUnreadMessages(w http.ResponseWriter, r *http.Request)
	DeleteMessage(w http.ResponseWriter, r *http.Request)
	EditMessage(w http.ResponseWriter, r *http.Request)

	// meals.go
	GetMeals(w http.ResponseWriter, r *http.Request)
	NewMeal(w http.ResponseWriter, r *http.Request)
	NewOrder(w http.ResponseWriter, r *http.Request)
	EditMeal(w http.ResponseWriter, r *http.Request)
	DeleteMeal(w http.ResponseWriter, r *http.Request)
	BlockUnblockOrder(w http.ResponseWriter, r *http.Request)
	RemoveOrder(w http.ResponseWriter, r *http.Request)
	RemoveSpecificOrder(w http.ResponseWriter, r *http.Request)
	MealsBlocked(w http.ResponseWriter, r *http.Request)

	// parent.go
	AssignUserToParent(w http.ResponseWriter, r *http.Request)
	GetMyChildren(w http.ResponseWriter, r *http.Request)
	RemoveUserFromParent(w http.ResponseWriter, r *http.Request)

	// config.go
	GetConfig(w http.ResponseWriter, r *http.Request)
	UpdateConfiguration(w http.ResponseWriter, r *http.Request)
	ParentConfig(w http.ResponseWriter, r *http.Request)

	// system.go
	GetSystemNotifications(w http.ResponseWriter, r *http.Request)
	NewNotification(w http.ResponseWriter, r *http.Request)
	DeleteNotification(w http.ResponseWriter, r *http.Request)

	// gradings.go
	GetMyGradings(w http.ResponseWriter, r *http.Request)

	// proton.go
	ManageTeacherAbsences(w http.ResponseWriter, r *http.Request)
	PostProcessTimetable(classes []sql.Class, stableTimetable []proton.ProtonMeeting, cancelPostProcessingBeforeDone bool) ([]proton.ProtonMeeting, error)
	NewProtonRule(w http.ResponseWriter, r *http.Request)
	GetProtonRules(w http.ResponseWriter, r *http.Request)
	AssembleTimetable(w http.ResponseWriter, r *http.Request)
	AcceptAssembledTimetable(w http.ResponseWriter, r *http.Request)
	ManualPostProcessRepeat(w http.ResponseWriter, r *http.Request)
	DeleteProtonRule(w http.ResponseWriter, r *http.Request)

	// improvements.go
	NewImprovement(w http.ResponseWriter, r *http.Request)
	GetImprovementsForUser(w http.ResponseWriter, r *http.Request)

	// documents.go
	FetchAllDocuments(w http.ResponseWriter, r *http.Request)
	DeleteDocument(w http.ResponseWriter, r *http.Request)
}

func NewHTTPInterface

func NewHTTPInterface(logger *zap.SugaredLogger, db sql.SQL, config sql.Config, proton proton.Proton) HTTP

type Homework

type Homework struct {
	sql.Homework
	Students []sql.StudentHomeworkJSON
}

type HomeworkJSON

type HomeworkJSON struct {
	sql.Homework
	TeacherName string
	SubjectName string
	Status      string
}

type HomeworkPerDate

type HomeworkPerDate struct {
	Date     string
	Homework []HomeworkJSON
}

type Improvement

type Improvement struct {
	sql.Improvement
	TeacherName string
	MeetingName string
}

type MealDate

type MealDate struct {
	Date  string
	Meals []MealJSON
}

type MealJSON

type MealJSON struct {
	sql.Meal
	HasOrdered     bool
	MealOrders     []UserJSON
	IsLimitReached bool
}

type Meeting

type Meeting struct {
	sql.Meeting
	TeacherName string
	SubjectName string
	Subject     Subject
}

type MessageJson

type MessageJson struct {
	sql.Message
	UserName string
}

type ParentConfig

type ParentConfig struct {
	ParentViewGrades   bool `json:"parent_view_grades"`
	ParentViewAbsences bool `json:"parent_view_absences"`
	ParentViewHomework bool `json:"parent_view_homework"`
	ParentViewGradings bool `json:"parent_view_gradings"`
}

type PeriodGrades

type PeriodGrades struct {
	Period  int
	Grades  []sql.Grade
	Total   int
	Average float64
}

type Response

type Response struct {
	Error   interface{} `json:"error"`
	Success bool        `json:"success"`
	Data    interface{} `json:"data"`
}

type Subject

type Subject struct {
	sql.Subject
	TeacherName     string
	User            []UserJSON
	RealizationDone float32
	TeacherID       string
}

type SubjectGradesResponse

type SubjectGradesResponse struct {
	Subjects []UserGradeTable
}

type SubjectPosition

type SubjectPosition struct {
	X                      float64
	Y                      float64
	Name                   string
	IsThirdLanguage        bool
	IsDynamicallyAllocated bool
}

type TimetableDate

type TimetableDate struct {
	Meetings [][]Meeting `json:"meetings"`
	Date     string      `json:"date"`
}

type TokenResponse

type TokenResponse struct {
	UserID string `json:"user_id"`
	Token  string `json:"token"`
	Role   string `json:"role"`
	Email  string `json:"email"`
}

type UserGradeTable

type UserGradeTable struct {
	ID       string
	Name     string
	Average  float64
	Final    int
	IsGraded bool
	Periods  []PeriodGrades
}

type UserJSON

type UserJSON struct {
	Name                   string
	ID                     string
	Email                  string
	Role                   string
	BirthCertificateNumber string
	Birthday               string
	CityOfBirth            string
	CountryOfBirth         string
	IsPassing              bool
	IsLocked               bool
}

Jump to

Keyboard shortcuts

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