mirror of
https://github.com/DanCorley/orange_theory_data_stack.git
synced 2025-12-20 15:09:35 -06:00
Merge pull request #2 from DanCorley/benchmarks-and-challenges
add benchmarks and challenges
This commit is contained in:
20
duck_dbt/models/source_models/benchmark_activity.sql
Normal file
20
duck_dbt/models/source_models/benchmark_activity.sql
Normal file
@@ -0,0 +1,20 @@
|
||||
select
|
||||
challenge_category_id
|
||||
, equipment_id
|
||||
, equipment_name
|
||||
, metric_entry__title
|
||||
, metric_entry__equipment_id
|
||||
, metric_entry__entry_type
|
||||
, metric_entry__metric_key
|
||||
, metric_entry__min_value
|
||||
, metric_entry__max_value
|
||||
, challenge_name
|
||||
, logo_url
|
||||
, best_record
|
||||
, last_record
|
||||
, previous_record
|
||||
, unit
|
||||
, _dlt_load_id
|
||||
, _dlt_id
|
||||
from
|
||||
{{ source('orange_theory_delta', 'benchmark_activity') }}
|
||||
@@ -0,0 +1,15 @@
|
||||
select
|
||||
challenge_objective
|
||||
, challenge_id
|
||||
, studio_id
|
||||
, studio_name
|
||||
, start_date
|
||||
, end_date
|
||||
, total_result
|
||||
, is_finished
|
||||
, _dlt_root_id
|
||||
, _dlt_parent_id
|
||||
, _dlt_list_idx
|
||||
, _dlt_id
|
||||
from
|
||||
{{ source('orange_theory_delta', 'benchmark_activity__challenge_histories') }}
|
||||
@@ -0,0 +1,19 @@
|
||||
select
|
||||
studio_name
|
||||
, equipment_id
|
||||
, result
|
||||
, date_created
|
||||
, date_updated
|
||||
, class_time
|
||||
, class_id
|
||||
, substitute_id
|
||||
, weight_lbs
|
||||
, class_name
|
||||
, coach_name
|
||||
, coach_image_url
|
||||
, _dlt_root_id
|
||||
, _dlt_parent_id
|
||||
, _dlt_list_idx
|
||||
, _dlt_id
|
||||
from
|
||||
{{ source('orange_theory_delta', 'benchmark_activity__challenge_histories__benchmark_histories') }}
|
||||
@@ -0,0 +1,11 @@
|
||||
select
|
||||
challenge_category_id
|
||||
, challenge_sub_category_id
|
||||
, logo_url
|
||||
, challenge_name
|
||||
, _dlt_root_id
|
||||
, _dlt_parent_id
|
||||
, _dlt_list_idx
|
||||
, _dlt_id
|
||||
from
|
||||
{{ source('orange_theory_delta', 'benchmark_activity__challenge_histories__benchmark_histories__linked_challenges') }}
|
||||
8
duck_dbt/models/source_models/benchmarks.sql
Normal file
8
duck_dbt/models/source_models/benchmarks.sql
Normal file
@@ -0,0 +1,8 @@
|
||||
select
|
||||
equipment_id
|
||||
, equipment_name
|
||||
, logo_url
|
||||
, _dlt_load_id
|
||||
, _dlt_id
|
||||
from
|
||||
{{ source('orange_theory_delta', 'benchmarks') }}
|
||||
10
duck_dbt/models/source_models/benchmarks__years.sql
Normal file
10
duck_dbt/models/source_models/benchmarks__years.sql
Normal file
@@ -0,0 +1,10 @@
|
||||
select
|
||||
year
|
||||
, is_participated
|
||||
, in_progress
|
||||
, _dlt_root_id
|
||||
, _dlt_parent_id
|
||||
, _dlt_list_idx
|
||||
, _dlt_id
|
||||
from
|
||||
{{ source('orange_theory_delta', 'benchmarks__years') }}
|
||||
27
duck_dbt/models/source_models/challenge_activity.sql
Normal file
27
duck_dbt/models/source_models/challenge_activity.sql
Normal file
@@ -0,0 +1,27 @@
|
||||
select
|
||||
challenge_category_id
|
||||
, equipment_id
|
||||
, equipment_name
|
||||
, metric_entry__title
|
||||
, metric_entry__equipment_id
|
||||
, metric_entry__entry_type
|
||||
, metric_entry__metric_key
|
||||
, challenge_name
|
||||
, logo_url
|
||||
, best_record
|
||||
, last_record
|
||||
, previous_record
|
||||
, unit
|
||||
, goals__goal
|
||||
, goals__goal_period
|
||||
, goals__overall_goal
|
||||
, goals__overall_goal_period
|
||||
, goals__min_overall
|
||||
, _challenges_challenge_sub_category_id
|
||||
, _dlt_load_id
|
||||
, _dlt_id
|
||||
, challenge_sub_category_id
|
||||
, metric_entry__min_value
|
||||
, metric_entry__max_value
|
||||
from
|
||||
{{ source('orange_theory_delta', 'challenge_activity') }}
|
||||
@@ -0,0 +1,16 @@
|
||||
select
|
||||
challenge_objective
|
||||
, challenge_id
|
||||
, studio_id
|
||||
, studio_name
|
||||
, start_date
|
||||
, end_date
|
||||
, total_result
|
||||
, is_finished
|
||||
, benchmark_histories
|
||||
, _dlt_root_id
|
||||
, _dlt_parent_id
|
||||
, _dlt_list_idx
|
||||
, _dlt_id
|
||||
from
|
||||
{{ source('orange_theory_delta', 'challenge_activity__challenge_histories') }}
|
||||
9
duck_dbt/models/source_models/challenges.sql
Normal file
9
duck_dbt/models/source_models/challenges.sql
Normal file
@@ -0,0 +1,9 @@
|
||||
select
|
||||
challenge_category_id
|
||||
, challenge_sub_category_id
|
||||
, challenge_name
|
||||
, logo_url
|
||||
, _dlt_load_id
|
||||
, _dlt_id
|
||||
from
|
||||
{{ source('orange_theory_delta', 'challenges') }}
|
||||
10
duck_dbt/models/source_models/challenges__years.sql
Normal file
10
duck_dbt/models/source_models/challenges__years.sql
Normal file
@@ -0,0 +1,10 @@
|
||||
select
|
||||
year
|
||||
, is_participated
|
||||
, in_progress
|
||||
, _dlt_root_id
|
||||
, _dlt_parent_id
|
||||
, _dlt_list_idx
|
||||
, _dlt_id
|
||||
from
|
||||
{{ source('orange_theory_delta', 'challenges__years') }}
|
||||
@@ -6,21 +6,31 @@ sources:
|
||||
external_location: "delta_scan('{prefix}/{name}/')"
|
||||
prefix: "otf_api_data"
|
||||
tables:
|
||||
- name: telemetry
|
||||
- name: body_composition
|
||||
- name: bookings
|
||||
- name: heart_rate
|
||||
- name: heart_rate__history
|
||||
- name: me
|
||||
- name: performance_summaries
|
||||
- name: telemetry__telemetry
|
||||
- name: challenges
|
||||
- name: challenges__benchmarks__years
|
||||
- name: challenges__benchmarks
|
||||
- name: challenges__challenges__years
|
||||
- name: challenges__challenges
|
||||
- name: challenges__programs__years
|
||||
- name: challenges__programs
|
||||
- name: benchmark_activity
|
||||
- name: benchmark_activity__challenge_histories
|
||||
- name: benchmark_activity__challenge_histories__benchmark_histories
|
||||
- name: benchmark_activity__challenge_histories__benchmark_histories__linked_challenges
|
||||
- name: benchmarks
|
||||
- name: benchmarks__years
|
||||
- name: body_composition
|
||||
- name: bookings
|
||||
- name: challenge_activity
|
||||
- name: challenge_activity__challenge_histories
|
||||
- name: challenges
|
||||
- name: challenges__benchmarks
|
||||
- name: challenges__benchmarks__years
|
||||
- name: challenges__challenges
|
||||
- name: challenges__challenges__years
|
||||
- name: challenges__programs
|
||||
- name: challenges__programs__years
|
||||
- name: challenges__years
|
||||
- name: heart_rate
|
||||
- name: heart_rate__history
|
||||
- name: init
|
||||
- name: me
|
||||
- name: performance_summaries
|
||||
- name: telemetry
|
||||
- name: telemetry__telemetry
|
||||
|
||||
- name: dlt_metadata
|
||||
meta:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from datetime import datetime
|
||||
from datetime import datetime, timezone
|
||||
from typing import Generator
|
||||
|
||||
import dlt
|
||||
@@ -61,7 +61,7 @@ def otf_source(args, member_uuid:str = dlt.secrets["member_uuid"]) -> Generator[
|
||||
"cursor_path": "created_at",
|
||||
"initial_value": "2021-01-01T00:00:00Z",
|
||||
},
|
||||
"ends_before": datetime.now().strftime("%Y-%m-%dT%H:%M:%SZ"),
|
||||
"ends_before": datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ"),
|
||||
"include_canceled": "false",
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user