diff --git a/backend/api/cms/schema.py b/backend/api/cms/schema.py deleted file mode 100644 index 702f40bc7d..0000000000 --- a/backend/api/cms/schema.py +++ /dev/null @@ -1,11 +0,0 @@ -from api.cms.page.queries.page_preview import page_preview -from strawberry.tools import create_type - -from api.cms.page.queries.cms_page import cms_page -from api.cms.page.queries.cms_pages import cms_pages -from api.cms.news.queries.news_articles import news_articles -from api.cms.news.queries.news_article import news_article - -CMSQuery = create_type( - "CMSQuery", fields=[cms_page, cms_pages, news_articles, news_article, page_preview] -) diff --git a/backend/api/orders/query.py b/backend/api/orders/query.py index 5aab8742e7..37827fa2e1 100644 --- a/backend/api/orders/query.py +++ b/backend/api/orders/query.py @@ -3,8 +3,8 @@ from api.context import Info import strawberry from api.permissions import IsAuthenticated -from api.pretix.query import get_order -from api.pretix.types import PretixOrder +from pretix.api.query import get_order +from pretix.api.types import PretixOrder from conferences.models import Conference diff --git a/backend/api/schema.py b/backend/api/schema.py index bd396cc711..76ce059e5a 100644 --- a/backend/api/schema.py +++ b/backend/api/schema.py @@ -1,33 +1,33 @@ import strawberry from strawberry_django.optimizer import DjangoOptimizerExtension -from api.participants.mutations import ParticipantMutations -from .users.mutations import UsersMutations -from .files_upload.schema import FilesUploadMutation -from .checklist.query import ChecklistQuery -from .conferences.schema import ConferenceQuery -from .countries.schema import CountryQuery -from .grants.mutations import GrantMutation -from .job_board.schema import JobBoardQuery -from .newsletters.schema import NewsletterMutations +from participants.api.mutations import ParticipantMutations +from users.api.mutations import UsersMutations +from files_upload.api.schema import FilesUploadMutation +from checklist.api.query import ChecklistQuery +from conferences.api.schema import ConferenceQuery +from countries.api.schema import CountryQuery +from grants.api.mutations import GrantMutation +from job_board.api.schema import JobBoardQuery +from newsletters.api.schema import NewsletterMutations from .orders.mutations import OrdersMutations from .orders.query import OrdersQuery -from .pages.schema import PagesQuery -from .pretix.mutations import AttendeeTicketMutation -from .schedule.schema import ScheduleQuery, ScheduleMutations -from .submissions.mutations import SubmissionsMutations -from .submissions.schema import SubmissionsQuery -from .volunteers_notifications.mutations import VolunteersNotificationsMutation -from .volunteers_notifications.query import VolunteersNotificationsQuery -from .voting.mutations import VotesMutations -from .badge_scanner.schema import BadgeScannerQuery, BadgeScannerMutation -from .participants.queries import ParticipantQueries -from .users.queries import UserQuery -from .association_membership.mutation import AssociationMembershipMutation -from .cms.schema import CMSQuery -from .sponsors.schema import SponsorsMutation -from .visa.query import VisaQuery -from .visa.mutation import VisaMutation +from pages.api.schema import PagesQuery +from pretix.api.mutations import AttendeeTicketMutation +from schedule.api.schema import ScheduleQuery, ScheduleMutations +from submissions.api.mutations import SubmissionsMutations +from submissions.api.schema import SubmissionsQuery +from volunteers_notifications.api.mutations import VolunteersNotificationsMutation +from volunteers_notifications.api.query import VolunteersNotificationsQuery +from voting.api.mutations import VotesMutations +from badge_scanner.api.schema import BadgeScannerQuery, BadgeScannerMutation +from participants.api.queries import ParticipantQueries +from users.api.queries import UserQuery +from association_membership.api.mutation import AssociationMembershipMutation +from cms.api.schema import CMSQuery +from sponsors.api.schema import SponsorsMutation +from visa.api.query import VisaQuery +from visa.api.mutation import VisaMutation @strawberry.type diff --git a/backend/api/tests/association_membership/mutations/test_manage_user_association_subscription.py b/backend/api/tests/association_membership/mutations/test_manage_user_association_subscription.py index 5763bec26f..af81d18b02 100644 --- a/backend/api/tests/association_membership/mutations/test_manage_user_association_subscription.py +++ b/backend/api/tests/association_membership/mutations/test_manage_user_association_subscription.py @@ -28,7 +28,7 @@ def test_manage_user_subscription(graphql_client): }""" with patch( - "api.association_membership.mutations.manage_user_subscription.stripe.billing_portal.Session.create", + "association_membership.api.mutations.manage_user_subscription.stripe.billing_portal.Session.create", ) as mock_create: mock_create.return_value.url = ( "https://stripe.com/stripe_test_customer_portal/cus_test_12345" diff --git a/backend/api/tests/association_membership/mutations/test_subscribe_user_to_association.py b/backend/api/tests/association_membership/mutations/test_subscribe_user_to_association.py index cdda940c2e..37a0618802 100644 --- a/backend/api/tests/association_membership/mutations/test_subscribe_user_to_association.py +++ b/backend/api/tests/association_membership/mutations/test_subscribe_user_to_association.py @@ -26,9 +26,9 @@ def test_subscribe_user_to_association( }""" with patch( - "api.association_membership.mutations.subscribe_user_to_association.stripe.checkout.Session.create", + "association_membership.api.mutations.subscribe_user_to_association.stripe.checkout.Session.create", ) as mock_create_session, patch( - "api.association_membership.mutations.subscribe_user_to_association.stripe.Customer.create" + "association_membership.api.mutations.subscribe_user_to_association.stripe.Customer.create" ) as mock_customers_create: mock_customers_create.return_value.id = "cus_created" mock_create_session.return_value.id = "cs_xxx" @@ -59,7 +59,7 @@ def test_subscribe_user_to_association_with_existing_canceled_subscription( }""" with patch( - "api.association_membership.mutations.subscribe_user_to_association.stripe.checkout.Session.create", + "association_membership.api.mutations.subscribe_user_to_association.stripe.checkout.Session.create", ) as mock_create: mock_create.return_value.id = "cs_xxx" response = graphql_client.query(query, variables={}) diff --git a/backend/api/tests/schema/badge_scanner/test_scan_badge.py b/backend/api/tests/schema/badge_scanner/test_scan_badge.py index a07ef7a60c..eaa2d67694 100644 --- a/backend/api/tests/schema/badge_scanner/test_scan_badge.py +++ b/backend/api/tests/schema/badge_scanner/test_scan_badge.py @@ -56,7 +56,7 @@ def test_works_when_user_is_logged_in(user, graphql_client, mocker): graphql_client.force_login(user) get_order_position_mock = mocker.patch( - "api.badge_scanner.mutation.pretix.get_order_position", + "badge_scanner.api.mutation.pretix.get_order_position", return_value={ "attendee_name": "Test User", "attendee_email": "barko@marco.pizza", @@ -100,7 +100,7 @@ def test_works_when_user_is_logged_in_but_no_user_on_service( graphql_client.force_login(user) get_order_position_mock = mocker.patch( - "api.badge_scanner.mutation.pretix.get_order_position", + "badge_scanner.api.mutation.pretix.get_order_position", return_value={ "attendee_name": "Test User", "attendee_email": "barko@marco.pizza", diff --git a/backend/api/tests/schema/conference/test_conference.py b/backend/api/tests/schema/conference/test_conference.py index b4db1fa746..1521a3769a 100644 --- a/backend/api/tests/schema/conference/test_conference.py +++ b/backend/api/tests/schema/conference/test_conference.py @@ -17,7 +17,7 @@ from pytest import mark import zoneinfo -from api.conferences.types import DeadlineStatus +from conferences.api.types import DeadlineStatus pytestmark = mark.django_db diff --git a/backend/api/tests/schema/conference/test_tickets.py b/backend/api/tests/schema/conference/test_tickets.py index 2d89e9d7dd..546fbf4545 100644 --- a/backend/api/tests/schema/conference/test_tickets.py +++ b/backend/api/tests/schema/conference/test_tickets.py @@ -1,12 +1,12 @@ from conferences.tests.factories import ConferenceFactory from pytest import mark -from api.pretix.types import TicketItem +from pretix.api.types import TicketItem @mark.django_db def test_returns_tickets(graphql_client, mocker): - get_tickets_mock = mocker.patch("api.conferences.types.get_conference_tickets") + get_tickets_mock = mocker.patch("conferences.api.types.get_conference_tickets") get_tickets_mock.return_value = [ TicketItem( name="Example Ticket", @@ -47,7 +47,7 @@ def test_returns_tickets(graphql_client, mocker): @mark.django_db def test_is_business(graphql_client, mocker): - get_tickets_mock = mocker.patch("api.conferences.types.get_conference_tickets") + get_tickets_mock = mocker.patch("conferences.api.types.get_conference_tickets") get_tickets_mock.return_value = [ TicketItem( name="Business Ticket", diff --git a/backend/api/tests/schema/test_get_order.py b/backend/api/tests/schema/test_get_order.py index c678ca6f7e..3ef07274c0 100644 --- a/backend/api/tests/schema/test_get_order.py +++ b/backend/api/tests/schema/test_get_order.py @@ -6,7 +6,7 @@ def test_calls_get_order(graphql_client, user, mocker): graphql_client.force_login(user) - get_order_mock = mocker.patch("api.pretix.query.pretix.get_order") + get_order_mock = mocker.patch("pretix.api.query.pretix.get_order") get_order_mock.return_value = { "code": "abc", "status": "p", @@ -35,7 +35,7 @@ def test_calls_returns_none(graphql_client, user, mocker): graphql_client.force_login(user) - get_order_mock = mocker.patch("api.pretix.query.pretix.get_order") + get_order_mock = mocker.patch("pretix.api.query.pretix.get_order") get_order_mock.return_value = None response = graphql_client.query( @@ -58,7 +58,7 @@ def test_calls_returns_none_when_email_is_different(graphql_client, user, mocker graphql_client.force_login(user) - get_order_mock = mocker.patch("api.pretix.query.pretix.get_order") + get_order_mock = mocker.patch("pretix.api.query.pretix.get_order") get_order_mock.return_value = { "code": "abc", "status": "p", diff --git a/backend/api/tests/schema/test_newsletter.py b/backend/api/tests/schema/test_newsletter.py index 856a2fe705..3bcde092b7 100644 --- a/backend/api/tests/schema/test_newsletter.py +++ b/backend/api/tests/schema/test_newsletter.py @@ -29,7 +29,7 @@ def test_subscribe_to_newsletter(graphql_client): """ with patch( - "api.newsletters.mutations.subscribe_to_newsletter.subscribe" + "newsletters.api.mutations.subscribe_to_newsletter.subscribe" ) as mock_subscription: mock_subscription.return_value = SubscriptionResult.SUBSCRIBED @@ -71,7 +71,7 @@ def test_subscribe_to_newsletter_fails_on_api_side(graphql_client, exception): """ with patch( - "api.newsletters.mutations.subscribe_to_newsletter.subscribe" + "newsletters.api.mutations.subscribe_to_newsletter.subscribe" ) as mock_subscription: mock_subscription.side_effect = exception @@ -104,7 +104,7 @@ def test_subscribe_to_newsletter_with_invalid_email_fails(graphql_client, email) """ with patch( - "api.newsletters.mutations.subscribe_to_newsletter.subscribe" + "newsletters.api.mutations.subscribe_to_newsletter.subscribe" ) as mock_subscription: mock_subscription.return_value = SubscriptionResult.SUBSCRIBED @@ -142,7 +142,7 @@ def test_subscribe_to_newsletter_with_invalid_conference_code( """ with patch( - "api.newsletters.mutations.subscribe_to_newsletter.subscribe" + "newsletters.api.mutations.subscribe_to_newsletter.subscribe" ) as mock_subscription: mock_subscription.return_value = SubscriptionResult.SUBSCRIBED resp = graphql_client.query(query, variables={"input": variables}) diff --git a/backend/api/users/mutations/__init__.py b/backend/api/users/mutations/__init__.py deleted file mode 100644 index 1a7ee4e6d1..0000000000 --- a/backend/api/users/mutations/__init__.py +++ /dev/null @@ -1,13 +0,0 @@ -from strawberry.tools import create_type - -from api.users.mutations.login import login -from api.users.mutations.register import register -from api.users.mutations.update_profile import update_profile -from api.users.mutations.request_reset_password import request_reset_password -from api.users.mutations.logout import logout -from api.users.mutations.reset_password import reset_password - -UsersMutations = create_type( - "UsersMutations", - [login, register, update_profile, reset_password, request_reset_password, logout], -) diff --git a/backend/api/association_membership/__init__.py b/backend/association_membership/api/__init__.py similarity index 100% rename from backend/api/association_membership/__init__.py rename to backend/association_membership/api/__init__.py diff --git a/backend/api/association_membership/mutation.py b/backend/association_membership/api/mutation.py similarity index 69% rename from backend/api/association_membership/mutation.py rename to backend/association_membership/api/mutation.py index 94f560e429..4222197c51 100644 --- a/backend/api/association_membership/mutation.py +++ b/backend/association_membership/api/mutation.py @@ -1,9 +1,9 @@ from strawberry.tools import create_type -from api.association_membership.mutations.manage_user_subscription import ( +from association_membership.api.mutations.manage_user_subscription import ( manage_user_subscription, ) -from api.association_membership.mutations.subscribe_user_to_association import ( +from association_membership.api.mutations.subscribe_user_to_association import ( subscribe_user_to_association, ) diff --git a/backend/api/association_membership/mutations/__init__.py b/backend/association_membership/api/mutations/__init__.py similarity index 100% rename from backend/api/association_membership/mutations/__init__.py rename to backend/association_membership/api/mutations/__init__.py diff --git a/backend/api/association_membership/mutations/manage_user_subscription.py b/backend/association_membership/api/mutations/manage_user_subscription.py similarity index 100% rename from backend/api/association_membership/mutations/manage_user_subscription.py rename to backend/association_membership/api/mutations/manage_user_subscription.py diff --git a/backend/api/association_membership/mutations/subscribe_user_to_association.py b/backend/association_membership/api/mutations/subscribe_user_to_association.py similarity index 100% rename from backend/api/association_membership/mutations/subscribe_user_to_association.py rename to backend/association_membership/api/mutations/subscribe_user_to_association.py diff --git a/backend/api/badge_scanner/__init__.py b/backend/badge_scanner/api/__init__.py similarity index 100% rename from backend/api/badge_scanner/__init__.py rename to backend/badge_scanner/api/__init__.py diff --git a/backend/api/badge_scanner/mutation.py b/backend/badge_scanner/api/mutation.py similarity index 100% rename from backend/api/badge_scanner/mutation.py rename to backend/badge_scanner/api/mutation.py diff --git a/backend/api/badge_scanner/query.py b/backend/badge_scanner/api/query.py similarity index 100% rename from backend/api/badge_scanner/query.py rename to backend/badge_scanner/api/query.py diff --git a/backend/api/badge_scanner/schema.py b/backend/badge_scanner/api/schema.py similarity index 100% rename from backend/api/badge_scanner/schema.py rename to backend/badge_scanner/api/schema.py diff --git a/backend/api/badge_scanner/types.py b/backend/badge_scanner/api/types.py similarity index 100% rename from backend/api/badge_scanner/types.py rename to backend/badge_scanner/api/types.py diff --git a/backend/api/billing/__init__.py b/backend/billing/api/__init__.py similarity index 100% rename from backend/api/billing/__init__.py rename to backend/billing/api/__init__.py diff --git a/backend/api/billing/types.py b/backend/billing/api/types.py similarity index 100% rename from backend/api/billing/types.py rename to backend/billing/api/types.py diff --git a/backend/api/checklist/__init__.py b/backend/checklist/api/__init__.py similarity index 100% rename from backend/api/checklist/__init__.py rename to backend/checklist/api/__init__.py diff --git a/backend/api/checklist/query.py b/backend/checklist/api/query.py similarity index 100% rename from backend/api/checklist/query.py rename to backend/checklist/api/query.py diff --git a/backend/api/checklist/tests/test_query.py b/backend/checklist/api/tests/test_query.py similarity index 100% rename from backend/api/checklist/tests/test_query.py rename to backend/checklist/api/tests/test_query.py diff --git a/backend/api/cms/__init__.py b/backend/cms/api/__init__.py similarity index 100% rename from backend/api/cms/__init__.py rename to backend/cms/api/__init__.py diff --git a/backend/api/cms/base/__init__.py b/backend/cms/api/base/__init__.py similarity index 100% rename from backend/api/cms/base/__init__.py rename to backend/cms/api/base/__init__.py diff --git a/backend/api/cms/base/blocks/__init__.py b/backend/cms/api/base/blocks/__init__.py similarity index 100% rename from backend/api/cms/base/blocks/__init__.py rename to backend/cms/api/base/blocks/__init__.py diff --git a/backend/api/cms/base/blocks/accordion.py b/backend/cms/api/base/blocks/accordion.py similarity index 100% rename from backend/api/cms/base/blocks/accordion.py rename to backend/cms/api/base/blocks/accordion.py diff --git a/backend/api/cms/base/blocks/cta.py b/backend/cms/api/base/blocks/cta.py similarity index 100% rename from backend/api/cms/base/blocks/cta.py rename to backend/cms/api/base/blocks/cta.py diff --git a/backend/api/cms/base/blocks/map.py b/backend/cms/api/base/blocks/map.py similarity index 96% rename from backend/api/cms/base/blocks/map.py rename to backend/cms/api/base/blocks/map.py index a020a8b256..6d65f1a351 100644 --- a/backend/api/cms/base/blocks/map.py +++ b/backend/cms/api/base/blocks/map.py @@ -1,6 +1,6 @@ from decimal import Decimal from typing import Self -from api.cms.page.registry import register_page_block +from cms.api.page.registry import register_page_block from api.context import Info from django.conf import settings import strawberry diff --git a/backend/api/cms/base/types.py b/backend/cms/api/base/types.py similarity index 100% rename from backend/api/cms/base/types.py rename to backend/cms/api/base/types.py diff --git a/backend/api/cms/home/__init__.py b/backend/cms/api/home/__init__.py similarity index 100% rename from backend/api/cms/home/__init__.py rename to backend/cms/api/home/__init__.py diff --git a/backend/api/cms/home/blocks/__init__.py b/backend/cms/api/home/blocks/__init__.py similarity index 100% rename from backend/api/cms/home/blocks/__init__.py rename to backend/cms/api/home/blocks/__init__.py diff --git a/backend/api/cms/home/blocks/home_intro_section.py b/backend/cms/api/home/blocks/home_intro_section.py similarity index 86% rename from backend/api/cms/home/blocks/home_intro_section.py rename to backend/cms/api/home/blocks/home_intro_section.py index da44a60731..b7e4cbfd03 100644 --- a/backend/api/cms/home/blocks/home_intro_section.py +++ b/backend/cms/api/home/blocks/home_intro_section.py @@ -1,5 +1,5 @@ from typing import Self -from api.cms.page.registry import register_page_block +from cms.api.page.registry import register_page_block import strawberry diff --git a/backend/api/cms/news/__init__.py b/backend/cms/api/news/__init__.py similarity index 100% rename from backend/api/cms/news/__init__.py rename to backend/cms/api/news/__init__.py diff --git a/backend/api/cms/news/blocks/__init__.py b/backend/cms/api/news/blocks/__init__.py similarity index 100% rename from backend/api/cms/news/blocks/__init__.py rename to backend/cms/api/news/blocks/__init__.py diff --git a/backend/api/cms/news/blocks/news_grid_section.py b/backend/cms/api/news/blocks/news_grid_section.py similarity index 80% rename from backend/api/cms/news/blocks/news_grid_section.py rename to backend/cms/api/news/blocks/news_grid_section.py index 471762041a..e3e10749d6 100644 --- a/backend/api/cms/news/blocks/news_grid_section.py +++ b/backend/cms/api/news/blocks/news_grid_section.py @@ -1,5 +1,5 @@ from typing import Self -from api.cms.page.registry import register_page_block +from cms.api.page.registry import register_page_block import strawberry diff --git a/backend/api/cms/news/queries/__init__.py b/backend/cms/api/news/queries/__init__.py similarity index 100% rename from backend/api/cms/news/queries/__init__.py rename to backend/cms/api/news/queries/__init__.py diff --git a/backend/api/cms/news/queries/news_article.py b/backend/cms/api/news/queries/news_article.py similarity index 86% rename from backend/api/cms/news/queries/news_article.py rename to backend/cms/api/news/queries/news_article.py index 48a1fcd376..111a262bc0 100644 --- a/backend/api/cms/news/queries/news_article.py +++ b/backend/cms/api/news/queries/news_article.py @@ -1,7 +1,7 @@ import strawberry_django -from api.cms.news.types import NewsArticle -from api.cms.utils import get_site_by_host +from cms.api.news.types import NewsArticle +from cms.api.utils import get_site_by_host from cms.components.news import models diff --git a/backend/api/cms/news/queries/news_articles.py b/backend/cms/api/news/queries/news_articles.py similarity index 84% rename from backend/api/cms/news/queries/news_articles.py rename to backend/cms/api/news/queries/news_articles.py index 961a3cf2d3..c0c5028d1e 100644 --- a/backend/api/cms/news/queries/news_articles.py +++ b/backend/cms/api/news/queries/news_articles.py @@ -1,7 +1,7 @@ import strawberry_django -from api.cms.news.types import NewsArticle -from api.cms.utils import get_site_by_host +from cms.api.news.types import NewsArticle +from cms.api.utils import get_site_by_host from cms.components.news import models diff --git a/backend/api/cms/news/types.py b/backend/cms/api/news/types.py similarity index 100% rename from backend/api/cms/news/types.py rename to backend/cms/api/news/types.py diff --git a/backend/api/cms/page/__init__.py b/backend/cms/api/page/__init__.py similarity index 100% rename from backend/api/cms/page/__init__.py rename to backend/cms/api/page/__init__.py diff --git a/backend/api/cms/page/blocks/__init__.py b/backend/cms/api/page/blocks/__init__.py similarity index 100% rename from backend/api/cms/page/blocks/__init__.py rename to backend/cms/api/page/blocks/__init__.py diff --git a/backend/api/cms/page/blocks/checkout_section.py b/backend/cms/api/page/blocks/checkout_section.py similarity index 96% rename from backend/api/cms/page/blocks/checkout_section.py rename to backend/cms/api/page/blocks/checkout_section.py index db89d5ee6c..b6a88d84d4 100644 --- a/backend/api/cms/page/blocks/checkout_section.py +++ b/backend/cms/api/page/blocks/checkout_section.py @@ -1,6 +1,6 @@ from enum import Enum from typing import Self -from api.cms.page.registry import register_page_block +from cms.api.page.registry import register_page_block import strawberry diff --git a/backend/api/cms/page/blocks/communities_section.py b/backend/cms/api/page/blocks/communities_section.py similarity index 97% rename from backend/api/cms/page/blocks/communities_section.py rename to backend/cms/api/page/blocks/communities_section.py index 0ed5791e15..b2535b8c65 100644 --- a/backend/api/cms/page/blocks/communities_section.py +++ b/backend/cms/api/page/blocks/communities_section.py @@ -1,6 +1,6 @@ from typing import Self import strawberry -from api.cms.page.registry import register_page_block +from cms.api.page.registry import register_page_block @strawberry.type diff --git a/backend/api/cms/page/blocks/dynamic_content_display_section.py b/backend/cms/api/page/blocks/dynamic_content_display_section.py similarity index 91% rename from backend/api/cms/page/blocks/dynamic_content_display_section.py rename to backend/cms/api/page/blocks/dynamic_content_display_section.py index 072803a2a9..4ec6948969 100644 --- a/backend/api/cms/page/blocks/dynamic_content_display_section.py +++ b/backend/cms/api/page/blocks/dynamic_content_display_section.py @@ -1,6 +1,6 @@ from typing import Self import strawberry -from api.cms.page.registry import register_page_block +from cms.api.page.registry import register_page_block import enum diff --git a/backend/api/cms/page/blocks/homepage_hero.py b/backend/cms/api/page/blocks/homepage_hero.py similarity index 90% rename from backend/api/cms/page/blocks/homepage_hero.py rename to backend/cms/api/page/blocks/homepage_hero.py index 037136475a..f98c7b59bc 100644 --- a/backend/api/cms/page/blocks/homepage_hero.py +++ b/backend/cms/api/page/blocks/homepage_hero.py @@ -1,6 +1,6 @@ from enum import Enum from typing import Self -from api.cms.page.registry import register_page_block +from cms.api.page.registry import register_page_block import strawberry diff --git a/backend/api/cms/page/blocks/information_section.py b/backend/cms/api/page/blocks/information_section.py similarity index 90% rename from backend/api/cms/page/blocks/information_section.py rename to backend/cms/api/page/blocks/information_section.py index 959f9642f9..0e26871ec5 100644 --- a/backend/api/cms/page/blocks/information_section.py +++ b/backend/cms/api/page/blocks/information_section.py @@ -1,9 +1,9 @@ import datetime from typing import Self -from api.cms.page.registry import register_page_block +from cms.api.page.registry import register_page_block import strawberry -from api.cms.base.blocks.cta import CTA +from cms.api.base.blocks.cta import CTA @register_page_block() diff --git a/backend/api/cms/page/blocks/keynoters_section.py b/backend/cms/api/page/blocks/keynoters_section.py similarity index 81% rename from backend/api/cms/page/blocks/keynoters_section.py rename to backend/cms/api/page/blocks/keynoters_section.py index 88c85f8e13..a62ecd45d9 100644 --- a/backend/api/cms/page/blocks/keynoters_section.py +++ b/backend/cms/api/page/blocks/keynoters_section.py @@ -1,8 +1,8 @@ from typing import Self -from api.cms.page.registry import register_page_block +from cms.api.page.registry import register_page_block import strawberry -from api.cms.base.blocks.cta import CTA +from cms.api.base.blocks.cta import CTA @register_page_block diff --git a/backend/api/cms/page/blocks/live_streaming_section.py b/backend/cms/api/page/blocks/live_streaming_section.py similarity index 81% rename from backend/api/cms/page/blocks/live_streaming_section.py rename to backend/cms/api/page/blocks/live_streaming_section.py index d6a6f01854..d76ff83e52 100644 --- a/backend/api/cms/page/blocks/live_streaming_section.py +++ b/backend/cms/api/page/blocks/live_streaming_section.py @@ -1,5 +1,5 @@ from typing import Self -from api.cms.page.registry import register_page_block +from cms.api.page.registry import register_page_block import strawberry diff --git a/backend/api/cms/page/blocks/schedule_preview_section.py b/backend/cms/api/page/blocks/schedule_preview_section.py similarity index 87% rename from backend/api/cms/page/blocks/schedule_preview_section.py rename to backend/cms/api/page/blocks/schedule_preview_section.py index 6fa89b6e77..a2494d2544 100644 --- a/backend/api/cms/page/blocks/schedule_preview_section.py +++ b/backend/cms/api/page/blocks/schedule_preview_section.py @@ -1,8 +1,8 @@ from typing import Self -from api.cms.page.registry import register_page_block +from cms.api.page.registry import register_page_block import strawberry -from api.cms.base.blocks.cta import CTA +from cms.api.base.blocks.cta import CTA @register_page_block diff --git a/backend/api/cms/page/blocks/slider_cards_section.py b/backend/cms/api/page/blocks/slider_cards_section.py similarity index 92% rename from backend/api/cms/page/blocks/slider_cards_section.py rename to backend/cms/api/page/blocks/slider_cards_section.py index 2291b71371..7f499ce187 100644 --- a/backend/api/cms/page/blocks/slider_cards_section.py +++ b/backend/cms/api/page/blocks/slider_cards_section.py @@ -1,9 +1,9 @@ from typing import Annotated, Self -from api.cms.page.registry import register_page_block +from cms.api.page.registry import register_page_block import strawberry -from api.cms.base.blocks.cta import CTA -from api.cms.base.types import Spacing +from cms.api.base.blocks.cta import CTA +from cms.api.base.types import Spacing @strawberry.type diff --git a/backend/api/cms/page/blocks/socials_section.py b/backend/cms/api/page/blocks/socials_section.py similarity index 86% rename from backend/api/cms/page/blocks/socials_section.py rename to backend/cms/api/page/blocks/socials_section.py index b7f0d93692..ce22e1c12e 100644 --- a/backend/api/cms/page/blocks/socials_section.py +++ b/backend/cms/api/page/blocks/socials_section.py @@ -1,5 +1,5 @@ from typing import Self -from api.cms.page.registry import register_page_block +from cms.api.page.registry import register_page_block import strawberry diff --git a/backend/api/cms/page/blocks/special_guest_section.py b/backend/cms/api/page/blocks/special_guest_section.py similarity index 90% rename from backend/api/cms/page/blocks/special_guest_section.py rename to backend/cms/api/page/blocks/special_guest_section.py index 44e9cf7189..9f2d797e3c 100644 --- a/backend/api/cms/page/blocks/special_guest_section.py +++ b/backend/cms/api/page/blocks/special_guest_section.py @@ -1,9 +1,9 @@ import datetime from typing import Any -from api.cms.page.registry import register_page_block +from cms.api.page.registry import register_page_block import strawberry -from api.cms.base.blocks.cta import CTA +from cms.api.base.blocks.cta import CTA @register_page_block diff --git a/backend/api/cms/page/blocks/sponsors_section.py b/backend/cms/api/page/blocks/sponsors_section.py similarity index 87% rename from backend/api/cms/page/blocks/sponsors_section.py rename to backend/cms/api/page/blocks/sponsors_section.py index d9831b040c..b5c362ee9a 100644 --- a/backend/api/cms/page/blocks/sponsors_section.py +++ b/backend/cms/api/page/blocks/sponsors_section.py @@ -1,9 +1,9 @@ import enum from typing import Self import strawberry -from api.cms.page.registry import register_page_block +from cms.api.page.registry import register_page_block -from api.cms.base.blocks.cta import CTA +from cms.api.base.blocks.cta import CTA @strawberry.enum diff --git a/backend/api/cms/page/blocks/text_section.py b/backend/cms/api/page/blocks/text_section.py similarity index 88% rename from backend/api/cms/page/blocks/text_section.py rename to backend/cms/api/page/blocks/text_section.py index ba92d82438..451692cc14 100644 --- a/backend/api/cms/page/blocks/text_section.py +++ b/backend/cms/api/page/blocks/text_section.py @@ -1,10 +1,10 @@ from enum import Enum from typing import Self -from api.cms.page.registry import register_page_block +from cms.api.page.registry import register_page_block import strawberry -from api.cms.base.blocks.accordion import Accordion -from api.cms.base.blocks.cta import CTA +from cms.api.base.blocks.accordion import Accordion +from cms.api.base.blocks.cta import CTA @strawberry.enum diff --git a/backend/api/cms/page/queries/__init__.py b/backend/cms/api/page/queries/__init__.py similarity index 100% rename from backend/api/cms/page/queries/__init__.py rename to backend/cms/api/page/queries/__init__.py diff --git a/backend/api/cms/page/queries/cms_page.py b/backend/cms/api/page/queries/cms_page.py similarity index 93% rename from backend/api/cms/page/queries/cms_page.py rename to backend/cms/api/page/queries/cms_page.py index 373faf8b04..8941386223 100644 --- a/backend/api/cms/page/queries/cms_page.py +++ b/backend/cms/api/page/queries/cms_page.py @@ -1,11 +1,11 @@ from pretix import user_has_admission_ticket -from api.cms.utils import get_site_by_host +from cms.api.utils import get_site_by_host from api.context import Context from cms.components.page.models import GenericPage as GenericPageModel import strawberry -from api.cms.page.types import GenericPage, SiteNotFoundError +from cms.api.page.types import GenericPage, SiteNotFoundError @strawberry.field diff --git a/backend/api/cms/page/queries/cms_pages.py b/backend/cms/api/page/queries/cms_pages.py similarity index 84% rename from backend/api/cms/page/queries/cms_pages.py rename to backend/cms/api/page/queries/cms_pages.py index 1aed1f84a2..7e8dab38a7 100644 --- a/backend/api/cms/page/queries/cms_pages.py +++ b/backend/cms/api/page/queries/cms_pages.py @@ -1,8 +1,8 @@ -from api.cms.utils import get_site_by_host +from cms.api.utils import get_site_by_host import strawberry from cms.components.page.models import GenericPage as GenericPageModel -from api.cms.page.types import GenericPage +from cms.api.page.types import GenericPage @strawberry.field diff --git a/backend/api/cms/page/queries/page_preview.py b/backend/cms/api/page/queries/page_preview.py similarity index 93% rename from backend/api/cms/page/queries/page_preview.py rename to backend/cms/api/page/queries/page_preview.py index accc21d387..e251399196 100644 --- a/backend/api/cms/page/queries/page_preview.py +++ b/backend/cms/api/page/queries/page_preview.py @@ -2,8 +2,8 @@ from django.contrib.contenttypes.models import ContentType from wagtail_headless_preview.models import PagePreview -from api.cms.news.types import NewsArticle -from api.cms.page.types import GenericPage +from cms.api.news.types import NewsArticle +from cms.api.page.types import GenericPage from cms.components.news import models as news_models from cms.components.page import models as page_models diff --git a/backend/api/cms/page/registry.py b/backend/cms/api/page/registry.py similarity index 100% rename from backend/api/cms/page/registry.py rename to backend/cms/api/page/registry.py diff --git a/backend/api/cms/page/types.py b/backend/cms/api/page/types.py similarity index 95% rename from backend/api/cms/page/types.py rename to backend/cms/api/page/types.py index ffa591f1db..79b1477d58 100644 --- a/backend/api/cms/page/types.py +++ b/backend/cms/api/page/types.py @@ -1,5 +1,5 @@ from typing import Self -from api.cms.page.registry import get_block, get_block_union +from cms.api.page.registry import get_block, get_block_union from cms.components.page.models import GenericPage as GenericPageModel import strawberry diff --git a/backend/cms/api/schema.py b/backend/cms/api/schema.py new file mode 100644 index 0000000000..0839b98158 --- /dev/null +++ b/backend/cms/api/schema.py @@ -0,0 +1,11 @@ +from cms.api.page.queries.page_preview import page_preview +from strawberry.tools import create_type + +from cms.api.page.queries.cms_page import cms_page +from cms.api.page.queries.cms_pages import cms_pages +from cms.api.news.queries.news_articles import news_articles +from cms.api.news.queries.news_article import news_article + +CMSQuery = create_type( + "CMSQuery", fields=[cms_page, cms_pages, news_articles, news_article, page_preview] +) diff --git a/backend/api/cms/tests/__init__.py b/backend/cms/api/tests/__init__.py similarity index 100% rename from backend/api/cms/tests/__init__.py rename to backend/cms/api/tests/__init__.py diff --git a/backend/api/cms/tests/factories.py b/backend/cms/api/tests/factories.py similarity index 100% rename from backend/api/cms/tests/factories.py rename to backend/cms/api/tests/factories.py diff --git a/backend/api/cms/tests/news/__init__.py b/backend/cms/api/tests/news/__init__.py similarity index 100% rename from backend/api/cms/tests/news/__init__.py rename to backend/cms/api/tests/news/__init__.py diff --git a/backend/api/cms/tests/news/test_frontend_queries.py b/backend/cms/api/tests/news/test_frontend_queries.py similarity index 97% rename from backend/api/cms/tests/news/test_frontend_queries.py rename to backend/cms/api/tests/news/test_frontend_queries.py index cb90c6285f..e9fd9f785a 100644 --- a/backend/api/cms/tests/news/test_frontend_queries.py +++ b/backend/cms/api/tests/news/test_frontend_queries.py @@ -3,7 +3,7 @@ import pytest from wagtail.rich_text import RichText -from api.cms.tests.factories import GenericPageFactory, SiteFactory +from cms.api.tests.factories import GenericPageFactory, SiteFactory from cms.components.news.tests.factories import NewsArticleFactory from users.tests.factories import UserFactory diff --git a/backend/api/cms/tests/news/test_queries.py b/backend/cms/api/tests/news/test_queries.py similarity index 99% rename from backend/api/cms/tests/news/test_queries.py rename to backend/cms/api/tests/news/test_queries.py index 120b743cbe..85a088250d 100644 --- a/backend/api/cms/tests/news/test_queries.py +++ b/backend/cms/api/tests/news/test_queries.py @@ -1,6 +1,6 @@ import datetime import pytest -from api.cms.tests.factories import GenericPageFactory, SiteFactory +from cms.api.tests.factories import GenericPageFactory, SiteFactory from cms.components.news.tests.factories import NewsArticleFactory from users.tests.factories import UserFactory diff --git a/backend/api/cms/tests/page/__init__.py b/backend/cms/api/tests/page/__init__.py similarity index 100% rename from backend/api/cms/tests/page/__init__.py rename to backend/cms/api/tests/page/__init__.py diff --git a/backend/api/cms/tests/page/queries/__init__.py b/backend/cms/api/tests/page/queries/__init__.py similarity index 100% rename from backend/api/cms/tests/page/queries/__init__.py rename to backend/cms/api/tests/page/queries/__init__.py diff --git a/backend/api/cms/tests/page/queries/test_cms_page.py b/backend/cms/api/tests/page/queries/test_cms_page.py similarity index 99% rename from backend/api/cms/tests/page/queries/test_cms_page.py rename to backend/cms/api/tests/page/queries/test_cms_page.py index 437e9db83e..1db1d20a70 100644 --- a/backend/api/cms/tests/page/queries/test_cms_page.py +++ b/backend/cms/api/tests/page/queries/test_cms_page.py @@ -1,7 +1,7 @@ from decimal import Decimal from conferences.tests.factories import ConferenceFactory import pytest -from api.cms.tests.factories import GenericPageFactory, SiteFactory +from cms.api.tests.factories import GenericPageFactory, SiteFactory from wagtail.models import PageViewRestriction pytestmark = pytest.mark.django_db diff --git a/backend/api/cms/tests/page/queries/test_cms_pages.py b/backend/cms/api/tests/page/queries/test_cms_pages.py similarity index 97% rename from backend/api/cms/tests/page/queries/test_cms_pages.py rename to backend/cms/api/tests/page/queries/test_cms_pages.py index d7c3d5076b..a488dc2cbe 100644 --- a/backend/api/cms/tests/page/queries/test_cms_pages.py +++ b/backend/cms/api/tests/page/queries/test_cms_pages.py @@ -1,6 +1,6 @@ from wagtail.models import PageViewRestriction import pytest -from api.cms.tests.factories import GenericPageFactory, SiteFactory +from cms.api.tests.factories import GenericPageFactory, SiteFactory pytestmark = pytest.mark.django_db diff --git a/backend/api/cms/tests/page/queries/test_page_preview.py b/backend/cms/api/tests/page/queries/test_page_preview.py similarity index 98% rename from backend/api/cms/tests/page/queries/test_page_preview.py rename to backend/cms/api/tests/page/queries/test_page_preview.py index 89121f2dbc..ea10cc1703 100644 --- a/backend/api/cms/tests/page/queries/test_page_preview.py +++ b/backend/cms/api/tests/page/queries/test_page_preview.py @@ -4,7 +4,7 @@ from django.contrib.contenttypes.models import ContentType import pytest -from api.cms.tests.factories import GenericPageFactory, SiteFactory +from cms.api.tests.factories import GenericPageFactory, SiteFactory pytestmark = pytest.mark.django_db diff --git a/backend/api/cms/tests/test_registry.py b/backend/cms/api/tests/test_registry.py similarity index 83% rename from backend/api/cms/tests/test_registry.py rename to backend/cms/api/tests/test_registry.py index b21d5104e5..ccb0889a58 100644 --- a/backend/api/cms/tests/test_registry.py +++ b/backend/cms/api/tests/test_registry.py @@ -2,7 +2,7 @@ import strawberry -from api.cms.page.registry import REGISTRY, get_block_union +from cms.api.page.registry import REGISTRY, get_block_union def test_get_block_union_imports_blocks_in_sorted_order(): @@ -32,6 +32,6 @@ class SecondBlock: get_block_union() assert import_module.call_args_list == [ - call("api.cms.page.blocks.first"), - call("api.cms.page.blocks.second"), + call("cms.api.page.blocks.first"), + call("cms.api.page.blocks.second"), ] diff --git a/backend/api/cms/tests/test_utils.py b/backend/cms/api/tests/test_utils.py similarity index 95% rename from backend/api/cms/tests/test_utils.py rename to backend/cms/api/tests/test_utils.py index e183118dc2..a4682c16c7 100644 --- a/backend/api/cms/tests/test_utils.py +++ b/backend/cms/api/tests/test_utils.py @@ -1,5 +1,5 @@ import pytest -from api.cms.utils import get_site_by_host +from cms.api.utils import get_site_by_host from wagtail_factories import SiteFactory diff --git a/backend/api/cms/types.py b/backend/cms/api/types.py similarity index 90% rename from backend/api/cms/types.py rename to backend/cms/api/types.py index aa3cd18d6d..2afa45e75d 100644 --- a/backend/api/cms/types.py +++ b/backend/cms/api/types.py @@ -1,10 +1,10 @@ import strawberry import strawberry_django -from api.pages.types import Page +from pages.api.types import Page from cms import models -from ..helpers.i18n import make_localized_resolver +from api.helpers.i18n import make_localized_resolver @strawberry.type diff --git a/backend/api/cms/utils.py b/backend/cms/api/utils.py similarity index 100% rename from backend/api/cms/utils.py rename to backend/cms/api/utils.py diff --git a/backend/api/conferences/__init__.py b/backend/conferences/api/__init__.py similarity index 100% rename from backend/api/conferences/__init__.py rename to backend/conferences/api/__init__.py diff --git a/backend/api/conferences/helpers/days.py b/backend/conferences/api/helpers/days.py similarity index 100% rename from backend/api/conferences/helpers/days.py rename to backend/conferences/api/helpers/days.py diff --git a/backend/api/conferences/helpers/maps.py b/backend/conferences/api/helpers/maps.py similarity index 100% rename from backend/api/conferences/helpers/maps.py rename to backend/conferences/api/helpers/maps.py diff --git a/backend/api/conferences/schema.py b/backend/conferences/api/schema.py similarity index 85% rename from backend/api/conferences/schema.py rename to backend/conferences/api/schema.py index 5be3d825b4..736793f535 100644 --- a/backend/api/conferences/schema.py +++ b/backend/conferences/api/schema.py @@ -1,4 +1,4 @@ -from api.conferences.types import Conference +from conferences.api.types import Conference import strawberry import strawberry_django diff --git a/backend/api/conferences/tests/test_frontend_queries.py b/backend/conferences/api/tests/test_frontend_queries.py similarity index 100% rename from backend/api/conferences/tests/test_frontend_queries.py rename to backend/conferences/api/tests/test_frontend_queries.py diff --git a/backend/api/conferences/tests/test_query_conference.py b/backend/conferences/api/tests/test_query_conference.py similarity index 100% rename from backend/api/conferences/tests/test_query_conference.py rename to backend/conferences/api/tests/test_query_conference.py diff --git a/backend/api/conferences/tests/test_query_talk.py b/backend/conferences/api/tests/test_query_talk.py similarity index 100% rename from backend/api/conferences/tests/test_query_talk.py rename to backend/conferences/api/tests/test_query_talk.py diff --git a/backend/api/conferences/types.py b/backend/conferences/api/types.py similarity index 93% rename from backend/api/conferences/types.py rename to backend/conferences/api/types.py index 8acd4f69d7..209585fb34 100644 --- a/backend/api/conferences/types.py +++ b/backend/conferences/api/types.py @@ -6,24 +6,24 @@ from django.db.models import prefetch_related_objects from django.utils import timezone, translation -from api.cms.types import FAQ, Menu +from cms.api.types import FAQ, Menu from api.context import Info -from api.events.types import Event -from api.generic_forms.types import Form as GenericForm -from api.generic_forms.types import FormPurpose -from api.languages.types import Language -from api.pretix.query import get_conference_tickets, get_voucher -from api.pretix.types import TicketItem, Voucher -from api.schedule.types import Room, ScheduleItem, ScheduleItemUser -from api.schedule.types.day import Day -from api.sponsors.types import ( +from events.api.types import Event +from generic_forms.api.types import Form as GenericForm +from generic_forms.api.types import FormPurpose +from languages.api.types import Language +from pretix.api.query import get_conference_tickets, get_voucher +from pretix.api.types import TicketItem, Voucher +from schedule.api.types import Room, ScheduleItem, ScheduleItemUser +from schedule.api.types.day import Day +from sponsors.api.types import ( SponsorBenefit, SponsorLevel, SponsorsByLevel, SponsorSpecialOption, ) -from api.submissions.types import Submission, SubmissionTag, SubmissionType -from api.voting.types import RankRequest +from submissions.api.types import Submission, SubmissionTag, SubmissionType +from voting.api.types import RankRequest from cms import models as cms_models from conferences import models as conference_models from conferences.models import deadline as deadline_models @@ -31,9 +31,9 @@ from submissions import models as submission_models from voting import models as voting_models -from ..helpers.i18n import make_localized_resolver -from ..helpers.maps import Map, resolve_map -from ..permissions import CanSeeSubmissions, IsStaffPermission +from api.helpers.i18n import make_localized_resolver +from api.helpers.maps import Map, resolve_map +from api.permissions import CanSeeSubmissions, IsStaffPermission @strawberry_django.type(conference_models.AudienceLevel) diff --git a/backend/api/countries/__init__.py b/backend/countries/api/__init__.py similarity index 100% rename from backend/api/countries/__init__.py rename to backend/countries/api/__init__.py diff --git a/backend/api/countries/schema.py b/backend/countries/api/schema.py similarity index 93% rename from backend/api/countries/schema.py rename to backend/countries/api/schema.py index 6c70d220bd..ed4b3e3f86 100644 --- a/backend/api/countries/schema.py +++ b/backend/countries/api/schema.py @@ -1,7 +1,7 @@ from api.context import Info import strawberry -from api.countries.types import Country +from countries.api.types import Country from countries import countries diff --git a/backend/api/countries/tests/__init__.py b/backend/countries/api/tests/__init__.py similarity index 100% rename from backend/api/countries/tests/__init__.py rename to backend/countries/api/tests/__init__.py diff --git a/backend/api/countries/tests/test_schema.py b/backend/countries/api/tests/test_schema.py similarity index 100% rename from backend/api/countries/tests/test_schema.py rename to backend/countries/api/tests/test_schema.py diff --git a/backend/api/countries/types.py b/backend/countries/api/types.py similarity index 100% rename from backend/api/countries/types.py rename to backend/countries/api/types.py diff --git a/backend/api/events/__init__.py b/backend/events/api/__init__.py similarity index 100% rename from backend/api/events/__init__.py rename to backend/events/api/__init__.py diff --git a/backend/api/events/tests/test_event_queries.py b/backend/events/api/tests/test_event_queries.py similarity index 100% rename from backend/api/events/tests/test_event_queries.py rename to backend/events/api/tests/test_event_queries.py diff --git a/backend/api/events/types.py b/backend/events/api/types.py similarity index 89% rename from backend/api/events/types.py rename to backend/events/api/types.py index 760296bd3c..eb7be7869e 100644 --- a/backend/api/events/types.py +++ b/backend/events/api/types.py @@ -10,13 +10,13 @@ from events import models if TYPE_CHECKING: - from api.conferences.types import Conference + from conferences.api.types import Conference @strawberry_django.type(models.Event) class Event: id: strawberry.auto - conference: Annotated["Conference", strawberry.lazy("api.conferences.types")] + conference: Annotated["Conference", strawberry.lazy("conferences.api.types")] title: str = strawberry_django.field( resolver=make_localized_resolver("title"), only=["title"] ) diff --git a/backend/api/files_upload/__init__.py b/backend/files_upload/api/__init__.py similarity index 100% rename from backend/api/files_upload/__init__.py rename to backend/files_upload/api/__init__.py diff --git a/backend/api/files_upload/mutations/__init__.py b/backend/files_upload/api/mutations/__init__.py similarity index 100% rename from backend/api/files_upload/mutations/__init__.py rename to backend/files_upload/api/mutations/__init__.py diff --git a/backend/api/files_upload/mutations/finalize_upload.py b/backend/files_upload/api/mutations/finalize_upload.py similarity index 88% rename from backend/api/files_upload/mutations/finalize_upload.py rename to backend/files_upload/api/mutations/finalize_upload.py index 3a2ec094cb..f07502579f 100644 --- a/backend/api/files_upload/mutations/finalize_upload.py +++ b/backend/files_upload/api/mutations/finalize_upload.py @@ -1,7 +1,7 @@ from api.permissions import IsAuthenticated -from api.files_upload.types import File +from files_upload.api.types import File from files_upload.models import File as FileModel -from api.files_upload.permissions import IsFileOwner +from files_upload.api.permissions import IsFileOwner from files_upload.tasks import post_process_file_upload import strawberry from celery.exceptions import TimeoutError diff --git a/backend/api/files_upload/mutations/upload_file.py b/backend/files_upload/api/mutations/upload_file.py similarity index 96% rename from backend/api/files_upload/mutations/upload_file.py rename to backend/files_upload/api/mutations/upload_file.py index 5ce12fe1c3..2964fefd27 100644 --- a/backend/api/files_upload/mutations/upload_file.py +++ b/backend/files_upload/api/mutations/upload_file.py @@ -1,6 +1,6 @@ from typing import Annotated from uuid import uuid4 -from api.files_upload.permissions import IsFileTypeUploadAllowed +from files_upload.api.permissions import IsFileTypeUploadAllowed from api.extensions import RateLimit from files_upload.models import File, get_upload_to from api.context import Info diff --git a/backend/api/files_upload/permissions.py b/backend/files_upload/api/permissions.py similarity index 94% rename from backend/api/files_upload/permissions.py rename to backend/files_upload/api/permissions.py index c595124dca..8380aa45e5 100644 --- a/backend/api/files_upload/permissions.py +++ b/backend/files_upload/api/permissions.py @@ -6,8 +6,8 @@ from strawberry.permission import BasePermission if TYPE_CHECKING: - from api.files_upload.mutations.upload_file import UploadFileInput - from api.files_upload.mutations.finalize_upload import FinalizeUploadInput + from files_upload.api.mutations.upload_file import UploadFileInput + from files_upload.api.mutations.finalize_upload import FinalizeUploadInput class IsFileTypeUploadAllowed(BasePermission): diff --git a/backend/api/files_upload/schema.py b/backend/files_upload/api/schema.py similarity index 52% rename from backend/api/files_upload/schema.py rename to backend/files_upload/api/schema.py index 87cea821ba..976ffe5b73 100644 --- a/backend/api/files_upload/schema.py +++ b/backend/files_upload/api/schema.py @@ -1,5 +1,5 @@ -from api.files_upload.mutations.upload_file import upload_file -from api.files_upload.mutations.finalize_upload import finalize_upload +from files_upload.api.mutations.upload_file import upload_file +from files_upload.api.mutations.finalize_upload import finalize_upload from strawberry.tools import create_type diff --git a/backend/api/files_upload/tests/__init__.py b/backend/files_upload/api/tests/__init__.py similarity index 100% rename from backend/api/files_upload/tests/__init__.py rename to backend/files_upload/api/tests/__init__.py diff --git a/backend/api/files_upload/tests/mutations/__init__.py b/backend/files_upload/api/tests/mutations/__init__.py similarity index 100% rename from backend/api/files_upload/tests/mutations/__init__.py rename to backend/files_upload/api/tests/mutations/__init__.py diff --git a/backend/api/files_upload/tests/mutations/test_finalize_upload.py b/backend/files_upload/api/tests/mutations/test_finalize_upload.py similarity index 89% rename from backend/api/files_upload/tests/mutations/test_finalize_upload.py rename to backend/files_upload/api/tests/mutations/test_finalize_upload.py index 35b198977f..839e6e8fbe 100644 --- a/backend/api/files_upload/tests/mutations/test_finalize_upload.py +++ b/backend/files_upload/api/tests/mutations/test_finalize_upload.py @@ -21,7 +21,7 @@ def _finalize_upload(client, input): def test_finalize_upload(graphql_client, user, mocker): mock_task = mocker.patch( - "api.files_upload.mutations.finalize_upload.post_process_file_upload" + "files_upload.api.mutations.finalize_upload.post_process_file_upload" ) graphql_client.force_login(user) @@ -36,7 +36,7 @@ def test_finalize_upload(graphql_client, user, mocker): def test_finalize_upload_when_the_task_takes_too_long(graphql_client, user, mocker): mock_task = mocker.patch( - "api.files_upload.mutations.finalize_upload.post_process_file_upload" + "files_upload.api.mutations.finalize_upload.post_process_file_upload" ) mock_task.delay.return_value.get.side_effect = TimeoutError @@ -52,7 +52,7 @@ def test_finalize_upload_when_the_task_takes_too_long(graphql_client, user, mock def test_cannot_finalize_other_user_file(graphql_client, user, mocker): mock_task = mocker.patch( - "api.files_upload.mutations.finalize_upload.post_process_file_upload" + "files_upload.api.mutations.finalize_upload.post_process_file_upload" ) graphql_client.force_login(user) @@ -67,7 +67,7 @@ def test_cannot_finalize_other_user_file(graphql_client, user, mocker): def test_finalize_with_invalid_id(graphql_client, user, mocker): mock_task = mocker.patch( - "api.files_upload.mutations.finalize_upload.post_process_file_upload" + "files_upload.api.mutations.finalize_upload.post_process_file_upload" ) graphql_client.force_login(user) @@ -84,7 +84,7 @@ def test_finalize_upload_of_already_processed_file_is_ignored( graphql_client, user, mocker ): mock_task = mocker.patch( - "api.files_upload.mutations.finalize_upload.post_process_file_upload" + "files_upload.api.mutations.finalize_upload.post_process_file_upload" ) graphql_client.force_login(user) diff --git a/backend/api/files_upload/tests/mutations/test_upload_file.py b/backend/files_upload/api/tests/mutations/test_upload_file.py similarity index 100% rename from backend/api/files_upload/tests/mutations/test_upload_file.py rename to backend/files_upload/api/tests/mutations/test_upload_file.py diff --git a/backend/api/files_upload/types.py b/backend/files_upload/api/types.py similarity index 100% rename from backend/api/files_upload/types.py rename to backend/files_upload/api/types.py diff --git a/backend/api/generic_forms/__init__.py b/backend/generic_forms/api/__init__.py similarity index 100% rename from backend/api/generic_forms/__init__.py rename to backend/generic_forms/api/__init__.py diff --git a/backend/api/generic_forms/tests/__init__.py b/backend/generic_forms/api/tests/__init__.py similarity index 100% rename from backend/api/generic_forms/tests/__init__.py rename to backend/generic_forms/api/tests/__init__.py diff --git a/backend/api/generic_forms/tests/test_form_query.py b/backend/generic_forms/api/tests/test_form_query.py similarity index 100% rename from backend/api/generic_forms/tests/test_form_query.py rename to backend/generic_forms/api/tests/test_form_query.py diff --git a/backend/api/generic_forms/types.py b/backend/generic_forms/api/types.py similarity index 100% rename from backend/api/generic_forms/types.py rename to backend/generic_forms/api/types.py diff --git a/backend/api/grants/__init__.py b/backend/grants/api/__init__.py similarity index 100% rename from backend/api/grants/__init__.py rename to backend/grants/api/__init__.py diff --git a/backend/api/grants/mutations.py b/backend/grants/api/mutations.py similarity index 99% rename from backend/api/grants/mutations.py rename to backend/grants/api/mutations.py index d067e49e40..2eacbf0374 100644 --- a/backend/api/grants/mutations.py +++ b/backend/grants/api/mutations.py @@ -7,7 +7,7 @@ from strawberry.scalars import JSON from strawberry.types import Info -from api.grants.types import AgeGroup, Grant, GrantType, Occupation +from grants.api.types import AgeGroup, Grant, GrantType, Occupation from api.permissions import IsAuthenticated from api.types import BaseErrorType from conferences.models.conference import Conference diff --git a/backend/api/grants/tests/__init__.py b/backend/grants/api/tests/__init__.py similarity index 100% rename from backend/api/grants/tests/__init__.py rename to backend/grants/api/tests/__init__.py diff --git a/backend/api/grants/tests/test_frontend_queries.py b/backend/grants/api/tests/test_frontend_queries.py similarity index 100% rename from backend/api/grants/tests/test_frontend_queries.py rename to backend/grants/api/tests/test_frontend_queries.py diff --git a/backend/api/grants/tests/test_grant_type.py b/backend/grants/api/tests/test_grant_type.py similarity index 100% rename from backend/api/grants/tests/test_grant_type.py rename to backend/grants/api/tests/test_grant_type.py diff --git a/backend/api/grants/tests/test_send_grant.py b/backend/grants/api/tests/test_send_grant.py similarity index 100% rename from backend/api/grants/tests/test_send_grant.py rename to backend/grants/api/tests/test_send_grant.py diff --git a/backend/api/grants/tests/test_send_grant_reply.py b/backend/grants/api/tests/test_send_grant_reply.py similarity index 95% rename from backend/api/grants/tests/test_send_grant_reply.py rename to backend/grants/api/tests/test_send_grant_reply.py index e2dab34779..d40ef0cacd 100644 --- a/backend/api/grants/tests/test_send_grant_reply.py +++ b/backend/grants/api/tests/test_send_grant_reply.py @@ -81,7 +81,7 @@ def test_status_is_updated_when_reply_is_confirmed( graphql_client.force_login(user) grant = GrantFactory(user_id=user.id, status=Grant.Status.waiting_for_confirmation) mock_voucher = mocker.patch( - "api.grants.mutations.create_and_send_voucher_to_grantee" + "grants.api.mutations.create_and_send_voucher_to_grantee" ) with django_capture_on_commit_callbacks(execute=True): @@ -106,7 +106,7 @@ def test_status_is_updated_when_reply_is_refused(graphql_client, user, mocker): graphql_client.force_login(user) grant = GrantFactory(user_id=user.id, status=Grant.Status.waiting_for_confirmation) mock_voucher = mocker.patch( - "api.grants.mutations.create_and_send_voucher_to_grantee" + "grants.api.mutations.create_and_send_voucher_to_grantee" ) response = _send_grant_reply(graphql_client, grant, status="refused") @@ -130,7 +130,7 @@ def test_status_is_updated_when_reply_is_refused(graphql_client, user, mocker): def test_call_notify_new_grant_reply(graphql_client, user, mocker): graphql_client.force_login(user) grant = GrantFactory(user_id=user.id, status=Grant.Status.waiting_for_confirmation) - mock_publisher = mocker.patch("api.grants.mutations.notify_new_grant_reply_slack") + mock_publisher = mocker.patch("grants.api.mutations.notify_new_grant_reply_slack") response = _send_grant_reply(graphql_client, grant, status="refused", message="wtf") diff --git a/backend/api/grants/tests/test_update_grant.py b/backend/grants/api/tests/test_update_grant.py similarity index 100% rename from backend/api/grants/tests/test_update_grant.py rename to backend/grants/api/tests/test_update_grant.py diff --git a/backend/api/grants/types.py b/backend/grants/api/types.py similarity index 100% rename from backend/api/grants/types.py rename to backend/grants/api/types.py diff --git a/backend/api/job_board/__init__.py b/backend/job_board/api/__init__.py similarity index 100% rename from backend/api/job_board/__init__.py rename to backend/job_board/api/__init__.py diff --git a/backend/api/job_board/schema.py b/backend/job_board/api/schema.py similarity index 100% rename from backend/api/job_board/schema.py rename to backend/job_board/api/schema.py diff --git a/backend/api/job_board/types.py b/backend/job_board/api/types.py similarity index 100% rename from backend/api/job_board/types.py rename to backend/job_board/api/types.py diff --git a/backend/api/languages/__init__.py b/backend/languages/api/__init__.py similarity index 100% rename from backend/api/languages/__init__.py rename to backend/languages/api/__init__.py diff --git a/backend/api/languages/types.py b/backend/languages/api/types.py similarity index 100% rename from backend/api/languages/types.py rename to backend/languages/api/types.py diff --git a/backend/api/newsletters/__init__.py b/backend/newsletters/api/__init__.py similarity index 100% rename from backend/api/newsletters/__init__.py rename to backend/newsletters/api/__init__.py diff --git a/backend/api/newsletters/mutations/__init__.py b/backend/newsletters/api/mutations/__init__.py similarity index 100% rename from backend/api/newsletters/mutations/__init__.py rename to backend/newsletters/api/mutations/__init__.py diff --git a/backend/api/newsletters/mutations/subscribe_to_newsletter.py b/backend/newsletters/api/mutations/subscribe_to_newsletter.py similarity index 100% rename from backend/api/newsletters/mutations/subscribe_to_newsletter.py rename to backend/newsletters/api/mutations/subscribe_to_newsletter.py diff --git a/backend/api/newsletters/schema.py b/backend/newsletters/api/schema.py similarity index 100% rename from backend/api/newsletters/schema.py rename to backend/newsletters/api/schema.py diff --git a/backend/api/pages/__init__.py b/backend/pages/api/__init__.py similarity index 100% rename from backend/api/pages/__init__.py rename to backend/pages/api/__init__.py diff --git a/backend/api/pages/schema.py b/backend/pages/api/schema.py similarity index 100% rename from backend/api/pages/schema.py rename to backend/pages/api/schema.py diff --git a/backend/api/pages/types.py b/backend/pages/api/types.py similarity index 88% rename from backend/api/pages/types.py rename to backend/pages/api/types.py index f062869998..4516873fa6 100644 --- a/backend/api/pages/types.py +++ b/backend/pages/api/types.py @@ -2,8 +2,8 @@ import strawberry_django from pages import models -from ..helpers.i18n import make_localized_resolver -from ..helpers.images import resolve_image +from api.helpers.i18n import make_localized_resolver +from api.helpers.images import resolve_image @strawberry_django.type(models.Page) diff --git a/backend/api/participants/__init__.py b/backend/participants/api/__init__.py similarity index 100% rename from backend/api/participants/__init__.py rename to backend/participants/api/__init__.py diff --git a/backend/api/participants/mutations.py b/backend/participants/api/mutations.py similarity index 100% rename from backend/api/participants/mutations.py rename to backend/participants/api/mutations.py diff --git a/backend/api/participants/queries.py b/backend/participants/api/queries.py similarity index 98% rename from backend/api/participants/queries.py rename to backend/participants/api/queries.py index aeff885d55..67a864ca22 100644 --- a/backend/api/participants/queries.py +++ b/backend/participants/api/queries.py @@ -8,7 +8,7 @@ import pretix from api.context import Info from api.helpers.ids import decode_hashid, encode_hashid -from api.participants.types import Participant +from participants.api.types import Participant from api.permissions import HasTokenPermission from badges.roles import ConferenceRole, get_conference_roles_for_ticket_data from conferences.models import Conference diff --git a/backend/api/participants/tests/__init__.py b/backend/participants/api/tests/__init__.py similarity index 100% rename from backend/api/participants/tests/__init__.py rename to backend/participants/api/tests/__init__.py diff --git a/backend/api/participants/tests/test_frontend_queries.py b/backend/participants/api/tests/test_frontend_queries.py similarity index 100% rename from backend/api/participants/tests/test_frontend_queries.py rename to backend/participants/api/tests/test_frontend_queries.py diff --git a/backend/api/participants/tests/test_queries.py b/backend/participants/api/tests/test_queries.py similarity index 100% rename from backend/api/participants/tests/test_queries.py rename to backend/participants/api/tests/test_queries.py diff --git a/backend/api/participants/types.py b/backend/participants/api/types.py similarity index 92% rename from backend/api/participants/types.py rename to backend/participants/api/types.py index 00ac9d2e3b..d3bce6e965 100644 --- a/backend/api/participants/types.py +++ b/backend/participants/api/types.py @@ -5,12 +5,12 @@ from strawberry.scalars import JSON from api.context import Info -from api.submissions.permissions import CanSeeSubmissionPrivateFields +from submissions.api.permissions import CanSeeSubmissionPrivateFields from participants import models from submissions import models as submission_models if TYPE_CHECKING: - from api.submissions.types import Submission + from submissions.api.types import Submission @strawberry_django.type(models.Participant) @@ -47,7 +47,7 @@ def fullname(self) -> str: @strawberry_django.field(only=["conference_id", "user_id"]) def proposals( self, - ) -> list[Annotated["Submission", strawberry.lazy("api.submissions.types")]]: + ) -> list[Annotated["Submission", strawberry.lazy("submissions.api.types")]]: return submission_models.Submission.objects.for_conference( self.conference_id ).filter( diff --git a/backend/pretix/__init__.py b/backend/pretix/__init__.py index 49395208c2..780a4c23aa 100644 --- a/backend/pretix/__init__.py +++ b/backend/pretix/__init__.py @@ -9,7 +9,7 @@ import strawberry from django.conf import settings from django.core.cache import cache -from api.pretix.types import ( +from pretix.api.types import ( AttendeeNameInput, AttendeeNameInputError, UpdateAttendeeTicketInput, diff --git a/backend/api/pretix/__init__.py b/backend/pretix/api/__init__.py similarity index 100% rename from backend/api/pretix/__init__.py rename to backend/pretix/api/__init__.py diff --git a/backend/api/pretix/constants.py b/backend/pretix/api/constants.py similarity index 100% rename from backend/api/pretix/constants.py rename to backend/pretix/api/constants.py diff --git a/backend/api/pretix/mutations.py b/backend/pretix/api/mutations.py similarity index 95% rename from backend/api/pretix/mutations.py rename to backend/pretix/api/mutations.py index 2cfd151997..83e8f9cd3e 100644 --- a/backend/api/pretix/mutations.py +++ b/backend/pretix/api/mutations.py @@ -6,9 +6,9 @@ from strawberry.types import Info import pretix -from api.pretix.permissions import IsTicketOwner -from api.pretix.query import get_user_tickets -from api.pretix.types import ( +from pretix.api.permissions import IsTicketOwner +from pretix.api.query import get_user_tickets +from pretix.api.types import ( AttendeeTicket, UpdateAttendeeTicketErrors, UpdateAttendeeTicketInput, diff --git a/backend/api/pretix/permissions.py b/backend/pretix/api/permissions.py similarity index 100% rename from backend/api/pretix/permissions.py rename to backend/pretix/api/permissions.py diff --git a/backend/api/pretix/query.py b/backend/pretix/api/query.py similarity index 97% rename from backend/api/pretix/query.py rename to backend/pretix/api/query.py index 6c7e3d390a..1dbc46bea5 100644 --- a/backend/api/pretix/query.py +++ b/backend/pretix/api/query.py @@ -5,7 +5,7 @@ from django.utils import timezone import pretix -from api.pretix.constants import ASSOCIATION_CATEGORY_INTERNAL_NAME +from pretix.api.constants import ASSOCIATION_CATEGORY_INTERNAL_NAME from conferences.models.conference import Conference from .types import AttendeeTicket, PretixOrder, TicketItem, Voucher diff --git a/backend/api/pretix/tests/__init__.py b/backend/pretix/api/tests/__init__.py similarity index 100% rename from backend/api/pretix/tests/__init__.py rename to backend/pretix/api/tests/__init__.py diff --git a/backend/api/pretix/tests/test_get_conference_tickets.py b/backend/pretix/api/tests/test_get_conference_tickets.py similarity index 98% rename from backend/api/pretix/tests/test_get_conference_tickets.py rename to backend/pretix/api/tests/test_get_conference_tickets.py index 08ceaa39ce..b841593670 100644 --- a/backend/api/pretix/tests/test_get_conference_tickets.py +++ b/backend/pretix/api/tests/test_get_conference_tickets.py @@ -5,8 +5,8 @@ from django.test import override_settings from django.utils import timezone -from api.pretix.query import get_conference_tickets -from api.pretix.types import Option +from pretix.api.query import get_conference_tickets +from pretix.api.types import Option pytestmark = pytest.mark.django_db diff --git a/backend/api/pretix/tests/test_types.py b/backend/pretix/api/tests/test_types.py similarity index 96% rename from backend/api/pretix/tests/test_types.py rename to backend/pretix/api/tests/test_types.py index 04bf8f2c62..74c9128375 100644 --- a/backend/api/pretix/tests/test_types.py +++ b/backend/pretix/api/tests/test_types.py @@ -1,4 +1,4 @@ -from api.pretix.types import AttendeeNameInput, UpdateAttendeeTicketErrors +from pretix.api.types import AttendeeNameInput, UpdateAttendeeTicketErrors def test_validate_attendee_name(): diff --git a/backend/api/pretix/tests/test_update_attendee_ticket.py b/backend/pretix/api/tests/test_update_attendee_ticket.py similarity index 100% rename from backend/api/pretix/tests/test_update_attendee_ticket.py rename to backend/pretix/api/tests/test_update_attendee_ticket.py diff --git a/backend/api/pretix/types.py b/backend/pretix/api/types.py similarity index 99% rename from backend/api/pretix/types.py rename to backend/pretix/api/types.py index 1d52355d6e..94ff9d5c5d 100644 --- a/backend/api/pretix/types.py +++ b/backend/pretix/api/types.py @@ -7,7 +7,7 @@ import strawberry -from api.pretix.constants import ( +from pretix.api.constants import ( ASSOCIATION_CATEGORY_INTERNAL_NAME, SOCIAL_EVENTS_CATEGORY_INTERNAL_NAME, ) diff --git a/backend/pretix/tests/test_create_order.py b/backend/pretix/tests/test_create_order.py index aad515ebb0..2303dd4da9 100644 --- a/backend/pretix/tests/test_create_order.py +++ b/backend/pretix/tests/test_create_order.py @@ -1,4 +1,4 @@ -from api.pretix.types import AttendeeNameInput +from pretix.api.types import AttendeeNameInput from conferences.tests.factories import ConferenceFactory import pytest from django.test import override_settings diff --git a/backend/api/schedule/__init__.py b/backend/schedule/api/__init__.py similarity index 100% rename from backend/api/schedule/__init__.py rename to backend/schedule/api/__init__.py diff --git a/backend/api/schedule/mutations/__init__.py b/backend/schedule/api/mutations/__init__.py similarity index 100% rename from backend/api/schedule/mutations/__init__.py rename to backend/schedule/api/mutations/__init__.py diff --git a/backend/api/schedule/mutations/book_schedule_item.py b/backend/schedule/api/mutations/book_schedule_item.py similarity index 98% rename from backend/api/schedule/mutations/book_schedule_item.py rename to backend/schedule/api/mutations/book_schedule_item.py index 84b8b37af8..b1f1de60e1 100644 --- a/backend/api/schedule/mutations/book_schedule_item.py +++ b/backend/schedule/api/mutations/book_schedule_item.py @@ -7,7 +7,7 @@ ScheduleItem, ScheduleItemAttendee, ) -from api.schedule.types import ( +from schedule.api.types import ( ScheduleItem as ScheduleItemType, ) diff --git a/backend/api/schedule/mutations/cancel_booking_schedule_item.py b/backend/schedule/api/mutations/cancel_booking_schedule_item.py similarity index 92% rename from backend/api/schedule/mutations/cancel_booking_schedule_item.py rename to backend/schedule/api/mutations/cancel_booking_schedule_item.py index c0ab288ca5..aed4f578bb 100644 --- a/backend/api/schedule/mutations/cancel_booking_schedule_item.py +++ b/backend/schedule/api/mutations/cancel_booking_schedule_item.py @@ -1,6 +1,6 @@ from api.context import Info -from api.schedule.mutations.book_schedule_item import ScheduleItemNotBookable -from api.schedule.types import ( +from schedule.api.mutations.book_schedule_item import ScheduleItemNotBookable +from schedule.api.types import ( ScheduleItem as ScheduleItemType, ) from typing import Annotated, Union diff --git a/backend/api/schedule/mutations/change_schedule_item_slot.py b/backend/schedule/api/mutations/change_schedule_item_slot.py similarity index 98% rename from backend/api/schedule/mutations/change_schedule_item_slot.py rename to backend/schedule/api/mutations/change_schedule_item_slot.py index 2a4db1c6a0..0bcf7a9f17 100644 --- a/backend/api/schedule/mutations/change_schedule_item_slot.py +++ b/backend/schedule/api/mutations/change_schedule_item_slot.py @@ -1,5 +1,5 @@ from api.permissions import CanEditSchedule -from api.schedule.types.slot import ScheduleSlot +from schedule.api.types.slot import ScheduleSlot from schedule.models import Room, ScheduleItem as ScheduleItemModel, Slot as SlotModel import strawberry from strawberry.types import Info diff --git a/backend/api/schedule/mutations/create_schedule_item.py b/backend/schedule/api/mutations/create_schedule_item.py similarity index 97% rename from backend/api/schedule/mutations/create_schedule_item.py rename to backend/schedule/api/mutations/create_schedule_item.py index 19bfe5d643..da872cc40c 100644 --- a/backend/api/schedule/mutations/create_schedule_item.py +++ b/backend/schedule/api/mutations/create_schedule_item.py @@ -5,7 +5,7 @@ import strawberry from schedule.models import ScheduleItem as ScheduleItemModel, Slot as SlotModel -from api.schedule.types.slot import ScheduleSlot +from schedule.api.types.slot import ScheduleSlot from strawberry.types import Info from submissions.models import Submission diff --git a/backend/api/schedule/mutations/create_schedule_slot.py b/backend/schedule/api/mutations/create_schedule_slot.py similarity index 97% rename from backend/api/schedule/mutations/create_schedule_slot.py rename to backend/schedule/api/mutations/create_schedule_slot.py index 715f4fea68..74b54d2990 100644 --- a/backend/api/schedule/mutations/create_schedule_slot.py +++ b/backend/schedule/api/mutations/create_schedule_slot.py @@ -1,7 +1,7 @@ from api.context import Info from custom_admin.audit import create_addition_admin_log_entry from django.db import transaction -from api.schedule.types.day import Day +from schedule.api.types.day import Day from datetime import time, timedelta, datetime from schedule.models import Day as DayModel, Slot as SlotModel import strawberry diff --git a/backend/api/schedule/mutations/star_schedule_item.py b/backend/schedule/api/mutations/star_schedule_item.py similarity index 91% rename from backend/api/schedule/mutations/star_schedule_item.py rename to backend/schedule/api/mutations/star_schedule_item.py index 01c5bf2f24..6668d9be74 100644 --- a/backend/api/schedule/mutations/star_schedule_item.py +++ b/backend/schedule/api/mutations/star_schedule_item.py @@ -1,6 +1,6 @@ from api.context import Info from api.permissions import IsAuthenticated -from api.users.types import OperationSuccess +from users.api.types import OperationSuccess from schedule.models import ScheduleItemStar import strawberry diff --git a/backend/api/schedule/mutations/unstar_schedule_item.py b/backend/schedule/api/mutations/unstar_schedule_item.py similarity index 91% rename from backend/api/schedule/mutations/unstar_schedule_item.py rename to backend/schedule/api/mutations/unstar_schedule_item.py index 271c724429..3c45f893fa 100644 --- a/backend/api/schedule/mutations/unstar_schedule_item.py +++ b/backend/schedule/api/mutations/unstar_schedule_item.py @@ -2,7 +2,7 @@ from api.permissions import IsAuthenticated from schedule.models import ScheduleItemStar import strawberry -from api.users.types import OperationSuccess +from users.api.types import OperationSuccess @strawberry.mutation(permission_classes=[IsAuthenticated]) diff --git a/backend/api/schedule/mutations/update_schedule_invitation.py b/backend/schedule/api/mutations/update_schedule_invitation.py similarity index 95% rename from backend/api/schedule/mutations/update_schedule_invitation.py rename to backend/schedule/api/mutations/update_schedule_invitation.py index dc44326ff9..bd6b44cc55 100644 --- a/backend/api/schedule/mutations/update_schedule_invitation.py +++ b/backend/schedule/api/mutations/update_schedule_invitation.py @@ -3,8 +3,8 @@ from api.context import Info from api.permissions import IsAuthenticated -from api.schedule.types import ScheduleInvitation, ScheduleInvitationOption -from api.submissions.permissions import IsSubmissionSpeakerOrStaff +from schedule.api.types import ScheduleInvitation, ScheduleInvitationOption +from submissions.api.permissions import IsSubmissionSpeakerOrStaff from schedule import models as schedule_models from schedule.tasks import ( create_and_send_voucher_to_speaker, diff --git a/backend/api/schedule/queries/__init__.py b/backend/schedule/api/queries/__init__.py similarity index 100% rename from backend/api/schedule/queries/__init__.py rename to backend/schedule/api/queries/__init__.py diff --git a/backend/api/schedule/queries/schedule_invitation.py b/backend/schedule/api/queries/schedule_invitation.py similarity index 87% rename from backend/api/schedule/queries/schedule_invitation.py rename to backend/schedule/api/queries/schedule_invitation.py index 97ee282529..9ab270cc54 100644 --- a/backend/api/schedule/queries/schedule_invitation.py +++ b/backend/schedule/api/queries/schedule_invitation.py @@ -3,8 +3,8 @@ from api.context import Info from api.permissions import IsAuthenticated -from api.schedule.types.schedule_invitation import ScheduleInvitation -from api.submissions.permissions import IsSubmissionSpeakerOrStaff +from schedule.api.types.schedule_invitation import ScheduleInvitation +from submissions.api.permissions import IsSubmissionSpeakerOrStaff from schedule import models as schedule_models from submissions import models as submission_models diff --git a/backend/api/schedule/queries/search_events_for_schedule.py b/backend/schedule/api/queries/search_events_for_schedule.py similarity index 95% rename from backend/api/schedule/queries/search_events_for_schedule.py rename to backend/schedule/api/queries/search_events_for_schedule.py index 416d9c0287..e7e742ec5a 100644 --- a/backend/api/schedule/queries/search_events_for_schedule.py +++ b/backend/schedule/api/queries/search_events_for_schedule.py @@ -2,10 +2,10 @@ from django.db.models import Q, QuerySet from strawberry_django.optimizer import OptimizerStore, optimize -from api.conferences.types import Keynote +from conferences.api.types import Keynote from api.context import Info from api.permissions import CanEditSchedule -from api.submissions.types import Submission +from submissions.api.types import Submission from conferences.models import Keynote as KeynoteModel from submissions.models import Submission as SubmissionModel diff --git a/backend/api/schedule/queries/unassigned_schedule_items.py b/backend/schedule/api/queries/unassigned_schedule_items.py similarity index 87% rename from backend/api/schedule/queries/unassigned_schedule_items.py rename to backend/schedule/api/queries/unassigned_schedule_items.py index 07440e2916..e03877ad61 100644 --- a/backend/api/schedule/queries/unassigned_schedule_items.py +++ b/backend/schedule/api/queries/unassigned_schedule_items.py @@ -1,4 +1,4 @@ -from api.schedule.types.schedule_item import ScheduleItem +from schedule.api.types.schedule_item import ScheduleItem from schedule.models import ScheduleItem as ScheduleItemModel import strawberry from api.permissions import CanEditSchedule diff --git a/backend/api/schedule/schema.py b/backend/schedule/api/schema.py similarity index 51% rename from backend/api/schedule/schema.py rename to backend/schedule/api/schema.py index 5c1eeb8058..d9c99ad480 100644 --- a/backend/api/schedule/schema.py +++ b/backend/schedule/api/schema.py @@ -1,16 +1,16 @@ -from api.schedule.mutations.book_schedule_item import book_schedule_item -from api.schedule.mutations.cancel_booking_schedule_item import ( +from schedule.api.mutations.book_schedule_item import book_schedule_item +from schedule.api.mutations.cancel_booking_schedule_item import ( cancel_booking_schedule_item, ) -from api.schedule.mutations.change_schedule_item_slot import change_schedule_item_slot -from api.schedule.mutations.create_schedule_item import create_schedule_item -from api.schedule.mutations.create_schedule_slot import create_schedule_slot -from api.schedule.mutations.update_schedule_invitation import update_schedule_invitation -from api.schedule.mutations.unstar_schedule_item import unstar_schedule_item -from api.schedule.mutations.star_schedule_item import star_schedule_item -from api.schedule.queries.schedule_invitation import schedule_invitation -from api.schedule.queries.unassigned_schedule_items import unassigned_schedule_items -from api.schedule.queries.search_events_for_schedule import search_events_for_schedule +from schedule.api.mutations.change_schedule_item_slot import change_schedule_item_slot +from schedule.api.mutations.create_schedule_item import create_schedule_item +from schedule.api.mutations.create_schedule_slot import create_schedule_slot +from schedule.api.mutations.update_schedule_invitation import update_schedule_invitation +from schedule.api.mutations.unstar_schedule_item import unstar_schedule_item +from schedule.api.mutations.star_schedule_item import star_schedule_item +from schedule.api.queries.schedule_invitation import schedule_invitation +from schedule.api.queries.unassigned_schedule_items import unassigned_schedule_items +from schedule.api.queries.search_events_for_schedule import search_events_for_schedule from strawberry.tools import create_type diff --git a/backend/api/schedule/tests/test_book_spot_schedule_item.py b/backend/schedule/api/tests/test_book_spot_schedule_item.py similarity index 93% rename from backend/api/schedule/tests/test_book_spot_schedule_item.py rename to backend/schedule/api/tests/test_book_spot_schedule_item.py index 982a4be1a3..17755ed488 100644 --- a/backend/api/schedule/tests/test_book_spot_schedule_item.py +++ b/backend/schedule/api/tests/test_book_spot_schedule_item.py @@ -38,7 +38,7 @@ def simple_schedule_item(): def test_book_schedule_item(graphql_client, user, mocker, simple_schedule_item): mocker.patch( - "api.schedule.mutations.book_schedule_item.user_has_admission_ticket", + "schedule.api.mutations.book_schedule_item.user_has_admission_ticket", return_value=True, ) graphql_client.force_login(user) @@ -74,7 +74,7 @@ def test_needs_ticket_to_book( mocker, ): mocker.patch( - "api.schedule.mutations.book_schedule_item.user_has_admission_ticket", + "schedule.api.mutations.book_schedule_item.user_has_admission_ticket", return_value=False, ) @@ -103,7 +103,7 @@ def test_needs_ticket_to_book( def test_cannot_overbook(graphql_client, user, simple_schedule_item, mocker): mocker.patch( - "api.schedule.mutations.book_schedule_item.user_has_admission_ticket", + "schedule.api.mutations.book_schedule_item.user_has_admission_ticket", return_value=True, ) @@ -133,7 +133,7 @@ def test_cannot_overbook(graphql_client, user, simple_schedule_item, mocker): def test_user_cannot_book_twice(graphql_client, user, simple_schedule_item, mocker): mocker.patch( - "api.schedule.mutations.book_schedule_item.user_has_admission_ticket", + "schedule.api.mutations.book_schedule_item.user_has_admission_ticket", return_value=True, ) @@ -161,7 +161,7 @@ def test_user_cannot_book_twice(graphql_client, user, simple_schedule_item, mock def test_user_cannot_book_any_event(graphql_client, user, simple_schedule_item, mocker): mocker.patch( - "api.schedule.mutations.book_schedule_item.user_has_admission_ticket", + "schedule.api.mutations.book_schedule_item.user_has_admission_ticket", return_value=True, ) @@ -193,7 +193,7 @@ def test_user_book_with_limited_capacity_from_room( graphql_client, user, simple_schedule_item, mocker ): mocker.patch( - "api.schedule.mutations.book_schedule_item.user_has_admission_ticket", + "schedule.api.mutations.book_schedule_item.user_has_admission_ticket", return_value=True, ) @@ -226,7 +226,7 @@ def test_user_book_full_item_from_room( graphql_client, user, simple_schedule_item, mocker ): mocker.patch( - "api.schedule.mutations.book_schedule_item.user_has_admission_ticket", + "schedule.api.mutations.book_schedule_item.user_has_admission_ticket", return_value=True, ) diff --git a/backend/api/schedule/tests/test_cancel_booking_schedule_item.py b/backend/schedule/api/tests/test_cancel_booking_schedule_item.py similarity index 100% rename from backend/api/schedule/tests/test_cancel_booking_schedule_item.py rename to backend/schedule/api/tests/test_cancel_booking_schedule_item.py diff --git a/backend/api/schedule/tests/test_change_schedule_item_slot.py b/backend/schedule/api/tests/test_change_schedule_item_slot.py similarity index 100% rename from backend/api/schedule/tests/test_change_schedule_item_slot.py rename to backend/schedule/api/tests/test_change_schedule_item_slot.py diff --git a/backend/api/schedule/tests/test_create_schedule_item.py b/backend/schedule/api/tests/test_create_schedule_item.py similarity index 100% rename from backend/api/schedule/tests/test_create_schedule_item.py rename to backend/schedule/api/tests/test_create_schedule_item.py diff --git a/backend/api/schedule/tests/test_create_schedule_slot.py b/backend/schedule/api/tests/test_create_schedule_slot.py similarity index 100% rename from backend/api/schedule/tests/test_create_schedule_slot.py rename to backend/schedule/api/tests/test_create_schedule_slot.py diff --git a/backend/api/schedule/tests/test_schedule_invitation.py b/backend/schedule/api/tests/test_schedule_invitation.py similarity index 100% rename from backend/api/schedule/tests/test_schedule_invitation.py rename to backend/schedule/api/tests/test_schedule_invitation.py diff --git a/backend/api/schedule/tests/test_schedule_invitation_frontend_query.py b/backend/schedule/api/tests/test_schedule_invitation_frontend_query.py similarity index 100% rename from backend/api/schedule/tests/test_schedule_invitation_frontend_query.py rename to backend/schedule/api/tests/test_schedule_invitation_frontend_query.py diff --git a/backend/api/schedule/tests/test_search_events_for_schedule.py b/backend/schedule/api/tests/test_search_events_for_schedule.py similarity index 100% rename from backend/api/schedule/tests/test_search_events_for_schedule.py rename to backend/schedule/api/tests/test_search_events_for_schedule.py diff --git a/backend/api/schedule/tests/test_star_schedule_item.py b/backend/schedule/api/tests/test_star_schedule_item.py similarity index 100% rename from backend/api/schedule/tests/test_star_schedule_item.py rename to backend/schedule/api/tests/test_star_schedule_item.py diff --git a/backend/api/schedule/tests/test_unassigned_schedule_items.py b/backend/schedule/api/tests/test_unassigned_schedule_items.py similarity index 100% rename from backend/api/schedule/tests/test_unassigned_schedule_items.py rename to backend/schedule/api/tests/test_unassigned_schedule_items.py diff --git a/backend/api/schedule/tests/test_update_schedule_invitation.py b/backend/schedule/api/tests/test_update_schedule_invitation.py similarity index 92% rename from backend/api/schedule/tests/test_update_schedule_invitation.py rename to backend/schedule/api/tests/test_update_schedule_invitation.py index 3095a5c7d9..df9e1e845e 100644 --- a/backend/api/schedule/tests/test_update_schedule_invitation.py +++ b/backend/schedule/api/tests/test_update_schedule_invitation.py @@ -24,13 +24,13 @@ def test_update_invitation_answer( mocker, ): mock_event = mocker.patch( - "api.schedule.mutations.update_schedule_invitation.notify_new_schedule_invitation_answer_slack" + "schedule.api.mutations.update_schedule_invitation.notify_new_schedule_invitation_answer_slack" ) mock_plain = mocker.patch( - "api.schedule.mutations.update_schedule_invitation.send_schedule_invitation_plain_message" + "schedule.api.mutations.update_schedule_invitation.send_schedule_invitation_plain_message" ) mock_send_voucher = mocker.patch( - "api.schedule.mutations.update_schedule_invitation.create_and_send_voucher_to_speaker" + "schedule.api.mutations.update_schedule_invitation.create_and_send_voucher_to_speaker" ) graphql_client.force_login(user) @@ -95,13 +95,13 @@ def test_saving_the_same_answer_does_not_trigger_event( mocker, ): mock_event = mocker.patch( - "api.schedule.mutations.update_schedule_invitation.notify_new_schedule_invitation_answer_slack" + "schedule.api.mutations.update_schedule_invitation.notify_new_schedule_invitation_answer_slack" ) mock_plain = mocker.patch( - "api.schedule.mutations.update_schedule_invitation.send_schedule_invitation_plain_message" + "schedule.api.mutations.update_schedule_invitation.send_schedule_invitation_plain_message" ) mock_send_voucher = mocker.patch( - "api.schedule.mutations.update_schedule_invitation.create_and_send_voucher_to_speaker" + "schedule.api.mutations.update_schedule_invitation.create_and_send_voucher_to_speaker" ) graphql_client.force_login(user) @@ -161,10 +161,10 @@ def test_changing_notes_triggers_a_new_event( mocker, ): mock_event = mocker.patch( - "api.schedule.mutations.update_schedule_invitation.notify_new_schedule_invitation_answer_slack" + "schedule.api.mutations.update_schedule_invitation.notify_new_schedule_invitation_answer_slack" ) mock_plain = mocker.patch( - "api.schedule.mutations.update_schedule_invitation.send_schedule_invitation_plain_message" + "schedule.api.mutations.update_schedule_invitation.send_schedule_invitation_plain_message" ) graphql_client.force_login(user) @@ -226,7 +226,7 @@ def test_random_user_cannot_update_an_invitation( mocker, ): mock_event = mocker.patch( - "api.schedule.mutations.update_schedule_invitation.notify_new_schedule_invitation_answer_slack" + "schedule.api.mutations.update_schedule_invitation.notify_new_schedule_invitation_answer_slack" ) graphql_client.force_login(user) @@ -274,7 +274,7 @@ def test_cannot_update_schedule_if_submission_doesnt_have_a_matching_schedule( graphql_client, user, mocker ): mock_event = mocker.patch( - "api.schedule.mutations.update_schedule_invitation.notify_new_schedule_invitation_answer_slack" + "schedule.api.mutations.update_schedule_invitation.notify_new_schedule_invitation_answer_slack" ) graphql_client.force_login(user) @@ -310,7 +310,7 @@ def test_requires_authentication( mocker, ): mock_event = mocker.patch( - "api.schedule.mutations.update_schedule_invitation.notify_new_schedule_invitation_answer_slack" + "schedule.api.mutations.update_schedule_invitation.notify_new_schedule_invitation_answer_slack" ) submission = SubmissionFactory() @@ -357,13 +357,13 @@ def test_staff_can_update_invitation_answer( mocker, ): mock_event = mocker.patch( - "api.schedule.mutations.update_schedule_invitation.notify_new_schedule_invitation_answer_slack" + "schedule.api.mutations.update_schedule_invitation.notify_new_schedule_invitation_answer_slack" ) mock_plain = mocker.patch( - "api.schedule.mutations.update_schedule_invitation.send_schedule_invitation_plain_message" + "schedule.api.mutations.update_schedule_invitation.send_schedule_invitation_plain_message" ) mock_send_voucher = mocker.patch( - "api.schedule.mutations.update_schedule_invitation.create_and_send_voucher_to_speaker" + "schedule.api.mutations.update_schedule_invitation.create_and_send_voucher_to_speaker" ) graphql_client.force_login(admin_user) diff --git a/backend/api/schedule/types/__init__.py b/backend/schedule/api/types/__init__.py similarity index 100% rename from backend/api/schedule/types/__init__.py rename to backend/schedule/api/types/__init__.py diff --git a/backend/api/schedule/types/day.py b/backend/schedule/api/types/day.py similarity index 94% rename from backend/api/schedule/types/day.py rename to backend/schedule/api/types/day.py index 79717596a4..7dae0e813d 100644 --- a/backend/api/schedule/types/day.py +++ b/backend/schedule/api/types/day.py @@ -1,10 +1,10 @@ from api.context import Info from schedule.models import ScheduleItem as ScheduleItemModel -from api.schedule.types.schedule_item import ScheduleItem +from schedule.api.types.schedule_item import ScheduleItem from django.utils import timezone from datetime import timedelta -from api.schedule.types.day_room import DayRoom -from api.schedule.types.slot import ScheduleSlot +from schedule.api.types.day_room import DayRoom +from schedule.api.types.slot import ScheduleSlot import strawberry import strawberry_django from schedule import models diff --git a/backend/api/schedule/types/day_room.py b/backend/schedule/api/types/day_room.py similarity index 100% rename from backend/api/schedule/types/day_room.py rename to backend/schedule/api/types/day_room.py diff --git a/backend/api/schedule/types/room.py b/backend/schedule/api/types/room.py similarity index 100% rename from backend/api/schedule/types/room.py rename to backend/schedule/api/types/room.py diff --git a/backend/api/schedule/types/schedule_invitation.py b/backend/schedule/api/types/schedule_invitation.py similarity index 97% rename from backend/api/schedule/types/schedule_invitation.py rename to backend/schedule/api/types/schedule_invitation.py index c037477005..09721846cb 100644 --- a/backend/api/schedule/types/schedule_invitation.py +++ b/backend/schedule/api/types/schedule_invitation.py @@ -4,7 +4,7 @@ import strawberry import strawberry_django -from api.submissions.types import Submission +from submissions.api.types import Submission from schedule import models diff --git a/backend/api/schedule/types/schedule_item.py b/backend/schedule/api/types/schedule_item.py similarity index 93% rename from backend/api/schedule/types/schedule_item.py rename to backend/schedule/api/types/schedule_item.py index c2cee51b0a..660d702e50 100644 --- a/backend/api/schedule/types/schedule_item.py +++ b/backend/schedule/api/types/schedule_item.py @@ -7,15 +7,15 @@ from django.db.models.functions import Coalesce from api.context import Info -from api.languages.types import Language +from languages.api.types import Language from api.permissions import IsStaffPermission -from api.schedule.types.room import Room -from api.schedule.types.schedule_item_user import ScheduleItemUser -from api.submissions.types import Submission +from schedule.api.types.room import Room +from schedule.api.types.schedule_item_user import ScheduleItemUser +from submissions.api.types import Submission from schedule import models if TYPE_CHECKING: # pragma: no cover - from api.conferences.types import AudienceLevel, Conference, Keynote + from conferences.api.types import AudienceLevel, Conference, Keynote ATTENDEES_COUNT_ANNOTATION = "graphql_attendees_count" @@ -70,7 +70,7 @@ def _attendees_count(schedule_item) -> int: @strawberry_django.type(models.ScheduleItem) class ScheduleItem: id: strawberry.auto - conference: Annotated["Conference", strawberry.lazy("api.conferences.types")] + conference: Annotated["Conference", strawberry.lazy("conferences.api.types")] title: strawberry.auto start: datetime = strawberry_django.field( only=["slot__day__day", "slot__hour"], @@ -89,7 +89,7 @@ class ScheduleItem: highlight_color: str | None language: Language audience_level: ( - Annotated["AudienceLevel", strawberry.lazy("api.conferences.types")] | None + Annotated["AudienceLevel", strawberry.lazy("conferences.api.types")] | None ) youtube_video_id: str | None link_to: strawberry.auto @@ -206,7 +206,7 @@ def speakers(self) -> list[ScheduleItemUser]: @strawberry_django.field(select_related=["keynote"]) def keynote( self, info: Info - ) -> Annotated["Keynote", strawberry.lazy("api.conferences.types")] | None: + ) -> Annotated["Keynote", strawberry.lazy("conferences.api.types")] | None: return self.keynote if self.keynote_id else None rooms: list[Room] diff --git a/backend/api/schedule/types/schedule_item_user.py b/backend/schedule/api/types/schedule_item_user.py similarity index 92% rename from backend/api/schedule/types/schedule_item_user.py rename to backend/schedule/api/types/schedule_item_user.py index 783e7f45ef..840a71dc78 100644 --- a/backend/api/schedule/types/schedule_item_user.py +++ b/backend/schedule/api/types/schedule_item_user.py @@ -1,7 +1,7 @@ import strawberry import strawberry_django -from api.participants.types import Participant +from participants.api.types import Participant from users import models as user_models diff --git a/backend/api/schedule/types/slot.py b/backend/schedule/api/types/slot.py similarity index 94% rename from backend/api/schedule/types/slot.py rename to backend/schedule/api/types/slot.py index 131cf7fed9..8e9c4dae09 100644 --- a/backend/api/schedule/types/slot.py +++ b/backend/schedule/api/types/slot.py @@ -3,7 +3,7 @@ from django.utils import timezone -from api.schedule.types.schedule_item import ScheduleItem +from schedule.api.types.schedule_item import ScheduleItem import strawberry diff --git a/backend/api/sponsors/__init__.py b/backend/sponsors/api/__init__.py similarity index 100% rename from backend/api/sponsors/__init__.py rename to backend/sponsors/api/__init__.py diff --git a/backend/api/sponsors/schema.py b/backend/sponsors/api/schema.py similarity index 100% rename from backend/api/sponsors/schema.py rename to backend/sponsors/api/schema.py diff --git a/backend/api/sponsors/tests/__init__.py b/backend/sponsors/api/tests/__init__.py similarity index 100% rename from backend/api/sponsors/tests/__init__.py rename to backend/sponsors/api/tests/__init__.py diff --git a/backend/api/sponsors/tests/test_brochure_frontend_query.py b/backend/sponsors/api/tests/test_brochure_frontend_query.py similarity index 100% rename from backend/api/sponsors/tests/test_brochure_frontend_query.py rename to backend/sponsors/api/tests/test_brochure_frontend_query.py diff --git a/backend/api/sponsors/tests/test_send_sponsor_lead.py b/backend/sponsors/api/tests/test_send_sponsor_lead.py similarity index 95% rename from backend/api/sponsors/tests/test_send_sponsor_lead.py rename to backend/sponsors/api/tests/test_send_sponsor_lead.py index 5ca4f3df88..26ad9b8cc9 100644 --- a/backend/api/sponsors/tests/test_send_sponsor_lead.py +++ b/backend/sponsors/api/tests/test_send_sponsor_lead.py @@ -31,9 +31,9 @@ def _send_sponsor_lead(client, input): @mark.parametrize("consent_to_contact_via_email", [True, False]) def test_send_sponsor_lead(graphql_client, consent_to_contact_via_email, mocker): - mock_send_brochure = mocker.patch("api.sponsors.schema.send_sponsor_brochure") + mock_send_brochure = mocker.patch("sponsors.api.schema.send_sponsor_brochure") mock_notify_new_sponsor_lead_via_slack = mocker.patch( - "api.sponsors.schema.notify_new_sponsor_lead_via_slack" + "sponsors.api.schema.notify_new_sponsor_lead_via_slack" ) conference = ConferenceFactory() @@ -71,9 +71,9 @@ def test_send_sponsor_lead(graphql_client, consent_to_contact_via_email, mocker) def test_send_sponsor_lead_works_if_email_was_sent_to_different_conf( graphql_client, mocker ): - mock_send_brochure = mocker.patch("api.sponsors.schema.send_sponsor_brochure") + mock_send_brochure = mocker.patch("sponsors.api.schema.send_sponsor_brochure") mock_notify_new_sponsor_lead_via_slack = mocker.patch( - "api.sponsors.schema.notify_new_sponsor_lead_via_slack" + "sponsors.api.schema.notify_new_sponsor_lead_via_slack" ) SponsorLeadFactory( @@ -110,7 +110,7 @@ def test_send_sponsor_lead_works_if_email_was_sent_to_different_conf( def test_send_sponsor_lead_only_sends_the_brochure_once_to_email( graphql_client, mocker ): - mock_send_brochure = mocker.patch("api.sponsors.schema.send_sponsor_brochure") + mock_send_brochure = mocker.patch("sponsors.api.schema.send_sponsor_brochure") conference = ConferenceFactory() sponsor_lead = SponsorLeadFactory( diff --git a/backend/api/sponsors/tests/test_sponsors_by_level.py b/backend/sponsors/api/tests/test_sponsors_by_level.py similarity index 100% rename from backend/api/sponsors/tests/test_sponsors_by_level.py rename to backend/sponsors/api/tests/test_sponsors_by_level.py diff --git a/backend/api/sponsors/types.py b/backend/sponsors/api/types.py similarity index 100% rename from backend/api/sponsors/types.py rename to backend/sponsors/api/types.py diff --git a/backend/api/submissions/__init__.py b/backend/submissions/api/__init__.py similarity index 100% rename from backend/api/submissions/__init__.py rename to backend/submissions/api/__init__.py diff --git a/backend/api/submissions/mutations.py b/backend/submissions/api/mutations.py similarity index 100% rename from backend/api/submissions/mutations.py rename to backend/submissions/api/mutations.py diff --git a/backend/api/submissions/permissions.py b/backend/submissions/api/permissions.py similarity index 100% rename from backend/api/submissions/permissions.py rename to backend/submissions/api/permissions.py diff --git a/backend/api/submissions/schema.py b/backend/submissions/api/schema.py similarity index 98% rename from backend/api/submissions/schema.py rename to backend/submissions/api/schema.py index 914971885c..ea7d0ac2b3 100644 --- a/backend/api/submissions/schema.py +++ b/backend/submissions/api/schema.py @@ -6,7 +6,7 @@ from api.context import Info from api.permissions import CanSeeSubmissions, IsAuthenticated -from api.submissions.permissions import CanSeeSubmissionRestrictedFields +from submissions.api.permissions import CanSeeSubmissionRestrictedFields from api.types import Paginated from conferences import models as conference_models from submissions import models as submission_models diff --git a/backend/api/submissions/tests/__init__.py b/backend/submissions/api/tests/__init__.py similarity index 100% rename from backend/api/submissions/tests/__init__.py rename to backend/submissions/api/tests/__init__.py diff --git a/backend/api/submissions/tests/test_edit_submission.py b/backend/submissions/api/tests/test_edit_submission.py similarity index 100% rename from backend/api/submissions/tests/test_edit_submission.py rename to backend/submissions/api/tests/test_edit_submission.py diff --git a/backend/api/submissions/tests/test_frontend_queries.py b/backend/submissions/api/tests/test_frontend_queries.py similarity index 100% rename from backend/api/submissions/tests/test_frontend_queries.py rename to backend/submissions/api/tests/test_frontend_queries.py diff --git a/backend/api/submissions/tests/test_permissions.py b/backend/submissions/api/tests/test_permissions.py similarity index 67% rename from backend/api/submissions/tests/test_permissions.py rename to backend/submissions/api/tests/test_permissions.py index 2bf7978c73..6c7405c728 100644 --- a/backend/api/submissions/tests/test_permissions.py +++ b/backend/submissions/api/tests/test_permissions.py @@ -1,4 +1,4 @@ -from api.submissions.permissions import IsSubmissionSpeakerOrStaff +from submissions.api.permissions import IsSubmissionSpeakerOrStaff def test_doesnt_implement_generic_permission(rf): diff --git a/backend/api/submissions/tests/test_send_submission.py b/backend/submissions/api/tests/test_send_submission.py similarity index 99% rename from backend/api/submissions/tests/test_send_submission.py rename to backend/submissions/api/tests/test_send_submission.py index 0f3bfeef16..bf6bbbc932 100644 --- a/backend/api/submissions/tests/test_send_submission.py +++ b/backend/submissions/api/tests/test_send_submission.py @@ -150,7 +150,7 @@ def test_submit_talk( sent_emails, ): settings.FRONTEND_URL = "http://testserver" - mock_notify = mocker.patch("api.submissions.mutations.notify_new_cfp_submission") + mock_notify = mocker.patch("submissions.api.mutations.notify_new_cfp_submission") graphql_client.force_login(user) conference = ConferenceFactory( diff --git a/backend/api/submissions/tests/test_submission.py b/backend/submissions/api/tests/test_submission.py similarity index 100% rename from backend/api/submissions/tests/test_submission.py rename to backend/submissions/api/tests/test_submission.py diff --git a/backend/api/submissions/tests/test_submission_frontend_query.py b/backend/submissions/api/tests/test_submission_frontend_query.py similarity index 100% rename from backend/api/submissions/tests/test_submission_frontend_query.py rename to backend/submissions/api/tests/test_submission_frontend_query.py diff --git a/backend/api/submissions/tests/test_submission_permissions.py b/backend/submissions/api/tests/test_submission_permissions.py similarity index 98% rename from backend/api/submissions/tests/test_submission_permissions.py rename to backend/submissions/api/tests/test_submission_permissions.py index 4c5b191d33..0869097886 100644 --- a/backend/api/submissions/tests/test_submission_permissions.py +++ b/backend/submissions/api/tests/test_submission_permissions.py @@ -71,7 +71,7 @@ def test_voting_open_and_user_cannot_vote(graphql_client, user, other_user, mock submission = _submission(user) graphql_client.force_login(other_user) mocker.patch( - "api.submissions.permissions.check_if_user_can_vote", return_value=False + "submissions.api.permissions.check_if_user_can_vote", return_value=False ) data = _query(graphql_client, submission) @@ -83,7 +83,7 @@ def test_voting_open_and_user_can_vote(graphql_client, user, other_user, mocker) submission = _submission(user) graphql_client.force_login(other_user) can_vote_mock = mocker.patch( - "api.submissions.permissions.check_if_user_can_vote", return_value=True + "submissions.api.permissions.check_if_user_can_vote", return_value=True ) data = _query(graphql_client, submission) diff --git a/backend/api/submissions/tests/test_submission_voting_tags.py b/backend/submissions/api/tests/test_submission_voting_tags.py similarity index 100% rename from backend/api/submissions/tests/test_submission_voting_tags.py rename to backend/submissions/api/tests/test_submission_voting_tags.py diff --git a/backend/api/submissions/tests/test_submissions.py b/backend/submissions/api/tests/test_submissions.py similarity index 100% rename from backend/api/submissions/tests/test_submissions.py rename to backend/submissions/api/tests/test_submissions.py diff --git a/backend/api/submissions/types.py b/backend/submissions/api/types.py similarity index 90% rename from backend/api/submissions/types.py rename to backend/submissions/api/types.py index a9c1cbe1da..457d92f075 100644 --- a/backend/api/submissions/types.py +++ b/backend/submissions/api/types.py @@ -6,9 +6,9 @@ from strawberry.types import Info from strawberry.types.field import StrawberryField -from api.languages.types import Language +from languages.api.types import Language from api.utils import validate_url -from api.voting.types import VoteType +from voting.api.types import VoteType from files_upload import models as file_models from i18n.strings import LazyI18nString from submissions import models @@ -18,10 +18,10 @@ from .permissions import CanSeeSubmissionPrivateFields, CanSeeSubmissionRestrictedFields if TYPE_CHECKING: - from api.conferences.types import AudienceLevel, Conference, Duration, Topic - from api.participants.types import Participant - from api.schedule.types import ScheduleItem - from api.submissions.mutations import SendSubmissionErrors + from conferences.api.types import AudienceLevel, Conference, Duration, Topic + from participants.api.types import Participant + from schedule.api.types import ScheduleItem + from submissions.api.mutations import SendSubmissionErrors def private_field(name: str) -> StrawberryField: @@ -59,7 +59,7 @@ class SubmissionSpeaker: @strawberry_django.field def participant( self, - ) -> Annotated["Participant", strawberry.lazy("api.participants.types")] | None: + ) -> Annotated["Participant", strawberry.lazy("participants.api.types")] | None: return next( ( participant @@ -111,24 +111,24 @@ def file_mime_type(self) -> str | None: @strawberry_django.type(models.Submission) class Submission: - conference: Annotated["Conference", strawberry.lazy("api.conferences.types")] + conference: Annotated["Conference", strawberry.lazy("conferences.api.types")] title: str slug: strawberry.auto status: strawberry.auto speaker_level: str | None = private_field("speaker_level") previous_talk_video: str | None = private_field("previous_talk_video") short_social_summary: str | None = private_field("short_social_summary") - topic: Annotated["Topic", strawberry.lazy("api.conferences.types")] | None + topic: Annotated["Topic", strawberry.lazy("conferences.api.types")] | None type: SubmissionType | None - duration: Annotated["Duration", strawberry.lazy("api.conferences.types")] | None + duration: Annotated["Duration", strawberry.lazy("conferences.api.types")] | None audience_level: ( - Annotated["AudienceLevel", strawberry.lazy("api.conferences.types")] | None + Annotated["AudienceLevel", strawberry.lazy("conferences.api.types")] | None ) notes: str | None = private_field("notes") do_not_record: bool | None = private_field("do_not_record") schedule_items: list[ - Annotated["ScheduleItem", strawberry.lazy("api.schedule.types")] + Annotated["ScheduleItem", strawberry.lazy("schedule.api.types")] ] @strawberry_django.field(only=["elevator_pitch"]) diff --git a/backend/api/users/__init__.py b/backend/users/api/__init__.py similarity index 100% rename from backend/api/users/__init__.py rename to backend/users/api/__init__.py diff --git a/backend/users/api/mutations/__init__.py b/backend/users/api/mutations/__init__.py new file mode 100644 index 0000000000..fa9a535751 --- /dev/null +++ b/backend/users/api/mutations/__init__.py @@ -0,0 +1,13 @@ +from strawberry.tools import create_type + +from users.api.mutations.login import login +from users.api.mutations.register import register +from users.api.mutations.update_profile import update_profile +from users.api.mutations.request_reset_password import request_reset_password +from users.api.mutations.logout import logout +from users.api.mutations.reset_password import reset_password + +UsersMutations = create_type( + "UsersMutations", + [login, register, update_profile, reset_password, request_reset_password, logout], +) diff --git a/backend/api/users/mutations/login.py b/backend/users/api/mutations/login.py similarity index 98% rename from backend/api/users/mutations/login.py rename to backend/users/api/mutations/login.py index 3fe5ff415f..d209e84c72 100644 --- a/backend/api/users/mutations/login.py +++ b/backend/users/api/mutations/login.py @@ -9,7 +9,7 @@ from api.context import Info from api.types import BaseErrorType -from api.users.types import User +from users.api.types import User from users import models logger = logging.getLogger(__name__) diff --git a/backend/api/users/mutations/logout.py b/backend/users/api/mutations/logout.py similarity index 84% rename from backend/api/users/mutations/logout.py rename to backend/users/api/mutations/logout.py index 8c8a7589ec..57f1782a4d 100644 --- a/backend/api/users/mutations/logout.py +++ b/backend/users/api/mutations/logout.py @@ -2,7 +2,7 @@ from django.contrib.auth import logout as django_logout from api.context import Info -from api.users.types import OperationSuccess +from users.api.types import OperationSuccess @strawberry.mutation diff --git a/backend/api/users/mutations/register.py b/backend/users/api/mutations/register.py similarity index 98% rename from backend/api/users/mutations/register.py rename to backend/users/api/mutations/register.py index 9a5c16ebec..235520b07a 100644 --- a/backend/api/users/mutations/register.py +++ b/backend/users/api/mutations/register.py @@ -8,7 +8,7 @@ from api.context import Info from api.types import BaseErrorType -from api.users.types import User +from users.api.types import User from users import models diff --git a/backend/api/users/mutations/request_reset_password.py b/backend/users/api/mutations/request_reset_password.py similarity index 97% rename from backend/api/users/mutations/request_reset_password.py rename to backend/users/api/mutations/request_reset_password.py index e33c48a3e1..b87b9ca2b3 100644 --- a/backend/api/users/mutations/request_reset_password.py +++ b/backend/users/api/mutations/request_reset_password.py @@ -3,7 +3,7 @@ import strawberry from django.utils import timezone from datetime import timedelta -from api.users.types import OperationSuccess +from users.api.types import OperationSuccess from users.models import User as UserModel from django.conf import settings import jwt diff --git a/backend/api/users/mutations/reset_password.py b/backend/users/api/mutations/reset_password.py similarity index 96% rename from backend/api/users/mutations/reset_password.py rename to backend/users/api/mutations/reset_password.py index bdd56b39fb..8713181ef9 100644 --- a/backend/api/users/mutations/reset_password.py +++ b/backend/users/api/mutations/reset_password.py @@ -1,12 +1,12 @@ from django.db.models import F -from api.users.mutations.request_reset_password import create_reset_password_jti +from users.api.mutations.request_reset_password import create_reset_password_jti from users.models import User as UserModel from django.utils.functional import cached_property import jwt import strawberry from django.conf import settings from api.types import BaseErrorType -from api.users.types import OperationSuccess +from users.api.types import OperationSuccess import logging from typing import Annotated, Union diff --git a/backend/api/users/mutations/update_profile.py b/backend/users/api/mutations/update_profile.py similarity index 98% rename from backend/api/users/mutations/update_profile.py rename to backend/users/api/mutations/update_profile.py index 10f7c88d12..50c08cf762 100644 --- a/backend/api/users/mutations/update_profile.py +++ b/backend/users/api/mutations/update_profile.py @@ -6,7 +6,7 @@ from api.context import Info from api.permissions import IsAuthenticated from api.types import BaseErrorType -from api.users.types import User +from users.api.types import User @strawberry.type diff --git a/backend/api/users/queries.py b/backend/users/api/queries.py similarity index 91% rename from backend/api/users/queries.py rename to backend/users/api/queries.py index 3cddb68713..68d6a6a179 100644 --- a/backend/api/users/queries.py +++ b/backend/users/api/queries.py @@ -3,7 +3,7 @@ from api.context import Info from api.permissions import IsAuthenticated -from api.users.types import User +from users.api.types import User @strawberry_django.field(permission_classes=[IsAuthenticated]) diff --git a/backend/api/users/tests/__init__.py b/backend/users/api/tests/__init__.py similarity index 100% rename from backend/api/users/tests/__init__.py rename to backend/users/api/tests/__init__.py diff --git a/backend/api/users/tests/test_billing_addresses.py b/backend/users/api/tests/test_billing_addresses.py similarity index 100% rename from backend/api/users/tests/test_billing_addresses.py rename to backend/users/api/tests/test_billing_addresses.py diff --git a/backend/api/users/tests/test_booked_schedule_items.py b/backend/users/api/tests/test_booked_schedule_items.py similarity index 100% rename from backend/api/users/tests/test_booked_schedule_items.py rename to backend/users/api/tests/test_booked_schedule_items.py diff --git a/backend/api/users/tests/test_frontend_queries.py b/backend/users/api/tests/test_frontend_queries.py similarity index 100% rename from backend/api/users/tests/test_frontend_queries.py rename to backend/users/api/tests/test_frontend_queries.py diff --git a/backend/api/users/tests/test_invitation_letter_request.py b/backend/users/api/tests/test_invitation_letter_request.py similarity index 99% rename from backend/api/users/tests/test_invitation_letter_request.py rename to backend/users/api/tests/test_invitation_letter_request.py index 34960e13eb..f4d9bcd3a5 100644 --- a/backend/api/users/tests/test_invitation_letter_request.py +++ b/backend/users/api/tests/test_invitation_letter_request.py @@ -1,4 +1,4 @@ -from api.visa.types import ( +from visa.api.types import ( InvitationLetterRequestStatus as InvitationLetterRequestStatusAPI, ) from visa.models import InvitationLetterRequestStatus as InvitationLetterRequestStatusDB diff --git a/backend/api/users/tests/test_login.py b/backend/users/api/tests/test_login.py similarity index 100% rename from backend/api/users/tests/test_login.py rename to backend/users/api/tests/test_login.py diff --git a/backend/api/users/tests/test_logout.py b/backend/users/api/tests/test_logout.py similarity index 100% rename from backend/api/users/tests/test_logout.py rename to backend/users/api/tests/test_logout.py diff --git a/backend/api/users/tests/test_me.py b/backend/users/api/tests/test_me.py similarity index 100% rename from backend/api/users/tests/test_me.py rename to backend/users/api/tests/test_me.py diff --git a/backend/api/users/tests/test_participant.py b/backend/users/api/tests/test_participant.py similarity index 100% rename from backend/api/users/tests/test_participant.py rename to backend/users/api/tests/test_participant.py diff --git a/backend/api/users/tests/test_register.py b/backend/users/api/tests/test_register.py similarity index 100% rename from backend/api/users/tests/test_register.py rename to backend/users/api/tests/test_register.py diff --git a/backend/api/users/tests/test_request_reset_password.py b/backend/users/api/tests/test_request_reset_password.py similarity index 97% rename from backend/api/users/tests/test_request_reset_password.py rename to backend/users/api/tests/test_request_reset_password.py index e3b047cefd..6cfaa96dda 100644 --- a/backend/api/users/tests/test_request_reset_password.py +++ b/backend/users/api/tests/test_request_reset_password.py @@ -12,7 +12,7 @@ def test_request_reset_password(graphql_client): user = UserFactory(full_name="Sushi Op", email="reset@example.org") with patch( - "api.users.mutations.request_reset_password.EmailTemplate" + "users.api.mutations.request_reset_password.EmailTemplate" ) as mock_email_template: body = graphql_client.query( """mutation($email: String!) { diff --git a/backend/api/users/tests/test_reset_password.py b/backend/users/api/tests/test_reset_password.py similarity index 99% rename from backend/api/users/tests/test_reset_password.py rename to backend/users/api/tests/test_reset_password.py index 639da6eb02..e92913a772 100644 --- a/backend/api/users/tests/test_reset_password.py +++ b/backend/users/api/tests/test_reset_password.py @@ -1,6 +1,6 @@ import time_machine import pytest -from api.users.mutations.request_reset_password import _create_reset_password_token +from users.api.mutations.request_reset_password import _create_reset_password_token from users.tests.factories import UserFactory diff --git a/backend/api/users/tests/test_stars.py b/backend/users/api/tests/test_stars.py similarity index 100% rename from backend/api/users/tests/test_stars.py rename to backend/users/api/tests/test_stars.py diff --git a/backend/api/users/tests/test_user_grants.py b/backend/users/api/tests/test_user_grants.py similarity index 100% rename from backend/api/users/tests/test_user_grants.py rename to backend/users/api/tests/test_user_grants.py diff --git a/backend/api/users/tests/test_user_orders.py b/backend/users/api/tests/test_user_orders.py similarity index 97% rename from backend/api/users/tests/test_user_orders.py rename to backend/users/api/tests/test_user_orders.py index df135c81d9..f49796cd0b 100644 --- a/backend/api/users/tests/test_user_orders.py +++ b/backend/users/api/tests/test_user_orders.py @@ -2,7 +2,7 @@ import pytest from django.test import override_settings -from api.pretix.types import PretixOrderStatus +from pretix.api.types import PretixOrderStatus pytestmark = pytest.mark.django_db diff --git a/backend/api/users/tests/test_user_tickets.py b/backend/users/api/tests/test_user_tickets.py similarity index 100% rename from backend/api/users/tests/test_user_tickets.py rename to backend/users/api/tests/test_user_tickets.py diff --git a/backend/api/users/types.py b/backend/users/api/types.py similarity index 94% rename from backend/api/users/types.py rename to backend/users/api/types.py index a6f5cf3bb5..c75ed59e9b 100644 --- a/backend/api/users/types.py +++ b/backend/users/api/types.py @@ -3,15 +3,15 @@ from django.urls import reverse from strawberry.types import Info -from api.billing.types import BillingAddress -from api.grants.types import Grant -from api.participants.types import Participant +from billing.api.types import BillingAddress +from grants.api.types import Grant +from participants.api.types import Participant from api.permissions import IsAuthenticated -from api.pretix.query import get_user_orders, get_user_tickets -from api.pretix.types import AttendeeTicket, PretixOrder, PretixOrderStatus -from api.schedule.types import ScheduleItem -from api.submissions.types import Submission -from api.visa.types import InvitationLetterRequest +from pretix.api.query import get_user_orders, get_user_tickets +from pretix.api.types import AttendeeTicket, PretixOrder, PretixOrderStatus +from schedule.api.types import ScheduleItem +from submissions.api.types import Submission +from visa.api.types import InvitationLetterRequest from association_membership import models as association_membership_models from badges.roles import ConferenceRole, get_conference_roles_for_user from billing import models as billing_models diff --git a/backend/api/visa/mutation.py b/backend/visa/api/mutation.py similarity index 65% rename from backend/api/visa/mutation.py rename to backend/visa/api/mutation.py index 8456062124..fb05d51393 100644 --- a/backend/api/visa/mutation.py +++ b/backend/visa/api/mutation.py @@ -1,7 +1,7 @@ -from api.visa.mutations.update_invitation_letter_document import ( +from visa.api.mutations.update_invitation_letter_document import ( update_invitation_letter_document, ) -from api.visa.mutations.request_invitation_letter import request_invitation_letter +from visa.api.mutations.request_invitation_letter import request_invitation_letter from strawberry.tools import create_type VisaMutation = create_type( diff --git a/backend/api/visa/mutations/__init__.py b/backend/visa/api/mutations/__init__.py similarity index 100% rename from backend/api/visa/mutations/__init__.py rename to backend/visa/api/mutations/__init__.py diff --git a/backend/api/visa/mutations/request_invitation_letter.py b/backend/visa/api/mutations/request_invitation_letter.py similarity index 98% rename from backend/api/visa/mutations/request_invitation_letter.py rename to backend/visa/api/mutations/request_invitation_letter.py index b342f6e672..2a9833977e 100644 --- a/backend/api/visa/mutations/request_invitation_letter.py +++ b/backend/visa/api/mutations/request_invitation_letter.py @@ -4,13 +4,13 @@ import strawberry from django.db import transaction -from api.conferences.types import Conference +from conferences.api.types import Conference from api.context import Context from api.extensions import RateLimit from api.permissions import IsAuthenticated from api.types import BaseErrorType, FormNotAvailable, NoAdmissionTicket from api.utils import validate_email -from api.visa.types import InvitationLetterOnBehalfOf, InvitationLetterRequest +from visa.api.types import InvitationLetterOnBehalfOf, InvitationLetterRequest from conferences import models as conference_models from conferences.models.deadline import Deadline from pretix import user_has_admission_ticket diff --git a/backend/api/visa/mutations/update_invitation_letter_document.py b/backend/visa/api/mutations/update_invitation_letter_document.py similarity index 95% rename from backend/api/visa/mutations/update_invitation_letter_document.py rename to backend/visa/api/mutations/update_invitation_letter_document.py index 2708d9cc9b..3c01cdc484 100644 --- a/backend/api/visa/mutations/update_invitation_letter_document.py +++ b/backend/visa/api/mutations/update_invitation_letter_document.py @@ -3,8 +3,8 @@ from api.types import NotFound from custom_admin.audit import create_change_admin_log_entry from visa.models import InvitationLetterDocument as InvitationLetterDocumentModel -from api.visa.permissions import CanEditInvitationLetterDocument -from api.visa.types import InvitationLetterDocument +from visa.api.permissions import CanEditInvitationLetterDocument +from visa.api.types import InvitationLetterDocument import strawberry diff --git a/backend/api/visa/permissions.py b/backend/visa/api/permissions.py similarity index 100% rename from backend/api/visa/permissions.py rename to backend/visa/api/permissions.py diff --git a/backend/api/visa/queries/__init__.py b/backend/visa/api/queries/__init__.py similarity index 100% rename from backend/api/visa/queries/__init__.py rename to backend/visa/api/queries/__init__.py diff --git a/backend/api/visa/queries/invitation_letter_document.py b/backend/visa/api/queries/invitation_letter_document.py similarity index 80% rename from backend/api/visa/queries/invitation_letter_document.py rename to backend/visa/api/queries/invitation_letter_document.py index a195276bd2..66eb5456e8 100644 --- a/backend/api/visa/queries/invitation_letter_document.py +++ b/backend/visa/api/queries/invitation_letter_document.py @@ -1,6 +1,6 @@ -from api.visa.permissions import CanViewInvitationLetterDocument +from visa.api.permissions import CanViewInvitationLetterDocument from visa.models import InvitationLetterDocument as InvitationLetterDocumentModel -from api.visa.types import InvitationLetterDocument +from visa.api.types import InvitationLetterDocument import strawberry diff --git a/backend/api/visa/query.py b/backend/visa/api/query.py similarity index 68% rename from backend/api/visa/query.py rename to backend/visa/api/query.py index 04720a5db8..92cab63cb9 100644 --- a/backend/api/visa/query.py +++ b/backend/visa/api/query.py @@ -1,4 +1,4 @@ -from api.visa.queries.invitation_letter_document import invitation_letter_document +from visa.api.queries.invitation_letter_document import invitation_letter_document from strawberry.tools import create_type diff --git a/backend/api/visa/tests/__init__.py b/backend/visa/api/tests/__init__.py similarity index 100% rename from backend/api/visa/tests/__init__.py rename to backend/visa/api/tests/__init__.py diff --git a/backend/api/visa/tests/mutations/__init__.py b/backend/visa/api/tests/mutations/__init__.py similarity index 100% rename from backend/api/visa/tests/mutations/__init__.py rename to backend/visa/api/tests/mutations/__init__.py diff --git a/backend/api/visa/tests/mutations/test_request_invitation_letter.py b/backend/visa/api/tests/mutations/test_request_invitation_letter.py similarity index 98% rename from backend/api/visa/tests/mutations/test_request_invitation_letter.py rename to backend/visa/api/tests/mutations/test_request_invitation_letter.py index b5e8868057..3075cabf0b 100644 --- a/backend/api/visa/tests/mutations/test_request_invitation_letter.py +++ b/backend/visa/api/tests/mutations/test_request_invitation_letter.py @@ -2,7 +2,7 @@ from privacy_policy.models import PrivacyPolicyAcceptanceRecord from datetime import date -from api.visa.mutations.request_invitation_letter import MAX_LENGTH_FIELDS +from visa.api.mutations.request_invitation_letter import MAX_LENGTH_FIELDS from visa.tests.factories import InvitationLetterRequestFactory from visa.models import ( InvitationLetterRequest, @@ -54,7 +54,7 @@ def test_request_invitation_letter( graphql_client, user, mock_has_ticket, mocker, django_capture_on_commit_callbacks ): mock_notify = mocker.patch( - "api.visa.mutations.request_invitation_letter.notify_new_invitation_letter_request_on_slack" + "visa.api.mutations.request_invitation_letter.notify_new_invitation_letter_request_on_slack" ) conference = ConferenceFactory() ActiveDeadlineFactory( @@ -119,7 +119,7 @@ def test_can_request_invitation_letter_to_multiple_conferences( graphql_client, user, mock_has_ticket, mocker ): mocker.patch( - "api.visa.mutations.request_invitation_letter.notify_new_invitation_letter_request_on_slack" + "visa.api.mutations.request_invitation_letter.notify_new_invitation_letter_request_on_slack" ) graphql_client.force_login(user) @@ -194,7 +194,7 @@ def test_request_invitation_letter_email_is_ignored_for_self_requests( graphql_client, user, mock_has_ticket, mocker ): mocker.patch( - "api.visa.mutations.request_invitation_letter.notify_new_invitation_letter_request_on_slack" + "visa.api.mutations.request_invitation_letter.notify_new_invitation_letter_request_on_slack" ) conference = ConferenceFactory() @@ -246,7 +246,7 @@ def test_request_invitation_letter_on_behalf_of_other( graphql_client, user, mock_has_ticket, has_ticket, mocker ): mocker.patch( - "api.visa.mutations.request_invitation_letter.notify_new_invitation_letter_request_on_slack" + "visa.api.mutations.request_invitation_letter.notify_new_invitation_letter_request_on_slack" ) conference = ConferenceFactory() @@ -304,7 +304,7 @@ def test_duplicate_requests_for_others_are_ignored( graphql_client, user, mock_has_ticket, mocker ): mocker.patch( - "api.visa.mutations.request_invitation_letter.notify_new_invitation_letter_request_on_slack" + "visa.api.mutations.request_invitation_letter.notify_new_invitation_letter_request_on_slack" ) conference = ConferenceFactory() diff --git a/backend/api/visa/tests/mutations/test_update_invitation_letter_document.py b/backend/visa/api/tests/mutations/test_update_invitation_letter_document.py similarity index 100% rename from backend/api/visa/tests/mutations/test_update_invitation_letter_document.py rename to backend/visa/api/tests/mutations/test_update_invitation_letter_document.py diff --git a/backend/api/visa/tests/queries/__init__.py b/backend/visa/api/tests/queries/__init__.py similarity index 100% rename from backend/api/visa/tests/queries/__init__.py rename to backend/visa/api/tests/queries/__init__.py diff --git a/backend/api/visa/tests/queries/test_invitation_letter_document.py b/backend/visa/api/tests/queries/test_invitation_letter_document.py similarity index 100% rename from backend/api/visa/tests/queries/test_invitation_letter_document.py rename to backend/visa/api/tests/queries/test_invitation_letter_document.py diff --git a/backend/api/visa/types.py b/backend/visa/api/types.py similarity index 100% rename from backend/api/visa/types.py rename to backend/visa/api/types.py diff --git a/backend/api/volunteers_notifications/__init__.py b/backend/volunteers_notifications/api/__init__.py similarity index 100% rename from backend/api/volunteers_notifications/__init__.py rename to backend/volunteers_notifications/api/__init__.py diff --git a/backend/api/volunteers_notifications/mutations.py b/backend/volunteers_notifications/api/mutations.py similarity index 100% rename from backend/api/volunteers_notifications/mutations.py rename to backend/volunteers_notifications/api/mutations.py diff --git a/backend/api/volunteers_notifications/query.py b/backend/volunteers_notifications/api/query.py similarity index 100% rename from backend/api/volunteers_notifications/query.py rename to backend/volunteers_notifications/api/query.py diff --git a/backend/api/volunteers_notifications/tests/__init__.py b/backend/volunteers_notifications/api/tests/__init__.py similarity index 100% rename from backend/api/volunteers_notifications/tests/__init__.py rename to backend/volunteers_notifications/api/tests/__init__.py diff --git a/backend/api/volunteers_notifications/tests/test_mutations.py b/backend/volunteers_notifications/api/tests/test_mutations.py similarity index 94% rename from backend/api/volunteers_notifications/tests/test_mutations.py rename to backend/volunteers_notifications/api/tests/test_mutations.py index f27b08bc5f..e59129ef47 100644 --- a/backend/api/volunteers_notifications/tests/test_mutations.py +++ b/backend/volunteers_notifications/api/tests/test_mutations.py @@ -10,7 +10,7 @@ def test_register_volunteer_device(graphql_client, mocker, settings, platform): settings.VOLUNTEERS_PUSH_NOTIFICATIONS_IOS_ARN = "arn::ios_arn" settings.VOLUNTEERS_PUSH_NOTIFICATIONS_ANDROID_ARN = "arn::android_arn" - boto3_mock = mocker.patch("api.volunteers_notifications.mutations.boto3") + boto3_mock = mocker.patch("volunteers_notifications.api.mutations.boto3") boto3_mock.client.return_value.create_platform_endpoint.return_value = { "EndpointArn": "arn::endpoint_arn", } @@ -48,7 +48,7 @@ def test_register_again_the_same_device(graphql_client, mocker, settings, platfo device_token="test", endpoint_arn="arn::endpoint_arn", platform=platform ) - boto3_mock = mocker.patch("api.volunteers_notifications.mutations.boto3") + boto3_mock = mocker.patch("volunteers_notifications.api.mutations.boto3") boto3_mock.client.return_value.create_platform_endpoint.return_value = { "EndpointArn": "arn::endpoint_arn", } @@ -83,7 +83,7 @@ def test_cant_register_if_feature_is_disabled( device_token="test", endpoint_arn="arn::endpoint_arn", platform=platform ) - boto3_mock = mocker.patch("api.volunteers_notifications.mutations.boto3") + boto3_mock = mocker.patch("volunteers_notifications.api.mutations.boto3") boto3_mock.client.return_value.create_platform_endpoint.return_value = { "EndpointArn": "arn::endpoint_arn", } diff --git a/backend/api/voting/__init__.py b/backend/voting/api/__init__.py similarity index 100% rename from backend/api/voting/__init__.py rename to backend/voting/api/__init__.py diff --git a/backend/api/voting/mutations.py b/backend/voting/api/mutations.py similarity index 100% rename from backend/api/voting/mutations.py rename to backend/voting/api/mutations.py diff --git a/backend/api/voting/types.py b/backend/voting/api/types.py similarity index 79% rename from backend/api/voting/types.py rename to backend/voting/api/types.py index cf5c6aa72e..0cd453b450 100644 --- a/backend/api/voting/types.py +++ b/backend/voting/api/types.py @@ -6,7 +6,7 @@ from typing import TYPE_CHECKING, Annotated if TYPE_CHECKING: - from api.submissions.types import Submission + from submissions.api.types import Submission @strawberry.enum @@ -29,7 +29,7 @@ def from_int(cls, value: int): class VoteType: id: strawberry.ID value: int - submission: Annotated["Submission", strawberry.lazy("api.submissions.types")] + submission: Annotated["Submission", strawberry.lazy("submissions.api.types")] @strawberry.type @@ -42,7 +42,7 @@ class RankStat: @strawberry.type class RankSubmission: - submission: Annotated["Submission", strawberry.lazy("api.submissions.types")] + submission: Annotated["Submission", strawberry.lazy("submissions.api.types")] rank: int score: Decimal diff --git a/backend/voting/tests/test_types.py b/backend/voting/tests/test_types.py index 340c3b7c8a..50a9c7397a 100644 --- a/backend/voting/tests/test_types.py +++ b/backend/voting/tests/test_types.py @@ -1,4 +1,4 @@ -from api.voting.types import VoteValues +from voting.api.types import VoteValues def test_get_enum_member_from_int():