domain

package
v0.11.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 21, 2024 License: GPL-3.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckField added in v0.5.1

func CheckField(result check.Result, domainCNName string, fieldName string) error

CheckField 校验领域对象某一字段的字段校验结果 参数: - result: 使用check.Struct返回的字段校验结果 - domainCNName: 领域中文名,可以使用DomainCNName()方法的返回值 - fieldName: 字段名 返回值: - 错误

func CheckFields added in v0.5.1

func CheckFields(result check.Result, domainCNName string, fieldNames []string) error

CheckFields 校验领域对象多个字段的字段校验结果 参数: - result: 使用check.Struct返回的字段校验结果 - domainCNName: 领域中文名,可以使用DomainCNName()方法的返回值 - fieldNames: 多个字段名 返回值: - 错误

func ColumnName added in v0.5.1

func ColumnName(fieldName string) string

ColumnName 生成对应字段的列名,实际为字段名转换为蛇形,如StudentNum会转化为student_num 参数: - fieldName: 字段名 返回值: - 列名

func Field

func Field[T any](object Object, fieldName string) (T, error)

Field 获取领域对象对应字段的值 类型参数: - T: 字段值的类型 参数: - object: 领域对象 - fieldName: 要获取值的字段名 返回值: - 错误

func HasField

func HasField(object Object, fieldName string) bool

HasField 校验领域对象中是否有某一个字段 参数: - object: 领域对象 - fieldName: 字段名 返回值: - 是否存在

func RelationColumnName

func RelationColumnName(object Object) string

RelationColumnName 基于领域对象生成关联列名,实际为字段名转换为蛇形后加_id,如Student生成的关联列名为student_id 参数: - object: 领域对象 返回值: - 关联列名

func RelationTableName

func RelationTableName(schema string, left Object, right Object) string

RelationTableName 生成两个领域对象的关联表名,实际是将两个领域对象的驼峰式名称转换为蛇形并使用and连接,如:class_and_student 参数: - schema: 数据库的schema,如果schema为空,但是两个领域对象的DBSchema()方法返回值不为空切一致,则取代schema参数 - left: 左领域对象 - right: 右领域对象 返回值: - 关联表名

func RelativeDomainPath

func RelativeDomainPath(object Object) string

RelativeDomainPath 基于领域对象生成领域URL路径,实际为字段名转换为左小写驼峰式前面加/,如Student生成的领域URL路径为/student 参数: - object: 领域对象 返回值: - 领域URL路径

func SetField

func SetField[T any](object Object, fieldName string, value T) error

SetField 设置领域对象对应字段的值 类型参数: - T: 字段值的类型 参数: - object: 领域对象 - fieldName: 要设置值的字段名 - value: 设置的值 返回值: - 错误

func SnakeDomainName

func SnakeDomainName(object Object) string

SnakeDomainName 基于领域对象生成蛇形领域名称,如Student生成的蛇形领域名称为/student 参数: - object: 领域对象 返回值: - 蛇形领域名称

func TableName

func TableName(schema string, object Object) string

TableName 基于领域对象生成表名,实际是将领域对象的驼峰式名称转换为蛇形复数形式,如classes 参数: - schema: 数据库的schema,如果领域对象DBSchema()方法返回值不为空,则取代schema参数 - object: 领域对象 返回值: - 表名

func ToConcrete

func ToConcrete[T Object](object Object) (T, error)

ToConcrete 将领域对象转换为具体类型 类型参数: - T: 要转换到的类型 参数: - object: 领域对象 返回值: - 转换出的类型 - 错误

Types

type Object

type Object interface {
	// DBSchema 返回针对领域的数据库的schema,一般不需要赋值,除非该领域对象与其他领域对象不在同一个schema
	DBSchema() string

	// DomainCNName 返回领域的中文名称
	DomainCNName() string

	// DomainCamelName 返回领域的大写驼峰式名称
	DomainCamelName() string
}

Object 领域对象接口

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL