untrack.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343
  1. // Generated by IcedCoffeeScript 1.7.1-c
  2. (function() {
  3. var ArgumentParser, Base, Command, E, PackageJson, TrackWrapper, User, add_option_dict, athrow, db, iced, log, make_esc, prompt_yn, session, __iced_k, __iced_k_noop,
  4. __hasProp = {}.hasOwnProperty,
  5. __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
  6. iced = require('iced-runtime').iced;
  7. __iced_k = __iced_k_noop = function() {};
  8. Base = require('./base').Base;
  9. log = require('../log');
  10. ArgumentParser = require('argparse').ArgumentParser;
  11. add_option_dict = require('./argparse').add_option_dict;
  12. PackageJson = require('../package').PackageJson;
  13. E = require('../err').E;
  14. make_esc = require('iced-error').make_esc;
  15. db = require('../db');
  16. User = require('../user').User;
  17. session = require('../session').session;
  18. TrackWrapper = require('../trackwrapper').TrackWrapper;
  19. athrow = require('pgp-utils').util.athrow;
  20. prompt_yn = require('../prompter').prompt_yn;
  21. exports.Command = Command = (function(_super) {
  22. __extends(Command, _super);
  23. function Command() {
  24. return Command.__super__.constructor.apply(this, arguments);
  25. }
  26. Command.prototype.OPTS = {
  27. k: {
  28. alias: 'remove-key',
  29. action: 'storeTrue',
  30. help: 'remove key from GPG keyring'
  31. },
  32. b: {
  33. alias: 'batch',
  34. action: 'storeTrue',
  35. help: "run in batch mode / don't prompt"
  36. },
  37. K: {
  38. alias: "keep-key",
  39. action: 'storeTrue',
  40. help: "preserve key in GPG keyring"
  41. }
  42. };
  43. Command.prototype.add_subcommand_parser = function(scp) {
  44. var name, opts, sub;
  45. opts = {
  46. aliases: ["unverify"],
  47. help: "untrack this user"
  48. };
  49. name = "untrack";
  50. sub = scp.addParser(name, opts);
  51. sub.addArgument(["them"], {
  52. nargs: 1,
  53. help: "the username of the user to untrack"
  54. });
  55. add_option_dict(sub, this.OPTS);
  56. return opts.aliases.concat([name]);
  57. };
  58. Command.prototype.needs_configuration = function() {
  59. return true;
  60. };
  61. Command.prototype.remove_key = function(them, cb) {
  62. var args, esc, go, ___iced_passed_deferral, __iced_deferrals, __iced_k;
  63. __iced_k = __iced_k_noop;
  64. ___iced_passed_deferral = iced.findDeferral(arguments);
  65. esc = make_esc(cb, "Untrack::remove_key");
  66. go = false;
  67. (function(_this) {
  68. return (function(__iced_k) {
  69. if (_this.argv.remove_key) {
  70. return __iced_k(go = true);
  71. } else {
  72. (function(__iced_k) {
  73. if (_this.argv.keep_key) {
  74. return __iced_k(go = false);
  75. } else {
  76. (function(__iced_k) {
  77. if (_this.argv.batch) {
  78. log.warn("Not removing key; in batch mode");
  79. return __iced_k(go = false);
  80. } else {
  81. args = {
  82. prompt: "Remove " + _this.their_name + "'s public key from your local keyring? ",
  83. defval: true
  84. };
  85. (function(__iced_k) {
  86. __iced_deferrals = new iced.Deferrals(__iced_k, {
  87. parent: ___iced_passed_deferral,
  88. filename: "/home/max/src/keybase/node-client/src/command/untrack.iced",
  89. funcname: "Command.remove_key"
  90. });
  91. prompt_yn(args, esc(__iced_deferrals.defer({
  92. assign_fn: (function() {
  93. return function() {
  94. return go = arguments[0];
  95. };
  96. })(),
  97. lineno: 64
  98. })));
  99. __iced_deferrals._fulfill();
  100. })(__iced_k);
  101. }
  102. })(__iced_k);
  103. }
  104. })(__iced_k);
  105. }
  106. });
  107. })(this)((function(_this) {
  108. return function() {
  109. (function(__iced_k) {
  110. if (go) {
  111. (function(__iced_k) {
  112. __iced_deferrals = new iced.Deferrals(__iced_k, {
  113. parent: ___iced_passed_deferral,
  114. filename: "/home/max/src/keybase/node-client/src/command/untrack.iced",
  115. funcname: "Command.remove_key"
  116. });
  117. them.remove_key(esc(__iced_deferrals.defer({
  118. lineno: 66
  119. })));
  120. __iced_deferrals._fulfill();
  121. })(__iced_k);
  122. } else {
  123. return __iced_k();
  124. }
  125. })(function() {
  126. return cb(null);
  127. });
  128. };
  129. })(this));
  130. };
  131. Command.prototype.run = function(cb) {
  132. var err, esc, g, local, me, remote, them, trackw, untrack_obj, ___iced_passed_deferral, __iced_deferrals, __iced_k;
  133. __iced_k = __iced_k_noop;
  134. ___iced_passed_deferral = iced.findDeferral(arguments);
  135. esc = make_esc(cb, "Untrack::run");
  136. log.debug("+ run");
  137. (function(_this) {
  138. return (function(__iced_k) {
  139. __iced_deferrals = new iced.Deferrals(__iced_k, {
  140. parent: ___iced_passed_deferral,
  141. filename: "/home/max/src/keybase/node-client/src/command/untrack.iced",
  142. funcname: "Command.run"
  143. });
  144. User.load_me({
  145. secret: true
  146. }, esc(__iced_deferrals.defer({
  147. assign_fn: (function() {
  148. return function() {
  149. return me = arguments[0];
  150. };
  151. })(),
  152. lineno: 75
  153. })));
  154. __iced_deferrals._fulfill();
  155. });
  156. })(this)((function(_this) {
  157. return function() {
  158. (function(__iced_k) {
  159. __iced_deferrals = new iced.Deferrals(__iced_k, {
  160. parent: ___iced_passed_deferral,
  161. filename: "/home/max/src/keybase/node-client/src/command/untrack.iced",
  162. funcname: "Command.run"
  163. });
  164. User.resolve_user_name({
  165. username: _this.argv.them[0]
  166. }, esc(__iced_deferrals.defer({
  167. assign_fn: (function(__slot_1) {
  168. return function() {
  169. return __slot_1.their_name = arguments[0];
  170. };
  171. })(_this),
  172. lineno: 78
  173. })));
  174. __iced_deferrals._fulfill();
  175. })(function() {
  176. (function(__iced_k) {
  177. __iced_deferrals = new iced.Deferrals(__iced_k, {
  178. parent: ___iced_passed_deferral,
  179. filename: "/home/max/src/keybase/node-client/src/command/untrack.iced",
  180. funcname: "Command.run"
  181. });
  182. User.load({
  183. username: _this.their_name
  184. }, esc(__iced_deferrals.defer({
  185. assign_fn: (function() {
  186. return function() {
  187. return them = arguments[0];
  188. };
  189. })(),
  190. lineno: 79
  191. })));
  192. __iced_deferrals._fulfill();
  193. })(function() {
  194. (function(__iced_k) {
  195. __iced_deferrals = new iced.Deferrals(__iced_k, {
  196. parent: ___iced_passed_deferral,
  197. filename: "/home/max/src/keybase/node-client/src/command/untrack.iced",
  198. funcname: "Command.run"
  199. });
  200. TrackWrapper.load({
  201. tracker: me,
  202. trackee: them
  203. }, esc(__iced_deferrals.defer({
  204. assign_fn: (function() {
  205. return function() {
  206. return trackw = arguments[0];
  207. };
  208. })(),
  209. lineno: 81
  210. })));
  211. __iced_deferrals._fulfill();
  212. })(function() {
  213. var _ref;
  214. _ref = trackw.is_tracking(), remote = _ref.remote, local = _ref.local;
  215. (function(__iced_k) {
  216. if (!remote && !local) {
  217. err = new E.UntrackError("You're not tracking '" + (them.username()) + "'");
  218. (function(__iced_k) {
  219. __iced_deferrals = new iced.Deferrals(__iced_k, {
  220. parent: ___iced_passed_deferral,
  221. filename: "/home/max/src/keybase/node-client/src/command/untrack.iced",
  222. funcname: "Command.run"
  223. });
  224. athrow(err, esc(__iced_deferrals.defer({
  225. lineno: 86
  226. })));
  227. __iced_deferrals._fulfill();
  228. })(__iced_k);
  229. } else {
  230. (function(__iced_k) {
  231. if (remote) {
  232. untrack_obj = them.gen_untrack_obj();
  233. (function(__iced_k) {
  234. __iced_deferrals = new iced.Deferrals(__iced_k, {
  235. parent: ___iced_passed_deferral,
  236. filename: "/home/max/src/keybase/node-client/src/command/untrack.iced",
  237. funcname: "Command.run"
  238. });
  239. me.gen_track_proof_gen({
  240. uid: them.id,
  241. untrack_obj: untrack_obj
  242. }, esc(__iced_deferrals.defer({
  243. assign_fn: (function() {
  244. return function() {
  245. return g = arguments[0];
  246. };
  247. })(),
  248. lineno: 89
  249. })));
  250. __iced_deferrals._fulfill();
  251. })(function() {
  252. (function(__iced_k) {
  253. __iced_deferrals = new iced.Deferrals(__iced_k, {
  254. parent: ___iced_passed_deferral,
  255. filename: "/home/max/src/keybase/node-client/src/command/untrack.iced",
  256. funcname: "Command.run"
  257. });
  258. session.load_and_login(esc(__iced_deferrals.defer({
  259. lineno: 90
  260. })));
  261. __iced_deferrals._fulfill();
  262. })(function() {
  263. (function(__iced_k) {
  264. __iced_deferrals = new iced.Deferrals(__iced_k, {
  265. parent: ___iced_passed_deferral,
  266. filename: "/home/max/src/keybase/node-client/src/command/untrack.iced",
  267. funcname: "Command.run"
  268. });
  269. g.run(esc(__iced_deferrals.defer({
  270. lineno: 91
  271. })));
  272. __iced_deferrals._fulfill();
  273. })(__iced_k);
  274. });
  275. });
  276. } else {
  277. return __iced_k(log.warn("You're not remotely tracking '" + (them.username()) + "'; purging local state"));
  278. }
  279. })(__iced_k);
  280. }
  281. })(function() {
  282. (function(__iced_k) {
  283. __iced_deferrals = new iced.Deferrals(__iced_k, {
  284. parent: ___iced_passed_deferral,
  285. filename: "/home/max/src/keybase/node-client/src/command/untrack.iced",
  286. funcname: "Command.run"
  287. });
  288. _this.remove_key(them, esc(__iced_deferrals.defer({
  289. lineno: 95
  290. })));
  291. __iced_deferrals._fulfill();
  292. })(function() {
  293. (function(__iced_k) {
  294. __iced_deferrals = new iced.Deferrals(__iced_k, {
  295. parent: ___iced_passed_deferral,
  296. filename: "/home/max/src/keybase/node-client/src/command/untrack.iced",
  297. funcname: "Command.run"
  298. });
  299. TrackWrapper.remove_local_track({
  300. uid: them.id
  301. }, esc(__iced_deferrals.defer({
  302. lineno: 96
  303. })));
  304. __iced_deferrals._fulfill();
  305. })(function() {
  306. log.debug("- run");
  307. return cb(err);
  308. });
  309. });
  310. });
  311. });
  312. });
  313. });
  314. };
  315. })(this));
  316. };
  317. return Command;
  318. })(Base);
  319. }).call(this);