From e1fb65b99508050585869e27d4d03a0635ac1858 Mon Sep 17 00:00:00 2001 From: Elemar Rodrigues Severo Junior Date: Sun, 8 Dec 2024 18:57:54 -0300 Subject: [PATCH 01/10] Big folder structure reorg --- backend/{src/api => api/src}/analytics/__init__.py | 0 .../{src/api => api/src}/analytics/approved_vs_actual.py | 0 backend/{src/api => api/src}/analytics/forecast.py | 0 .../api => api/src}/analytics/performance_analysis.py | 0 .../{src/api => api/src}/analytics/revenue_tracking.py | 0 backend/{src/api => api/src}/analytics/schema.graphql | 0 .../{src/api => api/src}/analytics/timeliness_review.py | 0 backend/{src/api => api/src}/analytics/week_review.py | 0 backend/{ => api}/src/app.py | 0 backend/{src/api => api/src}/datasets/__init__.py | 0 backend/{src/api => api/src}/datasets/datasets.py | 0 backend/{src/api => api/src}/datasets/datasets_set.py | 0 backend/{src/api => api/src}/datasets/insights.py | 0 backend/{src/api => api/src}/datasets/ontology.py | 0 backend/{src/api => api/src}/datasets/schema.graphql | 0 backend/{src/api => api/src}/datasets/timesheets.py | 0 backend/{src/api => api/src}/domain/__init__.py | 0 backend/{src/api => api/src}/domain/account_managers.py | 0 backend/{src/api => api/src}/domain/active_deals.py | 0 backend/{src/api => api/src}/domain/cases.py | 0 backend/{src/api => api/src}/domain/clients.py | 0 .../{src/api => api/src}/domain/consultants_engineers.py | 0 backend/{src/api => api/src}/domain/offers.py | 0 backend/{src/api => api/src}/domain/projects.py | 0 backend/{src/api => api/src}/domain/schema.graphql | 0 backend/{src/api => api/src}/domain/sponsors.py | 0 backend/{src/api => api/src}/domain/user.py | 0 backend/{src/api => api/src}/execution_stats.py | 0 backend/{ => api}/src/globals.py | 0 backend/{src/api => api/src}/inconsistencies.py | 0 backend/{src/api => api/src}/mutations.py | 0 backend/{src/api => api/src}/queries.py | 0 backend/{src/api => api/src}/schema.graphql | 0 backend/{src/api => api/src}/schema/common.graphql | 0 backend/{ => api}/src/settings.py | 0 backend/{src/api => api/src}/utils/fields.py | 0 backend/{src/models => models/src}/__init__.py | 0 backend/{src/models => models/src}/analytics/__init__.py | 0 .../models => models/src}/analytics/approved_vs_actual.py | 0 backend/{src/models => models/src}/analytics/forecast.py | 0 .../src}/analytics/performance_analysis.py | 0 .../models => models/src}/analytics/revenue_tracking.py | 0 .../models => models/src}/analytics/timeliness_review.py | 0 .../{src/models => models/src}/analytics/week_review.py | 0 backend/{src/models => models/src}/base/__init__.py | 0 backend/{src/models => models/src}/base/powerdataframe.py | 0 backend/{src/models => models/src}/base/semanticmodel.py | 0 backend/{src/models => models/src}/datasets/__init__.py | 0 .../models => models/src}/datasets/insights_dataset.py | 0 .../{src/models => models/src}/datasets/omni_dataset.py | 0 .../src}/datasets/ontology_entries_dataset.py | 0 .../{src/models => models/src}/datasets/tasks_dataset.py | 0 .../models => models/src}/datasets/timesheet_dataset.py | 0 backend/{src/models => models/src}/domain/__init__.py | 0 backend/{src/models => models/src}/domain/active_deals.py | 0 backend/{src/models => models/src}/domain/cases.py | 0 backend/{src/models => models/src}/domain/clients.py | 0 backend/{src/models => models/src}/domain/offers.py | 0 backend/{src/models => models/src}/domain/projects.py | 0 backend/{src/models => models/src}/domain/sponsors.py | 0 backend/{src/models => models/src}/domain/workers.py | 0 backend/{src/models => models/src}/omnidatasets.py | 0 backend/{src/models => models/src}/omnimodels.py | 0 backend/{src/models => models/src}/semantic/__init__.py | 0 backend/{src/models => models/src}/semantic/crm.py | 0 backend/{src/models => models/src}/semantic/insights.py | 0 backend/{src/models => models/src}/semantic/ontology.py | 0 .../{src/models => models/src}/semantic/salesfunnel.py | 0 .../{src/models => models/src}/semantic/tasksmanager.py | 0 .../{src/models => models/src}/semantic/timetracker.py | 0 backend/{src/models => models/src}/syntactic/__init__.py | 0 backend/{src/models => models/src}/syntactic/everhour.py | 0 backend/{src/models => models/src}/syntactic/pipedrive.py | 0 backend/{src/models => models/src}/syntactic/todoist.py | 0 backend/{src/models => models/src}/syntactic/wordpress.py | 0 backend/src/decorators/__init__.py | 8 -------- backend/src/models/helpers/__init__.py | 0 backend/{ => utils}/src/decorators/c4.py | 0 backend/{ => utils}/src/decorators/cache.py | 0 backend/{src/models => utils/src}/helpers/beauty.py | 0 backend/{src/models => utils/src}/helpers/dict.py | 0 backend/{src/models => utils/src}/helpers/list.py | 0 backend/{src/models => utils/src}/helpers/numbers.py | 0 backend/{src/models => utils/src}/helpers/slug.py | 0 backend/{src/models => utils/src}/helpers/weeks.py | 0 backend/{ => utils}/src/middleware/elk_logging.py | 0 .../{tests/models/helpers => utils/tests}/test_beauty.py | 0 .../{tests/models/helpers => utils/tests}/test_dict.py | 0 .../{tests/models/helpers => utils/tests}/test_list.py | 0 .../{tests/models/helpers => utils/tests}/test_numbers.py | 0 .../{tests/models/helpers => utils/tests}/test_slug.py | 0 .../{tests/models/helpers => utils/tests}/test_weeks.py | 0 92 files changed, 8 deletions(-) rename backend/{src/api => api/src}/analytics/__init__.py (100%) rename backend/{src/api => api/src}/analytics/approved_vs_actual.py (100%) rename backend/{src/api => api/src}/analytics/forecast.py (100%) rename backend/{src/api => api/src}/analytics/performance_analysis.py (100%) rename backend/{src/api => api/src}/analytics/revenue_tracking.py (100%) rename backend/{src/api => api/src}/analytics/schema.graphql (100%) rename backend/{src/api => api/src}/analytics/timeliness_review.py (100%) rename backend/{src/api => api/src}/analytics/week_review.py (100%) rename backend/{ => api}/src/app.py (100%) rename backend/{src/api => api/src}/datasets/__init__.py (100%) rename backend/{src/api => api/src}/datasets/datasets.py (100%) rename backend/{src/api => api/src}/datasets/datasets_set.py (100%) rename backend/{src/api => api/src}/datasets/insights.py (100%) rename backend/{src/api => api/src}/datasets/ontology.py (100%) rename backend/{src/api => api/src}/datasets/schema.graphql (100%) rename backend/{src/api => api/src}/datasets/timesheets.py (100%) rename backend/{src/api => api/src}/domain/__init__.py (100%) rename backend/{src/api => api/src}/domain/account_managers.py (100%) rename backend/{src/api => api/src}/domain/active_deals.py (100%) rename backend/{src/api => api/src}/domain/cases.py (100%) rename backend/{src/api => api/src}/domain/clients.py (100%) rename backend/{src/api => api/src}/domain/consultants_engineers.py (100%) rename backend/{src/api => api/src}/domain/offers.py (100%) rename backend/{src/api => api/src}/domain/projects.py (100%) rename backend/{src/api => api/src}/domain/schema.graphql (100%) rename backend/{src/api => api/src}/domain/sponsors.py (100%) rename backend/{src/api => api/src}/domain/user.py (100%) rename backend/{src/api => api/src}/execution_stats.py (100%) rename backend/{ => api}/src/globals.py (100%) rename backend/{src/api => api/src}/inconsistencies.py (100%) rename backend/{src/api => api/src}/mutations.py (100%) rename backend/{src/api => api/src}/queries.py (100%) rename backend/{src/api => api/src}/schema.graphql (100%) rename backend/{src/api => api/src}/schema/common.graphql (100%) rename backend/{ => api}/src/settings.py (100%) rename backend/{src/api => api/src}/utils/fields.py (100%) rename backend/{src/models => models/src}/__init__.py (100%) rename backend/{src/models => models/src}/analytics/__init__.py (100%) rename backend/{src/models => models/src}/analytics/approved_vs_actual.py (100%) rename backend/{src/models => models/src}/analytics/forecast.py (100%) rename backend/{src/models => models/src}/analytics/performance_analysis.py (100%) rename backend/{src/models => models/src}/analytics/revenue_tracking.py (100%) rename backend/{src/models => models/src}/analytics/timeliness_review.py (100%) rename backend/{src/models => models/src}/analytics/week_review.py (100%) rename backend/{src/models => models/src}/base/__init__.py (100%) rename backend/{src/models => models/src}/base/powerdataframe.py (100%) rename backend/{src/models => models/src}/base/semanticmodel.py (100%) rename backend/{src/models => models/src}/datasets/__init__.py (100%) rename backend/{src/models => models/src}/datasets/insights_dataset.py (100%) rename backend/{src/models => models/src}/datasets/omni_dataset.py (100%) rename backend/{src/models => models/src}/datasets/ontology_entries_dataset.py (100%) rename backend/{src/models => models/src}/datasets/tasks_dataset.py (100%) rename backend/{src/models => models/src}/datasets/timesheet_dataset.py (100%) rename backend/{src/models => models/src}/domain/__init__.py (100%) rename backend/{src/models => models/src}/domain/active_deals.py (100%) rename backend/{src/models => models/src}/domain/cases.py (100%) rename backend/{src/models => models/src}/domain/clients.py (100%) rename backend/{src/models => models/src}/domain/offers.py (100%) rename backend/{src/models => models/src}/domain/projects.py (100%) rename backend/{src/models => models/src}/domain/sponsors.py (100%) rename backend/{src/models => models/src}/domain/workers.py (100%) rename backend/{src/models => models/src}/omnidatasets.py (100%) rename backend/{src/models => models/src}/omnimodels.py (100%) rename backend/{src/models => models/src}/semantic/__init__.py (100%) rename backend/{src/models => models/src}/semantic/crm.py (100%) rename backend/{src/models => models/src}/semantic/insights.py (100%) rename backend/{src/models => models/src}/semantic/ontology.py (100%) rename backend/{src/models => models/src}/semantic/salesfunnel.py (100%) rename backend/{src/models => models/src}/semantic/tasksmanager.py (100%) rename backend/{src/models => models/src}/semantic/timetracker.py (100%) rename backend/{src/models => models/src}/syntactic/__init__.py (100%) rename backend/{src/models => models/src}/syntactic/everhour.py (100%) rename backend/{src/models => models/src}/syntactic/pipedrive.py (100%) rename backend/{src/models => models/src}/syntactic/todoist.py (100%) rename backend/{src/models => models/src}/syntactic/wordpress.py (100%) delete mode 100644 backend/src/decorators/__init__.py delete mode 100644 backend/src/models/helpers/__init__.py rename backend/{ => utils}/src/decorators/c4.py (100%) rename backend/{ => utils}/src/decorators/cache.py (100%) rename backend/{src/models => utils/src}/helpers/beauty.py (100%) rename backend/{src/models => utils/src}/helpers/dict.py (100%) rename backend/{src/models => utils/src}/helpers/list.py (100%) rename backend/{src/models => utils/src}/helpers/numbers.py (100%) rename backend/{src/models => utils/src}/helpers/slug.py (100%) rename backend/{src/models => utils/src}/helpers/weeks.py (100%) rename backend/{ => utils}/src/middleware/elk_logging.py (100%) rename backend/{tests/models/helpers => utils/tests}/test_beauty.py (100%) rename backend/{tests/models/helpers => utils/tests}/test_dict.py (100%) rename backend/{tests/models/helpers => utils/tests}/test_list.py (100%) rename backend/{tests/models/helpers => utils/tests}/test_numbers.py (100%) rename backend/{tests/models/helpers => utils/tests}/test_slug.py (100%) rename backend/{tests/models/helpers => utils/tests}/test_weeks.py (100%) diff --git a/backend/src/api/analytics/__init__.py b/backend/api/src/analytics/__init__.py similarity index 100% rename from backend/src/api/analytics/__init__.py rename to backend/api/src/analytics/__init__.py diff --git a/backend/src/api/analytics/approved_vs_actual.py b/backend/api/src/analytics/approved_vs_actual.py similarity index 100% rename from backend/src/api/analytics/approved_vs_actual.py rename to backend/api/src/analytics/approved_vs_actual.py diff --git a/backend/src/api/analytics/forecast.py b/backend/api/src/analytics/forecast.py similarity index 100% rename from backend/src/api/analytics/forecast.py rename to backend/api/src/analytics/forecast.py diff --git a/backend/src/api/analytics/performance_analysis.py b/backend/api/src/analytics/performance_analysis.py similarity index 100% rename from backend/src/api/analytics/performance_analysis.py rename to backend/api/src/analytics/performance_analysis.py diff --git a/backend/src/api/analytics/revenue_tracking.py b/backend/api/src/analytics/revenue_tracking.py similarity index 100% rename from backend/src/api/analytics/revenue_tracking.py rename to backend/api/src/analytics/revenue_tracking.py diff --git a/backend/src/api/analytics/schema.graphql b/backend/api/src/analytics/schema.graphql similarity index 100% rename from backend/src/api/analytics/schema.graphql rename to backend/api/src/analytics/schema.graphql diff --git a/backend/src/api/analytics/timeliness_review.py b/backend/api/src/analytics/timeliness_review.py similarity index 100% rename from backend/src/api/analytics/timeliness_review.py rename to backend/api/src/analytics/timeliness_review.py diff --git a/backend/src/api/analytics/week_review.py b/backend/api/src/analytics/week_review.py similarity index 100% rename from backend/src/api/analytics/week_review.py rename to backend/api/src/analytics/week_review.py diff --git a/backend/src/app.py b/backend/api/src/app.py similarity index 100% rename from backend/src/app.py rename to backend/api/src/app.py diff --git a/backend/src/api/datasets/__init__.py b/backend/api/src/datasets/__init__.py similarity index 100% rename from backend/src/api/datasets/__init__.py rename to backend/api/src/datasets/__init__.py diff --git a/backend/src/api/datasets/datasets.py b/backend/api/src/datasets/datasets.py similarity index 100% rename from backend/src/api/datasets/datasets.py rename to backend/api/src/datasets/datasets.py diff --git a/backend/src/api/datasets/datasets_set.py b/backend/api/src/datasets/datasets_set.py similarity index 100% rename from backend/src/api/datasets/datasets_set.py rename to backend/api/src/datasets/datasets_set.py diff --git a/backend/src/api/datasets/insights.py b/backend/api/src/datasets/insights.py similarity index 100% rename from backend/src/api/datasets/insights.py rename to backend/api/src/datasets/insights.py diff --git a/backend/src/api/datasets/ontology.py b/backend/api/src/datasets/ontology.py similarity index 100% rename from backend/src/api/datasets/ontology.py rename to backend/api/src/datasets/ontology.py diff --git a/backend/src/api/datasets/schema.graphql b/backend/api/src/datasets/schema.graphql similarity index 100% rename from backend/src/api/datasets/schema.graphql rename to backend/api/src/datasets/schema.graphql diff --git a/backend/src/api/datasets/timesheets.py b/backend/api/src/datasets/timesheets.py similarity index 100% rename from backend/src/api/datasets/timesheets.py rename to backend/api/src/datasets/timesheets.py diff --git a/backend/src/api/domain/__init__.py b/backend/api/src/domain/__init__.py similarity index 100% rename from backend/src/api/domain/__init__.py rename to backend/api/src/domain/__init__.py diff --git a/backend/src/api/domain/account_managers.py b/backend/api/src/domain/account_managers.py similarity index 100% rename from backend/src/api/domain/account_managers.py rename to backend/api/src/domain/account_managers.py diff --git a/backend/src/api/domain/active_deals.py b/backend/api/src/domain/active_deals.py similarity index 100% rename from backend/src/api/domain/active_deals.py rename to backend/api/src/domain/active_deals.py diff --git a/backend/src/api/domain/cases.py b/backend/api/src/domain/cases.py similarity index 100% rename from backend/src/api/domain/cases.py rename to backend/api/src/domain/cases.py diff --git a/backend/src/api/domain/clients.py b/backend/api/src/domain/clients.py similarity index 100% rename from backend/src/api/domain/clients.py rename to backend/api/src/domain/clients.py diff --git a/backend/src/api/domain/consultants_engineers.py b/backend/api/src/domain/consultants_engineers.py similarity index 100% rename from backend/src/api/domain/consultants_engineers.py rename to backend/api/src/domain/consultants_engineers.py diff --git a/backend/src/api/domain/offers.py b/backend/api/src/domain/offers.py similarity index 100% rename from backend/src/api/domain/offers.py rename to backend/api/src/domain/offers.py diff --git a/backend/src/api/domain/projects.py b/backend/api/src/domain/projects.py similarity index 100% rename from backend/src/api/domain/projects.py rename to backend/api/src/domain/projects.py diff --git a/backend/src/api/domain/schema.graphql b/backend/api/src/domain/schema.graphql similarity index 100% rename from backend/src/api/domain/schema.graphql rename to backend/api/src/domain/schema.graphql diff --git a/backend/src/api/domain/sponsors.py b/backend/api/src/domain/sponsors.py similarity index 100% rename from backend/src/api/domain/sponsors.py rename to backend/api/src/domain/sponsors.py diff --git a/backend/src/api/domain/user.py b/backend/api/src/domain/user.py similarity index 100% rename from backend/src/api/domain/user.py rename to backend/api/src/domain/user.py diff --git a/backend/src/api/execution_stats.py b/backend/api/src/execution_stats.py similarity index 100% rename from backend/src/api/execution_stats.py rename to backend/api/src/execution_stats.py diff --git a/backend/src/globals.py b/backend/api/src/globals.py similarity index 100% rename from backend/src/globals.py rename to backend/api/src/globals.py diff --git a/backend/src/api/inconsistencies.py b/backend/api/src/inconsistencies.py similarity index 100% rename from backend/src/api/inconsistencies.py rename to backend/api/src/inconsistencies.py diff --git a/backend/src/api/mutations.py b/backend/api/src/mutations.py similarity index 100% rename from backend/src/api/mutations.py rename to backend/api/src/mutations.py diff --git a/backend/src/api/queries.py b/backend/api/src/queries.py similarity index 100% rename from backend/src/api/queries.py rename to backend/api/src/queries.py diff --git a/backend/src/api/schema.graphql b/backend/api/src/schema.graphql similarity index 100% rename from backend/src/api/schema.graphql rename to backend/api/src/schema.graphql diff --git a/backend/src/api/schema/common.graphql b/backend/api/src/schema/common.graphql similarity index 100% rename from backend/src/api/schema/common.graphql rename to backend/api/src/schema/common.graphql diff --git a/backend/src/settings.py b/backend/api/src/settings.py similarity index 100% rename from backend/src/settings.py rename to backend/api/src/settings.py diff --git a/backend/src/api/utils/fields.py b/backend/api/src/utils/fields.py similarity index 100% rename from backend/src/api/utils/fields.py rename to backend/api/src/utils/fields.py diff --git a/backend/src/models/__init__.py b/backend/models/src/__init__.py similarity index 100% rename from backend/src/models/__init__.py rename to backend/models/src/__init__.py diff --git a/backend/src/models/analytics/__init__.py b/backend/models/src/analytics/__init__.py similarity index 100% rename from backend/src/models/analytics/__init__.py rename to backend/models/src/analytics/__init__.py diff --git a/backend/src/models/analytics/approved_vs_actual.py b/backend/models/src/analytics/approved_vs_actual.py similarity index 100% rename from backend/src/models/analytics/approved_vs_actual.py rename to backend/models/src/analytics/approved_vs_actual.py diff --git a/backend/src/models/analytics/forecast.py b/backend/models/src/analytics/forecast.py similarity index 100% rename from backend/src/models/analytics/forecast.py rename to backend/models/src/analytics/forecast.py diff --git a/backend/src/models/analytics/performance_analysis.py b/backend/models/src/analytics/performance_analysis.py similarity index 100% rename from backend/src/models/analytics/performance_analysis.py rename to backend/models/src/analytics/performance_analysis.py diff --git a/backend/src/models/analytics/revenue_tracking.py b/backend/models/src/analytics/revenue_tracking.py similarity index 100% rename from backend/src/models/analytics/revenue_tracking.py rename to backend/models/src/analytics/revenue_tracking.py diff --git a/backend/src/models/analytics/timeliness_review.py b/backend/models/src/analytics/timeliness_review.py similarity index 100% rename from backend/src/models/analytics/timeliness_review.py rename to backend/models/src/analytics/timeliness_review.py diff --git a/backend/src/models/analytics/week_review.py b/backend/models/src/analytics/week_review.py similarity index 100% rename from backend/src/models/analytics/week_review.py rename to backend/models/src/analytics/week_review.py diff --git a/backend/src/models/base/__init__.py b/backend/models/src/base/__init__.py similarity index 100% rename from backend/src/models/base/__init__.py rename to backend/models/src/base/__init__.py diff --git a/backend/src/models/base/powerdataframe.py b/backend/models/src/base/powerdataframe.py similarity index 100% rename from backend/src/models/base/powerdataframe.py rename to backend/models/src/base/powerdataframe.py diff --git a/backend/src/models/base/semanticmodel.py b/backend/models/src/base/semanticmodel.py similarity index 100% rename from backend/src/models/base/semanticmodel.py rename to backend/models/src/base/semanticmodel.py diff --git a/backend/src/models/datasets/__init__.py b/backend/models/src/datasets/__init__.py similarity index 100% rename from backend/src/models/datasets/__init__.py rename to backend/models/src/datasets/__init__.py diff --git a/backend/src/models/datasets/insights_dataset.py b/backend/models/src/datasets/insights_dataset.py similarity index 100% rename from backend/src/models/datasets/insights_dataset.py rename to backend/models/src/datasets/insights_dataset.py diff --git a/backend/src/models/datasets/omni_dataset.py b/backend/models/src/datasets/omni_dataset.py similarity index 100% rename from backend/src/models/datasets/omni_dataset.py rename to backend/models/src/datasets/omni_dataset.py diff --git a/backend/src/models/datasets/ontology_entries_dataset.py b/backend/models/src/datasets/ontology_entries_dataset.py similarity index 100% rename from backend/src/models/datasets/ontology_entries_dataset.py rename to backend/models/src/datasets/ontology_entries_dataset.py diff --git a/backend/src/models/datasets/tasks_dataset.py b/backend/models/src/datasets/tasks_dataset.py similarity index 100% rename from backend/src/models/datasets/tasks_dataset.py rename to backend/models/src/datasets/tasks_dataset.py diff --git a/backend/src/models/datasets/timesheet_dataset.py b/backend/models/src/datasets/timesheet_dataset.py similarity index 100% rename from backend/src/models/datasets/timesheet_dataset.py rename to backend/models/src/datasets/timesheet_dataset.py diff --git a/backend/src/models/domain/__init__.py b/backend/models/src/domain/__init__.py similarity index 100% rename from backend/src/models/domain/__init__.py rename to backend/models/src/domain/__init__.py diff --git a/backend/src/models/domain/active_deals.py b/backend/models/src/domain/active_deals.py similarity index 100% rename from backend/src/models/domain/active_deals.py rename to backend/models/src/domain/active_deals.py diff --git a/backend/src/models/domain/cases.py b/backend/models/src/domain/cases.py similarity index 100% rename from backend/src/models/domain/cases.py rename to backend/models/src/domain/cases.py diff --git a/backend/src/models/domain/clients.py b/backend/models/src/domain/clients.py similarity index 100% rename from backend/src/models/domain/clients.py rename to backend/models/src/domain/clients.py diff --git a/backend/src/models/domain/offers.py b/backend/models/src/domain/offers.py similarity index 100% rename from backend/src/models/domain/offers.py rename to backend/models/src/domain/offers.py diff --git a/backend/src/models/domain/projects.py b/backend/models/src/domain/projects.py similarity index 100% rename from backend/src/models/domain/projects.py rename to backend/models/src/domain/projects.py diff --git a/backend/src/models/domain/sponsors.py b/backend/models/src/domain/sponsors.py similarity index 100% rename from backend/src/models/domain/sponsors.py rename to backend/models/src/domain/sponsors.py diff --git a/backend/src/models/domain/workers.py b/backend/models/src/domain/workers.py similarity index 100% rename from backend/src/models/domain/workers.py rename to backend/models/src/domain/workers.py diff --git a/backend/src/models/omnidatasets.py b/backend/models/src/omnidatasets.py similarity index 100% rename from backend/src/models/omnidatasets.py rename to backend/models/src/omnidatasets.py diff --git a/backend/src/models/omnimodels.py b/backend/models/src/omnimodels.py similarity index 100% rename from backend/src/models/omnimodels.py rename to backend/models/src/omnimodels.py diff --git a/backend/src/models/semantic/__init__.py b/backend/models/src/semantic/__init__.py similarity index 100% rename from backend/src/models/semantic/__init__.py rename to backend/models/src/semantic/__init__.py diff --git a/backend/src/models/semantic/crm.py b/backend/models/src/semantic/crm.py similarity index 100% rename from backend/src/models/semantic/crm.py rename to backend/models/src/semantic/crm.py diff --git a/backend/src/models/semantic/insights.py b/backend/models/src/semantic/insights.py similarity index 100% rename from backend/src/models/semantic/insights.py rename to backend/models/src/semantic/insights.py diff --git a/backend/src/models/semantic/ontology.py b/backend/models/src/semantic/ontology.py similarity index 100% rename from backend/src/models/semantic/ontology.py rename to backend/models/src/semantic/ontology.py diff --git a/backend/src/models/semantic/salesfunnel.py b/backend/models/src/semantic/salesfunnel.py similarity index 100% rename from backend/src/models/semantic/salesfunnel.py rename to backend/models/src/semantic/salesfunnel.py diff --git a/backend/src/models/semantic/tasksmanager.py b/backend/models/src/semantic/tasksmanager.py similarity index 100% rename from backend/src/models/semantic/tasksmanager.py rename to backend/models/src/semantic/tasksmanager.py diff --git a/backend/src/models/semantic/timetracker.py b/backend/models/src/semantic/timetracker.py similarity index 100% rename from backend/src/models/semantic/timetracker.py rename to backend/models/src/semantic/timetracker.py diff --git a/backend/src/models/syntactic/__init__.py b/backend/models/src/syntactic/__init__.py similarity index 100% rename from backend/src/models/syntactic/__init__.py rename to backend/models/src/syntactic/__init__.py diff --git a/backend/src/models/syntactic/everhour.py b/backend/models/src/syntactic/everhour.py similarity index 100% rename from backend/src/models/syntactic/everhour.py rename to backend/models/src/syntactic/everhour.py diff --git a/backend/src/models/syntactic/pipedrive.py b/backend/models/src/syntactic/pipedrive.py similarity index 100% rename from backend/src/models/syntactic/pipedrive.py rename to backend/models/src/syntactic/pipedrive.py diff --git a/backend/src/models/syntactic/todoist.py b/backend/models/src/syntactic/todoist.py similarity index 100% rename from backend/src/models/syntactic/todoist.py rename to backend/models/src/syntactic/todoist.py diff --git a/backend/src/models/syntactic/wordpress.py b/backend/models/src/syntactic/wordpress.py similarity index 100% rename from backend/src/models/syntactic/wordpress.py rename to backend/models/src/syntactic/wordpress.py diff --git a/backend/src/decorators/__init__.py b/backend/src/decorators/__init__.py deleted file mode 100644 index cb593ab0..00000000 --- a/backend/src/decorators/__init__.py +++ /dev/null @@ -1,8 +0,0 @@ -from decorators.cache import cache -from decorators.c4 import ( - c4_external_system, - list_c4_external_systems_from_dir, - list_c4_external_systems_from_file -) - -__all__ = ['cache', 'c4_external_system', 'list_c4_external_systems_from_dir', 'list_c4_external_systems_from_file'] \ No newline at end of file diff --git a/backend/src/models/helpers/__init__.py b/backend/src/models/helpers/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/backend/src/decorators/c4.py b/backend/utils/src/decorators/c4.py similarity index 100% rename from backend/src/decorators/c4.py rename to backend/utils/src/decorators/c4.py diff --git a/backend/src/decorators/cache.py b/backend/utils/src/decorators/cache.py similarity index 100% rename from backend/src/decorators/cache.py rename to backend/utils/src/decorators/cache.py diff --git a/backend/src/models/helpers/beauty.py b/backend/utils/src/helpers/beauty.py similarity index 100% rename from backend/src/models/helpers/beauty.py rename to backend/utils/src/helpers/beauty.py diff --git a/backend/src/models/helpers/dict.py b/backend/utils/src/helpers/dict.py similarity index 100% rename from backend/src/models/helpers/dict.py rename to backend/utils/src/helpers/dict.py diff --git a/backend/src/models/helpers/list.py b/backend/utils/src/helpers/list.py similarity index 100% rename from backend/src/models/helpers/list.py rename to backend/utils/src/helpers/list.py diff --git a/backend/src/models/helpers/numbers.py b/backend/utils/src/helpers/numbers.py similarity index 100% rename from backend/src/models/helpers/numbers.py rename to backend/utils/src/helpers/numbers.py diff --git a/backend/src/models/helpers/slug.py b/backend/utils/src/helpers/slug.py similarity index 100% rename from backend/src/models/helpers/slug.py rename to backend/utils/src/helpers/slug.py diff --git a/backend/src/models/helpers/weeks.py b/backend/utils/src/helpers/weeks.py similarity index 100% rename from backend/src/models/helpers/weeks.py rename to backend/utils/src/helpers/weeks.py diff --git a/backend/src/middleware/elk_logging.py b/backend/utils/src/middleware/elk_logging.py similarity index 100% rename from backend/src/middleware/elk_logging.py rename to backend/utils/src/middleware/elk_logging.py diff --git a/backend/tests/models/helpers/test_beauty.py b/backend/utils/tests/test_beauty.py similarity index 100% rename from backend/tests/models/helpers/test_beauty.py rename to backend/utils/tests/test_beauty.py diff --git a/backend/tests/models/helpers/test_dict.py b/backend/utils/tests/test_dict.py similarity index 100% rename from backend/tests/models/helpers/test_dict.py rename to backend/utils/tests/test_dict.py diff --git a/backend/tests/models/helpers/test_list.py b/backend/utils/tests/test_list.py similarity index 100% rename from backend/tests/models/helpers/test_list.py rename to backend/utils/tests/test_list.py diff --git a/backend/tests/models/helpers/test_numbers.py b/backend/utils/tests/test_numbers.py similarity index 100% rename from backend/tests/models/helpers/test_numbers.py rename to backend/utils/tests/test_numbers.py diff --git a/backend/tests/models/helpers/test_slug.py b/backend/utils/tests/test_slug.py similarity index 100% rename from backend/tests/models/helpers/test_slug.py rename to backend/utils/tests/test_slug.py diff --git a/backend/tests/models/helpers/test_weeks.py b/backend/utils/tests/test_weeks.py similarity index 100% rename from backend/tests/models/helpers/test_weeks.py rename to backend/utils/tests/test_weeks.py From 9bee8b201d0de5111a71d012ff44407eb6d4d592 Mon Sep 17 00:00:00 2001 From: Elemar Rodrigues Severo Junior Date: Sun, 8 Dec 2024 20:05:11 -0300 Subject: [PATCH 02/10] Add initial backend structure and utility functions - Introduced `pyrightconfig.json` for type checking configuration. - Created `setup.py` files for `omni-api`, `omni-models`, and `omni-utils` packages. - Added core utility functions in `omni_utils` for decorators, caching, and data manipulation. - Implemented helper functions for formatting, slug generation, and week calculations. - Enhanced logging capabilities with `ElkLogger` for request tracking in the API. - Removed an unused line from `requirements.txt` to clean up dependencies. --- backend/api/setup.py | 12 ++++++++++++ backend/api/src/app.py | 5 +++++ backend/models/setup.py | 11 +++++++++++ backend/pyrightconfig.json | 11 +++++++++++ backend/requirements.txt | 1 - backend/utils/setup.py | 8 ++++++++ backend/utils/src/{ => omni_utils}/decorators/c4.py | 0 .../utils/src/{ => omni_utils}/decorators/cache.py | 0 backend/utils/src/{ => omni_utils}/helpers/beauty.py | 0 backend/utils/src/{ => omni_utils}/helpers/dict.py | 0 backend/utils/src/{ => omni_utils}/helpers/list.py | 0 .../utils/src/{ => omni_utils}/helpers/numbers.py | 0 backend/utils/src/{ => omni_utils}/helpers/slug.py | 0 backend/utils/src/{ => omni_utils}/helpers/weeks.py | 0 .../src/{ => omni_utils}/middleware/elk_logging.py | 0 15 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 backend/api/setup.py create mode 100644 backend/models/setup.py create mode 100644 backend/pyrightconfig.json create mode 100644 backend/utils/setup.py rename backend/utils/src/{ => omni_utils}/decorators/c4.py (100%) rename backend/utils/src/{ => omni_utils}/decorators/cache.py (100%) rename backend/utils/src/{ => omni_utils}/helpers/beauty.py (100%) rename backend/utils/src/{ => omni_utils}/helpers/dict.py (100%) rename backend/utils/src/{ => omni_utils}/helpers/list.py (100%) rename backend/utils/src/{ => omni_utils}/helpers/numbers.py (100%) rename backend/utils/src/{ => omni_utils}/helpers/slug.py (100%) rename backend/utils/src/{ => omni_utils}/helpers/weeks.py (100%) rename backend/utils/src/{ => omni_utils}/middleware/elk_logging.py (100%) diff --git a/backend/api/setup.py b/backend/api/setup.py new file mode 100644 index 00000000..b5c03dd5 --- /dev/null +++ b/backend/api/setup.py @@ -0,0 +1,12 @@ +from setuptools import setup, find_namespace_packages + +setup( + name="omni-api", + version="0.1", + packages=find_namespace_packages(where="src"), + package_dir={"": "src"}, + install_requires=[ + "omni-utils", + "omni-models" + ], +) \ No newline at end of file diff --git a/backend/api/src/app.py b/backend/api/src/app.py index 9b81b641..df36df3d 100644 --- a/backend/api/src/app.py +++ b/backend/api/src/app.py @@ -1,3 +1,8 @@ +import sys +from pathlib import Path + +sys.path.append(Path(__file__).parent.parent.parent) + from flask import Flask, request, jsonify from flask_cors import CORS from ariadne import load_schema_from_path, make_executable_schema, graphql_sync, snake_case_fallback_resolvers diff --git a/backend/models/setup.py b/backend/models/setup.py new file mode 100644 index 00000000..86c196fc --- /dev/null +++ b/backend/models/setup.py @@ -0,0 +1,11 @@ +from setuptools import setup, find_namespace_packages + +setup( + name="omni-models", + version="0.1", + packages=find_namespace_packages(where="src"), + package_dir={"": "src"}, + install_requires=[ + "omni-utils" + ], +) \ No newline at end of file diff --git a/backend/pyrightconfig.json b/backend/pyrightconfig.json new file mode 100644 index 00000000..273377b2 --- /dev/null +++ b/backend/pyrightconfig.json @@ -0,0 +1,11 @@ +{ + "include": [ + "api/src", + "playground/src", + "utils/src", + "models/src" + ], + "extraPaths": [ + "." + ] +} \ No newline at end of file diff --git a/backend/requirements.txt b/backend/requirements.txt index 22357d11..a58b67ec 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -11,7 +11,6 @@ pytest-cov pytest-mock pytest-parametrize - pydantic pytz bokeh diff --git a/backend/utils/setup.py b/backend/utils/setup.py new file mode 100644 index 00000000..1cd04ef0 --- /dev/null +++ b/backend/utils/setup.py @@ -0,0 +1,8 @@ +from setuptools import setup, find_namespace_packages + +setup( + name="omni-utils", + version="0.1", + packages=find_namespace_packages(where="src"), + package_dir={"": "src"}, +) \ No newline at end of file diff --git a/backend/utils/src/decorators/c4.py b/backend/utils/src/omni_utils/decorators/c4.py similarity index 100% rename from backend/utils/src/decorators/c4.py rename to backend/utils/src/omni_utils/decorators/c4.py diff --git a/backend/utils/src/decorators/cache.py b/backend/utils/src/omni_utils/decorators/cache.py similarity index 100% rename from backend/utils/src/decorators/cache.py rename to backend/utils/src/omni_utils/decorators/cache.py diff --git a/backend/utils/src/helpers/beauty.py b/backend/utils/src/omni_utils/helpers/beauty.py similarity index 100% rename from backend/utils/src/helpers/beauty.py rename to backend/utils/src/omni_utils/helpers/beauty.py diff --git a/backend/utils/src/helpers/dict.py b/backend/utils/src/omni_utils/helpers/dict.py similarity index 100% rename from backend/utils/src/helpers/dict.py rename to backend/utils/src/omni_utils/helpers/dict.py diff --git a/backend/utils/src/helpers/list.py b/backend/utils/src/omni_utils/helpers/list.py similarity index 100% rename from backend/utils/src/helpers/list.py rename to backend/utils/src/omni_utils/helpers/list.py diff --git a/backend/utils/src/helpers/numbers.py b/backend/utils/src/omni_utils/helpers/numbers.py similarity index 100% rename from backend/utils/src/helpers/numbers.py rename to backend/utils/src/omni_utils/helpers/numbers.py diff --git a/backend/utils/src/helpers/slug.py b/backend/utils/src/omni_utils/helpers/slug.py similarity index 100% rename from backend/utils/src/helpers/slug.py rename to backend/utils/src/omni_utils/helpers/slug.py diff --git a/backend/utils/src/helpers/weeks.py b/backend/utils/src/omni_utils/helpers/weeks.py similarity index 100% rename from backend/utils/src/helpers/weeks.py rename to backend/utils/src/omni_utils/helpers/weeks.py diff --git a/backend/utils/src/middleware/elk_logging.py b/backend/utils/src/omni_utils/middleware/elk_logging.py similarity index 100% rename from backend/utils/src/middleware/elk_logging.py rename to backend/utils/src/omni_utils/middleware/elk_logging.py From 15d5de4d2946685fac89672bceec9b43086bf4fe Mon Sep 17 00:00:00 2001 From: Elemar Rodrigues Severo Junior Date: Sun, 8 Dec 2024 20:20:01 -0300 Subject: [PATCH 03/10] Remove unused `__init__.py` files and consolidate model structure - Deleted empty `__init__.py` files from `backend/models/src/base` and `backend/models/src/domain` to clean up the project structure. - Introduced new files in `backend/models/src/omni_models` for `omnidatasets`, `omnimodels`, and various analytics modules, enhancing the organization of the codebase. - Added multiple new datasets and analytics classes to improve data handling and analysis capabilities within the omni-models framework. - Implemented new semantic models and domain classes to support enhanced functionality and data interactions across the application. --- backend/models/src/base/__init__.py | 0 backend/models/src/datasets/__init__.py | 0 backend/models/src/domain/__init__.py | 12 ------------ .../src/{ => omni_models}/analytics/__init__.py | 0 .../analytics/approved_vs_actual.py | 2 +- .../src/{ => omni_models}/analytics/forecast.py | 0 .../analytics/performance_analysis.py | 4 ++-- .../analytics/revenue_tracking.py | 4 ++-- .../analytics/timeliness_review.py | 2 +- .../src/{ => omni_models}/analytics/week_review.py | 4 ++-- .../models/src/{ => omni_models/base}/__init__.py | 0 .../src/{ => omni_models}/base/powerdataframe.py | 0 .../src/{ => omni_models}/base/semanticmodel.py | 0 .../{ => omni_models}/datasets/insights_dataset.py | 6 +++--- .../src/{ => omni_models}/datasets/omni_dataset.py | 4 ++-- .../datasets/ontology_entries_dataset.py | 6 +++--- .../{ => omni_models}/datasets/tasks_dataset.py | 8 ++++---- .../datasets/timesheet_dataset.py | 12 ++++++------ backend/models/src/omni_models/domain/__init__.py | 12 ++++++++++++ .../src/{ => omni_models}/domain/active_deals.py | 4 ++-- .../models/src/{ => omni_models}/domain/cases.py | 10 +++++----- .../models/src/{ => omni_models}/domain/clients.py | 10 +++++----- .../models/src/{ => omni_models}/domain/offers.py | 0 .../src/{ => omni_models}/domain/projects.py | 2 +- .../src/{ => omni_models}/domain/sponsors.py | 6 +++--- .../models/src/{ => omni_models}/domain/workers.py | 6 +++--- .../models/src/{ => omni_models}/omnidatasets.py | 0 backend/models/src/{ => omni_models}/omnimodels.py | 0 .../src/{ => omni_models}/semantic/__init__.py | 0 .../models/src/{ => omni_models}/semantic/crm.py | 6 +++--- .../src/{ => omni_models}/semantic/insights.py | 6 +++--- .../src/{ => omni_models}/semantic/ontology.py | 6 +++--- .../src/{ => omni_models}/semantic/salesfunnel.py | 12 ++++++------ .../src/{ => omni_models}/semantic/tasksmanager.py | 10 +++++----- .../src/{ => omni_models}/semantic/timetracker.py | 14 +++++++------- .../src/{ => omni_models}/syntactic/__init__.py | 8 ++++---- .../src/{ => omni_models}/syntactic/everhour.py | 4 ++-- .../src/{ => omni_models}/syntactic/pipedrive.py | 2 +- .../src/{ => omni_models}/syntactic/todoist.py | 4 ++-- .../src/{ => omni_models}/syntactic/wordpress.py | 4 ++-- 40 files changed, 95 insertions(+), 95 deletions(-) delete mode 100644 backend/models/src/base/__init__.py delete mode 100644 backend/models/src/datasets/__init__.py delete mode 100644 backend/models/src/domain/__init__.py rename backend/models/src/{ => omni_models}/analytics/__init__.py (100%) rename backend/models/src/{ => omni_models}/analytics/approved_vs_actual.py (99%) rename backend/models/src/{ => omni_models}/analytics/forecast.py (100%) rename backend/models/src/{ => omni_models}/analytics/performance_analysis.py (99%) rename backend/models/src/{ => omni_models}/analytics/revenue_tracking.py (99%) rename backend/models/src/{ => omni_models}/analytics/timeliness_review.py (99%) rename backend/models/src/{ => omni_models}/analytics/week_review.py (99%) rename backend/models/src/{ => omni_models/base}/__init__.py (100%) rename backend/models/src/{ => omni_models}/base/powerdataframe.py (100%) rename backend/models/src/{ => omni_models}/base/semanticmodel.py (100%) rename backend/models/src/{ => omni_models}/datasets/insights_dataset.py (89%) rename backend/models/src/{ => omni_models}/datasets/omni_dataset.py (90%) rename backend/models/src/{ => omni_models}/datasets/ontology_entries_dataset.py (90%) rename backend/models/src/{ => omni_models}/datasets/tasks_dataset.py (89%) rename backend/models/src/{ => omni_models}/datasets/timesheet_dataset.py (96%) create mode 100644 backend/models/src/omni_models/domain/__init__.py rename backend/models/src/{ => omni_models}/domain/active_deals.py (95%) rename backend/models/src/{ => omni_models}/domain/cases.py (97%) rename backend/models/src/{ => omni_models}/domain/clients.py (94%) rename backend/models/src/{ => omni_models}/domain/offers.py (100%) rename backend/models/src/{ => omni_models}/domain/projects.py (93%) rename backend/models/src/{ => omni_models}/domain/sponsors.py (93%) rename backend/models/src/{ => omni_models}/domain/workers.py (98%) rename backend/models/src/{ => omni_models}/omnidatasets.py (100%) rename backend/models/src/{ => omni_models}/omnimodels.py (100%) rename backend/models/src/{ => omni_models}/semantic/__init__.py (100%) rename backend/models/src/{ => omni_models}/semantic/crm.py (89%) rename backend/models/src/{ => omni_models}/semantic/insights.py (88%) rename backend/models/src/{ => omni_models}/semantic/ontology.py (98%) rename backend/models/src/{ => omni_models}/semantic/salesfunnel.py (96%) rename backend/models/src/{ => omni_models}/semantic/tasksmanager.py (93%) rename backend/models/src/{ => omni_models}/semantic/timetracker.py (94%) rename backend/models/src/{ => omni_models}/syntactic/__init__.py (76%) rename backend/models/src/{ => omni_models}/syntactic/everhour.py (98%) rename backend/models/src/{ => omni_models}/syntactic/pipedrive.py (99%) rename backend/models/src/{ => omni_models}/syntactic/todoist.py (97%) rename backend/models/src/{ => omni_models}/syntactic/wordpress.py (99%) diff --git a/backend/models/src/base/__init__.py b/backend/models/src/base/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/backend/models/src/datasets/__init__.py b/backend/models/src/datasets/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/backend/models/src/domain/__init__.py b/backend/models/src/domain/__init__.py deleted file mode 100644 index 6eac449d..00000000 --- a/backend/models/src/domain/__init__.py +++ /dev/null @@ -1,12 +0,0 @@ -from models.domain.cases import (Case, CasesRepository,) -from models.domain.clients import (Client, ClientsRepository,) -from models.domain.offers import Offer, OffersRepository -from models.domain.projects import ProjectsRepository -from models.domain.sponsors import Sponsor, SponsorsRepository -from models.domain.workers import (Worker, WorkerKind, WorkersRepository, ) - -__all__ = ['Case', 'CasesRepository', 'Client', 'ClientsRepository', 'Offer' - 'OffersRepository', 'ProjectsRepository', 'Sponsor', - 'SponsorsRepository', 'Worker', 'WorkerKind', 'WorkersRepository', - 'cases', 'clients', 'offers', 'projects', 'sponsors', - 'workers'] diff --git a/backend/models/src/analytics/__init__.py b/backend/models/src/omni_models/analytics/__init__.py similarity index 100% rename from backend/models/src/analytics/__init__.py rename to backend/models/src/omni_models/analytics/__init__.py diff --git a/backend/models/src/analytics/approved_vs_actual.py b/backend/models/src/omni_models/analytics/approved_vs_actual.py similarity index 99% rename from backend/models/src/analytics/approved_vs_actual.py rename to backend/models/src/omni_models/analytics/approved_vs_actual.py index 42e68c0f..48b5725f 100644 --- a/backend/models/src/analytics/approved_vs_actual.py +++ b/backend/models/src/omni_models/analytics/approved_vs_actual.py @@ -1,7 +1,7 @@ from typing import Dict, List, Any import pandas as pd from datetime import datetime, date -from models.helpers.weeks import Weeks +from omni_utils.helpers.weeks import Weeks import globals from dataclasses import dataclass diff --git a/backend/models/src/analytics/forecast.py b/backend/models/src/omni_models/analytics/forecast.py similarity index 100% rename from backend/models/src/analytics/forecast.py rename to backend/models/src/omni_models/analytics/forecast.py diff --git a/backend/models/src/analytics/performance_analysis.py b/backend/models/src/omni_models/analytics/performance_analysis.py similarity index 99% rename from backend/models/src/analytics/performance_analysis.py rename to backend/models/src/omni_models/analytics/performance_analysis.py index d146fd2a..481ebe10 100644 --- a/backend/models/src/analytics/performance_analysis.py +++ b/backend/models/src/omni_models/analytics/performance_analysis.py @@ -4,11 +4,11 @@ from typing import List, Dict, Optional from dataclasses import dataclass from enum import Enum -from models.domain.cases import Case +from omni_models.domain.cases import Case import globals -from models.helpers.weeks import Weeks +from omni_utils.helpers.weeks import Weeks @dataclass class CaseHours: diff --git a/backend/models/src/analytics/revenue_tracking.py b/backend/models/src/omni_models/analytics/revenue_tracking.py similarity index 99% rename from backend/models/src/analytics/revenue_tracking.py rename to backend/models/src/omni_models/analytics/revenue_tracking.py index 06be6a49..a41b5471 100644 --- a/backend/models/src/analytics/revenue_tracking.py +++ b/backend/models/src/omni_models/analytics/revenue_tracking.py @@ -2,8 +2,8 @@ import globals from datetime import date, datetime, timedelta -from models.helpers.slug import slugify -from models.domain.cases import Case +from omni_utils.helpers.slug import slugify +from omni_models.domain.cases import Case import pandas as pd from dataclasses import dataclass diff --git a/backend/models/src/analytics/timeliness_review.py b/backend/models/src/omni_models/analytics/timeliness_review.py similarity index 99% rename from backend/models/src/analytics/timeliness_review.py rename to backend/models/src/omni_models/analytics/timeliness_review.py index a4b2e70f..ca67ad7e 100644 --- a/backend/models/src/analytics/timeliness_review.py +++ b/backend/models/src/omni_models/analytics/timeliness_review.py @@ -1,6 +1,6 @@ from datetime import datetime import pandas as pd -from models.helpers.weeks import Weeks +from omni_utils.helpers.weeks import Weeks import globals def compute_timeliness_review(date_of_interest, filters=None): diff --git a/backend/models/src/analytics/week_review.py b/backend/models/src/omni_models/analytics/week_review.py similarity index 99% rename from backend/models/src/analytics/week_review.py rename to backend/models/src/omni_models/analytics/week_review.py index 58e69c32..7f016fb7 100644 --- a/backend/models/src/analytics/week_review.py +++ b/backend/models/src/omni_models/analytics/week_review.py @@ -1,7 +1,7 @@ from datetime import datetime, timedelta from dateutil.relativedelta import relativedelta -from models.helpers import beauty -from models.helpers.weeks import Weeks +from omni_utils.helpers import beauty +from omni_utils.helpers.weeks import Weeks import globals import pandas as pd diff --git a/backend/models/src/__init__.py b/backend/models/src/omni_models/base/__init__.py similarity index 100% rename from backend/models/src/__init__.py rename to backend/models/src/omni_models/base/__init__.py diff --git a/backend/models/src/base/powerdataframe.py b/backend/models/src/omni_models/base/powerdataframe.py similarity index 100% rename from backend/models/src/base/powerdataframe.py rename to backend/models/src/omni_models/base/powerdataframe.py diff --git a/backend/models/src/base/semanticmodel.py b/backend/models/src/omni_models/base/semanticmodel.py similarity index 100% rename from backend/models/src/base/semanticmodel.py rename to backend/models/src/omni_models/base/semanticmodel.py diff --git a/backend/models/src/datasets/insights_dataset.py b/backend/models/src/omni_models/datasets/insights_dataset.py similarity index 89% rename from backend/models/src/datasets/insights_dataset.py rename to backend/models/src/omni_models/datasets/insights_dataset.py index 2da6581a..ff8d350f 100644 --- a/backend/models/src/datasets/insights_dataset.py +++ b/backend/models/src/omni_models/datasets/insights_dataset.py @@ -2,9 +2,9 @@ import pandas as pd -from models.base.powerdataframe import SummarizablePowerDataFrame -from models.datasets.omni_dataset import OmniDataset -from models.omnimodels import OmniModels +from omni_models.base.powerdataframe import SummarizablePowerDataFrame +from omni_models.datasets.omni_dataset import OmniDataset +from omni_models.omnimodels import OmniModels class InsightsDataset(OmniDataset): diff --git a/backend/models/src/datasets/omni_dataset.py b/backend/models/src/omni_models/datasets/omni_dataset.py similarity index 90% rename from backend/models/src/datasets/omni_dataset.py rename to backend/models/src/omni_models/datasets/omni_dataset.py index 5e047f72..0190b869 100644 --- a/backend/models/src/datasets/omni_dataset.py +++ b/backend/models/src/omni_models/datasets/omni_dataset.py @@ -3,8 +3,8 @@ from datetime import datetime from typing import List, Tuple -from models.base.powerdataframe import SummarizablePowerDataFrame -from models.helpers.weeks import Weeks +from omni_models.base.powerdataframe import SummarizablePowerDataFrame +from omni_utils.helpers.weeks import Weeks class OmniDataset(ABC): diff --git a/backend/models/src/datasets/ontology_entries_dataset.py b/backend/models/src/omni_models/datasets/ontology_entries_dataset.py similarity index 90% rename from backend/models/src/datasets/ontology_entries_dataset.py rename to backend/models/src/omni_models/datasets/ontology_entries_dataset.py index 18f8ac17..4c8d115e 100644 --- a/backend/models/src/datasets/ontology_entries_dataset.py +++ b/backend/models/src/omni_models/datasets/ontology_entries_dataset.py @@ -2,9 +2,9 @@ import pandas as pd -from models.base.powerdataframe import SummarizablePowerDataFrame -from models.datasets.omni_dataset import OmniDataset -from models.omnimodels import OmniModels +from omni_models.base.powerdataframe import SummarizablePowerDataFrame +from omni_models.datasets.omni_dataset import OmniDataset +from omni_models.omnimodels import OmniModels class OntologyEntriesDataset(OmniDataset): diff --git a/backend/models/src/datasets/tasks_dataset.py b/backend/models/src/omni_models/datasets/tasks_dataset.py similarity index 89% rename from backend/models/src/datasets/tasks_dataset.py rename to backend/models/src/omni_models/datasets/tasks_dataset.py index 84a66322..15205bdd 100644 --- a/backend/models/src/datasets/tasks_dataset.py +++ b/backend/models/src/omni_models/datasets/tasks_dataset.py @@ -3,10 +3,10 @@ import pandas as pd -from decorators import cache -from models.base.powerdataframe import SummarizablePowerDataFrame -from models.datasets.omni_dataset import OmniDataset -from models.omnimodels import OmniModels +from omni_utils.decorators import cache +from omni_models.base.powerdataframe import SummarizablePowerDataFrame +from omni_models.datasets.omni_dataset import OmniDataset +from omni_models.omnimodels import OmniModels class TasksDataset(OmniDataset): diff --git a/backend/models/src/datasets/timesheet_dataset.py b/backend/models/src/omni_models/datasets/timesheet_dataset.py similarity index 96% rename from backend/models/src/datasets/timesheet_dataset.py rename to backend/models/src/omni_models/datasets/timesheet_dataset.py index 0ed94147..5f421948 100644 --- a/backend/models/src/datasets/timesheet_dataset.py +++ b/backend/models/src/omni_models/datasets/timesheet_dataset.py @@ -5,12 +5,12 @@ import pandas as pd import numpy as np -from decorators import cache -from models.base.powerdataframe import SummarizablePowerDataFrame -from models.datasets.omni_dataset import OmniDataset -from models.helpers.weeks import Weeks -from models.helpers.slug import slugify -from models.omnimodels import OmniModels +from omni_utils.decorators import cache +from omni_models.base.powerdataframe import SummarizablePowerDataFrame +from omni_models.datasets.omni_dataset import OmniDataset +from omni_utils.helpers.weeks import Weeks +from omni_utils.helpers.slug import slugify +from omni_models.omnimodels import OmniModels class TimesheetDataset(OmniDataset): diff --git a/backend/models/src/omni_models/domain/__init__.py b/backend/models/src/omni_models/domain/__init__.py new file mode 100644 index 00000000..39968fa4 --- /dev/null +++ b/backend/models/src/omni_models/domain/__init__.py @@ -0,0 +1,12 @@ +from omni_models.domain.cases import (Case, CasesRepository,) +from omni_models.domain.clients import (Client, ClientsRepository,) +from omni_models.domain.offers import Offer, OffersRepository +from omni_models.domain.projects import ProjectsRepository +from omni_models.domain.sponsors import Sponsor, SponsorsRepository +from omni_models.domain.workers import (Worker, WorkerKind, WorkersRepository, ) + +__all__ = ['Case', 'CasesRepository', 'Client', 'ClientsRepository', 'Offer' + 'OffersRepository', 'ProjectsRepository', 'Sponsor', + 'SponsorsRepository', 'Worker', 'WorkerKind', 'WorkersRepository', + 'cases', 'clients', 'offers', 'projects', 'sponsors', + 'workers'] diff --git a/backend/models/src/domain/active_deals.py b/backend/models/src/omni_models/domain/active_deals.py similarity index 95% rename from backend/models/src/domain/active_deals.py rename to backend/models/src/omni_models/domain/active_deals.py index b85f8779..b34d2cdc 100644 --- a/backend/models/src/domain/active_deals.py +++ b/backend/models/src/omni_models/domain/active_deals.py @@ -2,8 +2,8 @@ from typing import Dict, List, Optional from datetime import datetime -from models.semantic import SalesFunnelB2B -from models.domain import Worker, Client +from omni_models.semantic import SalesFunnelB2B +from omni_models.domain import Worker, Client class ActiveDeal(BaseModel): id: int diff --git a/backend/models/src/domain/cases.py b/backend/models/src/omni_models/domain/cases.py similarity index 97% rename from backend/models/src/domain/cases.py rename to backend/models/src/omni_models/domain/cases.py index 952b7b86..0ff51b94 100644 --- a/backend/models/src/domain/cases.py +++ b/backend/models/src/omni_models/domain/cases.py @@ -1,11 +1,11 @@ -from models.syntactic import EventDetail -from models.semantic import Ontology, Case, TimeTracker, Project -import models.semantic.ontology as o +from omni_models.syntactic import EventDetail +from omni_models.semantic import Ontology, Case, TimeTracker, Project +import omni_models.semantic.ontology as o from typing import Optional, Dict, List -from models.domain.clients import ClientsRepository +from omni_models.domain.clients import ClientsRepository from pydantic import BaseModel from datetime import datetime, date -import models.helpers.numbers as numbers +import omni_utils.helpers.numbers as numbers class Case(BaseModel): diff --git a/backend/models/src/domain/clients.py b/backend/models/src/omni_models/domain/clients.py similarity index 94% rename from backend/models/src/domain/clients.py rename to backend/models/src/omni_models/domain/clients.py index bb40e8a6..01870c65 100644 --- a/backend/models/src/domain/clients.py +++ b/backend/models/src/omni_models/domain/clients.py @@ -1,12 +1,12 @@ -from models.domain.workers import WorkersRepository, Worker -from models.semantic import Ontology, TimeTracker +from omni_models.domain.workers import WorkersRepository, Worker +from omni_models.semantic import Ontology, TimeTracker -import models.semantic.ontology as o -import models.syntactic.everhour as t +import omni_models.semantic.ontology as o +import omni_models.syntactic.everhour as t from pydantic import BaseModel from typing import Optional, List, Dict -import models.helpers.numbers as numbers +import omni_utils.helpers.numbers as numbers class Client(BaseModel): diff --git a/backend/models/src/domain/offers.py b/backend/models/src/omni_models/domain/offers.py similarity index 100% rename from backend/models/src/domain/offers.py rename to backend/models/src/omni_models/domain/offers.py diff --git a/backend/models/src/domain/projects.py b/backend/models/src/omni_models/domain/projects.py similarity index 93% rename from backend/models/src/domain/projects.py rename to backend/models/src/omni_models/domain/projects.py index 79d7f096..f52c505a 100644 --- a/backend/models/src/domain/projects.py +++ b/backend/models/src/omni_models/domain/projects.py @@ -1,4 +1,4 @@ -from models.semantic import TasksManager, Project +from omni_models.semantic import TasksManager, Project from typing import List, Dict, Optional diff --git a/backend/models/src/domain/sponsors.py b/backend/models/src/omni_models/domain/sponsors.py similarity index 93% rename from backend/models/src/domain/sponsors.py rename to backend/models/src/omni_models/domain/sponsors.py index 745338fa..8b59f928 100644 --- a/backend/models/src/domain/sponsors.py +++ b/backend/models/src/omni_models/domain/sponsors.py @@ -1,9 +1,9 @@ from pydantic import BaseModel from typing import Dict, Optional -from models.semantic import CRM -from models.domain.cases import CasesRepository -import models.helpers.slug as sl +from omni_models.semantic import CRM +from omni_models.domain.cases import CasesRepository +import omni_utils.helpers.slug as sl class Sponsor(BaseModel): diff --git a/backend/models/src/domain/workers.py b/backend/models/src/omni_models/domain/workers.py similarity index 98% rename from backend/models/src/domain/workers.py rename to backend/models/src/omni_models/domain/workers.py index 1388c804..9826f416 100644 --- a/backend/models/src/domain/workers.py +++ b/backend/models/src/omni_models/domain/workers.py @@ -3,10 +3,10 @@ from pydantic import BaseModel -import models.semantic.ontology as o -import models.syntactic.everhour as t +import omni_models.semantic.ontology as o +import omni_models.syntactic.everhour as t -from models.semantic import Insights, Ontology, TasksManager, TimeTracker, SalesFunnelB2B +from omni_models.semantic import Insights, Ontology, TasksManager, TimeTracker, SalesFunnelB2B class WorkerKind(Enum): diff --git a/backend/models/src/omnidatasets.py b/backend/models/src/omni_models/omnidatasets.py similarity index 100% rename from backend/models/src/omnidatasets.py rename to backend/models/src/omni_models/omnidatasets.py diff --git a/backend/models/src/omnimodels.py b/backend/models/src/omni_models/omnimodels.py similarity index 100% rename from backend/models/src/omnimodels.py rename to backend/models/src/omni_models/omnimodels.py diff --git a/backend/models/src/semantic/__init__.py b/backend/models/src/omni_models/semantic/__init__.py similarity index 100% rename from backend/models/src/semantic/__init__.py rename to backend/models/src/omni_models/semantic/__init__.py diff --git a/backend/models/src/semantic/crm.py b/backend/models/src/omni_models/semantic/crm.py similarity index 89% rename from backend/models/src/semantic/crm.py rename to backend/models/src/omni_models/semantic/crm.py index 77a18b28..75d412bc 100644 --- a/backend/models/src/semantic/crm.py +++ b/backend/models/src/omni_models/semantic/crm.py @@ -1,10 +1,10 @@ from pydantic import BaseModel, HttpUrl from typing import Optional, Dict -from models.base.semanticmodel import SemanticModel -from models.syntactic import Pipedrive, Person as PipedrivePerson +from omni_models.base.semanticmodel import SemanticModel +from omni_models.syntactic import Pipedrive, Person as PipedrivePerson -from decorators import c4_external_system +from omni_utils.decorators import c4_external_system class Person(BaseModel): diff --git a/backend/models/src/semantic/insights.py b/backend/models/src/omni_models/semantic/insights.py similarity index 88% rename from backend/models/src/semantic/insights.py rename to backend/models/src/omni_models/semantic/insights.py index 26cee96f..e70f0dd9 100644 --- a/backend/models/src/semantic/insights.py +++ b/backend/models/src/omni_models/semantic/insights.py @@ -3,10 +3,10 @@ from pydantic import BaseModel, HttpUrl -from models.base.semanticmodel import SemanticModel -from models.syntactic import Wordpress, User, Post +from omni_models.base.semanticmodel import SemanticModel +from omni_models.syntactic import Wordpress, User, Post -from decorators import c4_external_system +from omni_utils.decorators import c4_external_system class Insight(BaseModel): diff --git a/backend/models/src/semantic/ontology.py b/backend/models/src/omni_models/semantic/ontology.py similarity index 98% rename from backend/models/src/semantic/ontology.py rename to backend/models/src/omni_models/semantic/ontology.py index 4ab345ee..fa92a0c5 100644 --- a/backend/models/src/semantic/ontology.py +++ b/backend/models/src/omni_models/semantic/ontology.py @@ -8,10 +8,10 @@ import validators from pydantic import BaseModel, HttpUrl -from models.base.semanticmodel import SemanticModel -from models.syntactic import Wordpress, Post, User, EventDetail +from omni_models.base.semanticmodel import SemanticModel +from omni_models.syntactic import Wordpress, Post, User, EventDetail -from decorators import c4_external_system +from omni_utils.decorators import c4_external_system class Class(BaseModel): diff --git a/backend/models/src/semantic/salesfunnel.py b/backend/models/src/omni_models/semantic/salesfunnel.py similarity index 96% rename from backend/models/src/semantic/salesfunnel.py rename to backend/models/src/omni_models/semantic/salesfunnel.py index e77d3377..f12fc6e2 100644 --- a/backend/models/src/semantic/salesfunnel.py +++ b/backend/models/src/omni_models/semantic/salesfunnel.py @@ -3,13 +3,13 @@ from typing import List, Optional from datetime import date, datetime -from models.base.semanticmodel import SemanticModel -from models.semantic import Ontology -from models.syntactic import Pipedrive -from models.helpers.weeks import Weeks -import models.helpers.slug as slug +from omni_models.base.semanticmodel import SemanticModel +from omni_models.semantic import Ontology +from omni_models.syntactic import Pipedrive +from omni_utils.helpers.weeks import Weeks +import omni_utils.helpers.slug as slug -from decorators import c4_external_system +from omni_utils.decorators import c4_external_system from settings import api_settings diff --git a/backend/models/src/semantic/tasksmanager.py b/backend/models/src/omni_models/semantic/tasksmanager.py similarity index 93% rename from backend/models/src/semantic/tasksmanager.py rename to backend/models/src/omni_models/semantic/tasksmanager.py index e1d8089f..6e71b3b3 100644 --- a/backend/models/src/semantic/tasksmanager.py +++ b/backend/models/src/omni_models/semantic/tasksmanager.py @@ -1,11 +1,11 @@ from datetime import datetime -from models.base.semanticmodel import SemanticModel -from models.syntactic import Todoist -from models.base.powerdataframe import PowerDataFrame -from decorators import c4_external_system +from omni_models.base.semanticmodel import SemanticModel +from omni_models.syntactic import Todoist +from omni_models.base.powerdataframe import PowerDataFrame +from omni_utils.decorators import c4_external_system -import models.syntactic.todoist as t +import omni_models.syntactic.todoist as t from typing import List, Optional from pydantic import BaseModel diff --git a/backend/models/src/semantic/timetracker.py b/backend/models/src/omni_models/semantic/timetracker.py similarity index 94% rename from backend/models/src/semantic/timetracker.py rename to backend/models/src/omni_models/semantic/timetracker.py index 1dd69015..7329e98e 100644 --- a/backend/models/src/semantic/timetracker.py +++ b/backend/models/src/omni_models/semantic/timetracker.py @@ -2,16 +2,16 @@ import pandas as pd -from models.base.powerdataframe import SummarizablePowerDataFrame -from models.base.semanticmodel import SemanticModel -from models.helpers.weeks import Weeks -from models.semantic import Ontology +from omni_models.base.powerdataframe import SummarizablePowerDataFrame +from omni_models.base.semanticmodel import SemanticModel +from omni_utils.helpers.weeks import Weeks +from omni_models.semantic import Ontology from typing import Optional, Dict -from models.syntactic import Everhour, User, Client -import models.syntactic.everhour as e +from omni_models.syntactic import Everhour, User, Client +import omni_models.syntactic.everhour as e -from decorators import c4_external_system +from omni_utils.decorators import c4_external_system from settings import api_settings import pytz diff --git a/backend/models/src/syntactic/__init__.py b/backend/models/src/omni_models/syntactic/__init__.py similarity index 76% rename from backend/models/src/syntactic/__init__.py rename to backend/models/src/omni_models/syntactic/__init__.py index f5fdeda5..ab039ec7 100644 --- a/backend/models/src/syntactic/__init__.py +++ b/backend/models/src/omni_models/syntactic/__init__.py @@ -1,14 +1,14 @@ -from models.syntactic.everhour import ( +from omni_models.syntactic.everhour import ( Appointment, Client, Everhour, Project, User, ) -from models.syntactic.pipedrive import ( +from omni_models.syntactic.pipedrive import ( Activity, Client, Deal, Note, Organization, Person, Pipedrive, Stage, User, ) -from models.syntactic.todoist import (Collaborator, Folder, Project, Task, Todoist,) +from omni_models.syntactic.todoist import (Collaborator, Folder, Project, Task, Todoist,) -from models.syntactic.wordpress import ( +from omni_models.syntactic.wordpress import ( Acf, CommentStatus, Content, EventDetail, Excerpt, GUID, PingStatus, Post, PostStatus, PostType, Title, User, Wordpress, logger, diff --git a/backend/models/src/syntactic/everhour.py b/backend/models/src/omni_models/syntactic/everhour.py similarity index 98% rename from backend/models/src/syntactic/everhour.py rename to backend/models/src/omni_models/syntactic/everhour.py index 39990237..a16ba72c 100644 --- a/backend/models/src/syntactic/everhour.py +++ b/backend/models/src/omni_models/syntactic/everhour.py @@ -7,8 +7,8 @@ import pytz -from decorators import cache -import models.helpers.slug as slug +from omni_utils.decorators import cache +import omni_utils.helpers.slug as slug class User(BaseModel): diff --git a/backend/models/src/syntactic/pipedrive.py b/backend/models/src/omni_models/syntactic/pipedrive.py similarity index 99% rename from backend/models/src/syntactic/pipedrive.py rename to backend/models/src/omni_models/syntactic/pipedrive.py index be556960..a06d39e2 100644 --- a/backend/models/src/syntactic/pipedrive.py +++ b/backend/models/src/omni_models/syntactic/pipedrive.py @@ -1,6 +1,6 @@ from datetime import datetime, date from typing import Optional, List, Dict -from decorators import cache +from omni_utils.decorators import cache import requests from pydantic import BaseModel, validator, HttpUrl diff --git a/backend/models/src/syntactic/todoist.py b/backend/models/src/omni_models/syntactic/todoist.py similarity index 97% rename from backend/models/src/syntactic/todoist.py rename to backend/models/src/omni_models/syntactic/todoist.py index 2541fb48..b64eb5bb 100644 --- a/backend/models/src/syntactic/todoist.py +++ b/backend/models/src/omni_models/syntactic/todoist.py @@ -2,8 +2,8 @@ from pydantic import BaseModel from typing import List, Optional -from decorators import cache -import models.helpers.slug as slug +from omni_utils.decorators import cache +import omni_utils.helpers.slug as slug class Collaborator(BaseModel): diff --git a/backend/models/src/syntactic/wordpress.py b/backend/models/src/omni_models/syntactic/wordpress.py similarity index 99% rename from backend/models/src/syntactic/wordpress.py rename to backend/models/src/omni_models/syntactic/wordpress.py index 53c224bf..2bec7408 100644 --- a/backend/models/src/syntactic/wordpress.py +++ b/backend/models/src/omni_models/syntactic/wordpress.py @@ -7,8 +7,8 @@ from typing import Union, Dict, List, Any, Optional, Type, TypeVar from enum import Enum -from models.helpers.weeks import Weeks -from decorators import cache +from omni_utils.helpers.weeks import Weeks +from omni_utils.decorators import cache import logging From 1bc519259e4e68700ea749c080238372b4c23e63 Mon Sep 17 00:00:00 2001 From: Elemar Rodrigues Severo Junior Date: Sun, 8 Dec 2024 20:52:37 -0300 Subject: [PATCH 04/10] Refactor import paths and remove unused configurations - Removed the "playground/src" directory from the Pyright configuration to streamline type checking. - Updated import statements across multiple files to reflect the new structure under "omni_models" and "utils", enhancing code organization and maintainability. - Consolidated imports in various modules, ensuring consistency and clarity in the codebase. - Improved overall project structure by aligning imports with the new directory hierarchy. --- .../api/src/analytics/approved_vs_actual.py | 2 +- backend/api/src/analytics/forecast.py | 2 +- .../api/src/analytics/performance_analysis.py | 6 ++--- backend/api/src/analytics/revenue_tracking.py | 2 +- .../api/src/analytics/timeliness_review.py | 2 +- backend/api/src/analytics/week_review.py | 2 +- backend/api/src/app.py | 8 ++++--- backend/api/src/datasets/__init__.py | 1 + backend/api/src/datasets/datasets_set.py | 2 +- backend/api/src/datasets/insights.py | 2 +- backend/api/src/datasets/ontology.py | 2 +- backend/api/src/datasets/timesheets.py | 4 ++-- backend/api/src/domain/account_managers.py | 12 +++++----- backend/api/src/domain/cases.py | 6 ++--- backend/api/src/domain/clients.py | 6 ++--- .../api/src/domain/consultants_engineers.py | 12 +++++----- backend/api/src/domain/sponsors.py | 6 ++--- backend/api/src/domain/user.py | 2 +- backend/api/src/globals.py | 4 ++-- backend/api/src/queries.py | 8 +++---- .../models/src/omni_models/omnidatasets.py | 23 ++++++++++--------- backend/models/src/omni_models/omnimodels.py | 15 ++++++------ backend/pyrightconfig.json | 1 - 23 files changed, 66 insertions(+), 64 deletions(-) diff --git a/backend/api/src/analytics/approved_vs_actual.py b/backend/api/src/analytics/approved_vs_actual.py index f97a4afb..ccda5ef6 100644 --- a/backend/api/src/analytics/approved_vs_actual.py +++ b/backend/api/src/analytics/approved_vs_actual.py @@ -1,4 +1,4 @@ -from models.analytics import compute_approved_vs_actual +from omni_models.analytics import compute_approved_vs_actual def resolve_approved_vs_actual(_, info, start, end): return compute_approved_vs_actual(start, end) \ No newline at end of file diff --git a/backend/api/src/analytics/forecast.py b/backend/api/src/analytics/forecast.py index 191c6629..f1cc44c7 100644 --- a/backend/api/src/analytics/forecast.py +++ b/backend/api/src/analytics/forecast.py @@ -1,4 +1,4 @@ -from models.analytics.forecast import compute_forecast +from omni_models.analytics.forecast import compute_forecast def resolve_forecast(_, info, date_of_interest = None, filters = None): return compute_forecast(date_of_interest, filters) diff --git a/backend/api/src/analytics/performance_analysis.py b/backend/api/src/analytics/performance_analysis.py index 265811c9..f7e22852 100644 --- a/backend/api/src/analytics/performance_analysis.py +++ b/backend/api/src/analytics/performance_analysis.py @@ -1,9 +1,9 @@ from datetime import datetime -import models.analytics.performance_analysis -from models.analytics.performance_analysis import PerformanceAnalysis, TotalsPreContracted, TotalsRegular +import omni_models.analytics.performance_analysis +from omni_models.analytics.performance_analysis import PerformanceAnalysis, TotalsPreContracted, TotalsRegular def resolve_performance_analysis(_, info, date_of_interest: str | datetime): - return models.analytics.performance_analysis.compute_performance_analysis(date_of_interest) + return omni_models.analytics.performance_analysis.compute_performance_analysis(date_of_interest) def resolve_performance_analysis_pivoted(performance_analysis: PerformanceAnalysis, info): return { diff --git a/backend/api/src/analytics/revenue_tracking.py b/backend/api/src/analytics/revenue_tracking.py index 5485fcb3..119a8f84 100644 --- a/backend/api/src/analytics/revenue_tracking.py +++ b/backend/api/src/analytics/revenue_tracking.py @@ -1,5 +1,5 @@ from datetime import datetime, date -from models.analytics.revenue_tracking import compute_revenue_tracking +from omni_models.analytics.revenue_tracking import compute_revenue_tracking def resolve_revenue_tracking( root, info, diff --git a/backend/api/src/analytics/timeliness_review.py b/backend/api/src/analytics/timeliness_review.py index b23f4a6e..44c7c136 100644 --- a/backend/api/src/analytics/timeliness_review.py +++ b/backend/api/src/analytics/timeliness_review.py @@ -1,4 +1,4 @@ -from models.analytics import compute_timeliness_review +from omni_models.analytics import compute_timeliness_review def resolve_timeliness_review(_, info, date_of_interest, filters=None): return compute_timeliness_review(date_of_interest, filters) \ No newline at end of file diff --git a/backend/api/src/analytics/week_review.py b/backend/api/src/analytics/week_review.py index 9485f38b..9325d093 100644 --- a/backend/api/src/analytics/week_review.py +++ b/backend/api/src/analytics/week_review.py @@ -1,4 +1,4 @@ -from models.analytics import week_review +from omni_models.analytics import week_review def resolve_week_review(_, info, date_of_interest, filters=None): return week_review.compute_week_review(date_of_interest, filters) diff --git a/backend/api/src/app.py b/backend/api/src/app.py index df36df3d..2d7126ad 100644 --- a/backend/api/src/app.py +++ b/backend/api/src/app.py @@ -14,12 +14,14 @@ from settings import auth_settings from settings import graphql_settings -from api.queries import query_types, type_defs -from api.mutations import mutation + import logging import argparse import sys -from api.execution_stats import ExecutionStatsExtension + +from queries import query_types, type_defs +from mutations import mutation +from execution_stats import ExecutionStatsExtension import globals diff --git a/backend/api/src/datasets/__init__.py b/backend/api/src/datasets/__init__.py index 165171af..b7c496a8 100644 --- a/backend/api/src/datasets/__init__.py +++ b/backend/api/src/datasets/__init__.py @@ -5,6 +5,7 @@ from .datasets_set import resolve_this_week from .datasets import resolve_datasets from .ontology import resolve_ontology + def setup_query_for_datasets(query: QueryType): query.set_field("timesheet", resolve_timesheet) query.set_field("thisWeek", resolve_this_week) diff --git a/backend/api/src/datasets/datasets_set.py b/backend/api/src/datasets/datasets_set.py index a4127b69..abb981d2 100644 --- a/backend/api/src/datasets/datasets_set.py +++ b/backend/api/src/datasets/datasets_set.py @@ -1,6 +1,6 @@ from .timesheets import resolve_timesheet -from api.utils.fields import get_selections_from_info +from utils.fields import get_selections_from_info from typing import Any, Dict, List from graphql import GraphQLResolveInfo diff --git a/backend/api/src/datasets/insights.py b/backend/api/src/datasets/insights.py index cd47d741..d385998e 100644 --- a/backend/api/src/datasets/insights.py +++ b/backend/api/src/datasets/insights.py @@ -1,6 +1,6 @@ import pandas as pd from typing import Dict, Any, List -from api.utils.fields import get_requested_fields_from +from utils.fields import get_requested_fields_from import globals diff --git a/backend/api/src/datasets/ontology.py b/backend/api/src/datasets/ontology.py index 02f9c249..673592e0 100644 --- a/backend/api/src/datasets/ontology.py +++ b/backend/api/src/datasets/ontology.py @@ -1,6 +1,6 @@ import pandas as pd from typing import Dict, Any, List, Union -from api.utils.fields import get_requested_fields_from +from utils.fields import get_requested_fields_from import globals diff --git a/backend/api/src/datasets/timesheets.py b/backend/api/src/datasets/timesheets.py index a01d6fcb..9f22a901 100644 --- a/backend/api/src/datasets/timesheets.py +++ b/backend/api/src/datasets/timesheets.py @@ -6,8 +6,8 @@ from graphql import GraphQLResolveInfo -from api.utils.fields import build_fields_map, get_requested_fields_from, get_selections_from_info -from models.helpers.slug import slugify +from utils.fields import build_fields_map, get_requested_fields_from, get_selections_from_info +from omni_utils.helpers.slug import slugify import globals diff --git a/backend/api/src/domain/account_managers.py b/backend/api/src/domain/account_managers.py index 6042e606..9447f71a 100644 --- a/backend/api/src/domain/account_managers.py +++ b/backend/api/src/domain/account_managers.py @@ -1,11 +1,11 @@ -from api.datasets.timesheets import compute_timesheet -from api.domain.cases import compute_cases -from api.domain.active_deals import compute_active_deals +from datasets.timesheets import compute_timesheet -from api.utils.fields import build_fields_map +from domain.cases import compute_cases +from domain.active_deals import compute_active_deals +from utils.fields import build_fields_map -from models.analytics.forecast import compute_forecast -from models.domain import WorkerKind +from omni_models.analytics.forecast import compute_forecast +from omni_models.domain import WorkerKind import globals diff --git a/backend/api/src/domain/cases.py b/backend/api/src/domain/cases.py index cdb60725..06bb754d 100644 --- a/backend/api/src/domain/cases.py +++ b/backend/api/src/domain/cases.py @@ -1,6 +1,6 @@ -from api.utils.fields import build_fields_map -from api.datasets.timesheets import compute_timesheet -from models.analytics.forecast import compute_forecast +from utils.fields import build_fields_map +from datasets.timesheets import compute_timesheet +from omni_models.analytics.forecast import compute_forecast import globals diff --git a/backend/api/src/domain/clients.py b/backend/api/src/domain/clients.py index 8fd96719..099e1046 100644 --- a/backend/api/src/domain/clients.py +++ b/backend/api/src/domain/clients.py @@ -1,6 +1,6 @@ -from api.datasets.timesheets import compute_timesheet -from api.utils.fields import build_fields_map -from models.analytics.forecast import compute_forecast +from datasets.timesheets import compute_timesheet +from utils.fields import build_fields_map +from omni_models.analytics.forecast import compute_forecast import globals from ariadne import ObjectType diff --git a/backend/api/src/domain/consultants_engineers.py b/backend/api/src/domain/consultants_engineers.py index 04ea8fc0..f757fcd4 100644 --- a/backend/api/src/domain/consultants_engineers.py +++ b/backend/api/src/domain/consultants_engineers.py @@ -1,11 +1,11 @@ from datetime import datetime -from api.datasets.timesheets import compute_timesheet -from api.domain.cases import compute_cases -from api.utils.fields import build_fields_map -from models.analytics.timeliness_review import compute_timeliness_review -from models.domain import WorkerKind -import globals +from datasets.timesheets import compute_timesheet +from omni_models.domain.cases import compute_cases +from utils.fields import build_fields_map +from omni_models.analytics.timeliness_review import compute_timeliness_review +from omni_models.domain import WorkerKind +import globals def resolve_consultants_and_engineers(_, info): all_workers = sorted(globals.omni_models.workers.get_all().values(), key=lambda worker: worker.name) diff --git a/backend/api/src/domain/sponsors.py b/backend/api/src/domain/sponsors.py index ea80a029..bc56473a 100644 --- a/backend/api/src/domain/sponsors.py +++ b/backend/api/src/domain/sponsors.py @@ -1,7 +1,7 @@ -from api.datasets.timesheets import compute_timesheet -from models.analytics.forecast import compute_forecast +from datasets.timesheets import compute_timesheet +from omni_models.analytics.forecast import compute_forecast import globals -from api.utils.fields import build_fields_map, get_requested_fields_from +from utils.fields import build_fields_map, get_requested_fields_from def _add_client(original): result = dict(original) diff --git a/backend/api/src/domain/user.py b/backend/api/src/domain/user.py index 1b1ad98d..5737b171 100644 --- a/backend/api/src/domain/user.py +++ b/backend/api/src/domain/user.py @@ -1,4 +1,4 @@ -from models.domain import WorkerKind +from omni_models.domain import WorkerKind import globals diff --git a/backend/api/src/globals.py b/backend/api/src/globals.py index 03e4f7cd..32c9385d 100644 --- a/backend/api/src/globals.py +++ b/backend/api/src/globals.py @@ -1,5 +1,5 @@ -from models.omnimodels import OmniModels -from models.omnidatasets import OmniDatasets +from omni_models.omnimodels import OmniModels +from omni_models.omnidatasets import OmniDatasets from datetime import datetime omni_models: OmniModels = OmniModels() diff --git a/backend/api/src/queries.py b/backend/api/src/queries.py index af6c1e4e..0b373fe3 100644 --- a/backend/api/src/queries.py +++ b/backend/api/src/queries.py @@ -1,10 +1,10 @@ from ariadne import QueryType, gql from pathlib import Path -from api.domain import setup_query_for_domain -from api.datasets import setup_query_for_datasets -from api.analytics import setup_query_for_analytics -from api.inconsistencies import resolve_inconsistencies +from domain import setup_query_for_domain +from datasets import setup_query_for_datasets +from analytics import setup_query_for_analytics +from inconsistencies import resolve_inconsistencies def load_schema(): schema_files = [ diff --git a/backend/models/src/omni_models/omnidatasets.py b/backend/models/src/omni_models/omnidatasets.py index 5a2740f0..c257d6f6 100644 --- a/backend/models/src/omni_models/omnidatasets.py +++ b/backend/models/src/omni_models/omnidatasets.py @@ -2,17 +2,18 @@ from datetime import datetime, timedelta from calendar import monthrange import pandas as pd +from typing import Tuple -from models.base.powerdataframe import SummarizablePowerDataFrame -from models.datasets.insights_dataset import InsightsDataset -from models.datasets.omni_dataset import OmniDataset -from models.datasets.ontology_entries_dataset import OntologyEntriesDataset -from models.datasets.tasks_dataset import TasksDataset -from models.datasets.timesheet_dataset import TimesheetDataset -from models.helpers.weeks import Weeks -from models.omnimodels import OmniModels +from omni_models.base.powerdataframe import SummarizablePowerDataFrame +from omni_models.datasets.insights_dataset import InsightsDataset +from omni_models.datasets.omni_dataset import OmniDataset +from omni_models.datasets.ontology_entries_dataset import OntologyEntriesDataset +from omni_models.datasets.tasks_dataset import TasksDataset +from omni_models.datasets.timesheet_dataset import TimesheetDataset +from omni_models.omnimodels import OmniModels -import models.helpers.slug as sl +import omni_utils.helpers.slug as sl +from omni_utils.helpers.weeks import Weeks def get_time_part_from_slug(slug: str) -> str: @@ -21,7 +22,7 @@ def get_time_part_from_slug(slug: str) -> str: return slug.split('-', 1)[1] -def get_quarter_dates(quarter_slug: str) -> (datetime, datetime): +def get_quarter_dates(quarter_slug: str) -> Tuple[datetime, datetime]: q, year = quarter_slug.split('-') year = int(year) quarter = int(q[1]) @@ -40,7 +41,7 @@ def get_quarter_dates(quarter_slug: str) -> (datetime, datetime): return start_date, end_date -def get_semester_dates(semester_slug: str) -> (datetime, datetime): +def get_semester_dates(semester_slug: str) -> Tuple[datetime, datetime]: q, year = semester_slug.split('-') year = int(year) quarter = int(q[1]) diff --git a/backend/models/src/omni_models/omnimodels.py b/backend/models/src/omni_models/omnimodels.py index aa9ce481..c2f74691 100644 --- a/backend/models/src/omni_models/omnimodels.py +++ b/backend/models/src/omni_models/omnimodels.py @@ -1,6 +1,6 @@ -from models.domain.active_deals import ActiveDealsRepository -from models.semantic import Insights, Ontology, TimeTracker, TasksManager, SalesFunnelB2B, CRM -from models.domain import ( +from omni_models.domain.active_deals import ActiveDealsRepository +from omni_models.semantic import Insights, Ontology, TimeTracker, TasksManager, SalesFunnelB2B, CRM +from omni_models.domain import ( WorkersRepository, ClientsRepository, CasesRepository, @@ -8,14 +8,13 @@ SponsorsRepository, OffersRepository ) +from omni_models.base.powerdataframe import SummarizablePowerDataFrame -from models.helpers.weeks import Weeks +from omni_utils.helpers.weeks import Weeks +from omni_utils.decorators import cache -import pandas as pd -from models.base.powerdataframe import SummarizablePowerDataFrame - -from decorators import cache from datetime import datetime +import pandas as pd class OmniModels: diff --git a/backend/pyrightconfig.json b/backend/pyrightconfig.json index 273377b2..aaf1f9d7 100644 --- a/backend/pyrightconfig.json +++ b/backend/pyrightconfig.json @@ -1,7 +1,6 @@ { "include": [ "api/src", - "playground/src", "utils/src", "models/src" ], From 1f8a6ac12ddb688bd3881cd1813a43e988274299 Mon Sep 17 00:00:00 2001 From: Elemar Rodrigues Severo Junior Date: Sun, 8 Dec 2024 21:31:40 -0300 Subject: [PATCH 05/10] Enhance project structure and import organization - Updated `pyrightconfig.json` to include the new `shared/src` directory for improved type checking. - Added `omni-shared` as a dependency in `setup.py` for both `api` and `models` to facilitate shared functionality. - Refactored import statements across multiple files to utilize the new `omni_shared` module, enhancing code clarity and maintainability. - Introduced new `globals.py` and `settings.py` in the `shared` directory to centralize shared configurations and global variables. --- backend/api/setup.py | 1 + backend/api/src/app.py | 7 ++++--- backend/api/src/datasets/datasets.py | 2 +- backend/api/src/datasets/insights.py | 2 +- backend/api/src/datasets/ontology.py | 2 +- backend/api/src/datasets/timesheets.py | 2 +- backend/api/src/domain/active_deals.py | 2 +- backend/api/src/domain/cases.py | 2 +- backend/api/src/domain/clients.py | 2 +- backend/api/src/domain/consultants_engineers.py | 2 +- backend/api/src/domain/offers.py | 2 +- backend/api/src/domain/projects.py | 2 +- backend/api/src/domain/sponsors.py | 2 +- backend/api/src/domain/user.py | 2 +- backend/api/src/inconsistencies.py | 2 +- backend/api/src/mutations.py | 2 +- backend/models/setup.py | 1 + .../src/omni_models/analytics/approved_vs_actual.py | 2 +- .../src/omni_models/analytics/performance_analysis.py | 2 +- .../src/omni_models/analytics/revenue_tracking.py | 2 +- .../src/omni_models/analytics/timeliness_review.py | 2 +- .../models/src/omni_models/analytics/week_review.py | 2 +- backend/models/src/omni_models/semantic/crm.py | 2 ++ backend/models/src/omni_models/semantic/ontology.py | 2 +- backend/models/src/omni_models/semantic/salesfunnel.py | 2 +- .../models/src/omni_models/semantic/tasksmanager.py | 2 +- backend/models/src/omni_models/semantic/timetracker.py | 2 +- backend/pyrightconfig.json | 3 ++- backend/shared/setup.py | 10 ++++++++++ backend/{api/src => shared/src/omni_shared}/globals.py | 0 .../{api/src => shared/src/omni_shared}/settings.py | 0 31 files changed, 43 insertions(+), 27 deletions(-) create mode 100644 backend/shared/setup.py rename backend/{api/src => shared/src/omni_shared}/globals.py (100%) rename backend/{api/src => shared/src/omni_shared}/settings.py (100%) diff --git a/backend/api/setup.py b/backend/api/setup.py index b5c03dd5..3469b388 100644 --- a/backend/api/setup.py +++ b/backend/api/setup.py @@ -6,6 +6,7 @@ packages=find_namespace_packages(where="src"), package_dir={"": "src"}, install_requires=[ + "omni-shared", "omni-utils", "omni-models" ], diff --git a/backend/api/src/app.py b/backend/api/src/app.py index 2d7126ad..320accd8 100644 --- a/backend/api/src/app.py +++ b/backend/api/src/app.py @@ -11,8 +11,9 @@ from google.oauth2 import id_token from google.auth.transport import requests from functools import wraps -from settings import auth_settings -from settings import graphql_settings + +from omni_shared.settings import auth_settings +from omni_shared.settings import graphql_settings import logging @@ -23,7 +24,7 @@ from mutations import mutation from execution_stats import ExecutionStatsExtension -import globals +from omni_shared import globals def verify_token(token): diff --git a/backend/api/src/datasets/datasets.py b/backend/api/src/datasets/datasets.py index fab22f62..8487a6ad 100644 --- a/backend/api/src/datasets/datasets.py +++ b/backend/api/src/datasets/datasets.py @@ -1,4 +1,4 @@ -import globals +from omni_shared import globals def resolve_datasets(_, info, kind: str = None): diff --git a/backend/api/src/datasets/insights.py b/backend/api/src/datasets/insights.py index d385998e..43b4fafd 100644 --- a/backend/api/src/datasets/insights.py +++ b/backend/api/src/datasets/insights.py @@ -2,7 +2,7 @@ from typing import Dict, Any, List from utils.fields import get_requested_fields_from -import globals +from omni_shared import globals def summarize(df: pd.DataFrame) -> Dict[str, Any]: diff --git a/backend/api/src/datasets/ontology.py b/backend/api/src/datasets/ontology.py index 673592e0..430f3003 100644 --- a/backend/api/src/datasets/ontology.py +++ b/backend/api/src/datasets/ontology.py @@ -2,7 +2,7 @@ from typing import Dict, Any, List, Union from utils.fields import get_requested_fields_from -import globals +from omni_shared import globals def summarize(df: pd.DataFrame) -> Dict[str, Any]: diff --git a/backend/api/src/datasets/timesheets.py b/backend/api/src/datasets/timesheets.py index 9f22a901..15462e17 100644 --- a/backend/api/src/datasets/timesheets.py +++ b/backend/api/src/datasets/timesheets.py @@ -9,7 +9,7 @@ from utils.fields import build_fields_map, get_requested_fields_from, get_selections_from_info from omni_utils.helpers.slug import slugify -import globals +from omni_shared import globals def summarize(df: pd.DataFrame) -> Dict[str, Any]: diff --git a/backend/api/src/domain/active_deals.py b/backend/api/src/domain/active_deals.py index 12242457..fba0a7ee 100644 --- a/backend/api/src/domain/active_deals.py +++ b/backend/api/src/domain/active_deals.py @@ -1,4 +1,4 @@ -import globals +from omni_shared import globals def resolve_active_deals(_, info, account_manager_slug=None, account_manager_name=None): diff --git a/backend/api/src/domain/cases.py b/backend/api/src/domain/cases.py index 06bb754d..b8454996 100644 --- a/backend/api/src/domain/cases.py +++ b/backend/api/src/domain/cases.py @@ -1,7 +1,7 @@ from utils.fields import build_fields_map from datasets.timesheets import compute_timesheet from omni_models.analytics.forecast import compute_forecast -import globals +from omni_shared import globals def resolve_cases(_, info, only_actives: bool = False): diff --git a/backend/api/src/domain/clients.py b/backend/api/src/domain/clients.py index 099e1046..018b4c0c 100644 --- a/backend/api/src/domain/clients.py +++ b/backend/api/src/domain/clients.py @@ -1,7 +1,7 @@ from datasets.timesheets import compute_timesheet from utils.fields import build_fields_map from omni_models.analytics.forecast import compute_forecast -import globals +from omni_shared import globals from ariadne import ObjectType diff --git a/backend/api/src/domain/consultants_engineers.py b/backend/api/src/domain/consultants_engineers.py index f757fcd4..1fb93ab6 100644 --- a/backend/api/src/domain/consultants_engineers.py +++ b/backend/api/src/domain/consultants_engineers.py @@ -5,7 +5,7 @@ from omni_models.analytics.timeliness_review import compute_timeliness_review from omni_models.domain import WorkerKind -import globals +from omni_shared import globals def resolve_consultants_and_engineers(_, info): all_workers = sorted(globals.omni_models.workers.get_all().values(), key=lambda worker: worker.name) diff --git a/backend/api/src/domain/offers.py b/backend/api/src/domain/offers.py index 45af4c9d..7cd20f61 100644 --- a/backend/api/src/domain/offers.py +++ b/backend/api/src/domain/offers.py @@ -1,4 +1,4 @@ -import globals +from omni_shared import globals def resolve_offers(_, info): diff --git a/backend/api/src/domain/projects.py b/backend/api/src/domain/projects.py index 6acaa910..43a2e7f4 100644 --- a/backend/api/src/domain/projects.py +++ b/backend/api/src/domain/projects.py @@ -1,4 +1,4 @@ -import globals +from omni_shared import globals def resolve_projects(_, info): diff --git a/backend/api/src/domain/sponsors.py b/backend/api/src/domain/sponsors.py index bc56473a..52ebc44d 100644 --- a/backend/api/src/domain/sponsors.py +++ b/backend/api/src/domain/sponsors.py @@ -1,6 +1,6 @@ from datasets.timesheets import compute_timesheet from omni_models.analytics.forecast import compute_forecast -import globals +from omni_shared import globals from utils.fields import build_fields_map, get_requested_fields_from def _add_client(original): diff --git a/backend/api/src/domain/user.py b/backend/api/src/domain/user.py index 5737b171..da5ce2ad 100644 --- a/backend/api/src/domain/user.py +++ b/backend/api/src/domain/user.py @@ -1,5 +1,5 @@ from omni_models.domain import WorkerKind -import globals +from omni_shared import globals def resolve_user(_, info, email=None, slug=None): diff --git a/backend/api/src/inconsistencies.py b/backend/api/src/inconsistencies.py index a94b7e93..a27b02b7 100644 --- a/backend/api/src/inconsistencies.py +++ b/backend/api/src/inconsistencies.py @@ -1,5 +1,5 @@ from datetime import datetime -import globals +from omni_shared import globals class Inconsistency: diff --git a/backend/api/src/mutations.py b/backend/api/src/mutations.py index 5bfdee53..b71a169f 100644 --- a/backend/api/src/mutations.py +++ b/backend/api/src/mutations.py @@ -1,5 +1,5 @@ from ariadne import MutationType -import globals +from omni_shared import globals mutation = MutationType() diff --git a/backend/models/setup.py b/backend/models/setup.py index 86c196fc..20a4a505 100644 --- a/backend/models/setup.py +++ b/backend/models/setup.py @@ -6,6 +6,7 @@ packages=find_namespace_packages(where="src"), package_dir={"": "src"}, install_requires=[ + "omni-shared", "omni-utils" ], ) \ No newline at end of file diff --git a/backend/models/src/omni_models/analytics/approved_vs_actual.py b/backend/models/src/omni_models/analytics/approved_vs_actual.py index 48b5725f..360f82e1 100644 --- a/backend/models/src/omni_models/analytics/approved_vs_actual.py +++ b/backend/models/src/omni_models/analytics/approved_vs_actual.py @@ -2,7 +2,7 @@ import pandas as pd from datetime import datetime, date from omni_utils.helpers.weeks import Weeks -import globals +from omni_shared import globals from dataclasses import dataclass @dataclass diff --git a/backend/models/src/omni_models/analytics/performance_analysis.py b/backend/models/src/omni_models/analytics/performance_analysis.py index 481ebe10..57394ac8 100644 --- a/backend/models/src/omni_models/analytics/performance_analysis.py +++ b/backend/models/src/omni_models/analytics/performance_analysis.py @@ -6,7 +6,7 @@ from enum import Enum from omni_models.domain.cases import Case -import globals +from omni_shared import globals from omni_utils.helpers.weeks import Weeks diff --git a/backend/models/src/omni_models/analytics/revenue_tracking.py b/backend/models/src/omni_models/analytics/revenue_tracking.py index a41b5471..f466a36a 100644 --- a/backend/models/src/omni_models/analytics/revenue_tracking.py +++ b/backend/models/src/omni_models/analytics/revenue_tracking.py @@ -1,5 +1,5 @@ import calendar -import globals +from omni_shared import globals from datetime import date, datetime, timedelta from omni_utils.helpers.slug import slugify diff --git a/backend/models/src/omni_models/analytics/timeliness_review.py b/backend/models/src/omni_models/analytics/timeliness_review.py index ca67ad7e..903918ed 100644 --- a/backend/models/src/omni_models/analytics/timeliness_review.py +++ b/backend/models/src/omni_models/analytics/timeliness_review.py @@ -1,7 +1,7 @@ from datetime import datetime import pandas as pd from omni_utils.helpers.weeks import Weeks -import globals +from omni_shared import globals def compute_timeliness_review(date_of_interest, filters=None): if isinstance(date_of_interest, str): diff --git a/backend/models/src/omni_models/analytics/week_review.py b/backend/models/src/omni_models/analytics/week_review.py index 7f016fb7..efb2d018 100644 --- a/backend/models/src/omni_models/analytics/week_review.py +++ b/backend/models/src/omni_models/analytics/week_review.py @@ -2,7 +2,7 @@ from dateutil.relativedelta import relativedelta from omni_utils.helpers import beauty from omni_utils.helpers.weeks import Weeks -import globals +from omni_shared import globals import pandas as pd import numpy as np diff --git a/backend/models/src/omni_models/semantic/crm.py b/backend/models/src/omni_models/semantic/crm.py index 75d412bc..f24e3442 100644 --- a/backend/models/src/omni_models/semantic/crm.py +++ b/backend/models/src/omni_models/semantic/crm.py @@ -4,6 +4,8 @@ from omni_models.base.semanticmodel import SemanticModel from omni_models.syntactic import Pipedrive, Person as PipedrivePerson +from omni_shared.settings import api_settings + from omni_utils.decorators import c4_external_system diff --git a/backend/models/src/omni_models/semantic/ontology.py b/backend/models/src/omni_models/semantic/ontology.py index fa92a0c5..a59b56eb 100644 --- a/backend/models/src/omni_models/semantic/ontology.py +++ b/backend/models/src/omni_models/semantic/ontology.py @@ -1,6 +1,6 @@ import re -from settings import api_settings +from omni_shared.settings import api_settings from concurrent.futures import ThreadPoolExecutor, as_completed from datetime import datetime, date from typing import List, Optional, Dict diff --git a/backend/models/src/omni_models/semantic/salesfunnel.py b/backend/models/src/omni_models/semantic/salesfunnel.py index f12fc6e2..92c530c4 100644 --- a/backend/models/src/omni_models/semantic/salesfunnel.py +++ b/backend/models/src/omni_models/semantic/salesfunnel.py @@ -10,7 +10,7 @@ import omni_utils.helpers.slug as slug from omni_utils.decorators import c4_external_system -from settings import api_settings +from omni_shared.settings import api_settings class Stage(BaseModel): diff --git a/backend/models/src/omni_models/semantic/tasksmanager.py b/backend/models/src/omni_models/semantic/tasksmanager.py index 6e71b3b3..5cf5e548 100644 --- a/backend/models/src/omni_models/semantic/tasksmanager.py +++ b/backend/models/src/omni_models/semantic/tasksmanager.py @@ -9,7 +9,7 @@ from typing import List, Optional from pydantic import BaseModel -from settings import api_settings +from omni_shared.settings import api_settings class Task(BaseModel): diff --git a/backend/models/src/omni_models/semantic/timetracker.py b/backend/models/src/omni_models/semantic/timetracker.py index 7329e98e..c402086f 100644 --- a/backend/models/src/omni_models/semantic/timetracker.py +++ b/backend/models/src/omni_models/semantic/timetracker.py @@ -12,7 +12,7 @@ import omni_models.syntactic.everhour as e from omni_utils.decorators import c4_external_system -from settings import api_settings +from omni_shared.settings import api_settings import pytz diff --git a/backend/pyrightconfig.json b/backend/pyrightconfig.json index aaf1f9d7..0c466464 100644 --- a/backend/pyrightconfig.json +++ b/backend/pyrightconfig.json @@ -2,7 +2,8 @@ "include": [ "api/src", "utils/src", - "models/src" + "models/src", + "shared/src" ], "extraPaths": [ "." diff --git a/backend/shared/setup.py b/backend/shared/setup.py new file mode 100644 index 00000000..d26c0e44 --- /dev/null +++ b/backend/shared/setup.py @@ -0,0 +1,10 @@ +from setuptools import setup, find_namespace_packages + +setup( + name="omni-shared", + version="0.1", + packages=find_namespace_packages(where="src"), + package_dir={"": "src"}, + install_requires=[ + ], +) \ No newline at end of file diff --git a/backend/api/src/globals.py b/backend/shared/src/omni_shared/globals.py similarity index 100% rename from backend/api/src/globals.py rename to backend/shared/src/omni_shared/globals.py diff --git a/backend/api/src/settings.py b/backend/shared/src/omni_shared/settings.py similarity index 100% rename from backend/api/src/settings.py rename to backend/shared/src/omni_shared/settings.py From eb18762696556a0287c129f8397d79f77e2dc77a Mon Sep 17 00:00:00 2001 From: Elemar Rodrigues Severo Junior Date: Sun, 8 Dec 2024 21:48:17 -0300 Subject: [PATCH 06/10] Refactor import statements and enhance project structure - Updated import paths across multiple files to utilize the new `omni_shared` and `omni_utils` modules, improving code organization and clarity. - Replaced relative imports with absolute paths for better maintainability. - Consolidated imports from `omni_utils.decorators` to streamline decorator usage throughout the codebase. - Enhanced the `load_schema` function in `queries.py` to use a base directory path for schema file references, improving path management. --- backend/api/src/domain/account_managers.py | 2 +- backend/api/src/domain/consultants_engineers.py | 2 +- backend/api/src/queries.py | 13 ++++++++----- .../models/src/omni_models/analytics/forecast.py | 2 +- .../models/src/omni_models/base/powerdataframe.py | 2 +- .../src/omni_models/datasets/tasks_dataset.py | 2 +- .../src/omni_models/datasets/timesheet_dataset.py | 2 +- backend/models/src/omni_models/domain/offers.py | 4 ++-- backend/models/src/omni_models/omnimodels.py | 2 +- backend/models/src/omni_models/semantic/__init__.py | 12 ++++++------ backend/models/src/omni_models/semantic/crm.py | 2 +- backend/models/src/omni_models/semantic/insights.py | 2 +- backend/models/src/omni_models/semantic/ontology.py | 2 +- .../models/src/omni_models/semantic/salesfunnel.py | 2 +- .../models/src/omni_models/semantic/tasksmanager.py | 2 +- .../models/src/omni_models/semantic/timetracker.py | 2 +- .../models/src/omni_models/syntactic/everhour.py | 2 +- .../models/src/omni_models/syntactic/pipedrive.py | 2 +- backend/models/src/omni_models/syntactic/todoist.py | 2 +- .../models/src/omni_models/syntactic/wordpress.py | 2 +- 20 files changed, 33 insertions(+), 30 deletions(-) diff --git a/backend/api/src/domain/account_managers.py b/backend/api/src/domain/account_managers.py index 9447f71a..701f2b08 100644 --- a/backend/api/src/domain/account_managers.py +++ b/backend/api/src/domain/account_managers.py @@ -6,7 +6,7 @@ from omni_models.analytics.forecast import compute_forecast from omni_models.domain import WorkerKind -import globals +from omni_shared import globals def resolve_account_managers(_, info): diff --git a/backend/api/src/domain/consultants_engineers.py b/backend/api/src/domain/consultants_engineers.py index 1fb93ab6..e0ebc502 100644 --- a/backend/api/src/domain/consultants_engineers.py +++ b/backend/api/src/domain/consultants_engineers.py @@ -1,6 +1,6 @@ from datetime import datetime from datasets.timesheets import compute_timesheet -from omni_models.domain.cases import compute_cases +from domain.cases import compute_cases from utils.fields import build_fields_map from omni_models.analytics.timeliness_review import compute_timeliness_review from omni_models.domain import WorkerKind diff --git a/backend/api/src/queries.py b/backend/api/src/queries.py index 0b373fe3..45e683cd 100644 --- a/backend/api/src/queries.py +++ b/backend/api/src/queries.py @@ -6,13 +6,16 @@ from analytics import setup_query_for_analytics from inconsistencies import resolve_inconsistencies + +BASE_DIR = Path(__file__).parent + def load_schema(): schema_files = [ - "api/schema/common.graphql", - "api/domain/schema.graphql", - "api/datasets/schema.graphql", - "api/analytics/schema.graphql", - "api/schema.graphql", + BASE_DIR / "schema/common.graphql", + BASE_DIR / "domain/schema.graphql", + BASE_DIR / "datasets/schema.graphql", + BASE_DIR / "analytics/schema.graphql", + BASE_DIR / "schema.graphql", ] schemas = [] for file in schema_files: diff --git a/backend/models/src/omni_models/analytics/forecast.py b/backend/models/src/omni_models/analytics/forecast.py index 255368a4..8d16b120 100644 --- a/backend/models/src/omni_models/analytics/forecast.py +++ b/backend/models/src/omni_models/analytics/forecast.py @@ -1,7 +1,7 @@ from datetime import datetime import calendar -from models.analytics.revenue_tracking import compute_revenue_tracking +from omni_models.analytics.revenue_tracking import compute_revenue_tracking def get_same_day_one_month_ago(date_of_interest): d = date_of_interest.day diff --git a/backend/models/src/omni_models/base/powerdataframe.py b/backend/models/src/omni_models/base/powerdataframe.py index 55f5489e..a6982e30 100644 --- a/backend/models/src/omni_models/base/powerdataframe.py +++ b/backend/models/src/omni_models/base/powerdataframe.py @@ -1,7 +1,7 @@ import pandas as pd import numpy as np from datetime import datetime -from models.helpers.weeks import Weeks +from omni_utils.helpers.weeks import Weeks class PowerDataFrame: diff --git a/backend/models/src/omni_models/datasets/tasks_dataset.py b/backend/models/src/omni_models/datasets/tasks_dataset.py index 15205bdd..e011b479 100644 --- a/backend/models/src/omni_models/datasets/tasks_dataset.py +++ b/backend/models/src/omni_models/datasets/tasks_dataset.py @@ -3,7 +3,7 @@ import pandas as pd -from omni_utils.decorators import cache +from omni_utils.decorators.cache import cache from omni_models.base.powerdataframe import SummarizablePowerDataFrame from omni_models.datasets.omni_dataset import OmniDataset from omni_models.omnimodels import OmniModels diff --git a/backend/models/src/omni_models/datasets/timesheet_dataset.py b/backend/models/src/omni_models/datasets/timesheet_dataset.py index 5f421948..262ed82a 100644 --- a/backend/models/src/omni_models/datasets/timesheet_dataset.py +++ b/backend/models/src/omni_models/datasets/timesheet_dataset.py @@ -5,7 +5,7 @@ import pandas as pd import numpy as np -from omni_utils.decorators import cache +from omni_utils.decorators.cache import cache from omni_models.base.powerdataframe import SummarizablePowerDataFrame from omni_models.datasets.omni_dataset import OmniDataset from omni_utils.helpers.weeks import Weeks diff --git a/backend/models/src/omni_models/domain/offers.py b/backend/models/src/omni_models/domain/offers.py index cbef583c..9837a7b0 100644 --- a/backend/models/src/omni_models/domain/offers.py +++ b/backend/models/src/omni_models/domain/offers.py @@ -1,8 +1,8 @@ from typing import Optional, Dict from pydantic import BaseModel -import models.helpers.slug as slug -from models.semantic import Ontology +import omni_utils.helpers.slug as slug +from omni_models.semantic import Ontology class Offer(BaseModel): id: int diff --git a/backend/models/src/omni_models/omnimodels.py b/backend/models/src/omni_models/omnimodels.py index c2f74691..74e72e22 100644 --- a/backend/models/src/omni_models/omnimodels.py +++ b/backend/models/src/omni_models/omnimodels.py @@ -11,7 +11,7 @@ from omni_models.base.powerdataframe import SummarizablePowerDataFrame from omni_utils.helpers.weeks import Weeks -from omni_utils.decorators import cache +from omni_utils.decorators.cache import cache from datetime import datetime import pandas as pd diff --git a/backend/models/src/omni_models/semantic/__init__.py b/backend/models/src/omni_models/semantic/__init__.py index 762d11b6..bdefb48c 100644 --- a/backend/models/src/omni_models/semantic/__init__.py +++ b/backend/models/src/omni_models/semantic/__init__.py @@ -1,24 +1,24 @@ -from models.semantic.insights import ( +from omni_models.semantic.insights import ( Insight, Insights, ) -from models.semantic.ontology import ( +from omni_models.semantic.ontology import ( Case, Class, Client, Entry, Ontology, Worker, WorkerPost, ) -from models.semantic.salesfunnel import ( +from omni_models.semantic.salesfunnel import ( AccountManager, Activity, Deal, SalesFunnelB2B, Stage, ) -from models.semantic.tasksmanager import ( +from omni_models.semantic.tasksmanager import ( Project, ProjectsDataFrame, Task, TasksManager, ) -from models.semantic.timetracker import ( +from omni_models.semantic.timetracker import ( Appointment, AppointmentsDataFrame, Project, TimeTracker, ) -from models.semantic.crm import ( +from omni_models.semantic.crm import ( CRM, Person ) diff --git a/backend/models/src/omni_models/semantic/crm.py b/backend/models/src/omni_models/semantic/crm.py index f24e3442..0dab9124 100644 --- a/backend/models/src/omni_models/semantic/crm.py +++ b/backend/models/src/omni_models/semantic/crm.py @@ -6,7 +6,7 @@ from omni_shared.settings import api_settings -from omni_utils.decorators import c4_external_system +from omni_utils.decorators.c4 import c4_external_system class Person(BaseModel): diff --git a/backend/models/src/omni_models/semantic/insights.py b/backend/models/src/omni_models/semantic/insights.py index e70f0dd9..1de75c06 100644 --- a/backend/models/src/omni_models/semantic/insights.py +++ b/backend/models/src/omni_models/semantic/insights.py @@ -6,7 +6,7 @@ from omni_models.base.semanticmodel import SemanticModel from omni_models.syntactic import Wordpress, User, Post -from omni_utils.decorators import c4_external_system +from omni_utils.decorators.c4 import c4_external_system class Insight(BaseModel): diff --git a/backend/models/src/omni_models/semantic/ontology.py b/backend/models/src/omni_models/semantic/ontology.py index a59b56eb..18831d50 100644 --- a/backend/models/src/omni_models/semantic/ontology.py +++ b/backend/models/src/omni_models/semantic/ontology.py @@ -11,7 +11,7 @@ from omni_models.base.semanticmodel import SemanticModel from omni_models.syntactic import Wordpress, Post, User, EventDetail -from omni_utils.decorators import c4_external_system +from omni_utils.decorators.c4 import c4_external_system class Class(BaseModel): diff --git a/backend/models/src/omni_models/semantic/salesfunnel.py b/backend/models/src/omni_models/semantic/salesfunnel.py index 92c530c4..8aacedb0 100644 --- a/backend/models/src/omni_models/semantic/salesfunnel.py +++ b/backend/models/src/omni_models/semantic/salesfunnel.py @@ -9,7 +9,7 @@ from omni_utils.helpers.weeks import Weeks import omni_utils.helpers.slug as slug -from omni_utils.decorators import c4_external_system +from omni_utils.decorators.c4 import c4_external_system from omni_shared.settings import api_settings diff --git a/backend/models/src/omni_models/semantic/tasksmanager.py b/backend/models/src/omni_models/semantic/tasksmanager.py index 5cf5e548..eb441ceb 100644 --- a/backend/models/src/omni_models/semantic/tasksmanager.py +++ b/backend/models/src/omni_models/semantic/tasksmanager.py @@ -3,7 +3,7 @@ from omni_models.base.semanticmodel import SemanticModel from omni_models.syntactic import Todoist from omni_models.base.powerdataframe import PowerDataFrame -from omni_utils.decorators import c4_external_system +from omni_utils.decorators.c4 import c4_external_system import omni_models.syntactic.todoist as t diff --git a/backend/models/src/omni_models/semantic/timetracker.py b/backend/models/src/omni_models/semantic/timetracker.py index c402086f..40d8f3ca 100644 --- a/backend/models/src/omni_models/semantic/timetracker.py +++ b/backend/models/src/omni_models/semantic/timetracker.py @@ -11,7 +11,7 @@ from omni_models.syntactic import Everhour, User, Client import omni_models.syntactic.everhour as e -from omni_utils.decorators import c4_external_system +from omni_utils.decorators.c4 import c4_external_system from omni_shared.settings import api_settings import pytz diff --git a/backend/models/src/omni_models/syntactic/everhour.py b/backend/models/src/omni_models/syntactic/everhour.py index a16ba72c..650c56df 100644 --- a/backend/models/src/omni_models/syntactic/everhour.py +++ b/backend/models/src/omni_models/syntactic/everhour.py @@ -7,7 +7,7 @@ import pytz -from omni_utils.decorators import cache +from omni_utils.decorators.cache import cache import omni_utils.helpers.slug as slug diff --git a/backend/models/src/omni_models/syntactic/pipedrive.py b/backend/models/src/omni_models/syntactic/pipedrive.py index a06d39e2..dfa68b90 100644 --- a/backend/models/src/omni_models/syntactic/pipedrive.py +++ b/backend/models/src/omni_models/syntactic/pipedrive.py @@ -1,6 +1,6 @@ from datetime import datetime, date from typing import Optional, List, Dict -from omni_utils.decorators import cache +from omni_utils.decorators.cache import cache import requests from pydantic import BaseModel, validator, HttpUrl diff --git a/backend/models/src/omni_models/syntactic/todoist.py b/backend/models/src/omni_models/syntactic/todoist.py index b64eb5bb..622433cd 100644 --- a/backend/models/src/omni_models/syntactic/todoist.py +++ b/backend/models/src/omni_models/syntactic/todoist.py @@ -2,7 +2,7 @@ from pydantic import BaseModel from typing import List, Optional -from omni_utils.decorators import cache +from omni_utils.decorators.cache import cache import omni_utils.helpers.slug as slug diff --git a/backend/models/src/omni_models/syntactic/wordpress.py b/backend/models/src/omni_models/syntactic/wordpress.py index 2bec7408..ec5f6759 100644 --- a/backend/models/src/omni_models/syntactic/wordpress.py +++ b/backend/models/src/omni_models/syntactic/wordpress.py @@ -8,7 +8,7 @@ from enum import Enum from omni_utils.helpers.weeks import Weeks -from omni_utils.decorators import cache +from omni_utils.decorators.cache import cache import logging From c950d8e30b77e7589e1268a19378d8fbc7befd7f Mon Sep 17 00:00:00 2001 From: Elemar Rodrigues Severo Junior Date: Sun, 8 Dec 2024 22:02:06 -0300 Subject: [PATCH 07/10] Up and Running --- backend/api/src/datasets/timesheets.py | 2 +- backend/api/src/domain/sponsors.py | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/backend/api/src/datasets/timesheets.py b/backend/api/src/datasets/timesheets.py index 15462e17..83251ea1 100644 --- a/backend/api/src/datasets/timesheets.py +++ b/backend/api/src/datasets/timesheets.py @@ -152,7 +152,7 @@ def summarize_by_group(df: pd.DataFrame, group_column: str, name_key: str = "nam summary['by_week'] = summarize_by_week(group_df, map['byWeek']) if map and 'byWeek' in map else None if group_column == 'CaseTitle' and 'caseDetails' in map: - from api.domain.cases import build_case_dictionary + from domain.cases import build_case_dictionary details_obj = globals.omni_models.cases.get_by_title(group_value) if details_obj: diff --git a/backend/api/src/domain/sponsors.py b/backend/api/src/domain/sponsors.py index 52ebc44d..bd28de11 100644 --- a/backend/api/src/domain/sponsors.py +++ b/backend/api/src/domain/sponsors.py @@ -49,11 +49,13 @@ def resolve_sponsor_timesheet(sponsor, info, slug, filters=None): def resolve_sponsor_forecast(sponsor, info, date_of_interest=None, filters=None): if filters is None: filters = [] + + sponsor_name = sponsor["name"] if isinstance(sponsor, dict) else sponsor.name sponsor_filters = [ { 'field': 'Sponsor', - 'selected_values': [sponsor["name"]] + 'selected_values': [sponsor_name] } ] + filters From 889cf6f34ca63f8c8ead829d10f1149ee1a948ff Mon Sep 17 00:00:00 2001 From: Elemar Rodrigues Severo Junior Date: Sun, 8 Dec 2024 22:16:13 -0300 Subject: [PATCH 08/10] Refactor Dockerfile for improved structure and dependencies - Updated base image from Python 3.12 to 3.11 for compatibility. - Changed working directory from /code to /app for better organization. - Consolidated requirements files and installation commands for backend components. - Enhanced the Dockerfile to include environment variables for Flask application. - Streamlined the copy commands to reflect the new directory structure, improving clarity and maintainability. --- backend/Dockerfile | 41 ++++++++++++++++++++++++++++++----------- 1 file changed, 30 insertions(+), 11 deletions(-) diff --git a/backend/Dockerfile b/backend/Dockerfile index dbc5b6c1..05f45583 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -1,20 +1,39 @@ -FROM python:3.12-slim +FROM python:3.11-slim -WORKDIR /code +WORKDIR /app -COPY ./requirements.txt /code/requirements.txt +RUN apt-get update && apt-get install -y \ + gcc \ + python3-dev \ + && rm -rf /var/lib/apt/lists/* -RUN pip install --no-cache-dir --upgrade -r ./requirements.txt +COPY backend/api/requirements.txt ./api/ +COPY backend/shared/requirements.txt ./shared/ +COPY backend/utils/requirements.txt ./utils/ +COPY backend/models/requirements.txt ./models/ -COPY . . -COPY ./src/api/schema.graphql ./api/schema.graphql -COPY ./src/api/schema/common.graphql ./api/schema/common.graphql -COPY ./src/api/domain/schema.graphql ./api/domain/schema.graphql -COPY ./src/api/datasets/schema.graphql ./api/datasets/schema.graphql -COPY ./src/api/analytics/schema.graphql ./api/analytics/schema.graphql +COPY backend/api ./api +COPY backend/shared ./shared +COPY backend/utils ./utils +COPY backend/models ./models + +RUN pip install --no-cache-dir -r api/requirements.txt \ + && pip install --no-cache-dir -r shared/requirements.txt \ + && pip install --no-cache-dir -r utils/requirements.txt \ + && pip install --no-cache-dir -r models/requirements.txt + +RUN pip install -e ./shared \ + && pip install -e ./utils \ + && pip install -e ./models \ + && pip install -e ./api + +ENV PYTHONPATH=/app +ENV FLASK_APP=/app/api/src/app.py EXPOSE 5001 -CMD ["python", "src/app.py"] +WORKDIR /app/api/src + +CMD ["python", "app.py"] RUN mkdir /.cache && chmod 777 /.cache From 7d4faee210352416d220854b9d423fc12aec5493 Mon Sep 17 00:00:00 2001 From: Elemar Rodrigues Severo Junior Date: Sun, 8 Dec 2024 22:16:38 -0300 Subject: [PATCH 09/10] Refactor project structure and enhance import organization - Updated import statements across multiple files to align with the new directory structure, improving code clarity and maintainability. - Consolidated imports from various modules to streamline usage and ensure consistency throughout the codebase. - Enhanced type checking configuration in `pyrightconfig.json` to reflect recent changes in project organization. - Removed unused configurations and files to clean up the project structure and improve overall organization. --- backend/api/requirements.txt | 20 ++++++++++++++++++++ backend/models/requirements.txt | 20 ++++++++++++++++++++ backend/shared/requirements.txt | 20 ++++++++++++++++++++ backend/utils/requirements.txt | 20 ++++++++++++++++++++ 4 files changed, 80 insertions(+) create mode 100644 backend/api/requirements.txt create mode 100644 backend/models/requirements.txt create mode 100644 backend/shared/requirements.txt create mode 100644 backend/utils/requirements.txt diff --git a/backend/api/requirements.txt b/backend/api/requirements.txt new file mode 100644 index 00000000..a58b67ec --- /dev/null +++ b/backend/api/requirements.txt @@ -0,0 +1,20 @@ +requests +Flask +Flask-CORS +flask_httpauth +ariadne +elasticsearch + +google-auth +pytest +pytest-cov +pytest-mock +pytest-parametrize + +pydantic +pytz +bokeh +python-dotenv +validators +pandas +jwt diff --git a/backend/models/requirements.txt b/backend/models/requirements.txt new file mode 100644 index 00000000..a58b67ec --- /dev/null +++ b/backend/models/requirements.txt @@ -0,0 +1,20 @@ +requests +Flask +Flask-CORS +flask_httpauth +ariadne +elasticsearch + +google-auth +pytest +pytest-cov +pytest-mock +pytest-parametrize + +pydantic +pytz +bokeh +python-dotenv +validators +pandas +jwt diff --git a/backend/shared/requirements.txt b/backend/shared/requirements.txt new file mode 100644 index 00000000..a58b67ec --- /dev/null +++ b/backend/shared/requirements.txt @@ -0,0 +1,20 @@ +requests +Flask +Flask-CORS +flask_httpauth +ariadne +elasticsearch + +google-auth +pytest +pytest-cov +pytest-mock +pytest-parametrize + +pydantic +pytz +bokeh +python-dotenv +validators +pandas +jwt diff --git a/backend/utils/requirements.txt b/backend/utils/requirements.txt new file mode 100644 index 00000000..a58b67ec --- /dev/null +++ b/backend/utils/requirements.txt @@ -0,0 +1,20 @@ +requests +Flask +Flask-CORS +flask_httpauth +ariadne +elasticsearch + +google-auth +pytest +pytest-cov +pytest-mock +pytest-parametrize + +pydantic +pytz +bokeh +python-dotenv +validators +pandas +jwt From 8d21821d5f02a1314eedea990136079923bcf0a6 Mon Sep 17 00:00:00 2001 From: Elemar Rodrigues Severo Junior Date: Sun, 8 Dec 2024 22:24:34 -0300 Subject: [PATCH 10/10] Refactor Dockerfile to align with updated project structure - Updated COPY commands in the Dockerfile to reflect the new directory structure, improving clarity and maintainability. - Ensured that requirements files are copied from the correct paths, enhancing the build process for the backend. --- backend/Dockerfile | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/backend/Dockerfile b/backend/Dockerfile index 05f45583..68e90e5f 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -7,15 +7,15 @@ RUN apt-get update && apt-get install -y \ python3-dev \ && rm -rf /var/lib/apt/lists/* -COPY backend/api/requirements.txt ./api/ -COPY backend/shared/requirements.txt ./shared/ -COPY backend/utils/requirements.txt ./utils/ -COPY backend/models/requirements.txt ./models/ - -COPY backend/api ./api -COPY backend/shared ./shared -COPY backend/utils ./utils -COPY backend/models ./models +COPY api/requirements.txt ./api/ +COPY shared/requirements.txt ./shared/ +COPY utils/requirements.txt ./utils/ +COPY models/requirements.txt ./models/ + +COPY api ./api +COPY shared ./shared +COPY utils ./utils +COPY models ./models RUN pip install --no-cache-dir -r api/requirements.txt \ && pip install --no-cache-dir -r shared/requirements.txt \