@pittica/google-business-intelligence-helpers 1.7.0 → 1.8.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/dist/contents/storage.js +27 -0
- package/dist/index.js +2 -0
- package/dist/naming/file.js +2 -2
- package/package.json +1 -1
package/dist/contents/storage.js
CHANGED
|
@@ -15,6 +15,9 @@
|
|
|
15
15
|
const {
|
|
16
16
|
getFiles
|
|
17
17
|
} = require("@pittica/google-cloud-storage-helpers");
|
|
18
|
+
const {
|
|
19
|
+
format
|
|
20
|
+
} = require("date-and-time");
|
|
18
21
|
const {
|
|
19
22
|
getSchemaKeys
|
|
20
23
|
} = require("./schema");
|
|
@@ -50,6 +53,30 @@ exports.mapStorageResponse = (response, schemas = "") => {
|
|
|
50
53
|
return Object.values(files).flat(1).map(file => splitName(file));
|
|
51
54
|
};
|
|
52
55
|
|
|
56
|
+
/**
|
|
57
|
+
* Maps the given response and returns grouped and ordered object to import.
|
|
58
|
+
*
|
|
59
|
+
* @param {Array} response Google Cloud Storage response.
|
|
60
|
+
* @param {string} schemas Schema files folder path.
|
|
61
|
+
* @param {string} dateFormat Format string.
|
|
62
|
+
* @returns {object} Bucket files.
|
|
63
|
+
*/
|
|
64
|
+
exports.extractStorageResponse = (response, schemas = "", dateFormat = "YYYY-MM-DD") => {
|
|
65
|
+
const days = {};
|
|
66
|
+
const files = this.mapStorageResponse(response, schemas);
|
|
67
|
+
files.forEach(file => {
|
|
68
|
+
const date = format(file.date, dateFormat);
|
|
69
|
+
if (typeof days[date] === "undefined") {
|
|
70
|
+
days[date] = [];
|
|
71
|
+
}
|
|
72
|
+
days[date].push(file);
|
|
73
|
+
});
|
|
74
|
+
return Object.values(Object.keys(days).sort().reduce((obj, key) => {
|
|
75
|
+
obj[key] = days[key];
|
|
76
|
+
return obj;
|
|
77
|
+
}, {})).flat();
|
|
78
|
+
};
|
|
79
|
+
|
|
53
80
|
/**
|
|
54
81
|
* Ritrieves a safe name of a file in the given folder in the given bucket.
|
|
55
82
|
*
|
package/dist/index.js
CHANGED
|
@@ -23,6 +23,7 @@ const {
|
|
|
23
23
|
} = require("./contents/sql");
|
|
24
24
|
const {
|
|
25
25
|
mapStorageResponse,
|
|
26
|
+
extractStorageResponse,
|
|
26
27
|
getSafeFilename,
|
|
27
28
|
getSafeFilenameFromBucket
|
|
28
29
|
} = require("./contents/storage");
|
|
@@ -58,6 +59,7 @@ exports.getSchemaKeys = getSchemaKeys;
|
|
|
58
59
|
exports.hasSchema = hasSchema;
|
|
59
60
|
exports.getSqlFilePath = getSqlFilePath;
|
|
60
61
|
exports.mapStorageResponse = mapStorageResponse;
|
|
62
|
+
exports.extractStorageResponse = extractStorageResponse;
|
|
61
63
|
exports.getSafeFilename = getSafeFilename;
|
|
62
64
|
exports.getSafeFilenameFromBucket = getSafeFilenameFromBucket;
|
|
63
65
|
exports.getTemporaryTableName = getTemporaryTableName;
|
package/dist/naming/file.js
CHANGED
|
@@ -78,11 +78,11 @@ exports.mergeFilename = (date, name, extension, version = 0) => `${format(date,
|
|
|
78
78
|
*
|
|
79
79
|
* @param {object} filedata Data to merge.
|
|
80
80
|
* @param {boolean} increment A value indicating whether the file version needs to be increased.
|
|
81
|
-
* @returns The merged given filename data.
|
|
81
|
+
* @returns {string} The merged given filename data.
|
|
82
82
|
*/
|
|
83
83
|
exports.mergeFiledata = ({
|
|
84
84
|
date,
|
|
85
85
|
name,
|
|
86
86
|
extension,
|
|
87
87
|
version
|
|
88
|
-
}, increment = false) => mergeFilename(date, name, extension, increment ? typeof version !== "undefined" ? version + 1 : 1 : version);
|
|
88
|
+
}, increment = false) => this.mergeFilename(date, name, extension, increment ? typeof version !== "undefined" ? version + 1 : 1 : version);
|
package/package.json
CHANGED