Files
pms/pms_api_rest/services/room_services.py

48 lines
1.3 KiB
Python

from odoo.addons.base_rest import restapi
from odoo.addons.base_rest_datamodel.restapi import Datamodel
from odoo.addons.component.core import Component
class PmsRoomService(Component):
_inherit = "base.rest.service"
_name = "pms.room.service"
_usage = "rooms"
_collection = "pms.private.services"
@restapi.method(
[
(
[
"/",
],
"GET",
)
],
input_param=Datamodel("pms.room.search.param"),
output_param=Datamodel("pms.room.info", is_list=True),
)
def get_rooms(self, room_search_param):
domain = []
if room_search_param.name:
domain.append(("name", "like", room_search_param.name))
if room_search_param.id:
domain.append(("id", "=", room_search_param.id))
result_rooms = []
PmsRoomInfo = self.env.datamodels["pms.room.info"]
for room in (
self.env["pms.room"]
.sudo()
.search(
domain,
)
):
result_rooms.append(
PmsRoomInfo(
id=room.id,
name=room.name,
roomTypeId=room.room_type_id,
)
)
return result_rooms