Skip to content

Commit 6b7cacb

Browse files
committed
refactor: remove getminimalprojectbyname where possible due to permission issues
1 parent 82a91e3 commit 6b7cacb

9 files changed

Lines changed: 38 additions & 152 deletions

File tree

cmd/deploytargetconfig.go

Lines changed: 7 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -57,13 +57,8 @@ var addDeployTargetConfigCmd = &cobra.Command{
5757
&token,
5858
debug)
5959

60-
project, err := lagoon.GetMinimalProjectByName(context.TODO(), cmdProjectName, lc)
61-
if err != nil {
62-
return err
63-
}
6460
addDeployTargetConfig := &schema.AddDeployTargetConfigInput{
65-
Project: project.ID,
66-
Weight: weight,
61+
Weight: weight,
6762
}
6863
if branches != "" {
6964
addDeployTargetConfig.Branches = branches
@@ -75,9 +70,9 @@ var addDeployTargetConfigCmd = &cobra.Command{
7570
addDeployTargetConfig.DeployTarget = deploytarget
7671
}
7772
if yesNo(fmt.Sprintf("You are attempting to add a deploytarget configuration to project '%s', are you sure?", cmdProjectName)) {
78-
deployTargetConfig, err := lagoon.AddDeployTargetConfiguration(context.TODO(), addDeployTargetConfig, lc)
73+
deployTargetConfig, err := lagoon.AddDeployTargetConfigurationByProjectName(context.TODO(), cmdProjectName, addDeployTargetConfig, lc)
7974
if err != nil {
80-
return err
75+
return fmt.Errorf("%v: check if the project exists", err.Error())
8176
}
8277
data := []output.Data{}
8378
data = append(data, []string{
@@ -234,18 +229,10 @@ var deleteDeployTargetConfigCmd = &cobra.Command{
234229
&token,
235230
debug)
236231

237-
project, err := lagoon.GetMinimalProjectByName(context.TODO(), cmdProjectName, lc)
238-
if err != nil {
239-
return err
240-
}
241-
if project.Name == "" {
242-
return handleNilResults("Project '%s' not found\n", cmd, cmdProjectName)
243-
}
244-
245232
if yesNo(fmt.Sprintf("You are attempting to delete deploytarget configuration with id '%d' from project '%s', are you sure?", id, cmdProjectName)) {
246-
result, err := lagoon.DeleteDeployTargetConfiguration(context.TODO(), int(id), int(project.ID), lc)
233+
result, err := lagoon.DeleteDeployTargetConfigurationByIDAndProjectName(context.TODO(), id, cmdProjectName, lc)
247234
if err != nil {
248-
return err
235+
return fmt.Errorf("%v: check if the project exists", err.Error())
249236
}
250237
resultData := output.Result{
251238
Result: result.DeleteDeployTargetConfig,
@@ -284,16 +271,9 @@ var listDeployTargetConfigsCmd = &cobra.Command{
284271
&token,
285272
debug)
286273

287-
project, err := lagoon.GetMinimalProjectByName(context.TODO(), cmdProjectName, lc)
288-
if err != nil {
289-
return err
290-
}
291-
if project.Name == "" {
292-
return handleNilResults("Project '%s' not found\n", cmd, cmdProjectName)
293-
}
294-
deployTargetConfigs, err := lagoon.GetDeployTargetConfigs(context.TODO(), int(project.ID), lc)
274+
deployTargetConfigs, err := lagoon.GetDeployTargetConfigsByProjectName(context.TODO(), cmdProjectName, lc)
295275
if err != nil {
296-
return err
276+
return fmt.Errorf("%v: check if the project exists", err.Error())
297277
}
298278
if len(*deployTargetConfigs) == 0 {
299279
return handleNilResults("No deploytarget-configs for project '%s'\n", cmd, cmdProjectName)

cmd/environment.go

Lines changed: 7 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -118,19 +118,10 @@ var updateEnvironmentCmd = &cobra.Command{
118118
lagoonCLIConfig.Lagoons[current].Version,
119119
&token,
120120
debug)
121-
project, err := lagoon.GetMinimalProjectByName(context.TODO(), cmdProjectName, lc)
122-
if project.Name == "" {
123-
err = fmt.Errorf("project not found")
124-
}
125-
if err != nil {
126-
return err
127-
}
128-
environment, err := lagoon.GetEnvironmentByName(context.TODO(), cmdProjectEnvironment, project.ID, lc)
129-
if environment.Name == "" {
130-
err = fmt.Errorf("environment not found")
131-
}
121+
122+
environment, err := lagoon.GetEnvironmentByNameAndProjectName(context.TODO(), cmdProjectEnvironment, cmdProjectName, lc)
132123
if err != nil {
133-
return err
124+
return fmt.Errorf("%v: check if the project or environment exists", err.Error())
134125
}
135126

136127
environmentFlags := schema.UpdateEnvironmentPatchInput{
@@ -202,16 +193,9 @@ var listBackupsCmd = &cobra.Command{
202193
&token,
203194
debug)
204195

205-
project, err := lagoon.GetMinimalProjectByName(context.TODO(), cmdProjectName, lc)
206-
if err != nil {
207-
return err
208-
}
209-
if project.Name == "" {
210-
return handleNilResults("No project found for '%s'\n", cmd, cmdProjectName)
211-
}
212-
backupsResult, err := lagoon.GetBackupsForEnvironmentByName(context.TODO(), cmdProjectEnvironment, project.ID, lc)
196+
backupsResult, err := lagoon.GetBackupsForEnvironmentByNameAndProjectName(context.TODO(), cmdProjectEnvironment, cmdProjectName, lc)
213197
if err != nil {
214-
return err
198+
return fmt.Errorf("%v: check if the project or environment exists", err.Error())
215199
}
216200
data := []output.Data{}
217201
for _, backup := range backupsResult.Backups {
@@ -276,13 +260,9 @@ This returns a direct URL to the backup, this is a signed download link with a l
276260
&token,
277261
debug)
278262

279-
project, err := lagoon.GetMinimalProjectByName(context.TODO(), cmdProjectName, lc)
263+
backupsResult, err := lagoon.GetBackupsForEnvironmentByNameAndProjectName(context.TODO(), cmdProjectEnvironment, cmdProjectName, lc)
280264
if err != nil {
281-
return err
282-
}
283-
backupsResult, err := lagoon.GetBackupsForEnvironmentByName(context.TODO(), cmdProjectEnvironment, project.ID, lc)
284-
if err != nil {
285-
return err
265+
return fmt.Errorf("%v: check if the project or environment exists", err.Error())
286266
}
287267
status := ""
288268
for _, backup := range backupsResult.Backups {

cmd/get.go

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -327,17 +327,9 @@ var getProjectKeyCmd = &cobra.Command{
327327
&token,
328328
debug)
329329

330-
project, err := lagoon.GetMinimalProjectByName(context.TODO(), cmdProjectName, lc)
331-
if err != nil {
332-
return err
333-
}
334-
if project.Name == "" {
335-
return handleNilResults("No project found for '%s'\n", cmd, cmdProjectName)
336-
}
337-
338330
projectKey, err := lagoon.GetProjectKeyByName(context.TODO(), cmdProjectName, revealValue, lc)
339331
if err != nil {
340-
return err
332+
return fmt.Errorf("%v: check if the project exists", err.Error())
341333
}
342334
if projectKey.PublicKey == "" {
343335
return handleNilResults("No project-key for project '%s'\n", cmd, cmdProjectName)

cmd/groups.go

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -209,16 +209,9 @@ var addProjectToGroupCmd = &cobra.Command{
209209
&token,
210210
debug)
211211

212-
project, err := lagoon.GetMinimalProjectByName(context.TODO(), cmdProjectName, lc)
213-
if err != nil {
214-
return err
215-
}
216-
if len(project.Name) == 0 {
217-
return handleNilResults("Project '%s' not found\n", cmd, cmdProjectName)
218-
}
219212
_, err = lagoon.AddProjectToGroup(context.TODO(), projectGroup, lc)
220213
if err != nil {
221-
return err
214+
return fmt.Errorf("%v: check if the project or group exists", err.Error())
222215
}
223216

224217
resultData := output.Result{
@@ -328,18 +321,10 @@ var deleteProjectFromGroupCmd = &cobra.Command{
328321
&token,
329322
debug)
330323

331-
project, err := lagoon.GetMinimalProjectByName(context.TODO(), cmdProjectName, lc)
332-
if err != nil {
333-
return err
334-
}
335-
if len(project.Name) == 0 {
336-
return handleNilResults("Project '%s' not found\n", cmd, cmdProjectName)
337-
}
338-
339324
if yesNo(fmt.Sprintf("You are attempting to delete project '%s' from group '%s', are you sure?", projectGroup.Project.Name, projectGroup.Groups[0].Name)) {
340325
_, err = lagoon.RemoveGroupsFromProject(context.TODO(), projectGroup, lc)
341326
if err != nil {
342-
return err
327+
return fmt.Errorf("%v: check if the project or group exists", err.Error())
343328
}
344329

345330
resultData := output.Result{

cmd/list.go

Lines changed: 6 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -494,17 +494,9 @@ var listDeploymentsCmd = &cobra.Command{
494494
&token,
495495
debug)
496496

497-
project, err := lagoon.GetMinimalProjectByName(context.TODO(), cmdProjectName, lc)
497+
deployments, err := lagoon.GetDeploymentsByEnvironmentAndProjectName(context.TODO(), cmdProjectName, cmdProjectEnvironment, lc)
498498
if err != nil {
499-
return err
500-
}
501-
if project.Name == "" {
502-
return handleNilResults("No project found for '%s'\n", cmd, cmdProjectName)
503-
}
504-
505-
deployments, err := lagoon.GetDeploymentsByEnvironment(context.TODO(), project.ID, cmdProjectEnvironment, lc)
506-
if err != nil {
507-
return err
499+
return fmt.Errorf("%v: check if the project or environment exists", err.Error())
508500
}
509501

510502
data := []output.Data{}
@@ -558,17 +550,9 @@ var listTasksCmd = &cobra.Command{
558550
&token,
559551
debug)
560552

561-
project, err := lagoon.GetMinimalProjectByName(context.TODO(), cmdProjectName, lc)
553+
tasks, err := lagoon.GetTasksByEnvironmentAndProjectName(context.TODO(), cmdProjectName, cmdProjectEnvironment, lc)
562554
if err != nil {
563-
return err
564-
}
565-
if project.Name == "" {
566-
return handleNilResults("No project found for '%s'\n", cmd, cmdProjectName)
567-
}
568-
569-
tasks, err := lagoon.GetTasksByEnvironment(context.TODO(), project.ID, cmdProjectEnvironment, lc)
570-
if err != nil {
571-
return err
555+
return fmt.Errorf("%v: check if the project or environment exists", err.Error())
572556
}
573557

574558
data := []output.Data{}
@@ -796,16 +780,9 @@ var listInvokableTasks = &cobra.Command{
796780
&token,
797781
debug)
798782

799-
project, err := lagoon.GetMinimalProjectByName(context.TODO(), cmdProjectName, lc)
800-
if err != nil {
801-
return err
802-
}
803-
if project.Name == "" {
804-
return handleNilResults("No project found for '%s'\n", cmd, cmdProjectName)
805-
}
806-
tasks, err := lagoon.GetInvokableAdvancedTaskDefinitionsByEnvironment(context.TODO(), project.ID, cmdProjectEnvironment, lc)
783+
tasks, err := lagoon.GetInvokableAdvancedTaskDefinitionsByEnvironmentAndProjectName(context.TODO(), cmdProjectName, cmdProjectEnvironment, lc)
807784
if err != nil {
808-
return err
785+
return fmt.Errorf("%v: check if the project or environment exists", err.Error())
809786
}
810787

811788
data := []output.Data{}

cmd/project.go

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -393,16 +393,9 @@ var updateProjectCmd = &cobra.Command{
393393
}
394394
}
395395

396-
project, err := lagoon.GetMinimalProjectByName(context.TODO(), cmdProjectName, lc)
397-
if err != nil {
398-
return err
399-
}
400-
if project.Name == "" {
401-
return handleNilResults("Project '%s' not found\n", cmd, cmdProjectName)
402-
}
403-
projectUpdate, err := lagoon.UpdateProject(context.TODO(), int(project.ID), projectPatch, lc)
396+
projectUpdate, err := lagoon.UpdateProjectByName(context.TODO(), cmdProjectName, projectPatch, lc)
404397
if err != nil {
405-
return err
398+
return fmt.Errorf("%v: check if the project exists", err.Error())
406399
}
407400

408401
resultData := output.Result{
@@ -573,13 +566,10 @@ var updateProjectMetadata = &cobra.Command{
573566
lagoonCLIConfig.Lagoons[current].Version,
574567
&token,
575568
debug)
576-
project, err := lagoon.GetMinimalProjectByName(context.TODO(), cmdProjectName, lc)
577-
if err != nil {
578-
return err
579-
}
580-
projectResult, err := lagoon.UpdateProjectMetadata(context.TODO(), int(project.ID), key, value, lc)
569+
570+
projectResult, err := lagoon.UpdateProjectMetadataByName(context.TODO(), cmdProjectName, key, value, lc)
581571
if err != nil {
582-
return err
572+
return fmt.Errorf("%v: check if the project exists", err.Error())
583573
}
584574
data := []output.Data{}
585575
metaData, _ := json.Marshal(projectResult.Metadata)
@@ -630,11 +620,8 @@ var deleteProjectMetadataByKey = &cobra.Command{
630620
lagoonCLIConfig.Lagoons[current].Version,
631621
&token,
632622
debug)
633-
project, err := lagoon.GetMinimalProjectByName(context.TODO(), cmdProjectName, lc)
634-
if err != nil {
635-
return err
636-
}
637-
projectResult, err := lagoon.RemoveProjectMetadataByKey(context.TODO(), int(project.ID), key, lc)
623+
624+
projectResult, err := lagoon.RemoveProjectMetadataByKeyByName(context.TODO(), cmdProjectName, key, lc)
638625
if err != nil {
639626
return err
640627
}
@@ -690,6 +677,7 @@ var removeProjectFromOrganizationCmd = &cobra.Command{
690677
&token,
691678
debug)
692679

680+
// this can stay for now as `removeProjectFromOrganization` is platform only scoped
693681
project, err := lagoon.GetMinimalProjectByName(context.TODO(), cmdProjectName, lc)
694682
if err != nil {
695683
return err

cmd/tasks.go

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -149,11 +149,7 @@ var runDrushArchiveDump = &cobra.Command{
149149
return err
150150
}
151151

152-
project, err := lagoon.GetMinimalProjectByName(context.TODO(), cmdProjectName, lc)
153-
if err != nil {
154-
return err
155-
}
156-
environment, err := lagoon.GetEnvironmentByName(context.TODO(), cmdProjectEnvironment, project.ID, lc)
152+
environment, err := lagoon.GetEnvironmentByNameAndProjectName(context.TODO(), cmdProjectEnvironment, cmdProjectName, lc)
157153
if err != nil {
158154
return err
159155
}
@@ -218,11 +214,7 @@ var runDrushSQLDump = &cobra.Command{
218214
return err
219215
}
220216

221-
project, err := lagoon.GetMinimalProjectByName(context.TODO(), cmdProjectName, lc)
222-
if err != nil {
223-
return err
224-
}
225-
environment, err := lagoon.GetEnvironmentByName(context.TODO(), cmdProjectEnvironment, project.ID, lc)
217+
environment, err := lagoon.GetEnvironmentByNameAndProjectName(context.TODO(), cmdProjectEnvironment, cmdProjectName, lc)
226218
if err != nil {
227219
return err
228220
}
@@ -287,11 +279,7 @@ var runDrushCacheClear = &cobra.Command{
287279
return err
288280
}
289281

290-
project, err := lagoon.GetMinimalProjectByName(context.TODO(), cmdProjectName, lc)
291-
if err != nil {
292-
return err
293-
}
294-
environment, err := lagoon.GetEnvironmentByName(context.TODO(), cmdProjectEnvironment, project.ID, lc)
282+
environment, err := lagoon.GetEnvironmentByNameAndProjectName(context.TODO(), cmdProjectEnvironment, cmdProjectName, lc)
295283
if err != nil {
296284
return err
297285
}
@@ -476,11 +464,7 @@ Path:
476464
Command: taskCommand,
477465
Service: taskService,
478466
}
479-
project, err := lagoon.GetMinimalProjectByName(context.TODO(), cmdProjectName, lc)
480-
if err != nil {
481-
return err
482-
}
483-
environment, err := lagoon.GetEnvironmentByName(context.TODO(), cmdProjectEnvironment, project.ID, lc)
467+
environment, err := lagoon.GetEnvironmentByNameAndProjectName(context.TODO(), cmdProjectEnvironment, cmdProjectName, lc)
484468
if err != nil {
485469
return err
486470
}

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ require (
1919
github.com/spf13/cobra v1.8.0
2020
github.com/spf13/pflag v1.0.5
2121
github.com/stretchr/testify v1.8.2
22-
github.com/uselagoon/machinery v0.0.29
22+
github.com/uselagoon/machinery v0.0.30-0.20241010051214-ee28b9833955
2323
go.uber.org/mock v0.4.0
2424
golang.org/x/crypto v0.26.0
2525
golang.org/x/term v0.23.0

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@ github.com/stretchr/testify v1.7.4/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO
6666
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
6767
github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8=
6868
github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
69-
github.com/uselagoon/machinery v0.0.29 h1:invFIPv1Z1xCt8/1ilbiNDuAEPrb+AUO21BnNG+CX8c=
70-
github.com/uselagoon/machinery v0.0.29/go.mod h1:X0qguIO9skumMhhT0ap5CKHulKgYzy3TiIn+xlwiFQc=
69+
github.com/uselagoon/machinery v0.0.30-0.20241010051214-ee28b9833955 h1:qMqSR5p3jd3oXMaiWNi0+m5Yi331W4Npy0TAryJfXDw=
70+
github.com/uselagoon/machinery v0.0.30-0.20241010051214-ee28b9833955/go.mod h1:RsHzIMOam3hiA4CKR12yANgzdTGy6tz4D19umjMzZyw=
7171
go.uber.org/mock v0.4.0 h1:VcM4ZOtdbR4f6VXfiOpwpVJDL6lCReaZ6mw31wqh7KU=
7272
go.uber.org/mock v0.4.0/go.mod h1:a6FSlNadKUHUa9IP5Vyt1zh4fC7uAwxMutEAscFbkZc=
7373
golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw=

0 commit comments

Comments
 (0)