@pnp/cli-microsoft365
Version:
Manage Microsoft 365 and SharePoint Framework projects on any platform
47 lines • 1.63 kB
JavaScript
import assert from 'assert';
import auth from '../../../Auth.js';
import Command, { CommandError } from '../../../Command.js';
import commands from '../commands.js';
class ConnectionListCommand extends Command {
get name() {
return commands.LIST;
}
get description() {
return 'Show the list of available connections';
}
defaultProperties() {
return ['name', 'connectedAs', 'authType', 'active'];
}
async commandAction(logger) {
const availableConnections = await auth.getAllConnections();
const output = availableConnections.map(connection => {
const isCurrentConnection = connection.name === auth.connection?.name;
return {
name: connection.name,
connectedAs: connection.identityName,
authType: connection.authType,
active: isCurrentConnection
};
}).sort((a, b) => {
// Asserting name because it is optional, but required at this point.
assert(a.name !== undefined);
assert(b.name !== undefined);
const aName = a.name;
const bName = b.name;
return aName.localeCompare(bName);
});
await logger.log(output);
}
async action(logger, args) {
try {
await auth.restoreAuth();
}
catch (error) {
throw new CommandError(error);
}
await this.initAction(args, logger);
await this.commandAction(logger);
}
}
export default new ConnectionListCommand();
//# sourceMappingURL=connection-list.js.map