1919import json
2020
2121
22- from typing import Any , Dict , Optional
23- from pydantic import BaseModel , Field , StrictBool , StrictStr
24- from segment_public_api .models .id_sync_options import IDSyncOptions
22+ from typing import Any , Dict , List , Optional
23+ from pydantic import BaseModel , Field , StrictBool , StrictStr , conlist
24+ from segment_public_api .models .id_sync_configuration_input import IDSyncConfigurationInput
2525from segment_public_api .models .metadata import Metadata
2626
2727class SimpleDestination (BaseModel ):
@@ -37,7 +37,7 @@ class SimpleDestination(BaseModel):
3737 settings : Dict [str , Any ] = Field (..., description = "The Destination settings." )
3838 destination_id : StrictStr = Field (..., alias = "destinationId" , description = "The Destination id." )
3939 metadata : Optional [Metadata ] = None
40- id_sync_configuration : Optional [IDSyncOptions ] = Field (None , alias = "idSyncConfiguration" )
40+ id_sync_configuration : Optional [conlist ( IDSyncConfigurationInput ) ] = Field (None , alias = "idSyncConfiguration" , description = "ID Sync configuration - array of external IDs with their strategies. " )
4141 __properties = ["id" , "name" , "sourceId" , "enabled" , "createdAt" , "updatedAt" , "settings" , "destinationId" , "metadata" , "idSyncConfiguration" ]
4242
4343 class Config :
@@ -67,9 +67,13 @@ def to_dict(self):
6767 # override the default output from pydantic by calling `to_dict()` of metadata
6868 if self .metadata :
6969 _dict ['metadata' ] = self .metadata .to_dict ()
70- # override the default output from pydantic by calling `to_dict()` of id_sync_configuration
70+ # override the default output from pydantic by calling `to_dict()` of each item in id_sync_configuration (list)
71+ _items = []
7172 if self .id_sync_configuration :
72- _dict ['idSyncConfiguration' ] = self .id_sync_configuration .to_dict ()
73+ for _item in self .id_sync_configuration :
74+ if _item :
75+ _items .append (_item .to_dict ())
76+ _dict ['idSyncConfiguration' ] = _items
7377 return _dict
7478
7579 @classmethod
@@ -91,7 +95,7 @@ def from_dict(cls, obj: dict) -> SimpleDestination:
9195 "settings" : obj .get ("settings" ),
9296 "destination_id" : obj .get ("destinationId" ),
9397 "metadata" : Metadata .from_dict (obj .get ("metadata" )) if obj .get ("metadata" ) is not None else None ,
94- "id_sync_configuration" : IDSyncOptions .from_dict (obj .get ("idSyncConfiguration" )) if obj .get ("idSyncConfiguration" ) is not None else None
98+ "id_sync_configuration" : [ IDSyncConfigurationInput .from_dict (_item ) for _item in obj .get ("idSyncConfiguration" )] if obj .get ("idSyncConfiguration" ) is not None else None
9599 })
96100 return _obj
97101
0 commit comments