meta

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Mar 11, 2024 License: MIT Imports: 1 Imported by: 5

Documentation

Index

Constants

View Source
const (
	CLASSS_ENTITY      string = "Entity"
	CLASSS_ENUM        string = "Enum"
	CLASSS_ABSTRACT    string = "Abstract"
	CLASS_VALUE_OBJECT string = "ValueObject"
)
View Source
const (
	QUERY    string = "query"
	MUTATION string = "mutation"
)
View Source
const (
	INHERIT             string = "inherit"
	TWO_WAY_ASSOCIATION string = "twoWayAssociation"
	TWO_WAY_AGGREGATION string = "twoWayAggregation"
	TWO_WAY_COMBINATION string = "twoWayCombination"
	ONE_WAY_ASSOCIATION string = "oneWayAssociation"
	//ONE_WAY_AGGREGATION string = "oneWayAggregation"
	ONE_WAY_COMBINATION string = "oneWayCombination"

	ZERO_ONE  string = "0..1"
	ZERO_MANY string = "0..*"
)
View Source
const (
	ID                 string = "ID"
	INT                string = "Int"
	FLOAT              string = "Float"
	BOOLEAN            string = "Boolean"
	STRING             string = "String"
	DATE               string = "Date"
	ENUM               string = "Enum"
	JSON               string = "JSON"
	VALUE_OBJECT       string = "ValueObject"
	ENTITY             string = "Entity"
	ID_ARRAY           string = "ID[]"
	INT_ARRAY          string = "Int[]"
	FLOAT_ARRAY        string = "Float[]"
	STRING_ARRAY       string = "String[]"
	DATE_ARRAY         string = "Date[]"
	ENUM_ARRAY         string = "EnumArray"
	VALUE_OBJECT_ARRAY string = "ValueObjectArray"
	ENTITY_ARRAY       string = "EntityArray"
	PASSWORD           string = "Password"
	UUID               string = "Uuid"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ArgMeta

type ArgMeta struct {
	Uuid      string `json:"uuid"`
	Type      string `json:"type"`
	Name      string `json:"name"`
	TypeUuid  string `json:"typeUuid"`
	TypeLabel string `json:"typeLabel"`
}

type AssociationClass

type AssociationClass struct {
	Name       string          `json:"name"`
	Attributes []AttributeMeta `json:"attributes"`
}

type AttributeMeta

type AttributeMeta struct {
	Uuid          string `json:"uuid"`
	Type          string `json:"type"`
	Primary       bool   `json:"primary"`
	Name          string `json:"name"`
	Label         string `json:"label"`
	Nullable      bool   `json:"nullable"`
	Default       string `json:"default"`
	Unique        bool   `json:"unique"`
	Index         bool   `json:"index"`
	CreateDate    bool   `json:"createDate"`
	UpdateDate    bool   `json:"updateDate"`
	DeleteDate    bool   `json:"deleteDate"`
	Hidden        bool   `json:"hidden"`
	Length        int    `json:"length"`
	FloatM        int    `json:"floatM"` //M digits in total
	FloatD        int    `json:"floatD"` //D digits may be after the decimal point
	Unsigned      bool   `json:"unsigned"`
	TypeUuid      string `json:"typeUuid"`
	Readonly      bool   `json:"readonly"`
	Description   string `json:"description"`
	TypeLabel     string `json:"typeLabel"`
	System        bool   `json:"system"`
	AutoIncrement bool   `json:"autoIncrement"`
	AutoGenerate  bool   `json:"autoGenerate"`
}

type ClassMeta

type ClassMeta struct {
	Uuid        string          `json:"uuid"`
	InnerId     uint64          `json:"innerId"`
	Name        string          `json:"name"`
	Label       string          `json:"label"`
	StereoType  string          `json:"stereoType"`
	Attributes  []AttributeMeta `json:"attributes"`
	Methods     []MethodMeta    `json:"methods"`
	Root        bool            `json:"root"`
	Description string          `json:"description"`
	SoftDelete  bool            `json:"softDelete"`
	PackageUuid string          `json:"packageUuid"`
	OnCreated   string          `json:"onCreated"`
	OnUpdated   string          `json:"onUpdated"`
	OnDeleted   string          `json:"onDeleted"`
	//生成表名时使用,运行时动态注入,不持久化
	MetaId uint64
}

type CodeMeta

type CodeMeta struct {
	Uuid       string `json:"uuid"`
	Name       string `json:"name"`
	ScriptText string `json:"scriptText"`
}

type MethodMeta

type MethodMeta struct {
	Uuid        string            `json:"uuid"`
	Name        string            `json:"name"`
	Type        string            `json:"type"`
	TypeUuid    string            `json:"typeUuid"`
	TypeLabel   string            `json:"typeLabel"`
	Args        []ArgMeta         `json:"args"`
	OperateType string            `json:"operateType"` //mutation or query
	Description string            `json:"description"`
	LogicMetas  dsl.LogicFlowMeta `json:"logicMetas"`
	LogicScript string            `json:"logicScript"`
}

type Model

type Model struct {
	Classes      []*ClassMeta
	Relations    []*RelationMeta
	Codes        []*CodeMeta
	ScriptLogics []*MethodMeta
	GraphLogics  []*MethodMeta
	APIs         []*MethodMeta
}

func New

func New(m *UMLMeta, metaId uint64) *Model

func (*Model) GetAbstractClassByUuid

func (m *Model) GetAbstractClassByUuid(uuid string) *ClassMeta

func (*Model) GetClassByUuid

func (m *Model) GetClassByUuid(uuid string) *ClassMeta

type PackageMeta

type PackageMeta struct {
	Uuid  string `json:"uuid"`
	Name  string `json:"name"`
	Label string `json:"label"`
}

type RelationMeta

type RelationMeta struct {
	Uuid                   string           `json:"uuid"`
	InnerId                uint64           `json:"innerId"`
	RelationType           string           `json:"relationType"`
	SourceId               string           `json:"sourceId"`
	TargetId               string           `json:"targetId"`
	RoleOfTarget           string           `json:"roleOfTarget"`
	RoleOfSource           string           `json:"roleOfSource"`
	LabelOfTarget          string           `json:"labelOfTarget"`
	LabelOfSource          string           `json:"labelOfSource"`
	DescriptionOnSource    string           `json:"descriptionOnSource"`
	DescriptionOnTarget    string           `json:"descriptionOnTarget"`
	SourceMutiplicity      string           `json:"sourceMutiplicity"`
	TargetMultiplicity     string           `json:"targetMultiplicity"`
	EnableAssociaitonClass bool             `json:"enableAssociaitonClass"`
	AssociationClass       AssociationClass `json:"associationClass"`
	System                 bool             `json:"system"`
	AppId                  uint64
}

func (*RelationMeta) IsAbsract

func (r *RelationMeta) IsAbsract(m *Model) bool

type UMLMeta

type UMLMeta struct {
	//导出、导入文件时使用
	//Id           shared.ID      `json:"id"`
	Classes      []ClassMeta    `json:"classes"`
	Relations    []RelationMeta `json:"relations"`
	Codes        []CodeMeta     `json:"codes"`
	ScriptLogics []MethodMeta   `json:"scriptLogics"` //脚本逻辑编排
	GraphLogics  []MethodMeta   `json:"graphLogics"`  //图形化逻辑编排
	APIs         []MethodMeta   `json:"apis"`         //用于生成服务接口
}

Jump to

Keyboard shortcuts

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