@@ -793,27 +793,10 @@ func NewContext() {
793
793
log .Fatal ("error generating JWT secret: %v" , err )
794
794
return
795
795
}
796
- cfg := ini .Empty ()
797
- isFile , err := util .IsFile (CustomConf )
798
- if err != nil {
799
- log .Error ("Unable to check if %s is a file. Error: %v" , CustomConf , err )
800
- }
801
- if isFile {
802
- if err := cfg .Append (CustomConf ); err != nil {
803
- log .Error ("failed to load custom conf %s: %v" , CustomConf , err )
804
- return
805
- }
806
- }
807
- cfg .Section ("oauth2" ).Key ("JWT_SECRET" ).SetValue (OAuth2 .JWTSecretBase64 )
808
796
809
- if err := os .MkdirAll (filepath .Dir (CustomConf ), os .ModePerm ); err != nil {
810
- log .Fatal ("failed to create '%s': %v" , CustomConf , err )
811
- return
812
- }
813
- if err := cfg .SaveTo (CustomConf ); err != nil {
814
- log .Fatal ("error saving generating JWT secret to custom config: %v" , err )
815
- return
816
- }
797
+ CreateOrAppendToCustomConf (func (cfg * ini.File ) {
798
+ cfg .Section ("oauth2" ).Key ("JWT_SECRET" ).SetValue (OAuth2 .JWTSecretBase64 )
799
+ })
817
800
}
818
801
}
819
802
@@ -1075,26 +1058,9 @@ func loadOrGenerateInternalToken(sec *ini.Section) string {
1075
1058
}
1076
1059
1077
1060
// Save secret
1078
- cfgSave := ini .Empty ()
1079
- isFile , err := util .IsFile (CustomConf )
1080
- if err != nil {
1081
- log .Error ("Unable to check if %s is a file. Error: %v" , CustomConf , err )
1082
- }
1083
- if isFile {
1084
- // Keeps custom settings if there is already something.
1085
- if err := cfgSave .Append (CustomConf ); err != nil {
1086
- log .Error ("Failed to load custom conf '%s': %v" , CustomConf , err )
1087
- }
1088
- }
1089
-
1090
- cfgSave .Section ("security" ).Key ("INTERNAL_TOKEN" ).SetValue (token )
1091
-
1092
- if err := os .MkdirAll (filepath .Dir (CustomConf ), os .ModePerm ); err != nil {
1093
- log .Fatal ("Failed to create '%s': %v" , CustomConf , err )
1094
- }
1095
- if err := cfgSave .SaveTo (CustomConf ); err != nil {
1096
- log .Fatal ("Error saving generated INTERNAL_TOKEN to custom config: %v" , err )
1097
- }
1061
+ CreateOrAppendToCustomConf (func (cfg * ini.File ) {
1062
+ cfg .Section ("security" ).Key ("INTERNAL_TOKEN" ).SetValue (token )
1063
+ })
1098
1064
}
1099
1065
return token
1100
1066
}
@@ -1160,6 +1126,32 @@ func MakeManifestData(appName string, appURL string, absoluteAssetURL string) []
1160
1126
return bytes
1161
1127
}
1162
1128
1129
+ // CreateOrAppendToCustomConf creates or updates the custom config.
1130
+ // Use the callback to set individual values.
1131
+ func CreateOrAppendToCustomConf (callback func (cfg * ini.File )) {
1132
+ cfg := ini .Empty ()
1133
+ isFile , err := util .IsFile (CustomConf )
1134
+ if err != nil {
1135
+ log .Error ("Unable to check if %s is a file. Error: %v" , CustomConf , err )
1136
+ }
1137
+ if isFile {
1138
+ if err := cfg .Append (CustomConf ); err != nil {
1139
+ log .Error ("failed to load custom conf %s: %v" , CustomConf , err )
1140
+ return
1141
+ }
1142
+ }
1143
+
1144
+ callback (cfg )
1145
+
1146
+ if err := os .MkdirAll (filepath .Dir (CustomConf ), os .ModePerm ); err != nil {
1147
+ log .Fatal ("failed to create '%s': %v" , CustomConf , err )
1148
+ return
1149
+ }
1150
+ if err := cfg .SaveTo (CustomConf ); err != nil {
1151
+ log .Fatal ("error saving to custom config: %v" , err )
1152
+ }
1153
+ }
1154
+
1163
1155
// NewServices initializes the services
1164
1156
func NewServices () {
1165
1157
InitDBConfig ()
0 commit comments