Documentation
¶
Index ¶
- Variables
- func CamelToSnake(s string) string
- func CapitalizeFirstLetter(s string) string
- func CommonCMD()
- func CommonCMDInit()
- func CommonModInit(project_module string)
- func CommonProjectName(projectName string, authAppName string, authAppType string)
- func GetProjectName() string
- func InitProjectJSON()
- func LoadData(fileName string) error
- func LoadTemplate(name string) *template.Template
- func ToLowerCaseName(s string) string
- func WriteTemplateToFile(filePath string, tmpl *template.Template, data Data)
- func WriteTemplateToFileModel(filePath string, tmpl *template.Template, data Model)
- func WriteTemplateToFileRelation(filePath string, tmpl *template.Template, data Relationship)
- func WriteTemplateToFileSetting(filePath string, tmpl *template.Template, data ProjectSetting)
- type Data
- type Field
- type Model
- type ProjectSetting
- type Relationship
Constants ¶
This section is empty.
Variables ¶
var FuncMap = template.FuncMap{ "camelToSnake": CamelToSnake, "add": add, "parseTime": parseTime, "parseInt": parseInt, "randomEmail": randomEmail, "randomUUID": randomUUID, "randomID": randomID, "randomUInt": randomUInt, "randomFloat64": randomFloat64, "randomFloat32": randomFloat32, "randomInt32": randomInt32, "randomInt64": randomInt64, "randomString": randomGenericString, "randomTime": randomTime, "randomBool": randomBool, "replaceString": replaceString, "replaceStringCapitalize": replaceStringCapitalize, "formatSliceToString": formatSliceToString, "toLowerCaseName": ToLowerCaseName, }
var TemplateFS embed.FS
Functions ¶
func CamelToSnake ¶
CamelToSnake converts CamelCase or PascalCase to snake_case
func CapitalizeFirstLetter ¶
CapitalizeFirstLetter capitalizes the first letter of the string.
func CommonCMDInit ¶
func CommonCMDInit()
func CommonModInit ¶
func CommonModInit(project_module string)
func CommonProjectName ¶
CommonProjectName saves the project name into the project JSON file.
func GetProjectName ¶
func GetProjectName() string
GetProjectName retrieves the project name from the project JSON file.
func InitProjectJSON ¶
func InitProjectJSON()
InitProjectJSON initializes the project JSON file if not already present.
func LoadTemplate ¶
func ToLowerCaseName ¶
CamelToSnake converts CamelCase or PascalCase to snake_case
func WriteTemplateToFile ¶
func WriteTemplateToFileRelation ¶
func WriteTemplateToFileRelation(filePath string, tmpl *template.Template, data Relationship)
func WriteTemplateToFileSetting ¶
func WriteTemplateToFileSetting(filePath string, tmpl *template.Template, data ProjectSetting)
Types ¶
type Data ¶
type Data struct { ProjectName string `json:"project_name"` FrameName string `json:"frame_name"` AppName string `json:"app_name"` PackageAppName string `json:"package_app_name"` BackTick string `json:"back_tick"` Models []Model `json:"models"` AppNames []string `json:"app_names"` AuthAppName string `json:"auth_app_name"` AuthAppType string `json:"auth_app_Type"` Frame string `json:"frame"` CurrentAppName string `json:"current_app_name"` }
Data struct holds information about the project.
var RenderData Data
func (*Data) SetBackTick ¶
func (d *Data) SetBackTick()
SetBackTick assigns a backtick to the Data struct.
type Field ¶
type Field struct { NormalModelName string `json:"normal_model_name"` ModelName string `json:"model_name"` Name string `json:"name"` LowerName string `json:"lower_name"` Type string `json:"type"` UpperType string `json:"upper_type"` Annotation string `json:"annotation"` MongoAnnotation string `json:"mongo_annotation"` CurdFlag string `json:"curd_flag"` Get bool `json:"get"` Post bool `json:"post"` Patch bool `json:"patch"` Put bool `json:"put"` OtM bool `json:"otm"` MtM bool `json:"mtm"` ProjectName string `json:"project_name"` AppName string `json:"app_name"` AuthAppName string `json:"auth_app_name"` BackTick string `json:"back_tick"` RandomFieldValue string `json:"random_field_value"` }
Field represents a model field.
type Model ¶
type Model struct { Name string `json:"name"` LowerName string `json:"lower_name"` RlnModel []string `json:"rln_model"` BackTick string `json:"back_tick"` Fields []Field `json:"fields"` ProjectName string `json:"project_name"` AppName string `json:"app_name"` AuthAppName string `json:"auth_app_name"` SearchFields []string `json:"search_fields"` Relations []Relationship `json:"relations"` AuthAppType string `json:"auth_app_type"` TableName string `json:"table_name"` }
Model represents a data model.
type ProjectSetting ¶
type ProjectSetting struct { ProjectName string `json:"project_name"` AppNames []string `json:"app_names"` CurrentAppName string `json:"current_app_name"` BackTick string `json:"back_tick"` AuthAppName string `json:"auth_app_name"` AuthAppType string `json:"auth_app_type"` Models []Model `json:"models"` }
ProjectSetting contains project configuration.
var ProjectSettings ProjectSetting
func (*ProjectSetting) AppendAppName ¶
func (p *ProjectSetting) AppendAppName(appName, authAppName string) error
AppendAppName appends a new app name to AppNames if not already present.
func (*ProjectSetting) Contains ¶
func (p *ProjectSetting) Contains(str string) bool
Contains checks if a string is in the AppNames slice.
type Relationship ¶
type Relationship struct { TableName string `json:"table_name"` AppName string `json:"app_name"` ParentName string `json:"parent_name"` LowerParentName string `json:"lower_parent_name"` FieldName string `json:"field_name"` LowerFieldName string `json:"lower_field_name"` ParentFields []Field `json:"parent_fields"` ChildFields []Field `json:"child_fields"` MtM bool `json:"mtm"` OtM bool `json:"otm"` MtO bool `json:"mto"` BackTick string `json:"back_tick"` ProjectName string `json:"project_name"` }
Relationship defines model relationships.