diff --git a/pms_api_rest/datamodels/pms_calendar.py b/pms_api_rest/datamodels/pms_calendar.py index 2b18db9f4..cd690b60e 100644 --- a/pms_api_rest/datamodels/pms_calendar.py +++ b/pms_api_rest/datamodels/pms_calendar.py @@ -31,7 +31,7 @@ class PmsCalendarSearchParam(Datamodel): class PmsCalendarFreeDailyRoomsByType(Datamodel): _name = "pms.calendar.free.daily.rooms.by.type" date = fields.String(required=True, allow_none=False) - roomType = fields.Integer(required=True, allow_none=False) + roomTypeId = fields.Integer(required=True, allow_none=False) freeRooms = fields.Integer(required=True, allow_none=False) diff --git a/pms_api_rest/datamodels/pms_user.py b/pms_api_rest/datamodels/pms_user.py index 80683707e..a3b390071 100644 --- a/pms_api_rest/datamodels/pms_user.py +++ b/pms_api_rest/datamodels/pms_user.py @@ -12,6 +12,7 @@ class PmsApiRestUserInput(Datamodel): class PmsApiRestUserOutput(Datamodel): _name = "pms.api.rest.user.output" token = fields.String(required=False, allow_none=True) + expirationDate = fields.Integer(required=True, allow_none=False) userId = fields.Integer(required=True, allow_none=False) userName = fields.String(required=True, allow_none=False) userImageBase64 = fields.String(required=False, allow_none=True) diff --git a/pms_api_rest/services/pms_calendar_service.py b/pms_api_rest/services/pms_calendar_service.py index e31d32921..4b9eec975 100644 --- a/pms_api_rest/services/pms_calendar_service.py +++ b/pms_api_rest/services/pms_calendar_service.py @@ -250,7 +250,7 @@ class PmsCalendarService(Component): date=str( datetime.combine(date, datetime.min.time()).isoformat() ), - roomType=room_type_iterator.id, + roomTypeId=room_type_iterator.id, freeRooms=free_rooms_room_type, ) ) diff --git a/pms_api_rest/services/pms_login_service.py b/pms_api_rest/services/pms_login_service.py index 281c5ab53..81bfd6558 100644 --- a/pms_api_rest/services/pms_login_service.py +++ b/pms_api_rest/services/pms_login_service.py @@ -1,4 +1,5 @@ import time +from math import ceil from jose import jwt @@ -35,17 +36,20 @@ class PmsLoginService(Component): user_record = ( self.env["res.users"].sudo().search([("login", "=", user.username)]) ) + # formula = ms_now + ms in 1 sec * secs in 1 min + minutes = 10 + timestamp_expire_in_a_min = int(time.time()*1000.0) + 1000 * 60 * minutes if not user_record: raise ValidationError(_("user or password not valid")) user_record.with_user(user_record)._check_credentials(user.password, None) PmsApiRestUserOutput = self.env.datamodels["pms.api.rest.user.output"] - expiration_date = time.time() + 36660 + token = jwt.encode( { "aud": "api_pms", "iss": "pms", - "exp": expiration_date, + "exp": timestamp_expire_in_a_min, "username": user.username, "password": user.password, }, @@ -55,6 +59,7 @@ class PmsLoginService(Component): return PmsApiRestUserOutput( token=token, + expirationDate=timestamp_expire_in_a_min, userId=user_record.id, userName=user_record.name, defaultPropertyId=user_record.pms_property_id.id,