mirror of
https://github.com/gowvp/gb28181.git
synced 2026-04-22 15:07:10 +08:00
62 lines
2.1 KiB
Go
Executable File
62 lines
2.1 KiB
Go
Executable File
// Code generated by godddx, DO AVOID EDIT.
|
|
package metadataapi
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/gowvp/owl/internal/core/metadata"
|
|
"github.com/gowvp/owl/internal/core/metadata/store/metadatadb"
|
|
"github.com/ixugo/goddd/pkg/orm"
|
|
"github.com/ixugo/goddd/pkg/web"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
// MetadataAPI 为 http 提供通用数据持久化的业务方法
|
|
type MetadataAPI struct {
|
|
metadataCore metadata.Core
|
|
}
|
|
|
|
func NewMetadataCore(db *gorm.DB) metadata.Core {
|
|
var store metadata.Storer
|
|
store = metadatadb.NewDB(db).AutoMigrate(orm.GetEnabledAutoMigrate())
|
|
return metadata.NewCore(store)
|
|
}
|
|
|
|
func NewMetadataAPI(core metadata.Core) MetadataAPI {
|
|
return MetadataAPI{metadataCore: core}
|
|
}
|
|
|
|
// RegisterMetadata 注册通用数据持久化路由
|
|
func RegisterMetadata(g gin.IRouter, api MetadataAPI, handler ...gin.HandlerFunc) {
|
|
group := g.Group("/metadatas", handler...)
|
|
group.GET("/:id", web.WrapH(api.getMetadata))
|
|
group.POST("/:id", web.WrapH(api.saveMetadata))
|
|
}
|
|
|
|
// >>> metadata >>>>>>>>>>>>>>>>>>>>
|
|
|
|
// findMetadatas 分页查询(保留代码,当前不提供)
|
|
// func (a MetadataAPI) findMetadatas(c *gin.Context, in *metadata.FindMetadataInput) (any, error) {
|
|
// items, total, err := a.metadataCore.FindMetadatas(c.Request.Context(), in)
|
|
// return gin.H{"items": items, "total": total}, err
|
|
// }
|
|
|
|
// getMetadata 按 ID 查询数据
|
|
func (a MetadataAPI) getMetadata(c *gin.Context, _ *struct{}) (*metadata.Metadata, error) {
|
|
metadataID := c.Param("id")
|
|
return a.metadataCore.GetMetadata(c.Request.Context(), metadataID)
|
|
}
|
|
|
|
// saveMetadata 幂等保存:已存在则更新,不存在则创建
|
|
func (a MetadataAPI) saveMetadata(c *gin.Context, in *metadata.SaveMetadataInput) (*metadata.Metadata, error) {
|
|
metadataID := c.Param("id")
|
|
in.CreatedBy = web.GetUsername(c)
|
|
in.LastUpdatedBy = in.CreatedBy
|
|
return a.metadataCore.SaveMetadata(c.Request.Context(), in, metadataID)
|
|
}
|
|
|
|
// delMetadata 删除数据(保留代码,当前不提供)
|
|
// func (a MetadataAPI) delMetadata(c *gin.Context, _ *struct{}) (*metadata.Metadata, error) {
|
|
// metadataID := c.Param("id")
|
|
// return a.metadataCore.DelMetadata(c.Request.Context(), metadataID)
|
|
// }
|