@@ -78,7 +78,7 @@ func (s *Service) AppBrickInstancesList(a *app.ArduinoApp) (AppBrickInstancesRes
7878 return AppBrickInstancesResult {}, fmt .Errorf ("brick not found with id %s" , brickInstance .ID )
7979 }
8080
81- variablesMap , configVariables := getBrickConfigDetails (brick , brickInstance .Variables )
81+ variablesMap , configVariables := getInstanceBrickConfigVAriableDetails (brick , brickInstance .Variables )
8282
8383 res .BrickInstances [i ] = BrickInstanceListItem {
8484 ID : brick .ID ,
@@ -107,7 +107,7 @@ func (s *Service) AppBrickInstanceDetails(a *app.ArduinoApp, brickID string) (Br
107107 return BrickInstance {}, fmt .Errorf ("brick %s not added in the app" , brickID )
108108 }
109109
110- variables , configVariables := getBrickConfigDetails (brick , a .Descriptor .Bricks [brickIndex ].Variables )
110+ variables , configVariables := getInstanceBrickConfigVAriableDetails (brick , a .Descriptor .Bricks [brickIndex ].Variables )
111111
112112 modelID := a .Descriptor .Bricks [brickIndex ].Model
113113 if modelID == "" {
@@ -134,7 +134,7 @@ func (s *Service) AppBrickInstanceDetails(a *app.ArduinoApp, brickID string) (Br
134134 }, nil
135135}
136136
137- func getBrickConfigDetails (
137+ func getInstanceBrickConfigVAriableDetails (
138138 brick * bricksindex.Brick , userVariables map [string ]string ,
139139) (map [string ]string , []BrickConfigVariable ) {
140140 variablesMap := make (map [string ]string , len (brick .Variables ))
@@ -167,15 +167,6 @@ func (s *Service) BricksDetails(id string, idProvider *app.IDProvider,
167167 return BrickDetailsResult {}, ErrBrickNotFound
168168 }
169169
170- variables := make (map [string ]BrickVariable , len (brick .Variables ))
171- for _ , v := range brick .Variables {
172- variables [v .Name ] = BrickVariable {
173- DefaultValue : v .DefaultValue ,
174- Description : v .Description ,
175- Required : v .IsRequired (),
176- }
177- }
178-
179170 readme , err := s .staticStore .GetBrickReadmeFromID (brick .ID )
180171 if err != nil {
181172 return BrickDetailsResult {}, fmt .Errorf ("cannot open docs for brick %s: %w" , id , err )
@@ -200,6 +191,9 @@ func (s *Service) BricksDetails(id string, idProvider *app.IDProvider,
200191 if err != nil {
201192 return BrickDetailsResult {}, fmt .Errorf ("unable to get used by apps: %w" , err )
202193 }
194+
195+ variables , configVariables := getBrickConfigVariableDetails (brick )
196+
203197 return BrickDetailsResult {
204198 ID : id ,
205199 Name : brick .Name ,
@@ -220,9 +214,33 @@ func (s *Service) BricksDetails(id string, idProvider *app.IDProvider,
220214 Description : m .ModuleDescription ,
221215 }
222216 }),
217+ ConfigVariables : configVariables ,
223218 }, nil
224219}
225220
221+ func getBrickConfigVariableDetails (
222+ brick * bricksindex.Brick ) (map [string ]BrickVariable , []BrickConfigVariable ) {
223+ variablesMap := make (map [string ]BrickVariable , len (brick .Variables ))
224+ variableDetails := make ([]BrickConfigVariable , 0 , len (brick .Variables ))
225+
226+ for _ , v := range brick .Variables {
227+ variablesMap [v .Name ] = BrickVariable {
228+ DefaultValue : v .DefaultValue ,
229+ Description : v .Description ,
230+ Required : v .IsRequired (),
231+ }
232+
233+ variableDetails = append (variableDetails , BrickConfigVariable {
234+ Name : v .Name ,
235+ Value : v .DefaultValue ,
236+ Description : v .Description ,
237+ Required : v .IsRequired (),
238+ })
239+ }
240+
241+ return variablesMap , variableDetails
242+ }
243+
226244func getUsedByApps (
227245 cfg config.Configuration , brickId string , idProvider * app.IDProvider ) ([]AppReference , error ) {
228246 var (
0 commit comments