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

сделал CreateFiles_FindModelBy()

This commit is contained in:
Nikitin Aleksandr 2024-10-16 15:51:13 +03:00
parent a471d5ab2e
commit c2ae6f4f0e
6 changed files with 59 additions and 29 deletions

View File

@ -2,7 +2,6 @@ package server_grpc
import (
"context"
"encoding/json"
"fmt"
"github.com/ManyakRus/starter/postgres_gorm"
"gitlab.aescorp.ru/dsp_dev/claim/sync_service/api/grpc_proto"

View File

@ -14,17 +14,13 @@ func (s *ServerGRPC) LawsuitStatusType_FindModelBy_FieldNamesWithUnderline(ctx c
//клиент БД
db := postgres_gorm.GetConnection()
//модель из строки
sModel := Request.ModelString
Model := &lawsuit_status_types.LawsuitStatusType{}
err = json.Unmarshal([]byte(sModel), Model)
if err != nil {
err = fmt.Errorf("json.Unmarshal() error: %w", err)
return &Otvet, err
}
//модель
Model := lawsuit_status_types.LawsuitStatusType{}
ID := Request.RequestFieldName
Model.FieldName = ID
//запрос crud
ModelOtvet, err := crud_lawsuit_status_types.FindModelBy_FieldNamesWithUnderline_ctx(ctx, db, Model)
ModelOtvet, err := crud_lawsuit_status_types.FindModelBy_FieldNamesWithUnderline_ctx(ctx, db, &Model)
if err != nil {
err = fmt.Errorf("FindModelBy_FieldNamesWithUnderline_ctx() error: %w", err)
return &Otvet, err

View File

@ -4,17 +4,13 @@ func Test_server_LawsuitStatusType_FindModelBy_FieldNamesWithUnderline(t *testin
ctx := context.Background()
Request := grpc_proto.RequestName{}
Request.RequestFieldName = 0
Request.VersionModel = lawsuit_status_types.LawsuitStatusType{}.GetStructVersion()
Request.RequestFieldName = 0
server1 := &ServerGRPC{}
Otvet, err := server1.LawsuitStatusType_FindModelBy_FieldNamesWithUnderline(ctx, &Request)
_, err := server1.LawsuitStatusType_FindModelBy_FieldNamesWithUnderline(ctx, &Request)
if err != nil && crud_func.IsRecordNotFound(err) == false {
t.Error("Test_server_LawsuitStatusType_FindModelBy_FieldNamesWithUnderline() error: ", err)
}
if Otvet.ModelString == "" {
t.Log("Test_server_LawsuitStatusType_FindModelBy_FieldNamesWithUnderline() error: ModelString=''")
}
}

View File

@ -10,6 +10,7 @@ import (
"github.com/ManyakRus/starter/micro"
"github.com/gobeam/stringy"
"github.com/jinzhu/inflection"
"slices"
"sort"
"strconv"
"strings"
@ -2692,3 +2693,15 @@ func Find_PrimaryKeysDefaultValues(Table1 *types.Table) string {
return Otvet
}
// AppendColumn - добавляет колонку в слайс, если ее нет
func AppendColumn(MassPK []*types.Column, Column1 *types.Column) []*types.Column {
Otvet := make([]*types.Column, len(MassPK))
copy(Otvet, MassPK)
if slices.Contains(MassPK, Column1) == false {
Otvet = append(Otvet, Column1)
}
return Otvet
}

View File

@ -45,14 +45,15 @@ func FindText_FindModelBy1(Table1 *types.Table, Column1 *types.Column) string {
Otvet := "\n\trpc "
TextFields := ""
TextRequest := "Request_Model_"
//TextRequest := "Request_"
Underline := ""
//for _, Column1 := range TableColumns1.Columns {
TextFields = TextFields + Underline + Column1.NameGo_translit
TextRequest1 := create_files.Convert_GolangTypeNameToProtobufFieldName(Column1.TypeGo)
TextRequest = TextRequest + Underline + TextRequest1
//TextRequest1 := create_files.Convert_GolangTypeNameToProtobufFieldName(Column1.TypeGo)
//TextRequest = TextRequest + Underline + TextRequest1
Underline = "_"
//}
TextRequest := create_files.FindText_ProtobufRequest_Column_ManyPK(Table1, Column1)
Otvet = Otvet + Table1.NameGo_translit + "_FindModelBy_" + TextFields + "(" + TextRequest + ") returns (Response) {}\n"

View File

@ -140,7 +140,7 @@ func CreateFiles_FindModelBy_Table1(MapAll map[string]*types.Table, Table1 *type
TextFind := "\t" + `Model.FieldName = Request.RequestFieldName` + "\n"
Underline := ""
Plus := ""
RequestName := "Request_Model_"
//RequestName := "Request_"
//RequestFieldName := create_files.Find_RequestFieldName_FromMass(Column1, MassColumns)
TextRequest, TextRequestCode := create_files.Convert_ProtobufVariableToGolangVariable(Table1, Column1, "Request.")
if TextRequestCode != "" {
@ -151,8 +151,9 @@ func CreateFiles_FindModelBy_Table1(MapAll map[string]*types.Table, Table1 *type
FieldNamesWithUnderline = FieldNamesWithUnderline + Underline + Column1.NameGo_translit
FieldNamesWithComma = FieldNamesWithComma + Plus + Column1.NameGo
ProtoTypeName := create_files.Convert_GolangTypeNameToProtobufFieldName(Column1.TypeGo)
RequestName = RequestName + Underline + ProtoTypeName
//ProtoTypeName := create_files.Convert_GolangTypeNameToProtobufFieldName(Column1.TypeGo)
//RequestName = RequestName + Underline + ProtoTypeName
RequestName := create_files.FindText_ProtobufRequest_Column_ManyPK(Table1, Column1)
Underline = "_"
Plus = "+"
@ -178,6 +179,23 @@ func CreateFiles_FindModelBy_Table1(MapAll map[string]*types.Table, Table1 *type
TextForeignModel := ForeignTable.NameGo
Otvet = strings.ReplaceAll(Otvet, "ForeignModel", TextForeignModel)
//
TextIDEqual := ""
TextModelFieldName := ""
MassPK := create_files.Find_PrimaryKeyColumns(Table1)
MassPK_and_Column := create_files.AppendColumn(MassPK, Column1)
for _, ColumnPK1 := range MassPK_and_Column {
RequestColumnName, GolangCode := create_files.Convert_ProtobufVariableToGolangVariable(Table1, ColumnPK1, "Request.")
if GolangCode == "" {
TextIDEqual = TextIDEqual + "\t" + ColumnPK1.NameGo + " := " + RequestColumnName + "\n"
} else {
TextIDEqual = TextIDEqual + GolangCode
}
TextModelFieldName = TextModelFieldName + "\t" + "Model." + ColumnPK1.NameGo + " = " + ColumnPK1.NameGo + "\n"
}
Otvet = strings.ReplaceAll(Otvet, "\tID := Request.RequestFieldName", TextIDEqual)
Otvet = strings.ReplaceAll(Otvet, "\tModel.FieldName = ID", TextModelFieldName)
return Otvet
}
@ -308,7 +326,6 @@ func CreateFiles_FindModelBy_Test_Table1(Table1 *types.Table, TextTemplateFuncti
FieldNamesWithComma := ""
//
TextAssignFind := "\t" + `Request.RequestFieldName = 0` + "\n"
TextAssign := ""
TextFieldName_TEST := ""
@ -316,23 +333,31 @@ func CreateFiles_FindModelBy_Test_Table1(Table1 *types.Table, TextTemplateFuncti
Underline := ""
Comma := ""
RequestName := "Request_Model_"
//RequestName := "Request_Model_"
//for _, ColumnName1 := range MassColumnsString {
DefaultValue := create_files.FindText_DefaultValue(Column1.TypeGo)
RequestFieldName := create_files.Convert_GolangTypeNameToProtobufFieldName(Column1.TypeGo)
TextAssign = TextAssign + "\t" + `Request.` + RequestFieldName + ` = ` + DefaultValue + "\n"
FieldNamesWithUnderline = FieldNamesWithUnderline + Underline + Column1.NameGo_translit
FieldNamesWithComma = FieldNamesWithComma + Comma + Column1.NameGo
TextFieldName_TEST = TextFieldName_TEST + Comma + DefaultValue
ProtoTypeName := create_files.Convert_GolangTypeNameToProtobufFieldName(Column1.TypeGo)
RequestName = RequestName + Underline + ProtoTypeName
//ProtoTypeName := create_files.Convert_GolangTypeNameToProtobufFieldName(Column1.TypeGo)
//RequestName = RequestName + Underline + ProtoTypeName
RequestName := create_files.FindText_ProtobufRequest_Column_ManyPK(Table1, Column1)
MassPK := create_files.Find_PrimaryKeyColumns(Table1)
MassPK_and_Column := create_files.AppendColumn(MassPK, Column1)
for _, ColumnPK1 := range MassPK_and_Column {
RequestFieldName, _ := create_files.Convert_ProtobufVariableToGolangVariable(Table1, ColumnPK1, "Request.")
TextAssign = TextAssign + "\t" + `` + RequestFieldName + ` = ` + DefaultValue + "\n"
}
//RequestFieldName := create_files.Convert_GolangTypeNameToProtobufFieldName(Column1.TypeGo)
//TextAssign = TextAssign + "\t" + `` + RequestFieldName + ` = ` + DefaultValue + "\n"
Underline = "_"
Comma = ", "
//}
Otvet = strings.ReplaceAll(Otvet, "RequestName", RequestName)
Otvet = strings.ReplaceAll(Otvet, TextAssignFind, TextAssign)
Otvet = strings.ReplaceAll(Otvet, "\t"+`Request.RequestFieldName = 0`+"\n", TextAssign)
Otvet = strings.ReplaceAll(Otvet, "FieldNamesWithUnderline", FieldNamesWithUnderline)
Otvet = strings.ReplaceAll(Otvet, "FieldNamesWithComma", FieldNamesWithComma)
Otvet = strings.ReplaceAll(Otvet, "FieldNamesDefault", TextFieldName_TEST)