entity

package
v0.0.0-...-89144a2 Latest Latest
Warning

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

Go to latest
Published: Nov 17, 2025 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Professor

type Professor struct {
	ID              string    `db:"id"`
	Name            string    `db:"name"`
	Faculty         string    `db:"faculty"`
	Major           string    `db:"major"`
	ProfileImgLink  string    `db:"profile_img_link"`
	ReviewsCount    uint64    `db:"reviews_count"`
	AvgDiffRate     float32   `db:"avg_diff_rate"`
	AvgFriendlyRate float32   `db:"avg_friendly_rate"`
	CreatedAt       time.Time `db:"created_at"`
	UpdatedAt       time.Time `db:"updated_at"`
}

type RatingDistribution

type RatingDistribution struct {
	ProfID  string `db:"prof_id" json:"-"`
	Rating1 int    `db:"rating_1" json:"ratingCounter1"`
	Rating2 int    `db:"rating_2" json:"ratingCounter2"`
	Rating3 int    `db:"rating_3" json:"ratingCounter3"`
	Rating4 int    `db:"rating_4" json:"ratingCounter4"`
	Rating5 int    `db:"rating_5" json:"ratingCounter5"`
}

type RatingDistributionCol

type RatingDistributionCol = string
var (
	DifficultyDistirbutionCol RatingDistributionCol = "difficulty_rating"
	FriendlyDistirbutionCol   RatingDistributionCol = "friendly_rating"
)

type ReactionType

type ReactionType uint
const (
	LikeReactionType    ReactionType = 1
	DislikeReactionType ReactionType = 2
)

func ToReactionType

func ToReactionType(reaction string) ReactionType

type Review

type Review struct {
	ID           string    `db:"id"`
	ProfessorID  string    `db:"prof_id"`
	UserID       string    `db:"user_id"`
	Comment      string    `db:"comment"`
	DiffRate     float32   `db:"difficulty_rating"`
	FriendlyRate float32   `db:"friendly_rating"`
	CreatedAt    time.Time `db:"created_at"`
}

type ReviewReaction

type ReviewReaction struct {
	UserID    string       `db:"user_id"`
	ReviewID  string       `db:"review_id"`
	Type      ReactionType `db:"reaction_type"`
	CreatedAt time.Time    `db:"created_at"`
}

type ReviewWithRelations

type ReviewWithRelations struct {
	Review
	User           User      `db:"user"`
	Professor      Professor `db:"professor"`
	IsLiked        int       `db:"is_liked"`
	LikeCounter    int       `db:"like_counter"`
	DislikeCounter int       `db:"dislike_counter"`
}

type User

type User struct {
	ID               string       `db:"id"`
	NIM              string       `db:"nim"`
	Username         string       `db:"username"`
	Password         string       `db:"password"`
	ForgotPasswordAt sql.NullTime `db:"forgot_password_at"`
	CreatedAt        time.Time    `db:"created_at"`
}

Jump to

Keyboard shortcuts

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