37 lines
1.2 KiB
TypeScript
37 lines
1.2 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 registerDisableCommand(smartcli: plugins.smartcli.Smartcli) {
|
|
const cliLogger = new Logger('CLI');
|
|
|
|
smartcli.addCommand('disable').subscribe({
|
|
next: async (argvArg: CliArguments) => {
|
|
try {
|
|
const serviceManager = new TspmServiceManager();
|
|
console.log('Disabling TSPM daemon service...');
|
|
|
|
await serviceManager.disableService();
|
|
|
|
console.log('✓ TSPM daemon service disabled');
|
|
console.log(' The daemon will no longer start on system boot');
|
|
console.log(' Use "tspm enable" to re-enable the service');
|
|
} catch (error) {
|
|
console.error('Error disabling 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: () => {},
|
|
});
|
|
}
|