domain

package
v0.0.0-...-32bbb43 Latest Latest
Warning

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

Go to latest
Published: Aug 26, 2021 License: Unlicense Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Account

type Account struct {
	ID       uint   `json:"id" gorm:"primaryKey"`
	Login    string `json:"login" gorm:"unique"`
	Email    string `json:"email" gorm:"unique"`
	Icon     string `json:"icon"`
	Password string `json:"password"`
	Role     string `json:"role"`

	Versions     []Version     `json:"versions" gorm:"foreignKey:Author"`
	Descriptions []Description `json:"descriptions" gorm:"foreignKey:Author"`
	Tests        []Test        `json:"tests" gorm:"foreignKey:Author"`
}

type AccountAPI

type AccountAPI struct {
	ID       uint   `json:"id"`
	Login    string `json:"login"`
	Password string `json:"password"`
	Email    string `json:"email"`
	Icon     string `json:"icon"`
	Role     string `json:"role"`
}

type AccountDTO

type AccountDTO struct {
	Login    string `json:"login"`
	Email    string `json:"email"`
	Password string `json:"password"`
	Icon     string `json:"icon"`
	Role     string `json:"role"`
}

type Description

type Description struct {
	ID             uint   `json:"id" gorm:"primaryKey"`
	Content        string `json:"content" gorm:"unique"`
	Author         uint   `json:"author"`
	Implementation string `json:"implementation"`
}

type DescriptionDTO

type DescriptionDTO struct {
	ID             uint   `json:"id"`
	Implementation string `json:"implementation"`
	Content        string `json:"content"`
}

type Implementation

type Implementation struct {
	Name       string `json:"name" gorm:"primaryKey"`
	LanguageID uint   `json:"language"`

	Versions    []Version      `json:"versions" gorm:"foreignKey:Implementation"`
	Description []Description  `json:"description" gorm:"foreignKey:Implementation"`
	InArgs      pq.StringArray `json:"in_args" gorm:"type:text[]"`
	OutArgs     pq.StringArray `json:"out_args" gorm:"type:text[]"`
}

type ImplementationDTO

type ImplementationDTO struct {
	Name            string `json:"name"`
	LanguageName    string `json:"language_name"`
	LanguageVersion string `json:"language_version"`
	Value           string `json:"value"`
	Index           uint   `json:"index"`
}

type Language

type Language struct {
	ID      uint   `json:"language_id" gorm:"primaryKey"`
	Name    string `json:"name" gorm:"index:lang_name_and_version,unique"`
	Version string `json:"version" gorm:"index:lang_name_and_version,unique"`

	Libraries       []Library        `json:"libraries" gorm:"foreignKey:LanguageID"`
	Implementations []Implementation `json:"implementations" gorm:"foreignKey:LanguageID"`
}

type LanguageDTO

type LanguageDTO struct {
	Name    string `json:"name"`
	Version string `json:"version"`
}

type Library

type Library struct {
	ID      uint   `json:"library_id" gorm:"primaryKey"`
	Name    string `json:"name" gorm:"index:lib_name_and_version,unique"`
	Version string `json:"version" gorm:"index:lib_name_and_version,unique"`

	LanguageID uint      `json:"language_id"`
	Versions   []Version `json:"versions" gorm:"many2many:version_libraries"`
}

type LibraryDTO

type LibraryDTO struct {
	Name            string `json:"name"`
	Version         string `json:"version"`
	LanguageName    string `json:"language_name"`
	LanguageVersion string `json:"language_version"`
}

type Tag

type Tag struct {
	ID       uint   `json:"id" gorm:"primaryKey"`
	Category string `json:"category"`
	Content  string `json:"content"`

	Versions []Version `json:"version" gorm:"many2many:version_tags"`
}

type Test

type Test struct {
	ID          uint           `json:"id" gorm:"primaryKey"`
	InArgs      pq.StringArray `json:"in_args" gorm:"type:text[]"`
	OutArgs     pq.StringArray `json:"out_args" gorm:"type:text[]"`
	Description string         `json:"description"`

	Implementation string `json:"implementation"`
	Author         uint   `json:"author"`
}

type TestDTO

type TestDTO struct {
	ID             uint   `json:"id"`
	Description    string `json:"description"`
	Implementation string `json:"implementation"`
	Author         uint   `json:"author"`
	Index          uint   `json:"index"`
	Value          string `json:"value"`
}

type Tree

type Tree struct {
	Name       string  `json:"name" gorm:"primaryKey"`
	Link       string  `json:"link"`
	ParentName *string `json:"parent_name"`

	Version Version `json:"version" gorm:"foreignKey:name"`
	Parent  *Tree   `json:"parent"`
}

type TreeMinimized

type TreeMinimized struct {
	Name       string  `json:"name"`
	Link       string  `json:"link"`
	ParentName *string `json:"parent_name"`
}

type Version

type Version struct {
	Name string    `json:"name" gorm:"primaryKey"`
	Code string    `json:"code"`
	Date time.Time `json:"date"`

	Author         uint      `json:"author"`
	Implementation string    `json:"implementation"`
	Tags           []Tag     `json:"versions" gorm:"many2many:version_tags"`
	Libraries      []Library `json:"libraries" gorm:"many2many:version_libraries"`
}

type VersionDTO

type VersionDTO struct {
	Name           string `json:"name"`
	Code           string `json:"code"`
	Link           string `json:"link"`
	Implementation string `json:"implementation"`
	LibraryName    string `json:"library_name"`
	LibraryVersion string `json:"library_version"`
	Category       string `json:"category"`
	Content        string `json:"content"`
}

Jump to

Keyboard shortcuts

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