Skip to content

Instantly share code, notes, and snippets.

@grundyoso
Created April 10, 2019 22:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save grundyoso/67e0f199cc70c74dd06095e984b92902 to your computer and use it in GitHub Desktop.
Save grundyoso/67e0f199cc70c74dd06095e984b92902 to your computer and use it in GitHub Desktop.
pi@SmartBasket:~/pn-cli-dont-share $ grep -nsHR pass-ninja .
./pn.js:35326:eval("\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.awsResourcesDev = { region: 'us-east-1',\n stackName: 'pass-ninja-web-dev',\n UserPool: 'us-east-1_IKX2BYIbL',\n ApiGatewayRestApi: '59ddsai502',\n DemoPassBucket: 'pass-ninja-web-dev-us-east-1-demo-passes-bucket',\n UserPoolClient: '31rageklk93ge7k82e4it9jmp4',\n IdentityPool: 'us-east-1:99a31351-e839-4cb5-87d1-6da385cb3779',\n iotOwnThingsPolicy: 'pass-ninja-web-dev-us-east-1-cognitos-own',\n iotThingsOwnPolicy: 'pass-ninja-web-dev-us-east-1-things-own' };\n\n\n//# sourceURL=webpack://commonjs/./src/config/aws-resources-dev.ts?");
./pn.js:35338:eval("\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.awsResourcesTest = { region: 'us-east-1',\n stackName: 'pass-ninja-web-test',\n UserPool: 'us-east-1_A1YVKkzgz',\n ApiGatewayRestApi: 'v9b4qnu6c7',\n DemoPassBucket: 'pass-ninja-web-test-us-east-1-demo-passes-bucket',\n UserPoolClient: '34q0slnfght2jmq8u6icmal9b1',\n IdentityPool: 'us-east-1:04c85d54-3d90-4b87-ad15-540110450588',\n iotOwnThingsPolicy: 'pass-ninja-web-test-us-east-1-cognitos-own',\n iotThingsOwnPolicy: 'pass-ninja-web-test-us-east-1-things-own' };\n\n\n//# sourceURL=webpack://commonjs/./src/config/aws-resources-test.ts?");
./pn.js:35350:eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar commander_1 = __importDefault(__webpack_require__(/*! commander */ \"./node_modules/commander/index.js\"));\nvar logging_1 = __webpack_require__(/*! ../logging */ \"./src/logging.ts\");\nvar aws_resources_dev_1 = __webpack_require__(/*! ./aws-resources-dev */ \"./src/config/aws-resources-dev.ts\");\nvar aws_resources_test_1 = __webpack_require__(/*! ./aws-resources-test */ \"./src/config/aws-resources-test.ts\");\nvar env = __importStar(__webpack_require__(/*! ../env */ \"./src/env.ts\"));\nvar fs = __importStar(__webpack_require__(/*! fs */ \"fs\"));\n/**\n * @param config\n *\n * This parses the environment and command line args, and also configures\n * the commandr `program`. Some commands are only included in the admin wiring\n * of the various application components.\n *\n * This isn't necessarily only `admin` commands\n *\n */\nfunction parseEnvAndCommandline(config) {\n var subCommand = undefined;\n function makeCommand(name, extra) {\n var decl = (name + \" \" + extra).trim();\n var cmd = commander_1.default.command(decl);\n cmd.action(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var opts = cmd.opts();\n var options = cmd.options;\n var _loop_1 = function (opt) {\n var optName = opt.attributeName();\n if (opt.required && opts[optName] == null) {\n cmd.help(function (s) { return s + \"\\n--\" + opt.long + \" is required\\n\"; });\n }\n };\n for (var _a = 0, options_1 = options; _a < options_1.length; _a++) {\n var opt = options_1[_a];\n _loop_1(opt);\n }\n subCommand = {\n positionalArgs: args.filter(function (a) { return typeof a === 'string'; }),\n opts: opts,\n name: name\n };\n });\n return cmd;\n }\n if (config.includeSigning) {\n commander_1.default\n // TODO: collapse all these into one\n // TODO: watch multiple paths yeah ...\n // TODO: use organizationName for default pass name instead of pass.pkpass\n // pn sign folder --watch\n // TODO: do we really want this in a public application ?\n .option('--sign-pass <folder>', 'Sign pkpass from <folder> and exit')\n .option('--sign-batch <entry>', 'Sign pkpass batch from <entry> and exit')\n .option('--sign-gpay-batch <entry>', 'Sign gpay batch from <entry> and exit')\n .option('-o, --output-path [path]', 'Output pass files to output [path]', process.cwd())\n .option('-w, --watch', 'Watch mode')\n .option('-c, --certs-path <path>', '<path> to find certificates');\n }\n commander_1.default.option('-S, --stage <stage>', 'PassNinja [stage] backend to connect to', 'dev');\n commander_1.default\n .option('-p, --port [port]', '[port] to listen on', 3002)\n .option('-h, --host [host]', '[hostname] to listen for', '0.0.0.0')\n .option('-U, --user <user>', 'Login as <user>')\n .option('-P, --password <password>', 'Login with <password>')\n .option('-O, --offline', 'run in offline mode', false)\n .option('-s, --passkit-service', 'Launch local PassKit web service and add webServiceURL to signed passes.\\n' +\n 'Set NGROK_URL env var')\n .option('-r, --scan-report-end-point <endpoint>', 'http POST scan data to <endpoint>');\n if (config.includeAdmin) {\n commander_1.default.option('-a, --admin', 'Run in admin mode');\n makeCommand('create-pass-type', '<passTypeIdentifier>')\n .description('Make a pass')\n .option('-o, --output-path [folder]', '[folder] to output keys to', String, process.cwd())\n .option('-p, --passphrase <phrase>', '<phrase> to encrypt private key with')\n .option('-n, --cert-name <name>', '<name> of certificate');\n }\n commander_1.default.parse(process.argv);\n // TODO: add to the secrets manager ?\n var nfcKeys = env.PN_NFC_KEYS && fs.existsSync(env.PN_NFC_KEYS) ?\n JSON.parse(fs.readFileSync(process.env.PN_NFC_KEYS).toString()) :\n undefined;\n var stage = commander_1.default['stage'];\n var awsResources = stage === 'test' ?\n aws_resources_test_1.awsResourcesTest : aws_resources_dev_1.awsResourcesDev;\n var offline = Boolean(commander_1.default['offline']);\n var options = {\n subCommand: subCommand,\n demoBackend: {\n baseUrl: env.BACKEND_URL || \"https://\" + stage + \"-api.passninja.com\"\n },\n sessionServer: {\n baseUrl: env.CLOUD_SESSION_URL ||\n 'https://cloudsessionalpha.passninja.com/smart-tap'\n },\n awsResources: {\n stage: commander_1.default['stage'],\n userPool: awsResources.UserPool,\n identityPool: awsResources.IdentityPool,\n userPoolClient: awsResources.UserPoolClient,\n iotOwnThingsPolicy: awsResources.iotOwnThingsPolicy,\n iotThingsOwnPolicy: awsResources.iotThingsOwnPolicy,\n region: awsResources.region,\n stackName: awsResources.stackName\n },\n nfc: {\n // PassNinjaDemo\n selectPassTypeIdentifier: 'pass.com.ndudfield.nfc',\n selectCollectorId: 77501435,\n keys: nfcKeys\n },\n gpay: {},\n args: {\n offline: offline,\n scanReportEndPoint: commander_1.default['scanReportEndPoint'],\n watch: Boolean(commander_1.default['watch']),\n passkitService: Boolean(commander_1.default['passkitService']),\n signPass: commander_1.default['signPass'],\n signBatch: commander_1.default['signBatch'],\n signGpayBatch: commander_1.default['signGpayBatch'],\n outputPath: commander_1.default['outputPath'],\n certsPath: commander_1.default['certsPath']\n },\n server: {\n port: commander_1.default['port'],\n hostname: offline ? 'localhost' : commander_1.default['host']\n },\n userCredentials: {\n password: commander_1.default['password'],\n user: commander_1.default['user']\n }\n };\n if (config.includeAdmin) {\n options.appleServiceAccount = {\n password: env.PASSNINJA_APPLE_SERVICE_ACCOUNT_PASS_WORD,\n teamId: 'Q338UYGFZ8',\n user: 'passninja@flomio.com'\n };\n options.args.admin = Boolean(commander_1.default['admin']);\n options.awsResources.ninjaKeysArn =\n 'arn:aws:secretsmanager:us-east-1:448311138761' +\n ':secret:pass-ninja-web-server-e5HaT1';\n if (options.args.admin) {\n // TODO: defaults\n options.gpay.merchantId = '3175895186863635130';\n options.gpay.client_email = 'admin-341@pass-ninja.iam.gserviceaccount.com';\n }\n }\n logging_1.dbg({ options: options });\n return options;\n}\nexports.parseEnvAndCommandline = parseEnvAndCommandline;\n\n\n//# sourceURL=webpack://commonjs/./src/config/config.ts?");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment