@@ -5,6 +5,11 @@ import (
5
5
"embed"
6
6
"errors"
7
7
"fmt"
8
+ "reflect"
9
+ "regexp"
10
+ "strconv"
11
+ "strings"
12
+
8
13
"github.com/Masterminds/squirrel"
9
14
"github.com/go-gorp/gorp/v3"
10
15
_ "github.com/go-sql-driver/mysql" // imports mysql driver
@@ -13,10 +18,6 @@ import (
13
18
"github.com/semaphoreui/semaphore/pkg/task_logger"
14
19
"github.com/semaphoreui/semaphore/util"
15
20
log "github.com/sirupsen/logrus"
16
- "reflect"
17
- "regexp"
18
- "strconv"
19
- "strings"
20
21
)
21
22
22
23
type SqlDb struct {
@@ -35,7 +36,6 @@ create table ` + "`migrations`" + ` (
35
36
var dbAssets embed.FS
36
37
37
38
func getQueryForParams (q squirrel.SelectBuilder , prefix string , props db.ObjectProps , params db.RetrieveQueryParams ) (res squirrel.SelectBuilder , err error ) {
38
-
39
39
pp , err := params .Validate (props )
40
40
if err != nil {
41
41
return
@@ -78,9 +78,7 @@ func handleRollbackError(err error) {
78
78
}
79
79
}
80
80
81
- var (
82
- identifierQuoteRE = regexp .MustCompile ("`" )
83
- )
81
+ var identifierQuoteRE = regexp .MustCompile ("`" )
84
82
85
83
// validateMutationResult checks the success of the update query
86
84
func validateMutationResult (res sql.Result , err error ) error {
@@ -137,13 +135,11 @@ func (d *SqlDb) insert(primaryKeyColumnName string, query string, args ...interf
137
135
}
138
136
default :
139
137
res , err := d .exec (query , args ... )
140
-
141
138
if err != nil {
142
139
return 0 , err
143
140
}
144
141
145
142
insertId , err = res .LastInsertId ()
146
-
147
143
if err != nil {
148
144
return 0 , err
149
145
}
@@ -212,10 +208,9 @@ func createDb() error {
212
208
return err
213
209
}
214
210
215
- defer conn .Close ()
211
+ defer conn .Close () //nolint:errcheck
216
212
217
213
_ , err = conn .Exec ("create database " + cfg .GetDbName ())
218
-
219
214
if err != nil {
220
215
log .Warn (err .Error ())
221
216
}
@@ -235,7 +230,6 @@ func (d *SqlDb) getObject(projectID int, props db.ObjectProps, objectID int, obj
235
230
}
236
231
237
232
query , args , err := q .ToSql ()
238
-
239
233
if err != nil {
240
234
return
241
235
}
@@ -246,7 +240,6 @@ func (d *SqlDb) getObject(projectID int, props db.ObjectProps, objectID int, obj
246
240
}
247
241
248
242
func (d * SqlDb ) makeObjectsQuery (projectID int , props db.ObjectProps , params db.RetrieveQueryParams ) (q squirrel.SelectBuilder , err error ) {
249
-
250
243
columns := []string {"*" }
251
244
if len (props .SelectColumns ) > 0 {
252
245
columns = props .SortableColumns
@@ -296,7 +289,6 @@ func (d *SqlDb) getObjects(
296
289
objects interface {},
297
290
) (err error ) {
298
291
q , err := d .makeObjectsQuery (projectID , props , params )
299
-
300
292
if err != nil {
301
293
return
302
294
}
@@ -306,7 +298,6 @@ func (d *SqlDb) getObjects(
306
298
}
307
299
308
300
query , args , err := q .ToSql ()
309
-
310
301
if err != nil {
311
302
return
312
303
}
@@ -349,7 +340,6 @@ func (d *SqlDb) Connect(_ string) {
349
340
}
350
341
351
342
err = sqlDb .Ping ()
352
-
353
343
if err != nil {
354
344
if err = sqlDb .Close (); err != nil {
355
345
log .Warn ("Cannot close database connection: " + err .Error ())
@@ -459,7 +449,6 @@ func (d *SqlDb) getObjectRefsFrom(
459
449
if referringObjectProps .Type == db .ScheduleProps .Type {
460
450
var referringSchedules []db.Schedule
461
451
_ , err = d .selectAll (& referringSchedules , "select template_id id from project__schedule where project_id = ? and (" + cond + ")" , vals ... )
462
-
463
452
if err != nil {
464
453
return
465
454
}
@@ -512,7 +501,6 @@ func (d *SqlDb) getObjectByReferrer(referrerID int, referringObjectProps db.Obje
512
501
Where ("id=?" , objectID ).
513
502
Where (referringObjectProps .ReferringColumnSuffix + "=?" , referrerID ).
514
503
ToSql ()
515
-
516
504
if err != nil {
517
505
return
518
506
}
@@ -529,7 +517,7 @@ func (d *SqlDb) getObjectsByReferrer(
529
517
params db.RetrieveQueryParams ,
530
518
objects interface {},
531
519
) (err error ) {
532
- var referringColumn = referringObjectProps .ReferringColumnSuffix
520
+ referringColumn : = referringObjectProps .ReferringColumnSuffix
533
521
534
522
columns := []string {"*" }
535
523
if len (props .SelectColumns ) > 0 {
@@ -545,13 +533,11 @@ func (d *SqlDb) getObjectsByReferrer(
545
533
}
546
534
547
535
q , err = getQueryForParams (q , "pe." , props , params )
548
-
549
536
if err != nil {
550
537
return
551
538
}
552
539
553
540
query , args , err := q .ToSql ()
554
-
555
541
if err != nil {
556
542
return
557
543
}
@@ -562,7 +548,7 @@ func (d *SqlDb) getObjectsByReferrer(
562
548
}
563
549
564
550
func (d * SqlDb ) deleteByReferrer (referrerID int , referringObjectProps db.ObjectProps , props db.ObjectProps , objectID int ) error {
565
- var referringColumn = referringObjectProps .ReferringColumnSuffix
551
+ referringColumn : = referringObjectProps .ReferringColumnSuffix
566
552
567
553
return validateMutationResult (
568
554
d .exec (
@@ -622,7 +608,6 @@ func (d *SqlDb) GetObject(props db.ObjectProps, ID int) (object interface{}, err
622
608
Where (squirrel.Eq {"t.id" : ID }).
623
609
OrderBy ("t.id" ).
624
610
ToSql ()
625
-
626
611
if err != nil {
627
612
return
628
613
}
@@ -631,8 +616,8 @@ func (d *SqlDb) GetObject(props db.ObjectProps, ID int) (object interface{}, err
631
616
return
632
617
}
633
618
634
- func (d * SqlDb ) CreateObject (props db.ObjectProps , object interface {} ) (newObject interface {} , err error ) {
635
- //err = newObject.Validate()
619
+ func (d * SqlDb ) CreateObject (props db.ObjectProps , object any ) (newObject any , err error ) {
620
+ // err = newObject.Validate()
636
621
637
622
if err != nil {
638
623
return
@@ -642,7 +627,6 @@ func (d *SqlDb) CreateObject(props db.ObjectProps, object interface{}) (newObjec
642
627
insertID , err := d .insert (
643
628
"id" ,
644
629
"insert into " + props .TableName + " " + template , args ... )
645
-
646
630
if err != nil {
647
631
return
648
632
}
@@ -662,15 +646,13 @@ func (d *SqlDb) GetObjectsByForeignKeyQuery(props db.ObjectProps, foreignID int,
662
646
Where (foreignProps .ReferringColumnSuffix + "=?" , foreignID )
663
647
664
648
q , err = getQueryForParams (q , "t." , props , params )
665
-
666
649
if err != nil {
667
650
return
668
651
}
669
652
670
653
query , args , err := q .
671
654
OrderBy ("t.id" ).
672
655
ToSql ()
673
-
674
656
if err != nil {
675
657
return
676
658
}
@@ -685,7 +667,6 @@ func (d *SqlDb) GetAllObjectsByForeignKey(props db.ObjectProps, foreignID int, f
685
667
Where (foreignProps .ReferringColumnSuffix + "=?" , foreignID ).
686
668
OrderBy ("t.id" ).
687
669
ToSql ()
688
-
689
670
if err != nil {
690
671
return
691
672
}
@@ -700,15 +681,13 @@ func (d *SqlDb) GetAllObjects(props db.ObjectProps) (objects interface{}, err er
700
681
From (props .TableName + " as t" ).
701
682
OrderBy ("t.id" ).
702
683
ToSql ()
703
-
704
684
if err != nil {
705
685
return
706
686
}
707
687
var results []interface {}
708
688
results , err = d .selectAll (& objects , query , args ... )
709
689
710
690
return results , err
711
-
712
691
}
713
692
714
693
// Retrieve the Matchers & Values referencing `id' from WebhookExtractor
@@ -730,10 +709,9 @@ func (d *SqlDb) GetAllObjects(props db.ObjectProps) (objects interface{}, err er
730
709
// "Matchers": db.WebhookMatcherProps,
731
710
// "Values": db.WebhookExtractValueProps
732
711
// }, &referrerCollection)
733
- func (d * SqlDb ) GetReferencesForForeignKey (objectProps db.ObjectProps , objectID int , referrerMapping map [string ]db.ObjectProps , referrerCollection * interface {}) (err error ) {
734
-
712
+ func (d * SqlDb ) GetReferencesForForeignKey (objectProps db.ObjectProps , objectID int , referrerMapping map [string ]db.ObjectProps , referrerCollection * any ) (err error ) {
735
713
for key , value := range referrerMapping {
736
- //v := reflect.ValueOf(referrerCollection)
714
+ // v := reflect.ValueOf(referrerCollection)
737
715
referrers , errRef := d .GetObjectReferences (objectProps , value , objectID )
738
716
739
717
if errRef != nil {
@@ -775,7 +753,6 @@ func (d *SqlDb) GetObjectReferences(objectProps db.ObjectProps, referringObjectP
775
753
referringObjects .Interface (),
776
754
"select id, name from " + referringObjectProps .TableName + " where " + objectProps .ReferringColumnSuffix + " = ? and " + cond ,
777
755
vals ... )
778
-
779
756
if err != nil {
780
757
return
781
758
}
@@ -790,7 +767,6 @@ func (d *SqlDb) GetObjectReferences(objectProps db.ObjectProps, referringObjectP
790
767
}
791
768
792
769
func (d * SqlDb ) GetTaskStats (projectID int , templateID * int , unit db.TaskStatUnit , filter db.TaskFilter ) (stats []db.TaskStat , err error ) {
793
-
794
770
stats = make ([]db.TaskStat , 0 )
795
771
796
772
if unit != db .TaskStatUnitDay {
@@ -827,7 +803,6 @@ func (d *SqlDb) GetTaskStats(projectID int, templateID *int, unit db.TaskStatUni
827
803
}
828
804
829
805
query , args , err := q .ToSql ()
830
-
831
806
if err != nil {
832
807
return
833
808
}
0 commit comments