models

package
v0.0.0-...-f3d60ce Latest Latest
Warning

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

Go to latest
Published: Apr 8, 2023 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Aluno

type Aluno struct {
	UniqueID             uint                  `json:"unique_id" gorm:"primaryKey"`
	Nome                 string                `json:"nome" gorm:"not null" validate:"required"`
	Cpf                  string                `json:"cpf" gorm:"not null;unique;column:cpf" validate:"required"`
	DisciplinaMatriculas []DisciplinaMatricula `json:"disciplina_matriculas"`
}

type Curso

type Curso struct {
	UniqueID          uint              `json:"unique_id" gorm:"primaryKey"`
	Nome              string            `json:"nome" gorm:"not null"`
	FaculdadeUniqueID uint              `json:"faculdade_unique_id" gorm:"not null"`
	Faculdade         Faculdade         `json:"faculdade" gorm:"foreignkey:FaculdadeUniqueID"`
	CursoDisciplinas  []CursoDisciplina `json:"curso_disciplinas"`
}

type CursoDisciplina

type CursoDisciplina struct {
	UniqueID             uint                  `json:"unique_id" gorm:"primaryKey"`
	CursoUniqueID        uint                  `json:"curso_unique_id" gorm:"not null;uniqueIndex:idx_curso_disciplina"`
	DisciplinaUniqueID   uint                  `json:"disciplina_unique_id" gorm:"not null;uniqueIndex:idx_curso_disciplina"`
	Curso                Curso                 `json:"curso" gorm:"foreignkey:CursoUniqueID"`
	Disciplina           Disciplina            `json:"disciplina" gorm:"foreignkey:DisciplinaUniqueID"`
	DisciplinaMatriculas []DisciplinaMatricula `json:"disciplina_matriculas"`
}

type Disciplina

type Disciplina struct {
	UniqueID          uint              `json:"unique_id" gorm:"primaryKey"`
	Nome              string            `json:"nome" gorm:"not null"`
	ProfessorUniqueID uint              `json:"professor_unique_id" gorm:"not null"`
	Professor         Professor         `json:"professor" gorm:"foreignkey:ProfessorUniqueID"`
	CursoDisciplinas  []CursoDisciplina `json:"curso_disciplinas"`
}

type DisciplinaMatricula

type DisciplinaMatricula struct {
	UniqueID                uint            `json:"unique_id" gorm:"primaryKey"`
	DataMatricula           time.Time       `json:"data_matricula" gorm:"not null"`
	CursoDisciplinaUniqueID uint            `json:"curso_disciplina_unique_id" gorm:"not null;uniqueIndex:idx_curso_disciplina_aluno"`
	AlunoUniqueID           uint            `json:"aluno_unique_id" gorm:"not null;uniqueIndex:idx_curso_disciplina_aluno"`
	CursoDisciplina         CursoDisciplina `json:"curso_disciplina" gorm:"foreignkey:CursoDisciplinaUniqueID"`
	Aluno                   Aluno           `json:"aluno" gorm:"foreignkey:AlunoUniqueID"`
}

type Faculdade

type Faculdade struct {
	UniqueID uint    `json:"unique_id" gorm:"primaryKey"`
	Nome     string  `json:"nome" gorm:"not null" validate:"required"`
	Cnpj     string  `json:"cnpj" gorm:"not null;unique;column:cnpj" validate:"required"`
	Cursos   []Curso `json:"cursos"`
}

type Professor

type Professor struct {
	UniqueID    uint         `json:"unique_id" gorm:"primaryKey"`
	Nome        string       `json:"nome" gorm:"not null" validate:"required"`
	Formacao    string       `json:"formacao" gorm:"not null" validate:"required"`
	Disciplinas []Disciplina `json:"disciplinas"`
}

Jump to

Keyboard shortcuts

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