[IMP] pms_api_rest: jwt exp. date

This commit is contained in:
miguelpadin
2022-04-11 15:42:45 +01:00
committed by Darío Lodeiros
parent c2d4a69d74
commit 5ca8bd125a
4 changed files with 10 additions and 4 deletions

View File

@@ -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)

View File

@@ -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)

View File

@@ -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,
)
)

View File

@@ -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,