update readme
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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"""
|
||||
@@ -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: ...
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user