Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

fh-fhc

Package Overview
Dependencies
Maintainers
1
Versions
121
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fh-fhc - npm Package Compare versions

Comparing version 0.6.9-58 to 0.6.9-63

1

fh-fhc.js

@@ -20,1 +20,2 @@ exports.login = require('./lib/login.js');

1

lib/common.js

@@ -16,3 +16,2 @@ // Misc common functions..

if (er){
log.error(errorMsg + er);
return cb(er);

@@ -19,0 +18,0 @@ }

module.exports = logs;
logs.logs = logs;
logs.usage = "\nfhc logs [show] <app-id> [log-name] [--live]"
+"\nfhc logs list <app-id> [--live]";
logs.usage = "\nfhc logs [get] <app-id> [log-name] [--live]"
+ "\nfhc logs list <app-id> [--live]"
+ "\nfhc logs delete <app-id> <log-name> [--live]";

@@ -13,2 +14,4 @@ var log = require("./utils/log");

var fhreq = require("./utils/request");
var Table = require('cli-table');
var datejs = require('datejs');

@@ -19,6 +22,7 @@ // main logs entry point

var target = ini.get('live') ? 'live' : 'development';
// hack for using as a script, check if the last arg is trying to override target
if (args[args.length -1] === 'live' || args[args.length -1] === 'development') {
target = args[args.length -1];
args.pop();
}

@@ -28,7 +32,7 @@

var action = args[0];
if (action === "show") {
if (action === "get") {
if (!args[1]) return cb(logs.usage);
var appId = fhc.appId(args[1]);
var logName = args[2];
return showLogs(appId, logName, target, cb);
return getLogs(appId, logName, target, cb);
} else if (action === "list") {

@@ -38,8 +42,13 @@ if (!args[1]) return cb(logs.usage);

return listLogs(appId, target, cb);
} else {
// assume all params are for show
}else if (action === "delete") {
if (!args[1]) return cb(logs.usage);
if (!args[2]) return cb(logs.usage);
var appId = fhc.appId(args[1]);
return deleteLog(appId, args[2], target, cb);
}else {
// assume all params are for get
var appId = fhc.appId(action);
if(appId.length !== 24) return cb(logs.usage);
var logName = args[1];
return showLogs(appId, logName, target, cb);
return getLogs(appId, logName, target, cb);
}

@@ -52,13 +61,7 @@ };

log.verbose(payload, 'Listing logs');
common.doApiCall(fhreq.getFeedHenryUrl(), "box/srv/1.1/ide/" + fhc.domain + "/app/logs", payload,"Error showing logs: ", function(err, data){
common.doApiCall(fhreq.getFeedHenryUrl(), "box/srv/1.1/ide/" + fhc.domain + "/app/logs", payload,"Error getting logs: ", function(err, data){
if(err) return cb(err);
var msg = "";
for (var i=0; i<data.logs.length; i++) {
var log = data.logs[i];
msg = msg + log.name + "\n";
if(ini.get('table') === true) {
createTableForLogs(data.logs);
}
if (data.logs[0]) {
msg = msg + "\nYou can retrieve individual log files by calling 'fhc logs show', e.g. fhc logs show " + appId + " " + data.logs[0].name;
}
logs.message = msg;
return cb(err, data);

@@ -68,6 +71,7 @@ });

function showLogs (appId, logName, target, cb) {
var payload = {payload:{guid: appId, deploytarget: target, logname: logName, 'action': 'show'}};
log.verbose(payload, 'Showing logs');
common.doApiCall(fhreq.getFeedHenryUrl(), "box/srv/1.1/ide/" + fhc.domain + "/app/logs", payload,"Error showing logs: ", function(err, data){
// get list of log files
function getLogs (appId, logName, target, cb) {
var payload = {payload:{guid: appId, deploytarget: target, logname: logName, 'action': 'get'}};
log.verbose(payload, 'Getting logs');
common.doApiCall(fhreq.getFeedHenryUrl(), "box/srv/1.1/ide/" + fhc.domain + "/app/logs", payload, "", function(err, data){
if(err) return cb(err);

@@ -87,2 +91,40 @@ log.verbose(data, "Response log");

// delete log file
function deleteLog (appId, logName, target, cb) {
var payload = {payload:{guid: appId, deploytarget: target, action: 'delete', logname: logName}};
log.verbose(payload, 'Deleting log');
common.doApiCall(fhreq.getFeedHenryUrl(), "box/srv/1.1/ide/" + fhc.domain + "/app/logs", payload,"Error deleting log: ", function(err, data){
if(err) return cb(err);
logs.message = JSON.parse(data.msg);
return cb(err, data);
});
};
// put our logs into table format..
function createTableForLogs(logz) {
// calculate widths
var maxName=4, maxSize=4, maxModified=8;
var dateFormat = "ddd MMM dd yyyy hh:mm:ss";
for (var l in logz) {
var log = logz[l];
var dt = new Date(log.modified);
if(common.strlen(log.name) > maxName) maxName = common.strlen(log.name);
if(common.strlen(log.size) > maxSize) maxSize = common.strlen(log.size);
if(common.strlen(dt.toString()) > maxModified) maxModified = common.strlen(dt.toString(dateFormat));
}
// create our table
logs.table = new Table({
head: ['Name', 'Size', 'Modified'],
colWidths: [maxName +2 , maxSize + 2, maxModified + 2],
style: common.style()
});
// populate our table
for (var l in logz) {
var log = logz[l];
logs.table.push([log.name, log.size, new Date(log.modified).toString(dateFormat)]);
}
}
// bash completion

@@ -93,3 +135,3 @@ logs.completion = function (opts, cb) {

if (argv.length === 2) {
var cmds = ["show", "list"];
var cmds = ["get", "list", "delete"];
return cb(null, cmds);

@@ -100,3 +142,3 @@ }

switch (action) {
case "show":
case "get":
case "list":

@@ -103,0 +145,0 @@ common.getAppIds(cb);

@@ -18,3 +18,3 @@

function stage (args, cb) {
if(args.length > 2 || args.length == 0) return unknown("stage", cb);
if(args.length > 3 || args.length == 0) return unknown("stage", cb);

@@ -21,0 +21,0 @@ var clean = ini.get('clean');

@@ -15,3 +15,3 @@ // target millicore

var util = require('util');
var version = require('./version.js');
var request = require('request');

@@ -37,3 +37,3 @@ // Main target entry point

// Valiate FeedHenry target can be pinged..
version([tar], function(err, data){
pingTarget([tar], function(err, data){
if(err) return cb(err);

@@ -82,2 +82,9 @@ if(data.statusCode !== 200) return cb("Invalid target: " +tar);

function pingTarget(targ, callback) {
request(targ + "/box/srv/1.1/act/sys/auth/logout", function(err, response, body){
if(err) return callback(err);
return callback(err, {statusCode: response.statusCode, data: body});
});
};
// bash completion

@@ -84,0 +91,0 @@ target.completion = function (opts, cb) {

@@ -42,3 +42,3 @@ // defaults, types, and shorthands.

// are there others?
, browser : process.platform === "darwin" ? "open" : "chromium-browser"
, browser : process.platform === "darwin" ? "open" : "google-chrome"
, clean : false

@@ -45,0 +45,0 @@ , color : true

@@ -31,17 +31,17 @@ // Create a chain of config objects, in this priority order:

var fs = require("fs")
, path = require("path")
, sys = require("./sys")
, crypto = require("crypto")
, util = require("util")
, privateKey = null
, chain = require("./chain")
, log = require("./log")
, ini = require("./ini-parser")
, ProtoList = require("./proto-list")
, defaultConfig
, configList = new ProtoList()
, configDefs = require("./config-defs")
, types = configDefs.types
, TRANS = exports.TRANS =
var fs = require("fs");
var path = require("path");
var sys = require("./sys");
var crypto = require("crypto");
var util = require("util");
var privateKey = null;
var chain = require("./chain");
var log = require("./log");
var ini = require("./ini-parser");
var ProtoList = require("./proto-list");
var defaultConfig;
var configList = new ProtoList();
var configDefs = require("./config-defs");
var types = configDefs.types;
var TRANS = exports.TRANS =
{ "default" : 4

@@ -48,0 +48,0 @@ , "global" : 3

@@ -185,3 +185,3 @@

} else {
er = new Error(parsed.error + " " + (parsed.reason || "") + ": " + w);
er = parsed.error + " " + (parsed.reason || "");
}

@@ -188,0 +188,0 @@ } else if (method !== "HEAD" && method !== "GET") {

@@ -5,3 +5,3 @@ {

"keywords" : [ "cli", "feedhenry" ],
"version": "0.6.9-58",
"version": "0.6.9-63",
"preferGlobal" : true,

@@ -28,3 +28,4 @@ "homepage" : "http://git.io/fh-fhc",

"findit" : "*",
"cli-table" : "*"
"cli-table" : "*",
"datejs" : "*"
},

@@ -31,0 +32,0 @@ "devDependencies" : {

@@ -1,1 +0,1 @@

0.6.9-58
0.6.9-63

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc