def get(self, id: str) -> HttpResp:
        resp = self.uc.get_certificate_by_id(id=id)
        if resp.ok:
            data = certificate_to_json(resp.item)
        else:
            data = dump_errors(resp.errors)

        return data, resp.status
    def put(self, id: str) -> HttpResp:
        certificate_json = http_req.json
        resp = self.uc.put_certificate(id=id, req=certificate_json)

        if resp.ok:
            data = certificate_to_json(resp.item)
        else:
            data = dump_errors(resp.errors)

        return data, resp.status
    def post(self) -> HttpResp:
        certificate_json = http_req.json
        resp = self.uc.post_certificate(req=certificate_json)

        if resp.ok:
            data = certificate_to_json(resp.item)
        else:
            data = dump_errors(resp.errors)

        return data, http_status(resp.status)
    def get(self) -> HttpResp:
        sort = http_req.args.getlist("sort[]")
        username = http_req.args.get("username")
        name = http_req.args.get("name")

        resp = self.uc.get_certificates(sort=sort,
                                        username=username,
                                        name=name)

        if resp.ok:
            data = {"certificates": certificates_to_json(resp.items)}
        else:
            data = dump_errors(resp.errors)
        return data, resp.status
def certificate_to_json(certificate: Certificate):
    if certificate:
        return certificate.serialize
    return dump_errors(certificate)