1
0
mirror of https://github.com/ManyakRus/crud_generator.git synced 2025-01-03 01:22:21 +02:00

сделал CreateFilesUpdateEveryColumn()

This commit is contained in:
Nikitin Aleksandr 2024-02-14 16:04:22 +03:00
parent acad10242c
commit 92a0e6d71f
14 changed files with 374 additions and 78 deletions

View File

@ -15,6 +15,8 @@ import "google/protobuf/timestamp.proto";
service Sync_service {
}
// -------------------------- Request ----------------------------------------------
// RequestId - параметры запроса на сервер
message RequestId {
uint32 VersionModel= 1; //версия структуры модели
@ -34,7 +36,6 @@ message RequestString3 {
string StringFind2 = 3; // строка поиска
string StringFind3 = 4; // строка поиска
}
// RequestId - параметры запроса на сервер
message RequestExtID {
uint32 VersionModel= 1; //версия структуры модели
@ -55,30 +56,22 @@ message RequestInnKpp {
string Kpp =3; // КПП
}
// RequestId - параметры запроса на сервер
// RequestIdId - параметры запроса на сервер
message RequestIdId {
uint32 VersionModel= 1; //версия структуры модели
int64 ID1 = 2; // id записи в БД
int64 ID2 = 3; // id записи в БД
int64 iD1 = 2; // id записи в БД
int64 iD2 = 3; // id записи в БД
}
// Response - параметры ответа на клиент
message Response {
string ModelString = 1; //объект-модель в формате json
// RequestIdIdId - параметры запроса на сервер
message RequestIdIdId {
uint32 VersionModel= 1; //версия структуры модели
int64 iD1 = 2; // id записи в БД
int64 iD2 = 3; // id записи в БД
int64 iD3 = 4; // id записи в БД
}
// ResponseFloat64 - параметры ответа на клиент
message ResponseFloat64 {
double Otvet = 1; //Ответ - число
}
// Response - параметры ответа на клиент
message ResponseEmpty {
}
// RequestDate - параметры запроса на сервер
// RequestDate - параметры запроса на сервер, передаётся Дата time.Time
message RequestDate {
uint32 VersionModel= 1; //версия структуры модели
google.protobuf.Timestamp Date = 2; // строка поиска
@ -102,3 +95,80 @@ message RequestInt32 {
int32 Int32 = 2; // строка поиска
}
// RequestBool - параметры запроса на сервер, передаётся bool
message RequestBool {
uint32 VersionModel= 1; //версия структуры модели
bool Bool = 2; // строка поиска
}
// Request_ID_Date - параметры запроса на сервер, передаётся ID + Дата time.Time
message Request_ID_Date {
uint32 VersionModel= 1; //версия структуры модели
int64 iD = 2; // id записи в БД
google.protobuf.Timestamp Date = 3; // значение поиска
}
// Request_ID_Float64 - параметры запроса на сервер, передаётся ID + float64
message Request_ID_Float64 {
uint32 VersionModel= 1; //версия структуры модели
int64 iD = 2; // id записи в БД
double Float64 = 3; // значение поиска
}
// Request_ID_Float32 - параметры запроса на сервер, передаётся ID + float32
message Request_ID_Float32 {
uint32 VersionModel= 1; //версия структуры модели
int64 iD = 2; // id записи в БД
float Float32 = 3; // значение поиска
}
// Request_ID_Int32 - параметры запроса на сервер, передаётся ID + int32
message Request_ID_Int32 {
uint32 VersionModel= 1; //версия структуры модели
int64 iD = 2; // id записи в БД
int32 Int32 = 3; // значение поиска
}
// Request_ID_Int64 - параметры запроса на сервер, передаётся ID + int64
message Request_ID_Int64 {
uint32 VersionModel= 1; //версия структуры модели
int64 iD = 2; // id записи в БД
int64 Int64 = 3; // значение поиска
}
// Request_ID_Bool - параметры запроса на сервер, передаётся ID + bool
message Request_ID_Bool {
uint32 VersionModel= 1; //версия структуры модели
int64 iD = 2; // id записи в БД
bool Bool = 3; // значение поиска
}
// Request_ID_String - параметры запроса на сервер, передаётся ID + string
message Request_ID_String {
uint32 VersionModel= 1; //версия структуры модели
int64 iD = 2; // id записи в БД
string StringFind = 3; // строка поиска
}
// -------------------------- Response ----------------------------------------------
// Response - возвращает строка json Модель
message Response {
string ModelString = 1; //объект-модель в формате json
}
// ResponseFloat64 - возвращает float64
message ResponseFloat64 {
double Otvet = 1; //Ответ - число
}
// ResponseInt64 - возвращает int64
message ResponseInt64 {
int64 Otvet = 1; //Ответ - число
}
// Response - параметры ответа на клиент
message ResponseEmpty {
}
// Response - параметры ответа на клиент
message ResponseMass {
repeated string MassModelString = 1; //массив объект-модель в формате json
}

View File

@ -12,7 +12,7 @@ func ErrorModelVersion(Model interface{}) error {
TypeName := micro.GetType(Model)
s := constants.TEXT_ERROR_MODEL_VERSION + " " + TypeName
s := grpc_constants.TEXT_ERROR_MODEL_VERSION + " " + TypeName
err = errors.New(s)
return err
}

View File

@ -253,3 +253,15 @@ func Connect_GRPC_NRPC() {
}
}
}
// IsErrorModelVersion - возвращает true если ошибка TEXT_ERROR_MODEL_VERSION
func IsErrorModelVersion(err error) bool {
Otvet := false
sError := err.Error()
if strings.Contains(sError, grpc_constants.TEXT_ERROR_MODEL_VERSION) == true {
Otvet = true
}
return Otvet
}

View File

@ -68,9 +68,8 @@ func (crud Crud_GRPC) Read(m *lawsuit_status_types.LawsuitStatusType) error {
Response, err = grpc_client.Client.LawsuitStatusType_Read(ctx, Request)
}
if err != nil {
sError := err.Error()
if len(sError) >= len(grpc_constants.TEXT_ERROR_MODEL_VERSION) && sError[0:len(grpc_constants.TEXT_ERROR_MODEL_VERSION)] == grpc_constants.TEXT_ERROR_MODEL_VERSION {
log.Panic("table: ", TableName, " error: ", err)
if grpc_client.IsErrorModelVersion(err) == true {
log.Panic(err)
}
return err
}
@ -115,9 +114,8 @@ func (crud Crud_GRPC) Create(m *lawsuit_status_types.LawsuitStatusType) error {
Response, err = grpc_client.Client.LawsuitStatusType_Create(ctx, Request)
}
if err != nil {
sError := err.Error()
if len(sError) >= len(grpc_constants.TEXT_ERROR_MODEL_VERSION) && sError[0:len(grpc_constants.TEXT_ERROR_MODEL_VERSION)] == grpc_constants.TEXT_ERROR_MODEL_VERSION {
log.Panic("table: ", TableName, " error: ", err)
if grpc_client.IsErrorModelVersion(err) == true {
log.Panic(err)
}
return err
}
@ -162,9 +160,8 @@ func (crud Crud_GRPC) Update(m *lawsuit_status_types.LawsuitStatusType) error {
Response, err = grpc_client.Client.LawsuitStatusType_Update(ctx, Request)
}
if err != nil {
sError := err.Error()
if len(sError) >= len(grpc_constants.TEXT_ERROR_MODEL_VERSION) && sError[0:len(grpc_constants.TEXT_ERROR_MODEL_VERSION)] == grpc_constants.TEXT_ERROR_MODEL_VERSION {
log.Panic("table: ", TableName, " error: ", err)
if grpc_client.IsErrorModelVersion(err) == true {
log.Panic(err)
}
return err
}
@ -209,9 +206,8 @@ func (crud Crud_GRPC) Save(m *lawsuit_status_types.LawsuitStatusType) error {
Response, err = grpc_client.Client.LawsuitStatusType_Save(ctx, Request)
}
if err != nil {
sError := err.Error()
if len(sError) >= len(grpc_constants.TEXT_ERROR_MODEL_VERSION) && sError[0:len(grpc_constants.TEXT_ERROR_MODEL_VERSION)] == grpc_constants.TEXT_ERROR_MODEL_VERSION {
log.Panic("table: ", TableName, " error: ", err)
if grpc_client.IsErrorModelVersion(err) == true {
log.Panic(err)
}
return err
}
@ -252,9 +248,8 @@ func (crud Crud_GRPC) Delete(m *lawsuit_status_types.LawsuitStatusType) error {
Response, err = grpc_client.Client.LawsuitStatusType_Delete(ctx, Request)
}
if err != nil {
sError := err.Error()
if len(sError) >= len(grpc_constants.TEXT_ERROR_MODEL_VERSION) && sError[0:len(grpc_constants.TEXT_ERROR_MODEL_VERSION)] == grpc_constants.TEXT_ERROR_MODEL_VERSION {
log.Panic("table: ", TableName, " error: ", err)
if grpc_client.IsErrorModelVersion(err) == true {
log.Panic(err)
}
return err
}
@ -295,9 +290,8 @@ func (crud Crud_GRPC) Restore(m *lawsuit_status_types.LawsuitStatusType) error {
Response, err = grpc_client.Client.LawsuitStatusType_Restore(ctx, Request)
}
if err != nil {
sError := err.Error()
if len(sError) >= len(grpc_constants.TEXT_ERROR_MODEL_VERSION) && sError[0:len(grpc_constants.TEXT_ERROR_MODEL_VERSION)] == grpc_constants.TEXT_ERROR_MODEL_VERSION {
log.Panic("table: ", TableName, " error: ", err)
if grpc_client.IsErrorModelVersion(err) == true {
log.Panic(err)
}
return err
}
@ -339,9 +333,8 @@ func (crud Crud_GRPC) Find_ByExtID(m *lawsuit_status_types.LawsuitStatusType) er
Response, err = grpc_client.Client.LawsuitStatusType_FindByExtID(ctx, Request)
}
if err != nil {
sError := err.Error()
if sError[0:len(grpc_constants.TEXT_ERROR_MODEL_VERSION)] == grpc_constants.TEXT_ERROR_MODEL_VERSION {
log.Panic("table: ", TableName, " error: ", err)
if grpc_client.IsErrorModelVersion(err) == true {
log.Panic(err)
}
return err
}

View File

@ -24,9 +24,8 @@ func (crud Crud_GRPC) Update(m *lawsuit_status_types.LawsuitStatusType) error {
_, err = grpc_client.Client.LawsuitStatusType_Update(ctx, Request)
}
if err != nil {
sError := err.Error()
if len(sError) >= len(grpc_constants.TEXT_ERROR_MODEL_VERSION) && sError[0:len(grpc_constants.TEXT_ERROR_MODEL_VERSION)] == grpc_constants.TEXT_ERROR_MODEL_VERSION {
log.Panic("table: ", TableName, " error: ", err)
if grpc_client.IsErrorModelVersion(err) == true {
log.Panic(err)
}
return err
}

View File

@ -16,7 +16,7 @@ import (
"github.com/nats-io/nats.go"
"gitlab.aescorp.ru/dsp_dev/claim/sync_service/api/grpc_proto"
"gitlab.aescorp.ru/dsp_dev/claim/sync_service/pkg/db/constants"
nrpc_constants "gitlab.aescorp.ru/dsp_dev/claim/sync_service/pkg/network/nrpc/constants"
"gitlab.aescorp.ru/dsp_dev/claim/sync_service/pkg/network/nrpc/nrpc_constants"
"sync"
"os"

View File

@ -160,6 +160,20 @@ func FindPrimaryKeyNameType(Table1 *types.Table) (string, string) {
return Otvet, Type
}
//// FindPrimaryKeyNameTypeGo - возвращает наименование и тип golang колонки PrimaryKey
//func FindPrimaryKeyNameTypeGo(Table1 *types.Table) (string, string) {
// Otvet := ""
// Type := ""
//
// for _, Column1 := range Table1.MapColumns {
// if Column1.IsIdentity == true {
// return Column1.NameGo, Column1.TypeGo
// }
// }
//
// return Otvet, Type
//}
// ReplacePrimaryKeyID - заменяет "ID" на название колонки PrimaryKey
func ReplacePrimaryKeyID(Text string, Table1 *types.Table) string {
Otvet := Text
@ -376,6 +390,15 @@ func FindDBConstantsURL() string {
return Otvet
}
// FindNRPCConstantsURL - возвращает URL репозитория с пакетом db "constants"
func FindNRPCConstantsURL() string {
Otvet := ""
Otvet = config.Settings.SERVICE_REPOSITORY_URL + "/" + config.Settings.TEMPLATE_FOLDERNAME_NRPC + "/" + "nrpc_constants"
return Otvet
}
// FindCrudStarterURL - возвращает URL репозитория с пакетом "crud_starter"
func FindCrudStarterURL() string {
Otvet := ""
@ -530,6 +553,57 @@ func AddImportTime(TextModel string) string {
return Otvet
}
// AddImportTimestamp - добавляет покет в секцию Import, если его там нет
func AddImportTimestamp(TextModel string) string {
Otvet := TextModel
//если уже есть импорт
pos1 := strings.Index(Otvet, `"google.golang.org/protobuf/types/known/timestamppb"`)
if pos1 >= 0 {
return Otvet
}
//
pos1 = strings.Index(Otvet, "import (")
if pos1 < 0 {
log.Error("not found word: import (")
return TextModel
}
Otvet = Otvet[:pos1+8] + "\n\t" + `"google.golang.org/protobuf/types/known/timestamppb"` + Otvet[pos1+8:]
return Otvet
}
// CheckAndAddImportAlias - добавляет покет в секцию Alias, если его там нет
func CheckAndAddImportAlias(TextModel string) string {
Otvet := TextModel
//если уже есть импорт
pos1 := strings.Index(Otvet, `/alias`)
if pos1 >= 0 {
return Otvet
}
//если нету alias
pos1 = strings.Index(Otvet, `alias.`)
if pos1 < 0 {
return Otvet
}
//
pos1 = strings.Index(Otvet, "import (")
if pos1 < 0 {
log.Error("not found word: import (")
return TextModel
}
AliasURL := FindURL_Alias()
Otvet = Otvet[:pos1+8] + "\n\t" + `"` + AliasURL + `"` + Otvet[pos1+8:]
return Otvet
}
// CheckAndAddImportTime_FromTable - добавляет пакет "time" в секцию Import, если его там нет
func CheckAndAddImportTime_FromTable(TextModel string, Table1 *types.Table) string {
Otvet := TextModel
@ -558,6 +632,20 @@ func CheckAndAddImportTime_FromText(Text string) string {
return Otvet
}
// CheckAndAddImportTimestamp_FromText - добавляет пакет "time" в секцию Import, если его там нет
func CheckAndAddImportTimestamp_FromText(Text string) string {
Otvet := Text
pos1 := strings.Index(Text, " timestamppb.")
if pos1 < 0 {
return Otvet
}
Otvet = AddImportTimestamp(Otvet)
return Otvet
}
// DeleteTemplateRepositoryImports - удаляет импорты репозитория шаблона
func DeleteTemplateRepositoryImports(Text string) string {
Otvet := Text
@ -958,50 +1046,71 @@ func FindTextProtobufRequest(TypeGo string) (string, string) {
}
// FindTextProtobufRequest_ID_Type - возвращает имя message из .proto для двух параметров ID + Type,в зависимости от типа, а также название поля
func FindTextProtobufRequest_ID_Type(TypeGo string) (string, string) {
// возвращает:
// Otvet - имя message из .proto
// TextRequestFieldName - название поля в Request
// TextRequestFieldGolang - название поля в Request с преобразованием в тип гоу
func FindTextProtobufRequest_ID_Type(Table1 *types.Table, Column1 *types.Column, VariableName string) (string, string, string) {
Otvet := "RequestID"
TextRequestFieldName := "ID"
TextRequestFieldGolang := "ID"
TypeGo := Column1.TypeGo
TableName := Table1.Name
ColumnName := Column1.Name
switch TypeGo {
case "int", "int64":
{
Otvet = "Request_ID_Int64"
TextRequestFieldName = "Int64"
TextRequestFieldGolang = VariableName + "Int64"
}
case "int32":
{
Otvet = "Request_ID_Int32"
TextRequestFieldName = "Int32"
TextRequestFieldGolang = VariableName + "Int32"
}
case "string":
{
Otvet = "Request_ID_String"
TextRequestFieldName = "StringFind"
TextRequestFieldGolang = VariableName + "StringFind"
}
case "time.Time":
{
Otvet = "Request_ID_Date"
TextRequestFieldName = "Date"
TextRequestFieldGolang = VariableName + "Date.AsTime()"
}
case "float32":
{
Otvet = "Request_ID_Float32"
TextRequestFieldName = "Float32"
TextRequestFieldGolang = VariableName + "Float32"
}
case "float64":
{
Otvet = "Request_ID_Float64"
TextRequestFieldName = "Float64"
TextRequestFieldGolang = VariableName + "Float64"
}
case "bool":
{
Otvet = "Request_ID_Bool"
TextRequestFieldName = "Bool"
TextRequestFieldGolang = VariableName + "Bool"
}
}
return Otvet, TextRequestFieldName
TextConvert, ok := types.MapConvertID[TableName+"."+ColumnName]
if ok == true {
TextRequestFieldGolang = TextConvert + "(" + VariableName + TextRequestFieldName + ")"
}
return Otvet, TextRequestFieldName, TextRequestFieldGolang
}
// ConvertIdToAlias - заменяет ID на Alias
@ -1029,3 +1138,83 @@ func ConvertIdToAlias(Text string, Table1 *types.Table) string {
return Otvet
}
// FindTextConvertGolangTypeToProtobufType - возвращает имя переменной + имя колонки, преобразованное в тип protobuf
func FindTextConvertGolangTypeToProtobufType(Table1 *types.Table, Column1 *types.Column, VariableName string) string {
Otvet := VariableName + Column1.NameGo
//TableName := Table1.Name
//IDName := Column1.Name
////alias в Int64
//TextConvert, ok := types.MapConvertID[TableName+"."+IDName]
//if ok == true {
// Otvet = TextConvert + "(" + VariableName + Column1.NameGo + ")"
//}
//time.Time в timestamppb
//if Column1.TypeGo == "time.Time" {
// Otvet = "timestamppb.New(" + VariableName + Column1.NameGo + ")"
//}
//преобразуем alias в обычный тип, и дату в timestamp
switch Column1.TypeGo {
case "time.Time":
Otvet = "timestamppb.New(" + VariableName + Column1.NameGo + ")"
case "string":
Otvet = "string(" + VariableName + Column1.NameGo + ")"
case "int64":
Otvet = "int64(" + VariableName + Column1.NameGo + ")"
case "int32":
Otvet = "int32(" + VariableName + Column1.NameGo + ")"
case "bool":
Otvet = "bool(" + VariableName + Column1.NameGo + ")"
case "float32":
Otvet = "float32(" + VariableName + Column1.NameGo + ")"
case "float64":
Otvet = "float64(" + VariableName + Column1.NameGo + ")"
}
return Otvet
}
// FindTextConvertProtobufTypeToGolangType - возвращает имя переменной + имя колонки, преобразованное в тип golang из protobuf
func FindTextConvertProtobufTypeToGolangType(Table1 *types.Table, Column1 *types.Column, VariableName string) string {
Otvet := VariableName + Column1.NameGo
TableName := Table1.Name
IDName := Column1.Name
//alias в Int64
TextConvert, ok := types.MapConvertID[TableName+"."+IDName]
if ok == true {
Otvet = TextConvert + "(" + VariableName + Column1.NameGo + ")"
return Otvet
}
//time.Time в timestamppb
if Column1.TypeGo == "time.Time" {
Otvet = VariableName + Column1.NameGo + ".AsTime()"
return Otvet
}
////преобразуем alias в обычный тип, и дату в timestamp
//switch Column1.TypeGo {
//case "time.Time":
// Otvet = "timestamppb.New(" + VariableName + Column1.NameGo + ")"
//case "string":
// Otvet = "string(" + VariableName + Column1.NameGo + ")"
//case "int64":
// Otvet = "int64(" + VariableName + Column1.NameGo + ")"
//case "int32":
// Otvet = "int32(" + VariableName + Column1.NameGo + ")"
//case "bool":
// Otvet = "bool(" + VariableName + Column1.NameGo + ")"
//case "float32":
// Otvet = "float32(" + VariableName + Column1.NameGo + ")"
//case "float64":
// Otvet = "float64(" + VariableName + Column1.NameGo + ")"
//}
return Otvet
}

View File

@ -307,7 +307,7 @@ func Is_Column_ExtLinksStruct(Column1 *types.Column) bool {
return Otvet
}
// Is_Common_Сolumn - возвращает true если это общая колонка: table_name_id, table_row_idб is_group, parent_id, name или description, ext_id, created_at, modified_at, deleted_at, id
// Is_Common_Сolumn - возвращает true если это общая колонка: table_name_id, table_row_id, is_group, parent_id, name или description, ext_id, created_at, modified_at, deleted_at, id
func Is_Common_Сolumn(Column1 *types.Column) bool {
Otvet := false
@ -315,3 +315,12 @@ func Is_Common_Сolumn(Column1 *types.Column) bool {
return Otvet
}
// Is_NotNeedUpdate_Сolumn - возвращает true если это общая колонка: table_name_id, table_row_id, is_group, parent_id, ext_id, created_at, modified_at, deleted_at, id
func Is_NotNeedUpdate_Сolumn(Column1 *types.Column) bool {
Otvet := false
Otvet = Is_Column_CommonStruct(Column1) || Is_Column_GroupsStruct(Column1) || Is_Column_ExtLinksStruct(Column1)
return Otvet
}

View File

@ -483,6 +483,7 @@ func CreateFilesUpdateEveryColumn(Table1 *types.Table) error {
TextCrud := "package " + config.Settings.PREFIX_CRUD + TableName + "\n\n"
TextCrud = TextCrud + `import (
"errors"
"context"
"fmt"
"time"
@ -501,7 +502,7 @@ func CreateFilesUpdateEveryColumn(Table1 *types.Table) error {
ModelTableURL := create_files.FindModelTableURL(TableName)
TextCrud = create_files.AddImport(TextCrud, ModelTableURL)
TextCrud = create_files.ConvertIdToAlias(TextCrud, Table1)
//TextCrud = create_files.ConvertIdToAlias(TextCrud, Table1)
//}
//создание текста
@ -545,7 +546,7 @@ func FindTextUpdateEveryColumn(TextCrudUpdateFunc string, Table1 *types.Table) s
if ok == false {
log.Panic("FindTextUpdateEveryColumn() Table1.MapColumns[key1] = false")
}
if create_files.Is_Common_Сolumn(Column1) == true {
if create_files.Is_NotNeedUpdate_Сolumn(Column1) == true {
continue
}
@ -673,7 +674,7 @@ func FindTextUpdateEveryColumnTest(TextCrudUpdateFunc string, Table1 *types.Tabl
if ok == false {
log.Panic("FindTextUpdateEveryColumnTest() Table1.MapColumns[key1] = false")
}
if create_files.Is_Common_Сolumn(Column1) == true {
if create_files.Is_NotNeedUpdate_Сolumn(Column1) == true {
continue
}

View File

@ -408,7 +408,7 @@ func CreateFilesUpdateEveryColumn(Table1 *types.Table) error {
ModelTableURL := create_files.FindModelTableURL(TableName)
TextGRPC_Client = create_files.AddImport(TextGRPC_Client, ModelTableURL)
TextGRPC_Client = create_files.ConvertIdToAlias(TextGRPC_Client, Table1)
//TextGRPC_Client = create_files.ConvertIdToAlias(TextGRPC_Client, Table1)
//}
//создание текста
@ -428,6 +428,9 @@ func CreateFilesUpdateEveryColumn(Table1 *types.Table) error {
//удаление пустого импорта
TextGRPC_Client = create_files.DeleteEmptyImport(TextGRPC_Client)
TextGRPC_Client = create_files.DeleteEmptyLines(TextGRPC_Client)
TextGRPC_Client = create_files.CheckAndAddImportTime_FromText(TextGRPC_Client)
TextGRPC_Client = create_files.CheckAndAddImportTimestamp_FromText(TextGRPC_Client)
TextGRPC_Client = create_files.CheckAndAddImportAlias(TextGRPC_Client)
//запись файла
err = os.WriteFile(FilenameReadyGRPC_ClientUpdate, []byte(TextGRPC_Client), constants.FILE_PERMISSIONS)
@ -452,7 +455,7 @@ func FindTextUpdateEveryColumn(TextGRPC_ClientUpdateFunc string, Table1 *types.T
if ok == false {
log.Panic("FindTextProtoTable1_UpdateEveryColumn() Table1.MapColumns[key1] = false")
}
if create_files.Is_Common_Сolumn(Column1) == true {
if create_files.Is_NotNeedUpdate_Сolumn(Column1) == true {
continue
}
@ -471,7 +474,11 @@ func FindTextUpdateEveryColumn1(TextGRPC_ClientUpdateFunc string, Table1 *types.
ModelName := Table1.NameGo
ColumnName := Column1.NameGo
FuncName := "Update_" + ColumnName
TextRequest, TextRequestFieldName := create_files.FindTextProtobufRequest_ID_Type(Column1.TypeGo)
TextRequest, TextRequestFieldName, _ := create_files.FindTextProtobufRequest_ID_Type(Table1, Column1, "Request.")
ColumnNameGolang := create_files.FindTextConvertGolangTypeToProtobufType(Table1, Column1, "m.")
_, IDTypeGo := create_files.FindPrimaryKeyNameTypeGo(Table1)
Otvet = strings.ReplaceAll(Otvet, config.Settings.TEXT_TEMPLATE_MODEL+"_Update", ModelName+"_"+FuncName)
Otvet = strings.ReplaceAll(Otvet, " Update ", " "+FuncName+" ")
@ -479,8 +486,9 @@ func FindTextUpdateEveryColumn1(TextGRPC_ClientUpdateFunc string, Table1 *types.
Otvet = strings.ReplaceAll(Otvet, config.Settings.TEXT_TEMPLATE_MODEL, ModelName)
Otvet = strings.ReplaceAll(Otvet, config.Settings.TEXT_TEMPLATE_TABLENAME, Table1.Name)
Otvet = strings.ReplaceAll(Otvet, "grpc_proto.RequestId", "grpc_proto."+TextRequest)
Otvet = strings.ReplaceAll(Otvet, "m.ColumnName", ColumnNameGolang)
Otvet = strings.ReplaceAll(Otvet, " m.ID", " "+IDTypeGo+"(m.ID)")
Otvet = strings.ReplaceAll(Otvet, "ColumnName", ColumnName)
Otvet = strings.ReplaceAll(Otvet, "m.ColumnName", "m."+ColumnName)
Otvet = strings.ReplaceAll(Otvet, "Request.FieldName", "Request."+TextRequestFieldName)
return Otvet
@ -571,7 +579,7 @@ func FindTextUpdateEveryColumnTest(TextGRPC_ClientUpdateFunc string, Table1 *typ
if ok == false {
log.Panic("FindTextProtoTable1_UpdateEveryColumn() Table1.MapColumns[key1] = false")
}
if create_files.Is_Common_Сolumn(Column1) == true {
if create_files.Is_NotNeedUpdate_Сolumn(Column1) == true {
continue
}
@ -590,7 +598,7 @@ func FindTextUpdateEveryColumnTest1(TextGRPC_ClientUpdateFunc string, Table1 *ty
ModelName := Table1.NameGo
ColumnName := Column1.NameGo
FuncName := "Update_" + ColumnName
TextRequest, TextRequestFieldName := create_files.FindTextProtobufRequest_ID_Type(Column1.TypeGo)
TextRequest, TextRequestFieldName, _ := create_files.FindTextProtobufRequest_ID_Type(Table1, Column1, "Request.")
DefaultValue := create_files.FindTextDefaultValue(Column1.TypeGo)
Otvet = strings.ReplaceAll(Otvet, "TestCrud_GRPC_Update(", "TestCrud_GRPC_"+FuncName+"(")

View File

@ -363,7 +363,8 @@ func CreateFilesUpdateEveryColumn(Table1 *types.Table) error {
}
TextGRPCServerUpdateFunc := string(bytes)
TextGRPCServer := "package " + config.Settings.PREFIX_CLIENT_GRPC + TableName + "\n\n"
PackageName := micro.LastWord(config.Settings.TEMPLATE_FOLDERNAME_GRPC_SERVER)
TextGRPCServer := "package " + PackageName + "\n\n"
TextGRPCServer = TextGRPCServer + `import (
"context"
"github.com/ManyakRus/starter/micro"
@ -379,10 +380,9 @@ func CreateFilesUpdateEveryColumn(Table1 *types.Table) error {
ProtoURL := create_files.FindProtoURL()
TextGRPCServer = create_files.AddImport(TextGRPCServer, ProtoURL)
ModelURL := create_files.FindModelURL()
TextGRPCServer = create_files.AddImport(TextGRPCServer, ModelURL)
//ModelURL := create_files.FindModelURL()
//TextGRPCServer = create_files.AddImport(TextGRPCServer, ModelURL)
TextGRPCServer = create_files.ConvertIdToAlias(TextGRPCServer, Table1)
//}
//создание текста
@ -397,6 +397,9 @@ func CreateFilesUpdateEveryColumn(Table1 *types.Table) error {
//TextGRPCServer = strings.ReplaceAll(TextGRPCServer, config.Settings.TEXT_TEMPLATE_TABLENAME, Table1.Name)
TextGRPCServer = TextGRPCServer + TextUpdateEveryColumn
TextGRPCServer = create_files.ConvertIdToAlias(TextGRPCServer, Table1)
TextGRPCServer = create_files.CheckAndAddImportAlias(TextGRPCServer)
TextGRPCServer = config.Settings.TEXT_MODULE_GENERATED + TextGRPCServer
//удаление пустого импорта
@ -426,7 +429,7 @@ func FindTextUpdateEveryColumn(TextGRPCServerUpdateFunc string, Table1 *types.Ta
if ok == false {
log.Panic("FindTextProtoTable1_UpdateEveryColumn() Table1.MapColumns[key1] = false")
}
if create_files.Is_Common_Сolumn(Column1) == true {
if create_files.Is_NotNeedUpdate_Сolumn(Column1) == true {
continue
}
@ -445,13 +448,15 @@ func FindTextUpdateEveryColumn1(TextGRPCServerUpdateFunc string, Table1 *types.T
ModelName := Table1.NameGo
ColumnName := Column1.NameGo
FuncName := "Update_" + ColumnName
TextRequest, TextRequestFieldName := create_files.FindTextProtobufRequest_ID_Type(Column1.TypeGo)
TextRequest, _, TextRequestFieldGolang := create_files.FindTextProtobufRequest_ID_Type(Table1, Column1, "Request.")
//ColumnNameGolang := create_files.FindTextConvertGolangTypeToProtobufType(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)
Otvet = strings.ReplaceAll(Otvet, config.Settings.TEXT_TEMPLATE_TABLENAME, Table1.Name)
Otvet = strings.ReplaceAll(Otvet, "grpc_proto.RequestId", "grpc_proto."+TextRequest)
Otvet = strings.ReplaceAll(Otvet, "Request.FieldName", "Request."+TextRequestFieldName)
Otvet = strings.ReplaceAll(Otvet, "Request.FieldName", TextRequestFieldGolang)
Otvet = strings.ReplaceAll(Otvet, "Model.ColumnName", "Model."+ColumnName)
Otvet = strings.ReplaceAll(Otvet, "ColumnName", ColumnName)
Otvet = strings.ReplaceAll(Otvet, "Model.Update()", "Model."+FuncName+"()")
@ -484,7 +489,8 @@ func CreateTestFilesUpdateEveryColumn(Table1 *types.Table) error {
}
TextGRPCServerUpdateFunc := string(bytes)
TextGRPCServer := "package " + config.Settings.PREFIX_CLIENT_GRPC + TableName + "\n\n"
PackageName := micro.LastWord(config.Settings.TEMPLATE_FOLDERNAME_GRPC_SERVER)
TextGRPCServer := "package " + PackageName + "\n\n"
TextGRPCServer = TextGRPCServer + `import (
"context"
"github.com/ManyakRus/starter/config_main"
@ -500,8 +506,8 @@ func CreateTestFilesUpdateEveryColumn(Table1 *types.Table) error {
ProtoURL := create_files.FindProtoURL()
TextGRPCServer = create_files.AddImport(TextGRPCServer, ProtoURL)
ModelURL := create_files.FindModelURL()
TextGRPCServer = create_files.AddImport(TextGRPCServer, ModelURL)
//ModelURL := create_files.FindModelURL()
//TextGRPCServer = create_files.AddImport(TextGRPCServer, ModelURL)
CrudStarterURL := create_files.FindCrudStarterURL()
TextGRPCServer = create_files.AddImport(TextGRPCServer, CrudStarterURL)
@ -549,7 +555,7 @@ func FindTextUpdateEveryColumnTest(TextGRPCServerUpdateFunc string, Table1 *type
if ok == false {
log.Panic("FindTextProtoTable1_UpdateEveryColumn() Table1.MapColumns[key1] = false")
}
if create_files.Is_Common_Сolumn(Column1) == true {
if create_files.Is_NotNeedUpdate_Сolumn(Column1) == true {
continue
}
@ -568,13 +574,13 @@ func FindTextUpdateEveryColumnTest1(TextGRPCServerUpdateFunc string, Table1 *typ
ModelName := Table1.NameGo
ColumnName := Column1.NameGo
FuncName := "Update_" + ColumnName
TextRequest, TextRequestFieldName := create_files.FindTextProtobufRequest_ID_Type(Column1.TypeGo)
TextRequest, TextRequestFieldName, _ := create_files.FindTextProtobufRequest_ID_Type(Table1, Column1, "Model.")
Otvet = strings.ReplaceAll(Otvet, config.Settings.TEXT_TEMPLATE_MODEL+"_Update(", ModelName+"_"+FuncName+"(")
Otvet = strings.ReplaceAll(Otvet, config.Settings.TEXT_TEMPLATE_MODEL, ModelName)
Otvet = strings.ReplaceAll(Otvet, config.Settings.TEXT_TEMPLATE_TABLENAME, Table1.Name)
Otvet = strings.ReplaceAll(Otvet, "grpc_proto.RequestString", "grpc_proto."+TextRequest)
Otvet = strings.ReplaceAll(Otvet, "Model.ColumnName", "Model."+TextRequestFieldName)
Otvet = strings.ReplaceAll(Otvet, "Model.ColumnName", TextRequestFieldName)
Otvet = strings.ReplaceAll(Otvet, "ColumnName", ColumnName)
Otvet = strings.ReplaceAll(Otvet, "ColumnName", ColumnName)

View File

@ -581,13 +581,19 @@ func CreateFilesUpdateEveryColumn(Table1 *types.Table) error {
if ok == false {
log.Panic("CreateFilesUpdateEveryColumn() Table1.MapColumns[key1] = false")
}
if create_files.Is_Common_Сolumn(Column1) == true {
if create_files.Is_NotNeedUpdate_Сolumn(Column1) == true {
continue
}
TextNew1 := FindTextUpdateEveryColumn(Table1, Column1)
TextNew = TextNew + TextNew1
}
// пустой файл не нужен
if TextNew == "" {
return err
}
//
TextModel = TextModel + TextNew
//запись файла
@ -635,7 +641,7 @@ func AddInterfaceUpdateEveryColumn(TextModel string, Table1 *types.Table) string
if ok == false {
log.Panic("CreateFilesUpdateEveryColumn() Table1.MapColumns[key1] = false")
}
if create_files.Is_Common_Сolumn(Column1) == true {
if create_files.Is_NotNeedUpdate_Сolumn(Column1) == true {
continue
}
TextNew1 := FindTextInterfaceUpdateEveryColumn(Table1, Column1)

View File

@ -69,12 +69,15 @@ func CreateNRPCClient() error {
ProtoURL := create_files.FindProtoURL()
TextNRPCClient = create_files.AddImport(TextNRPCClient, ProtoURL)
GRPC_NRPC_URL := create_files.Find_GRPC_NRPC_URL()
TextNRPCClient = create_files.AddImport(TextNRPCClient, GRPC_NRPC_URL)
//GRPC_NRPC_URL := create_files.Find_GRPC_NRPC_URL()
//TextNRPCClient = create_files.AddImport(TextNRPCClient, GRPC_NRPC_URL)
DBConstantsURL := create_files.FindDBConstantsURL()
TextNRPCClient = create_files.AddImport(TextNRPCClient, DBConstantsURL)
NRPCConstantsURL := create_files.FindNRPCConstantsURL()
TextNRPCClient = create_files.AddImport(TextNRPCClient, NRPCConstantsURL)
}
//заменим имя сервиса на новое

View File

@ -329,7 +329,7 @@ func FindTextProtoTable1_UpdateEveryColumn(TextProto string, Table1 *types.Table
if ok == false {
log.Panic("FindTextProtoTable1_UpdateEveryColumn() Table1.MapColumns[key1] = false")
}
if create_files.Is_Common_Сolumn(Column1) == true {
if create_files.Is_NotNeedUpdate_Сolumn(Column1) == true {
continue
}
@ -369,9 +369,9 @@ func TextUpdateEveryColumn(Table1 *types.Table, Column1 *types.Column) string {
ModelName := Table1.NameGo
TextRequest := "RequestID"
TypeGo := Column1.TypeGo
TextRequest, _ = create_files.FindTextProtobufRequest(TypeGo)
TextRequest := ""
//TypeGo := Column1.TypeGo
TextRequest, _, _ = create_files.FindTextProtobufRequest_ID_Type(Table1, Column1, "")
ColumnName := Column1.NameGo
Otvet = "rpc " + ModelName + "_Update_" + ColumnName + "(" + TextRequest + ") returns (ResponseEmpty) {}"