metadata

package
v1.3.34 Latest Latest
Warning

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

Go to latest
Published: May 30, 2026 License: GPL-3.0 Imports: 6 Imported by: 0

Documentation

Overview

Code generated by godddx, DO AVOID EDIT.

Package metadata 通用数据持久化领域 提供 JSON 数据的存储能力,ID 由调用方指定, 仅支持创建、修改、按 ID 查询,不提供列表和删除接口

Code generated by godddx, DO AVOID EDIT.

Code generated by godddx, DO AVOID EDIT.

Code generated by godddx, DO AVOID EDIT.

Code generated by godddx, DO AVOID EDIT.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddMetadataInput

type AddMetadataInput struct {
	ID  string `json:"id" binding:"required,max=64"`      // 调用方指定的唯一标识
	Ext string `json:"ext" binding:"required,max=131072"` // 序列化的 JSON 字符串

	CreatedBy     string `json:"-"` // 创建者(API层填充)
	LastUpdatedBy string `json:"-"` // 最后更新者(API层填充)
}

AddMetadataInput 新增数据参数

type Core

type Core struct {
	// contains filtered or unexported fields
}

Core business domain

func NewCore

func NewCore(store Storer) Core

NewCore create business domain

func (Core) AddMetadata

func (c Core) AddMetadata(ctx context.Context, in *AddMetadataInput) (*Metadata, error)

AddMetadata 创建数据记录

func (Core) EditMetadata

func (c Core) EditMetadata(ctx context.Context, in *EditMetadataInput, id string) (*Metadata, error)

EditMetadata 更新数据记录

func (Core) GetMetadata

func (c Core) GetMetadata(ctx context.Context, id string) (*Metadata, error)

GetMetadata 按 ID 查询单条数据

func (Core) SaveMetadata

func (c Core) SaveMetadata(ctx context.Context, in *SaveMetadataInput, id string) (*Metadata, error)

SaveMetadata 幂等保存:先尝试更新已有记录,不存在则创建

type EditMetadataInput

type EditMetadataInput struct {
	Ext string `json:"ext" binding:"required,max=131072"` // 序列化的 JSON 字符串

	LastUpdatedBy string `json:"-"` // 最后更新者(API层填充)
}

EditMetadataInput 编辑数据参数

type Metadata

type Metadata struct {
	ID            string   `gorm:"primaryKey" json:"id"`
	CreatedAt     orm.Time `gorm:"column:created_at;notNull;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
	UpdatedAt     orm.Time `gorm:"column:updated_at;notNull;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
	CreatedBy     string   `gorm:"column:created_by;notNull;default:'';comment:创建者" json:"created_by"`                 // 创建者
	LastUpdatedBy string   `gorm:"column:last_updated_by;notNull;default:'';comment:最后更新者" json:"last_updated_by"`     // 最后更新者
	Ext           string   `gorm:"column:ext;type:text;notNull;default:'';comment:序列化的 JSON 字符串" json:"ext"`           // 序列化的 JSON 字符串
}

Metadata domain model

func (*Metadata) CacheKey

func (m *Metadata) CacheKey() string

CacheKey 缓存主键,必须唯一 godddx 生成缓存代码时,依赖的主键 默认应该是 ID 字段,但也可以自定义

func (*Metadata) TableName

func (*Metadata) TableName() string

TableName database table name

type MetadataStorer

type MetadataStorer interface {
	Find(context.Context, *[]*Metadata, orm.Pager, ...orm.QueryOption) (int64, error)
	Get(context.Context, *Metadata, ...orm.QueryOption) error
	Add(context.Context, *Metadata) error
	Edit(context.Context, *Metadata, func(*Metadata), ...orm.QueryOption) error
	Del(context.Context, *Metadata, ...orm.QueryOption) error
	Count(context.Context, ...orm.QueryOption) (int64, error)

	Session(context.Context, ...func(*gorm.DB) error) error
	EditWithSession(*gorm.DB, *Metadata, func(b *Metadata) error, ...orm.QueryOption) error
}

MetadataStorer Instantiation interface

type SaveMetadataInput

type SaveMetadataInput struct {
	Ext string `json:"ext" binding:"required,max=131072"` // 序列化的 JSON 字符串

	CreatedBy     string `json:"-"` // 创建者(API层填充)
	LastUpdatedBy string `json:"-"` // 最后更新者(API层填充)
}

SaveMetadataInput 保存数据参数,合并创建与更新为一个幂等操作

type Storer

type Storer interface {
	Metadata() MetadataStorer
}

Storer data persistence

Directories

Path Synopsis
Code generated by godddx, DO AVOID EDIT.
Code generated by godddx, DO AVOID EDIT.
store
metadatadb
Code generated by godddx, DO AVOID EDIT.
Code generated by godddx, DO AVOID EDIT.

Jump to

Keyboard shortcuts

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