""" Options: Date: 2026-06-13 13:26:54 Version: 8.80 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://riskstoreng-dev.nephila.com/api #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: IngestEventSetRequest.* #ExcludeTypes: #DefaultImports: datetime,decimal,marshmallow.fields:*,servicestack:*,typing:*,dataclasses:dataclass/field,dataclasses_json:dataclass_json/LetterCase/Undefined/config,enum:Enum/IntEnum #DataClass: #DataClassJson: """ import datetime import decimal from marshmallow.fields import * from servicestack import * from typing import * from dataclasses import dataclass, field from dataclasses_json import dataclass_json, LetterCase, Undefined, config from enum import Enum, IntEnum class ProcessingStatus(IntEnum): NEW = 0 PROCESSING = 1 FAILED = 10 SUCCESSFUL = 20 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class EventSetTelemetry: event_set_id: int = 0 started_date_time_utc: Optional[datetime.datetime] = None ended_date_time_uct: Optional[datetime.datetime] = None event_loss_count: int = 0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class EventSet: event_set_id: int = 0 processing_status: Optional[ProcessingStatus] = None source_model_system: Optional[str] = None source_event_set_id: Optional[str] = None model_id: Optional[str] = None perspective_id: int = 0 simulation_count: int = 0 program_calculation_id: Optional[str] = None description: Optional[str] = None limit: float = 0.0 reinstatements: int = 0 event_source_type: Optional[str] = None event_set_origin_id: Optional[str] = None event_set_origin_name: Optional[str] = None event_set_origin_type: Optional[str] = None source_event_set_loss_container: Optional[str] = None source_event_set_loss_path: Optional[str] = None resolution: Optional[str] = None results_hash: Optional[str] = None expected_loss_aggregate: float = 0.0 expected_loss_occurrence: float = 0.0 probability_of_attachment: float = 0.0 probability_of_exhaustion: float = 0.0 approved_date_time_utc: datetime.datetime = datetime.datetime(1, 1, 1) approved_by: Optional[str] = None event_source_id: int = 0 valid_from_utc: datetime.datetime = datetime.datetime(1, 1, 1) valid_to_utc: datetime.datetime = datetime.datetime(1, 1, 1) container: Optional[str] = None blob_name: Optional[str] = None updated_date_utc: datetime.datetime = datetime.datetime(1, 1, 1) is_archived: bool = False archived_loss_data_blob_path: Optional[str] = None archived_loss_data_hash: Optional[str] = None event_set_telemetry: Optional[EventSetTelemetry] = None # @Route("/riskstore/eventset/ingest", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class IngestEventSetRequest(IReturnVoid, IPost): event_set: Optional[EventSet] = None