mirror of
https://github.com/ManyakRus/crud_generator.git
synced 2025-01-01 13:21:20 +02:00
сделал model_crud.go_
This commit is contained in:
parent
e8a16a50f0
commit
b553009346
13
bin/templates/pkg/object_model/entities/model.go_
Normal file
13
bin/templates/pkg/object_model/entities/model.go_
Normal file
@ -0,0 +1,13 @@
|
||||
package lawsuit_status_types
|
||||
|
||||
import (
|
||||
"gitlab.aescorp.ru/dsp_dev/claim/sync_service/pkg/object_model/entities"
|
||||
)
|
||||
|
||||
// LawsuitStatusType
|
||||
type LawsuitStatusType struct {
|
||||
entities.CommonStruct
|
||||
entities.NameStruct
|
||||
Code string `json:"code" gorm:"column:code;default:0"`
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import (
|
||||
"encoding/json"
|
||||
"github.com/vmihailenco/msgpack/v5"
|
||||
"gitlab.aescorp.ru/dsp_dev/claim/sync_service/pkg/functions/calc_struct_version"
|
||||
"gitlab.aescorp.ru/dsp_dev/claim/sync_service/pkg/object_model/entities"
|
||||
"reflect"
|
||||
)
|
||||
|
||||
@ -14,13 +13,6 @@ var versionLawsuitStatusType uint32
|
||||
// crud_LawsuitStatusType - объект контроллер crud операций
|
||||
var crud_LawsuitStatusType ICrud_LawsuitStatusType
|
||||
|
||||
// LawsuitStatusType
|
||||
type LawsuitStatusType struct {
|
||||
entities.CommonStruct
|
||||
entities.NameStruct
|
||||
Code string `json:"code" gorm:"column:code;default:0"`
|
||||
}
|
||||
|
||||
type ICrud_LawsuitStatusType interface {
|
||||
Read(*LawsuitStatusType) error
|
||||
Save(*LawsuitStatusType) error
|
@ -27,6 +27,8 @@ type SettingsINI struct {
|
||||
NEED_CRUD bool
|
||||
NEED_GRPC bool
|
||||
NEED_NRPC bool
|
||||
NEED_CREATE_MODEL_STRUCT bool
|
||||
NEED_CREATE_MODEL_CRUD bool
|
||||
SERVICE_NAME string
|
||||
SERVICE_REPOSITORY_URL string
|
||||
TEXT_TEMPLATE_MODEL string
|
||||
@ -38,6 +40,7 @@ type SettingsINI struct {
|
||||
USE_DEFAULT_TEMPLATE bool
|
||||
REPOSITORY_URL_ALIAS string
|
||||
PREFIX_SERVER_GRPC string
|
||||
COMMENT_MODEL_STRUCT string
|
||||
}
|
||||
|
||||
// FillSettings загружает переменные окружения в структуру из переменных окружения
|
||||
@ -75,6 +78,12 @@ func FillSettings() {
|
||||
sNEED_NRPC := os.Getenv("NEED_NRPC")
|
||||
Settings.NEED_NRPC = BoolFromString(sNEED_NRPC)
|
||||
|
||||
sNEED_CREATE_MODEL_STRUCT := os.Getenv("NEED_CREATE_MODEL_STRUCT")
|
||||
Settings.NEED_CREATE_MODEL_STRUCT = BoolFromString(sNEED_CREATE_MODEL_STRUCT)
|
||||
|
||||
sNEED_CREATE_MODEL_CRUD := os.Getenv("NEED_CREATE_MODEL_CRUD")
|
||||
Settings.NEED_CREATE_MODEL_CRUD = BoolFromString(sNEED_CREATE_MODEL_CRUD)
|
||||
|
||||
Settings.SERVICE_NAME = os.Getenv("SERVICE_NAME")
|
||||
Settings.READY_FOLDERNAME = strings.ToLower(Settings.SERVICE_NAME)
|
||||
|
||||
@ -95,6 +104,7 @@ func FillSettings() {
|
||||
|
||||
HAS_IS_DELETED := BoolFromString(sHAS_IS_DELETED)
|
||||
Settings.HAS_IS_DELETED = HAS_IS_DELETED
|
||||
Settings.COMMENT_MODEL_STRUCT = os.Getenv("COMMENT_MODEL_STRUCT")
|
||||
}
|
||||
|
||||
// CurrentDirectory - возвращает текущую директорию ОС
|
||||
|
@ -355,7 +355,7 @@ func FindHasTimeColumn(Table1 *types.Table) bool {
|
||||
}
|
||||
|
||||
// AddImportTime - добавляет покет в секцию Import, если его там нет
|
||||
func AddImportTime(TextModel string, Table1 *types.Table) string {
|
||||
func AddImportTime(TextModel string) string {
|
||||
Otvet := TextModel
|
||||
|
||||
//если уже есть импорт
|
||||
@ -364,11 +364,6 @@ func AddImportTime(TextModel string, Table1 *types.Table) string {
|
||||
return Otvet
|
||||
}
|
||||
|
||||
HasTimeColumn := FindHasTimeColumn(Table1)
|
||||
if HasTimeColumn == false {
|
||||
return Otvet
|
||||
}
|
||||
|
||||
//
|
||||
pos1 = strings.Index(Otvet, "import (")
|
||||
if pos1 < 0 {
|
||||
@ -380,3 +375,31 @@ func AddImportTime(TextModel string, Table1 *types.Table) string {
|
||||
|
||||
return Otvet
|
||||
}
|
||||
|
||||
// CheckAndAddImportTime_FromTable - добавляет пакет "time" в секцию Import, если его там нет
|
||||
func CheckAndAddImportTime_FromTable(TextModel string, Table1 *types.Table) string {
|
||||
Otvet := TextModel
|
||||
|
||||
HasTimeColumn := FindHasTimeColumn(Table1)
|
||||
if HasTimeColumn == false {
|
||||
return Otvet
|
||||
}
|
||||
|
||||
Otvet = AddImportTime(Otvet)
|
||||
|
||||
return Otvet
|
||||
}
|
||||
|
||||
// CheckAndAddImportTime_FromText - добавляет пакет "time" в секцию Import, если его там нет
|
||||
func CheckAndAddImportTime_FromText(Text string) string {
|
||||
Otvet := Text
|
||||
|
||||
pos1 := strings.Index(Text, " time.")
|
||||
if pos1 < 0 {
|
||||
return Otvet
|
||||
}
|
||||
|
||||
Otvet = AddImportTime(Otvet)
|
||||
|
||||
return Otvet
|
||||
}
|
||||
|
@ -40,9 +40,6 @@ func CreateFiles(Table1 *types.Table) error {
|
||||
DirTemplatesModel := DirTemplates + config.Settings.TEMPLATE_FOLDERNAME_MODEL + micro.SeparatorFile()
|
||||
DirReadyModel := DirReady + config.Settings.TEMPLATE_FOLDERNAME_MODEL + micro.SeparatorFile() + TableName + micro.SeparatorFile()
|
||||
|
||||
FilenameTemplateModel := DirTemplatesModel + "entities.go_"
|
||||
FilenameReadyModel := DirReadyModel + TableName + ".go"
|
||||
|
||||
//создадим каталог
|
||||
ok, err := micro.FileExists(DirReadyModel)
|
||||
if ok == false {
|
||||
@ -52,6 +49,36 @@ func CreateFiles(Table1 *types.Table) error {
|
||||
}
|
||||
}
|
||||
|
||||
// создание файла struct
|
||||
if config.Settings.NEED_CREATE_MODEL_STRUCT == true {
|
||||
err = CreateFilesModel_struct(Table1, DirTemplatesModel, DirReadyModel)
|
||||
if err != nil {
|
||||
log.Error("CreateFilesModel_struct() table: ", Table1.Name, " error: ", err)
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
// создание файла crud
|
||||
if config.Settings.NEED_CREATE_MODEL_CRUD == true {
|
||||
err = CreateFilesModel_crud(Table1, DirTemplatesModel, DirReadyModel)
|
||||
if err != nil {
|
||||
log.Error("CreateFilesModel_struct() table: ", Table1.Name, " error: ", err)
|
||||
return err
|
||||
}
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
// CreateFilesModel_struct - создаёт 1 файл со структурой в папке model
|
||||
func CreateFilesModel_struct(Table1 *types.Table, DirTemplatesModel, DirReadyModel string) error {
|
||||
var err error
|
||||
var ModelName string
|
||||
|
||||
TableName := strings.ToLower(Table1.Name)
|
||||
FilenameTemplateModel := DirTemplatesModel + "model.go_"
|
||||
FilenameReadyModel := DirReadyModel + TableName + ".go"
|
||||
|
||||
//чтение файла шаблона
|
||||
bytes, err := os.ReadFile(FilenameTemplateModel)
|
||||
if err != nil {
|
||||
log.Panic("ReadFile() ", FilenameTemplateModel, " error: ", err)
|
||||
@ -73,7 +100,46 @@ func CreateFiles(Table1 *types.Table) error {
|
||||
}
|
||||
TextModel = DeleteFuncFind_byExtID(TextModel, ModelName, Table1)
|
||||
|
||||
TextModel = create_files.AddImportTime(TextModel, Table1)
|
||||
TextModel = create_files.CheckAndAddImportTime_FromTable(TextModel, Table1)
|
||||
TextModel = create_files.DeleteImportModel(TextModel)
|
||||
|
||||
//запись файла
|
||||
err = os.WriteFile(FilenameReadyModel, []byte(TextModel), constants.FILE_PERMISSIONS)
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
// CreateFilesModel_crud - создаёт 1 файл с crud операциями
|
||||
func CreateFilesModel_crud(Table1 *types.Table, DirTemplatesModel, DirReadyModel string) error {
|
||||
var err error
|
||||
|
||||
ModelName := Table1.NameGo
|
||||
|
||||
TableName := strings.ToLower(Table1.Name)
|
||||
FilenameTemplateModel := DirTemplatesModel + "model_crud.go_"
|
||||
FilenameReadyModel := DirReadyModel + TableName + "_crud.go"
|
||||
|
||||
//чтение файла шаблона
|
||||
bytes, err := os.ReadFile(FilenameTemplateModel)
|
||||
if err != nil {
|
||||
log.Panic("ReadFile() ", FilenameTemplateModel, " error: ", err)
|
||||
}
|
||||
TextModel := string(bytes)
|
||||
|
||||
//создание текста
|
||||
|
||||
//
|
||||
TextModel = strings.ReplaceAll(TextModel, config.Settings.TEXT_TEMPLATE_MODEL, ModelName)
|
||||
TextModel = strings.ReplaceAll(TextModel, config.Settings.TEXT_TEMPLATE_TABLENAME, Table1.Name)
|
||||
TextModel = constants.TEXT_GENERATED + TextModel
|
||||
|
||||
if config.Settings.HAS_IS_DELETED == true {
|
||||
TextModel = DeleteFuncDelete(TextModel, ModelName, Table1)
|
||||
TextModel = DeleteFuncRestore(TextModel, ModelName, Table1)
|
||||
}
|
||||
TextModel = DeleteFuncFind_byExtID(TextModel, ModelName, Table1)
|
||||
|
||||
TextModel = create_files.CheckAndAddImportTime_FromText(TextModel)
|
||||
TextModel = create_files.DeleteImportModel(TextModel)
|
||||
|
||||
//запись файла
|
||||
@ -92,8 +158,9 @@ func FindTextModelStruct(TextModel string, Table1 *types.Table) (string, string,
|
||||
ModelName = create_files.FindSingularName(TableName)
|
||||
ModelName = create_files.FormatName(ModelName)
|
||||
Table1.NameGo = ModelName
|
||||
COMMENT_MODEL_STRUCT := config.Settings.COMMENT_MODEL_STRUCT
|
||||
|
||||
Otvet = `// ` + ModelName + ` - model from table ` + TableName + `: ` + Table1.Comment + `
|
||||
Otvet = `// ` + ModelName + ` - ` + COMMENT_MODEL_STRUCT + TableName + `: ` + Table1.Comment + `
|
||||
type ` + ModelName + ` struct {
|
||||
`
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user