def get(self, request, key=None): farm = sawtooth_api.get_or_404(Farm, address.for_farm(key)) data = sawtooth_api.proto_to_dict(farm) sawtooth_api.resolve_keys(data, 'certifications', Certification) return Response( data=data )
def get(self, request, key=None): addr = address.addr_map[pb_class](key) roast = sawtooth_api.get_or_404(pb_class, addr) state_data = sawtooth_api.client.state(addr) return Response( data={ "address": addr, "state": state_data, "head_block": sawtooth_api.client.block( state_data['head']), "object": sawtooth_api.proto_to_dict(roast) })
def post(self, request, key=None): roast = sawtooth_api.get_or_404(Roast, address.for_roast(key)) data = validate_using(RoastAddHarvestSerializer, data=request.data, view=self) resp = sawtooth_api.submit_event( add_related=Events.AddRelated(action="roast_harvest", object_key=key, related_key=data['key']), inputs=[address.for_harvest(data['key'])], outputs=[address.for_roast(key)]) return Response(data=resp)
def post(self, request, key): farm = sawtooth_api.get_or_404(Farm, address.for_farm(key)) data = validate_using(AddCertSerializer, data=request.data, view=self) resp = sawtooth_api.submit_event( add_related=Events.AddRelated( action="farm_cert", object_key=key, related_key=data['key'] ), inputs=[address.for_farm(data['key'])], # farm key is in the url outputs=[address.for_farm(key)] ) return Response(data=resp)
def get(self, request, key=None): roast = sawtooth_api.get_or_404(Roast, address.for_roast(key)) data = sawtooth_api.proto_to_dict(roast) sawtooth_api.resolve_keys(data, 'harvests', Harvest) for h in data['harvests']: sawtooth_api.resolve_keys(h, 'shipments', Shipment) sawtooth_api.resolve_keys(h, 'farms', Farm) # sort farms by date for f in h['farms']: sawtooth_api.resolve_keys(f, 'certifications', Certification) data['harvests'] = sorted(data['harvests'], key=itemgetter("year", "month")) return Response(data=data)
def post(self, request, key): harvest = sawtooth_api.get_or_404(Harvest, address.for_harvest(key)) data = validate_using(AddFarmSerializer, data=request.data, view=self) resp = sawtooth_api.submit_event( add_related=Events.AddRelated( action="harvest_farm", object_key=key, # key from the URL, already validated related_key=data[ 'key'] # key from the post-data, already validated ), inputs=[address.for_harvest(key), address.for_farm(data['key'])], outputs=[address.for_harvest(key) ] # this is the address we will be writing to ) return Response(data=resp)
def get(self, request, key=None): harvest = sawtooth_api.get_or_404(Shipment, address.for_shipment(key)) return Response(data=sawtooth_api.proto_to_dict(harvest))
def get(self, request, key): code = sawtooth_api.get_or_404(Code, address.for_code(key)) return Response(sawtooth_api.proto_to_dict(code))