models

package
v0.0.0-...-23e8201 Latest Latest
Warning

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

Go to latest
Published: Feb 11, 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 BanTeam

type BanTeam struct {
	TeamId uuid.UUID `json:"id" validate:"required"`
}

type BanUserReq

type BanUserReq struct {
	Email string `json:"email" validate:"required,email"`
}

type CompleteProfileRequest

type CompleteProfileRequest struct {
	FirstName     string `json:"first_name"     validate:"required"`
	LastName      string `json:"last_name"      validate:"required"`
	PhoneNo       string `json:"phone_no"       validate:"required,len=10"`
	Gender        string `json:"gender"         validate:"required,len=1"`
	RegNo         string `json:"reg_no"         validate:"required"`
	GithubProfile string `json:"github_profile" validate:"required,url"`
	HostelBlock   string `json:"hostel_block"   validate:"required"`
	RoomNo        string `json:"room_no"        validate:"required"`
}

type CreatePanel

type CreatePanel struct {
	FirstName     string `json:"first_name" validate:"required"`
	LastName      string `json:"last_name" validate:"required"`
	Email         string `json:"email" validate:"required,email"`
	PhoneNo       string `json:"phone_no" validate:"required,len=10"`
	Gender        string `json:"gender" validate:"required,len=1"`
	RegNo         string `json:"reg_no" validate:"required"`
	GithubProfile string `json:"github_profile" validate:"required,url"`
	Password      string `json:"password" validate:"required"`
}

type CreateScore

type CreateScore struct {
	Design         int    `json:"design" validate:"min=0,max=10"`
	Implementation int    `json:"implementation" validate:"min=0,max=10"`
	Presentation   int    `json:"presentation" validate:"min=0,max=10"`
	Round          int    `json:"round" validate:""`
	Innovation     int    `json:"innovation" validate:"min=0,max=10"`
	Teamwork       int    `json:"teamwork" validate:"min=0,max=10"`
	Comment        string `json:"comment"`
	TeamID         string `json:"team_id" validate:"required,uuid"`
}

type CreateSubmissionRequest

type CreateSubmissionRequest struct {
	Title       string `json:"title" validate:"required"`
	Description string `json:"description" validate:"required"`
	Track       string `json:"track" validate:"required"`
	GithubLink  string `json:"github_link"`
	FigmaLink   string `json:"figma_link`
	OtherLink   string `json:"other_link"`
}

type CreateTeam

type CreateTeam struct {
	Name string `json:"name" validate:"required"`
}

type DeleteTeam

type DeleteTeam struct {
	UserID uuid.UUID `json:"id" validate:"required"`
}

type GetScore

type GetScore struct {
	Id             string `json:"id" validate:"required"`
	Design         int    `json:"design" validate:"required,min=0,max=10"`
	Implementation int    `json:"implementation" validate:"required,min=0,max=10"`
	Presentation   int    `json:"presentation" validate:"required,min=0,max=10"`
	Round          int    `json:"round" validate:"required"`
	Innovation     int    `json:"innovation" validate:"required,min=0,max=10"`
	Teamwork       int    `json:"teamwork" validate:"required,min=0,max=10"`
	Comment        string `json:"comment"`
	TeamID         string `json:"team_id" validate:"required,uuid"`
}

type GetTeamMembers

type GetTeamMembers struct {
	FirstName     string `json:"first_name" validate:"required"`
	LastName      string `json:"last_name" validate:"required"`
	GithubProfile string `json:"github_profile" validate:"required,url"`
	VitEmail      string `json:"vit_email" validate:"required,email,endswith=@vitstudent.ac.in"`
	RegNo         string `json:"reg_no" validate:"required"`
	PhoneNo       string `json:"phone_no" validate:"required,len=10"`
}

type GetTeamUsers

type GetTeamUsers struct {
	FirstName string `json:"first_name" validate:"required"`
	LastName  string `json:"last_name" validate:"required"`
}

type GetTeams

type GetTeams struct {
	ID             uuid.UUID `json:"team_id" db:"id"`
	Name           string    `json:"team_name" db:"name"`
	NumberOfPeople int64     `json:"number_of_people" db:"number_of_people"`
	Submission     uuid.UUID `json:"submission" db:"submission"`
	RoundQualified int       `json:"round_qualified" db:"round_qualified" default:"0"`
	Code           string    `json:"code" db:"code"`
	IsBanned       bool      `json:"is_banned" db:"is_banned" default:"false"`
}

type JoinTeam

type JoinTeam struct {
	Code string `json:"code" validate:"required" `
}

type KickMember

type KickMember struct {
	UserID uuid.UUID `json:"id" validate:"required"`
}

type LeaveTeam

type LeaveTeam struct {
	Email string `json:"email" validate:"required"`
}

type LoginRequest

type LoginRequest struct {
	Email    string `json:"email"    validate:"required,email,endswith=@vitstudent.ac.in"`
	Password string `json:"password" validate:"required"`
}

type ResendOTP

type ResendOTP struct {
	Email string `json:"email" validate:"required,email,endswith=@vitstudent.ac.in"`
}

type Response

type Response struct {
	Status  string      `json:"status"`
	Message string      `json:"message"`
	Data    interface{} `json:"data"`
}

type ResponseData

type ResponseData struct {
	User UserData `json:"user"`
	Team TeamData `json:"team"`
}

type Round

type Round struct {
	Round          int `json:"round"`
	Design         int `json:"design"`
	Implementation int `json:"implementation"`
	Presentation   int `json:"presentation"`
	Innovation     int `json:"innovation"`
	Teamwork       int `json:"teamwork"`
	RoundTotal     int `json:"round_total"`
}

type SignupRequest

type SignupRequest struct {
	Email    string `json:"email"    validate:"required,email,endswith=@vitstudent.ac.in"`
	Password string `json:"password" validate:"required"`
}

type Team

type Team struct {
	ID             uuid.UUID `json:"team_id" db:"id"`
	Name           string    `json:"team_name" db:"name"`
	NumberOfPeople int64     `json:"number_of_people" db:"number_of_people"`
	Submission     uuid.UUID `json:"submission" db:"submission"`
	RoundQualified int       `json:"round_qualified" db:"round_qualified" default:"0"`
	Code           string    `json:"code" db:"code"`
	IsBanned       bool      `json:"is_banned" db:"is_banned" default:"false"`
}

type TeamData

type TeamData struct {
	Name           string       `json:"team_name"`
	NumberOfPeople int          `json:"number_of_people"`
	RoundQualified int          `json:"round_qualified"`
	Code           string       `json:"code"`
	Members        []TeamMember `json:"members"`
}

type TeamLeaderboard

type TeamLeaderboard struct {
	TeamID       uuid.UUID `json:"team_id"`
	TeamName     string    `json:"team_name"`
	Rounds       []Round   `json:"rounds"`
	OverallTotal int       `json:"overall_total"`
}

type TeamMember

type TeamMember struct {
	FirstName     string `json:"first_name"`
	LastName      string `json:"last_name"`
	GithubProfile string `json:"github_profile"`
	IsLeader      bool   `json:"is_leader"`
}

type TeamRoundQualified

type TeamRoundQualified struct {
	TeamId         uuid.UUID `json:"id" validate:"required"`
	RoundQualified int       `json:"round_qualified" validate:"required"`
}

type UnBanTeam

type UnBanTeam struct {
	TeamId uuid.UUID `json:"id" validate:"required"`
}

type UpdateGithub

type UpdateGithub struct {
	Github string `json:"github" validate:"required"`
}

type UpdateIdeaRequest

type UpdateIdeaRequest struct {
	Title       string `json:"title" validate:"required,min=3,max=100"`
	Description string `json:"description" validate:"required,min=10,max=1000"`
	Track       string `json:"track" validate:"required"`
}

type UpdatePasswordRequest

type UpdatePasswordRequest struct {
	Email       string `json:"email"        validate:"required,email,endswith=@vitstudent.ac.in"`
	NewPassword string `json:"new_password" validate:"required"`
	OTP         string `json:"otp"          validate:"required"`
}

type UpdateScore

type UpdateScore struct {
	Design         int    `json:"design" validate:"min=0,max=10"`
	Implementation int    `json:"implementation" validate:"min=0,max=10"`
	Presentation   int    `json:"presentation" validate:"min=0,max=10"`
	Round          int    `json:"round" validate:"required"`
	Innovation     int    `json:"innovation" validate:"min=0,max=10"`
	Teamwork       int    `json:"teamwork" validate:"min=0,max=10"`
	Comment        string `json:"comment"`
	TeamID         string `json:"team_id" validate:"uuid"`
}

type UpdateSubmissionRequest

type UpdateSubmissionRequest struct {
	Title       string `json:"title" validate:"required"`
	Description string `json:"description" validate:"required"`
	Track       string `json:"track" validate:"required"`
	GithubLink  string `json:"github_link"`
	FigmaLink   string `json:"figma_link"`
	OtherLink   string `json:"other_link"`
}

type UpdateTeamName

type UpdateTeamName struct {
	Name string `json:"name" validate:"required,alphanum"`
}

type UpdateUserRequest

type UpdateUserRequest struct {
	FirstName     string `json:"first_name" validate:"required"`
	LastName      string `json:"last_name" validate:"required"`
	PhoneNo       string `json:"phone_no" validate:"required,len=10"`
	Gender        string `json:"gender" validate:"required,len=1"`
	RegNo         string `json:"reg_no" validate:"required"`
	HostelBlock   string `json:"hostel_block" validate:"required"`
	RoomNumber    string `json:"room_no" validate:"required"`
	GithubProfile string `json:"github_profile" validate:"required,url"`
}

type User

type User struct {
	ID         uuid.UUID     `json:"id" db:"id"`
	Name       string        `json:"name" db:"name"`
	TeamID     uuid.NullUUID `json:"team_id" db:"team_id"`
	Email      string        `json:"email" db:"email"`
	IsVitian   bool          `json:"is_vitian" db:"is_vitian"`
	RegNo      string        `json:"reg_no" db:"reg_no"`
	Password   string        `json:"password" db:"password"`
	PhoneNo    string        `json:"phone_no" db:"phone_no"`
	IsLeader   bool          `json:"is_leader" db:"is_leader"`
	College    string        `json:"college" db:"college"`
	IsVerified bool          `json:"is_verified" db:"is_verified"`
}

type UserData

type UserData struct {
	FirstName     string      `json:"first_name"`
	LastName      string      `json:"last_name"`
	Email         string      `json:"email"`
	RegNo         string      `json:"reg_no"`
	PhoneNo       pgtype.Text `json:"phone_no"`
	Gender        string      `json:"gender"`
	GithubProfile string      `json:"github_profile"`
	IsLeader      bool        `json:"is_leader"`
	HostelBlock   string      `json:"hostel_block"`
	RoomNo        string      `json:"room_no"`
}

type VerifyOTPRequest

type VerifyOTPRequest struct {
	Email string `json:"email" validate:"required,email,endswith=@vitstudent.ac.in"`
	OTP   string `json:"otp"   validate:"required"`
}

Jump to

Keyboard shortcuts

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