|
15 | 15 | from external_models import BoundingBox, Capabilities, Characteristics, ConfigurationSettings, Contact, DateTime, \ |
16 | 16 | Documentation, \ |
17 | 17 | FeatureOfInterest, HistoryEvent, Input, LegalConstraints, \ |
18 | | - Mode, Output, Parameter, ProcessMethod, SecurityConstraints |
| 18 | + Mode, Output, Parameter, ProcessMethod, SecurityConstraints, TimePeriod |
19 | 19 |
|
20 | 20 |
|
21 | 21 | class System(BaseModel): |
@@ -53,21 +53,23 @@ class System(BaseModel): |
53 | 53 | method: ProcessMethod = Field(None) |
54 | 54 |
|
55 | 55 |
|
56 | | -class Datastream(BaseModel): |
57 | | - ds_id: str = Field(..., serialization_alias="id") |
| 56 | +class DatastreamResource(BaseModel): |
| 57 | + # model_config = ConfigDict(populate_by_name=True) |
| 58 | + |
| 59 | + ds_id: str = Field(..., alias="id") |
58 | 60 | name: str = Field(...) |
59 | | - description: str |
60 | | - valid_time: DateTime = Field(..., serialization_alias="validTime") |
61 | | - output_name: str = Field(None, serialization_alias="outputName") |
62 | | - procedure_link: Link = Field(None, serialization_alias="procedureLink@link") |
63 | | - deployment_link: Link = Field(None, serialization_alias="deploymentLink@link") |
64 | | - ultimate_feature_of_interest_link: Link = Field(None, serialization_alias="ultimateFeatureOfInterest@link") |
65 | | - sampling_feature_link: Link = Field(None, serialization_alias="samplingFeature@link") |
| 61 | + description: str = Field(None) |
| 62 | + valid_time: TimePeriod = Field(..., alias="validTime") |
| 63 | + output_name: str = Field(None, alias="outputName") |
| 64 | + procedure_link: Link = Field(None, alias="procedureLink@link") |
| 65 | + deployment_link: Link = Field(None, alias="deploymentLink@link") |
| 66 | + ultimate_feature_of_interest_link: Link = Field(None, alias="ultimateFeatureOfInterest@link") |
| 67 | + sampling_feature_link: Link = Field(None, alias="samplingFeature@link") |
66 | 68 | parameters: dict = Field(None) |
67 | | - phenomenon_time: DateTime = Field(None, serialization_alias="phenomenonTimeInterval") |
68 | | - result_time: DateTime = Field(None, serialization_alias="resultTimeInterval") |
69 | | - ds_type: str = Field(None, serialization_alias="type") |
70 | | - result_type: str = Field(None, serialization_alias="resultType") |
| 69 | + phenomenon_time: TimePeriod = Field(None, alias="phenomenonTimeInterval") |
| 70 | + result_time: TimePeriod = Field(None, alias="resultTimeInterval") |
| 71 | + ds_type: str = Field(None, alias="type") |
| 72 | + result_type: str = Field(None, alias="resultType") |
71 | 73 | links: List[Link] = Field(None) |
72 | 74 | schema: DatastreamSchema = Field(None) |
73 | 75 |
|
|
0 commit comments