@pi-r/oci 0.11.3 → 0.12.0

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/client/index.js CHANGED
@@ -1,24 +1,11 @@
1
1
  "use strict";
2
- exports.validateStorage = validateStorage;
3
- exports.validateDatabase = validateDatabase;
4
- exports.setStorageCredential = setStorageCredential;
5
- exports.createDatabaseClient = createDatabaseClient;
6
- exports.createBucket = createBucket;
7
- exports.createBucketV2 = createBucketV2;
8
- exports.setBucketPolicy = setBucketPolicy;
9
- exports.setBucketWebsite = setBucketWebsite;
10
- exports.deleteObjects = deleteObjects;
11
- exports.deleteObjectsV2 = deleteObjectsV2;
12
- exports.deleteObjectsV3 = deleteObjectsV3;
13
- exports.copyObject = copyObject;
14
- exports.executeQuery = executeQuery;
15
- exports.executeBatchQuery = executeBatchQuery;
16
- const oracledb = require("oracledb");
17
- const Cloud = require("@e-mc/cloud");
18
- const types_1 = require("@e-mc/types");
19
- const util_1 = require("@e-mc/cloud/util");
20
- const oracle = require("@pi-r/oracle");
21
- const aws = require("@pi-r/aws");
2
+
3
+ const oracledb = require('oracledb');
4
+ const Cloud = require('@e-mc/cloud');
5
+ const { isArray, isErrorCode, isPlainObject } = require('@e-mc/types');
6
+ const { formatError } = require('@e-mc/cloud/util');
7
+ const oracle = require('@pi-r/oracle');
8
+ const aws = require('@pi-r/aws');
22
9
  function validateStorage(credential) {
23
10
  return !!(credential.accessKeyId && credential.secretAccessKey && (credential.region && credential.namespace || credential.endpoint));
24
11
  }
@@ -55,8 +42,8 @@ async function setBucketPolicy(credential, bucket, options) {
55
42
  async function setBucketWebsite(credential, bucket, options) {
56
43
  return aws.setBucketWebsite.call(this, credential, bucket, options, "oci");
57
44
  }
58
- async function deleteObjects(credential, Bucket, service, sdk, recursive = true) {
59
- return deleteObjectsV2.call(this, credential, Bucket, recursive);
45
+ async function deleteObjects(credential, Bucket, options) {
46
+ return deleteObjectsV3.call(this, credential, Bucket, options);
60
47
  }
61
48
  async function deleteObjectsV2(credential, Bucket, recursive = true) {
62
49
  return deleteObjectsV3.call(this, credential, Bucket, { recursive, Bucket });
@@ -109,7 +96,7 @@ async function executeBatchQuery(credential, batch, sessionKey) {
109
96
  if (id) {
110
97
  if (!table) {
111
98
  closeClient();
112
- throw (0, util_1.formatError)(item, "Missing database table");
99
+ throw formatError(item, "Missing database table");
113
100
  }
114
101
  if (queryString) {
115
102
  queryString += id;
@@ -122,7 +109,7 @@ async function executeBatchQuery(credential, batch, sessionKey) {
122
109
  const col = await db.openCollection(table);
123
110
  if (!col) {
124
111
  closeClient();
125
- throw (0, util_1.formatError)(item, "Missing database table");
112
+ throw formatError(item, "Missing database table");
126
113
  }
127
114
  if (update && updateType === 1) {
128
115
  if (update._id) {
@@ -159,7 +146,7 @@ async function executeBatchQuery(credential, batch, sessionKey) {
159
146
  }
160
147
  this.addLog(3, message + ` (_id=${id.toString()})`, service, 'replaceOne');
161
148
  };
162
- if ((0, types_1.isArray)(id)) {
149
+ if (isArray(id)) {
163
150
  target = col.find().key(id[0]);
164
151
  }
165
152
  if (rows && target) {
@@ -174,10 +161,10 @@ async function executeBatchQuery(credential, batch, sessionKey) {
174
161
  }
175
162
  else if (query) {
176
163
  let maxRows = typeof item.limit === 'number' ? item.limit : NaN;
177
- if ((0, types_1.isPlainObject)(query)) {
164
+ if (isPlainObject(query)) {
178
165
  if (!table) {
179
166
  closeClient();
180
- throw (0, util_1.formatError)(item, "Missing database table");
167
+ throw formatError(item, "Missing database table");
181
168
  }
182
169
  if (queryString && (rows = this.getCacheResult(service, credential, queryString += Cloud.asString(query, true) + '_' + (maxRows > 0 ? maxRows.toString() : '0'), cacheValue, ignoreCache))) {
183
170
  result[i] = rows;
@@ -186,7 +173,7 @@ async function executeBatchQuery(credential, batch, sessionKey) {
186
173
  const col = await (db ||= await createSoda()).openCollection(table);
187
174
  if (!col) {
188
175
  closeClient();
189
- throw (0, util_1.formatError)(item, "Missing database table");
176
+ throw formatError(item, "Missing database table");
190
177
  }
191
178
  const tryQuery = async () => {
192
179
  let oper = col.find().filter(query);
@@ -199,20 +186,17 @@ async function executeBatchQuery(credential, batch, sessionKey) {
199
186
  rows = await tryQuery();
200
187
  }
201
188
  catch (err) {
202
- switch (err instanceof Error && err.code) {
203
- case 'ORA-40820':
204
- if (maxRows > 0) {
205
- const limit = maxRows;
206
- maxRows = 0;
207
- rows = await tryQuery();
208
- if (limit > rows.length) {
209
- rows = rows.slice(0, limit);
210
- }
211
- this.addLog(3, err, service, 'getDocuments');
212
- break;
213
- }
214
- default:
215
- throw err;
189
+ if (isErrorCode(err, 'ORA-40820') && maxRows > 0) {
190
+ const limit = maxRows;
191
+ maxRows = 0;
192
+ rows = await tryQuery();
193
+ if (limit > rows.length) {
194
+ rows = rows.slice(0, limit);
195
+ }
196
+ this.addLog(3, err, service, 'getDocuments');
197
+ }
198
+ else {
199
+ throw err;
216
200
  }
217
201
  }
218
202
  }
@@ -257,7 +241,7 @@ async function executeBatchQuery(credential, batch, sessionKey) {
257
241
  }
258
242
  else {
259
243
  closeClient();
260
- throw (0, util_1.formatError)(item, "Missing database query");
244
+ throw formatError(item, "Missing database query");
261
245
  }
262
246
  }
263
247
  result[i] = this.setQueryResult(service, credential, queryString, rows, cacheValue);
@@ -265,3 +249,18 @@ async function executeBatchQuery(credential, batch, sessionKey) {
265
249
  closeClient();
266
250
  return result;
267
251
  }
252
+
253
+ exports.copyObject = copyObject;
254
+ exports.createBucket = createBucket;
255
+ exports.createBucketV2 = createBucketV2;
256
+ exports.createDatabaseClient = createDatabaseClient;
257
+ exports.deleteObjects = deleteObjects;
258
+ exports.deleteObjectsV2 = deleteObjectsV2;
259
+ exports.deleteObjectsV3 = deleteObjectsV3;
260
+ exports.executeBatchQuery = executeBatchQuery;
261
+ exports.executeQuery = executeQuery;
262
+ exports.setBucketPolicy = setBucketPolicy;
263
+ exports.setBucketWebsite = setBucketWebsite;
264
+ exports.setStorageCredential = setStorageCredential;
265
+ exports.validateDatabase = validateDatabase;
266
+ exports.validateStorage = validateStorage;
package/download/index.js CHANGED
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
- const client_1 = require("@pi-r/oci");
3
- const aws = require("@pi-r/aws/download");
2
+
3
+ const aws = require('@pi-r/aws/download');
4
+ const { setStorageCredential } = require('@pi-r/oci');
4
5
  function download(credential, service = "oci") {
5
- (0, client_1.setStorageCredential)(credential);
6
+ setStorageCredential(credential);
6
7
  return aws.call(this, credential, service);
7
8
  }
9
+
8
10
  module.exports = download;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-r/oci",
3
- "version": "0.11.3",
3
+ "version": "0.12.0",
4
4
  "description": "Oracle (OCI) cloud functions for E-mc.",
5
5
  "main": "client/index.js",
6
6
  "publishConfig": {
@@ -19,12 +19,15 @@
19
19
  "license": "MIT",
20
20
  "homepage": "https://github.com/anpham6/pi-r#readme",
21
21
  "dependencies": {
22
- "@e-mc/cloud": "^0.13.10",
23
- "@e-mc/module": "^0.13.10",
24
- "@e-mc/types": "^0.13.10",
25
- "@pi-r/aws": "^0.11.3",
26
- "@pi-r/oracle": "^0.11.3",
22
+ "@e-mc/cloud": "^0.14.0",
23
+ "@e-mc/module": "^0.14.0",
24
+ "@e-mc/types": "^0.14.0",
25
+ "@pi-r/aws": "^0.12.0",
26
+ "@pi-r/oracle": "^0.12.0",
27
27
  "aws-sdk": "^2.1693.0",
28
28
  "oracledb": "^6.10.0"
29
+ },
30
+ "peerDependencies": {
31
+ "@types/oracledb": "^6"
29
32
  }
30
33
  }
package/upload/index.js CHANGED
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
- const client_1 = require("@pi-r/oci");
3
- const aws = require("@pi-r/aws/upload");
2
+
3
+ const aws = require('@pi-r/aws/upload');
4
+ const { setStorageCredential } = require('@pi-r/oci');
4
5
  function upload(credential, service = "oci") {
5
- (0, client_1.setStorageCredential)(credential);
6
+ setStorageCredential(credential);
6
7
  return aws.call(this, credential, service);
7
8
  }
9
+
8
10
  module.exports = upload;