# Description Fixing logic to ensure priority selection of claims when user satisfies multiple claim conditions. It adds a new parameter that forcefully prioritises the selection of the date value for a certain claim over the others. If the value is repeated among claims, it will select the earliest date. # Checklist - [X] The edited models and dependants run properly with production data. - [X] The edited models are sufficiently documented. - [X] The edited models contain PK tests, and I've ran and passed them. - [X] I have checked for DRY opportunities with other models and docs. - [X] I've picked the right materialization for the affected models. # Other - [ ] Check if a full-refresh is required after this PR is merged. Related work items: #20773
43 lines
1.7 KiB
SQL
43 lines
1.7 KiB
SQL
/*
|
|
Macro: get_new_dash_migration_phases_configuration
|
|
|
|
Provides a general configuration for the different phases of the
|
|
New Dash migration. Each phase is identifiable via a phase_name,
|
|
that is the "expected display" for users. The assumption is that
|
|
each user migration is identified via claim_type. Lastly, we
|
|
apply here a hardcode of when the deployment was carried out.
|
|
|
|
Important note: if a user migrates once a phase has started, we
|
|
will not be able to tell when that happened. However, it is likely
|
|
that other indicators will provide an estimate. For example:
|
|
|
|
The migration A happens on 1st July 2024.
|
|
User A is migrated on 1st July 2024 (as expected)
|
|
User B is migrated on 10th July 2024 (not expected)
|
|
|
|
It is likely that User B won't have Bookings from new dash
|
|
until it's migrated. So this migration date should be considered
|
|
as a hard, lower-limit of dates.
|
|
|
|
If a user satisfies more than one valid claims, in order to ensure
|
|
that the good date is considered we use the claim_enforcement_priority
|
|
value to force that a certain claim type will have precedence over
|
|
another. The lower the value, the more priority.
|
|
*/
|
|
{% macro get_new_dash_migration_phases_config() %}
|
|
{% set migration_phases = [
|
|
{
|
|
"phase_name": "MVP",
|
|
"claim_type": "KYGMVP",
|
|
"default_deployment_date": "2024-07-30",
|
|
"claim_enforcement_priority": 1,
|
|
},
|
|
{
|
|
"phase_name": "MVP",
|
|
"claim_type": "MVPMIGRATEDUSER",
|
|
"default_deployment_date": "2024-09-10",
|
|
"claim_enforcement_priority": 0,
|
|
},
|
|
] %}
|
|
{{ return(migration_phases) }}
|
|
{% endmacro %}
|