[FIX] odex_web_app: add access_token model

This commit is contained in:
Samir Ladoui 2024-07-04 14:53:58 +01:00
parent f2c5cee4a4
commit 6c7075ba2b
2 changed files with 33 additions and 0 deletions

View File

@ -1,3 +1,4 @@
from . import hr_employee
from . import attendence_zone_config
from . import mail_thread
from . import access_token

View File

@ -0,0 +1,32 @@
from odoo import models, fields, api
from datetime import datetime, timedelta
from dateutil import parser
from odoo.tools import DEFAULT_SERVER_DATETIME_FORMAT
import logging
_logger = logging.getLogger(__name__)
str_fmt = '%d/%m/%Y %H:%M:%S'
class JwtAccessToken(models.Model):
_name = 'jwt_provider.access_token'
_description = 'Store user access token for one-time-login'
token = fields.Char('Access Token', required=True)
user_id = fields.Many2one('res.users', string='User', required=True, ondelete='cascade')
expires = fields.Datetime('Expires', required=True)
is_expired = fields.Boolean(compute='_compute_is_expired')
@api.depends('expires')
def _compute_is_expired(self):
ctr = datetime.now().strftime(str_fmt)
_logger.info(ctr)
for token in self:
token.is_expired = datetime.now() > token.expires
def access_token_cron(self):
self.search([("is_expired", "=", True)]).unlink()
return True
def set_env(self,env):
self.env = env