You've already forked crud_generator
mirror of
https://github.com/ManyakRus/crud_generator.git
synced 2025-07-13 02:40:17 +02:00
сделал model_crud.go_
This commit is contained in:
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"
|
"encoding/json"
|
||||||
"github.com/vmihailenco/msgpack/v5"
|
"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/functions/calc_struct_version"
|
||||||
"gitlab.aescorp.ru/dsp_dev/claim/sync_service/pkg/object_model/entities"
|
|
||||||
"reflect"
|
"reflect"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -14,13 +13,6 @@ var versionLawsuitStatusType uint32
|
|||||||
// crud_LawsuitStatusType - объект контроллер crud операций
|
// crud_LawsuitStatusType - объект контроллер crud операций
|
||||||
var crud_LawsuitStatusType ICrud_LawsuitStatusType
|
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 {
|
type ICrud_LawsuitStatusType interface {
|
||||||
Read(*LawsuitStatusType) error
|
Read(*LawsuitStatusType) error
|
||||||
Save(*LawsuitStatusType) error
|
Save(*LawsuitStatusType) error
|
@ -27,6 +27,8 @@ type SettingsINI struct {
|
|||||||
NEED_CRUD bool
|
NEED_CRUD bool
|
||||||
NEED_GRPC bool
|
NEED_GRPC bool
|
||||||
NEED_NRPC bool
|
NEED_NRPC bool
|
||||||
|
NEED_CREATE_MODEL_STRUCT bool
|
||||||
|
NEED_CREATE_MODEL_CRUD bool
|
||||||
SERVICE_NAME string
|
SERVICE_NAME string
|
||||||
SERVICE_REPOSITORY_URL string
|
SERVICE_REPOSITORY_URL string
|
||||||
TEXT_TEMPLATE_MODEL string
|
TEXT_TEMPLATE_MODEL string
|
||||||
@ -38,6 +40,7 @@ type SettingsINI struct {
|
|||||||
USE_DEFAULT_TEMPLATE bool
|
USE_DEFAULT_TEMPLATE bool
|
||||||
REPOSITORY_URL_ALIAS string
|
REPOSITORY_URL_ALIAS string
|
||||||
PREFIX_SERVER_GRPC string
|
PREFIX_SERVER_GRPC string
|
||||||
|
COMMENT_MODEL_STRUCT string
|
||||||
}
|
}
|
||||||
|
|
||||||
// FillSettings загружает переменные окружения в структуру из переменных окружения
|
// FillSettings загружает переменные окружения в структуру из переменных окружения
|
||||||
@ -75,6 +78,12 @@ func FillSettings() {
|
|||||||
sNEED_NRPC := os.Getenv("NEED_NRPC")
|
sNEED_NRPC := os.Getenv("NEED_NRPC")
|
||||||
Settings.NEED_NRPC = BoolFromString(sNEED_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.SERVICE_NAME = os.Getenv("SERVICE_NAME")
|
||||||
Settings.READY_FOLDERNAME = strings.ToLower(Settings.SERVICE_NAME)
|
Settings.READY_FOLDERNAME = strings.ToLower(Settings.SERVICE_NAME)
|
||||||
|
|
||||||
@ -95,6 +104,7 @@ func FillSettings() {
|
|||||||
|
|
||||||
HAS_IS_DELETED := BoolFromString(sHAS_IS_DELETED)
|
HAS_IS_DELETED := BoolFromString(sHAS_IS_DELETED)
|
||||||
Settings.HAS_IS_DELETED = HAS_IS_DELETED
|
Settings.HAS_IS_DELETED = HAS_IS_DELETED
|
||||||
|
Settings.COMMENT_MODEL_STRUCT = os.Getenv("COMMENT_MODEL_STRUCT")
|
||||||
}
|
}
|
||||||
|
|
||||||
// CurrentDirectory - возвращает текущую директорию ОС
|
// CurrentDirectory - возвращает текущую директорию ОС
|
||||||
|
@ -355,7 +355,7 @@ func FindHasTimeColumn(Table1 *types.Table) bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// AddImportTime - добавляет покет в секцию Import, если его там нет
|
// AddImportTime - добавляет покет в секцию Import, если его там нет
|
||||||
func AddImportTime(TextModel string, Table1 *types.Table) string {
|
func AddImportTime(TextModel string) string {
|
||||||
Otvet := TextModel
|
Otvet := TextModel
|
||||||
|
|
||||||
//если уже есть импорт
|
//если уже есть импорт
|
||||||
@ -364,11 +364,6 @@ func AddImportTime(TextModel string, Table1 *types.Table) string {
|
|||||||
return Otvet
|
return Otvet
|
||||||
}
|
}
|
||||||
|
|
||||||
HasTimeColumn := FindHasTimeColumn(Table1)
|
|
||||||
if HasTimeColumn == false {
|
|
||||||
return Otvet
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
//
|
||||||
pos1 = strings.Index(Otvet, "import (")
|
pos1 = strings.Index(Otvet, "import (")
|
||||||
if pos1 < 0 {
|
if pos1 < 0 {
|
||||||
@ -380,3 +375,31 @@ func AddImportTime(TextModel string, Table1 *types.Table) string {
|
|||||||
|
|
||||||
return Otvet
|
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()
|
DirTemplatesModel := DirTemplates + config.Settings.TEMPLATE_FOLDERNAME_MODEL + micro.SeparatorFile()
|
||||||
DirReadyModel := DirReady + config.Settings.TEMPLATE_FOLDERNAME_MODEL + micro.SeparatorFile() + TableName + 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)
|
ok, err := micro.FileExists(DirReadyModel)
|
||||||
if ok == false {
|
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)
|
bytes, err := os.ReadFile(FilenameTemplateModel)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Panic("ReadFile() ", FilenameTemplateModel, " error: ", err)
|
log.Panic("ReadFile() ", FilenameTemplateModel, " error: ", err)
|
||||||
@ -73,7 +100,46 @@ func CreateFiles(Table1 *types.Table) error {
|
|||||||
}
|
}
|
||||||
TextModel = DeleteFuncFind_byExtID(TextModel, ModelName, Table1)
|
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)
|
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.FindSingularName(TableName)
|
||||||
ModelName = create_files.FormatName(ModelName)
|
ModelName = create_files.FormatName(ModelName)
|
||||||
Table1.NameGo = 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 {
|
type ` + ModelName + ` struct {
|
||||||
`
|
`
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user