@@ -14,7 +14,6 @@ import (
1414
1515 proApi "github.com/semaphoreui/semaphore/pro/api"
1616 proProjects "github.com/semaphoreui/semaphore/pro/api/projects"
17- proFeatures "github.com/semaphoreui/semaphore/pro/pkg/features"
1817 "github.com/semaphoreui/semaphore/services/server"
1918 taskServices "github.com/semaphoreui/semaphore/services/tasks"
2019
@@ -114,6 +113,7 @@ func Route(
114113 taskController := projects .NewTaskController (ansibleTaskRepo )
115114 rolesController := proApi .NewRolesController (store )
116115 templateController := projects .NewTemplateController (store , store )
116+ systmInfoController := NewSystemInfoController ()
117117
118118 r := mux .NewRouter ()
119119 r .NotFoundHandler = http .HandlerFunc (servePublic )
@@ -185,7 +185,7 @@ func Route(
185185 authenticatedAPI := r .PathPrefix (webPath + "api" ).Subrouter ()
186186 authenticatedAPI .Use (StoreMiddleware , JSONMiddleware , authentication )
187187
188- authenticatedAPI .Path ("/info" ).HandlerFunc (getSystemInfo ).Methods ("GET" , "HEAD" )
188+ authenticatedAPI .Path ("/info" ).HandlerFunc (systmInfoController . GetSystemInfo ).Methods ("GET" , "HEAD" )
189189
190190 authenticatedAPI .Path ("/subscription" ).HandlerFunc (subscriptionController .Activate ).Methods ("POST" )
191191 authenticatedAPI .Path ("/subscription" ).HandlerFunc (subscriptionController .GetSubscription ).Methods ("GET" )
@@ -657,47 +657,3 @@ func serveFile(w http.ResponseWriter, r *http.Request, name string) {
657657 ),
658658 )
659659}
660-
661- func getSystemInfo (w http.ResponseWriter , r * http.Request ) {
662- user := helpers .GetFromContext (r , "user" ).(* db.User )
663-
664- var authMethods LoginAuthMethods
665-
666- if util .Config .Auth .Totp .Enabled {
667- authMethods .Totp = & LoginTotpAuthMethod {
668- AllowRecovery : util .Config .Auth .Totp .AllowRecovery ,
669- }
670- }
671-
672- if util .Config .Auth .Email .Enabled {
673- authMethods .Email = & LoginEmailAuthMethod {}
674- }
675-
676- timezone := util .Config .Schedule .Timezone
677-
678- if timezone == "" {
679- timezone = "UTC"
680- }
681-
682- roles , err := helpers .Store (r ).GetGlobalRoles ()
683- if err != nil {
684- log .WithError (err ).Error ("Failed to get roles" )
685- http .Error (w , http .StatusText (http .StatusInternalServerError ), http .StatusInternalServerError )
686- return
687- }
688-
689- body := map [string ]any {
690- "version" : util .Version (),
691- "ansible" : util .AnsibleVersion (),
692- "web_host" : util .Config .WebHost ,
693- "use_remote_runner" : util .Config .UseRemoteRunner ,
694- "auth_methods" : authMethods ,
695- "premium_features" : proFeatures .GetFeatures (user ),
696- "git_client" : util .Config .GitClientId ,
697- "schedule_timezone" : timezone ,
698- "teams" : util .Config .Teams ,
699- "roles" : roles ,
700- }
701-
702- helpers .WriteJSON (w , http .StatusOK , body )
703- }
0 commit comments