@tensorify.io/cli
Version:
Official CLI for Tensorify.io - Build, test, and deploy machine learning plugins
58 lines • 3.01 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.whoamiCommand = void 0;
const commander_1 = require("commander");
const chalk_1 = __importDefault(require("chalk"));
const auth_service_1 = require("../auth/auth-service");
const session_storage_1 = require("../auth/session-storage");
exports.whoamiCommand = new commander_1.Command("whoami")
.description("Display current logged-in user information")
.option("-d, --dev", "Use development environment")
.action(async (options) => {
try {
// Check if user is authenticated
const isAuthenticated = await auth_service_1.authService.isAuthenticated();
if (!isAuthenticated) {
console.log(chalk_1.default.red("❌ Not logged in."));
console.log(chalk_1.default.yellow("💡 Run 'tensorify login' to authenticate."));
process.exit(1);
}
console.log(chalk_1.default.blue("🔍 Fetching user profile..."));
// Determine if we should use dev environment
// Priority: explicit --dev flag > saved config > NODE_ENV
let isDev = options.dev;
if (isDev === undefined) {
const config = await (0, session_storage_1.getConfig)();
isDev = config.isDev || process.env.NODE_ENV === "development";
}
if (isDev) {
console.log(chalk_1.default.cyan("🔧 Using development environment"));
}
// Fetch user profile from plugins.tensorify.io API
const userProfile = await auth_service_1.authService.getUserProfile(isDev);
// Display user information in a formatted way
console.log("\n" + chalk_1.default.green("👤 User Profile"));
console.log(chalk_1.default.gray("═".repeat(50)));
console.log(`${chalk_1.default.cyan("ID:")}\t\t${userProfile.id}`);
console.log(`${chalk_1.default.cyan("Username:")}\t${userProfile.username}`);
console.log(`${chalk_1.default.cyan("Full Name:")}\t${userProfile.fullName || chalk_1.default.gray("Not set")}`);
console.log(`${chalk_1.default.cyan("Email:")}\t\t${userProfile.email}`);
console.log(chalk_1.default.gray("═".repeat(50)));
console.log(chalk_1.default.green("✅ Successfully retrieved user profile!"));
}
catch (error) {
console.error(chalk_1.default.red("❌ Failed to get user profile:"), error.message);
if (error.message.includes("No session token found")) {
console.log(chalk_1.default.yellow("💡 Run 'tensorify login' to authenticate."));
}
else if (error.message.includes("Unauthorized") ||
error.message.includes("401")) {
console.log(chalk_1.default.yellow("💡 Your session may have expired. Try 'tensorify login' again."));
}
process.exit(1);
}
});
//# sourceMappingURL=whoami.js.map