File tree Expand file tree Collapse file tree 2 files changed +11
-11
lines changed Expand file tree Collapse file tree 2 files changed +11
-11
lines changed Original file line number Diff line number Diff line change @@ -2,36 +2,36 @@ package db
2
2
3
3
import (
4
4
"errors"
5
+ "reflect"
5
6
6
7
"gorm.io/gorm"
7
8
)
8
9
9
- func (db * Database ) SetZOSVersion (version string ) error {
10
+ func (db * Database ) SetZOSVersion (version ZosVersion ) error {
10
11
var current ZosVersion
11
- result := db .gormDB .Where (ZosVersion {Key : ZOS4VersionKey }).Attrs (ZosVersion {Version : version }).FirstOrCreate (& current )
12
+ result := db .gormDB .Where (ZosVersion {Key : ZOS4VersionKey }).Attrs (ZosVersion {Version : version . Version }).FirstOrCreate (& current )
12
13
13
14
if result .Error != nil {
14
15
return result .Error
15
16
}
16
17
17
18
if result .RowsAffected == 0 {
18
- if current . Version == version {
19
+ if reflect . DeepEqual ( current , version ) {
19
20
return ErrVersionAlreadySet
20
21
}
21
22
return db .gormDB .Model (& current ).
22
23
Select ("version" ).
23
- Update ( "version" , version ).Error
24
+ Updates ( version ).Error
24
25
}
25
26
return nil
26
27
}
27
28
28
- func (db * Database ) GetZOSVersion () (string , error ) {
29
- var setting ZosVersion
30
- if err := db .gormDB .Where ("key = ?" , "zos_4" ).First (& setting ).Error ; err != nil {
29
+ func (db * Database ) GetZOSVersion () (version ZosVersion , err error ) {
30
+ if err := db .gormDB .Where ("key = ?" , "zos_4" ).First (& version ).Error ; err != nil {
31
31
if errors .Is (err , gorm .ErrRecordNotFound ) {
32
- return "" , ErrRecordNotFound
32
+ return version , ErrRecordNotFound
33
33
}
34
- return "" , err
34
+ return version , err
35
35
}
36
- return setting . Version , nil
36
+ return version , nil
37
37
}
Original file line number Diff line number Diff line change @@ -729,7 +729,7 @@ func (s *Server) setZOSVersionHandler(c *gin.Context) {
729
729
return
730
730
}
731
731
732
- if err := s .db .SetZOSVersion (req .Version ); err != nil {
732
+ if err := s .db .SetZOSVersion (db. ZosVersion { Version : req .Version , SafeToUpgrade : req . SafeToUpgrade } ); err != nil {
733
733
status := http .StatusInternalServerError
734
734
if err .Error () == "version already set" {
735
735
status = http .StatusConflict
You can’t perform that action at this time.
0 commit comments