Global admin dashboard component¶
Description¶
This component offers controllers to display data in the admin dashboard that are "country agnostic".
It allows us to build common interfaces for all countries (🇫🇷/🇧🇪/🇪🇸)
Architecture¶
Full description in the tech framing ⧉ document.
- controllers:
- blueprint is added to each app's flask init
- authentication/authorization is handled by
GlobalAuthorizationStrategiesinbackend/shared/iam/global_authorization.pythat links to the country specific auth strategy - IDs are strings because they can be either ints (🇫🇷) or UUIDs (🇪🇸/🇧🇪)
- retrieve parameters and then call logic in
external externalbusiness logics:- use a
match / casepattern to call the right country specific logic - return entities from
public/entities - there should be no
internalbusiness logic normodelsin this component - tests are performed for each country so they use their respective
appandclient: - 🇫🇷
backend/components/fr/internal/tests/test_global_customer_dashboard/tests - 🇧🇪
backend/components/be/internal/controllers/global_customer_dashboard/tests - 🇪🇸
backend/components/es/internal/controllers/global_customer_dashboard/tests