model

package
v0.0.0-...-4924b15 Latest Latest
Warning

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

Go to latest
Published: Apr 13, 2020 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AbesntModel

type AbesntModel struct {
	CreatedAt time.Time
	UpdatedAt time.Time
	DeletedAt *time.Time
}

AbesntModel ...

type Absent

type Absent struct {
	ScheduleID      uint       `json:"scheduleId" gorm:"primary_key;auto_increment:false"`
	AbsentHash      string     `json:"-" gorm:"unique_index"`
	StudentID       uint       `json:"studentId" gorm:"primary_key;auto_increment:false"`
	TeacherID       uint       `json:"teacherId"`
	CourseID        uint       `json:"couresId"`
	NumberOfMeeting int        `json:"numberOfMeeting" gorm:"primary_key;auto_increment:false"`
	Semester        int        `json:"semester"`
	AbsentTime      *time.Time `json:"absentTime" `
	Student         *Student   `gorm:"foreignkey:StudentID;association_foreignkey:UserID"`
	Teacher         *Teacher   `gorm:"foreignkey:TeacherID;association_foreignkey:UserID"`
	AbesntModel
}

Absent ...

func (Absent) GenerateJWT

func (a Absent) GenerateJWT() (JWTToken, error)

GenerateJWT ...

type AbsentCreateParams

type AbsentCreateParams struct {
	TokenAbsent string `json:"tokenAbsent"`
	Semester    int    `json:"semester"`
}

AbsentCreateParams ...

type AbsentReturnCreate

type AbsentReturnCreate struct {
	StudentID       uint       `json:"studentId"`
	TeacherID       uint       `json:"teacherId"`
	CourseID        uint       `json:"couresId"`
	ScheduleID      uint       `json:"scheduleId"`
	NumberOfMeeting int        `json:"NumberOfMeeting"`
	Semester        int        `json:"semester" `
	AbsentTime      *time.Time `json:"absentTime"`
	AbsentHash      string     `json:"-" gorm:"unique_index"`
	AbesntModel
	Student Student `gorm:"foreignkey:StudentID;association_foreignkey:UserID"`
	Teacher Teacher `gorm:"foreignkey:TeacherID;association_foreignkey:UserID" json:"-"`
}

AbsentReturnCreate ...

func (*AbsentReturnCreate) AfterCreate

func (u *AbsentReturnCreate) AfterCreate(scope *gorm.Scope) (err error)

AfterCreate ..

func (AbsentReturnCreate) TableName

func (AbsentReturnCreate) TableName() string

TableName ...

func (AbsentReturnCreate) VerifyToken

func (a AbsentReturnCreate) VerifyToken(tokenString string) (*TokenParse, error)

VerifyToken ...

type AbsentSchedule

type AbsentSchedule struct {
	ID        uint `json:"string"`
	CourseID  uint `json:"courseId"`
	TeacherID uint `json:"teacherId"`
}

AbsentSchedule ...

func (AbsentSchedule) TableName

func (AbsentSchedule) TableName() string

type AbsentSetupParams

type AbsentSetupParams struct {
	ScheduleID      uint `json:"scheduleId"`
	CourseID        uint `json:"courseID"`
	NumberOfMeeting int  `json:"NumberOfMeeting"`
}

SetupParams ...

type AbsentSetupReturn

type AbsentSetupReturn struct {
	Token string `json:"token"`
}

SetupReturn ...

type Admin

type Admin struct {
	gorm.Model
	UserID   uint   `json:"userId"`
	NIA      string `gorm:"unique_index" json:"nim"`
	Fullname string `json:"fullname"`
	User     User   `json:"user"`
}

Admin ...

type Course

type Course struct {
	ID       uint   `gorm:"primary_key"`
	Name     string `json:"name" gorm:"unique_index" `
	TotalSks int    `json:"totalSks"`
	Semester int    `json:"semester"`
}

Course ...

type CourseDeleted

type CourseDeleted struct {
	ID      uint   `json:"id"`
	Message string `json:"message"`
}

CourseDeleted ...

type CourseEditParams

type CourseEditParams struct {
	ID       uint   `json:"id"`
	Name     string `json:"name"`
	TotalSks int    `json:"totalSks"`
	Semester int    `json:"semester"`
}

CourseEditParams ...

type Grade

type Grade struct {
	ScheduleID  uint    `json:"scheduleId" `
	StudentID   uint    `json:"studentId" gorm:"primary_key;auto_increment:false"`
	Semester    int     `json:"semester" gorm:"primary_key;auto_increment:false"`
	CourseID    uint    `json:"courseId" gorm:"primary_key;auto_increment:false"`
	Attendance  float32 `json:"attendance" gorm:"type:DECIMAL(5,2)"`
	Assignment  float32 `json:"assignment" gorm:"type:DECIMAL(5,2)"`
	Uts         float32 `json:"uts" gorm:"type:DECIMAL(5,2)" valid:"required"`
	Uas         float32 `json:"uas" gorm:"type:DECIMAL(5,2)"`
	WeightValue float32 `json:"weightValue" gorm:"type:DECIMAL(5,2)"`
	LetterValue string  `json:"letterValue" gorm:"type:varchar(4)" valid:"required"`
}

Grade ...

type JWTToken

type JWTToken struct {
	Token string `json:"token"`
}

type LoginParams

type LoginParams struct {
	Username string `json:"username"`
	Password string `json:"password"`
}

LoginParams ...

type LoginReturn

type LoginReturn struct {
	Token  string `json:"token"`
	RoleID uint   `json:"roleId"`
}

LoginReturn ...

type Model

type Model struct {
	ID        uint `gorm:"primary_key"`
	CreatedAt time.Time
	UpdatedAt time.Time
	DeletedAt *time.Time `json:"-"`
}

type RegisterParams

type RegisterParams struct {
	Username string  `json:"username"`
	Password string  `json:"password"`
	Fullname *string `json:"fullname"`
}

type Schedule

type Schedule struct {
	ID              uint    `json:"id" gorm:"not null;unique_index;AUTO_INCREMENT"`
	CourseID        uint    `json:"courseId" gorm:"primary_key;auto_increment:false"`
	TeacherID       uint    `json:"teacherId" gorm:"primary_key;auto_increment:false"`
	Day             int     `json:"day"`
	Week            string  `json:"week"`
	Time            int     `json:"time"`
	NumberOfMeeting int     `json:"numberOfMeeting"`
	Teacher         Teacher `gorm:"foreignkey:TeacherID;association_foreignkey:UserID"`
	Course          Course
	Absents         []Absent `gorm:"foreignkey:ScheduleID"`
}

Schedule ...

type ScheduleAbsent

type ScheduleAbsent struct {
	ScheduleID      uint            `json:"scheduleId" gorm:"primary_key;auto_increment:false"`
	AbsentHash      string          `json:"-" gorm:"unique_index"`
	StudentID       uint            `json:"studentId" gorm:"primary_key;auto_increment:false"`
	NumberOfMeeting int             `json:"NumberOfMeeting" `
	Semester        int             `json:"semester"`
	AbsentTime      *time.Time      `json:"absentTime" `
	Student         ScheduleStudent `gorm:"foreignkey:StudentID;association_foreignkey:UserID"`
	ScheduleModel
}

type ScheduleCreate

type ScheduleCreate struct {
	ID              uint   `json:"id"`
	CourseID        uint   `json:"courseId"`
	TeacherID       uint   `json:"teacherId"`
	Day             int    `json:"day"`
	Week            string `json:"week"`
	Time            int    `json:"time"`
	NumberOfMeeting *int   `json:"numberOfMeeting"`
}

CreateSchedule ...

func (ScheduleCreate) TableName

func (ScheduleCreate) TableName() string

TableName ...

type ScheduleCreateParams

type ScheduleCreateParams struct {
	CourseID        uint   `json:"courseId"`
	Day             int    `json:"day"`
	Week            string `json:"week"`
	Time            int    `json:"time"`
	NumberOfMeeting *int   `json:"numberOfMeeting"`
}

CreateParams ...

type ScheduleIndex

type ScheduleIndex struct {
	ID              uint   `json:"id"`
	CourseID        uint   `json:"courseId"`
	TeacherID       uint   `json:"teacherId"`
	Day             int    `json:"day"`
	Week            string `json:"week"`
	Time            int    `json:"time"`
	NumberOfMeeting int    `json:"numberOfMeeting"`
	Course          Course
}

func (ScheduleIndex) TableName

func (ScheduleIndex) TableName() string

type ScheduleModel

type ScheduleModel struct {
	CreatedAt time.Time
	UpdatedAt time.Time
	DeletedAt *time.Time
}

Model ...

type ScheduleShow

type ScheduleShow struct {
	ScheduleIndex
	Absents []Absent `gorm:"foreignkey:ID;association_foreignkey:ScheduleID"`
}

func (ScheduleShow) TableName

func (ScheduleShow) TableName() string

type ScheduleStudent

type ScheduleStudent struct {
	UserID   uint   `json:"userId"`
	Nim      string `json:"nim"`
	Fullname string `json:"fullname"`
}

type ShowGradeByScheduleID

type ShowGradeByScheduleID struct {
	StudentSchedule
	Grade   *ShowGradeEntity `json:"grade" gorm:"foreignkey:StudentID,ScheduleID;association_foreignkey:StudentID,ScheduleID" `
	Student *Student         `json:"student" gorm:"foreignkey:StudentID;association_foreignkey:UserID" `
}

ShowGradeByScheduleID ...

func (*ShowGradeByScheduleID) TableName

func (*ShowGradeByScheduleID) TableName() string

TableName ...

type ShowGradeEntity

type ShowGradeEntity struct {
	ScheduleID  uint    `json:"-" `
	StudentID   uint    `json:"-" gorm:"primary_key;auto_increment:false"`
	Attendance  float32 `json:"attendance" gorm:"type:DECIMAL(5,2)"`
	Assignment  float32 `json:"assignment" gorm:"type:DECIMAL(5,2)"`
	Uts         float32 `json:"uts" gorm:"type:DECIMAL(5,2)"`
	Uas         float32 `json:"uas" gorm:"type:DECIMAL(5,2)"`
	WeightValue float32 `json:"weightValue" gorm:"type:DECIMAL(5,2)"`
	LetterValue string  `json:"letterValue" gorm:"type:varchar(4)"`
}

ShowGradeEntity ...

func (*ShowGradeEntity) TableName

func (*ShowGradeEntity) TableName() string

TableName ...

type ShowStudentSchedule

type ShowStudentSchedule struct {
	StudentID  uint     `json:"studentId"  gorm:"primary_key;auto_increment:false"`
	ScheduleID uint     `json:"scheduleId"`
	Semester   int      `json:"semester" gorm:"primary_key;auto_increment:false"`
	CourseID   uint     `json:"courseId" gorm:"primary_key;auto_increment:false"`
	Course     *Course  `json:"course"`
	Student    *Student `gorm:"foreignkey:StudentID;association_foreignkey:UserID" json:"student"`
	Absent     *Absent  `gorm:"foreignkey:StudentID;association_foreignkey:StudentID"`
}

ShowStudentSchedule ...

func (*ShowStudentSchedule) TableName

func (*ShowStudentSchedule) TableName() string

TableName ...

type Student

type Student struct {
	gorm.Model
	UserID   uint   `json:"userId"`
	Nim      string `gorm:"unique_index" json:"nim"`
	Fullname string `json:"fullname"`
	User     User   `json:"-"`
}

Student ...

type StudentSchedule

type StudentSchedule struct {
	StudentID  uint `json:"studentId"  gorm:"primary_key;auto_increment:false"`
	ScheduleID uint `json:"scheduleId"  `
	Semester   int  `json:"semester" gorm:"primary_key;auto_increment:false"`
	CourseID   uint `json:"courseId" gorm:"primary_key;auto_increment:false"`
}

StudentSchedule ...

type Teacher

type Teacher struct {
	Model
	UserID   uint    `json:"userId"`
	Nid      *string `gorm:"unique" json:"nid"`
	Fullname *string `json:"fullname"`
	Country  *string `json:"country"`
	State    *string `json:"state"`
	City     *string `json:"city"`
	Phone    *string `json:"phone"`
	Email    *string `json:"email" gorm:"unique"`
	User     User    `json:"-"`
}

type TeacherBTUser

type TeacherBTUser struct {
	Teacher
	User User `json:"user"`
}

func (TeacherBTUser) TableName

func (TeacherBTUser) TableName() string

type TeacherRegisterParams

type TeacherRegisterParams struct {
	Username string `json:"username"`
	Password string `json:"password"`
	Fullname string `json:"fullname"`
}

TeacherRegisterParams ...

type TokenParse

type TokenParse struct {
	TeacherID       uint   `json:"teacherId"`
	CourseID        uint   `json:"courseId"`
	ScheduleID      uint   `json:"scheduleId"`
	AbsentHash      string `json:"absentHash"`
	NumberOfMeeting int    `json:"NumberOfMeeting"`
}

TokenParse ...

type User

type User struct {
	gorm.Model        //hides from any json marshalling output
	Username   string `gorm:"unique_index" json:"username"`
	RoleID     uint   `json:"roleId"`
	Hash       string `json:"-"`
}

func (User) CheckPassword

func (u User) CheckPassword(password string) bool

func (User) GenerateJWT

func (u User) GenerateJWT() (JWTToken, error)

func (User) HashPassword

func (u User) HashPassword(password string) string

Jump to

Keyboard shortcuts

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