22
33from pydantic import BaseModel , ConfigDict , Field , RootModel , field_serializer , model_validator
44
5- from .enums import PropertyType , RelationType
5+ from .enums import CustomerPropertyType , CustomerRelationType
6+
7+ from .enums import PropertyType as PropertyType
8+ from .enums import RelationType as RelationType
69from .pagination import PaginatedResponse
710from .work_item_property_configurations import (
811 DateAttributeSettings ,
@@ -161,8 +164,8 @@ class CustomerProperty(BaseModel):
161164 description : str | None = None
162165 logo_props : Any | None = None
163166 sort_order : float | None = None
164- property_type : PropertyType
165- relation_type : RelationType | None = None
167+ property_type : CustomerPropertyType
168+ relation_type : CustomerRelationType | None = None
166169 is_required : bool | None = None
167170 default_value : list [str ] | None = None
168171 settings : PropertySettings | dict = None
@@ -177,11 +180,11 @@ class CustomerProperty(BaseModel):
177180 options : list [CustomerPropertyOption ] | None = None
178181
179182 @field_serializer ("property_type" )
180- def serialize_property_type (self , value : PropertyType ) -> str | None :
183+ def serialize_property_type (self , value : CustomerPropertyType ) -> str | None :
181184 return value .value if value else None
182185
183186 @field_serializer ("relation_type" )
184- def serialize_relation_type (self , value : RelationType ) -> str | None :
187+ def serialize_relation_type (self , value : CustomerRelationType ) -> str | None :
185188 return value .value if value else None
186189
187190
@@ -195,8 +198,8 @@ class CreateCustomerProperty(BaseModel):
195198 description : str | None = None
196199 logo_props : Any | None = None
197200 sort_order : float | None = None
198- property_type : PropertyType
199- relation_type : RelationType | None = None
201+ property_type : CustomerPropertyType
202+ relation_type : CustomerRelationType | None = None
200203 is_required : bool | None = None
201204 default_value : list [str ] | None = None
202205 settings : PropertySettings = None
@@ -208,11 +211,11 @@ class CreateCustomerProperty(BaseModel):
208211 options : list [CreateCustomerPropertyOption ] | None = None
209212
210213 @field_serializer ("property_type" )
211- def serialize_property_type (self , value : PropertyType ) -> str | None :
214+ def serialize_property_type (self , value : CustomerPropertyType ) -> str | None :
212215 return value .value if value else None
213216
214217 @field_serializer ("relation_type" )
215- def serialize_relation_type (self , value : RelationType ) -> str | None :
218+ def serialize_relation_type (self , value : CustomerRelationType ) -> str | None :
216219 return value .value if value else None
217220
218221 @model_validator (mode = "after" )
@@ -223,7 +226,7 @@ def validate_settings_and_relation_type(self) -> "CreateCustomerProperty":
223226 relation_type = self .relation_type
224227
225228 # TEXT properties require TextAttributeSettings
226- if prop_type == PropertyType .TEXT :
229+ if prop_type == CustomerPropertyType .TEXT :
227230 if settings is None :
228231 raise ValueError (
229232 "settings with TextAttributeSettings is required for TEXT properties"
@@ -232,7 +235,7 @@ def validate_settings_and_relation_type(self) -> "CreateCustomerProperty":
232235 raise ValueError ("settings must be TextAttributeSettings for TEXT properties" )
233236
234237 # DATETIME properties require DateAttributeSettings
235- if prop_type == PropertyType .DATETIME :
238+ if prop_type == CustomerPropertyType .DATETIME :
236239 if settings is None :
237240 raise ValueError (
238241 "settings with DateAttributeSettings is required for DATETIME properties"
@@ -241,7 +244,7 @@ def validate_settings_and_relation_type(self) -> "CreateCustomerProperty":
241244 raise ValueError ("settings must be DateAttributeSettings for DATETIME properties" )
242245
243246 # RELATION properties require relation_type
244- if prop_type == PropertyType .RELATION :
247+ if prop_type == CustomerPropertyType .RELATION :
245248 if relation_type is None :
246249 raise ValueError ("relation_type is required for RELATION properties" )
247250
@@ -257,8 +260,8 @@ class UpdateCustomerProperty(BaseModel):
257260 description : str | None = None
258261 logo_props : Any | None = None
259262 sort_order : float | None = None
260- property_type : PropertyType | None = None
261- relation_type : RelationType | None = None
263+ property_type : CustomerPropertyType | None = None
264+ relation_type : CustomerRelationType | None = None
262265 is_required : bool | None = None
263266 default_value : list [str ] | None = None
264267 settings : PropertySettings = None
@@ -272,11 +275,11 @@ class UpdateCustomerProperty(BaseModel):
272275 options : list [UpdateCustomerPropertyOption ] | None = None
273276
274277 @field_serializer ("property_type" )
275- def serialize_property_type (self , value : PropertyType ) -> str | None :
278+ def serialize_property_type (self , value : CustomerPropertyType ) -> str | None :
276279 return value .value if value else None
277280
278281 @field_serializer ("relation_type" )
279- def serialize_relation_type (self , value : RelationType ) -> str | None :
282+ def serialize_relation_type (self , value : CustomerRelationType ) -> str | None :
280283 return value .value if value else None
281284
282285 @model_validator (mode = "after" )
@@ -291,7 +294,7 @@ def validate_settings_and_relation_type(self) -> "UpdateCustomerProperty":
291294 return self
292295
293296 # TEXT properties require TextAttributeSettings
294- if prop_type == PropertyType .TEXT :
297+ if prop_type == CustomerPropertyType .TEXT :
295298 if settings is None :
296299 raise ValueError (
297300 "settings with TextAttributeSettings is required when updating to "
@@ -301,7 +304,7 @@ def validate_settings_and_relation_type(self) -> "UpdateCustomerProperty":
301304 raise ValueError ("settings must be TextAttributeSettings for TEXT properties" )
302305
303306 # DATETIME properties require DateAttributeSettings
304- if prop_type == PropertyType .DATETIME :
307+ if prop_type == CustomerPropertyType .DATETIME :
305308 if settings is None :
306309 raise ValueError (
307310 "settings with DateAttributeSettings is required when updating to "
@@ -311,7 +314,7 @@ def validate_settings_and_relation_type(self) -> "UpdateCustomerProperty":
311314 raise ValueError ("settings must be DateAttributeSettings for DATETIME properties" )
312315
313316 # RELATION properties require relation_type
314- if prop_type == PropertyType .RELATION :
317+ if prop_type == CustomerPropertyType .RELATION :
315318 if relation_type is None :
316319 raise ValueError (
317320 "relation_type is required when updating to RELATION property_type"
0 commit comments