1
0
mirror of https://github.com/ManyakRus/crud_generator.git synced 2024-12-12 09:34:00 +02:00

сделал NEED_CREATE_CONSTANTS_FILE

This commit is contained in:
Nikitin Aleksandr 2024-12-02 14:00:58 +03:00
parent 4a3f4ecd74
commit fa11812f35
10 changed files with 223 additions and 18 deletions

View File

@ -154,6 +154,9 @@ NEED_CREATE_DB_TABLES=true
#NEED_CREATE_MAIN_FILE - true = need create main.go file #NEED_CREATE_MAIN_FILE - true = need create main.go file
NEED_CREATE_MAIN_FILE=true NEED_CREATE_MAIN_FILE=true
#NEED_CREATE_CONSTANTS_FILE - fill "true" if you want to create "constants.go" file
NEED_CREATE_CONSTANTS_FILE=true
#NEED_CREATE_GRPC_SERVER_TEST - fill "true" if you want create GRPC server _test.go files #NEED_CREATE_GRPC_SERVER_TEST - fill "true" if you want create GRPC server _test.go files
NEED_CREATE_GRPC_SERVER_TEST=true NEED_CREATE_GRPC_SERVER_TEST=true

4
go.mod
View File

@ -3,7 +3,7 @@ module github.com/ManyakRus/crud_generator
go 1.22.1 go 1.22.1
require ( require (
github.com/ManyakRus/starter v1.0.90 github.com/ManyakRus/starter v1.0.92
github.com/alexsergivan/transliterator v1.0.1 github.com/alexsergivan/transliterator v1.0.1
github.com/bxcodec/faker/v3 v3.8.1 github.com/bxcodec/faker/v3 v3.8.1
github.com/davecgh/go-spew v1.1.1 github.com/davecgh/go-spew v1.1.1
@ -35,5 +35,5 @@ require (
golang.org/x/sys v0.27.0 // indirect golang.org/x/sys v0.27.0 // indirect
golang.org/x/text v0.20.0 // indirect golang.org/x/text v0.20.0 // indirect
google.golang.org/protobuf v1.35.2 // indirect google.golang.org/protobuf v1.35.2 // indirect
gorm.io/driver/postgres v1.5.10 // indirect gorm.io/driver/postgres v1.5.11 // indirect
) )

10
go.sum
View File

@ -3,8 +3,10 @@ github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.11.0/go.mod h1:HcM1YX14R7CJc
github.com/Azure/azure-sdk-for-go/sdk/internal v0.7.0/go.mod h1:yqy467j36fJxcRV2TzfVZ1pCb5vxm4BtZPUdYWe/Xo8= github.com/Azure/azure-sdk-for-go/sdk/internal v0.7.0/go.mod h1:yqy467j36fJxcRV2TzfVZ1pCb5vxm4BtZPUdYWe/Xo8=
github.com/ManyakRus/logrus v0.0.0-20231019115155-9e6fede0d792 h1:bxwxD0H3kSUAH3uNk/b74gkImcUiP7dyibmMoVwk338= github.com/ManyakRus/logrus v0.0.0-20231019115155-9e6fede0d792 h1:bxwxD0H3kSUAH3uNk/b74gkImcUiP7dyibmMoVwk338=
github.com/ManyakRus/logrus v0.0.0-20231019115155-9e6fede0d792/go.mod h1:OUyxCVbPW/2lC1e6cM7Am941SJiC88BhNnb24x2R3a8= github.com/ManyakRus/logrus v0.0.0-20231019115155-9e6fede0d792/go.mod h1:OUyxCVbPW/2lC1e6cM7Am941SJiC88BhNnb24x2R3a8=
github.com/ManyakRus/starter v1.0.90 h1:vShVDEqZgAPOawKQvVY6HEonWcY/StYReJvq1WoA9eU= github.com/ManyakRus/starter v1.0.91 h1:oNQ/jxA2csbsgOuZls0AsXc4uSQpIcfLjnkIqu1Yc6w=
github.com/ManyakRus/starter v1.0.90/go.mod h1:ildteZO1poRllhuCistAbG14f/BGjCkCG4dnf5DwfUE= github.com/ManyakRus/starter v1.0.91/go.mod h1:ildteZO1poRllhuCistAbG14f/BGjCkCG4dnf5DwfUE=
github.com/ManyakRus/starter v1.0.92 h1:moUliDVEUZbrDJpNSdQ+GT0wjxTjPoas8ZNZ2Hdqfuk=
github.com/ManyakRus/starter v1.0.92/go.mod h1:ildteZO1poRllhuCistAbG14f/BGjCkCG4dnf5DwfUE=
github.com/alexsergivan/transliterator v1.0.1 h1:vON2ilWCHjq+S5Y4obhLGhHK4Y1VIhsHEtQlij5d9pI= github.com/alexsergivan/transliterator v1.0.1 h1:vON2ilWCHjq+S5Y4obhLGhHK4Y1VIhsHEtQlij5d9pI=
github.com/alexsergivan/transliterator v1.0.1/go.mod h1:0IrumukulURJ4PD0z6UcdJKP2job1DYDhnHAP5y+5pE= github.com/alexsergivan/transliterator v1.0.1/go.mod h1:0IrumukulURJ4PD0z6UcdJKP2job1DYDhnHAP5y+5pE=
github.com/bxcodec/faker/v3 v3.8.1 h1:qO/Xq19V6uHt2xujwpaetgKhraGCapqY2CRWGD/SqcM= github.com/bxcodec/faker/v3 v3.8.1 h1:qO/Xq19V6uHt2xujwpaetgKhraGCapqY2CRWGD/SqcM=
@ -267,8 +269,8 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gorm.io/driver/postgres v1.5.10 h1:7Lggqempgy496c0WfHXsYWxk3Th+ZcW66/21QhVFdeE= gorm.io/driver/postgres v1.5.11 h1:ubBVAfbKEUld/twyKZ0IYn9rSQh448EdelLYk9Mv314=
gorm.io/driver/postgres v1.5.10/go.mod h1:DX3GReXH+3FPWGrrgffdvCk3DQ1dwDPdmbenSkweRGI= gorm.io/driver/postgres v1.5.11/go.mod h1:DX3GReXH+3FPWGrrgffdvCk3DQ1dwDPdmbenSkweRGI=
gorm.io/gorm v1.25.4/go.mod h1:L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k= gorm.io/gorm v1.25.4/go.mod h1:L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k=
gorm.io/gorm v1.25.12 h1:I0u8i2hWQItBq1WfE0o2+WuL9+8L21K9e2HHSTE/0f8= gorm.io/gorm v1.25.12 h1:I0u8i2hWQItBq1WfE0o2+WuL9+8L21K9e2HHSTE/0f8=
gorm.io/gorm v1.25.12/go.mod h1:xh7N7RHfYlNc5EmcI/El95gXusucDrQnHXe0+CgWcLQ= gorm.io/gorm v1.25.12/go.mod h1:xh7N7RHfYlNc5EmcI/El95gXusucDrQnHXe0+CgWcLQ=

View File

@ -5,6 +5,7 @@ import (
ConfigMain "github.com/ManyakRus/starter/config_main" ConfigMain "github.com/ManyakRus/starter/config_main"
"github.com/ManyakRus/starter/log" "github.com/ManyakRus/starter/log"
"github.com/ManyakRus/starter/micro" "github.com/ManyakRus/starter/micro"
"github.com/ManyakRus/starter/microl"
"io/fs" "io/fs"
"os" "os"
"strconv" "strconv"
@ -80,6 +81,7 @@ type SettingsINI struct {
NEED_CREATE_CACHE_FILES bool NEED_CREATE_CACHE_FILES bool
NEED_CREATE_CACHE_TEST_FILES bool NEED_CREATE_CACHE_TEST_FILES bool
NEED_CREATE_MAIN_FILE bool NEED_CREATE_MAIN_FILE bool
NEED_CREATE_CONSTANTS_FILE bool
SERVICE_NAME string SERVICE_NAME string
SERVICE_REPOSITORY_URL string SERVICE_REPOSITORY_URL string
TEXT_TEMPLATE_MODEL string TEXT_TEMPLATE_MODEL string
@ -1332,6 +1334,10 @@ func FillSettings() {
s = Getenv(Name, true) s = Getenv(Name, true)
Settings.FOLDERNAME_API = s Settings.FOLDERNAME_API = s
//
Name = "NEED_CREATE_CONSTANTS_FILE"
microl.Set_FieldFromEnv_Bool(&Settings, Name, true)
} }
// CurrentDirectory - возвращает текущую директорию ОС // CurrentDirectory - возвращает текущую директорию ОС

View File

@ -15,6 +15,12 @@ import (
func CreateAllFiles() error { func CreateAllFiles() error {
var err error var err error
//
if config.Settings.NEED_CREATE_CONSTANTS_FILE == false {
return err
}
//
err = CreateFileConstants() err = CreateFileConstants()
if err != nil { if err != nil {
log.Error("CreateFileConstants() error: ", err) log.Error("CreateFileConstants() error: ", err)

View File

@ -5,6 +5,12 @@ import (
"time" "time"
) )
// LayoutDateTimeRus - формат текстовой даты и времени для России
var LayoutDateTimeRus = "02.01.2006 15:04:05"
// LayoutDateRus - формат текстовой даты для России
var LayoutDateRus = "02.01.2006"
var Loc = time.Local var Loc = time.Local
// CONNECTION_ID - ИД в БД Рапира в таблице connections // CONNECTION_ID - ИД в БД Рапира в таблице connections

View File

@ -857,6 +857,13 @@ func ShowTimePassed(StartAt time.Time) {
fmt.Printf("Time passed: %s\n", time.Since(StartAt)) fmt.Printf("Time passed: %s\n", time.Since(StartAt))
} }
// ShowTimePassed_FormatText - показывает время прошедшее с момента старта
// запускать:
// defer micro.ShowTimePassed(time.Now())
func ShowTimePassed_FormatText(FormatText string, StartAt time.Time) {
fmt.Printf(FormatText, time.Since(StartAt))
}
// ShowTimePassedSeconds - показывает время секунд прошедшее с момента старта // ShowTimePassedSeconds - показывает время секунд прошедшее с момента старта
// запускать: // запускать:
// defer micro.ShowTimePassedSeconds(time.Now()) // defer micro.ShowTimePassedSeconds(time.Now())
@ -1350,7 +1357,8 @@ func SetFieldValue(Object any, FieldName string, Value any) error {
} }
prop := ref.FieldByName(FieldName) prop := ref.FieldByName(FieldName)
prop.Set(reflect.ValueOf(Value)) ValueNew := reflect.ValueOf(Value)
prop.Set(ValueNew)
return err return err
} }

181
vendor/github.com/ManyakRus/starter/microl/microl.go generated vendored Normal file
View File

@ -0,0 +1,181 @@
// пакет для микрофункций с логгером
package microl
import (
"fmt"
"github.com/ManyakRus/starter/constants"
"github.com/ManyakRus/starter/log"
"github.com/ManyakRus/starter/micro"
"os"
"strconv"
"time"
)
// Getenv - возвращает переменную окружения
func Getenv(Name string, IsRequired bool) string {
TextError := "Need fill OS environment variable: "
Otvet := os.Getenv(Name)
if IsRequired == true && Otvet == "" {
log.Error(TextError + Name)
}
return Otvet
}
// Set_FieldFromEnv_String - устанавливает значение поля из переменной окружения
// Параметры:
// Object - указатель на структуру
// FieldName - имя поля
// IsRequired - обязательное ли поле
func Set_FieldFromEnv_String(StructReference any, FieldName string, IsRequired bool) {
Value := Getenv(FieldName, IsRequired)
err := micro.SetFieldValue(StructReference, FieldName, Value)
if err != nil {
err = fmt.Errorf("SetFieldFrom() FieldName: %s error: %w", FieldName, err)
log.Error(err)
return
}
}
// Set_FieldFromEnv_Int - устанавливает значение поля из переменной окружения
// Параметры:
// Object - указатель на структуру
// FieldName - имя поля
// IsRequired - обязательное ли поле
func Set_FieldFromEnv_Int(StructReference any, FieldName string, IsRequired bool) {
sValue := Getenv(FieldName, IsRequired)
Value, err := strconv.Atoi(sValue)
if err != nil {
err = fmt.Errorf("Atoi() FieldName: %s error: %w", FieldName, err)
log.Error(err)
return
}
err = micro.SetFieldValue(StructReference, FieldName, Value)
if err != nil {
err = fmt.Errorf("SetFieldFrom() FieldName: %s error: %w", FieldName, err)
log.Error(err)
return
}
}
// Set_FieldFromEnv_Int64 - устанавливает значение поля из переменной окружения
// Параметры:
// Object - указатель на структуру
// FieldName - имя поля
// IsRequired - обязательное ли поле
func Set_FieldFromEnv_Int64(StructReference any, FieldName string, IsRequired bool) {
sValue := Getenv(FieldName, IsRequired)
Value, err := strconv.ParseInt(sValue, 10, 64)
if err != nil {
err = fmt.Errorf("ParseInt() FieldName: %s error: %w", FieldName, err)
log.Error(err)
return
}
err = micro.SetFieldValue(StructReference, FieldName, Value)
if err != nil {
err = fmt.Errorf("SetFieldFrom() FieldName: %s error: %w", FieldName, err)
log.Error(err)
return
}
}
// Set_FieldFromEnv_Int32 - устанавливает значение поля из переменной окружения
// Параметры:
// Object - указатель на структуру
// FieldName - имя поля
// IsRequired - обязательное ли поле
func Set_FieldFromEnv_Int32(StructReference any, FieldName string, IsRequired bool) {
sValue := Getenv(FieldName, IsRequired)
var Value int32
Value, err := micro.Int32FromString(sValue)
if err != nil {
err = fmt.Errorf("ParseInt() FieldName: %s error: %w", FieldName, err)
log.Error(err)
return
}
err = micro.SetFieldValue(StructReference, FieldName, Value)
if err != nil {
err = fmt.Errorf("SetFieldFrom() FieldName: %s error: %w", FieldName, err)
log.Error(err)
return
}
}
// Set_FieldFromEnv_Time - устанавливает значение поля из переменной окружения
// Параметры:
// Object - указатель на структуру
// FieldName - имя поля
// IsRequired - обязательное ли поле
func Set_FieldFromEnv_Time(StructReference any, FieldName string, IsRequired bool) {
sValue := Getenv(FieldName, IsRequired)
Value, err := time.Parse(constants.LayoutDateTimeRus, sValue)
if err != nil {
err = fmt.Errorf("time.Parse() FieldName: %s error: %w", FieldName, err)
log.Error(err)
return
}
err = micro.SetFieldValue(StructReference, FieldName, Value)
if err != nil {
err = fmt.Errorf("SetFieldFrom() FieldName: %s error: %w", FieldName, err)
log.Error(err)
return
}
}
// Set_FieldFromEnv_Date - устанавливает значение поля из переменной окружения
// Параметры:
// Object - указатель на структуру
// FieldName - имя поля
// IsRequired - обязательное ли поле
func Set_FieldFromEnv_Date(StructReference any, FieldName string, IsRequired bool) {
sValue := Getenv(FieldName, IsRequired)
Value, err := time.Parse(constants.LayoutDateRus, sValue)
if err != nil {
err = fmt.Errorf("time.Parse() FieldName: %s error: %w", FieldName, err)
log.Error(err)
return
}
err = micro.SetFieldValue(StructReference, FieldName, Value)
if err != nil {
err = fmt.Errorf("SetFieldFrom() FieldName: %s error: %w", FieldName, err)
log.Error(err)
return
}
}
// Set_FieldFromEnv_Bool - устанавливает значение поля из переменной окружения
// Параметры:
// Object - указатель на структуру
// FieldName - имя поля
// IsRequired - обязательное ли поле
func Set_FieldFromEnv_Bool(StructReference any, FieldName string, IsRequired bool) {
sValue := Getenv(FieldName, IsRequired)
Value := micro.BoolFromString(sValue)
err := micro.SetFieldValue(StructReference, FieldName, Value)
if err != nil {
err = fmt.Errorf("SetFieldFrom() FieldName: %s error: %w", FieldName, err)
log.Error(err)
return
}
}

View File

@ -150,15 +150,7 @@ func (m Migrator) CreateIndex(value interface{}, name string) error {
createIndexSQL += " WHERE " + idx.Where createIndexSQL += " WHERE " + idx.Where
} }
err := m.DB.Exec(createIndexSQL, values...).Error return m.DB.Exec(createIndexSQL, values...).Error
if err != nil {
return err
}
if !m.HasIndex(value, name) {
return fmt.Errorf("failed to create index with name %v", name)
}
return nil
} }
} }

5
vendor/modules.txt vendored
View File

@ -1,7 +1,7 @@
# github.com/ManyakRus/logrus v0.0.0-20231019115155-9e6fede0d792 # github.com/ManyakRus/logrus v0.0.0-20231019115155-9e6fede0d792
## explicit; go 1.13 ## explicit; go 1.13
github.com/ManyakRus/logrus github.com/ManyakRus/logrus
# github.com/ManyakRus/starter v1.0.90 # github.com/ManyakRus/starter v1.0.92
## explicit; go 1.22.1 ## explicit; go 1.22.1
github.com/ManyakRus/starter/config_main github.com/ManyakRus/starter/config_main
github.com/ManyakRus/starter/constants github.com/ManyakRus/starter/constants
@ -9,6 +9,7 @@ github.com/ManyakRus/starter/contextmain
github.com/ManyakRus/starter/log github.com/ManyakRus/starter/log
github.com/ManyakRus/starter/logger github.com/ManyakRus/starter/logger
github.com/ManyakRus/starter/micro github.com/ManyakRus/starter/micro
github.com/ManyakRus/starter/microl
github.com/ManyakRus/starter/port_checker github.com/ManyakRus/starter/port_checker
github.com/ManyakRus/starter/postgres_gorm github.com/ManyakRus/starter/postgres_gorm
github.com/ManyakRus/starter/stopapp github.com/ManyakRus/starter/stopapp
@ -156,7 +157,7 @@ google.golang.org/protobuf/reflect/protoregistry
google.golang.org/protobuf/runtime/protoiface google.golang.org/protobuf/runtime/protoiface
google.golang.org/protobuf/runtime/protoimpl google.golang.org/protobuf/runtime/protoimpl
google.golang.org/protobuf/types/known/timestamppb google.golang.org/protobuf/types/known/timestamppb
# gorm.io/driver/postgres v1.5.10 # gorm.io/driver/postgres v1.5.11
## explicit; go 1.19 ## explicit; go 1.19
gorm.io/driver/postgres gorm.io/driver/postgres
# gorm.io/gorm v1.25.12 # gorm.io/gorm v1.25.12