mirror of
https://github.com/ManyakRus/crud_generator.git
synced 2025-01-03 01:22:21 +02:00
сделал CreateFilesUpdateEveryColumn()
This commit is contained in:
parent
acad10242c
commit
92a0e6d71f
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
@ -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+"(")
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
||||
}
|
||||
|
||||
//заменим имя сервиса на новое
|
||||
|
@ -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) {}"
|
||||
|
Loading…
Reference in New Issue
Block a user