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.
|
- `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.
|
- `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.
|
- `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
|
### 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
|
# Archive the course after the certificate expires
|
||||||
COURSE_ARCHIVED = 'schedules#course_archived'
|
COURSE_ARCHIVED = 'schedules#course_archived'
|
||||||
|
|
||||||
|
# When the access period ends for a course without a certificate
|
||||||
|
COURSE_EXPIRED = 'schedules#course_expired'
|
||||||
|
|
||||||
|
|
||||||
def enroll(
|
def enroll(
|
||||||
enrollment: Enrollment,
|
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)
|
return persistence_layer.transact_write_items(transact)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user