@rsc-labs/medusa-store-analytics-v2
Version:
Get analytics data about your store
64 lines • 5.35 kB
JavaScript
;
/*
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
*
* MIT License
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ReportsAnalyticsService = void 0;
const pdfkit_1 = __importDefault(require("pdfkit"));
const sales_template_1 = __importDefault(require("./pdf-templates/sales-template"));
const orders_template_1 = __importDefault(require("./pdf-templates/orders-template"));
const customers_template_1 = __importDefault(require("./pdf-templates/customers-template"));
const common_1 = require("./pdf-templates/common");
const products_template_1 = __importDefault(require("./pdf-templates/products-template"));
class ReportsAnalyticsService {
constructor({ __pg_connection__ }) {
this.pgConnection = __pg_connection__;
}
async generateReport(orderStatuses, input, from, to, dateRangeFromCompareTo, dateRangeToCompareTo) {
var doc = new pdfkit_1.default();
const buffers = [];
doc.on("data", buffers.push.bind(buffers));
(0, common_1.generateReportHeader)(doc, orderStatuses, from, to, dateRangeFromCompareTo, dateRangeToCompareTo);
// Orders
orders_template_1.default.generateHeader(doc);
orders_template_1.default.generateTable(doc, input.ordersHistory);
// Sales
sales_template_1.default.generateHeader(doc);
for (const region of input.regions) {
const salesHistory = input.salesHistories.find(salesHistory => salesHistory.currencyCode == region.currency_code);
if (salesHistory) {
sales_template_1.default.generateTableTitle(doc, region);
sales_template_1.default.generateTable(doc, salesHistory);
}
}
// Customers
doc.addPage();
customers_template_1.default.generateHeader(doc);
customers_template_1.default.generateTable(doc, input.customersHistory);
// Products
doc.addPage();
products_template_1.default.generateHeader(doc);
products_template_1.default.generateTable(doc, input.variantsCountPopularityResult);
doc.end();
const bufferPromise = new Promise(resolve => {
doc.on("end", () => {
const pdfData = Buffer.concat(buffers);
resolve(pdfData);
});
});
return await bufferPromise;
}
}
exports.ReportsAnalyticsService = ReportsAnalyticsService;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0c0FuYWx5dGljcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3N0b3JlLWFuYWx5dGljcy9zZXJ2aWNlcy9yZXBvcnRzQW5hbHl0aWNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7OztHQVVHOzs7Ozs7QUFNSCxvREFBaUM7QUFDakMsb0ZBQTZEO0FBQzdELHNGQUFnRTtBQUNoRSw0RkFBc0U7QUFDdEUsbURBQThEO0FBQzlELDBGQUFvRTtBQWtCcEUsTUFBYSx1QkFBdUI7SUFJbEMsWUFBWSxFQUFFLGlCQUFpQixFQUF3QjtRQUNyRCxJQUFJLENBQUMsWUFBWSxHQUFHLGlCQUFpQixDQUFBO0lBQ3ZDLENBQUM7SUFDRCxLQUFLLENBQUMsY0FBYyxDQUFDLGFBQTRCLEVBQUUsS0FBa0IsRUFBRSxJQUFXLEVBQUUsRUFBUyxFQUFFLHNCQUE2QixFQUFFLG9CQUEyQjtRQUN2SixJQUFJLEdBQUcsR0FBRyxJQUFJLGdCQUFXLEVBQUUsQ0FBQztRQUU1QixNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUE7UUFDbEIsR0FBRyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtRQUUxQyxJQUFBLDZCQUFvQixFQUFDLEdBQUcsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxzQkFBc0IsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1FBRWpHLFNBQVM7UUFDVCx5QkFBaUIsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEMseUJBQWlCLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFMUQsUUFBUTtRQUNSLHdCQUFnQixDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQyxLQUFLLE1BQU0sTUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNuQyxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxZQUFZLElBQUksTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ2xILElBQUksWUFBWSxFQUFFLENBQUM7Z0JBQ2pCLHdCQUFnQixDQUFDLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDakQsd0JBQWdCLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsQ0FBQztZQUNwRCxDQUFDO1FBQ0gsQ0FBQztRQUVELFlBQVk7UUFDWixHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDZCw0QkFBb0IsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsNEJBQW9CLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUVoRSxXQUFXO1FBQ1gsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2QsMkJBQW1CLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLDJCQUFtQixDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFFNUUsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBRVYsTUFBTSxhQUFhLEdBQUcsSUFBSSxPQUFPLENBQVMsT0FBTyxDQUFDLEVBQUU7WUFDbEQsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFO2dCQUNmLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUE7Z0JBQ3RDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUNwQixDQUFDLENBQUMsQ0FBQTtRQUNKLENBQUMsQ0FBQyxDQUFBO1FBRUYsT0FBTyxNQUFNLGFBQWEsQ0FBQztJQUM3QixDQUFDO0NBQ0Y7QUFsREQsMERBa0RDIn0=