def to_cmd()

in src/aaz_dev/swagger/model/schema/response.py [0:0]


    def to_cmd(self, builder, is_error=False, status_codes=None, **kwargs):
        is_error = self.x_ms_error_response or is_error
        response = CMDHttpResponse()
        response.is_error = is_error
        response.status_codes = sorted(status_codes or [])
        builder.setup_description(response, self)

        if self.headers:
            response.header = CMDHttpResponseHeader()
            response.header.items = []
            for name in sorted(self.headers):
                header = CMDHttpResponseHeaderItem()
                header.name = name
                response.header.items.append(header)

        if self.schema:
            v = builder(
                self.schema,
                mutability=MutabilityEnum.Read,
                in_base=True,
                support_cls_schema=True,
            )
            if v.frozen:
                raise exceptions.InvalidSwaggerValueError(
                    msg="Invalid Response Schema. It's None.",
                    key=self.traces,
                )

            if isinstance(v, (
                    CMDAnyTypeSchemaBase,
                    CMDStringSchemaBase,
                    CMDObjectSchemaBase,
                    CMDArraySchemaBase,
                    CMDBooleanSchemaBase,
                    CMDFloatSchemaBase,
                    CMDIntegerSchemaBase,
                    CMDClsSchemaBase,
            )):
                model = CMDResponseJson()
                if is_error:
                    error_format = AAZErrorFormatEnum.classify_error_format(builder, v)
                    if error_format:
                        err_schema = CMDClsSchemaBase()
                        err_schema.read_only = v.read_only
                        err_schema.frozen = v.frozen
                        err_schema._type = f"@{error_format}"
                        v = err_schema
                    else:
                        raise exceptions.InvalidSwaggerValueError(
                            msg="Error response schema is not supported yet.",
                            key=self.traces,
                        )
                model.schema = v
            else:
                raise exceptions.InvalidSwaggerValueError(
                    msg="Invalid Response type",
                    key=self.traces,
                    value=v.type
                )

            if isinstance(model, CMDResponseJson):
                response.body = CMDHttpResponseJsonBody()
                response.body.json = model
            else:
                raise NotImplementedError()

        return response