mirror of
https://github.com/OCA/pms.git
synced 2025-01-29 00:17:45 +02:00
[IMP] pms_api_rest: jwt exp. date
This commit is contained in:
committed by
Darío Lodeiros
parent
c2d4a69d74
commit
5ca8bd125a
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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,
|
||||
)
|
||||
)
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user