Skip to content

Commit 8900850

Browse files
committed
brick - add require on list and details
1 parent 537694f commit 8900850

File tree

3 files changed

+40
-35
lines changed

3 files changed

+40
-35
lines changed

internal/orchestrator/bricks/bricks.go

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -58,12 +58,13 @@ func (s *Service) List() (BrickListResult, error) {
5858
res := BrickListResult{Bricks: make([]BrickListItem, len(s.bricksIndex.Bricks))}
5959
for i, brick := range s.bricksIndex.Bricks {
6060
res.Bricks[i] = BrickListItem{
61-
ID: brick.ID,
62-
Name: brick.Name,
63-
Author: "Arduino", // TODO: for now we only support our bricks
64-
Description: brick.Description,
65-
Category: brick.Category,
66-
Status: "installed",
61+
ID: brick.ID,
62+
Name: brick.Name,
63+
Author: "Arduino", // TODO: for now we only support our bricks
64+
Description: brick.Description,
65+
Category: brick.Category,
66+
Status: "installed",
67+
ModelRequired: brick.ModelRequired,
6768
Models: f.Map(s.modelsIndex.GetModelsByBrick(brick.ID), func(m modelsindex.AIModel) string {
6869
return m.ID
6970
}),
@@ -195,17 +196,18 @@ func (s *Service) BricksDetails(id string, idProvider *app.IDProvider,
195196
}
196197

197198
return BrickDetailsResult{
198-
ID: id,
199-
Name: brick.Name,
200-
Author: "Arduino", // TODO: for now we only support our bricks
201-
Description: brick.Description,
202-
Category: brick.Category,
203-
Status: "installed", // For now every Arduino brick are installed
204-
Variables: variables,
205-
Readme: readme,
206-
ApiDocsPath: apiDocsPath,
207-
CodeExamples: codeExamples,
208-
UsedByApps: usedByApps,
199+
ID: id,
200+
Name: brick.Name,
201+
Author: "Arduino", // TODO: for now we only support our bricks
202+
Description: brick.Description,
203+
Category: brick.Category,
204+
ModelRequired: brick.ModelRequired,
205+
Status: "installed", // For now every Arduino brick are installed
206+
Variables: variables,
207+
Readme: readme,
208+
ApiDocsPath: apiDocsPath,
209+
CodeExamples: codeExamples,
210+
UsedByApps: usedByApps,
209211
}, nil
210212
}
211213

internal/orchestrator/bricks/types.go

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,14 @@ type BrickListResult struct {
2020
}
2121

2222
type BrickListItem struct {
23-
ID string `json:"id"`
24-
Name string `json:"name"`
25-
Author string `json:"author"`
26-
Description string `json:"description"`
27-
Category string `json:"category"`
28-
Status string `json:"status"`
29-
Models []string `json:"models"`
23+
ID string `json:"id"`
24+
Name string `json:"name"`
25+
Author string `json:"author"`
26+
Description string `json:"description"`
27+
Category string `json:"category"`
28+
Status string `json:"status"`
29+
ModelRequired bool `json:"model_required"`
30+
Models []string `json:"models"`
3031
}
3132

3233
type AppBrickInstancesResult struct {
@@ -67,15 +68,16 @@ type AppReference struct {
6768
}
6869

6970
type BrickDetailsResult struct {
70-
ID string `json:"id"`
71-
Name string `json:"name"`
72-
Author string `json:"author"`
73-
Description string `json:"description"`
74-
Category string `json:"category"`
75-
Status string `json:"status"`
76-
Variables map[string]BrickVariable `json:"variables,omitempty"`
77-
Readme string `json:"readme"`
78-
ApiDocsPath string `json:"api_docs_path"`
79-
CodeExamples []CodeExample `json:"code_examples"`
80-
UsedByApps []AppReference `json:"used_by_apps"`
71+
ID string `json:"id"`
72+
Name string `json:"name"`
73+
Author string `json:"author"`
74+
Description string `json:"description"`
75+
Category string `json:"category"`
76+
Status string `json:"status"`
77+
ModelRequired bool `json:"model_required"`
78+
Variables map[string]BrickVariable `json:"variables,omitempty"`
79+
Readme string `json:"readme"`
80+
ApiDocsPath string `json:"api_docs_path"`
81+
CodeExamples []CodeExample `json:"code_examples"`
82+
UsedByApps []AppReference `json:"used_by_apps"`
8183
}

internal/orchestrator/bricksindex/bricks_index.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ type Brick struct {
5858
RequireModel bool `yaml:"require_model"`
5959
Variables []BrickVariable `yaml:"variables,omitempty"`
6060
Ports []string `yaml:"ports,omitempty"`
61+
ModelRequired bool `yaml:"model_required,omitempty"`
6162
ModelName string `yaml:"model_name,omitempty"`
6263
MountDevicesIntoContainer bool `yaml:"mount_devices_into_container,omitempty"`
6364
RequiredDevices []string `yaml:"required_devices,omitempty"`

0 commit comments

Comments
 (0)