def register(self):
        self.register_interceptor('/dummies$', self._increment_number_of_calls)

        self.register_route('get', '/dummies', ObjectSchema(True)
                            .with_optional_property("skip", TypeCode.String)
                            .with_optional_property("take", TypeCode.String)
                            .with_optional_property("total", TypeCode.String)
                            .with_optional_property("body", FilterParamsSchema()), self.__get_page_by_filter)

        self.register_route('get', '/dummies/<dummy_id>', ObjectSchema(True)
                            .with_required_property("dummy_id", TypeCode.String),
                            self.__get_one_by_id)

        self.register_route('post', '/dummies', ObjectSchema(True)
                            .with_required_property("body", DummySchema()),
                            self.__create)

        self.register_route('put', '/dummies', ObjectSchema(True)
                            .with_required_property("body", DummySchema()),
                            self.__update)

        self.register_route('delete', '/dummies/<dummy_id>', ObjectSchema(True)
                            .with_required_property("dummy_id", TypeCode.String),
                            self.__delete_by_id)

        self.register_route("get", "/dummies/check/correlation_id",
                            ObjectSchema(True), self.__check_correlation_id)

        self.register_route('post', '/about', None, AboutOperations().get_about)

        if self._swagger_content:
            self._register_open_api_spec(self._swagger_content)

        if self._swagger_path:
            self._register_open_api_spec_from_file(self._swagger_path)
Beispiel #2
0
    def make_get_beacons_command(self):
        def handler(correlation_id, args):
            filter = FilterParams.from_value(args.get("filter"))
            paging = PagingParams.from_value(args.get("paging"))
            return self._controller.get_beacons_by_filter(
                correlation_id, filter, paging)

        return Command(
            "get_beacons",
            ObjectSchema().with_optional_property(
                "filter", FilterParamsSchema()).with_optional_property(
                    "paging", PagingParamsSchema()), handler)
    def _make_get_page_by_filter_command(self) -> ICommand:
        def handler(correlation_id: Optional[str], args: Parameters):
            filter = FilterParams.from_value(args.get("filter"))
            paging = PagingParams.from_value(args.get("paging"))
            page = self._controller.get_page_by_filter(correlation_id, filter,
                                                       paging)
            return page

        return Command(
            "get_dummies",
            ObjectSchema(True).with_optional_property(
                "filter", FilterParamsSchema()).with_optional_property(
                    "paging", PagingParamsSchema()), handler)