ferrosoft.apps.ferrobase.api package¶
Submodules¶
ferrosoft.apps.ferrobase.api.exception module¶
- ferrosoft.apps.ferrobase.api.exception.ferrobase_exception_handler(exc, context)[source]¶
Custom DRF exception handler that catches all otherwise-unhandled exceptions.
DRF’s built-in handler only converts a small set of framework exceptions into API responses. Any other exception propagates as a 500 HTML error page. This handler intercepts those cases, logs them, and returns a generic
APIExceptionresponse so callers always receive a structured JSON body.- Parameters:
exc – The exception raised during request processing.
context – DRF handler context dict (contains
viewandrequest).
- Returns:
- A DRF Response for the given exception, or a generic 500
response when the exception is not natively handled by DRF.
- Return type:
Response
ferrosoft.apps.ferrobase.api.router module¶
ferrosoft.apps.ferrobase.api.serializers module¶
- class ferrosoft.apps.ferrobase.api.serializers.BusinessPartnerSerializer(*args, **kwargs)[source]¶
Bases:
ModelSerializerSerializes
BusinessPartnerinstances including full address fields.
- class ferrosoft.apps.ferrobase.api.serializers.CountrySerializer(*args, **kwargs)[source]¶
Bases:
ModelSerializerSerializes
Countrycatalog entries with ISO code and localized name.
- class ferrosoft.apps.ferrobase.api.serializers.MaterialSerializer(*args, **kwargs)[source]¶
Bases:
ModelSerializerSerializes
Materialrecords (product code and name).
ferrosoft.apps.ferrobase.api.views module¶
- class ferrosoft.apps.ferrobase.api.views.BusinessPartnerViewSet(**kwargs)[source]¶
Bases:
ModelViewSetFull CRUD REST endpoint for
BusinessPartnerrecords.- basename = None¶
- description = None¶
- detail = None¶
- name = None¶
- permission_classes = [<class 'rest_framework.permissions.IsAuthenticated'>]¶
- queryset = <QuerySet [BusinessPartner]>¶
- serializer_class¶
alias of
BusinessPartnerSerializer
- suffix = None¶
- class ferrosoft.apps.ferrobase.api.views.CountryViewSet(**kwargs)[source]¶
Bases:
ModelViewSetFull CRUD REST endpoint for
Countrycatalog entries.- basename = None¶
- description = None¶
- detail = None¶
- name = None¶
- permission_classes = [<class 'rest_framework.permissions.IsAuthenticated'>]¶
- queryset = <QuerySet [Country]>¶
- serializer_class¶
alias of
CountrySerializer
- suffix = None¶
- class ferrosoft.apps.ferrobase.api.views.MaterialViewSet(**kwargs)[source]¶
Bases:
ModelViewSetFull CRUD REST endpoint for
Materialrecords.- basename = None¶
- description = None¶
- detail = None¶
- name = None¶
- permission_classes = [<class 'rest_framework.permissions.IsAuthenticated'>]¶
- queryset = <QuerySet [Material]>¶
- serializer_class¶
alias of
MaterialSerializer
- suffix = None¶
- class ferrosoft.apps.ferrobase.api.views.MeasurementUnitViewSet(**kwargs)[source]¶
Bases:
ModelViewSetFull CRUD REST endpoint for
MeasurementUnitrecords.- basename = None¶
- description = None¶
- detail = None¶
- name = None¶
- permission_classes = [<class 'rest_framework.permissions.IsAuthenticated'>]¶
- queryset = <QuerySet [MeasurementUnit]>¶
- serializer_class¶
alias of
MeasurementUnitSerializer
- suffix = None¶
- class ferrosoft.apps.ferrobase.api.views.SignupView(**kwargs)[source]¶
Bases:
APIViewPublic endpoint that initiates self-service tenant onboarding.
Accepts signup data, dispatches the onboarding task to the background task queue, waits for its completion, and returns a success flag. No authentication is required so that prospective users can register.
- TASK_RESULT_GROUP = 'api_signup_%s'¶
- permission_classes = [<class 'rest_framework.permissions.AllowAny'>]¶