class ListRequestSchemaBasic(BaseRequestSchema): page = Integer(default=1, missing=1, validate=[ValidateRange(min=1)]) pageSize = Integer(attribute='page_size', default=10, missing=10, validate=[ValidateRange(min=1, max=200)]) query = String()
class HotelsGetRequestSchema(Schema): page = Integer(default=1, missing=1, validate=[ValidateRange(min=1)]) page_size = Integer(data_key='pageSize', default=10, missing=10, validate=[ValidateRange(min=1, max=200)]) is_active = Integer(data_key='isActive', validate=[ValidateRange(min=0, max=1)]) city_or_province = String(data_key='cityOrProvince') query = String()
class HotelsGetResponseSchema(BaseResponseSchema): page = Integer(required=True) page_size = Integer(data_key='pageSize', required=True, validate=[ValidateRange(min=1, max=200)]) total = Integer(required=True) hotels = Nested(HotelSchema(many=True))
class TourBookingsGetResponseSchema(BaseResponseSchema): page = Integer(required=True) page_size = Integer(data_key='pageSize', required=True, validate=[ValidateRange(min=1, max=200)]) total = Integer(required=True) tour_bookings = Nested(data_key='tourBookings', nested=TourBookingWithNestedTourSchema(many=True))
class TourBookingsGetRequestSchema(Schema): page = Integer(default=1, missing=1, validate=[ValidateRange(min=1)]) page_size = Integer(data_key='pageSize', default=10, missing=10, validate=[ValidateRange(min=1, max=200)]) status = String(validate=[ValidateEnum(BookingStatus)]) query = String() user_id = String(data_key='userId') @post_load() def refine_data(self, data, **kwargs): for key, value in data.items(): if key in ['status']: data[key] = StringUtils.string_split_by_comma_to_list( value, str) return data
class UsersGetRequestSchema(ListRequestSchemaBasic): isActive = Integer(attribute='is_active', required=False, validate=[ValidateRange(min=0, max=1)])
class ListResponseSchemaBasic(BaseResponseSchema): page = Integer(required=True) pageSize = Integer(attribute='page_size', required=True, validate=[ValidateRange(min=1, max=200)]) total = Integer(required=True)