my-typescript-library-rahul52us 3.0.9 → 4.1.4

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.
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.exportInvoicesWithApprovals = void 0;
16
+ const exceljs_1 = __importDefault(require("exceljs"));
17
+ function exportInvoicesWithApprovals(invoices) {
18
+ return __awaiter(this, void 0, void 0, function* () {
19
+ const workbook = new exceljs_1.default.Workbook();
20
+ workbook.creator = 'Invoice System';
21
+ workbook.created = new Date();
22
+ // --------------------------------------------------------------
23
+ // 1. INVOICES SHEET – all originalValues + a few top-level fields
24
+ // --------------------------------------------------------------
25
+ const invoiceWs = workbook.addWorksheet('Invoices');
26
+ const invoiceRows = invoices.map((inv) => (Object.assign({ documentId: inv.documentId || '', created_At: inv.created_At || '', overall_status: inv.status || '' }, (inv.originalValues || {}))));
27
+ if (invoiceRows.length) {
28
+ const invHeaders = Object.keys(invoiceRows[0]);
29
+ invoiceWs.addRow(invHeaders).font = { bold: true };
30
+ invoiceRows.forEach((r) => invoiceWs.addRow(invHeaders.map((h) => { var _a; return (_a = r[h]) !== null && _a !== void 0 ? _a : ''; })));
31
+ invoiceWs.columns.forEach(c => c.width = 20);
32
+ }
33
+ // --------------------------------------------------------------
34
+ // 2. APPROVALS SHEET – **only documentId** as foreign key
35
+ // --------------------------------------------------------------
36
+ const approvalWs = workbook.addWorksheet('Approvals');
37
+ const approvalRows = [];
38
+ invoices.forEach((inv) => {
39
+ const docId = inv.documentId || '';
40
+ (inv.approval || []).forEach((appr, idx) => {
41
+ const user = appr.user || {};
42
+ approvalRows.push({
43
+ documentId: docId,
44
+ approval_step: idx + 1,
45
+ approver_name: user.username || '',
46
+ approver_role: user.role || '',
47
+ approver_level: appr.level || '',
48
+ approval_status: appr.status || '',
49
+ comment: appr.comment || '',
50
+ approved_at: appr.createdAt || '',
51
+ approval_type: appr.type || '',
52
+ });
53
+ });
54
+ });
55
+ if (approvalRows.length) {
56
+ const apprHeaders = Object.keys(approvalRows[0]);
57
+ approvalWs.addRow(apprHeaders).font = { bold: true };
58
+ approvalRows.forEach((r) => approvalWs.addRow(apprHeaders.map((h) => { var _a; return (_a = r[h]) !== null && _a !== void 0 ? _a : ''; })));
59
+ approvalWs.columns.forEach(c => c.width = 22);
60
+ }
61
+ else {
62
+ approvalWs.addRow(['No approvals found']).font = { italic: true };
63
+ }
64
+ // --------------------------------------------------------------
65
+ // 3. RETURN BASE64
66
+ // --------------------------------------------------------------
67
+ const buffer = yield workbook.xlsx.writeBuffer();
68
+ return `data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,${buffer.toString('base64')}`;
69
+ });
70
+ }
71
+ exports.exportInvoicesWithApprovals = exportInvoicesWithApprovals;
72
+ //# sourceMappingURL=function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function.js","sourceRoot":"","sources":["../../../../src/services/document/utils/function.ts"],"names":[],"mappings":"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"}
@@ -71,3 +71,7 @@ export declare const deleteAllDocuments: () => Promise<{
71
71
  status: string;
72
72
  data: any;
73
73
  }>;
74
+ export declare function getDownloadExcelDocument(noOfLevels: number, workflow: string, searchValue: string, status: string, company: string, userId: any, differentiateFirstLevel: any, level: string, sort: string | null, limit: string | null, page: string | null, exchangeType: any | null, billType: string | null, manual: string | null, startDate: any, endDate: any, searchField: any, dateFilterKey: string, sortByKey: string, additionalFiles: string[]): Promise<{
75
+ data: any;
76
+ totalPages: number;
77
+ }>;
@@ -78,4 +78,21 @@ export declare const getDashChartService: (req: UserRequest, res: Response) => P
78
78
  export declare const deleteAllDocumentsService: (req: any, res: Response) => Promise<void>;
79
79
  export declare const deleteSingleDocumentService: (req: any, res: Response) => Promise<void>;
80
80
  export declare function sendMailService(req: UserRequest, res: Response): Promise<any>;
81
+ export declare function getDownloadExcelFunction(req: any): Promise<{
82
+ status: string;
83
+ statusCode: number;
84
+ documents: {
85
+ data: any;
86
+ totalPages: number;
87
+ };
88
+ base64: string;
89
+ message?: undefined;
90
+ } | {
91
+ status: string;
92
+ statusCode: number;
93
+ message: any;
94
+ documents?: undefined;
95
+ base64?: undefined;
96
+ }>;
97
+ export declare function getDownloadExcelService(req: Request, res: Response): Promise<void>;
81
98
  export {};
@@ -0,0 +1 @@
1
+ export declare function exportInvoicesWithApprovals(invoices: any): Promise<string>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "my-typescript-library-rahul52us",
3
- "version": "3.0.9",
3
+ "version": "4.1.4",
4
4
  "description": "A reusable TypeScript utility library.",
5
5
  "main": "dist/server.js",
6
6
  "types": "dist/types/server.d.ts",
@@ -37,9 +37,9 @@
37
37
  "@types/passport-local": "^1.0.38",
38
38
  "eslint": "^8.0.0",
39
39
  "jest": "^29.0.0",
40
+ "mongoose": "^6.10.0",
40
41
  "ts-jest": "^29.0.0",
41
- "typescript": "^4.9.5",
42
- "mongoose": "^6.10.0"
42
+ "typescript": "^4.9.5"
43
43
  },
44
44
  "dependencies": {
45
45
  "axios": "^1.7.9",
@@ -49,6 +49,7 @@
49
49
  "casbin": "^5.36.0",
50
50
  "dayjs": "^1.11.13",
51
51
  "dotenv": "^16.4.7",
52
+ "exceljs": "^4.4.0",
52
53
  "express": "^4.21.2",
53
54
  "express-basic-auth": "^1.2.1",
54
55
  "fastest-validator": "^1.19.0",