@p0security/cli 0.18.9 → 0.18.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/dist/commands/__tests__/login.test.js +17 -10
- package/build/dist/commands/__tests__/login.test.js.map +1 -1
- package/build/dist/commands/__tests__/request.test.js +64 -9
- package/build/dist/commands/__tests__/request.test.js.map +1 -1
- package/build/dist/commands/__tests__/ssh.test.js +75 -51
- package/build/dist/commands/__tests__/ssh.test.js.map +1 -1
- package/build/dist/commands/allow.js +3 -2
- package/build/dist/commands/allow.js.map +1 -1
- package/build/dist/commands/aws/__tests__/role.test.js +18 -12
- package/build/dist/commands/aws/__tests__/role.test.js.map +1 -1
- package/build/dist/commands/aws/index.js +0 -4
- package/build/dist/commands/aws/index.js.map +1 -1
- package/build/dist/commands/aws/permission-set.js +1 -2
- package/build/dist/commands/aws/permission-set.js.map +1 -1
- package/build/dist/commands/aws/role.js +1 -2
- package/build/dist/commands/aws/role.js.map +1 -1
- package/build/dist/commands/grant.js +12 -2
- package/build/dist/commands/grant.js.map +1 -1
- package/build/dist/commands/index.js +2 -0
- package/build/dist/commands/index.js.map +1 -1
- package/build/dist/commands/kubeconfig.js +1 -2
- package/build/dist/commands/kubeconfig.js.map +1 -1
- package/build/dist/commands/login.js +19 -27
- package/build/dist/commands/login.js.map +1 -1
- package/build/dist/commands/logout.d.ts +2 -0
- package/build/dist/commands/logout.js +61 -0
- package/build/dist/commands/logout.js.map +1 -0
- package/build/dist/commands/ls.js +1 -2
- package/build/dist/commands/ls.js.map +1 -1
- package/build/dist/commands/request.js +12 -2
- package/build/dist/commands/request.js.map +1 -1
- package/build/dist/commands/scp.js +1 -2
- package/build/dist/commands/scp.js.map +1 -1
- package/build/dist/commands/shared/index.d.ts +7 -4
- package/build/dist/commands/shared/index.js +20 -45
- package/build/dist/commands/shared/index.js.map +1 -1
- package/build/dist/commands/shared/request.d.ts +3 -0
- package/build/dist/commands/shared/request.js +105 -59
- package/build/dist/commands/shared/request.js.map +1 -1
- package/build/dist/commands/shared/ssh.js +21 -12
- package/build/dist/commands/shared/ssh.js.map +1 -1
- package/build/dist/commands/ssh-proxy.js +2 -3
- package/build/dist/commands/ssh-proxy.js.map +1 -1
- package/build/dist/commands/ssh-resolve.js +2 -3
- package/build/dist/commands/ssh-resolve.js.map +1 -1
- package/build/dist/commands/ssh.js +3 -4
- package/build/dist/commands/ssh.js.map +1 -1
- package/build/dist/common/keys.js +40 -7
- package/build/dist/common/keys.js.map +1 -1
- package/build/dist/drivers/__tests__/api.test.d.ts +1 -0
- package/build/dist/drivers/__tests__/api.test.js +688 -0
- package/build/dist/drivers/__tests__/api.test.js.map +1 -0
- package/build/dist/drivers/api.d.ts +11 -1
- package/build/dist/drivers/api.js +247 -30
- package/build/dist/drivers/api.js.map +1 -1
- package/build/dist/drivers/auth/index.js +23 -10
- package/build/dist/drivers/auth/index.js.map +1 -1
- package/build/dist/drivers/auth/path.d.ts +2 -0
- package/build/dist/drivers/auth/path.js +19 -1
- package/build/dist/drivers/auth/path.js.map +1 -1
- package/build/dist/drivers/config.js +10 -18
- package/build/dist/drivers/config.js.map +1 -1
- package/build/dist/drivers/env.d.ts +1 -1
- package/build/dist/drivers/env.js +2 -2
- package/build/dist/drivers/env.js.map +1 -1
- package/build/dist/drivers/firestore.d.ts +0 -10
- package/build/dist/drivers/firestore.js +3 -43
- package/build/dist/drivers/firestore.js.map +1 -1
- package/build/dist/drivers/org.d.ts +1 -0
- package/build/dist/drivers/org.js +43 -0
- package/build/dist/drivers/org.js.map +1 -0
- package/build/dist/opentelemetry/instrumentation.js +6 -14
- package/build/dist/opentelemetry/instrumentation.js.map +1 -1
- package/build/dist/plugins/aws/config.js +3 -6
- package/build/dist/plugins/aws/config.js.map +1 -1
- package/build/dist/plugins/azure/login.d.ts +3 -0
- package/build/dist/plugins/azure/login.js +86 -0
- package/build/dist/plugins/azure/login.js.map +1 -0
- package/build/dist/plugins/google/ssh-key.js +9 -9
- package/build/dist/plugins/google/ssh-key.js.map +1 -1
- package/build/dist/plugins/kubeconfig/index.js +12 -10
- package/build/dist/plugins/kubeconfig/index.js.map +1 -1
- package/build/dist/plugins/login.js +11 -9
- package/build/dist/plugins/login.js.map +1 -1
- package/build/dist/plugins/self-hosted/ssh.d.ts +3 -0
- package/build/dist/plugins/self-hosted/ssh.js +80 -0
- package/build/dist/plugins/self-hosted/ssh.js.map +1 -0
- package/build/dist/plugins/self-hosted/types.d.ts +31 -0
- package/build/dist/plugins/self-hosted/types.js +3 -0
- package/build/dist/plugins/self-hosted/types.js.map +1 -0
- package/build/dist/types/identity.d.ts +2 -1
- package/build/dist/types/org.d.ts +2 -0
- package/build/dist/types/request.d.ts +1 -1
- package/build/dist/types/ssh.d.ts +5 -4
- package/build/dist/types/ssh.js +6 -1
- package/build/dist/types/ssh.js.map +1 -1
- package/build/dist/util.d.ts +3 -0
- package/build/dist/util.js +19 -3
- package/build/dist/util.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -4
- package/build/dist/testing/firestore.d.ts +0 -2
- package/build/dist/testing/firestore.js +0 -17
- package/build/dist/testing/firestore.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.test.js","sourceRoot":"","sources":["../../../../src/drivers/__tests__/api.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAWA,gCAA4C;AAE5C,oBAAoB;AACpB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACpB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IAChC,aAAa,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;CACpC,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,MAAM,SAAS,GAAU;QACvB,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,YAAY,CAAC;QACnD,QAAQ,EAAE;YACR,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;SAC1B;KACkB,CAAC;IAEtB,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,GAAG,EAAE;QACb,kCAAkC;QAClC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,MAAM,2BAA2B,GAAG,CAAC,MAAgB,EAAE,EAAE;QACvD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAS,EAAE;gBAC5C,IAAI,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE;oBAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;oBACnC,OAAO;wBACL,IAAI,EAAE,KAAK;wBACX,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;qBAC7B,CAAC;iBACH;gBACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YAC1C,CAAC,CAAA,CAAC;SACH,CAAC;QAEF,OAAO;YACL,IAAI,EAAE;gBACJ,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC;aACjD;SACF,CAAC;IACJ,CAAC,CAAC;IAEF,EAAE,CAAC,2CAA2C,EAAE,GAAS,EAAE;;QACzD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,iBAAiB,CAC7D,2BAA2B,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE;aAC1C,CAAC,GAAG,IAAI;YACT,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE;aAC3C,CAAC,GAAG,IAAI;SACV,CAAQ,CACV,CAAC;QAEF,MAAM,SAAS,GAAG,IAAA,wBAAkB,EAAC,SAAS,EAAE;YAC9C,GAAG,EAAE,UAAU;YACf,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;SACvC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,EAAE,CAAC;;YACnB,KAA0B,eAAA,cAAA,cAAA,SAAS,CAAA,eAAA;gBAAT,yBAAS;gBAAT,WAAS;;oBAAxB,MAAM,KAAK,KAAA,CAAA;oBACpB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;;;;aACrB;;;;;;;;;QAED,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;YACtB,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE;YACnC,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE;SACrC,CAAC,CAAC;QAEH,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,UAAU,EAAE;YACjD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,aAAa,EAAE,mBAAmB;gBAClC,cAAc,EAAE,kBAAkB;gBAClC,YAAY,EAAE,cAAc;aAC7B;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACtC,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;IACL,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAS,EAAE;;QAC9C,MAAM,MAAM,GAAG;YACb,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,WAAW;aAClB,CAAC,GAAG,IAAI;YACT,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE;aACxC,CAAC,GAAG,IAAI;YACT,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,WAAW;aAClB,CAAC,GAAG,IAAI;SACV,CAAC;QACF,IAAI;aACD,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC;aACtB,iBAAiB,CAAC,2BAA2B,CAAC,MAAM,CAAQ,CAAC,CAAC;QAEjE,MAAM,SAAS,GAAG,IAAA,wBAAkB,EAAC,SAAS,EAAE;YAC9C,GAAG,EAAE,SAAS;YACd,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,EAAE,CAAC;;YACnB,KAA0B,eAAA,cAAA,cAAA,SAAS,CAAA,eAAA;gBAAT,yBAAS;gBAAT,WAAS;;oBAAxB,MAAM,KAAK,KAAA,CAAA;oBACpB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;;;;aACrB;;;;;;;;;QAED,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAS,EAAE;QAC9D,MAAM,MAAM,GAAG;YACb,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,sBAAsB;aAC9B,CAAC,GAAG,IAAI;SACV,CAAC;QACF,IAAI;aACD,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC;aACtB,iBAAiB,CAAC,2BAA2B,CAAC,MAAM,CAAQ,CAAC,CAAC;QAEjE,MAAM,SAAS,GAAG,IAAA,wBAAkB,EAAC,SAAS,EAAE;YAC9C,GAAG,EAAE,SAAS;YACd,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,GAAS,EAAE;;;gBACtB,KAA2B,eAAA,cAAA,cAAA,SAAS,CAAA,eAAA;oBAAT,yBAAS;oBAAT,WAAS;;wBAAzB,MAAM,MAAM,KAAA,CAAA;;;;;iBAEtB;;;;;;;;;QACH,CAAC,CAAA,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAS,EAAE;QAC3D,MAAM,MAAM,GAAG;YACb,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE;aACvC,CAAC,GAAG,IAAI;SACV,CAAC;QACF,IAAI;aACD,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC;aACtB,iBAAiB,CAAC,2BAA2B,CAAC,MAAM,CAAQ,CAAC,CAAC;QAEjE,MAAM,SAAS,GAAG,IAAA,wBAAkB,EAAC,SAAS,EAAE;YAC9C,GAAG,EAAE,SAAS;YACd,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,GAAS,EAAE;;;gBACtB,KAA2B,eAAA,cAAA,cAAA,SAAS,CAAA,eAAA;oBAAT,yBAAS;oBAAT,WAAS;;wBAAzB,MAAM,MAAM,KAAA,CAAA;;;;;iBAEtB;;;;;;;;;QACH,CAAC,CAAA,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAS,EAAE;QAC9D,MAAM,MAAM,GAAG;YACb,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,SAAS;aACpB,CAAC,GAAG,IAAI;SACV,CAAC;QACF,IAAI;aACD,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC;aACtB,iBAAiB,CAAC,2BAA2B,CAAC,MAAM,CAAQ,CAAC,CAAC;QAEjE,MAAM,SAAS,GAAG,IAAA,wBAAkB,EAAC,SAAS,EAAE;YAC9C,GAAG,EAAE,SAAS;YACd,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,GAAS,EAAE;;;gBACtB,KAA2B,eAAA,cAAA,cAAA,SAAS,CAAA,eAAA;oBAAT,yBAAS;oBAAT,WAAS;;wBAAzB,MAAM,MAAM,KAAA,CAAA;;;;;iBAEtB;;;;;;;;;QACH,CAAC,CAAA,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAS,EAAE;;QACnE,MAAM,MAAM,GAAG;YACb,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC;gBACvD,IAAI;gBACJ,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;gBACnD,IAAI;SACP,CAAC;QACF,IAAI;aACD,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC;aACtB,iBAAiB,CAAC,2BAA2B,CAAC,MAAM,CAAQ,CAAC,CAAC;QAEjE,MAAM,SAAS,GAAG,IAAA,wBAAkB,EAAC,SAAS,EAAE;YAC9C,GAAG,EAAE,SAAS;YACd,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,EAAE,CAAC;;YACnB,KAA0B,eAAA,cAAA,cAAA,SAAS,CAAA,eAAA;gBAAT,yBAAS;gBAAT,WAAS;;oBAAxB,MAAM,KAAK,KAAA,CAAA;oBACpB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;;;;aACrB;;;;;;;;;QAED,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAS,EAAE;;QACtD,MAAM,MAAM,GAAG;YACb,sEAAsE;YACtE,0BAA0B,EAAE,qBAAqB;SAClD,CAAC;QAEF,IAAI;aACD,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC;aACtB,iBAAiB,CAAC,2BAA2B,CAAC,MAAM,CAAQ,CAAC,CAAC;QAEjE,MAAM,SAAS,GAAG,IAAA,wBAAkB,EAAC,SAAS,EAAE;YAC9C,GAAG,EAAE,SAAS;YACd,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,EAAE,CAAC;;YACnB,KAA0B,eAAA,cAAA,cAAA,SAAS,CAAA,eAAA;gBAAT,yBAAS;gBAAT,WAAS;;oBAAxB,MAAM,KAAK,KAAA,CAAA;oBACpB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;;;;aACrB;;;;;;;;;QAED,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAS,EAAE;;QACpE,oDAAoD;QACpD,MAAM,MAAM,GAAG;YACb,uCAAuC;YACvC,uCAAuC;YACvC,wCAAwC;YACxC,SAAS,EAAE,wBAAwB;SACpC,CAAC;QAEF,IAAI;aACD,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC;aACtB,iBAAiB,CAAC,2BAA2B,CAAC,MAAM,CAAQ,CAAC,CAAC;QAEjE,MAAM,SAAS,GAAG,IAAA,wBAAkB,EAAC,SAAS,EAAE;YAC9C,GAAG,EAAE,SAAS;YACd,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,EAAE,CAAC;;YACnB,KAA0B,eAAA,cAAA,cAAA,SAAS,CAAA,eAAA;gBAAT,yBAAS;gBAAT,WAAS;;oBAAxB,MAAM,KAAK,KAAA,CAAA;oBACpB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;;;;aACrB;;;;;;;;;QAED,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;YACtB,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE;YACnC,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE;SACrC,CAAC,CAAC;IACL,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAS,EAAE;;QACrD,qCAAqC;QACrC,MAAM,UAAU,GAAG,wCAAwC,CAAC;QAC5D,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAEpC,IAAI;aACD,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC;aACtB,iBAAiB,CAAC,2BAA2B,CAAC,MAAM,CAAQ,CAAC,CAAC;QAEjE,MAAM,SAAS,GAAG,IAAA,wBAAkB,EAAC,SAAS,EAAE;YAC9C,GAAG,EAAE,SAAS;YACd,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,EAAE,CAAC;;YACnB,KAA0B,gBAAA,cAAA,cAAA,SAAS,CAAA,eAAA;gBAAT,0BAAS;gBAAT,YAAS;;oBAAxB,MAAM,KAAK,MAAA,CAAA;oBACpB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;;;;aACrB;;;;;;;;;QAED,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAS,EAAE;QAC1E,MAAM,MAAM,GAAG;YACb,kCAAkC,EAAE,cAAc;SACnD,CAAC;QAEF,IAAI;aACD,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC;aACtB,iBAAiB,CAAC,2BAA2B,CAAC,MAAM,CAAQ,CAAC,CAAC;QAEjE,MAAM,SAAS,GAAG,IAAA,wBAAkB,EAAC,SAAS,EAAE;YAC9C,GAAG,EAAE,SAAS;YACd,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,GAAS,EAAE;;;gBACtB,KAA2B,gBAAA,eAAA,cAAA,SAAS,CAAA,gBAAA;oBAAT,2BAAS;oBAAT,YAAS;;wBAAzB,MAAM,MAAM,MAAA,CAAA;;;;;iBAEtB;;;;;;;;;QACH,CAAC,CAAA,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAS,EAAE;;QAC1C,MAAM,MAAM,GAAG;YACb,EAAE;YACF,qCAAqC;YACrC,EAAE;YACF,qCAAqC;SACtC,CAAC;QAEF,IAAI;aACD,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC;aACtB,iBAAiB,CAAC,2BAA2B,CAAC,MAAM,CAAQ,CAAC,CAAC;QAEjE,MAAM,SAAS,GAAG,IAAA,wBAAkB,EAAC,SAAS,EAAE;YAC9C,GAAG,EAAE,SAAS;YACd,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,EAAE,CAAC;;YACnB,KAA0B,gBAAA,eAAA,cAAA,SAAS,CAAA,gBAAA;gBAAT,2BAAS;gBAAT,YAAS;;oBAAxB,MAAM,KAAK,MAAA,CAAA;oBACpB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;;;;aACrB;;;;;;;;;QAED,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,kFAAkF,EAAE,GAAS,EAAE;QAChG,MAAM,MAAM,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAEpD,IAAI;aACD,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC;aACtB,iBAAiB,CAAC,2BAA2B,CAAC,MAAM,CAAQ,CAAC,CAAC;QAEjE,MAAM,SAAS,GAAG,IAAA,wBAAkB,EAAC,SAAS,EAAE;YAC9C,GAAG,EAAE,SAAS;YACd,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,GAAS,EAAE;;;gBACtB,KAA2B,gBAAA,eAAA,cAAA,SAAS,CAAA,gBAAA;oBAAT,2BAAS;oBAAT,YAAS;;wBAAzB,MAAM,MAAM,MAAA,CAAA;;;;;iBAEtB;;;;;;;;;QACH,CAAC,CAAA,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAS,EAAE;QACzD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,iBAAiB,CAAC,IAAI,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;QAE3E,MAAM,SAAS,GAAG,IAAA,wBAAkB,EAAC,SAAS,EAAE;YAC9C,GAAG,EAAE,SAAS;YACd,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,GAAS,EAAE;;;gBACtB,KAA2B,gBAAA,eAAA,cAAA,SAAS,CAAA,gBAAA;oBAAT,2BAAS;oBAAT,YAAS;;wBAAzB,MAAM,MAAM,MAAA,CAAA;;;;;iBAEtB;;;;;;;;;QACH,CAAC,CAAA,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAS,EAAE;QAC3C,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAE3D,MAAM,SAAS,GAAG,IAAA,wBAAkB,EAAC,SAAS,EAAE;YAC9C,GAAG,EAAE,SAAS;YACd,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,GAAS,EAAE;;;gBACtB,KAA2B,gBAAA,eAAA,cAAA,SAAS,CAAA,gBAAA;oBAAT,2BAAS;oBAAT,YAAS;;wBAAzB,MAAM,MAAM,MAAA,CAAA;;;;;iBAEtB;;;;;;;;;QACH,CAAC,CAAA,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAS,EAAE;QAC3D,IAAI;aACD,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC;aACtB,iBAAiB,CAAC,IAAI,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;QAEpD,MAAM,SAAS,GAAG,IAAA,wBAAkB,EAAC,SAAS,EAAE;YAC9C,GAAG,EAAE,SAAS;YACd,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,GAAS,EAAE;;;gBACtB,KAA2B,gBAAA,eAAA,cAAA,SAAS,CAAA,gBAAA;oBAAT,2BAAS;oBAAT,YAAS;;wBAAzB,MAAM,MAAM,MAAA,CAAA;;;;;iBAEtB;;;;;;;;;QACH,CAAC,CAAA,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAS,EAAE;QAC3D,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,iBAAiB,CAAC;YAC5C,IAAI,EAAE,IAAI;SACJ,CAAC,CAAC;QAEV,MAAM,SAAS,GAAG,IAAA,wBAAkB,EAAC,SAAS,EAAE;YAC9C,GAAG,EAAE,SAAS;YACd,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,GAAS,EAAE;;;gBACtB,KAA2B,gBAAA,eAAA,cAAA,SAAS,CAAA,gBAAA;oBAAT,2BAAS;oBAAT,YAAS;;wBAAzB,MAAM,MAAM,MAAA,CAAA;;;;;iBAEtB;;;;;;;;;QACH,CAAC,CAAA,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAS,EAAE;;QAChE,MAAM,MAAM,GAAG;YACb,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;aAC7B,CAAC,GAAG,IAAI;SACV,CAAC;QAEF,MAAM,SAAS,GAAG,IAAI;aACnB,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC;aACtB,iBAAiB,CAAC,2BAA2B,CAAC,MAAM,CAAQ,CAAC,CAAC;QAEjE,MAAM,SAAS,GAAG,IAAA,wBAAkB,EAAC,SAAS,EAAE;YAC9C,GAAG,EAAE,SAAS;YACd,MAAM,EAAE,MAAM;YACd,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,EAAE,CAAC;;YACnB,KAA0B,gBAAA,eAAA,cAAA,SAAS,CAAA,gBAAA;gBAAT,2BAAS;gBAAT,YAAS;;oBAAxB,MAAM,KAAK,MAAA,CAAA;oBACpB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;;;;aACrB;;;;;;;;;QAED,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CACpC,SAAS,EACT,MAAM,CAAC,gBAAgB,CAAC;YACtB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC;SAChC,CAAC,CACH,CAAC;IACJ,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -11,6 +11,11 @@ You should have received a copy of the GNU General Public License along with @p0
|
|
|
11
11
|
import { Authn } from "../types/identity";
|
|
12
12
|
import yargs from "yargs";
|
|
13
13
|
export declare const tracesUrl: (tenant: string) => string;
|
|
14
|
+
export declare const fetchOrgData: <T>(orgId: string) => Promise<T>;
|
|
15
|
+
export declare const fetchAccountInfo: <T>(authn: Authn) => Promise<T>;
|
|
16
|
+
export declare const fetchPermissionRequestDetails: <T>(authn: Authn, requestId: string) => Promise<T>;
|
|
17
|
+
export declare const fetchIntegrationConfig: <T>(authn: Authn, integration: string) => Promise<T>;
|
|
18
|
+
export declare const fetchStreamingCommand: <T>(authn: Authn, args: yargs.ArgumentsCamelCase, argv: string[], debug?: boolean) => AsyncGenerator<Awaited<NonNullable<T>>, void, unknown>;
|
|
14
19
|
export declare const fetchCommand: <T>(authn: Authn, args: yargs.ArgumentsCamelCase, argv: string[]) => Promise<T>;
|
|
15
20
|
/** Special admin 'ls' command that can retrieve results for all users. Requires 'owner' permission. */
|
|
16
21
|
export declare const fetchAdminLsCommand: <T>(authn: Authn, args: yargs.ArgumentsCamelCase, argv: string[]) => Promise<T>;
|
|
@@ -18,6 +23,12 @@ export declare const submitPublicKey: <T>(authn: Authn, args: {
|
|
|
18
23
|
publicKey: string;
|
|
19
24
|
requestId: string;
|
|
20
25
|
}) => Promise<T>;
|
|
26
|
+
export declare const fetchWithStreaming: <T>(authn: Authn, args: {
|
|
27
|
+
url: string;
|
|
28
|
+
method: string;
|
|
29
|
+
body?: string;
|
|
30
|
+
maxTimeoutMs?: number;
|
|
31
|
+
}, debug?: boolean) => AsyncGenerator<Awaited<NonNullable<T>>, void, unknown>;
|
|
21
32
|
export declare const auditSshSessionActivity: (args: {
|
|
22
33
|
authn: Authn;
|
|
23
34
|
requestId: string;
|
|
@@ -25,4 +36,3 @@ export declare const auditSshSessionActivity: (args: {
|
|
|
25
36
|
action: `ssh.session.${"end" | "start"}`;
|
|
26
37
|
debug: boolean | undefined;
|
|
27
38
|
}) => Promise<void>;
|
|
28
|
-
export declare const baseFetch: <T>(authn: Authn, url: string, method: string, body: string) => Promise<T>;
|
|
@@ -31,12 +31,39 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
31
31
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
32
|
});
|
|
33
33
|
};
|
|
34
|
+
var __asyncValues = (this && this.__asyncValues) || function (o) {
|
|
35
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
36
|
+
var m = o[Symbol.asyncIterator], i;
|
|
37
|
+
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
|
|
38
|
+
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
|
39
|
+
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
|
40
|
+
};
|
|
41
|
+
var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
|
|
42
|
+
var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
|
|
43
|
+
var i, p;
|
|
44
|
+
return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
|
|
45
|
+
function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
|
|
46
|
+
};
|
|
47
|
+
var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
|
|
48
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
49
|
+
var g = generator.apply(thisArg, _arguments || []), i, q = [];
|
|
50
|
+
return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
|
|
51
|
+
function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
|
|
52
|
+
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
|
|
53
|
+
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
|
|
54
|
+
function fulfill(value) { resume("next", value); }
|
|
55
|
+
function reject(value) { resume("throw", value); }
|
|
56
|
+
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
|
|
57
|
+
};
|
|
34
58
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
-
exports.
|
|
59
|
+
exports.auditSshSessionActivity = exports.fetchWithStreaming = exports.submitPublicKey = exports.fetchAdminLsCommand = exports.fetchCommand = exports.fetchStreamingCommand = exports.fetchIntegrationConfig = exports.fetchPermissionRequestDetails = exports.fetchAccountInfo = exports.fetchOrgData = exports.tracesUrl = void 0;
|
|
36
60
|
const version_1 = require("../version");
|
|
37
61
|
const config_1 = require("./config");
|
|
62
|
+
const env_1 = require("./env");
|
|
38
63
|
const stdio_1 = require("./stdio");
|
|
39
64
|
const path = __importStar(require("node:path"));
|
|
65
|
+
const DEFAULT_PERMISSION_REQUEST_TIMEOUT = 300e3; // 5 minutes
|
|
66
|
+
const tenantOrgUrl = (tenant) => { var _a, _b; return `${(_b = (_a = (0, config_1.getTenantConfig)()) === null || _a === void 0 ? void 0 : _a.appUrl) !== null && _b !== void 0 ? _b : env_1.defaultConfig.appUrl}/orgs/${tenant}`; };
|
|
40
67
|
const tenantUrl = (tenant) => `${(0, config_1.getTenantConfig)().appUrl}/o/${tenant}`;
|
|
41
68
|
const publicKeysUrl = (tenant) => `${tenantUrl(tenant)}/integrations/ssh/public-keys`;
|
|
42
69
|
const sshAuditUrl = (tenant) => `${tenantUrl(tenant)}/integrations/ssh/audit`;
|
|
@@ -44,39 +71,208 @@ const commandUrl = (tenant) => `${tenantUrl(tenant)}/command/`;
|
|
|
44
71
|
const adminLsCommandUrl = (tenant) => `${tenantUrl(tenant)}/command/ls`;
|
|
45
72
|
const tracesUrl = (tenant) => `${tenantUrl(tenant)}/traces`;
|
|
46
73
|
exports.tracesUrl = tracesUrl;
|
|
74
|
+
const fetchOrgData = (orgId) => __awaiter(void 0, void 0, void 0, function* () { return baseFetch({ url: tenantOrgUrl(orgId), method: "GET" }); });
|
|
75
|
+
exports.fetchOrgData = fetchOrgData;
|
|
76
|
+
const fetchAccountInfo = (authn) => __awaiter(void 0, void 0, void 0, function* () {
|
|
77
|
+
return authFetch(authn, {
|
|
78
|
+
url: `${tenantUrl(authn.identity.org.slug)}/account`,
|
|
79
|
+
method: "GET",
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
exports.fetchAccountInfo = fetchAccountInfo;
|
|
83
|
+
const fetchPermissionRequestDetails = (authn, requestId) => __awaiter(void 0, void 0, void 0, function* () {
|
|
84
|
+
return authFetch(authn, {
|
|
85
|
+
url: `${tenantUrl(authn.identity.org.slug)}/permission-requests/${requestId}`,
|
|
86
|
+
method: "GET",
|
|
87
|
+
maxTimeoutMs: DEFAULT_PERMISSION_REQUEST_TIMEOUT,
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
exports.fetchPermissionRequestDetails = fetchPermissionRequestDetails;
|
|
91
|
+
const fetchIntegrationConfig = (authn, integration) => __awaiter(void 0, void 0, void 0, function* () {
|
|
92
|
+
return authFetch(authn, {
|
|
93
|
+
url: `${tenantUrl(authn.identity.org.slug)}/integrations/${integration}/config`,
|
|
94
|
+
method: "GET",
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
exports.fetchIntegrationConfig = fetchIntegrationConfig;
|
|
98
|
+
const fetchStreamingCommand = function (authn, args, argv, debug) {
|
|
99
|
+
return __asyncGenerator(this, arguments, function* () {
|
|
100
|
+
yield __await(yield* __asyncDelegator(__asyncValues((0, exports.fetchWithStreaming)(authn, {
|
|
101
|
+
url: commandUrl(authn.identity.org.slug),
|
|
102
|
+
method: "POST",
|
|
103
|
+
body: JSON.stringify({
|
|
104
|
+
argv,
|
|
105
|
+
scriptName: path.basename(args.$0),
|
|
106
|
+
wait: true,
|
|
107
|
+
}),
|
|
108
|
+
}, debug))));
|
|
109
|
+
});
|
|
110
|
+
};
|
|
111
|
+
exports.fetchStreamingCommand = fetchStreamingCommand;
|
|
47
112
|
const fetchCommand = (authn, args, argv) => __awaiter(void 0, void 0, void 0, function* () {
|
|
48
|
-
return (
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
113
|
+
return authFetch(authn, {
|
|
114
|
+
url: commandUrl(authn.identity.org.slug),
|
|
115
|
+
method: "POST",
|
|
116
|
+
body: JSON.stringify({
|
|
117
|
+
argv,
|
|
118
|
+
scriptName: path.basename(args.$0),
|
|
119
|
+
}),
|
|
120
|
+
});
|
|
52
121
|
});
|
|
53
122
|
exports.fetchCommand = fetchCommand;
|
|
54
123
|
/** Special admin 'ls' command that can retrieve results for all users. Requires 'owner' permission. */
|
|
55
124
|
const fetchAdminLsCommand = (authn, args, argv) => __awaiter(void 0, void 0, void 0, function* () {
|
|
56
|
-
return (
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
125
|
+
return authFetch(authn, {
|
|
126
|
+
url: adminLsCommandUrl(authn.identity.org.slug),
|
|
127
|
+
method: "POST",
|
|
128
|
+
body: JSON.stringify({
|
|
129
|
+
argv,
|
|
130
|
+
scriptName: path.basename(args.$0),
|
|
131
|
+
}),
|
|
132
|
+
});
|
|
60
133
|
});
|
|
61
134
|
exports.fetchAdminLsCommand = fetchAdminLsCommand;
|
|
62
135
|
const submitPublicKey = (authn, args) => __awaiter(void 0, void 0, void 0, function* () {
|
|
63
|
-
return (
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
136
|
+
return authFetch(authn, {
|
|
137
|
+
url: publicKeysUrl(authn.identity.org.slug),
|
|
138
|
+
method: "POST",
|
|
139
|
+
body: JSON.stringify({
|
|
140
|
+
requestId: args.requestId,
|
|
141
|
+
publicKey: args.publicKey,
|
|
142
|
+
}),
|
|
143
|
+
});
|
|
67
144
|
});
|
|
68
145
|
exports.submitPublicKey = submitPublicKey;
|
|
146
|
+
const fetchWithStreaming = function (authn, args, debug) {
|
|
147
|
+
var _a;
|
|
148
|
+
return __asyncGenerator(this, arguments, function* () {
|
|
149
|
+
const token = yield __await(authn.getToken());
|
|
150
|
+
const { version } = version_1.p0VersionInfo;
|
|
151
|
+
const { url, method, body, maxTimeoutMs } = args;
|
|
152
|
+
const fetchOptions = {
|
|
153
|
+
method,
|
|
154
|
+
headers: {
|
|
155
|
+
authorization: `Bearer ${token}`,
|
|
156
|
+
"Content-Type": "application/json",
|
|
157
|
+
"User-Agent": `P0 CLI/${version}`,
|
|
158
|
+
},
|
|
159
|
+
body,
|
|
160
|
+
keepalive: true,
|
|
161
|
+
};
|
|
162
|
+
try {
|
|
163
|
+
const response = yield __await(fetch(url, maxTimeoutMs
|
|
164
|
+
? Object.assign(Object.assign({}, fetchOptions), { signal: AbortSignal.timeout(maxTimeoutMs) }) : fetchOptions));
|
|
165
|
+
if (!response.body)
|
|
166
|
+
throw "No reader available";
|
|
167
|
+
const onLine = (line) => {
|
|
168
|
+
const segment = JSON.parse(line);
|
|
169
|
+
if (segment.type === "error") {
|
|
170
|
+
throw segment.error;
|
|
171
|
+
}
|
|
172
|
+
if (segment.type !== "heartbeat") {
|
|
173
|
+
if (segment.type !== "data" || !("data" in segment)) {
|
|
174
|
+
throw "Invalid response from the server";
|
|
175
|
+
}
|
|
176
|
+
const { data } = segment;
|
|
177
|
+
if ("error" in data) {
|
|
178
|
+
throw data.error;
|
|
179
|
+
}
|
|
180
|
+
return data;
|
|
181
|
+
}
|
|
182
|
+
return undefined; // Ignore heartbeat messages
|
|
183
|
+
};
|
|
184
|
+
// we need get the reader from the body as the backend will be streaming chunks of stringified json
|
|
185
|
+
// response data delimited using new lines.
|
|
186
|
+
const reader = response.body.getReader();
|
|
187
|
+
const decoder = new TextDecoder(); // utf-8 by default
|
|
188
|
+
// given the reader.read() can return partial data due to buffering at network level
|
|
189
|
+
// there is chance we may get the data from reader.read() that might be incomplete json
|
|
190
|
+
// or json chunk without the new line delimiter
|
|
191
|
+
// we initialize an empty buffer to keep track of
|
|
192
|
+
let buffer = "";
|
|
193
|
+
while (true) {
|
|
194
|
+
const { done, value } = yield __await(reader.read());
|
|
195
|
+
if (done)
|
|
196
|
+
break;
|
|
197
|
+
// Decode this chunk and append to buffer. {stream:true} preserves
|
|
198
|
+
// multi-byte code points that might be split across chunks.
|
|
199
|
+
buffer += decoder.decode(value, { stream: true });
|
|
200
|
+
if (debug)
|
|
201
|
+
(0, stdio_1.print2)(`\n[API:stream]Processing buffer: ${buffer}`);
|
|
202
|
+
// Split on both Unix and Windows newlines; keep the last (possibly partial) piece in buffer.
|
|
203
|
+
const parts = buffer.split(/\r?\n/);
|
|
204
|
+
buffer = (_a = parts.pop()) !== null && _a !== void 0 ? _a : "";
|
|
205
|
+
for (const line of parts) {
|
|
206
|
+
const response = onLine(line);
|
|
207
|
+
if (response) {
|
|
208
|
+
yield yield __await(response);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
// do not handle the left over buffer as it may contain partial json and the backend is always expected to send complete json objects
|
|
213
|
+
if (buffer.length > 0) {
|
|
214
|
+
// this should not happen in most scenarios except errors
|
|
215
|
+
if (debug) {
|
|
216
|
+
(0, stdio_1.print2)("[API:stream]Remaining data received from the server but not processed due to the lack of new-line: " +
|
|
217
|
+
buffer);
|
|
218
|
+
}
|
|
219
|
+
// there is a chance that the server could have errored with a non-streaming response
|
|
220
|
+
// we hit a errorBoundary in the backend and we received a valid json without a new-line delimiter at the end
|
|
221
|
+
try {
|
|
222
|
+
if (debug) {
|
|
223
|
+
(0, stdio_1.print2)("[API:stream]Trying to parse to validate json completeness: " +
|
|
224
|
+
buffer);
|
|
225
|
+
}
|
|
226
|
+
const response = JSON.parse(buffer);
|
|
227
|
+
if ("error" in response) {
|
|
228
|
+
throw response.error;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
catch (err) {
|
|
232
|
+
// If this is a json parse error then we have received a partial response
|
|
233
|
+
// we could throw an error saying incomplete response from the server
|
|
234
|
+
// else rethrow the error
|
|
235
|
+
if (err instanceof SyntaxError) {
|
|
236
|
+
// log the error in debug logs
|
|
237
|
+
if (debug) {
|
|
238
|
+
(0, stdio_1.print2)("[API:stream]Failed to parse JSON from server response: " +
|
|
239
|
+
String(err));
|
|
240
|
+
}
|
|
241
|
+
throw "Invalid response from the server";
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
throw err;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
catch (error) {
|
|
250
|
+
if (error instanceof TypeError &&
|
|
251
|
+
(error.message === "fetch failed" || error.message === "terminated")) {
|
|
252
|
+
throw `Network error: Unable to reach the server.`;
|
|
253
|
+
}
|
|
254
|
+
else {
|
|
255
|
+
throw error;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
});
|
|
259
|
+
};
|
|
260
|
+
exports.fetchWithStreaming = fetchWithStreaming;
|
|
69
261
|
const auditSshSessionActivity = (args) => __awaiter(void 0, void 0, void 0, function* () {
|
|
70
262
|
const { authn, requestId, action, sshSessionId, debug } = args;
|
|
71
263
|
if (debug) {
|
|
72
264
|
(0, stdio_1.print2)(`Submitting audit log for request: ${requestId}, action: ${action}, sshSessionId: ${sshSessionId}`);
|
|
73
265
|
}
|
|
74
266
|
try {
|
|
75
|
-
yield (
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
267
|
+
yield authFetch(authn, {
|
|
268
|
+
url: sshAuditUrl(authn.identity.org.slug),
|
|
269
|
+
method: "POST",
|
|
270
|
+
body: JSON.stringify({
|
|
271
|
+
requestId,
|
|
272
|
+
action,
|
|
273
|
+
sshSessionId,
|
|
274
|
+
}),
|
|
275
|
+
});
|
|
80
276
|
if (debug) {
|
|
81
277
|
(0, stdio_1.print2)(`Audit log submitted for request: ${requestId}`);
|
|
82
278
|
}
|
|
@@ -89,20 +285,17 @@ const auditSshSessionActivity = (args) => __awaiter(void 0, void 0, void 0, func
|
|
|
89
285
|
}
|
|
90
286
|
});
|
|
91
287
|
exports.auditSshSessionActivity = auditSshSessionActivity;
|
|
92
|
-
const baseFetch = (
|
|
93
|
-
const token = yield authn.userCredential.user.getIdToken();
|
|
288
|
+
const baseFetch = (args) => __awaiter(void 0, void 0, void 0, function* () {
|
|
94
289
|
const { version } = version_1.p0VersionInfo;
|
|
290
|
+
const { url, method, body, maxTimeoutMs, headers } = args;
|
|
291
|
+
const fetchOptions = Object.assign({ method, headers: Object.assign(Object.assign({}, (headers !== null && headers !== void 0 ? headers : {})), { "Content-Type": "application/json", "User-Agent": `P0 CLI/${version}` }), body, keepalive: true }, (maxTimeoutMs ? { signal: AbortSignal.timeout(maxTimeoutMs) } : {}));
|
|
95
292
|
try {
|
|
96
|
-
const response = yield fetch(url,
|
|
97
|
-
method,
|
|
98
|
-
headers: {
|
|
99
|
-
authorization: `Bearer ${token}`,
|
|
100
|
-
"Content-Type": "application/json",
|
|
101
|
-
"User-Agent": `P0 CLI/${version}`,
|
|
102
|
-
},
|
|
103
|
-
body,
|
|
104
|
-
});
|
|
293
|
+
const response = yield fetch(url, fetchOptions);
|
|
105
294
|
const text = yield response.text();
|
|
295
|
+
const errorMessage = tryParseHtmlError(text);
|
|
296
|
+
if (errorMessage) {
|
|
297
|
+
throw errorMessage;
|
|
298
|
+
}
|
|
106
299
|
const data = JSON.parse(text);
|
|
107
300
|
if ("error" in data) {
|
|
108
301
|
throw data.error;
|
|
@@ -118,5 +311,29 @@ const baseFetch = (authn, url, method, body) => __awaiter(void 0, void 0, void 0
|
|
|
118
311
|
}
|
|
119
312
|
}
|
|
120
313
|
});
|
|
121
|
-
|
|
314
|
+
const authFetch = (authn, args) => __awaiter(void 0, void 0, void 0, function* () {
|
|
315
|
+
const token = yield authn.getToken();
|
|
316
|
+
const headers = {
|
|
317
|
+
authorization: `Bearer ${token}`,
|
|
318
|
+
};
|
|
319
|
+
return baseFetch(Object.assign(Object.assign({}, args), { headers }));
|
|
320
|
+
});
|
|
321
|
+
/** Check if text contains an error code in the html title by looking for 3-digit http codes.
|
|
322
|
+
*
|
|
323
|
+
* Example text:
|
|
324
|
+
* <!doctype html><meta charset="utf-8"><meta name=viewport content="width=device-width, initial-scale=1"><title>429</title>429 Too Many Requests
|
|
325
|
+
*/
|
|
326
|
+
const tryParseHtmlError = (text) => {
|
|
327
|
+
const match = text.match(/<title>(\d{3})<\/title>/);
|
|
328
|
+
if (!match) {
|
|
329
|
+
return undefined;
|
|
330
|
+
}
|
|
331
|
+
const statusCode = match[1];
|
|
332
|
+
const statusText = text
|
|
333
|
+
// Remove the title tag
|
|
334
|
+
.replace(/<title>(\d{3})<\/title>/g, "")
|
|
335
|
+
// Remove meta HTML tags
|
|
336
|
+
.replace(/<[^>]+>/g, "");
|
|
337
|
+
return `${statusText}: (HTTP status ${statusCode})`;
|
|
338
|
+
};
|
|
122
339
|
//# sourceMappingURL=api.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/drivers/api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/drivers/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -155,19 +155,32 @@ const deleteIdentity = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
155
155
|
});
|
|
156
156
|
exports.deleteIdentity = deleteIdentity;
|
|
157
157
|
/** Set up trace exporter to authenticated collector endpoint */
|
|
158
|
-
const setOpentelemetryExporter = (
|
|
159
|
-
const
|
|
160
|
-
|
|
161
|
-
yield (0, instrumentation_1.setExporterAfterLogin)(url, idToken);
|
|
158
|
+
const setOpentelemetryExporter = (authn) => __awaiter(void 0, void 0, void 0, function* () {
|
|
159
|
+
const url = (0, api_1.tracesUrl)(authn.identity.org.slug);
|
|
160
|
+
yield (0, instrumentation_1.setExporterAfterLogin)(url, yield authn.getToken());
|
|
162
161
|
});
|
|
163
162
|
const authenticate = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
164
163
|
const identity = yield loadCredentialsWithAutoLogin(options);
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
164
|
+
let authn;
|
|
165
|
+
if (identity.org.useProviderToken) {
|
|
166
|
+
authn = {
|
|
167
|
+
identity,
|
|
168
|
+
getToken: () => Promise.resolve(identity.credential.access_token),
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
// Note: if the `providerId` is "password", we already actually already
|
|
173
|
+
// retrieved the UserCredential object in `loadCredentialsWithAutoLogin`.
|
|
174
|
+
// This following call to `authenticateToFirebase` could be omitted.
|
|
175
|
+
const userCredential = yield (0, firestore_1.authenticateToFirebase)(identity, options);
|
|
176
|
+
authn = {
|
|
177
|
+
identity,
|
|
178
|
+
userCredential,
|
|
179
|
+
getToken: () => userCredential.user.getIdToken(),
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
yield setOpentelemetryExporter(authn);
|
|
183
|
+
return authn;
|
|
171
184
|
});
|
|
172
185
|
exports.authenticate = authenticate;
|
|
173
186
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/drivers/auth/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,gDAA6C;AAC7C,yEAA4E;AAI5E,gCAAmC;AACnC,4CAAsD;AACtD,oCAAkC;AAClC,kCAAsD;AACtD,iCAAmE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/drivers/auth/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.getIdentityCachePath = exports.getIdentityFilePath = void 0;
|
|
26
|
+
exports.getBootstrapOrgDataPath = exports.getConfigFilePath = exports.getIdentityCachePath = exports.getIdentityFilePath = void 0;
|
|
27
27
|
/** Copyright © 2024-present P0 Security
|
|
28
28
|
|
|
29
29
|
This file is part of @p0security/cli
|
|
@@ -44,4 +44,22 @@ const getIdentityCachePath = () => process.env.P0_ORG
|
|
|
44
44
|
? path.join(util_1.P0_PATH, `cache-${process.env.P0_ORG}`)
|
|
45
45
|
: path.join(util_1.P0_PATH, "cache");
|
|
46
46
|
exports.getIdentityCachePath = getIdentityCachePath;
|
|
47
|
+
const getConfigFilePath = () => process.env.P0_ORG
|
|
48
|
+
? path.join(util_1.P0_PATH, `config.json-${process.env.P0_ORG}`)
|
|
49
|
+
: path.join(util_1.P0_PATH, "config.json");
|
|
50
|
+
exports.getConfigFilePath = getConfigFilePath;
|
|
51
|
+
const getBootstrapOrgDataPath = (orgId) => {
|
|
52
|
+
const safeOrgId = path.basename(orgId);
|
|
53
|
+
if (safeOrgId !== orgId) {
|
|
54
|
+
throw new Error("Invalid organization");
|
|
55
|
+
}
|
|
56
|
+
const filename = `bootstrap-${safeOrgId}.json`;
|
|
57
|
+
// nosemgrep: javascript.lang.security.audit.path-traversal.path-join-resolve-traversal.path-join-resolve-traversal
|
|
58
|
+
const resolvedFilename = path.resolve(util_1.P0_PATH, filename);
|
|
59
|
+
if (!resolvedFilename.startsWith(util_1.P0_PATH)) {
|
|
60
|
+
throw new Error("Invalid organization");
|
|
61
|
+
}
|
|
62
|
+
return resolvedFilename;
|
|
63
|
+
};
|
|
64
|
+
exports.getBootstrapOrgDataPath = getBootstrapOrgDataPath;
|
|
47
65
|
//# sourceMappingURL=path.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../../../src/drivers/auth/path.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,qCAAqC;AACrC,2CAA6B;AAEtB,MAAM,mBAAmB,GAAG,GAAG,EAAE,CACtC,OAAO,CAAC,GAAG,CAAC,MAAM;IAChB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAO,EAAE,YAAY,OAAO,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC;IAC3D,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAO,EAAE,eAAe,CAAC,CAAC;AAH7B,QAAA,mBAAmB,uBAGU;AAEnC,MAAM,oBAAoB,GAAG,GAAG,EAAE,CACvC,OAAO,CAAC,GAAG,CAAC,MAAM;IAChB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAO,EAAE,SAAS,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;IACnD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAO,EAAE,OAAO,CAAC,CAAC;AAHrB,QAAA,oBAAoB,wBAGC"}
|
|
1
|
+
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../../../src/drivers/auth/path.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,qCAAqC;AACrC,2CAA6B;AAEtB,MAAM,mBAAmB,GAAG,GAAG,EAAE,CACtC,OAAO,CAAC,GAAG,CAAC,MAAM;IAChB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAO,EAAE,YAAY,OAAO,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC;IAC3D,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAO,EAAE,eAAe,CAAC,CAAC;AAH7B,QAAA,mBAAmB,uBAGU;AAEnC,MAAM,oBAAoB,GAAG,GAAG,EAAE,CACvC,OAAO,CAAC,GAAG,CAAC,MAAM;IAChB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAO,EAAE,SAAS,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;IACnD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAO,EAAE,OAAO,CAAC,CAAC;AAHrB,QAAA,oBAAoB,wBAGC;AAE3B,MAAM,iBAAiB,GAAG,GAAG,EAAE,CACpC,OAAO,CAAC,GAAG,CAAC,MAAM;IAChB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAO,EAAE,eAAe,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;IACzD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAO,EAAE,aAAa,CAAC,CAAC;AAH3B,QAAA,iBAAiB,qBAGU;AAEjC,MAAM,uBAAuB,GAAG,CAAC,KAAa,EAAU,EAAE;IAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,SAAS,KAAK,KAAK,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;KACzC;IAED,MAAM,QAAQ,GAAG,aAAa,SAAS,OAAO,CAAC;IAC/C,mHAAmH;IACnH,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,cAAO,EAAE,QAAQ,CAAC,CAAC;IAEzD,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,cAAO,CAAC,EAAE;QACzC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;KACzC;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC;AAfW,QAAA,uBAAuB,2BAelC"}
|
|
@@ -13,23 +13,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.loadConfig = exports.saveConfig = exports.getGoogleTenantConfig = exports.getHelpMessage = exports.getContactMessage = exports.getTenantConfig = void 0;
|
|
16
|
-
const
|
|
16
|
+
const path_1 = require("./auth/path");
|
|
17
17
|
const env_1 = require("./env");
|
|
18
|
-
const
|
|
18
|
+
const org_1 = require("./org");
|
|
19
19
|
const stdio_1 = require("./stdio");
|
|
20
|
-
const firestore_2 = require("firebase/firestore");
|
|
21
20
|
const promises_1 = __importDefault(require("fs/promises"));
|
|
22
|
-
const
|
|
23
|
-
const process_1 = __importDefault(require("process"));
|
|
24
|
-
const getConfigFilePath = () => process_1.default.env.P0_ORG
|
|
25
|
-
? path_1.default.join(util_1.P0_PATH, `config.json-${process_1.default.env.P0_ORG}`)
|
|
26
|
-
: path_1.default.join(util_1.P0_PATH, "config.json");
|
|
21
|
+
const path_2 = __importDefault(require("path"));
|
|
27
22
|
let tenantConfig;
|
|
28
23
|
const getTenantConfig = () => tenantConfig;
|
|
29
24
|
exports.getTenantConfig = getTenantConfig;
|
|
30
|
-
const getContactMessage = () => { var _a; return (_a = tenantConfig === null || tenantConfig === void 0 ? void 0 : tenantConfig.contactMessage) !== null && _a !== void 0 ? _a : env_1.
|
|
25
|
+
const getContactMessage = () => { var _a; return (_a = tenantConfig === null || tenantConfig === void 0 ? void 0 : tenantConfig.contactMessage) !== null && _a !== void 0 ? _a : env_1.defaultConfig.contactMessage; };
|
|
31
26
|
exports.getContactMessage = getContactMessage;
|
|
32
|
-
const getHelpMessage = () => { var _a; return (_a = tenantConfig === null || tenantConfig === void 0 ? void 0 : tenantConfig.helpMessage) !== null && _a !== void 0 ? _a : env_1.
|
|
27
|
+
const getHelpMessage = () => { var _a; return (_a = tenantConfig === null || tenantConfig === void 0 ? void 0 : tenantConfig.helpMessage) !== null && _a !== void 0 ? _a : env_1.defaultConfig.helpMessage; };
|
|
33
28
|
exports.getHelpMessage = getHelpMessage;
|
|
34
29
|
/** Use only if the organization is configured with Google login to P0 */
|
|
35
30
|
const getGoogleTenantConfig = () => {
|
|
@@ -41,21 +36,18 @@ const getGoogleTenantConfig = () => {
|
|
|
41
36
|
exports.getGoogleTenantConfig = getGoogleTenantConfig;
|
|
42
37
|
const saveConfig = (orgId) => __awaiter(void 0, void 0, void 0, function* () {
|
|
43
38
|
var _a;
|
|
44
|
-
const
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
throw "Could not find organization";
|
|
48
|
-
const config = (_a = orgData.config) !== null && _a !== void 0 ? _a : env_1.bootstrapConfig;
|
|
49
|
-
const configFilePath = getConfigFilePath();
|
|
39
|
+
const orgData = yield (0, org_1.getOrgData)(orgId);
|
|
40
|
+
const config = (_a = orgData.config) !== null && _a !== void 0 ? _a : env_1.defaultConfig;
|
|
41
|
+
const configFilePath = (0, path_1.getConfigFilePath)();
|
|
50
42
|
(0, stdio_1.print2)(`Saving config to ${configFilePath}.`);
|
|
51
|
-
const dir =
|
|
43
|
+
const dir = path_2.default.dirname(configFilePath);
|
|
52
44
|
yield promises_1.default.mkdir(dir, { recursive: true });
|
|
53
45
|
yield promises_1.default.writeFile(configFilePath, JSON.stringify(config), { mode: "600" });
|
|
54
46
|
tenantConfig = config;
|
|
55
47
|
});
|
|
56
48
|
exports.saveConfig = saveConfig;
|
|
57
49
|
const loadConfig = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
58
|
-
const buffer = yield promises_1.default.readFile(getConfigFilePath());
|
|
50
|
+
const buffer = yield promises_1.default.readFile((0, path_1.getConfigFilePath)());
|
|
59
51
|
tenantConfig = JSON.parse(buffer.toString());
|
|
60
52
|
return tenantConfig;
|
|
61
53
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/drivers/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAWA,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/drivers/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAWA,sCAAgD;AAChD,+BAAsC;AACtC,+BAAmC;AACnC,mCAAiC;AACjC,2DAA6B;AAC7B,gDAAwB;AAExB,IAAI,YAAoB,CAAC;AAElB,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC;AAArC,QAAA,eAAe,mBAAsB;AAE3C,MAAM,iBAAiB,GAAG,GAAG,EAAE,WACpC,OAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,cAAc,mCAAI,mBAAa,CAAC,cAAc,CAAA,EAAA,CAAC;AADlD,QAAA,iBAAiB,qBACiC;AAExD,MAAM,cAAc,GAAG,GAAG,EAAE,WACjC,OAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,WAAW,mCAAI,mBAAa,CAAC,WAAW,CAAA,EAAA,CAAC;AAD5C,QAAA,cAAc,kBAC8B;AAEzD,yEAAyE;AAClE,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,IAAI,QAAQ,IAAI,YAAY,EAAE;QAC5B,OAAO,YAAY,CAAC;KACrB;IACD,MAAM,6HAA6H,IAAA,yBAAiB,GAAE,EAAE,CAAC;AAC3J,CAAC,CAAC;AALW,QAAA,qBAAqB,yBAKhC;AAEK,MAAM,UAAU,GAAG,CAAO,KAAa,EAAE,EAAE;;IAChD,MAAM,OAAO,GAAG,MAAM,IAAA,gBAAU,EAAC,KAAK,CAAC,CAAC;IAExC,MAAM,MAAM,GAAG,MAAA,OAAO,CAAC,MAAM,mCAAI,mBAAa,CAAC;IAE/C,MAAM,cAAc,GAAG,IAAA,wBAAiB,GAAE,CAAC;IAE3C,IAAA,cAAM,EAAC,oBAAoB,cAAc,GAAG,CAAC,CAAC;IAE9C,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACzC,MAAM,kBAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,kBAAE,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAE5E,YAAY,GAAG,MAAM,CAAC;AACxB,CAAC,CAAA,CAAC;AAdW,QAAA,UAAU,cAcrB;AAEK,MAAM,UAAU,GAAG,GAAS,EAAE;IACnC,MAAM,MAAM,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,IAAA,wBAAiB,GAAE,CAAC,CAAC;IACtD,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7C,OAAO,YAAY,CAAC;AACtB,CAAC,CAAA,CAAC;AAJW,QAAA,UAAU,cAIrB"}
|
|
@@ -9,4 +9,4 @@ This file is part of @p0security/cli
|
|
|
9
9
|
You should have received a copy of the GNU General Public License along with @p0security/cli. If not, see <https://www.gnu.org/licenses/>.
|
|
10
10
|
**/
|
|
11
11
|
import { GoogleApplicationConfig } from "../types/org";
|
|
12
|
-
export declare const
|
|
12
|
+
export declare const defaultConfig: GoogleApplicationConfig;
|
|
@@ -4,11 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.
|
|
7
|
+
exports.defaultConfig = void 0;
|
|
8
8
|
const dotenv_1 = __importDefault(require("dotenv"));
|
|
9
9
|
dotenv_1.default.config();
|
|
10
10
|
const { env } = process;
|
|
11
|
-
exports.
|
|
11
|
+
exports.defaultConfig = {
|
|
12
12
|
fs: {
|
|
13
13
|
// Falls back to public production Firestore credentials
|
|
14
14
|
apiKey: (_a = env.P0_FS_API_KEY) !== null && _a !== void 0 ? _a : "AIzaSyCaL-Ik_l_5tdmgNUNZ4Nv6NuR4o5_PPfs",
|