Example #1
0
    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
        )
Example #2
0
 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)
         })
Example #3
0
    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)
Example #4
0
    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)
Example #5
0
    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)
Example #6
0
    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)
Example #7
0
 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))
Example #8
0
 def get(self, request, key):
     code = sawtooth_api.get_or_404(Code, address.for_code(key))
     return Response(sawtooth_api.proto_to_dict(code))