2023-09-28 17:45:44 +03:00
|
|
|
package logic
|
|
|
|
|
|
|
|
import (
|
2023-11-15 13:58:31 +03:00
|
|
|
"github.com/ManyakRus/crud_generator/internal/config"
|
2024-08-16 12:44:58 +03:00
|
|
|
"github.com/ManyakRus/crud_generator/internal/create_files"
|
2024-02-09 15:17:57 +03:00
|
|
|
"github.com/ManyakRus/crud_generator/internal/create_files/alias"
|
2024-05-03 15:57:49 +03:00
|
|
|
"github.com/ManyakRus/crud_generator/internal/create_files/constants_file"
|
2024-09-06 13:14:05 +03:00
|
|
|
"github.com/ManyakRus/crud_generator/internal/create_files/crud"
|
2024-11-07 16:39:09 +03:00
|
|
|
"github.com/ManyakRus/crud_generator/internal/create_files/crud_readobject_tables"
|
2023-10-26 17:03:50 +03:00
|
|
|
"github.com/ManyakRus/crud_generator/internal/create_files/crud_starter"
|
2024-01-09 18:11:21 +03:00
|
|
|
"github.com/ManyakRus/crud_generator/internal/create_files/crud_starter_tables"
|
2024-04-08 17:42:13 +03:00
|
|
|
"github.com/ManyakRus/crud_generator/internal/create_files/crud_tables"
|
|
|
|
"github.com/ManyakRus/crud_generator/internal/create_files/entities_tables"
|
2023-11-20 17:08:58 +03:00
|
|
|
"github.com/ManyakRus/crud_generator/internal/create_files/env_file"
|
2023-11-15 17:59:21 +03:00
|
|
|
"github.com/ManyakRus/crud_generator/internal/create_files/generation_code_sh"
|
2023-11-17 14:57:47 +03:00
|
|
|
"github.com/ManyakRus/crud_generator/internal/create_files/grpc_client"
|
2024-08-14 11:15:01 +03:00
|
|
|
"github.com/ManyakRus/crud_generator/internal/create_files/grpc_client_func"
|
2023-11-16 12:59:02 +03:00
|
|
|
"github.com/ManyakRus/crud_generator/internal/create_files/grpc_client_tables"
|
2023-11-15 11:43:15 +03:00
|
|
|
"github.com/ManyakRus/crud_generator/internal/create_files/main_file"
|
2023-11-15 17:59:21 +03:00
|
|
|
"github.com/ManyakRus/crud_generator/internal/create_files/makefile"
|
2023-11-20 17:08:58 +03:00
|
|
|
"github.com/ManyakRus/crud_generator/internal/create_files/nrpc_client"
|
2024-11-02 11:53:38 +03:00
|
|
|
"github.com/ManyakRus/crud_generator/internal/create_files/object_tables"
|
2023-11-20 17:08:58 +03:00
|
|
|
"github.com/ManyakRus/crud_generator/internal/create_files/protobuf"
|
2024-04-04 15:18:28 +03:00
|
|
|
"github.com/ManyakRus/crud_generator/internal/create_files/readme_file"
|
2023-11-20 17:08:58 +03:00
|
|
|
"github.com/ManyakRus/crud_generator/internal/create_files/server_grpc_func"
|
2023-11-15 11:43:15 +03:00
|
|
|
"github.com/ManyakRus/crud_generator/internal/create_files/server_grpc_starter"
|
2024-04-08 17:42:13 +03:00
|
|
|
"github.com/ManyakRus/crud_generator/internal/create_files/server_grpc_tables"
|
2023-11-15 13:58:31 +03:00
|
|
|
"github.com/ManyakRus/crud_generator/internal/create_files/server_nrpc_starter"
|
2024-04-08 17:42:13 +03:00
|
|
|
"github.com/ManyakRus/crud_generator/internal/create_files/tables_tables"
|
2024-10-14 16:13:02 +03:00
|
|
|
"github.com/ManyakRus/crud_generator/internal/database"
|
2023-11-15 13:58:31 +03:00
|
|
|
"github.com/ManyakRus/crud_generator/internal/folders"
|
2024-09-12 17:54:59 +03:00
|
|
|
"github.com/ManyakRus/crud_generator/internal/load_configs"
|
2024-08-16 12:44:58 +03:00
|
|
|
"github.com/ManyakRus/crud_generator/internal/types"
|
2024-10-10 16:00:43 +03:00
|
|
|
"github.com/ManyakRus/crud_generator/pkg/dbmeta"
|
2023-09-28 17:45:44 +03:00
|
|
|
"github.com/ManyakRus/starter/log"
|
2023-11-15 13:58:31 +03:00
|
|
|
"github.com/ManyakRus/starter/micro"
|
2023-09-28 17:45:44 +03:00
|
|
|
)
|
|
|
|
|
|
|
|
//var MassTable []types.Table
|
|
|
|
|
2023-10-24 18:03:04 +03:00
|
|
|
func StartFillAll() error {
|
|
|
|
var err error
|
2023-09-28 17:45:44 +03:00
|
|
|
|
|
|
|
//заполним MapAll
|
2024-10-10 16:00:43 +03:00
|
|
|
SettingsFillFromDatabase := types.SettingsFillFromDatabase{}
|
|
|
|
SettingsFillFromDatabase.INCLUDE_TABLES = config.Settings.INCLUDE_TABLES
|
|
|
|
SettingsFillFromDatabase.EXCLUDE_TABLES = config.Settings.EXCLUDE_TABLES
|
|
|
|
SettingsFillFromDatabase.NEED_USE_DB_VIEWS = config.Settings.NEED_USE_DB_VIEWS
|
2024-10-14 16:13:02 +03:00
|
|
|
SettingsFillFromDatabase.MapDBTypes = dbmeta.GetMappings()
|
|
|
|
MapAll, err := database.FillMapTable(SettingsFillFromDatabase)
|
2023-09-28 17:45:44 +03:00
|
|
|
if err != nil {
|
|
|
|
log.Error("FillMapTable() error: ", err)
|
2023-10-24 18:03:04 +03:00
|
|
|
return err
|
2023-09-28 17:45:44 +03:00
|
|
|
}
|
|
|
|
|
2023-10-24 18:03:04 +03:00
|
|
|
if len(MapAll) == 0 {
|
2023-11-29 15:56:40 +03:00
|
|
|
log.Error("FillMapTable()error: len(MapAll) == 0")
|
2023-10-24 18:03:04 +03:00
|
|
|
return err
|
2023-09-28 17:45:44 +03:00
|
|
|
}
|
|
|
|
|
2024-10-15 15:24:54 +03:00
|
|
|
//загрузим FindModelBy .json
|
|
|
|
load_configs.LoadFindModelBy(MapAll)
|
|
|
|
|
2024-08-16 12:44:58 +03:00
|
|
|
//
|
2024-09-12 17:54:59 +03:00
|
|
|
FillGlobalVariables(MapAll)
|
2024-08-16 12:44:58 +03:00
|
|
|
|
2023-11-15 13:58:31 +03:00
|
|
|
//копируем все файлы
|
|
|
|
dir := micro.ProgramDir_bin()
|
|
|
|
err = folders.CopyAllFiles_Exclude_(dir+config.Settings.TEMPLATE_FOLDERNAME, dir+config.Settings.READY_FOLDERNAME)
|
|
|
|
if err != nil {
|
2023-11-29 15:56:40 +03:00
|
|
|
//log.Error("folders.CopyAllFiles_Exclude_() error: ", err)
|
2023-11-15 13:58:31 +03:00
|
|
|
return err
|
|
|
|
}
|
2023-11-08 17:37:35 +03:00
|
|
|
|
2023-10-25 16:22:30 +03:00
|
|
|
//модель
|
2024-04-08 17:42:13 +03:00
|
|
|
err = entities_tables.CreateAllFiles(MapAll)
|
2023-10-25 16:22:30 +03:00
|
|
|
if err != nil {
|
2023-11-29 15:56:40 +03:00
|
|
|
//log.Error("model.CreateAllFiles() error: ", err)
|
2023-10-25 16:22:30 +03:00
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
|
|
|
//db crud
|
2024-04-08 17:42:13 +03:00
|
|
|
err = crud_tables.CreateAllFiles(MapAll)
|
2023-10-26 11:33:12 +03:00
|
|
|
if err != nil {
|
2023-11-29 15:56:40 +03:00
|
|
|
//log.Error("db_crud_tables.CreateAllFiles() error: ", err)
|
2023-10-26 11:33:12 +03:00
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
|
|
|
//grpc_server
|
2024-04-08 17:42:13 +03:00
|
|
|
err = server_grpc_tables.CreateAllFiles(MapAll)
|
2023-10-26 11:33:12 +03:00
|
|
|
if err != nil {
|
2023-11-29 15:56:40 +03:00
|
|
|
//log.Error("grpc_server.CreateAllFiles() error: ", err)
|
2023-10-26 11:33:12 +03:00
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
2023-11-17 14:57:47 +03:00
|
|
|
//grpc_client tables
|
2023-11-16 12:59:02 +03:00
|
|
|
err = grpc_client_tables.CreateAllFiles(MapAll)
|
2023-10-25 16:22:30 +03:00
|
|
|
if err != nil {
|
2023-11-29 15:56:40 +03:00
|
|
|
//log.Error("grpc_client_tables.CreateAllFiles() error: ", err)
|
2023-10-25 16:22:30 +03:00
|
|
|
return err
|
|
|
|
}
|
2023-09-28 17:45:44 +03:00
|
|
|
|
2023-11-17 14:57:47 +03:00
|
|
|
//grpc_client
|
|
|
|
err = grpc_client.CreateAllFiles()
|
|
|
|
if err != nil {
|
2023-11-29 15:56:40 +03:00
|
|
|
//log.Error("grpc_client.CreateAllFiles() error: ", err)
|
2023-11-17 14:57:47 +03:00
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
2023-11-20 17:08:58 +03:00
|
|
|
//nrpc_client
|
|
|
|
err = nrpc_client.CreateAllFiles()
|
|
|
|
if err != nil {
|
2023-11-29 15:56:40 +03:00
|
|
|
//log.Error("nrpc_client.CreateAllFiles() error: ", err)
|
2023-11-20 17:08:58 +03:00
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
2024-02-08 15:34:02 +03:00
|
|
|
////nrpc_client tables
|
|
|
|
//err = nrpc_client_tables.CreateAllFiles(MapAll)
|
|
|
|
//if err != nil {
|
|
|
|
// //log.Error("nrpc_client_tables.CreateAllFiles() error: ", err)
|
|
|
|
// return err
|
|
|
|
//}
|
2023-10-26 14:18:38 +03:00
|
|
|
|
|
|
|
//grpc_proto
|
2023-11-20 17:08:58 +03:00
|
|
|
err = protobuf.CreateAllFiles(MapAll)
|
2023-10-26 14:18:38 +03:00
|
|
|
if err != nil {
|
2023-11-29 15:56:40 +03:00
|
|
|
//log.Error("protobuf.CreateAllFiles() error: ", err)
|
2023-10-26 14:18:38 +03:00
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
2023-10-26 17:03:50 +03:00
|
|
|
//crud_starter
|
|
|
|
err = crud_starter.CreateAllFiles(MapAll)
|
|
|
|
if err != nil {
|
2023-11-29 15:56:40 +03:00
|
|
|
//log.Error("crud_starter.CreateAllFiles() error: ", err)
|
2023-10-26 17:03:50 +03:00
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
2023-11-15 11:43:15 +03:00
|
|
|
//main file
|
|
|
|
err = main_file.CreateAllFiles()
|
|
|
|
if err != nil {
|
2023-11-29 15:56:40 +03:00
|
|
|
//log.Error("main_file.CreateAllFiles() error: ", err)
|
2023-11-15 11:43:15 +03:00
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
|
|
|
//server_grpc_starter
|
|
|
|
err = server_grpc_starter.CreateAllFiles()
|
|
|
|
if err != nil {
|
2023-11-29 15:56:40 +03:00
|
|
|
//log.Error("server_grpc_starter.CreateAllFiles() error: ", err)
|
2023-11-15 11:43:15 +03:00
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
2023-11-15 13:58:31 +03:00
|
|
|
//server_nrpc_starter
|
|
|
|
err = server_nrpc_starter.CreateAllFiles()
|
|
|
|
if err != nil {
|
2023-11-29 15:56:40 +03:00
|
|
|
//log.Error("server_nrpc_starter.CreateAllFiles() error: ", err)
|
2023-11-15 13:58:31 +03:00
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
2023-11-20 17:08:58 +03:00
|
|
|
//server_grpc_func
|
|
|
|
err = server_grpc_func.CreateAllFiles()
|
|
|
|
if err != nil {
|
2023-11-29 15:56:40 +03:00
|
|
|
//log.Error("server_grpc_func.CreateAllFiles() error: ", err)
|
2023-11-20 17:08:58 +03:00
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
2023-11-15 17:59:21 +03:00
|
|
|
//makefile
|
|
|
|
err = makefile.CreateAllFiles()
|
|
|
|
if err != nil {
|
2023-11-29 15:56:40 +03:00
|
|
|
//log.Error("makefile.CreateAllFiles() error: ", err)
|
2023-11-15 17:59:21 +03:00
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
|
|
|
//generation_code.sh
|
|
|
|
err = generation_code_sh.CreateAllFiles()
|
|
|
|
if err != nil {
|
2023-11-29 15:56:40 +03:00
|
|
|
//log.Error("generation_code_sh.CreateAllFiles() error: ", err)
|
2023-11-15 17:59:21 +03:00
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
2023-11-16 15:08:10 +03:00
|
|
|
//tables
|
2024-04-08 17:42:13 +03:00
|
|
|
err = tables_tables.CreateAllFiles(MapAll)
|
2023-11-16 15:08:10 +03:00
|
|
|
if err != nil {
|
2023-11-29 15:56:40 +03:00
|
|
|
//log.Error("db_tables.CreateAllFiles() error: ", err)
|
2023-11-16 15:08:10 +03:00
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
2024-01-09 18:11:21 +03:00
|
|
|
//tables
|
|
|
|
err = crud_starter_tables.CreateAllFiles(MapAll)
|
|
|
|
if err != nil {
|
|
|
|
//log.Error("db_tables.CreateAllFiles() error: ", err)
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
2023-11-20 17:08:58 +03:00
|
|
|
//env
|
|
|
|
err = env_file.CreateAllFiles()
|
|
|
|
if err != nil {
|
2023-11-29 15:56:40 +03:00
|
|
|
//log.Error("env_file.CreateAllFiles() error: ", err)
|
2023-11-20 17:08:58 +03:00
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
2024-02-09 15:17:57 +03:00
|
|
|
//alias
|
|
|
|
err = alias.CreateAllFiles()
|
|
|
|
if err != nil {
|
|
|
|
//log.Error("env_file.CreateAllFiles() error: ", err)
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
2024-04-04 15:18:28 +03:00
|
|
|
//readme
|
|
|
|
err = readme_file.CreateAllFiles()
|
|
|
|
if err != nil {
|
|
|
|
//log.Error("env_file.CreateAllFiles() error: ", err)
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
2024-05-03 15:57:49 +03:00
|
|
|
//constants
|
|
|
|
err = constants_file.CreateAllFiles()
|
|
|
|
if err != nil {
|
|
|
|
//log.Error("env_file.CreateAllFiles() error: ", err)
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
2024-08-14 11:15:01 +03:00
|
|
|
//grpc_client_func
|
|
|
|
err = grpc_client_func.CreateAllFiles()
|
|
|
|
if err != nil {
|
|
|
|
//log.Error("env_file.CreateAllFiles() error: ", err)
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
2024-09-06 13:14:05 +03:00
|
|
|
//crud
|
|
|
|
err = crud.CreateAllFiles()
|
|
|
|
if err != nil {
|
|
|
|
//log.Error("env_file.CreateAllFiles() error: ", err)
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
2024-11-02 11:53:38 +03:00
|
|
|
//objects
|
2024-11-05 11:16:42 +03:00
|
|
|
if config.Settings.NEED_CREATE_READOBJECT == true {
|
2024-11-02 13:50:06 +03:00
|
|
|
err = object_tables.CreateAllFiles(MapAll)
|
|
|
|
if err != nil {
|
|
|
|
//log.Error("env_file.CreateAllFiles() error: ", err)
|
|
|
|
return err
|
|
|
|
}
|
2024-11-02 17:06:29 +03:00
|
|
|
|
2024-11-07 16:39:09 +03:00
|
|
|
err = crud_readobject_tables.CreateAllFiles(MapAll)
|
2024-11-02 17:06:29 +03:00
|
|
|
if err != nil {
|
|
|
|
//log.Error("env_file.CreateAllFiles() error: ", err)
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
2024-11-02 11:53:38 +03:00
|
|
|
}
|
|
|
|
|
2023-10-24 18:03:04 +03:00
|
|
|
return err
|
2023-09-28 17:45:44 +03:00
|
|
|
}
|
2024-10-10 16:00:43 +03:00
|
|
|
|
|
|
|
// FillGlobalVariables - заполняет глобальные переменные
|
|
|
|
func FillGlobalVariables(MapAll map[string]*types.Table) {
|
|
|
|
|
|
|
|
// MassFindBy
|
|
|
|
Mass1 := create_files.FindMass_TableColumns(MapAll, types.MassFindBy_String)
|
|
|
|
types.MassFindBy = Mass1
|
|
|
|
|
|
|
|
// MassFindMassBy
|
|
|
|
Mass1 = create_files.FindMass_TableColumns(MapAll, types.MassFindMassBy_String)
|
|
|
|
types.MassFindMassBy = Mass1
|
|
|
|
|
|
|
|
// ReadAll
|
|
|
|
types.MapReadAll = load_configs.LoadReadAll(MapAll)
|
|
|
|
|
|
|
|
}
|