github.com/cosmos/cosmos-sdk@v0.50.10/x/group/internal/orm/example_test.go (about) 1 package orm 2 3 import ( 4 "github.com/cosmos/cosmos-sdk/codec" 5 "github.com/cosmos/cosmos-sdk/testutil/testdata" 6 ) 7 8 type TestKeeper struct { 9 autoUInt64Table *AutoUInt64Table 10 primaryKeyTable *PrimaryKeyTable 11 autoUInt64TableModelByMetadataIndex Index 12 primaryKeyTableModelByNameIndex Index 13 primaryKeyTableModelByNumberIndex Index 14 primaryKeyTableModelByMetadataIndex Index 15 } 16 17 var ( 18 AutoUInt64TablePrefix = [2]byte{0x0} 19 PrimaryKeyTablePrefix = [2]byte{0x1} 20 AutoUInt64TableSeqPrefix byte = 0x2 21 AutoUInt64TableModelByMetadataPrefix byte = 0x4 22 PrimaryKeyTableModelByNamePrefix byte = 0x5 23 PrimaryKeyTableModelByNumberPrefix byte = 0x6 24 PrimaryKeyTableModelByMetadataPrefix byte = 0x7 25 ) 26 27 func NewTestKeeper(cdc codec.Codec) TestKeeper { 28 k := TestKeeper{} 29 var err error 30 31 k.autoUInt64Table, err = NewAutoUInt64Table(AutoUInt64TablePrefix, AutoUInt64TableSeqPrefix, &testdata.TableModel{}, cdc) 32 if err != nil { 33 panic(err.Error()) 34 } 35 k.autoUInt64TableModelByMetadataIndex, err = NewIndex(k.autoUInt64Table, AutoUInt64TableModelByMetadataPrefix, func(val interface{}) ([]interface{}, error) { 36 return []interface{}{val.(*testdata.TableModel).Metadata}, nil 37 }, testdata.TableModel{}.Metadata) 38 if err != nil { 39 panic(err.Error()) 40 } 41 42 k.primaryKeyTable, err = NewPrimaryKeyTable(PrimaryKeyTablePrefix, &testdata.TableModel{}, cdc) 43 if err != nil { 44 panic(err.Error()) 45 } 46 k.primaryKeyTableModelByNameIndex, err = NewIndex(k.primaryKeyTable, PrimaryKeyTableModelByNamePrefix, func(val interface{}) ([]interface{}, error) { 47 return []interface{}{val.(*testdata.TableModel).Name}, nil 48 }, testdata.TableModel{}.Name) 49 if err != nil { 50 panic(err.Error()) 51 } 52 k.primaryKeyTableModelByNumberIndex, err = NewIndex(k.primaryKeyTable, PrimaryKeyTableModelByNumberPrefix, func(val interface{}) ([]interface{}, error) { 53 return []interface{}{val.(*testdata.TableModel).Number}, nil 54 }, testdata.TableModel{}.Number) 55 if err != nil { 56 panic(err.Error()) 57 } 58 k.primaryKeyTableModelByMetadataIndex, err = NewIndex(k.primaryKeyTable, PrimaryKeyTableModelByMetadataPrefix, func(val interface{}) ([]interface{}, error) { 59 return []interface{}{val.(*testdata.TableModel).Metadata}, nil 60 }, testdata.TableModel{}.Metadata) 61 if err != nil { 62 panic(err.Error()) 63 } 64 65 return k 66 }