110 lines
2.8 KiB
Go
110 lines
2.8 KiB
Go
|
package templ
|
||
|
|
||
|
import (
|
||
|
"log"
|
||
|
"strings"
|
||
|
|
||
|
"git.ymnuktech.ru/ymnuk/yt-gen-app/structs"
|
||
|
uuid "github.com/satori/go.uuid"
|
||
|
)
|
||
|
|
||
|
// Найти таблицу по имени
|
||
|
func FindSourceDataInDBByName(project *structs.Project, name string) *structs.Table /*uuid.UUID*/ {
|
||
|
if len(project.DB.Tables) == 0 {
|
||
|
//return uuid.Nil
|
||
|
return nil
|
||
|
}
|
||
|
for i := range project.DB.Tables {
|
||
|
if project.DB.Tables[i].Name == name {
|
||
|
//return project.DB.Tables[i].ID
|
||
|
return &project.DB.Tables[i]
|
||
|
}
|
||
|
}
|
||
|
//return uuid.Nil
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
// Найти ID поля по имени
|
||
|
func FindFieldIdInDBByName(project *structs.Project, tblID uuid.UUID, fldName string) uuid.UUID {
|
||
|
if len(project.DB.Tables) == 0 {
|
||
|
return uuid.Nil
|
||
|
}
|
||
|
for i := range project.DB.Tables {
|
||
|
if project.DB.Tables[i].ID == tblID {
|
||
|
for j := range project.DB.Tables[i].Fields {
|
||
|
if project.DB.Tables[i].Fields[j].Name == strings.ToLower(fldName) {
|
||
|
return project.DB.Tables[i].Fields[j].ID
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
return uuid.Nil
|
||
|
}
|
||
|
|
||
|
// Найти таблицу по ID
|
||
|
func FindSourceDataInDBByID(project *structs.Project, id uuid.UUID) *structs.Table {
|
||
|
if len(project.DB.Tables) == 0 {
|
||
|
return nil
|
||
|
}
|
||
|
for i := range project.DB.Tables {
|
||
|
if project.DB.Tables[i].ID == id {
|
||
|
//return project.DB.Tables[i].Name
|
||
|
return &project.DB.Tables[i]
|
||
|
}
|
||
|
}
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
// Найти имя поля в таблице по ID
|
||
|
func FindFieldNameInDBById(project *structs.Project, tblID uuid.UUID, fldId uuid.UUID) string {
|
||
|
if len(project.DB.Tables) == 0 {
|
||
|
return ""
|
||
|
}
|
||
|
for i := range project.DB.Tables {
|
||
|
if project.DB.Tables[i].ID == tblID {
|
||
|
for j := range project.DB.Tables[i].Fields {
|
||
|
if project.DB.Tables[i].Fields[j].ID == fldId {
|
||
|
return project.DB.Tables[i].Fields[j].Name
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
return ""
|
||
|
}
|
||
|
|
||
|
func FindSourceDataInInterfaceByName(project *structs.Project, name string) *structs.Interface {
|
||
|
// TODO
|
||
|
log.Fatal("Функция в разработки")
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
func FindSourceDataInInterfaceByID(project *structs.Project, id uuid.UUID) *structs.Interface {
|
||
|
// TODO
|
||
|
log.Fatal("Функция в разработки")
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
// Найти ID поля по имени
|
||
|
func FindFieldIdInInterfaceByName(project *structs.Project, tblID uuid.UUID, fldName string) *structs.Field {
|
||
|
// TODO
|
||
|
log.Fatal("Функция в разработки")
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
// Найти имя поля в интерфейсе по ID
|
||
|
func FindFieldNameInInterfaceById(project *structs.Project, tblID uuid.UUID, fldId uuid.UUID) string {
|
||
|
if len(project.DB.Tables) == 0 {
|
||
|
return ""
|
||
|
}
|
||
|
for i := range project.DB.Tables {
|
||
|
if project.DB.Tables[i].ID == tblID {
|
||
|
for j := range project.DB.Tables[i].Fields {
|
||
|
if project.DB.Tables[i].Fields[j].ID == fldId {
|
||
|
return project.DB.Tables[i].Fields[j].Name
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
return ""
|
||
|
}
|