diff --git a/bin/templates/configs_/settings.txt b/bin/templates/configs_/settings.txt index d218e71..934f3c0 100644 --- a/bin/templates/configs_/settings.txt +++ b/bin/templates/configs_/settings.txt @@ -294,3 +294,30 @@ TEMPLATES_CRUD_TABLE_FINDMASSBY_FUNCTION_FILENAME="crud_tables_findmassby_functi #TEMPLATES_CRUD_TABLE_FINDMASSBY_FUNCTION_TEST_FILENAME - short filename of "crud_tables_findmassby_function_test.go_" file TEMPLATES_CRUD_TABLE_FINDMASSBY_FUNCTION_TEST_FILENAME="crud_tables_findmassby_function_test.go_" + + +#TEMPLATES_GRPC_SERVER_FINDBY_FILENAME - short filename of "server_grpc_table_findby.go_" file +TEMPLATES_GRPC_SERVER_FINDBY_FILENAME="server_grpc_table_findby.go_" + +#TEMPLATES_GRPC_SERVER_FINDBY_FUNCTION_FILENAME - short filename of "server_grpc_table_findby_function.go_" file +TEMPLATES_GRPC_SERVER_FINDBY_FUNCTION_FILENAME="server_grpc_table_findby_function.go_" + +#TEMPLATES_GRPC_SERVER_FINDBY_TEST_FILENAME - short filename of "server_grpc_table_findby_test.go_" file +TEMPLATES_GRPC_SERVER_FINDBY_TEST_FILENAME="server_grpc_table_findby_test.go_" + +#TEMPLATES_GRPC_SERVER_FINDBY_FUNCTION_TEST_FILENAME - short filename of "server_grpc_table_findby_function_test.go_" file +TEMPLATES_GRPC_SERVER_FINDBY_FUNCTION_TEST_FILENAME="server_grpc_table_findby_function_test.go_" + + +#TEMPLATES_GRPC_SERVER_FINDMASSBY_FILENAME - short filename of "server_grpc_table_findmassby.go_" file +TEMPLATES_GRPC_SERVER_FINDMASSBY_FILENAME="server_grpc_table_findmassby.go_" + +#TEMPLATES_GRPC_SERVER_FINDMASSBY_FUNCTION_FILENAME - short filename of "server_grpc_table_findmassby_test.go_" file +TEMPLATES_GRPC_SERVER_FINDMASSBY_FUNCTION_FILENAME="server_grpc_table_findmassby_function.go_" + +#TEMPLATES_GRPC_SERVER_FINDMASSBY_TEST_FILENAME - short filename of "server_grpc_table_findmassby_test.go_" file +TEMPLATES_GRPC_SERVER_FINDMASSBY_TEST_FILENAME="server_grpc_table_findmassby_test.go_" + +#TEMPLATES_GRPC_SERVER_FINDMASSBY_FUNCTION_TEST_FILENAME - short filename of "server_grpc_table_findmassby_test.go_" file +TEMPLATES_GRPC_SERVER_FINDMASSBY_FUNCTION_TEST_FILENAME="server_grpc_table_findmassby_function_test.go_" + diff --git a/bin/templates/internal/app/grpc/server_grpc/server_grpc_table_findby.go_ b/bin/templates/internal/app/grpc/server_grpc/server_grpc_table_findby.go_ new file mode 100644 index 0000000..e56ef85 --- /dev/null +++ b/bin/templates/internal/app/grpc/server_grpc/server_grpc_table_findby.go_ @@ -0,0 +1,10 @@ +package server_grpc + +import ( + "context" + "github.com/ManyakRus/starter/postgres_gorm" + "gitlab.aescorp.ru/dsp_dev/claim/sync_service/api/grpc_proto" + "gitlab.aescorp.ru/dsp_dev/claim/sync_service/pkg/db/crud/crud_lawsuit_status_types" + "gitlab.aescorp.ru/dsp_dev/claim/sync_service/pkg/object_model/entities/lawsuit_status_types" +) + diff --git a/bin/templates/internal/app/grpc/server_grpc/server_grpc_table_findby_function.go_ b/bin/templates/internal/app/grpc/server_grpc/server_grpc_table_findby_function.go_ new file mode 100644 index 0000000..d889f12 --- /dev/null +++ b/bin/templates/internal/app/grpc/server_grpc/server_grpc_table_findby_function.go_ @@ -0,0 +1,32 @@ +// LawsuitStatusType_FindByFieldNamesWithUnderline - находит lawsuit_status_types в БД по FieldNamesWithPlus +func (s *ServerGRPC) LawsuitStatusType_FindBy_FieldNamesWithUnderline(ctx context.Context, Request *grpc_proto.RequestName) (*grpc_proto.Response, error) { + var Otvet grpc_proto.Response + var err error + + // проверим совпадения версии модели + VersionServer := lawsuit_status_types.LawsuitStatusType{}.GetStructVersion() + VersionClient := Request.VersionModel + if VersionServer != VersionClient { + err = ErrorModelVersion(lawsuit_status_types.LawsuitStatusType{}) + return &Otvet, err + } + + // запрос в БД + db := postgres_gorm.GetConnection() + Model := &lawsuit_status_types.LawsuitStatusType{} + Model.FieldName = Request.RequestFieldName + err = crud_lawsuit_status_types.FindBy_FieldNamesWithUnderline_ctx(ctx, db, Model) + if err != nil { + return &Otvet, err + } + + // заполяем ответ + ModelString, err := Model.GetJSON() + if err != nil { + return &Otvet, err + } + Otvet.ModelString = ModelString + + return &Otvet, err +} + diff --git a/bin/templates/internal/app/grpc/server_grpc/server_grpc_table_findby_function_test.go_ b/bin/templates/internal/app/grpc/server_grpc/server_grpc_table_findby_function_test.go_ new file mode 100644 index 0000000..ce6a758 --- /dev/null +++ b/bin/templates/internal/app/grpc/server_grpc/server_grpc_table_findby_function_test.go_ @@ -0,0 +1,19 @@ +func Test_server_LawsuitStatusType_FindBy_FieldNamesWithUnderline(t *testing.T) { + config_main.LoadEnv() + crud_starter.InitCrudTransport_DB() + + ctx := context.Background() + Request := grpc_proto.RequestName{} + Request.RequestFieldName = 0 + Request.VersionModel = lawsuit_status_types.LawsuitStatusType{}.GetStructVersion() + + server1 := &ServerGRPC{} + Otvet, err := server1.LawsuitStatusType_FindBy_FieldNamesWithUnderline(ctx, &Request) + if err != nil { + t.Log("Test_server_LawsuitStatusType_FindBy_FieldNamesWithUnderline() error: ", err) + } + if Otvet.ModelString == "" { + t.Log("Test_server_LawsuitStatusType_FindBy_FieldNamesWithUnderline() error: ModelString=''") + } +} + diff --git a/bin/templates/internal/app/grpc/server_grpc/server_grpc_table_findby_test.go_ b/bin/templates/internal/app/grpc/server_grpc/server_grpc_table_findby_test.go_ new file mode 100644 index 0000000..8880214 --- /dev/null +++ b/bin/templates/internal/app/grpc/server_grpc/server_grpc_table_findby_test.go_ @@ -0,0 +1,11 @@ +package server_grpc + +import ( + "context" + "github.com/ManyakRus/starter/config_main" + "gitlab.aescorp.ru/dsp_dev/claim/sync_service/api/grpc_proto" + "gitlab.aescorp.ru/dsp_dev/claim/sync_service/pkg/crud_starter" + "gitlab.aescorp.ru/dsp_dev/claim/sync_service/pkg/object_model/entities/files" + "testing" +) + diff --git a/bin/templates/internal/app/grpc/server_grpc/server_grpc_table_findmassby.go_ b/bin/templates/internal/app/grpc/server_grpc/server_grpc_table_findmassby.go_ new file mode 100644 index 0000000..e56ef85 --- /dev/null +++ b/bin/templates/internal/app/grpc/server_grpc/server_grpc_table_findmassby.go_ @@ -0,0 +1,10 @@ +package server_grpc + +import ( + "context" + "github.com/ManyakRus/starter/postgres_gorm" + "gitlab.aescorp.ru/dsp_dev/claim/sync_service/api/grpc_proto" + "gitlab.aescorp.ru/dsp_dev/claim/sync_service/pkg/db/crud/crud_lawsuit_status_types" + "gitlab.aescorp.ru/dsp_dev/claim/sync_service/pkg/object_model/entities/lawsuit_status_types" +) + diff --git a/bin/templates/internal/app/grpc/server_grpc/server_grpc_table_findmassby_function.go_ b/bin/templates/internal/app/grpc/server_grpc/server_grpc_table_findmassby_function.go_ new file mode 100644 index 0000000..f444299 --- /dev/null +++ b/bin/templates/internal/app/grpc/server_grpc/server_grpc_table_findmassby_function.go_ @@ -0,0 +1,34 @@ +// LawsuitStatusType_FindMassByFieldNamesWithUnderline - находит массив lawsuit_status_types в БД по FieldNamesWithPlus +func (s *ServerGRPC) LawsuitStatusType_FindMassBy_FieldNamesWithUnderline(ctx context.Context, Request *grpc_proto.RequestName) (*grpc_proto.ResponseMass, error) { + var Otvet grpc_proto.ResponseMass + var err error + + // проверим совпадения версии модели + VersionServer := lawsuit_status_types.LawsuitStatusType{}.GetStructVersion() + VersionClient := Request.VersionModel + if VersionServer != VersionClient { + err = ErrorModelVersion(lawsuit_status_types.LawsuitStatusType{}) + return &Otvet, err + } + + // запрос в БД + db := postgres_gorm.GetConnection() + Model := &lawsuit_status_types.LawsuitStatusType{} + Model.FieldName = Request.RequestFieldName + Mass, err := crud_files.FindMassBy_FieldNamesWithUnderline_ctx(ctx, db, Model) + if err != nil { + return &Otvet, err + } + + // заполяем ответ + for _, v := range Mass { + ModelString, err := v.GetJSON() + if err != nil { + return &Otvet, err + } + Otvet.MassModelString = append(Otvet.MassModelString, ModelString) + } + + return &Otvet, err +} + diff --git a/bin/templates/internal/app/grpc/server_grpc/server_grpc_table_findmassby_function_test.go_ b/bin/templates/internal/app/grpc/server_grpc/server_grpc_table_findmassby_function_test.go_ new file mode 100644 index 0000000..44d3bbb --- /dev/null +++ b/bin/templates/internal/app/grpc/server_grpc/server_grpc_table_findmassby_function_test.go_ @@ -0,0 +1,19 @@ +func Test_server_LawsuitStatusType_FindMassBy_FieldNamesWithUnderline(t *testing.T) { + config_main.LoadEnv() + crud_starter.InitCrudTransport_DB() + + ctx := context.Background() + Request := grpc_proto.RequestName{} + Request.RequestFieldName = 0 + Request.VersionModel = lawsuit_status_types.LawsuitStatusType{}.GetStructVersion() + + server1 := &ServerGRPC{} + Otvet, err := server1.LawsuitStatusType_FindMassBy_FieldNamesWithUnderline(ctx, &Request) + if err != nil { + t.Log("Test_server_LawsuitStatusType_FindMassBy_FieldNamesWithUnderline() error: ", err) + } + if Otvet.ModelString == "" { + t.Log("Test_server_LawsuitStatusType_FindMassBy_FieldNamesWithUnderline() error: ModelString=''") + } +} + diff --git a/bin/templates/internal/app/grpc/server_grpc/server_grpc_table_findmassby_test.go_ b/bin/templates/internal/app/grpc/server_grpc/server_grpc_table_findmassby_test.go_ new file mode 100644 index 0000000..8880214 --- /dev/null +++ b/bin/templates/internal/app/grpc/server_grpc/server_grpc_table_findmassby_test.go_ @@ -0,0 +1,11 @@ +package server_grpc + +import ( + "context" + "github.com/ManyakRus/starter/config_main" + "gitlab.aescorp.ru/dsp_dev/claim/sync_service/api/grpc_proto" + "gitlab.aescorp.ru/dsp_dev/claim/sync_service/pkg/crud_starter" + "gitlab.aescorp.ru/dsp_dev/claim/sync_service/pkg/object_model/entities/files" + "testing" +) + diff --git a/internal/config/config.go b/internal/config/config.go index 3057fc4..9619de4 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -14,99 +14,107 @@ var Settings SettingsINI // SettingsINI - структура для хранения всех нужных переменных окружения type SettingsINI struct { - INCLUDE_TABLES string - EXCLUDE_TABLES string - TEMPLATE_FOLDERNAME string - TEMPLATE_FOLDERNAME_MODEL string - TEMPLATE_FOLDERNAME_DB string - TEMPLATE_FOLDERNAME_CRUD string - TEMPLATE_FOLDERNAME_TABLES string - TEMPLATE_FOLDERNAME_GRPC string - TEMPLATE_FOLDERNAME_GRPC_PROTO string - TEMPLATE_FOLDERNAME_GRPC_SERVER string - TEMPLATE_FOLDERNAME_GRPC_CLIENT string - TEMPLATE_FOLDERNAME_NRPC string - TEMPLATE_FOLDERNAME_NRPC_SERVER string - TEMPLATE_FOLDERNAME_NRPC_CLIENT string - TEMPLATE_FOLDERNAME_GRPC_NRPC string - TEMPLATE_FOLDERNAME_GRPC_CLIENT_FUNC string - TEMPLATE_SERVICE_NAME string - TEMPLATE_FOLDERNAME_CRUD_STARTER string - TEMPLATE_FOLDERNAME_ALIAS string - TEMPLATE_FOLDER_CRUD_FUNCTIONS string - TEMPLATE_FOLDERNAME_MAIN string - TEMPLATE_REPOSITORY_URL string - TEMPLATE_EXTERNAL_PROTO_FILENAME string - TEMPLATES_CRUD_FILENAME string - TEMPLATES_CRUD_TEST_FILENAME string - TEMPLATES_ALIAS_FILENAME string - TEMPLATES_CRUD_TABLE_UPDATE_FUNC_FILENAME string - TEMPLATES_CRUD_TABLE_UPDATE_FUNC_TEST_FILENAME string - TEMPLATES_CONVERT_ID_FILENAME string - TEMPLATES_CRUD_FUNCTIONS_RENAME_FILENAME string - TEMPLATES_MODEL_CRUD_DELETE_FUNCTIONS_FILENAME string - TEMPLATES_NAME_REPLACE_FILENAME string - TEMPLATES_NULLABLE_FILENAME string - TEMPLATES_CRUD_TABLE_UPDATE_FILENAME string - TEMPLATES_CRUD_TABLE_UPDATE_TEST_FILENAME string - TEMPLATES_GRPC_CLIENT_TABLE_UPDATE_FILENAME string - TEMPLATES_GRPC_CLIENT_TABLE_UPDATE_TEST_FILENAME string - TEMPLATES_GRPC_SERVER_TABLE_UPDATE_FILENAME string - TEMPLATES_GRPC_SERVER_TABLE_UPDATE_TEST_FILENAME string - TEMPLATES_GRPC_CLIENT_TABLES_CACHE_FILENAME string - TEMPLATES_GRPC_CLIENT_TABLES_CACHE_TEST_FILENAME string - TEMPLATE_GRPC_CLIENT_FUNC_FILENAME string - TEMPLATE_GRPC_CLIENT_FUNC_TEST_FILENAME string - TEMPLATES_README_MD_FILENAME string - TEMPLATES_README_RUS_FILENAME string - TEMPLATE_FOLDERNAME_CONSTANTS string - TEMPLATES_CONSTANTS_FILENAME string - NEED_CREATE_MODEL_STRUCT bool - NEED_CREATE_MODEL_CRUD bool - NEED_CREATE_DB bool - NEED_CREATE_DB_TEST bool - NEED_CREATE_DB_TABLES bool - NEED_CREATE_GRPC bool - NEED_CREATE_GRPC_SERVER_TEST bool - NEED_CREATE_GRPC_CLIENT_TEST bool - NEED_CREATE_NRPC bool - NEED_CREATE_NRPC_SERVER_TEST bool - NEED_CREATE_NRPC_CLIENT_TEST bool - NEED_CREATE_MANUAL_FILES bool - NEED_CREATE_CACHE_API bool - NEED_CREATE_CACHE_FILES bool - NEED_CREATE_CACHE_TEST_FILES bool - SERVICE_NAME string - SERVICE_REPOSITORY_URL string - TEXT_TEMPLATE_MODEL string - TEXT_TEMPLATE_TABLENAME string - HAS_IS_DELETED bool - READY_FOLDERNAME string - TEXT_DB_MODIFIED_AT string - TEXT_DB_CREATED_AT string - TEXT_DB_IS_DELETED string - USE_DEFAULT_TEMPLATE bool - PREFIX_SERVER_GRPC string - PREFIX_CLIENT_GRPC string - PREFIX_CRUD string - PREFIX_MODEL string - PREFIX_TABLE string - COMMENT_MODEL_STRUCT string - TEXT_MODULE_GENERATED string - READY_ALIAS_FILENAME string - NEED_CREATE_UPDATE_EVERY_COLUMN bool - CACHE_ELEMENTS_COUNT_MAX int64 - SINGULAR_TABLE_NAMES bool - TEMPLATES_FINDBY_FILENAME string - TEMPLATES_FINDMASSBY_FILENAME string - TEMPLATES_CRUD_TABLE_FINDBY_FILENAME string - TEMPLATES_CRUD_TABLE_FINDBY_TEST_FILENAME string - TEMPLATES_CRUD_TABLE_FINDBY_FUNCTION_FILENAME string - TEMPLATES_CRUD_TABLE_FINDBY_FUNCTION_TEST_FILENAME string - TEMPLATES_CRUD_TABLE_FINDMASSBY_FILENAME string - TEMPLATES_CRUD_TABLE_FINDMASSBY_TEST_FILENAME string - TEMPLATES_CRUD_TABLE_FINDMASSBY_FUNCTION_FILENAME string - TEMPLATES_CRUD_TABLE_FINDMASSBY_FUNCTION_TEST_FILENAME string + INCLUDE_TABLES string + EXCLUDE_TABLES string + TEMPLATE_FOLDERNAME string + TEMPLATE_FOLDERNAME_MODEL string + TEMPLATE_FOLDERNAME_DB string + TEMPLATE_FOLDERNAME_CRUD string + TEMPLATE_FOLDERNAME_TABLES string + TEMPLATE_FOLDERNAME_GRPC string + TEMPLATE_FOLDERNAME_GRPC_PROTO string + TEMPLATE_FOLDERNAME_GRPC_SERVER string + TEMPLATE_FOLDERNAME_GRPC_CLIENT string + TEMPLATE_FOLDERNAME_NRPC string + TEMPLATE_FOLDERNAME_NRPC_SERVER string + TEMPLATE_FOLDERNAME_NRPC_CLIENT string + TEMPLATE_FOLDERNAME_GRPC_NRPC string + TEMPLATE_FOLDERNAME_GRPC_CLIENT_FUNC string + TEMPLATE_SERVICE_NAME string + TEMPLATE_FOLDERNAME_CRUD_STARTER string + TEMPLATE_FOLDERNAME_ALIAS string + TEMPLATE_FOLDER_CRUD_FUNCTIONS string + TEMPLATE_FOLDERNAME_MAIN string + TEMPLATE_REPOSITORY_URL string + TEMPLATE_EXTERNAL_PROTO_FILENAME string + TEMPLATES_CRUD_FILENAME string + TEMPLATES_CRUD_TEST_FILENAME string + TEMPLATES_ALIAS_FILENAME string + TEMPLATES_CRUD_TABLE_UPDATE_FUNC_FILENAME string + TEMPLATES_CRUD_TABLE_UPDATE_FUNC_TEST_FILENAME string + TEMPLATES_CONVERT_ID_FILENAME string + TEMPLATES_CRUD_FUNCTIONS_RENAME_FILENAME string + TEMPLATES_MODEL_CRUD_DELETE_FUNCTIONS_FILENAME string + TEMPLATES_NAME_REPLACE_FILENAME string + TEMPLATES_NULLABLE_FILENAME string + TEMPLATES_CRUD_TABLE_UPDATE_FILENAME string + TEMPLATES_CRUD_TABLE_UPDATE_TEST_FILENAME string + TEMPLATES_GRPC_CLIENT_TABLE_UPDATE_FILENAME string + TEMPLATES_GRPC_CLIENT_TABLE_UPDATE_TEST_FILENAME string + TEMPLATES_GRPC_SERVER_TABLE_UPDATE_FILENAME string + TEMPLATES_GRPC_SERVER_TABLE_UPDATE_TEST_FILENAME string + TEMPLATES_GRPC_CLIENT_TABLES_CACHE_FILENAME string + TEMPLATES_GRPC_CLIENT_TABLES_CACHE_TEST_FILENAME string + TEMPLATE_GRPC_CLIENT_FUNC_FILENAME string + TEMPLATE_GRPC_CLIENT_FUNC_TEST_FILENAME string + TEMPLATES_README_MD_FILENAME string + TEMPLATES_README_RUS_FILENAME string + TEMPLATE_FOLDERNAME_CONSTANTS string + TEMPLATES_CONSTANTS_FILENAME string + NEED_CREATE_MODEL_STRUCT bool + NEED_CREATE_MODEL_CRUD bool + NEED_CREATE_DB bool + NEED_CREATE_DB_TEST bool + NEED_CREATE_DB_TABLES bool + NEED_CREATE_GRPC bool + NEED_CREATE_GRPC_SERVER_TEST bool + NEED_CREATE_GRPC_CLIENT_TEST bool + NEED_CREATE_NRPC bool + NEED_CREATE_NRPC_SERVER_TEST bool + NEED_CREATE_NRPC_CLIENT_TEST bool + NEED_CREATE_MANUAL_FILES bool + NEED_CREATE_CACHE_API bool + NEED_CREATE_CACHE_FILES bool + NEED_CREATE_CACHE_TEST_FILES bool + SERVICE_NAME string + SERVICE_REPOSITORY_URL string + TEXT_TEMPLATE_MODEL string + TEXT_TEMPLATE_TABLENAME string + HAS_IS_DELETED bool + READY_FOLDERNAME string + TEXT_DB_MODIFIED_AT string + TEXT_DB_CREATED_AT string + TEXT_DB_IS_DELETED string + USE_DEFAULT_TEMPLATE bool + PREFIX_SERVER_GRPC string + PREFIX_CLIENT_GRPC string + PREFIX_CRUD string + PREFIX_MODEL string + PREFIX_TABLE string + COMMENT_MODEL_STRUCT string + TEXT_MODULE_GENERATED string + READY_ALIAS_FILENAME string + NEED_CREATE_UPDATE_EVERY_COLUMN bool + CACHE_ELEMENTS_COUNT_MAX int64 + SINGULAR_TABLE_NAMES bool + TEMPLATES_FINDBY_FILENAME string + TEMPLATES_FINDMASSBY_FILENAME string + TEMPLATES_CRUD_TABLE_FINDBY_FILENAME string + TEMPLATES_CRUD_TABLE_FINDBY_TEST_FILENAME string + TEMPLATES_CRUD_TABLE_FINDBY_FUNCTION_FILENAME string + TEMPLATES_CRUD_TABLE_FINDBY_FUNCTION_TEST_FILENAME string + TEMPLATES_CRUD_TABLE_FINDMASSBY_FILENAME string + TEMPLATES_CRUD_TABLE_FINDMASSBY_TEST_FILENAME string + TEMPLATES_CRUD_TABLE_FINDMASSBY_FUNCTION_FILENAME string + TEMPLATES_CRUD_TABLE_FINDMASSBY_FUNCTION_TEST_FILENAME string + TEMPLATES_GRPC_SERVER_FINDBY_FILENAME string + TEMPLATES_GRPC_SERVER_FINDBY_FUNCTION_FILENAME string + TEMPLATES_GRPC_SERVER_FINDMASSBY_FILENAME string + TEMPLATES_GRPC_SERVER_FINDMASSBY_FUNCTION_FILENAME string + TEMPLATES_GRPC_SERVER_FINDBY_TEST_FILENAME string + TEMPLATES_GRPC_SERVER_FINDBY_FUNCTION_TEST_FILENAME string + TEMPLATES_GRPC_SERVER_FINDMASSBY_TEST_FILENAME string + TEMPLATES_GRPC_SERVER_FINDMASSBY_FUNCTION_TEST_FILENAME string } func Getenv(Name string, IsRequired bool) string { @@ -598,6 +606,46 @@ func FillSettings() { s = Getenv(Name, true) Settings.TEMPLATES_CRUD_TABLE_FINDMASSBY_FUNCTION_TEST_FILENAME = s + // + Name = "TEMPLATES_GRPC_SERVER_FINDBY_FILENAME" + s = Getenv(Name, true) + Settings.TEMPLATES_GRPC_SERVER_FINDBY_FILENAME = s + + // + Name = "TEMPLATES_GRPC_SERVER_FINDBY_FUNCTION_FILENAME" + s = Getenv(Name, true) + Settings.TEMPLATES_GRPC_SERVER_FINDBY_FUNCTION_FILENAME = s + + // + Name = "TEMPLATES_GRPC_SERVER_FINDMASSBY_FILENAME" + s = Getenv(Name, true) + Settings.TEMPLATES_GRPC_SERVER_FINDMASSBY_FILENAME = s + + // + Name = "TEMPLATES_GRPC_SERVER_FINDMASSBY_FUNCTION_FILENAME" + s = Getenv(Name, true) + Settings.TEMPLATES_GRPC_SERVER_FINDMASSBY_FUNCTION_FILENAME = s + + // + Name = "TEMPLATES_GRPC_SERVER_FINDBY_TEST_FILENAME" + s = Getenv(Name, true) + Settings.TEMPLATES_GRPC_SERVER_FINDBY_TEST_FILENAME = s + + // + Name = "TEMPLATES_GRPC_SERVER_FINDBY_FUNCTION_TEST_FILENAME" + s = Getenv(Name, true) + Settings.TEMPLATES_GRPC_SERVER_FINDBY_FUNCTION_TEST_FILENAME = s + + // + Name = "TEMPLATES_GRPC_SERVER_FINDMASSBY_TEST_FILENAME" + s = Getenv(Name, true) + Settings.TEMPLATES_GRPC_SERVER_FINDMASSBY_TEST_FILENAME = s + + // + Name = "TEMPLATES_GRPC_SERVER_FINDMASSBY_FUNCTION_TEST_FILENAME" + s = Getenv(Name, true) + Settings.TEMPLATES_GRPC_SERVER_FINDMASSBY_FUNCTION_TEST_FILENAME = s + } // CurrentDirectory - возвращает текущую директорию ОС diff --git a/internal/create_files/create_files.go b/internal/create_files/create_files.go index 3cb76e2..31830cf 100644 --- a/internal/create_files/create_files.go +++ b/internal/create_files/create_files.go @@ -327,7 +327,7 @@ func ReplacePrimaryKeyOtvetID1(Text string, Table1 *types.Table) string { Otvet = strings.ReplaceAll(Otvet, "AliasFromInt(ID)", "ID") } - Value, GolangCode := ConvertProtobufTypeToGolangType(Table1, ColumnPK, "Request.") + Value, GolangCode := ConvertProtobufVariableToGolangVariable(Table1, ColumnPK, "Request.") if GolangCode == "" { TextNew := "\t" + ColumnPK.NameGo + " := " + Value + "\n" Otvet = strings.ReplaceAll(Otvet, "\tID := Request.ID\n", TextNew) @@ -389,16 +389,16 @@ func ReplacePrimaryKeyOtvetID_ManyPK1(Text string, Table1 *types.Table, Variable continue } TextOtvetIDID = TextOtvetIDID + "\t" + VariableName + "." + Column1.NameGo + " = " + Column1.NameGo + "\n" - RequestColumnName := FindRequestColumnName(Table1, Column1) - Value, GolangCode := ConvertProtobufTypeToGolangType(Table1, Column1, "Request.") + RequestColumnName := FindRequestFieldName(Table1, Column1) + Value, GolangCode := ConvertProtobufVariableToGolangVariable(Table1, Column1, "Request.") if GolangCode == "" { TextIDRequestID = TextIDRequestID + "\t" + Column1.NameGo + " := " + Value + "\n" } else { TextIDRequestID = TextIDRequestID + "\t" + GolangCode + "\n" } - TextM := ConvertGolangTypeToProtobufType(Table1, Column1, "m") + TextM := ConvertGolangVariableToProtobufVariable(Column1, "m") TextRequestIDmID = TextRequestIDmID + "\t" + VariableName + "." + RequestColumnName + " = " + TextM + "\n" - TextInt64ID := ConvertGolangTypeToProtobufType(Table1, Column1, "") + TextInt64ID := ConvertGolangVariableToProtobufVariable(Column1, "") TextRequestIDInt64ID = TextRequestIDInt64ID + "\t" + VariableName + "." + RequestColumnName + " = " + TextInt64ID + "\n" TextOtvetIDmID = TextOtvetIDmID + "\t" + "Otvet." + Column1.NameGo + " = " + VariableName + "." + Column1.NameGo + "\n" @@ -423,7 +423,7 @@ func ReplacePrimaryKeyOtvetID_ManyPK1(Text string, Table1 *types.Table, Variable Otvet = strings.ReplaceAll(Otvet, "\tm2.ID = int64(m.ID)", TextM2ID) Otvet = strings.ReplaceAll(Otvet, "int64(m.ID) == 0", TextIfMId) Otvet = strings.ReplaceAll(Otvet, "int64(m.ID) != 0", TextIfMIdNot0) - //Value := ConvertGolangTypeToProtobufType(Table1, ColumnPK, "m") + //Value := ConvertGolangVariableToProtobufVariable(Table1, ColumnPK, "m") //Otvet = strings.ReplaceAll(Otvet, "ProtoFromInt(m.ID)", Value) //protobuf //заменим ID := Request.ID @@ -506,14 +506,14 @@ func ReplacePrimaryKeyM_ManyPK(Text string, Table1 *types.Table) string { // Otvet = strings.ReplaceAll(Otvet, "IntFromAlias(m.ID)", ColumnTypeGoPK+"(m."+ColumnNamePK+")") // Otvet = strings.ReplaceAll(Otvet, "AliasFromInt(m.ID)", OtvetColumnName) // Otvet = strings.ReplaceAll(Otvet, "AliasFromInt(ID)", Alias+"("+ColumnNamePK+")") -// Value := ConvertGolangTypeToProtobufType(Table1, ColumnPK, "m") +// Value := ConvertGolangVariableToProtobufVariable(Table1, ColumnPK, "m") // Otvet = strings.ReplaceAll(Otvet, "ProtoFromInt(m.ID)", Value) //protobuf // } else { // DefaultValue := FindTextDefaultValue(ColumnTypeGoPK) // Otvet = strings.ReplaceAll(Otvet, "IntFromAlias(m.ID) == 0", "m."+ColumnNamePK+" == "+DefaultValue) -// //Value := ConvertGolangTypeToProtobufType(Table1, ColumnPK, "m") +// //Value := ConvertGolangVariableToProtobufVariable(Table1, ColumnPK, "m") // Otvet = strings.ReplaceAll(Otvet, "IntFromAlias(m.ID)", "m."+ColumnNamePK) //не protobuf -// Value := ConvertGolangTypeToProtobufType(Table1, ColumnPK, "m") +// Value := ConvertGolangVariableToProtobufVariable(Table1, ColumnPK, "m") // Otvet = strings.ReplaceAll(Otvet, "ProtoFromInt(m.ID)", Value) //protobuf // Otvet = strings.ReplaceAll(Otvet, "AliasFromInt(m.ID)", OtvetColumnName) // Otvet = strings.ReplaceAll(Otvet, "AliasFromInt(ID)", "ID") @@ -1926,8 +1926,8 @@ func DeleteCommentFromString(TextFrom string) string { return Otvet } -// ConvertGolangTypeToProtobufType - возвращает имя переменной + имя колонки, преобразованное в тип protobuf -func ConvertGolangTypeToProtobufType(Table1 *types.Table, Column1 *types.Column, VariableName string) string { +// ConvertGolangVariableToProtobufVariable - возвращает имя переменной + имя колонки, преобразованное в тип protobuf +func ConvertGolangVariableToProtobufVariable(Column1 *types.Column, VariableName string) string { Otvet := "" if Column1 == nil { @@ -1963,42 +1963,30 @@ func ConvertGolangTypeToProtobufType(Table1 *types.Table, Column1 *types.Column, return Otvet } -// ConvertVariableToProtobufType - возвращает имя переменной + имя колонки, преобразованное в тип protobuf -func ConvertVariableToProtobufType(Table1 *types.Table, Column1 *types.Column, VariableName string) string { - Otvet := "" +//// ConvertVariableToProtobufType - возвращает имя переменной + имя колонки, преобразованное в тип protobuf +//func ConvertVariableToProtobufType(Column1 *types.Column, VariableName string) string { +// Otvet := "" +// +// if Column1 == nil { +// return Otvet +// } +// +// Otvet = VariableName +// +// switch Column1.TypeGo { +// case "time.Time": +// Otvet = "timestamppb.New(" + VariableName + ")" +// case "uuid.UUID": +// Otvet = VariableName + ".String()" +// } +// +// return Otvet +//} - if Column1 == nil { - return Otvet - } - - Otvet = VariableName - - switch Column1.TypeGo { - case "time.Time": - Otvet = "timestamppb.New(" + VariableName + ")" - case "uuid.UUID": - Otvet = VariableName + ".String()" - } - - return Otvet -} - -// ConvertProtobufTypeToGolangType - возвращает имя переменной + имя колонки, преобразованное в тип golang из protobuf -func ConvertProtobufTypeToGolangType(Table1 *types.Table, Column1 *types.Column, VariableName string) (VariableColumn string, GolangCode string) { - RequestColumnName := FindRequestColumnName(Table1, Column1) +// ConvertProtobufVariableToGolangVariable - возвращает имя переменной + имя колонки, преобразованное в тип golang из protobuf +func ConvertProtobufVariableToGolangVariable(Table1 *types.Table, Column1 *types.Column, VariableName string) (VariableColumn string, GolangCode string) { + RequestColumnName := FindRequestFieldName(Table1, Column1) VariableColumn = VariableName + RequestColumnName - //GolangCode := "" - - //TableName := Table1.Name - //IDName := Column1.Name - - //alias в Int64 - //TextConvert, ok := types.MapConvertID[TableName+"."+IDName] - //if ok == true { - // VariableColumn = TextConvert + "(" + VariableName + RequestColumnName + ")" - // return VariableColumn, GolangCode - //} - //time.Time в timestamppb switch Column1.TypeGo { case "time.Time": @@ -2023,7 +2011,7 @@ func ConvertProtobufTypeToGolangType(Table1 *types.Table, Column1 *types.Column, // ConvertProtobufTypeToGolangAlias - возвращает имя переменной + имя колонки, преобразованное в тип golang(alias) из protobuf func ConvertProtobufTypeToGolangAlias(Table1 *types.Table, Column1 *types.Column, VariableName string) (VariableColumn string, GolangCode string) { - RequestColumnName := FindRequestColumnName(Table1, Column1) + RequestColumnName := FindRequestFieldName(Table1, Column1) VariableColumn = VariableName + RequestColumnName //GolangCode := "" @@ -2391,8 +2379,8 @@ func Replace_Model_ID_Test_ManyPK(Text string, Table1 *types.Table) string { for _, Column1 := range MassPK { Name := strings.ToUpper(Column1.NameGo) VariableName := Table1.NameGo + "_" + Name + "_Test" - Text1 := ConvertVariableToProtobufType(Table1, Column1, VariableName) - RequestColumnName := FindRequestColumnName(Table1, Column1) + Text1 := ConvertGolangVariableToProtobufVariable(Column1, VariableName) + RequestColumnName := FindRequestFieldName(Table1, Column1) TextNew = TextNew + "\tRequest." + RequestColumnName + " = " + Text1 + "\n" } Otvet = strings.ReplaceAll(Otvet, TextFind, TextNew) @@ -2403,8 +2391,8 @@ func Replace_Model_ID_Test_ManyPK(Text string, Table1 *types.Table) string { for _, Column1 := range MassPK { Name := strings.ToUpper(Column1.NameGo) VariableName := Table1.NameGo + "_" + Name + "_Test" - Text1 := ConvertVariableToProtobufType(Table1, Column1, VariableName) - RequestColumnName := FindRequestColumnName(Table1, Column1) + Text1 := ConvertGolangVariableToProtobufVariable(Column1, VariableName) + RequestColumnName := FindRequestFieldName(Table1, Column1) TextNew = TextNew + "\tRequest2." + RequestColumnName + " = " + Text1 + "\n" } Otvet = strings.ReplaceAll(Otvet, TextFind, TextNew) @@ -2498,7 +2486,7 @@ func ReplaceTextRequestID_PrimaryKey1(Text string, Table1 *types.Table, Variable TextRequestID, TextID := FindTextProtobufRequest(Table1) - _, GolangCode := ConvertProtobufTypeToGolangType(Table1, ColumnPK, "Request.") + _, GolangCode := ConvertProtobufVariableToGolangVariable(Table1, ColumnPK, "Request.") if GolangCode != "" { Otvet = strings.ReplaceAll(Otvet, "ID := "+VariableName+".ID", GolangCode) Otvet = strings.ReplaceAll(Otvet, VariableName+".ID = ", VariableName+"."+TextID+" = ") @@ -2543,7 +2531,7 @@ func ReplaceIDtoID1(Text string, Table1 *types.Table) string { Otvet := Text PrimaryKeyColumn := FindPrimaryKeyColumn(Table1) - OtvetColumnName := ConvertGolangTypeToProtobufType(Table1, PrimaryKeyColumn, "") + OtvetColumnName := ConvertGolangVariableToProtobufVariable(PrimaryKeyColumn, "") if OtvetColumnName == "" { return Otvet } @@ -2566,7 +2554,7 @@ func FindTextIDMany(Table1 *types.Table) (TextNames, TextNamesTypes, TextProtoNa //Comma := "" //MassPrimaryKey := FindPrimaryKeyColumns(Table1) //for _, PrimaryKey1 := range MassPrimaryKey { - // OtvetColumnName := ConvertGolangTypeToProtobufType(Table1, PrimaryKey1, "") + // OtvetColumnName := ConvertGolangVariableToProtobufVariable(Table1, PrimaryKey1, "") // if OtvetColumnName == "" { // continue // } @@ -2594,7 +2582,7 @@ func FindTextID_VariableName_Many(Table1 *types.Table, VariableName string) (Tex Comma := "" MassPrimaryKey := FindPrimaryKeyColumns(Table1) for _, PrimaryKey1 := range MassPrimaryKey { - OtvetColumnName := ConvertGolangTypeToProtobufType(Table1, PrimaryKey1, "") + OtvetColumnName := ConvertGolangVariableToProtobufVariable(PrimaryKey1, "") if OtvetColumnName == "" { continue } @@ -2763,8 +2751,8 @@ func FindNegativeValue(TypeGo string) string { return Otvet } -// FindRequestColumnName - возвращает название колонки в Request -func FindRequestColumnName(Table1 *types.Table, Column1 *types.Column) string { +// FindRequestFieldName - возвращает название колонки в Request +func FindRequestFieldName(Table1 *types.Table, Column1 *types.Column) string { Otvet := "" _, Otvet, _, _ = FindTextProtobufRequest_ID_Type(Table1, Column1, "") @@ -2882,7 +2870,7 @@ func ReplaceColumnNameM(Text string, Column *types.Column) string { func ReplaceIntFromProtoRequest(Text string, Table1 *types.Table, Column *types.Column) string { Otvet := Text - Variable, Golang_code := ConvertProtobufTypeToGolangType(Table1, Column, "Request.") + Variable, Golang_code := ConvertProtobufVariableToGolangVariable(Table1, Column, "Request.") TextNew := "Request." + Variable if Golang_code != "" { @@ -2891,3 +2879,141 @@ func ReplaceIntFromProtoRequest(Text string, Table1 *types.Table, Column *types. return Otvet } + +// FindRequestFieldName_FromMass - возвращает имя поля для Request protobuf +func FindRequestFieldName_FromMass(Column *types.Column, MassColumns []*types.Column) string { + Otvet := "" + + TypeProto := ConvertGolangTypeNameToProtobufTypeName(Column.TypeGo) + + Number := 0 + for _, Column1 := range MassColumns { + TypeProto1 := ConvertGolangTypeNameToProtobufTypeName(Column1.TypeGo) + if TypeProto == TypeProto1 { + Number = Number + 1 + } + + if Column == Column1 { + break + } + + } + Suffix := "_" + strconv.Itoa(Number) + + Otvet = ConvertGolangTypeNameToProtobufFieldName(Column.Type) + Otvet = Otvet + Suffix + + return Otvet +} + +// ConvertGolangTypeNameToProtobufFieldName - возвращает имя поля для protobuf +func ConvertGolangTypeNameToProtobufFieldName(TypeGo string) string { + Otvet := "" + + switch TypeGo { + case "time.Time": + Otvet = "Date" + case "string": + Otvet = "String" + case "int64", "int": + Otvet = "Int64" + case "int32": + Otvet = "Int32" + case "int16": + Otvet = "Int32" + case "int8": + Otvet = "Int32" + case "uint64": + Otvet = "Uint64" + case "uint32": + Otvet = "Uint32" + case "uint16": + Otvet = "Uint32" + case "uint8": + Otvet = "Uint32" + case "bool": + Otvet = "Bool" + case "float32": + Otvet = "Float32" + case "float64": + Otvet = "Float64" + case "uuid.UUID": + Otvet = "String" + } + + return Otvet +} + +// ConvertGolangTypeNameToProtobufTypeName - возвращает имя типа для protobuf +func ConvertGolangTypeNameToProtobufTypeName(TypeGo string) string { + Otvet := "" + + switch TypeGo { + case "time.Time": + Otvet = "google.protobuf.Timestamp" + case "string": + Otvet = "string" + case "int64", "int": + Otvet = "int64" + case "int32": + Otvet = "int32" + case "uint64": + Otvet = "uint64" + case "uint32": + Otvet = "uint32" + case "byte": + Otvet = "uint32" + case "[]byte": + Otvet = "bytes" + case "bool": + Otvet = "bool" + case "float32": + Otvet = "float" + case "float64": + Otvet = "double" + case "uuid.UUID": + Otvet = "string" + } + + return Otvet +} + +// FindMassColumns_from_MassColumnsString - преобразует массив строк названий колонок в массив столбцов +func FindMassColumns_from_MassColumnsString(Table1 *types.Table, MassColumnsString []string) []*types.Column { + Otvet := make([]*types.Column, len(MassColumnsString)) + + for i, ColumnName := range MassColumnsString { + Column1, ok := Table1.MapColumns[ColumnName] + if ok == false { + log.Panic(Table1.Name + " .MapColumns[" + ColumnName + "] = false") + } + Otvet[i] = Column1 + } + return Otvet +} + +// ConvertProtobufVariableToGolangVariable_with_MassColumns - возвращает имя переменной + имя колонки, преобразованное в тип golang из protobuf +func ConvertProtobufVariableToGolangVariable_with_MassColumns(Column *types.Column, MassColumns []*types.Column, VariableName string) (VariableField string, GolangCode string) { + RequestFieldName := FindRequestFieldName_FromMass(Column, MassColumns) + VariableField = VariableName + RequestFieldName + + switch Column.TypeGo { + case "time.Time": + { + VariableField = VariableName + RequestFieldName + ".AsTime()" + return VariableField, GolangCode + } + case "uuid.UUID": + { + VariableField = "uuid.FromBytes([]byte(" + VariableName + RequestFieldName + "))" + GolangCode = Column.NameGo + `, err := uuid.FromBytes([]byte(Request.` + RequestFieldName + `)) + if err != nil { + return &Otvet, err + } +` + return VariableField, GolangCode + } + } + + return VariableField, GolangCode +} diff --git a/internal/create_files/crud_tables/crud_tables_findby_test.go b/internal/create_files/crud_tables/crud_tables_findby_test.go deleted file mode 100644 index d4d9b49..0000000 --- a/internal/create_files/crud_tables/crud_tables_findby_test.go +++ /dev/null @@ -1 +0,0 @@ -package crud_tables diff --git a/internal/create_files/grpc_client_tables/grpc_client_tables.go b/internal/create_files/grpc_client_tables/grpc_client_tables.go index 041e174..1c7e526 100644 --- a/internal/create_files/grpc_client_tables/grpc_client_tables.go +++ b/internal/create_files/grpc_client_tables/grpc_client_tables.go @@ -540,7 +540,7 @@ func FindTextUpdateEveryColumn1(TextGRPC_ClientUpdateFunc string, Table1 *types. Otvet = create_files.ReplacePrimaryKeyM_ID(Otvet, Table1) // - ColumnNameGolang := create_files.ConvertGolangTypeToProtobufType(Table1, Column1, "m") + ColumnNameGolang := create_files.ConvertGolangVariableToProtobufVariable(Column1, "m") _, IDTypeGo := create_files.FindPrimaryKeyNameTypeGo(Table1) diff --git a/internal/create_files/server_grpc_tables/server_grpc_tables.go b/internal/create_files/server_grpc_tables/server_grpc_tables.go index b989d3d..60610e5 100644 --- a/internal/create_files/server_grpc_tables/server_grpc_tables.go +++ b/internal/create_files/server_grpc_tables/server_grpc_tables.go @@ -81,6 +81,33 @@ func CreateAllFiles(MapAll map[string]*types.Table) error { } } + // + err = CreateFilesFindBy(Table1) + if err != nil { + log.Error("CreateFilesFindBy() table: ", Table1.Name, " error: ", err) + return err + } + + // + err = CreateFilesFindByTest(Table1) + if err != nil { + log.Error("CreateFilesFindByTest() table: ", Table1.Name, " error: ", err) + return err + } + + // + err = CreateFilesFindMassBy(Table1) + if err != nil { + log.Error("CreateFilesFindMassBy() table: ", Table1.Name, " error: ", err) + return err + } + + // + err = CreateFilesFindMassByTest(Table1) + if err != nil { + log.Error("CreateFilesFindMassByTest() table: ", Table1.Name, " error: ", err) + return err + } } } return err @@ -537,7 +564,7 @@ func FindTextUpdateEveryColumn1(TextGRPCServerUpdateFunc string, Table1 *types.T Otvet = create_files.ReplacePrimaryKeyOtvetID(Otvet, Table1) Otvet = create_files.ReplacePrimaryKeyM_ID(Otvet, Table1) - //ColumnNameGolang := create_files.ConvertGolangTypeToProtobufType(Table1, Column1, "m") + //ColumnNameGolang := create_files.ConvertGolangVariableToProtobufVariable(Table1, Column1, "m") Otvet = strings.ReplaceAll(Otvet, config.Settings.TEXT_TEMPLATE_MODEL+"_Update", ModelName+"_"+FuncName) Otvet = strings.ReplaceAll(Otvet, config.Settings.TEXT_TEMPLATE_MODEL, ModelName) @@ -716,7 +743,7 @@ func FindTextUpdateEveryColumnTest1(TextGRPCServerUpdateFunc string, Table1 *typ ColumnName := Column1.NameGo FuncName := "Update_" + ColumnName _, TextRequestField, TextRequestFieldGolang, _ := create_files.FindTextProtobufRequest_ID_Type(Table1, Column1, "Request2.") - TextModelColumnName := create_files.ConvertGolangTypeToProtobufType(Table1, Column1, "m") + TextModelColumnName := create_files.ConvertGolangVariableToProtobufVariable(Column1, "m") TextRequestID := create_files.FindTextProtobufRequest_ManyPK(Table1) //Postgres_ID_Test = ID Minimum diff --git a/internal/create_files/server_grpc_tables/server_grpc_tables_findby.go b/internal/create_files/server_grpc_tables/server_grpc_tables_findby.go new file mode 100644 index 0000000..dd35278 --- /dev/null +++ b/internal/create_files/server_grpc_tables/server_grpc_tables_findby.go @@ -0,0 +1,313 @@ +package server_grpc_tables + +import ( + "github.com/ManyakRus/crud_generator/internal/config" + "github.com/ManyakRus/crud_generator/internal/constants" + "github.com/ManyakRus/crud_generator/internal/create_files" + "github.com/ManyakRus/crud_generator/internal/types" + "github.com/ManyakRus/starter/log" + "github.com/ManyakRus/starter/micro" + "os" + "strings" +) + +// CreateFilesFindBy - создаёт 1 файл в папке server_grpc +func CreateFilesFindBy(Table1 *types.Table) error { + var err error + + if len(types.MassFindBy) == 0 { + return err + } + + //чтение файлов + DirBin := micro.ProgramDir_bin() + DirTemplates := DirBin + config.Settings.TEMPLATE_FOLDERNAME + micro.SeparatorFile() + DirReady := DirBin + config.Settings.READY_FOLDERNAME + micro.SeparatorFile() + DirTemplatesGRPCServer := DirTemplates + config.Settings.TEMPLATE_FOLDERNAME_GRPC_SERVER + micro.SeparatorFile() + DirReadyGRPCServer := DirReady + config.Settings.TEMPLATE_FOLDERNAME_GRPC_SERVER + micro.SeparatorFile() + + FilenameTemplateGRPCServer := DirTemplatesGRPCServer + config.Settings.TEMPLATES_GRPC_SERVER_FINDBY_FILENAME + TableName := strings.ToLower(Table1.Name) + DirReadyTable := DirReadyGRPCServer + FilenameReady := DirReadyTable + micro.SeparatorFile() + "server_grpc_" + TableName + "_findby.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(FilenameTemplateGRPCServer) + if err != nil { + log.Panic("ReadFile() ", FilenameTemplateGRPCServer, " error: ", err) + } + TextGRPCServer := string(bytes) + + //загрузим шаблон файла функции + FilenameTemplateGRPCServerFunction := DirTemplatesGRPCServer + config.Settings.TEMPLATES_GRPC_SERVER_FINDBY_FUNCTION_FILENAME + bytes, err = os.ReadFile(FilenameTemplateGRPCServerFunction) + if err != nil { + log.Panic("ReadFile() ", FilenameTemplateGRPCServerFunction, " error: ", err) + } + TextTemplatedFunction := string(bytes) + + //заменим имя пакета на новое + TextGRPCServer = create_files.ReplacePackageName(TextGRPCServer, DirReadyTable) + + ModelName := Table1.NameGo + //заменим импорты + if config.Settings.USE_DEFAULT_TEMPLATE == true { + TextGRPCServer = create_files.DeleteTemplateRepositoryImports(TextGRPCServer) + + ModelTableURL := create_files.FindModelTableURL(TableName) + TextGRPCServer = create_files.AddImport(TextGRPCServer, ModelTableURL) + + CrudTableURL := create_files.FindCrudTableURL(TableName) + TextGRPCServer = create_files.AddImport(TextGRPCServer, CrudTableURL) + + ProtoURL := create_files.FindProtoURL() + TextGRPCServer = create_files.AddImport(TextGRPCServer, ProtoURL) + + } + + //создание функций + TextServerGRPCFunc := CreateFilesFindByTable(Table1, TextTemplatedFunction) + if TextServerGRPCFunc == "" { + return err + } + TextGRPCServer = TextGRPCServer + TextServerGRPCFunc + + //создание текста + TextGRPCServer = strings.ReplaceAll(TextGRPCServer, config.Settings.TEXT_TEMPLATE_MODEL, ModelName) + TextGRPCServer = strings.ReplaceAll(TextGRPCServer, config.Settings.TEXT_TEMPLATE_TABLENAME, Table1.Name) + TextGRPCServer = config.Settings.TEXT_MODULE_GENERATED + TextGRPCServer + + //замена импортов на новые URL + TextGRPCServer = create_files.ReplaceServiceURLImports(TextGRPCServer) + + //uuid + TextGRPCServer = create_files.CheckAndAddImportUUID_FromText(TextGRPCServer) + + //alias + TextGRPCServer = create_files.CheckAndAddImportAlias(TextGRPCServer) + + //удаление пустого импорта + TextGRPCServer = create_files.DeleteEmptyImport(TextGRPCServer) + + //удаление пустых строк + TextGRPCServer = create_files.DeleteEmptyLines(TextGRPCServer) + + //запись файла + err = os.WriteFile(FilenameReady, []byte(TextGRPCServer), constants.FILE_PERMISSIONS) + + return err +} + +// CreateFilesFindByTable - создаёт текст всех функций +func CreateFilesFindByTable(Table1 *types.Table, TextTemplateFunction string) string { + Otvet := "" + + for _, TableColumns1 := range types.MassFindBy { + if TableColumns1.TableName != Table1.Name { + continue + } + Otvet1 := CreateFilesFindByTable1(Table1, TextTemplateFunction, TableColumns1.MassColumnNames) + Otvet = Otvet + Otvet1 + } + + return Otvet +} + +// CreateFilesFindByTable1 - создаёт текст всех функций +func CreateFilesFindByTable1(Table1 *types.Table, TextTemplateFunction string, MassColumnsString []string) string { + Otvet := TextTemplateFunction + + // + FieldNamesWithUnderline := "" + FieldNamesWithComma := "" + TextAssign := "" + + MassColumns := create_files.FindMassColumns_from_MassColumnsString(Table1, MassColumnsString) + + // + TextFind := "\t" + `Model.FieldName = Request.RequestFieldName` + "\n" + Underline := "" + Plus := "" + for _, ColumnName1 := range MassColumnsString { + Column1, ok := Table1.MapColumns[ColumnName1] + if ok == false { + log.Panic(Table1.Name + " .MapColumns[" + ColumnName1 + "] = false") + } + //RequestFieldName := create_files.FindRequestFieldName_FromMass(Column1, MassColumns) + TextRequest, TextRequestCode := create_files.ConvertProtobufVariableToGolangVariable_with_MassColumns(Column1, MassColumns, "Request.") + if TextRequestCode != "" { + TextAssign = TextAssign + TextRequestCode + "\n" + } else { + TextAssign = TextAssign + "\t" + "Model." + Column1.NameGo + " = " + TextRequest + "\n" + } + FieldNamesWithUnderline = FieldNamesWithUnderline + Underline + Column1.NameGo + FieldNamesWithComma = FieldNamesWithComma + Plus + Column1.NameGo + Underline = "_" + Plus = "+" + } + Otvet = strings.ReplaceAll(Otvet, TextFind, TextAssign) + Otvet = strings.ReplaceAll(Otvet, "FieldNamesWithUnderline", FieldNamesWithUnderline) + Otvet = strings.ReplaceAll(Otvet, "FieldNamesWithPlus", FieldNamesWithComma) + + return Otvet +} + +// CreateFilesFindByTest - создаёт 1 файл в папке server_grpc +func CreateFilesFindByTest(Table1 *types.Table) error { + var err error + + if len(types.MassFindBy) == 0 { + return err + } + + //чтение файлов + DirBin := micro.ProgramDir_bin() + DirTemplates := DirBin + config.Settings.TEMPLATE_FOLDERNAME + micro.SeparatorFile() + DirReady := DirBin + config.Settings.READY_FOLDERNAME + micro.SeparatorFile() + DirTemplatesGRPCServer := DirTemplates + config.Settings.TEMPLATE_FOLDERNAME_GRPC_SERVER + micro.SeparatorFile() + DirReadyGRPCServer := DirReady + config.Settings.TEMPLATE_FOLDERNAME_GRPC_SERVER + micro.SeparatorFile() + + FilenameTemplateGRPCServer := DirTemplatesGRPCServer + config.Settings.TEMPLATES_GRPC_SERVER_FINDBY_FILENAME + TableName := strings.ToLower(Table1.Name) + DirReadyTable := DirReadyGRPCServer + FilenameReady := DirReadyTable + micro.SeparatorFile() + "server_grpc_" + TableName + "_findby_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(FilenameTemplateGRPCServer) + if err != nil { + log.Panic("ReadFile() ", FilenameTemplateGRPCServer, " error: ", err) + } + TextGRPCServer := string(bytes) + + //загрузим шаблон файла функции + FilenameTemplateGRPCServerFunction := DirTemplatesGRPCServer + config.Settings.TEMPLATES_GRPC_SERVER_FINDBY_FUNCTION_TEST_FILENAME + bytes, err = os.ReadFile(FilenameTemplateGRPCServerFunction) + if err != nil { + log.Panic("ReadFile() ", FilenameTemplateGRPCServerFunction, " error: ", err) + } + TextTemplatedFunction := string(bytes) + + //заменим имя пакета на новое + TextGRPCServer = create_files.ReplacePackageName(TextGRPCServer, DirReadyTable) + + ModelName := Table1.NameGo + //заменим импорты + if config.Settings.USE_DEFAULT_TEMPLATE == true { + TextGRPCServer = create_files.DeleteTemplateRepositoryImports(TextGRPCServer) + + ModelTableURL := create_files.FindModelTableURL(TableName) + TextGRPCServer = create_files.AddImport(TextGRPCServer, ModelTableURL) + + CrudStarterURL := create_files.FindCrudStarterURL() + TextGRPCServer = create_files.AddImport(TextGRPCServer, CrudStarterURL) + + ProtoURL := create_files.FindProtoURL() + TextGRPCServer = create_files.AddImport(TextGRPCServer, ProtoURL) + + } + + //создание функций + TextGRPCServerFunc := CreateFilesFindByTestTable(Table1, TextTemplatedFunction) + if TextGRPCServerFunc == "" { + return err + } + TextGRPCServer = TextGRPCServer + TextGRPCServerFunc + + //создание текста + TextGRPCServer = strings.ReplaceAll(TextGRPCServer, config.Settings.TEXT_TEMPLATE_MODEL, ModelName) + TextGRPCServer = strings.ReplaceAll(TextGRPCServer, config.Settings.TEXT_TEMPLATE_TABLENAME, Table1.Name) + TextGRPCServer = config.Settings.TEXT_MODULE_GENERATED + TextGRPCServer + + //замена импортов на новые URL + TextGRPCServer = create_files.ReplaceServiceURLImports(TextGRPCServer) + + //uuid + TextGRPCServer = create_files.CheckAndAddImportUUID_FromText(TextGRPCServer) + + //alias + TextGRPCServer = create_files.CheckAndAddImportAlias(TextGRPCServer) + + //удаление пустого импорта + TextGRPCServer = create_files.DeleteEmptyImport(TextGRPCServer) + + //удаление пустых строк + TextGRPCServer = create_files.DeleteEmptyLines(TextGRPCServer) + + //запись файла + err = os.WriteFile(FilenameReady, []byte(TextGRPCServer), constants.FILE_PERMISSIONS) + + return err +} + +// CreateFilesFindByTestTable - создаёт текст всех функций +func CreateFilesFindByTestTable(Table1 *types.Table, TextTemplateFunction string) string { + Otvet := "" + + for _, TableColumns1 := range types.MassFindBy { + if TableColumns1.TableName != Table1.Name { + continue + } + Otvet1 := CreateFilesFindByTestTable1(Table1, TextTemplateFunction, TableColumns1.MassColumnNames) + Otvet = Otvet + Otvet1 + } + + return Otvet +} + +// CreateFilesFindByTestTable1 - создаёт текст всех функций +func CreateFilesFindByTestTable1(Table1 *types.Table, TextTemplateFunction string, MassColumns1 []string) string { + Otvet := TextTemplateFunction + + // + FieldNamesWithUnderline := "" + FieldNamesWithComma := "" + + // + TextAssignFind := "\t" + `Request.RequestFieldName = 0` + "\n" + TextAssign := "" + TextFieldName_TEST := "" + + MassColumns := create_files.FindMassColumns_from_MassColumnsString(Table1, MassColumns1) + + Underline := "" + Comma := "" + for _, ColumnName1 := range MassColumns1 { + Column1, ok := Table1.MapColumns[ColumnName1] + if ok == false { + log.Panic(Table1.Name + " .MapColumns[" + ColumnName1 + "] = false") + } + DefaultValue := create_files.FindTextDefaultValue(Column1.TypeGo) + RequestFieldName := create_files.FindRequestFieldName_FromMass(Column1, MassColumns) + TextAssign = TextAssign + "\t" + `Request.` + RequestFieldName + ` = ` + DefaultValue + "\n" + FieldNamesWithUnderline = FieldNamesWithUnderline + Underline + Column1.NameGo + FieldNamesWithComma = FieldNamesWithComma + Comma + Column1.NameGo + TextFieldName_TEST = TextFieldName_TEST + Comma + DefaultValue + + Underline = "_" + Comma = ", " + } + Otvet = strings.ReplaceAll(Otvet, TextAssignFind, TextAssign) + Otvet = strings.ReplaceAll(Otvet, "FieldNamesWithUnderline", FieldNamesWithUnderline) + Otvet = strings.ReplaceAll(Otvet, "FieldNamesWithComma", FieldNamesWithComma) + Otvet = strings.ReplaceAll(Otvet, "FieldNamesDefault", TextFieldName_TEST) + + return Otvet +} diff --git a/internal/create_files/server_grpc_tables/server_grpc_tables_findmassby.go b/internal/create_files/server_grpc_tables/server_grpc_tables_findmassby.go new file mode 100644 index 0000000..e6c9909 --- /dev/null +++ b/internal/create_files/server_grpc_tables/server_grpc_tables_findmassby.go @@ -0,0 +1,308 @@ +package server_grpc_tables + +import ( + "github.com/ManyakRus/crud_generator/internal/config" + "github.com/ManyakRus/crud_generator/internal/constants" + "github.com/ManyakRus/crud_generator/internal/create_files" + "github.com/ManyakRus/crud_generator/internal/types" + "github.com/ManyakRus/starter/log" + "github.com/ManyakRus/starter/micro" + "os" + "strings" +) + +// CreateFilesFindMassBy - создаёт 1 файл в папке server_grpc +func CreateFilesFindMassBy(Table1 *types.Table) error { + var err error + + if len(types.MassFindMassBy) == 0 { + return err + } + + //чтение файлов + DirBin := micro.ProgramDir_bin() + DirTemplates := DirBin + config.Settings.TEMPLATE_FOLDERNAME + micro.SeparatorFile() + DirReady := DirBin + config.Settings.READY_FOLDERNAME + micro.SeparatorFile() + DirTemplatesGRPCServer := DirTemplates + config.Settings.TEMPLATE_FOLDERNAME_GRPC_SERVER + micro.SeparatorFile() + DirReadyGRPCServer := DirReady + config.Settings.TEMPLATE_FOLDERNAME_GRPC_SERVER + micro.SeparatorFile() + + FilenameTemplateGRPCServer := DirTemplatesGRPCServer + config.Settings.TEMPLATES_GRPC_SERVER_FINDMASSBY_FILENAME + TableName := strings.ToLower(Table1.Name) + DirReadyTable := DirReadyGRPCServer + "server_grpc_" + TableName + FilenameReady := DirReadyTable + micro.SeparatorFile() + "server_grpc_" + TableName + "_findmassby.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(FilenameTemplateGRPCServer) + if err != nil { + log.Panic("ReadFile() ", FilenameTemplateGRPCServer, " error: ", err) + } + TextGRPCServer := string(bytes) + + //загрузим шаблон файла функции + FilenameTemplateGRPCServerFunction := DirTemplatesGRPCServer + config.Settings.TEMPLATES_GRPC_SERVER_FINDMASSBY_FUNCTION_FILENAME + bytes, err = os.ReadFile(FilenameTemplateGRPCServerFunction) + if err != nil { + log.Panic("ReadFile() ", FilenameTemplateGRPCServerFunction, " error: ", err) + } + TextTemplatedFunction := string(bytes) + + //заменим имя пакета на новое + TextGRPCServer = create_files.ReplacePackageName(TextGRPCServer, DirReadyTable) + + ModelName := Table1.NameGo + //заменим импорты + if config.Settings.USE_DEFAULT_TEMPLATE == true { + TextGRPCServer = create_files.DeleteTemplateRepositoryImports(TextGRPCServer) + + ModelTableURL := create_files.FindModelTableURL(TableName) + TextGRPCServer = create_files.AddImport(TextGRPCServer, ModelTableURL) + + CrudTableURL := create_files.FindCrudTableURL(TableName) + TextGRPCServer = create_files.AddImport(TextGRPCServer, CrudTableURL) + + ProtoURL := create_files.FindProtoURL() + TextGRPCServer = create_files.AddImport(TextGRPCServer, ProtoURL) + + } + + //создание функций + TextGRPCServerFunc := CreateFilesFindMassByTable(Table1, TextTemplatedFunction) + if TextGRPCServerFunc == "" { + return err + } + TextGRPCServer = TextGRPCServer + TextGRPCServerFunc + + //создание текста + TextGRPCServer = strings.ReplaceAll(TextGRPCServer, config.Settings.TEXT_TEMPLATE_MODEL, ModelName) + TextGRPCServer = strings.ReplaceAll(TextGRPCServer, config.Settings.TEXT_TEMPLATE_TABLENAME, Table1.Name) + TextGRPCServer = config.Settings.TEXT_MODULE_GENERATED + TextGRPCServer + + //замена импортов на новые URL + TextGRPCServer = create_files.ReplaceServiceURLImports(TextGRPCServer) + + //uuid + TextGRPCServer = create_files.CheckAndAddImportUUID_FromText(TextGRPCServer) + + //alias + TextGRPCServer = create_files.CheckAndAddImportAlias(TextGRPCServer) + + //удаление пустого импорта + TextGRPCServer = create_files.DeleteEmptyImport(TextGRPCServer) + + //удаление пустых строк + TextGRPCServer = create_files.DeleteEmptyLines(TextGRPCServer) + + //запись файла + err = os.WriteFile(FilenameReady, []byte(TextGRPCServer), constants.FILE_PERMISSIONS) + + return err +} + +// CreateFilesFindMassByTable - создаёт текст всех функций +func CreateFilesFindMassByTable(Table1 *types.Table, TextTemplateFunction string) string { + Otvet := "" + + for _, TableColumns1 := range types.MassFindMassBy { + if TableColumns1.TableName != Table1.Name { + continue + } + Otvet1 := CreateFilesFindMassByTable1(Table1, TextTemplateFunction, TableColumns1.MassColumnNames) + Otvet = Otvet + Otvet1 + } + + return Otvet +} + +// CreateFilesFindMassByTable1 - создаёт текст всех функций +func CreateFilesFindMassByTable1(Table1 *types.Table, TextTemplateFunction string, MassColumns1 []string) string { + Otvet := TextTemplateFunction + + // + FieldNamesWithUnderline := "" + FieldNamesWithComma := "" + ColumnNamesWithComma := "" + + // + TextFind := "\t" + `tx = tx.Where("ColumnName = ?", m.FieldName)` + "\n" + TextWhere := "" + Underline := "" + Plus := "" + Comma := "" + for _, ColumnName1 := range MassColumns1 { + Column1, ok := Table1.MapColumns[ColumnName1] + if ok == false { + log.Panic(Table1.Name + " .MapColumns[" + ColumnName1 + "] = false") + } + TextWhere = TextWhere + "\t" + `tx = tx.Where("` + ColumnName1 + ` = ?", m.` + Column1.NameGo + `)` + "\n" + FieldNamesWithUnderline = FieldNamesWithUnderline + Underline + Column1.NameGo + FieldNamesWithComma = FieldNamesWithComma + Plus + Column1.NameGo + ColumnNamesWithComma = ColumnNamesWithComma + Comma + Column1.Name + + Underline = "_" + Plus = "+" + Comma = ", " + } + Otvet = strings.ReplaceAll(Otvet, TextFind, TextWhere) + Otvet = strings.ReplaceAll(Otvet, "FieldNamesWithUnderline", FieldNamesWithUnderline) + Otvet = strings.ReplaceAll(Otvet, "FieldNamesWithPlus", FieldNamesWithComma) + Otvet = strings.ReplaceAll(Otvet, "ColumnNamesWithComma", ColumnNamesWithComma) + + return Otvet +} + +// CreateFilesFindMassByTest - создаёт 1 файл в папке server_grpc +func CreateFilesFindMassByTest(Table1 *types.Table) error { + var err error + + if len(types.MassFindMassBy) == 0 { + return err + } + + //чтение файлов + DirBin := micro.ProgramDir_bin() + DirTemplates := DirBin + config.Settings.TEMPLATE_FOLDERNAME + micro.SeparatorFile() + DirReady := DirBin + config.Settings.READY_FOLDERNAME + micro.SeparatorFile() + DirTemplatesGRPCServer := DirTemplates + config.Settings.TEMPLATE_FOLDERNAME_GRPC_SERVER + micro.SeparatorFile() + DirReadyGRPCServer := DirReady + config.Settings.TEMPLATE_FOLDERNAME_GRPC_SERVER + micro.SeparatorFile() + + FilenameTemplateGRPCServer := DirTemplatesGRPCServer + config.Settings.TEMPLATES_GRPC_SERVER_FINDMASSBY_FILENAME + TableName := strings.ToLower(Table1.Name) + DirReadyTable := DirReadyGRPCServer + "server_grpc_" + TableName + FilenameReady := DirReadyTable + micro.SeparatorFile() + "server_grpc_" + TableName + "_findmassby_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(FilenameTemplateGRPCServer) + if err != nil { + log.Panic("ReadFile() ", FilenameTemplateGRPCServer, " error: ", err) + } + TextGRPCServer := string(bytes) + + //загрузим шаблон файла функции + FilenameTemplateGRPCServerFunction := DirTemplatesGRPCServer + config.Settings.TEMPLATES_GRPC_SERVER_FINDMASSBY_FUNCTION_TEST_FILENAME + bytes, err = os.ReadFile(FilenameTemplateGRPCServerFunction) + if err != nil { + log.Panic("ReadFile() ", FilenameTemplateGRPCServerFunction, " error: ", err) + } + TextTemplatedFunction := string(bytes) + + //заменим имя пакета на новое + TextGRPCServer = create_files.ReplacePackageName(TextGRPCServer, DirReadyTable) + + ModelName := Table1.NameGo + //заменим импорты + if config.Settings.USE_DEFAULT_TEMPLATE == true { + TextGRPCServer = create_files.DeleteTemplateRepositoryImports(TextGRPCServer) + + ModelTableURL := create_files.FindModelTableURL(TableName) + TextGRPCServer = create_files.AddImport(TextGRPCServer, ModelTableURL) + + CrudStarterURL := create_files.FindCrudStarterURL() + TextGRPCServer = create_files.AddImport(TextGRPCServer, CrudStarterURL) + + ProtoURL := create_files.FindProtoURL() + TextGRPCServer = create_files.AddImport(TextGRPCServer, ProtoURL) + + } + + //создание функций + TextGRPCServerFunc := CreateFilesFindMassByTestTable(Table1, TextTemplatedFunction) + if TextGRPCServerFunc == "" { + return err + } + TextGRPCServer = TextGRPCServer + TextGRPCServerFunc + + //создание текста + TextGRPCServer = strings.ReplaceAll(TextGRPCServer, config.Settings.TEXT_TEMPLATE_MODEL, ModelName) + TextGRPCServer = strings.ReplaceAll(TextGRPCServer, config.Settings.TEXT_TEMPLATE_TABLENAME, Table1.Name) + TextGRPCServer = config.Settings.TEXT_MODULE_GENERATED + TextGRPCServer + + //замена импортов на новые URL + TextGRPCServer = create_files.ReplaceServiceURLImports(TextGRPCServer) + + //uuid + TextGRPCServer = create_files.CheckAndAddImportUUID_FromText(TextGRPCServer) + + //alias + TextGRPCServer = create_files.CheckAndAddImportAlias(TextGRPCServer) + + //удаление пустого импорта + TextGRPCServer = create_files.DeleteEmptyImport(TextGRPCServer) + + //удаление пустых строк + TextGRPCServer = create_files.DeleteEmptyLines(TextGRPCServer) + + //запись файла + err = os.WriteFile(FilenameReady, []byte(TextGRPCServer), constants.FILE_PERMISSIONS) + + return err +} + +// CreateFilesFindMassByTestTable - создаёт текст всех функций +func CreateFilesFindMassByTestTable(Table1 *types.Table, TextTemplateFunction string) string { + Otvet := "" + + for _, TableColumns1 := range types.MassFindMassBy { + if TableColumns1.TableName != Table1.Name { + continue + } + Otvet1 := CreateFilesFindMassByTestTable1(Table1, TextTemplateFunction, TableColumns1.MassColumnNames) + Otvet = Otvet + Otvet1 + } + + return Otvet +} + +// CreateFilesFindMassByTestTable1 - создаёт текст всех функций +func CreateFilesFindMassByTestTable1(Table1 *types.Table, TextTemplateFunction string, MassColumns1 []string) string { + Otvet := TextTemplateFunction + + // + FieldNamesWithUnderline := "" + FieldNamesWithComma := "" + + // + TextAssignFind := "\t" + `Otvet.FieldName = 0` + "\n" + TextAssign := "" + TextFieldName_TEST := "" + + Underline := "" + Comma := "" + for _, ColumnName1 := range MassColumns1 { + Column1, ok := Table1.MapColumns[ColumnName1] + if ok == false { + log.Panic(Table1.Name + " .MapColumns[" + ColumnName1 + "] = false") + } + DefaultValue := create_files.FindTextDefaultValue(Column1.TypeGo) + TextAssign = TextAssign + "\t" + `Otvet.` + Column1.NameGo + ` = ` + DefaultValue + "\n" + FieldNamesWithUnderline = FieldNamesWithUnderline + Underline + Column1.NameGo + FieldNamesWithComma = FieldNamesWithComma + Comma + Column1.NameGo + TextFieldName_TEST = TextFieldName_TEST + Comma + DefaultValue + + Underline = "_" + Comma = ", " + } + Otvet = strings.ReplaceAll(Otvet, TextAssignFind, TextAssign) + Otvet = strings.ReplaceAll(Otvet, "FieldNamesWithUnderline", FieldNamesWithUnderline) + Otvet = strings.ReplaceAll(Otvet, "FieldNamesWithComma", FieldNamesWithComma) + Otvet = strings.ReplaceAll(Otvet, "FieldNamesDefault", TextFieldName_TEST) + + return Otvet +}