domain

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Jul 29, 2024 License: GPL-3.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	WhenCreate = "create"
	WhenDelete = "delete"
	WhenUpdate = "update"
)

Variables

This section is empty.

Functions

func Check added in v1.1.0

func Check(object Object, fieldMap map[string]string) error

Check 校验领域对象 参数: - object: 领域对象 - fieldMap: 字段说明map - when: 何时校验 返回值: - 错误

func CheckField added in v0.5.1

func CheckField(object Object, fieldName string, fieldMap map[string]string) error

CheckField 校验领域对象字段 参数: - object: 领域对象 - fieldName: 字段名 - fieldMap: 字段说明map 返回值: - 错误

func CheckFieldWhen added in v1.1.0

func CheckFieldWhen(object Object, fieldName string, fieldMap map[string]string, when string) error

CheckFieldWhen 校验领域对象字段 参数: - object: 领域对象 - fieldName: 字段名 - fieldMap: 字段说明map - when: 何时校验 返回值: - 错误

func CheckFields added in v0.5.1

func CheckFields(object Object, fieldMap map[string]string, checkFunc func(fieldName string) bool) error

CheckFields 校验领域对象字段 参数: - object: 领域对象 - fieldMap: 字段说明map - checkFunc: 检查函数,返回true检查该字段,返回false不检查该字段 返回值: - 错误

func CheckFieldsForCreate added in v1.1.0

func CheckFieldsForCreate(object Object, fieldMap map[string]string) error

CheckFieldsForCreate 为创建校验领域对象字段 参数: - object: 领域对象 - fieldMap: 字段说明map 返回值: - 错误

func CheckFieldsForDelete added in v1.1.0

func CheckFieldsForDelete(object Object, fieldMap map[string]string) error

CheckFieldsForDelete 为删除校验领域对象字段

参数: - object: 领域对象 - fieldMap: 字段说明map 返回值: - 错误

func CheckFieldsForUpdate added in v1.1.0

func CheckFieldsForUpdate(object Object, fieldMap map[string]string) error

CheckFieldsForUpdate 为更新校验领域对象字段

参数: - object: 领域对象 - fieldMap: 字段说明map 返回值: - 错误

func CheckFieldsWhen added in v1.1.0

func CheckFieldsWhen(object Object, fieldMap map[string]string, when string, checkFunc func(fieldName string) bool) error

CheckFieldsWhen 校验领域对象字段 参数: - object: 领域对象 - fieldMap: 字段说明map - when: 何时校验 - checkFunc: 检查函数,返回true检查该字段,返回false不检查该字段 返回值: - 错误

func CheckWhen added in v1.1.0

func CheckWhen(object Object, fieldMap map[string]string, when string) error

CheckWhen 校验领域对象 参数: - object: 领域对象 - fieldMap: 字段说明map - when: 何时校验 返回值: - 错误

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 - 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 - object: 领域对象 返回值: - 表名

func ToConcrete

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

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

Types

type Object

type Object interface {
	// DomainCNName 返回领域的中文名称
	DomainCNName() string

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

	// GetFieldMap 获取字段解释map
	GetFieldMap() map[string]string
}

Object 领域对象接口

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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