37 lines
1.3 KiB
TypeScript
37 lines
1.3 KiB
TypeScript
import * as plugins from '../../plugins.js';
|
|
import { TspmServiceManager } from '../../../client/tspm.servicemanager.js';
|
|
import { Logger } from '../../../shared/common/utils.errorhandler.js';
|
|
import type { CliArguments } from '../../types.js';
|
|
|
|
export function registerEnableCommand(smartcli: plugins.smartcli.Smartcli) {
|
|
const cliLogger = new Logger('CLI');
|
|
|
|
smartcli.addCommand('enable').subscribe({
|
|
next: async (argvArg: CliArguments) => {
|
|
try {
|
|
const serviceManager = new TspmServiceManager();
|
|
console.log('Enabling TSPM daemon as system service...');
|
|
|
|
await serviceManager.enableService();
|
|
|
|
console.log('✓ TSPM daemon enabled and started as system service');
|
|
console.log(' The daemon will now start automatically on system boot');
|
|
console.log(' Use "tspm disable" to remove the service');
|
|
} catch (error) {
|
|
console.error('Error enabling service:', error.message);
|
|
if (
|
|
error.message.includes('permission') ||
|
|
error.message.includes('denied')
|
|
) {
|
|
console.log('\nNote: You may need to run this command with sudo');
|
|
}
|
|
process.exit(1);
|
|
}
|
|
},
|
|
error: (err) => {
|
|
cliLogger.error(err);
|
|
},
|
|
complete: () => {},
|
|
});
|
|
}
|