Commit 08edd5dc by Oleksandr Barabash

small fixes and minor updates on ttl

parent bf949ed1
...@@ -4,6 +4,7 @@ import sys ...@@ -4,6 +4,7 @@ import sys
import time import time
import uuid import uuid
from asyncio import Future from asyncio import Future
from datetime import datetime
from typing import Optional, Dict, Union, List from typing import Optional, Dict, Union, List
from urllib.parse import urlparse, parse_qsl, urlencode, unquote from urllib.parse import urlparse, parse_qsl, urlencode, unquote
...@@ -104,6 +105,12 @@ class TeamsMessagingExtensionsActionPreviewBot(TeamsActivityHandler): ...@@ -104,6 +105,12 @@ class TeamsMessagingExtensionsActionPreviewBot(TeamsActivityHandler):
future = Future() future = Future()
card = pa_message.card card = pa_message.card
if pa_message.content_t_t_l.ttl is not None:
pa_message.content_t_t_l.expires = (
int(datetime.utcnow().timestamp() * 1000) +
pa_message.content_t_t_l.ttl * 1000
)
async def routine(): async def routine():
""" async routine """ """ async routine """
try: try:
...@@ -161,6 +168,14 @@ class TeamsMessagingExtensionsActionPreviewBot(TeamsActivityHandler): ...@@ -161,6 +168,14 @@ class TeamsMessagingExtensionsActionPreviewBot(TeamsActivityHandler):
# reset parameters # reset parameters
notification.id = uuid.uuid4().__str__() notification.id = uuid.uuid4().__str__()
notification.tenant_id = AppConfig.TENANT_ID notification.tenant_id = AppConfig.TENANT_ID
notification.content_t_t_l.expired = None
notification.content_t_t_l.expires = None
if notification.content_t_t_l.ttl is not None:
notification.content_t_t_l.expires = (
int(datetime.utcnow().timestamp() * 1000) +
notification.content_t_t_l.ttl
)
async def routine(): async def routine():
""" async routine """ """ async routine """
......
...@@ -10,3 +10,5 @@ class ContentTTL(CamelCaseMixin): ...@@ -10,3 +10,5 @@ class ContentTTL(CamelCaseMixin):
""" Notification TTL """ """ Notification TTL """
ttl: Optional[int] = field(default=None) ttl: Optional[int] = field(default=None)
content: Optional[Any] = field(default=None) content: Optional[Any] = field(default=None)
expired: int = field(default=None)
expires: Optional[int] = field(default=None)
...@@ -3,7 +3,7 @@ from dataclasses import dataclass, field ...@@ -3,7 +3,7 @@ from dataclasses import dataclass, field
from typing import Optional from typing import Optional
from entities.json.camel_case_mixin import CamelCaseMixin, timestamp_factory from entities.json.camel_case_mixin import CamelCaseMixin, timestamp_factory
from entities.json.ttl_record import ContentTTL from entities.json.content_ttl import ContentTTL
@dataclass @dataclass
...@@ -23,7 +23,7 @@ class Notification(CamelCaseMixin): ...@@ -23,7 +23,7 @@ class Notification(CamelCaseMixin):
title: Optional[str] = field(default=None) title: Optional[str] = field(default=None)
url: Optional[NotificationUrl] = field(default_factory=NotificationUrl) url: Optional[NotificationUrl] = field(default_factory=NotificationUrl)
acknowledge: Optional[bool] = field(default=False) acknowledge: Optional[bool] = field(default=False)
contentTTL: Optional[ContentTTL] = field(default=None) content_t_t_l: Optional[ContentTTL] = field(default=None)
def to_db(self) -> "NotificationCosmos": def to_db(self) -> "NotificationCosmos":
""" Create NotificationCosmos """ """ Create NotificationCosmos """
...@@ -34,7 +34,7 @@ class Notification(CamelCaseMixin): ...@@ -34,7 +34,7 @@ class Notification(CamelCaseMixin):
title=self.title, title=self.title,
url=self.url, url=self.url,
acknowledge=self.acknowledge, acknowledge=self.acknowledge,
contentTTL=self.contentTTL) content_t_t_l=self.content_t_t_l)
# noinspection PyDataclass # noinspection PyDataclass
......
...@@ -3,7 +3,7 @@ from dataclasses import dataclass, field ...@@ -3,7 +3,7 @@ from dataclasses import dataclass, field
from typing import Optional, Union, List, Dict, Any from typing import Optional, Union, List, Dict, Any
from entities.json.camel_case_mixin import CamelCaseMixin, uuid_factory from entities.json.camel_case_mixin import CamelCaseMixin, uuid_factory
from entities.json.ttl_record import ContentTTL from entities.json.content_ttl import ContentTTL
@dataclass @dataclass
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment