models

package
v0.0.0-...-ffb0f01 Latest Latest
Warning

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

Go to latest
Published: Mar 20, 2025 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ChallengeCategoriesUsersModel

type ChallengeCategoriesUsersModel struct {
	ID         string
	UserId     string `gorm:"index:idx_catmember"`
	CategoryId string `gorm:"index:idx_catmember"`
	ChallengesCategoriesModel

	gorm.Model
}

func NewChallengeCategoriesUsersModel

func NewChallengeCategoriesUsersModel(
	catId, userId string,
) *ChallengeCategoriesUsersModel

type ChallengeCommentModel

type ChallengeCommentModel struct {
	ID          string
	Comment     string
	UserId      string
	ChallengeId string
	gorm.Model
}

func NewChallengeCommentModel

func NewChallengeCommentModel(
	challengeId, userId, comment string,
) *ChallengeCommentModel

func (*ChallengeCommentModel) TableName

func (cm *ChallengeCommentModel) TableName() string

type ChallengeHintsModel

type ChallengeHintsModel struct {
	ID          string
	Text        string
	ChallengeId string
	gorm.Model
}

func NewChallengeHintsModel

func NewChallengeHintsModel(challengeId, text string) *ChallengeHintsModel

func (*ChallengeHintsModel) TableName

func (ch *ChallengeHintsModel) TableName() string

type ChallengeModel

type ChallengeModel struct {
	ID          string
	Title       string
	Description string
	EmbedUrl    string
	UserId      string
	Rating      int
	Comments    []*ChallengeCommentModel     `gorm:"foreignKey:ChallengeId;references:ID;OnDelete:CASCADE;"`
	Hint        ChallengeHintsModel          `gorm:"foreignKey:ChallengeId;references:ID;OnDelete:CASCADE;"`
	Categories  []*ChallengesCategoriesModel `gorm:"many2many:challenges_categories;"`
	gorm.Model
}

func NewChallengeModel

func NewChallengeModel(
	title, description, embedUrl, userId string,
	categoriesId []string,
	rating int,
) *ChallengeModel

func (*ChallengeModel) BeforeDelete

func (c *ChallengeModel) BeforeDelete(tx *gorm.DB) (err error)

func (*ChallengeModel) TableName

func (c *ChallengeModel) TableName() string

type ChallengesCategoriesModel

type ChallengesCategoriesModel struct {
	Title  string `gorm:"uniqueIndex"`
	ID     string
	UserId string

	gorm.Model
}

func NewChallengesCategoriesModel

func NewChallengesCategoriesModel(
	title string,
	userId string,
) *ChallengesCategoriesModel

func (*ChallengesCategoriesModel) TableName

func (cc *ChallengesCategoriesModel) TableName() string

type UserModel

type UserModel struct {
	ID         string
	Name       string
	Password   *string
	AvatarUrl  string
	Email      string `gorm:"unique;not null"`
	Bio        string
	Url        string
	Challanges []ChallengeModel        `gorm:"foreignKey:UserId;references:ID"`
	Comments   []ChallengeCommentModel `gorm:"foreignKey:UserId;references:ID"`
	gorm.Model
}

func NewUserModel

func NewUserModel(
	email, name, avatarUrl, url, bio string, password *string,
) *UserModel

func (*UserModel) HashPassword

func (u *UserModel) HashPassword()

func (*UserModel) TableName

func (u *UserModel) TableName() string

func (*UserModel) VerifyPassword

func (u *UserModel) VerifyPassword(password string) bool

Jump to

Keyboard shortcuts

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