package database
import (
+ "fmt"
+
"github.com/golang/groupcache/lru"
"github.com/jinzhu/gorm"
"github.com/vapor/federation/database/orm"
)
-const maxAssetCached = 1024
+const (
+ maxAssetCached = 1024
+
+ ormIDPrefix = "ormID"
+ assetIDPrefix = "assetID"
+)
+
+func fmtOrmIDKey(ormID uint64) string {
+ return fmt.Sprintf("%s:%d", ormIDPrefix, ormID)
+}
+
+func fmtAssetIDKey(assetID string) string {
+ return fmt.Sprintf("%s:%s", assetIDPrefix, assetID)
+}
type AssetStore struct {
cache *lru.Cache
}
}
-func (a *AssetStore) GetByOrmID(id uint64) (*orm.Asset, error) {
- asset := &orm.Asset{ID: id}
+func (a *AssetStore) GetByOrmID(ormID uint64) (*orm.Asset, error) {
+ asset := &orm.Asset{ID: ormID}
if err := a.db.Where(asset).First(asset).Error; err != nil {
return nil, errors.Wrap(err, "asset not found by orm id")
}