Преглед изворни кода

Adding getInvoices query parameters

bodicsek пре 6 година
родитељ
комит
160dfe9b4c
2 измењених фајлова са 31 додато и 21 уклоњено
  1. 3 3
      README.md
  2. 28 18
      app.js

+ 3 - 3
README.md

@@ -3,9 +3,9 @@
 1. Install node + npm
 2. Run `npm install`
 3. Set your credentials in `app.js`
-    1. Set your `tenancyId` (OneConsole -> Administration -> Tenancy Details)
+    1. Set your `authTenancyId` (OneConsole -> Administration -> Tenancy Details)
     2. Set your `authUserId` (OneConsole -> top right corner icon -> Profile)
-    3. Set your `privateKeyPath` ([How to generate and upload your API keys](https://docs.cloud.oracle.com/iaas/Content/API/Concepts/apisigningkey.htm))
-    4. Set your `keyFingerprint` (OneConsole -> top right corner icon -> Profile -> API Keys)
+    3. Set your `authPrivateKeyPath` ([How to generate and upload your API keys](https://docs.cloud.oracle.com/iaas/Content/API/Concepts/apisigningkey.htm))
+    4. Set your `authKeyFingerprint` (OneConsole -> top right corner icon -> Profile -> API Keys)
 4. Create your request function as in `getUser` and `createVCN`
 5. Run `node app.js`

+ 28 - 18
app.js

@@ -7,20 +7,21 @@ var jsSHA = require("jssha");
 process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = 0;
 
 // TODO: update these values to your own
-var tenancyId = "ocid1.tenancy.oc1..aaaaaaaa56ugo5lfjdiyb3n5dmk2t3kzs4kuwea3heu73bmmqycg7hmqpinq";
+var authTenancyId = "ocid1.tenancy.oc1..aaaaaaaa56ugo5lfjdiyb3n5dmk2t3kzs4kuwea3heu73bmmqycg7hmqpinq";
 var authUserId = "ocid1.user.oc1..aaaaaaaatffa6hunpdesdzxs5wnspkoqbualx4gbnajomrfsm3h7fp6vr5jq";
-var keyFingerprint = "c2:ba:18:4a:61:93:4f:7e:81:1d:4a:4d:66:39:4f:ef";
-var privateKeyPath = "~/.oci/oci_api_key.pem";
+var authKeyFingerprint = "c2:ba:18:4a:61:93:4f:7e:81:1d:4a:4d:66:39:4f:ef";
+var authPrivateKeyPath = "~/.oci/oci_api_key.pem";
 
 
 var identityDomain = "identity.us-ashburn-1.oraclecloud.com";
 var coreServicesDomain = "iaas.us-ashburn-1.oraclecloud.com";
+const invoicesDomain = "147.154.15.58";
 
 
-if (privateKeyPath.indexOf("~/") === 0) {
-    privateKeyPath = privateKeyPath.replace("~", os.homedir())
+if (authPrivateKeyPath.indexOf("~/") === 0) {
+    authPrivateKeyPath = authPrivateKeyPath.replace("~", os.homedir())
 }
-var privateKey = fs.readFileSync(privateKeyPath, 'ascii');
+var privateKey = fs.readFileSync(authPrivateKeyPath, 'ascii');
 
 
 // signing function as described at https://docs.cloud.oracle.com/Content/API/Concepts/signingrequests.htm
@@ -94,8 +95,8 @@ function getUser(userId, callback) {
 
     sign(request, {
         privateKey: privateKey,
-        keyFingerprint: keyFingerprint,
-        tenancyId: tenancyId,
+        keyFingerprint: authKeyFingerprint,
+        tenancyId: authTenancyId,
         userId: authUserId
     });
 
@@ -125,8 +126,8 @@ function createVCN(compartmentId, displayName, cidrBlock, callback) {
     sign(request, {
         body: body,
         privateKey: privateKey,
-        keyFingerprint: keyFingerprint,
-        tenancyId: tenancyId,
+        keyFingerprint: authKeyFingerprint,
+        tenancyId: authTenancyId,
         userId: authUserId
     });
 
@@ -135,12 +136,19 @@ function createVCN(compartmentId, displayName, cidrBlock, callback) {
 
 /************************************************************************/
 
-function getInvoices(callback) {
-    const request = https.request("https://147.154.15.58/20191001/invoices?compartmentId=ocid1.tenancy.oc1..aaaaaaaa56ugo5lfjdiyb3n5dmk2t3kzs4kuwea3heu73bmmqycg7hmqpinq", handleRequest(callback));
+function getInvoices(callback, compartmentId = authTenancyId, status = "OPEN", type = "HARDWARE") {
+    const request = https.request(
+        {
+            host: invoicesDomain,
+            path: `/20191001/invoices?compartmentId=${compartmentId}&status=${status}&type=${type}`,
+            method: "GET"
+        },
+        handleRequest(callback)
+    );
     sign(request, {
         privateKey: privateKey,
-        keyFingerprint: keyFingerprint,
-        tenancyId: tenancyId,
+        keyFingerprint: authKeyFingerprint,
+        tenancyId: authTenancyId,
         userId: authUserId
     });
     request.end();
@@ -165,7 +173,9 @@ healthCheck(function (data) {
     console.log("+++", data);
 });
 
-getInvoices(function (data) {
-    console.log("+++ getInvoices");
-    console.log("+++", data);
-});
+getInvoices(
+    function (data) {
+        console.log("+++ getInvoices");
+        console.log("+++", data);
+    }
+);