github.com/s7techlab/cckit@v0.10.5/examples/token/service/allowance/state.go (about)

     1  package allowance
     2  
     3  import (
     4  	"github.com/s7techlab/cckit/router"
     5  	"github.com/s7techlab/cckit/state"
     6  	m "github.com/s7techlab/cckit/state/mapping"
     7  )
     8  
     9  var (
    10  	StateMappings = m.StateMappings{}.
    11  		//  Create mapping for Allowance entity
    12  		// key `Allowance`,`{OwnerAddress}`,`{SpenderAddress}`,`{Path[0]}`..., `{Path[n]`
    13  		Add(&Allowance{},
    14  			m.PKeySchema(&AllowanceId{}),
    15  			m.List(&Allowances{}), // Structure of result for List method
    16  		)
    17  
    18  	EventMappings = m.EventMappings{}.
    19  			Add(&Approved{}).
    20  			Add(&TransferredFrom{})
    21  )
    22  
    23  // State with chaincode mappings
    24  func State(ctx router.Context) m.MappedState {
    25  	return m.WrapState(ctx.State(), StateMappings)
    26  }
    27  
    28  // Event with chaincode mappings
    29  func Event(ctx router.Context) state.Event {
    30  	return m.WrapEvent(ctx.Event(), EventMappings)
    31  }