Skip to content

Commit 1df22d8

Browse files
committed
refactor: code structure and add root command functionalities
1 parent 5a02f35 commit 1df22d8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+3509
-8797
lines changed

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,4 +97,4 @@ jobs:
9797
git add install.sh
9898
git commit -m "Update install script to v${{ steps.version.outputs.VERSION }}" || exit 0
9999
git push || exit 0
100-
fi
100+
fi

cmd/ee/main.go

Lines changed: 32 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99

1010
"github.com/n1rna/ee-cli/internal/command"
1111
"github.com/n1rna/ee-cli/internal/config"
12-
"github.com/n1rna/ee-cli/internal/storage"
12+
"github.com/n1rna/ee-cli/internal/entities"
1313
)
1414

1515
var (
@@ -21,39 +21,37 @@ var (
2121
)
2222

2323
func main() {
24-
// Create root command
25-
rootCmd := &cobra.Command{
26-
Use: "ee",
27-
Short: "ee - Environment variable manager with schema support",
28-
Long: `ee is a CLI tool for managing environment variables in a structured way.
29-
It supports schema validation, multiple environments, and inheritance.`,
30-
Version: version,
31-
PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
32-
// Load configuration from environment
33-
cfg, err := config.LoadConfig()
34-
if err != nil {
35-
return fmt.Errorf("failed to load configuration: %w", err)
36-
}
24+
// Create root command using the dedicated root command module
25+
rootCmd := command.NewRootCommand()
26+
rootCmd.Version = version
3727

38-
// Override base directory if specified via flag
39-
if cfgBaseDir != "" {
40-
cfg.BaseDir = cfgBaseDir
41-
// Re-validate after override
42-
if err := cfg.Validate(); err != nil {
43-
return fmt.Errorf("invalid configuration: %w", err)
44-
}
45-
}
28+
// Set up persistent pre-run for entity manager initialization
29+
rootCmd.PersistentPreRunE = func(cmd *cobra.Command, args []string) error {
30+
// Load configuration from environment
31+
cfg, err := config.LoadConfig()
32+
if err != nil {
33+
return fmt.Errorf("failed to load configuration: %w", err)
34+
}
4635

47-
// Initialize UUID-based storage with configuration
48-
store, err := storage.NewUUIDStorage(cfg)
49-
if err != nil {
50-
return fmt.Errorf("failed to initialize storage: %w", err)
36+
// Override base directory if specified via flag
37+
if cfgBaseDir != "" {
38+
cfg.BaseDir = cfgBaseDir
39+
// Re-validate after override
40+
if err := cfg.Validate(); err != nil {
41+
return fmt.Errorf("invalid configuration: %w", err)
5142
}
43+
}
44+
45+
// Initialize entity manager
46+
entityManager, err := entities.NewManager(cfg)
47+
if err != nil {
48+
return fmt.Errorf("failed to initialize entity manager: %w", err)
49+
}
5250

53-
// Store in command context
54-
cmd.SetContext(command.WithStorage(cmd.Context(), store))
55-
return nil
56-
},
51+
// Store entity manager in command context
52+
ctx := command.WithEntityManager(cmd.Context(), entityManager)
53+
cmd.SetContext(ctx)
54+
return nil
5755
}
5856

5957
// Add global flags
@@ -87,10 +85,10 @@ It supports schema validation, multiple environments, and inheritance.`,
8785
command.NewProjectCommand("entities"), // Project management
8886

8987
// Remote Operations - require authentication
90-
command.NewUICommand("authenticated"), // Terminal user interface
91-
command.NewPushCommand("authenticated"), // Push to remote
92-
command.NewPullCommand("authenticated"), // Pull from remote
93-
command.NewRemoteCommand("authenticated"), // Remote configuration
88+
command.NewPushCommand("authenticated"), // Push to remote
89+
command.NewPullCommand("authenticated"), // Pull from remote
90+
// command.NewUICommand("authenticated"), // Terminal user interface - TODO: refactor
91+
// command.NewRemoteCommand("authenticated"), // Remote configuration - TODO: refactor
9492
)
9593

9694
// Enable version flag

go.mod

Lines changed: 6 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3,31 +3,12 @@ module github.com/n1rna/ee-cli
33
go 1.23.3
44

55
require (
6-
github.com/atotto/clipboard v0.1.4 // indirect
7-
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
8-
github.com/charmbracelet/bubbles v0.21.0 // indirect
9-
github.com/charmbracelet/bubbletea v1.3.6 // indirect
10-
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc // indirect
11-
github.com/charmbracelet/lipgloss v1.1.0 // indirect
12-
github.com/charmbracelet/x/ansi v0.9.3 // indirect
13-
github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd // indirect
14-
github.com/charmbracelet/x/term v0.2.1 // indirect
15-
github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect
16-
github.com/google/uuid v1.6.0 // indirect
6+
github.com/google/uuid v1.6.0
7+
github.com/spf13/cobra v1.8.1
8+
gopkg.in/yaml.v3 v3.0.1
9+
)
10+
11+
require (
1712
github.com/inconshreveable/mousetrap v1.1.0 // indirect
18-
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
19-
github.com/mattn/go-isatty v0.0.20 // indirect
20-
github.com/mattn/go-localereader v0.0.1 // indirect
21-
github.com/mattn/go-runewidth v0.0.16 // indirect
22-
github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect
23-
github.com/muesli/cancelreader v0.2.2 // indirect
24-
github.com/muesli/termenv v0.16.0 // indirect
25-
github.com/rivo/uniseg v0.4.7 // indirect
26-
github.com/spf13/cobra v1.8.1 // indirect
2713
github.com/spf13/pflag v1.0.5 // indirect
28-
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
29-
golang.org/x/sync v0.15.0 // indirect
30-
golang.org/x/sys v0.33.0 // indirect
31-
golang.org/x/text v0.3.8 // indirect
32-
gopkg.in/yaml.v3 v3.0.1 // indirect
3314
)

go.sum

Lines changed: 1 addition & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,14 @@
1-
github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4=
2-
github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI=
3-
github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k=
4-
github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8=
5-
github.com/charmbracelet/bubbles v0.21.0 h1:9TdC97SdRVg/1aaXNVWfFH3nnLAwOXr8Fn6u6mfQdFs=
6-
github.com/charmbracelet/bubbles v0.21.0/go.mod h1:HF+v6QUR4HkEpz62dx7ym2xc71/KBHg+zKwJtMw+qtg=
7-
github.com/charmbracelet/bubbletea v1.3.6 h1:VkHIxPJQeDt0aFJIsVxw8BQdh/F/L2KKZGsK6et5taU=
8-
github.com/charmbracelet/bubbletea v1.3.6/go.mod h1:oQD9VCRQFF8KplacJLo28/jofOI2ToOfGYeFgBBxHOc=
9-
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc h1:4pZI35227imm7yK2bGPcfpFEmuY1gc2YSTShr4iJBfs=
10-
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc/go.mod h1:X4/0JoqgTIPSFcRA/P6INZzIuyqdFY5rm8tb41s9okk=
11-
github.com/charmbracelet/lipgloss v1.1.0 h1:vYXsiLHVkK7fp74RkV7b2kq9+zDLoEU4MZoFqR/noCY=
12-
github.com/charmbracelet/lipgloss v1.1.0/go.mod h1:/6Q8FR2o+kj8rz4Dq0zQc3vYf7X+B0binUUBwA0aL30=
13-
github.com/charmbracelet/x/ansi v0.9.3 h1:BXt5DHS/MKF+LjuK4huWrC6NCvHtexww7dMayh6GXd0=
14-
github.com/charmbracelet/x/ansi v0.9.3/go.mod h1:3RQDQ6lDnROptfpWuUVIUG64bD2g2BgntdxH0Ya5TeE=
15-
github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd h1:vy0GVL4jeHEwG5YOXDmi86oYw2yuYUGqz6a8sLwg0X8=
16-
github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd/go.mod h1:xe0nKWGd3eJgtqZRaN9RjMtK7xUYchjzPr7q6kcvCCs=
17-
github.com/charmbracelet/x/term v0.2.1 h1:AQeHeLZ1OqSXhrAWpYUtZyX1T3zVxfpZuEQMIQaGIAQ=
18-
github.com/charmbracelet/x/term v0.2.1/go.mod h1:oQ4enTYFV7QN4m0i9mzHrViD7TQKvNEEkHUMCmsxdUg=
191
github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
20-
github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f h1:Y/CXytFA4m6baUTXGLOoWe4PQhGxaX0KpnayAqC48p4=
21-
github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f/go.mod h1:vw97MGsxSvLiUE2X8qFplwetxpGLQrlU1Q9AUEIzCaM=
222
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
233
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
244
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
255
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
26-
github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY=
27-
github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
28-
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
29-
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
30-
github.com/mattn/go-localereader v0.0.1 h1:ygSAOl7ZXTx4RdPYinUpg6W99U8jWvWi9Ye2JC/oIi4=
31-
github.com/mattn/go-localereader v0.0.1/go.mod h1:8fBrzywKY7BI3czFoHkuzRoWE9C+EiG4R1k4Cjx5p88=
32-
github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc=
33-
github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
34-
github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 h1:ZK8zHtRHOkbHy6Mmr5D264iyp3TiX5OmNcI5cIARiQI=
35-
github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6/go.mod h1:CJlz5H+gyd6CUWT45Oy4q24RdLyn7Md9Vj2/ldJBSIo=
36-
github.com/muesli/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELUXHmA=
37-
github.com/muesli/cancelreader v0.2.2/go.mod h1:3XuTXfFS2VjM+HTLZY9Ak0l6eUKfijIfMUZ4EgX0QYo=
38-
github.com/muesli/termenv v0.16.0 h1:S5AlUN9dENB57rsbnkPyfdGuWIlkmzJjbFf0Tf5FWUc=
39-
github.com/muesli/termenv v0.16.0/go.mod h1:ZRfOIKPFDYQoDFF4Olj7/QJbW60Ol/kL1pU3VfY/Cnk=
40-
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
41-
github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
42-
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
436
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
447
github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM=
458
github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y=
469
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
4710
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
48-
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no=
49-
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM=
50-
golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8=
51-
golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
52-
golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
53-
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
54-
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
55-
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
56-
golang.org/x/text v0.3.8 h1:nAL+RVCQ9uMn3vJZbV+MRnydTJFPf8qqY42YiA6MrqY=
57-
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
11+
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
5812
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
5913
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
6014
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

internal/api/config_sheets.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,10 +134,34 @@ func (c *Client) DeleteConfigSheet(guid string) error {
134134
return nil
135135
}
136136

137+
// ListAllConfigSheets retrieves all config sheets without filtering
138+
func (c *Client) ListAllConfigSheets() ([]ConfigSheet, error) {
139+
return c.ListConfigSheets(nil, nil, false)
140+
}
141+
137142
// ListConfigSheetsByProject retrieves all config sheets for a specific project
138143
func (c *Client) ListConfigSheetsByProject(
139144
projectGUID string,
140145
activeOnly bool,
141146
) ([]ConfigSheet, error) {
142147
return c.ListConfigSheets(&projectGUID, nil, activeOnly)
143148
}
149+
150+
// PushConfigSheet creates or updates a config sheet based on whether it exists remotely
151+
func (c *Client) PushConfigSheet(configSheet *ConfigSheet) (*ConfigSheet, error) {
152+
// First try to get existing config sheet by GUID
153+
if existingSheet, err := c.GetConfigSheet(configSheet.GUID); err == nil {
154+
// Config sheet exists, update it
155+
updates := map[string]interface{}{
156+
"name": configSheet.Name,
157+
"description": configSheet.Description,
158+
"variables": configSheet.Variables,
159+
"extends": configSheet.Extends,
160+
"is_active": configSheet.IsActive,
161+
}
162+
return c.UpdateConfigSheet(existingSheet.GUID, updates)
163+
}
164+
165+
// Config sheet doesn't exist, create it
166+
return c.CreateConfigSheet(configSheet)
167+
}

internal/api/conversions.go

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,17 @@ package api
44
import (
55
"time"
66

7-
"github.com/n1rna/ee-cli/internal/schema"
7+
"github.com/n1rna/ee-cli/internal/entities"
88
)
99

10-
// ConvertSchemaFromAPI converts API Schema to local schema.Schema
11-
func ConvertSchemaFromAPI(apiSchema *Schema) *schema.Schema {
10+
// ConvertSchemaFromAPI converts API Schema to local entities.Schema
11+
func ConvertSchemaFromAPI(apiSchema *Schema) *entities.Schema {
1212
if apiSchema == nil {
1313
return nil
1414
}
1515

16-
localSchema := &schema.Schema{
17-
Entity: schema.Entity{
16+
localSchema := &entities.Schema{
17+
Entity: entities.Entity{
1818
ID: apiSchema.GUID, // Use GUID as ID for local storage
1919
Name: apiSchema.Name,
2020
Description: apiSchema.Description,
@@ -23,13 +23,13 @@ func ConvertSchemaFromAPI(apiSchema *Schema) *schema.Schema {
2323
CreatedAt: apiSchema.CreatedAt.Time(),
2424
UpdatedAt: apiSchema.UpdatedAt.Time(),
2525
},
26-
Variables: make([]schema.Variable, len(apiSchema.Variables)),
26+
Variables: make([]entities.Variable, len(apiSchema.Variables)),
2727
Extends: apiSchema.Extends,
2828
}
2929

3030
// Convert variables
3131
for i, apiVar := range apiSchema.Variables {
32-
localSchema.Variables[i] = schema.Variable{
32+
localSchema.Variables[i] = entities.Variable{
3333
Name: apiVar.Name,
3434
Type: apiVar.Type,
3535
Regex: apiVar.Regex,
@@ -41,8 +41,8 @@ func ConvertSchemaFromAPI(apiSchema *Schema) *schema.Schema {
4141
return localSchema
4242
}
4343

44-
// ConvertSchemaToAPI converts local schema.Schema to API Schema
45-
func ConvertSchemaToAPI(localSchema *schema.Schema) *Schema {
44+
// ConvertSchemaToAPI converts local entities.Schema to API Schema
45+
func ConvertSchemaToAPI(localSchema *entities.Schema) *Schema {
4646
if localSchema == nil {
4747
return nil
4848
}
@@ -70,14 +70,14 @@ func ConvertSchemaToAPI(localSchema *schema.Schema) *Schema {
7070
return apiSchema
7171
}
7272

73-
// ConvertProjectFromAPI converts API Project to local schema.Project
74-
func ConvertProjectFromAPI(apiProject *Project) *schema.Project {
73+
// ConvertProjectFromAPI converts API Project to local entities.Project
74+
func ConvertProjectFromAPI(apiProject *Project) *entities.Project {
7575
if apiProject == nil {
7676
return nil
7777
}
7878

79-
localProject := &schema.Project{
80-
Entity: schema.Entity{
79+
localProject := &entities.Project{
80+
Entity: entities.Entity{
8181
ID: apiProject.GUID, // Use GUID as ID for local storage
8282
Name: apiProject.Name,
8383
Description: apiProject.Description,
@@ -86,7 +86,7 @@ func ConvertProjectFromAPI(apiProject *Project) *schema.Project {
8686
CreatedAt: apiProject.CreatedAt.Time(),
8787
UpdatedAt: apiProject.UpdatedAt.Time(),
8888
},
89-
Environments: make(map[string]schema.Environment), // Will be populated separately
89+
Environments: make(map[string]entities.Environment), // Will be populated separately
9090
}
9191

9292
// Schema will be resolved separately if needed
@@ -98,8 +98,8 @@ func ConvertProjectFromAPI(apiProject *Project) *schema.Project {
9898
return localProject
9999
}
100100

101-
// ConvertProjectToAPI converts local schema.Project to API Project
102-
func ConvertProjectToAPI(localProject *schema.Project) *Project {
101+
// ConvertProjectToAPI converts local entities.Project to API Project
102+
func ConvertProjectToAPI(localProject *entities.Project) *Project {
103103
if localProject == nil {
104104
return nil
105105
}
@@ -118,14 +118,14 @@ func ConvertProjectToAPI(localProject *schema.Project) *Project {
118118
return apiProject
119119
}
120120

121-
// ConvertConfigSheetFromAPI converts API ConfigSheet to local schema.ConfigSheet
122-
func ConvertConfigSheetFromAPI(apiConfigSheet *ConfigSheet) *schema.ConfigSheet {
121+
// ConvertConfigSheetFromAPI converts API ConfigSheet to local entities.ConfigSheet
122+
func ConvertConfigSheetFromAPI(apiConfigSheet *ConfigSheet) *entities.ConfigSheet {
123123
if apiConfigSheet == nil {
124124
return nil
125125
}
126126

127-
localConfigSheet := &schema.ConfigSheet{
128-
Entity: schema.Entity{
127+
localConfigSheet := &entities.ConfigSheet{
128+
Entity: entities.Entity{
129129
ID: apiConfigSheet.GUID, // Use GUID as ID for local storage
130130
Name: apiConfigSheet.Name,
131131
Description: apiConfigSheet.Description,
@@ -137,15 +137,15 @@ func ConvertConfigSheetFromAPI(apiConfigSheet *ConfigSheet) *schema.ConfigSheet
137137
Values: apiConfigSheet.Variables, // API uses 'variables', local uses 'values'
138138
Extends: apiConfigSheet.Extends,
139139
// Schema will need to be set by caller based on schema reference
140-
Schema: schema.SchemaReference{}, // Empty for now
140+
Schema: entities.SchemaReference{}, // Empty for now
141141
}
142142

143143
return localConfigSheet
144144
}
145145

146-
// ConvertConfigSheetToAPI converts local schema.ConfigSheet to API ConfigSheet
146+
// ConvertConfigSheetToAPI converts local entities.ConfigSheet to API ConfigSheet
147147
func ConvertConfigSheetToAPI(
148-
localConfigSheet *schema.ConfigSheet,
148+
localConfigSheet *entities.ConfigSheet,
149149
projectGUID, schemaGUID string,
150150
) *ConfigSheet {
151151
if localConfigSheet == nil {

0 commit comments

Comments
 (0)