@@ -27,27 +27,29 @@ class TemplateViewModel:
2727
2828 def __init__ (
2929 self ,
30+ aliases : List [str ],
3031 description : str ,
3132 icon : Optional [str ],
3233 id : str ,
3334 immutable_files : Optional [List [str ]],
3435 name : str ,
36+ parameters : List [TemplateParameter ],
3537 reference : Optional [str ],
3638 source : Optional [str ],
37- parameters : List [TemplateParameter ],
3839 version : Optional [str ],
3940 versions : List [str ],
4041 ):
42+ self .aliases : List [str ] = aliases
4143 self .description : str = description
4244 self .icon = icon
4345 self .id : str = id
4446 self .immutable_files : Optional [List [str ]] = immutable_files
4547 self .name : str = name
46- self .reference = reference
47- self .source = source
4848 self .parameters : List [TemplateParameterViewModel ] = [
4949 TemplateParameterViewModel .from_template_parameter (p ) for p in parameters
5050 ]
51+ self .reference = reference
52+ self .source = source
5153 self .version = version
5254 self .versions = versions
5355
@@ -62,15 +64,16 @@ def from_template(cls, template: Template) -> "TemplateViewModel":
6264 TemplateViewModel: View model for a template.
6365 """
6466 return cls (
65- source = template .source ,
66- reference = template .reference ,
67- version = template .version ,
68- id = template .id ,
69- name = template .name ,
67+ aliases = template .aliases ,
7068 description = template .description ,
71- parameters = template .parameters ,
7269 icon = template .icon ,
70+ id = template .id ,
7371 immutable_files = template .immutable_files ,
72+ name = template .name ,
73+ parameters = template .parameters ,
74+ reference = template .reference ,
75+ source = template .source ,
76+ version = template .version ,
7477 versions = template .get_all_references (),
7578 )
7679
@@ -115,21 +118,31 @@ class TemplateChangeViewModel:
115118 """A view model for resulting changes from a template set/update."""
116119
117120 def __init__ (
118- self , id : str , source : Optional [str ], reference : Optional [str ], version : Optional [str ], file_changes : List [str ]
121+ self ,
122+ file_changes : List [str ],
123+ id : str ,
124+ old_id : Optional [str ],
125+ reference : Optional [str ],
126+ source : Optional [str ],
127+ version : Optional [str ],
119128 ):
129+ self .file_changes = file_changes
120130 self .id : str = id
121- self .source = source
131+ self .old_id : Optional [ str ] = old_id if old_id != id else ""
122132 self .reference = reference
133+ self .source = source
123134 self .version = version
124- self .file_changes = file_changes
125135
126136 @classmethod
127- def from_template (cls , template : RenderedTemplate , actions : Dict [str , FileAction ]) -> "TemplateChangeViewModel" :
137+ def from_template (
138+ cls , template : RenderedTemplate , actions : Dict [str , FileAction ], old_id : Optional [str ] = None
139+ ) -> "TemplateChangeViewModel" :
128140 """Create view model from ``Template``.
129141
130142 Args:
131143 template(RenderedTemplate): Input rendered template.
132144 actions(Dict[str, FileAction]): Mapping of paths to actions taken when rendering the template.
145+ old_id(Optional[str]: Current template Id.
133146
134147 Returns:
135148 TemplateChangeViewModel: View model for the template change.
@@ -151,9 +164,10 @@ def from_template(cls, template: RenderedTemplate, actions: Dict[str, FileAction
151164 ]
152165
153166 return cls (
167+ file_changes = file_changes ,
154168 id = template .template .id ,
155- source = template . template . source ,
169+ old_id = old_id ,
156170 reference = template .template .reference ,
171+ source = template .template .source ,
157172 version = template .template .version ,
158- file_changes = file_changes ,
159173 )
0 commit comments