mirror of
https://github.com/ManyakRus/crud_generator.git
synced 2024-12-22 00:36:41 +02:00
сделал STARTER_TABLES_MANUAL_FILENAME
This commit is contained in:
parent
abc476711b
commit
4d7b0d3631
@ -136,6 +136,9 @@ NEED_CREATE_NRPC_SERVER_TEST=true
|
|||||||
#NEED_CREATE_NRPC_CLIENT_TEST - fill "true" if you want create NRPC client _test.go files
|
#NEED_CREATE_NRPC_CLIENT_TEST - fill "true" if you want create NRPC client _test.go files
|
||||||
NEED_CREATE_NRPC_CLIENT_TEST=true
|
NEED_CREATE_NRPC_CLIENT_TEST=true
|
||||||
|
|
||||||
|
#NEED_CREATE_MANUAL_FILES - fill "true" if you want create "_manual.go" files, intended for user manual changes
|
||||||
|
NEED_CREATE_MANUAL_FILES=true
|
||||||
|
|
||||||
#PREFIX_SERVER_GRPC - filename prefix for grpc server files
|
#PREFIX_SERVER_GRPC - filename prefix for grpc server files
|
||||||
PREFIX_SERVER_GRPC="server_grpc_"
|
PREFIX_SERVER_GRPC="server_grpc_"
|
||||||
|
|
||||||
|
@ -0,0 +1,12 @@
|
|||||||
|
package crud_starter_lawsuit_status_types
|
||||||
|
|
||||||
|
import (
|
||||||
|
"gitlab.aescorp.ru/dsp_dev/claim/sync_service/pkg/object_model/entities/lawsuit_status_types"
|
||||||
|
)
|
||||||
|
|
||||||
|
// SetCrudManualInterface - заполняет интерфейс crud: DB, GRPC, NRPC
|
||||||
|
func SetCrudManualInterface(crud lawsuit_status_types.ICrud_manual_LawsuitStatusType) {
|
||||||
|
lawsuit_status_types.Crud_manual_LawsuitStatusType = crud
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
@ -0,0 +1,19 @@
|
|||||||
|
package crud_starter_lawsuit_status_types
|
||||||
|
|
||||||
|
import (
|
||||||
|
"gitlab.aescorp.ru/dsp_dev/claim/sync_service/pkg/db/crud/crud_starter_lawsuit_status_types"
|
||||||
|
"gitlab.aescorp.ru/dsp_dev/claim/sync_service/pkg/object_model/entities/lawsuit_status_types"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestSetCrudManualInterface(t *testing.T) {
|
||||||
|
|
||||||
|
crud := crud_lawsuit_status_types.Crud_DB{}
|
||||||
|
|
||||||
|
SetCrudManualInterface(crud)
|
||||||
|
|
||||||
|
// Test that the crud variable is set correctly
|
||||||
|
if employees.Crud_manual_LawsuitStatusType != crud {
|
||||||
|
t.Errorf("Expected lawsuit_status_types.Crud_manual_LawsuitStatusType to be set to crud, but got %+v", lawsuit_status_types.Crud_manual_LawsuitStatusType)
|
||||||
|
}
|
||||||
|
}
|
@ -47,6 +47,7 @@ type SettingsINI struct {
|
|||||||
NEED_CREATE_NRPC bool
|
NEED_CREATE_NRPC bool
|
||||||
NEED_CREATE_NRPC_SERVER_TEST bool
|
NEED_CREATE_NRPC_SERVER_TEST bool
|
||||||
NEED_CREATE_NRPC_CLIENT_TEST bool
|
NEED_CREATE_NRPC_CLIENT_TEST bool
|
||||||
|
NEED_CREATE_MANUAL_FILES bool
|
||||||
SERVICE_NAME string
|
SERVICE_NAME string
|
||||||
SERVICE_REPOSITORY_URL string
|
SERVICE_REPOSITORY_URL string
|
||||||
TEXT_TEMPLATE_MODEL string
|
TEXT_TEMPLATE_MODEL string
|
||||||
@ -167,6 +168,7 @@ func FillSettings() {
|
|||||||
Settings.TEMPLATE_FOLDER_CRUD_FUNCTIONS = os.Getenv("TEMPLATE_FOLDER_CRUD_FUNCTIONS")
|
Settings.TEMPLATE_FOLDER_CRUD_FUNCTIONS = os.Getenv("TEMPLATE_FOLDER_CRUD_FUNCTIONS")
|
||||||
Settings.TEMPLATE_EXTERNAL_PROTO_FILENAME = os.Getenv("TEMPLATE_EXTERNAL_PROTO_FILENAME")
|
Settings.TEMPLATE_EXTERNAL_PROTO_FILENAME = os.Getenv("TEMPLATE_EXTERNAL_PROTO_FILENAME")
|
||||||
Settings.TEMPLATE_FOLDERNAME_GRPC_NRPC = os.Getenv("TEMPLATE_FOLDERNAME_GRPC_NRPC")
|
Settings.TEMPLATE_FOLDERNAME_GRPC_NRPC = os.Getenv("TEMPLATE_FOLDERNAME_GRPC_NRPC")
|
||||||
|
Settings.NEED_CREATE_MANUAL_FILES = BoolFromString(os.Getenv("NEED_CREATE_MANUAL_FILES"))
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -39,6 +39,10 @@ const MAKEFILE_FILENAME = "Makefile"
|
|||||||
const ENV_FILENAME = ".env"
|
const ENV_FILENAME = ".env"
|
||||||
|
|
||||||
const STARTER_TABLES_FILENAME = "starter_tables.go_"
|
const STARTER_TABLES_FILENAME = "starter_tables.go_"
|
||||||
const STARTER_TABLES_FILENAME_TEST = "starter_tables_test.go_"
|
const STARTER_TABLES_TEST_FILENAME = "starter_tables_test.go_"
|
||||||
|
const STARTER_TABLES_MANUAL_FILENAME = "starter_tables_manual.go_"
|
||||||
|
const STARTER_TABLES_TEST_MANUAL_FILENAME = "starter_tables_manual_test.go_"
|
||||||
const STARTER_TABLES_PREFIX = "crud_starter_"
|
const STARTER_TABLES_PREFIX = "crud_starter_"
|
||||||
const CRUD_TABLES_FREFIX = "crud_"
|
const CRUD_TABLES_FREFIX = "crud_"
|
||||||
|
|
||||||
|
const MODEL_TABLE_MANUAL_FILENAME = "model_table_manual.go_"
|
||||||
|
@ -32,6 +32,7 @@ func CreateAllFiles(MapAll map[string]*types.Table) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//тестовые файлы starter
|
//тестовые файлы starter
|
||||||
if config.Settings.NEED_CREATE_DB_TEST == true {
|
if config.Settings.NEED_CREATE_DB_TEST == true {
|
||||||
err = CreateTestFiles(Table1)
|
err = CreateTestFiles(Table1)
|
||||||
@ -40,6 +41,20 @@ func CreateAllFiles(MapAll map[string]*types.Table) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// создание файла manual
|
||||||
|
if config.Settings.NEED_CREATE_MANUAL_FILES == true {
|
||||||
|
err = CreateFiles_manual(Table1)
|
||||||
|
if err != nil {
|
||||||
|
log.Error("CreateFilesModel_manual() table: ", Table1.Name, " error: ", err)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
err = CreateFiles_manual_test(Table1)
|
||||||
|
if err != nil {
|
||||||
|
log.Error("CreateFiles_manual_test() table: ", Table1.Name, " error: ", err)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return err
|
return err
|
||||||
@ -119,7 +134,7 @@ func CreateTestFiles(Table1 *types.Table) error {
|
|||||||
DirTemplatesDB := DirTemplates + config.Settings.TEMPLATE_FOLDERNAME_CRUD_STARTER + micro.SeparatorFile() + "starter_tables" + micro.SeparatorFile()
|
DirTemplatesDB := DirTemplates + config.Settings.TEMPLATE_FOLDERNAME_CRUD_STARTER + micro.SeparatorFile() + "starter_tables" + micro.SeparatorFile()
|
||||||
DirReadyDB := DirReady + config.Settings.TEMPLATE_FOLDERNAME_CRUD_STARTER + micro.SeparatorFile()
|
DirReadyDB := DirReady + config.Settings.TEMPLATE_FOLDERNAME_CRUD_STARTER + micro.SeparatorFile()
|
||||||
|
|
||||||
FilenameTemplateDB := DirTemplatesDB + constants.STARTER_TABLES_FILENAME_TEST
|
FilenameTemplateDB := DirTemplatesDB + constants.STARTER_TABLES_TEST_FILENAME
|
||||||
DirReadyTable := DirReadyDB + constants.STARTER_TABLES_PREFIX + TableName
|
DirReadyTable := DirReadyDB + constants.STARTER_TABLES_PREFIX + TableName
|
||||||
FilenameReadyDB := DirReadyTable + micro.SeparatorFile() + constants.STARTER_TABLES_PREFIX + TableName + "_test.go"
|
FilenameReadyDB := DirReadyTable + micro.SeparatorFile() + constants.STARTER_TABLES_PREFIX + TableName + "_test.go"
|
||||||
|
|
||||||
@ -161,3 +176,130 @@ func CreateTestFiles(Table1 *types.Table) error {
|
|||||||
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// CreateFiles_manual - создаёт 1 файл в папке crud_starter
|
||||||
|
func CreateFiles_manual(Table1 *types.Table) error {
|
||||||
|
var err error
|
||||||
|
|
||||||
|
//чтение файлов
|
||||||
|
DirBin := micro.ProgramDir_bin()
|
||||||
|
DirTemplates := DirBin + config.Settings.TEMPLATE_FOLDERNAME + micro.SeparatorFile()
|
||||||
|
DirReady := DirBin + config.Settings.READY_FOLDERNAME + micro.SeparatorFile()
|
||||||
|
DirTemplatesDB := DirTemplates + config.Settings.TEMPLATE_FOLDERNAME_CRUD_STARTER + micro.SeparatorFile() + "starter_tables" + micro.SeparatorFile()
|
||||||
|
DirReadyDB := DirReady + config.Settings.TEMPLATE_FOLDERNAME_CRUD_STARTER + micro.SeparatorFile()
|
||||||
|
|
||||||
|
FilenameTemplateDB := DirTemplatesDB + constants.STARTER_TABLES_MANUAL_FILENAME
|
||||||
|
TableName := strings.ToLower(Table1.Name)
|
||||||
|
DirReadyTable := DirReadyDB + constants.STARTER_TABLES_PREFIX + TableName
|
||||||
|
FilenameReadyManual := DirReadyTable + micro.SeparatorFile() + constants.STARTER_TABLES_PREFIX + TableName + "_manual.go"
|
||||||
|
|
||||||
|
//создадим каталог
|
||||||
|
ok, err := micro.FileExists(DirReadyTable)
|
||||||
|
if ok == false {
|
||||||
|
err = os.MkdirAll(DirReadyTable, 0777)
|
||||||
|
if err != nil {
|
||||||
|
log.Panic("Mkdir() ", DirReadyTable, " error: ", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bytes, err := os.ReadFile(FilenameTemplateDB)
|
||||||
|
if err != nil {
|
||||||
|
log.Panic("ReadFile() ", FilenameTemplateDB, " error: ", err)
|
||||||
|
}
|
||||||
|
TextManual := string(bytes)
|
||||||
|
|
||||||
|
//заменим имя пакета на новое
|
||||||
|
TextManual = create_files.ReplacePackageName(TextManual, DirReadyTable)
|
||||||
|
|
||||||
|
//заменим импорты
|
||||||
|
if config.Settings.USE_DEFAULT_TEMPLATE == true {
|
||||||
|
TextManual = create_files.DeleteTemplateRepositoryImports(TextManual)
|
||||||
|
|
||||||
|
ModelTableURL := create_files.FindModelTableURL(TableName)
|
||||||
|
TextManual = create_files.AddImport(TextManual, ModelTableURL)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//создание текста
|
||||||
|
ModelName := Table1.NameGo
|
||||||
|
TextManual = strings.ReplaceAll(TextManual, config.Settings.TEXT_TEMPLATE_MODEL, ModelName)
|
||||||
|
TextManual = strings.ReplaceAll(TextManual, config.Settings.TEXT_TEMPLATE_TABLENAME, Table1.Name)
|
||||||
|
TextManual = TextManual
|
||||||
|
|
||||||
|
//замена импортов на новые URL
|
||||||
|
TextManual = create_files.ReplaceServiceURLImports(TextManual)
|
||||||
|
|
||||||
|
//удаление пустого импорта
|
||||||
|
TextManual = create_files.DeleteEmptyImport(TextManual)
|
||||||
|
|
||||||
|
//запись файла
|
||||||
|
err = os.WriteFile(FilenameReadyManual, []byte(TextManual), constants.FILE_PERMISSIONS)
|
||||||
|
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// CreateFiles_manual_test - создаёт 1 файл в папке crud_starter
|
||||||
|
func CreateFiles_manual_test(Table1 *types.Table) error {
|
||||||
|
var err error
|
||||||
|
|
||||||
|
//чтение файлов
|
||||||
|
DirBin := micro.ProgramDir_bin()
|
||||||
|
DirTemplates := DirBin + config.Settings.TEMPLATE_FOLDERNAME + micro.SeparatorFile()
|
||||||
|
DirReady := DirBin + config.Settings.READY_FOLDERNAME + micro.SeparatorFile()
|
||||||
|
DirTemplatesDB := DirTemplates + config.Settings.TEMPLATE_FOLDERNAME_CRUD_STARTER + micro.SeparatorFile() + "starter_tables" + micro.SeparatorFile()
|
||||||
|
DirReadyDB := DirReady + config.Settings.TEMPLATE_FOLDERNAME_CRUD_STARTER + micro.SeparatorFile()
|
||||||
|
|
||||||
|
FilenameTemplateDB := DirTemplatesDB + constants.STARTER_TABLES_TEST_MANUAL_FILENAME
|
||||||
|
TableName := strings.ToLower(Table1.Name)
|
||||||
|
DirReadyTable := DirReadyDB + constants.STARTER_TABLES_PREFIX + TableName
|
||||||
|
FilenameReadyManual := DirReadyTable + micro.SeparatorFile() + constants.STARTER_TABLES_PREFIX + TableName + "_manual_test.go"
|
||||||
|
|
||||||
|
//создадим каталог
|
||||||
|
ok, err := micro.FileExists(DirReadyTable)
|
||||||
|
if ok == false {
|
||||||
|
err = os.MkdirAll(DirReadyTable, 0777)
|
||||||
|
if err != nil {
|
||||||
|
log.Panic("Mkdir() ", DirReadyTable, " error: ", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bytes, err := os.ReadFile(FilenameTemplateDB)
|
||||||
|
if err != nil {
|
||||||
|
log.Panic("ReadFile() ", FilenameTemplateDB, " error: ", err)
|
||||||
|
}
|
||||||
|
TextManual := string(bytes)
|
||||||
|
|
||||||
|
//заменим имя пакета на новое
|
||||||
|
TextManual = create_files.ReplacePackageName(TextManual, DirReadyTable)
|
||||||
|
|
||||||
|
//заменим импорты
|
||||||
|
if config.Settings.USE_DEFAULT_TEMPLATE == true {
|
||||||
|
TextManual = create_files.DeleteTemplateRepositoryImports(TextManual)
|
||||||
|
|
||||||
|
//
|
||||||
|
ModelTableURL := create_files.FindModelTableURL(TableName)
|
||||||
|
TextManual = create_files.AddImport(TextManual, ModelTableURL)
|
||||||
|
|
||||||
|
//
|
||||||
|
CrudStarterTableURL := create_files.FindCrudStarterTableURL(TableName)
|
||||||
|
TextManual = create_files.AddImport(TextManual, CrudStarterTableURL)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//создание текста
|
||||||
|
ModelName := Table1.NameGo
|
||||||
|
TextManual = strings.ReplaceAll(TextManual, config.Settings.TEXT_TEMPLATE_MODEL, ModelName)
|
||||||
|
TextManual = strings.ReplaceAll(TextManual, config.Settings.TEXT_TEMPLATE_TABLENAME, Table1.Name)
|
||||||
|
TextManual = TextManual
|
||||||
|
|
||||||
|
//замена импортов на новые URL
|
||||||
|
TextManual = create_files.ReplaceServiceURLImports(TextManual)
|
||||||
|
|
||||||
|
//удаление пустого импорта
|
||||||
|
TextManual = create_files.DeleteEmptyImport(TextManual)
|
||||||
|
|
||||||
|
//запись файла
|
||||||
|
err = os.WriteFile(FilenameReadyManual, []byte(TextManual), constants.FILE_PERMISSIONS)
|
||||||
|
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
@ -1 +0,0 @@
|
|||||||
package model
|
|
@ -1,4 +1,4 @@
|
|||||||
package model
|
package model_tables
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
@ -18,6 +18,7 @@ import (
|
|||||||
func CreateAllFiles(MapAll map[string]*types.Table) error {
|
func CreateAllFiles(MapAll map[string]*types.Table) error {
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
|
//для каждой таблицы
|
||||||
for _, table1 := range MapAll {
|
for _, table1 := range MapAll {
|
||||||
err = CreateFiles(table1)
|
err = CreateFiles(table1)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -58,10 +59,20 @@ func CreateFiles(Table1 *types.Table) error {
|
|||||||
if config.Settings.NEED_CREATE_MODEL_CRUD == true {
|
if config.Settings.NEED_CREATE_MODEL_CRUD == true {
|
||||||
err = CreateFilesModel_crud(Table1, DirTemplatesModel, DirReadyModel)
|
err = CreateFilesModel_crud(Table1, DirTemplatesModel, DirReadyModel)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("CreateFilesModel_struct() table: ", Table1.Name, " error: ", err)
|
log.Error("CreateFilesModel_crud() table: ", Table1.Name, " error: ", err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// создание файла manual
|
||||||
|
if config.Settings.NEED_CREATE_MANUAL_FILES == true {
|
||||||
|
err = CreateFilesModel_manual(Table1, DirTemplatesModel, DirReadyModel)
|
||||||
|
if err != nil {
|
||||||
|
log.Error("CreateFilesModel_manual() table: ", Table1.Name, " error: ", err)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -453,3 +464,46 @@ func DeleteFromInterfaceFind_ByExtID(TextModel string, Table1 *types.Table) stri
|
|||||||
|
|
||||||
return Otvet
|
return Otvet
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// CreateFilesModel_manual - создаёт 1 файл с _manual.go
|
||||||
|
func CreateFilesModel_manual(Table1 *types.Table, DirTemplatesModel, DirReadyModel string) error {
|
||||||
|
var err error
|
||||||
|
|
||||||
|
//
|
||||||
|
ModelName := Table1.NameGo
|
||||||
|
|
||||||
|
TableName := strings.ToLower(Table1.Name)
|
||||||
|
FilenameTemplateModel := DirTemplatesModel + constants.MODEL_TABLE_MANUAL_FILENAME
|
||||||
|
FilenameReadyModel := DirReadyModel + TableName + "_manual.go"
|
||||||
|
|
||||||
|
//чтение файла шаблона
|
||||||
|
bytes, err := os.ReadFile(FilenameTemplateModel)
|
||||||
|
if err != nil {
|
||||||
|
log.Panic("ReadFile() ", FilenameTemplateModel, " error: ", err)
|
||||||
|
}
|
||||||
|
TextModel := string(bytes)
|
||||||
|
|
||||||
|
//заменим имя пакета на новое
|
||||||
|
TextModel = create_files.ReplacePackageName(TextModel, DirReadyModel)
|
||||||
|
|
||||||
|
//заменим импорты
|
||||||
|
if config.Settings.USE_DEFAULT_TEMPLATE == true {
|
||||||
|
//TextModel = create_files.DeleteTemplateRepositoryImports(TextModel)
|
||||||
|
}
|
||||||
|
|
||||||
|
//создание текста
|
||||||
|
TextModel = strings.ReplaceAll(TextModel, config.Settings.TEXT_TEMPLATE_MODEL, ModelName)
|
||||||
|
TextModel = strings.ReplaceAll(TextModel, config.Settings.TEXT_TEMPLATE_TABLENAME, Table1.Name)
|
||||||
|
//TextModel = config.Settings.TEXT_MODULE_GENERATED + TextModel
|
||||||
|
|
||||||
|
//замена импортов на новые URL
|
||||||
|
TextModel = create_files.ReplaceServiceURLImports(TextModel)
|
||||||
|
|
||||||
|
//удаление пустого импорта
|
||||||
|
TextModel = create_files.DeleteEmptyImport(TextModel)
|
||||||
|
|
||||||
|
//запись файла
|
||||||
|
err = os.WriteFile(FilenameReadyModel, []byte(TextModel), constants.FILE_PERMISSIONS)
|
||||||
|
|
||||||
|
return err
|
||||||
|
}
|
1
internal/create_files/model_tables/model_tables_test.go
Normal file
1
internal/create_files/model_tables/model_tables_test.go
Normal file
@ -0,0 +1 @@
|
|||||||
|
package model_tables
|
@ -13,7 +13,7 @@ import (
|
|||||||
"github.com/ManyakRus/crud_generator/internal/create_files/grpc_server_tables"
|
"github.com/ManyakRus/crud_generator/internal/create_files/grpc_server_tables"
|
||||||
"github.com/ManyakRus/crud_generator/internal/create_files/main_file"
|
"github.com/ManyakRus/crud_generator/internal/create_files/main_file"
|
||||||
"github.com/ManyakRus/crud_generator/internal/create_files/makefile"
|
"github.com/ManyakRus/crud_generator/internal/create_files/makefile"
|
||||||
"github.com/ManyakRus/crud_generator/internal/create_files/model"
|
"github.com/ManyakRus/crud_generator/internal/create_files/model_tables"
|
||||||
"github.com/ManyakRus/crud_generator/internal/create_files/nrpc_client"
|
"github.com/ManyakRus/crud_generator/internal/create_files/nrpc_client"
|
||||||
"github.com/ManyakRus/crud_generator/internal/create_files/protobuf"
|
"github.com/ManyakRus/crud_generator/internal/create_files/protobuf"
|
||||||
"github.com/ManyakRus/crud_generator/internal/create_files/server_grpc_func"
|
"github.com/ManyakRus/crud_generator/internal/create_files/server_grpc_func"
|
||||||
@ -51,7 +51,7 @@ func StartFillAll() error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//модель
|
//модель
|
||||||
err = model.CreateAllFiles(MapAll)
|
err = model_tables.CreateAllFiles(MapAll)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
//log.Error("model.CreateAllFiles() error: ", err)
|
//log.Error("model.CreateAllFiles() error: ", err)
|
||||||
return err
|
return err
|
||||||
|
Loading…
Reference in New Issue
Block a user