@pittica/google-business-intelligence-helpers 1.6.2 → 1.7.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.
@@ -59,11 +59,24 @@ exports.mapStorageResponse = (response, schemas = "") => {
59
59
  * @param {string} folder Google Storage folder path.
60
60
  * @returns {object} A safe name of a file in the given folder in the given bucket.
61
61
  */
62
- exports.getSafeFilename = async (storage, bucket, filename, folder = "") => await getFiles(storage, bucket, folder ? `${folder}/${filename}` : filename).then(response => {
62
+ exports.getSafeFilename = (storage, bucket, filename, folder = "") => getFiles(storage, bucket, folder ? `${folder}/${filename}` : filename).then(response => {
63
63
  const file = response.flat(3).filter(({
64
64
  name
65
65
  }) => typeof name !== "undefined").map(({
66
66
  name
67
- }) => name).slice(-1).pop();
67
+ }) => folder ? name.replace(new RegExp(`^${folder}\/`, "gs"), "") : name).slice(-1).pop();
68
68
  return typeof file !== "undefined" && file ? incrementFilenameVersion(splitName(file)) : splitName(filename);
69
- });
69
+ });
70
+
71
+ /**
72
+ * Ritrieves a safe name of a file in the given folder in the given bucket.
73
+ *
74
+ * @param {Bucket} bucket Bucket.
75
+ * @param {string} filename File name.
76
+ * @param {string} folder Google Storage folder path.
77
+ * @returns {object} A safe name of a file in the given folder in the given bucket.
78
+ */
79
+ exports.getSafeFilenameFromBucket = ({
80
+ storage,
81
+ name
82
+ }, filename, folder = "") => this.getSafeFilename(storage, name, filename, folder);
package/dist/index.js CHANGED
@@ -23,7 +23,8 @@ const {
23
23
  } = require("./contents/sql");
24
24
  const {
25
25
  mapStorageResponse,
26
- getSafeFilename
26
+ getSafeFilename,
27
+ getSafeFilenameFromBucket
27
28
  } = require("./contents/storage");
28
29
  const {
29
30
  getTemporaryTableName,
@@ -58,6 +59,7 @@ exports.hasSchema = hasSchema;
58
59
  exports.getSqlFilePath = getSqlFilePath;
59
60
  exports.mapStorageResponse = mapStorageResponse;
60
61
  exports.getSafeFilename = getSafeFilename;
62
+ exports.getSafeFilenameFromBucket = getSafeFilenameFromBucket;
61
63
  exports.getTemporaryTableName = getTemporaryTableName;
62
64
  exports.getTemporaryTableSuffix = getTemporaryTableSuffix;
63
65
  exports.partsToDate = partsToDate;
@@ -36,7 +36,12 @@ exports.getFilenameVersion = name => {
36
36
  * @returns {number} The given file data.
37
37
  */
38
38
  exports.incrementFilenameVersion = filedata => {
39
- filedata.version = typeof filedata.version !== "undefined" ? filedata.version + 1 : 1;
39
+ if (typeof filedata.version !== "undefined") {
40
+ filedata.version = filedata.version + 1;
41
+ filedata.fullname = filedata.fullname.replace(/_\d+$/gs, "_" + filedata.version);
42
+ } else {
43
+ filedata.version = 1;
44
+ }
40
45
  return filedata;
41
46
  };
42
47
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pittica/google-business-intelligence-helpers",
3
3
  "private": false,
4
- "version": "1.6.2",
4
+ "version": "1.7.0",
5
5
  "description": "Helpers for business intelligence for Google Cloud.",
6
6
  "main": "dist/index.js",
7
7
  "scripts": {