Loading src/open_exposure_gateway/application/mappers/quality_on_demand_mapper.py +22 −0 Original line number Diff line number Diff line Loading @@ -2,12 +2,14 @@ from uuid import UUID from open_exposure_gateway.api.camara.quality_on_demand.v0_10_1.schemas import CreateSession from open_exposure_gateway.domain.quality_on_demand import ( NetworkCapabilityDeactivateTarget, NetworkCapabilityParameters, NetworkCapabilityPayload, NetworkCapabilityTarget, NetworkCapabilityTargetApplicationServer, NetworkCapabilityTargetDevice, SRMNetworkCapabilityActivateCommand, SRMNetworkCapabilityDeactivateCommand, ) Loading Loading @@ -47,3 +49,23 @@ def build_activate_command( parameters=NetworkCapabilityParameters(duration_seconds=request.duration), ), ) def build_deactivate_command( external_ref: str, operation_id: UUID, correlation_id: str, requested_at: str, app_provider_id: str, grace_period_seconds: int = 0, ) -> SRMNetworkCapabilityDeactivateCommand: return SRMNetworkCapabilityDeactivateCommand( operation_id=str(operation_id), correlation_id=correlation_id, requested_at=requested_at, app_provider_id=app_provider_id, network_capability=NetworkCapabilityDeactivateTarget( external_ref=external_ref, grace_period_seconds=grace_period_seconds, ), ) src/open_exposure_gateway/domain/models/operations/enums.py +1 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ class OperationType(StrEnum): SCALE = "scale" TERMINATE = "terminate" NETWORK_CAPABILITY = "network_capability" NETWORK_CAPABILITY_DEACTIVATE = "network_capability_deactivate" class OperationStatus(StrEnum): Loading src/open_exposure_gateway/domain/quality_on_demand.py +17 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ from pydantic import BaseModel, Field class Subject(StrEnum): TASK_ACTIVATE = "command.srm.network.capability.activate" TASK_DEACTIVATE = "command.srm.network.capability.deactivate" OPERATION_COMPLETED = "event.srm.operation.completed" Loading Loading @@ -52,3 +53,19 @@ class SRMNetworkCapabilityActivateCommand(BaseModel): resource_zone_id: str | None = None network_domain_id: str | None = None network_capability: NetworkCapabilityPayload class NetworkCapabilityDeactivateTarget(BaseModel): capability_type: str = "qod_session" external_ref: str grace_period_seconds: int = 0 class SRMNetworkCapabilityDeactivateCommand(BaseModel): schema_version: str = "1.0" operation_id: str correlation_id: str requested_at: str app_provider_id: str source: str = "nbi_camara" network_capability: NetworkCapabilityDeactivateTarget Loading
src/open_exposure_gateway/application/mappers/quality_on_demand_mapper.py +22 −0 Original line number Diff line number Diff line Loading @@ -2,12 +2,14 @@ from uuid import UUID from open_exposure_gateway.api.camara.quality_on_demand.v0_10_1.schemas import CreateSession from open_exposure_gateway.domain.quality_on_demand import ( NetworkCapabilityDeactivateTarget, NetworkCapabilityParameters, NetworkCapabilityPayload, NetworkCapabilityTarget, NetworkCapabilityTargetApplicationServer, NetworkCapabilityTargetDevice, SRMNetworkCapabilityActivateCommand, SRMNetworkCapabilityDeactivateCommand, ) Loading Loading @@ -47,3 +49,23 @@ def build_activate_command( parameters=NetworkCapabilityParameters(duration_seconds=request.duration), ), ) def build_deactivate_command( external_ref: str, operation_id: UUID, correlation_id: str, requested_at: str, app_provider_id: str, grace_period_seconds: int = 0, ) -> SRMNetworkCapabilityDeactivateCommand: return SRMNetworkCapabilityDeactivateCommand( operation_id=str(operation_id), correlation_id=correlation_id, requested_at=requested_at, app_provider_id=app_provider_id, network_capability=NetworkCapabilityDeactivateTarget( external_ref=external_ref, grace_period_seconds=grace_period_seconds, ), )
src/open_exposure_gateway/domain/models/operations/enums.py +1 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ class OperationType(StrEnum): SCALE = "scale" TERMINATE = "terminate" NETWORK_CAPABILITY = "network_capability" NETWORK_CAPABILITY_DEACTIVATE = "network_capability_deactivate" class OperationStatus(StrEnum): Loading
src/open_exposure_gateway/domain/quality_on_demand.py +17 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ from pydantic import BaseModel, Field class Subject(StrEnum): TASK_ACTIVATE = "command.srm.network.capability.activate" TASK_DEACTIVATE = "command.srm.network.capability.deactivate" OPERATION_COMPLETED = "event.srm.operation.completed" Loading Loading @@ -52,3 +53,19 @@ class SRMNetworkCapabilityActivateCommand(BaseModel): resource_zone_id: str | None = None network_domain_id: str | None = None network_capability: NetworkCapabilityPayload class NetworkCapabilityDeactivateTarget(BaseModel): capability_type: str = "qod_session" external_ref: str grace_period_seconds: int = 0 class SRMNetworkCapabilityDeactivateCommand(BaseModel): schema_version: str = "1.0" operation_id: str correlation_id: str requested_at: str app_provider_id: str source: str = "nbi_camara" network_capability: NetworkCapabilityDeactivateTarget