44 from typing import Literal
55except ImportError :
66 from typing_extensions import Literal
7- from pydantic import BaseModel , Field , PydanticValueError , validator
7+ from pydantic import BaseModel , Field , validator
88
99
1010# dbt2looker utility types
11- class UnsupportedDbtAdapterError (PydanticValueError ):
12- code = 'unsupported_dbt_adapter'
13- msg_template = '{wrong_value} is not a supported dbt adapter'
11+ class UnsupportedDbtAdapterError (ValueError ):
12+ def __init__ (self , wrong_value : str ):
13+ msg = f'{ wrong_value } is not a supported dbt adapter'
14+ super ().__init__ (msg )
1415
1516
1617class SupportedDbtAdapters (str , Enum ):
@@ -87,13 +88,13 @@ class Dbt2LookerMeasure(BaseModel):
8788 type : LookerMeasureType
8889 filters : Optional [List [Dict [str , str ]]] = []
8990 description : Optional [str ] = ''
90- sql : Optional [str ]
91- value_format_name : Optional [LookerValueFormatName ]
92- group_label : Optional [str ]
93- view_label : Optional [str ]
94- label : Optional [str ]
95- hidden : Optional [LookerHiddenType ]
96- drill_fields : Optional [List [str ]]
91+ sql : Optional [str ] = None
92+ value_format_name : Optional [LookerValueFormatName ] = None
93+ group_label : Optional [str ] = None
94+ view_label : Optional [str ] = None
95+ label : Optional [str ] = None
96+ hidden : Optional [LookerHiddenType ] = None
97+ drill_fields : Optional [List [str ]] = None
9798
9899 @validator ('filters' )
99100 def filters_are_singular_dicts (cls , v : List [Dict [str , str ]]):
@@ -106,21 +107,21 @@ def filters_are_singular_dicts(cls, v: List[Dict[str, str]]):
106107
107108class Dbt2LookerDimension (BaseModel ):
108109 enabled : Optional [bool ] = True
109- hidden : Optional [LookerHiddenType ]
110- name : Optional [str ]
111- sql : Optional [str ]
110+ hidden : Optional [LookerHiddenType ] = None
111+ name : Optional [str ] = None
112+ sql : Optional [str ] = None
112113 description : Optional [str ] = ''
113- value_format_name : Optional [LookerValueFormatName ]
114- group_label : Optional [str ]
115- view_label : Optional [str ]
116- label : Optional [str ]
114+ value_format_name : Optional [LookerValueFormatName ] = None
115+ group_label : Optional [str ] = None
116+ view_label : Optional [str ] = None
117+ label : Optional [str ] = None
117118 # similar to data_type, will become type for looker dimensions defined
118119 # at the model level
119- type : Optional [str ]
120- convert_tz : Optional [LookerConvertTimezoneType ]
121- timeframes : Optional [List [str ]]
122- suggestions : Optional [List [str ]]
123- required_access_grants : Optional [List [str ]]
120+ type : Optional [str ] = None
121+ convert_tz : Optional [LookerConvertTimezoneType ] = None
122+ timeframes : Optional [List [str ]] = None
123+ suggestions : Optional [List [str ]] = None
124+ required_access_grants : Optional [List [str ]] = None
124125
125126
126127class Dbt2LookerMeta (BaseModel ):
@@ -154,7 +155,7 @@ class DbtModelColumnMeta(Dbt2LookerMeta):
154155class DbtModelColumn (BaseModel ):
155156 name : str
156157 description : Optional [str ] = ''
157- data_type : Optional [str ]
158+ data_type : Optional [str ] = None
158159 meta : DbtModelColumnMeta
159160
160161
@@ -167,16 +168,16 @@ class Dbt2LookerExploreJoin(BaseModel):
167168 join : str
168169 type : Optional [LookerJoinType ] = LookerJoinType .left_outer
169170 relationship : Optional [LookerJoinRelationship ] = LookerJoinRelationship .many_to_one
170- sql_on : Optional [str ]
171- foreign_key : Optional [str ]
172- view_label : Optional [str ]
171+ sql_on : Optional [str ] = None
172+ foreign_key : Optional [str ] = None
173+ view_label : Optional [str ] = None
173174
174175
175176class Dbt2LookerModelMeta (BaseModel ):
176177 joins : Optional [List [Dbt2LookerExploreJoin ]] = []
177- view_name : Optional [str ]
178- label : Optional [str ]
179- view_label : Optional [str ]
178+ view_name : Optional [str ] = None
179+ label : Optional [str ] = None
180+ view_label : Optional [str ] = None
180181 dimensions : Optional [List [Dbt2LookerDimension ]] = []
181182
182183
@@ -194,7 +195,7 @@ class DbtModel(DbtNode):
194195 description : Optional [str ] = ''
195196 columns : Dict [str , DbtModelColumn ]
196197 tags : List [str ]
197- config : Optional [DbtModelConfig ]
198+ config : Optional [DbtModelConfig ] = None
198199
199200 @validator ('columns' )
200201 def case_insensitive_column_names (cls , v : Dict [str , DbtModelColumn ]):
0 commit comments