parent
48e8493de4
commit
5a5c08e4a0
|
@ -0,0 +1,25 @@
|
||||||
|
package models
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
type Lesson struct {
|
||||||
|
Id string `gorm:"primaryKey;type:varchar(36)"`
|
||||||
|
OrganizationId string `gorm:"type:varchar(36)"`
|
||||||
|
State uint8 `gorm:"type:tinyint(1)"`
|
||||||
|
Title string `gorm:"type:varchar(255)"`
|
||||||
|
ThumbnailUrl string `gorm:"type:varchar(255)"`
|
||||||
|
CreatorUserId string `gorm:"type:varchar(36)"`
|
||||||
|
CreatedAt time.Time
|
||||||
|
UpdatedAt time.Time
|
||||||
|
}
|
||||||
|
|
||||||
|
type LessonContent struct {
|
||||||
|
Id string `gorm:"primaryKey;type:varchar(36)"`
|
||||||
|
LessonId string `gorm:"type:varchar(36)"`
|
||||||
|
Page uint16 `gorm:"type:smallint(5)"` // Page number
|
||||||
|
Position uint16 `gorm:"type:smallint(5)"` // Position on the page
|
||||||
|
Type uint8 // Type of content, like text, image, video, etc
|
||||||
|
Data string `gorm:"type:text"`
|
||||||
|
CreatedAt time.Time
|
||||||
|
UpdatedAt time.Time
|
||||||
|
}
|
|
@ -0,0 +1,38 @@
|
||||||
|
package models
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
type Question struct {
|
||||||
|
Id string `gorm:"primaryKey;type:varchar(36)"`
|
||||||
|
LessonId string `gorm:"type:varchar(36)"`
|
||||||
|
Question string `gorm:"type:text"`
|
||||||
|
Likes uint16 `gorm:"type:smallint(5)"`
|
||||||
|
CreatorUserId string `gorm:"type:varchar(36)"`
|
||||||
|
CreatedAt time.Time
|
||||||
|
UpdatedAt time.Time
|
||||||
|
}
|
||||||
|
|
||||||
|
type QuestionLike struct {
|
||||||
|
Id string `gorm:"primaryKey;type:varchar(36)"`
|
||||||
|
QuestionId string `gorm:"type:varchar(36)"`
|
||||||
|
CreatorUserId string `gorm:"type:varchar(36)"`
|
||||||
|
CreatedAt time.Time
|
||||||
|
UpdatedAt time.Time
|
||||||
|
}
|
||||||
|
|
||||||
|
type QuestionReply struct {
|
||||||
|
Id string `gorm:"primaryKey;type:varchar(36)"`
|
||||||
|
QuestionId string `gorm:"type:varchar(36)"`
|
||||||
|
Reply string `gorm:"type:text"`
|
||||||
|
CreatorUserId string `gorm:"type:varchar(36)"`
|
||||||
|
CreatedAt time.Time
|
||||||
|
UpdatedAt time.Time
|
||||||
|
}
|
||||||
|
|
||||||
|
type QuestionReplyLike struct {
|
||||||
|
Id string `gorm:"primaryKey;type:varchar(36)"`
|
||||||
|
QuestionReplyId string `gorm:"type:varchar(36)"`
|
||||||
|
CreatorUserId string `gorm:"type:varchar(36)"`
|
||||||
|
CreatedAt time.Time
|
||||||
|
UpdatedAt time.Time
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
package models
|
||||||
|
|
||||||
|
type Role struct {
|
||||||
|
Id string `gorm:"primaryKey;type:varchar(36)"`
|
||||||
|
OrganizationId string `gorm:"type:varchar(36)"`
|
||||||
|
Master bool `gorm:"type:tinyint(1)"`
|
||||||
|
Name string `gorm:"type:varchar(255)"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type RolePermission struct {
|
||||||
|
Id string `gorm:"primaryKey;type:varchar(36)"`
|
||||||
|
RoleId string `gorm:"type:varchar(36)"`
|
||||||
|
Permission uint16 `gorm:"type:smallint"`
|
||||||
|
}
|
|
@ -0,0 +1,31 @@
|
||||||
|
package models
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
type User struct {
|
||||||
|
Id string `gorm:"primaryKey;type:varchar(36)"`
|
||||||
|
OrganizationId string `gorm:"type:varchar(36)"`
|
||||||
|
State uint8 `gorm:"type:tinyint(1)"`
|
||||||
|
Active bool `gorm:"type:tinyint(1)"`
|
||||||
|
RoleId string `gorm:"type:varchar(36)"`
|
||||||
|
FirstName string `gorm:"type:varchar(255)"`
|
||||||
|
LastName string `gorm:"type:varchar(255)"`
|
||||||
|
Email string `gorm:"type:varchar(255)"`
|
||||||
|
Password string `gorm:"type:varchar(255)"`
|
||||||
|
ProfilePictureUrl string `gorm:"type:varchar(255)"`
|
||||||
|
LastOnlineAt time.Time
|
||||||
|
CreatedAt time.Time
|
||||||
|
UpdatedAt time.Time
|
||||||
|
}
|
||||||
|
|
||||||
|
type UserSession struct {
|
||||||
|
Id string `gorm:"primaryKey;type:varchar(36)"`
|
||||||
|
UserId string `gorm:"type:varchar(36)"`
|
||||||
|
OrganizationId string `gorm:"type:varchar(36)"`
|
||||||
|
Session string `gorm:"type:varchar(36)"`
|
||||||
|
UserAgent string `gorm:"type:varchar(255)"`
|
||||||
|
ExpiresAt time.Time
|
||||||
|
LastUsedAt time.Time
|
||||||
|
CreatedAt time.Time
|
||||||
|
UpdatedAt time.Time
|
||||||
|
}
|
Loading…
Reference in New Issue