strapi/bin/strapi-logout.js

51 lines
1.1 KiB
JavaScript
Raw Normal View History

2015-10-05 14:06:11 +02:00
#!/usr/bin/env node
2015-10-01 00:30:16 +02:00
'use strict';
/**
* Module dependencies
*/
// Node.js core.
const fs = require('fs');
const path = require('path');
// Public node modules.
const winston = require('winston');
// Logger.
const logger = new (winston.Logger)({
transports: [
new (winston.transports.Console)({
level: 'debug',
colorize: 'level'
})
]
});
/**
* `$ strapi logout`
*
* Logout your account from the Strapi Studio.
2015-10-01 00:30:16 +02:00
*/
module.exports = function () {
const HOME = process.env[process.platform === 'win32' ? 'USERPROFILE' : 'HOME'];
2015-10-01 00:30:16 +02:00
// Try to access the `.strapirc` at $HOME.
fs.access(path.resolve(HOME, '.strapirc'), fs.F_OK | fs.R_OK | fs.W_OK, function (err) {
2015-10-01 00:30:16 +02:00
if (err) {
logger.error('You are not logged in.');
} else {
const config = JSON.parse(fs.readFileSync(path.resolve(HOME, '.strapirc'), 'utf8'));
2015-10-01 00:30:16 +02:00
delete config.email;
delete config.token;
2015-10-01 00:30:16 +02:00
fs.writeFileSync(path.resolve(HOME, '.strapirc'), JSON.stringify(config), 'utf8');
logger.info('Your machine is not linked to the Strapi Studio anymore.');
process.exit(0);
}
2015-10-01 00:30:16 +02:00
});
};