update readme

This commit is contained in:
2025-05-26 10:14:00 -03:00
parent e52d009cc6
commit ffca5c22c7
4 changed files with 18 additions and 29 deletions

View File

@@ -23,9 +23,10 @@ Quando uma matrícula é criada, também é agendados emails/eventos.
- `reminder_no_access_3_days` se o usuário não acessar o curso 3 dias após a criação.
- `no_activity_7_days` 7 dias após a última atividade do usuário no curso.
- `access_period_reminder_30_days` 30 dias antes do acesso ao curso fechar.
- `access_period_reminder_30_days` 30 dias antes do perído de acesso ao curso finalizar.
- `cert_expiration_reminder_30_days` se houver certificado, avisa 30 dias antes do certificado expirar.
- `course_archived` após o certificado expirar, o curso é marcado como arquivado.
- `course_archived` após o certificado expirar, a matrícula é marcada como arquivada.
- `course_expired` se o período de acesso for atingido e não houver certificado, a matrícula será marcada com expirada.
### Proteção contra duplicação

View File

@@ -1,14 +0,0 @@
from aws_lambda_powertools import Logger
from aws_lambda_powertools.utilities.data_classes import (
EventBridgeEvent,
event_source,
)
from aws_lambda_powertools.utilities.typing import LambdaContext
logger = Logger(__name__)
@event_source(data_class=EventBridgeEvent)
@logger.inject_lambda_context
def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> None:
"""Send an email when the access period expires"""

View File

@@ -1,13 +0,0 @@
from aws_lambda_powertools import Logger
from aws_lambda_powertools.utilities.data_classes import (
EventBridgeEvent,
event_source,
)
from aws_lambda_powertools.utilities.typing import LambdaContext
logger = Logger(__name__)
@event_source(data_class=EventBridgeEvent)
@logger.inject_lambda_context
def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> None: ...

View File

@@ -41,6 +41,9 @@ class LifecycleEvents(str, Enum):
# Archive the course after the certificate expires
COURSE_ARCHIVED = 'schedules#course_archived'
# When the access period ends for a course without a certificate
COURSE_EXPIRED = 'schedules#course_expired'
def enroll(
enrollment: Enrollment,
@@ -95,6 +98,18 @@ def enroll(
},
)
transact.put(
item={
'id': enrollment.id,
'sk': LifecycleEvents.COURSE_EXPIRED,
'name': user.name,
'email': user.email,
'course': course.name,
'create_date': now_,
'ttl': ttl(start_dt=now_ + timedelta(days=course.access_period)),
},
)
return persistence_layer.transact_write_items(transact)