@@ -23,6 +23,7 @@ import {
23
23
} from 'bambooo' ;
24
24
import { ListenData , RouteHttpSave , RouteStreamSave } from 'flyingfish_schemas' ;
25
25
import { Vts } from 'vts' ;
26
+ import { UnauthorizedError } from '../Api/Error/UnauthorizedError.js' ;
26
27
import { Listen as ListenAPI , ListenCategory } from '../Api/Listen.js' ;
27
28
import { Nginx as NginxAPI } from '../Api/Nginx.js' ;
28
29
import {
@@ -34,6 +35,7 @@ import {
34
35
import { Ssh as SshAPI } from '../Api/Ssh.js' ;
35
36
import { Ssl as SslAPI } from '../Api/Ssl.js' ;
36
37
import { Lang } from '../Lang.js' ;
38
+ import { UtilRedirect } from '../Utils/UtilRedirect.js' ;
37
39
import { BasePage } from './BasePage.js' ;
38
40
import { RouteHttpEditModal } from './Routes/RouteHttpEditModal.js' ;
39
41
import { RouteStreamEditModal } from './Routes/RouteStreamEditModal.js' ;
@@ -88,9 +90,10 @@ export class Routes extends BasePage {
88
90
// Navbar Left -------------------------------------------------------------------------------------------------
89
91
90
92
const toast = this . _toast ;
93
+ const leftNavbar = this . _wrapper . getNavbar ( ) . getLeftNavbar ( ) ;
91
94
92
95
// eslint-disable-next-line no-new
93
- new LeftNavbarLink ( this . _wrapper . getNavbar ( ) . getLeftNavbar ( ) , 'Reload Config' , async ( ) => {
96
+ new LeftNavbarLink ( leftNavbar , 'Reload Config' , async ( ) => {
94
97
if ( await NginxAPI . reload ( ) ) {
95
98
toast . fire ( {
96
99
icon : 'success' ,
@@ -106,6 +109,28 @@ export class Routes extends BasePage {
106
109
return false ;
107
110
} , 'btn btn-block btn-default btn-sm' , IconFa . redo ) ;
108
111
112
+ leftNavbar . getElement ( ) . append ( ' ' ) ;
113
+
114
+ // eslint-disable-next-line no-new
115
+ new LeftNavbarLink ( leftNavbar , 'Run SSL-Cert Service' , async ( ) => {
116
+ try {
117
+ await SslAPI . runService ( ) ;
118
+
119
+ if ( this . _onLoadTable ) {
120
+ this . _onLoadTable ( ) ;
121
+ }
122
+ } catch ( e ) {
123
+ if ( e instanceof UnauthorizedError ) {
124
+ UtilRedirect . toLogin ( ) ;
125
+ }
126
+ }
127
+
128
+ return false ;
129
+ } , 'btn btn-block btn-default btn-sm' , 'fas fa-play' ) ;
130
+
131
+ leftNavbar . getElement ( ) . append ( ' ' ) ;
132
+
133
+
109
134
// -------------------------------------------------------------------------------------------------------------
110
135
111
136
this . _routeStreamDialog . setOnSave ( async ( ) : Promise < void > => {
0 commit comments