@consolidador-com/tad-nest-module 0.1.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.
@@ -0,0 +1,4 @@
1
+ import { ObjectLiteral } from 'typeorm';
2
+ import { fetchTadParams } from '../types/tad.types';
3
+ export type TadSearchDTO<T extends ObjectLiteral> = fetchTadParams<T>;
4
+ //# sourceMappingURL=tad-search.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tad-search.dto.d.ts","sourceRoot":"","sources":["../../src/dto/tad-search.dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,aAAa,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=tad-search.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tad-search.dto.js","sourceRoot":"","sources":["../../src/dto/tad-search.dto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export * from './tad.module';
2
+ export * from './tad.service';
3
+ export * from './interface';
4
+ export * from './tokens';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./tad.module"), exports);
18
+ __exportStar(require("./tad.service"), exports);
19
+ __exportStar(require("./interface"), exports);
20
+ __exportStar(require("./tokens"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,gDAA8B;AAC9B,8CAA4B;AAC5B,2CAAyB"}
@@ -0,0 +1,3 @@
1
+ export interface TadOptions {
2
+ }
3
+ //# sourceMappingURL=interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../src/interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;CAAG"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface.js","sourceRoot":"","sources":["../src/interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { DynamicModule } from '@nestjs/common';
2
+ import { TadOptions } from './interface';
3
+ export declare class SeuModuloModule {
4
+ static forRoot(options: TadOptions): DynamicModule;
5
+ static forRootAsync(options: {
6
+ useFactory: (...args: any[]) => Promise<TadOptions> | TadOptions;
7
+ inject?: any[];
8
+ imports?: any[];
9
+ }): DynamicModule;
10
+ }
11
+ //# sourceMappingURL=tad.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tad.module.d.ts","sourceRoot":"","sources":["../src/tad.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAoB,MAAM,gBAAgB,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,qBACa,eAAe;IAC1B,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,aAAa;IAalD,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE;QAC3B,UAAU,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;QACjE,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;QACf,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;KACjB,GAAG,aAAa;CAclB"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var SeuModuloModule_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.SeuModuloModule = void 0;
11
+ const common_1 = require("@nestjs/common");
12
+ const tokens_1 = require("./tokens");
13
+ const tad_service_1 = require("./tad.service");
14
+ let SeuModuloModule = SeuModuloModule_1 = class SeuModuloModule {
15
+ static forRoot(options) {
16
+ const optionsProvider = {
17
+ provide: tokens_1.TAD_OPTIONS,
18
+ useValue: options,
19
+ };
20
+ return {
21
+ module: SeuModuloModule_1,
22
+ providers: [optionsProvider, tad_service_1.TadService],
23
+ exports: [tad_service_1.TadService],
24
+ };
25
+ }
26
+ static forRootAsync(options) {
27
+ const optionsProvider = {
28
+ provide: tokens_1.TAD_OPTIONS,
29
+ useFactory: options.useFactory,
30
+ inject: options.inject ?? [],
31
+ };
32
+ return {
33
+ module: SeuModuloModule_1,
34
+ imports: options.imports ?? [],
35
+ providers: [optionsProvider, tad_service_1.TadService],
36
+ exports: [tad_service_1.TadService],
37
+ };
38
+ }
39
+ };
40
+ exports.SeuModuloModule = SeuModuloModule;
41
+ exports.SeuModuloModule = SeuModuloModule = SeuModuloModule_1 = __decorate([
42
+ (0, common_1.Module)({})
43
+ ], SeuModuloModule);
44
+ //# sourceMappingURL=tad.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tad.module.js","sourceRoot":"","sources":["../src/tad.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAiE;AACjE,qCAAuC;AAEvC,+CAA2C;AAGpC,IAAM,eAAe,uBAArB,MAAM,eAAe;IAC1B,MAAM,CAAC,OAAO,CAAC,OAAmB;QAChC,MAAM,eAAe,GAAa;YAChC,OAAO,EAAE,oBAAW;YACpB,QAAQ,EAAE,OAAO;SAClB,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,iBAAe;YACvB,SAAS,EAAE,CAAC,eAAe,EAAE,wBAAU,CAAC;YACxC,OAAO,EAAE,CAAC,wBAAU,CAAC;SACtB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,OAInB;QACC,MAAM,eAAe,GAAa;YAChC,OAAO,EAAE,oBAAW;YACpB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;SAC7B,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,iBAAe;YACvB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;YAC9B,SAAS,EAAE,CAAC,eAAe,EAAE,wBAAU,CAAC;YACxC,OAAO,EAAE,CAAC,wBAAU,CAAC;SACtB,CAAC;IACJ,CAAC;CACF,CAAA;AAhCY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,eAAe,CAgC3B"}
@@ -0,0 +1,28 @@
1
+ import { FindOptionsWhere, ObjectLiteral, Repository } from 'typeorm';
2
+ import { ResponseTad, tadBundleT, tadColumns, tadDataFilterObject, tadDataFilterT, tadMetadata } from './types/tad.types';
3
+ import * as ExcelJS from 'exceljs';
4
+ import { AxiosInstance } from 'axios';
5
+ import { TadOptions } from './interface';
6
+ import { TadSearchDTO } from './dto/tad-search.dto';
7
+ type findSchema<T extends ObjectLiteral> = {
8
+ list: T[];
9
+ totalItems: number;
10
+ totalPages: number;
11
+ };
12
+ export declare class TadService {
13
+ private readonly options;
14
+ constructor(options: TadOptions);
15
+ createTad<T extends ObjectLiteral>(repo: Repository<T>, filters: tadDataFilterT<T>[], columns: tadColumns<T>[], dataSearch: TadSearchDTO<T>, fileExport?: boolean): Promise<ResponseTad<T> | ExcelJS.Buffer>;
16
+ createTadByApi<T extends ObjectLiteral>(api: AxiosInstance, filters: tadDataFilterT<T>[], columns: tadColumns<T>[], dataSearch: TadSearchDTO<T>, fileExport?: boolean): Promise<ResponseTad<T> | ExcelJS.Buffer>;
17
+ find<T extends ObjectLiteral>(repo: Repository<T>, where: FindOptionsWhere<T>, dataSearch: TadSearchDTO<T>, columns: tadColumns<T>[]): Promise<findSchema<T>>;
18
+ findByApi<T extends ObjectLiteral>(api: AxiosInstance, filters: tadDataFilterObject<T>, dataSearch: TadSearchDTO<T>, columns: tadColumns<T>[]): Promise<findSchema<T>>;
19
+ createBundleFunction(fileExport: boolean): (bundle: tadBundleT) => string;
20
+ createFileExport<T extends ObjectLiteral>(metadata: tadMetadata<T>, rows: T[]): Promise<ExcelJS.Buffer>;
21
+ filterToWhere<T extends ObjectLiteral>(filters: tadDataFilterT<T>[], dataSearch: TadSearchDTO<T>): {
22
+ where: FindOptionsWhere<T>;
23
+ filtersObject: tadDataFilterObject<T>;
24
+ };
25
+ formatColumns<T extends ObjectLiteral>(columns: tadColumns<T>[], list: T[]): void;
26
+ }
27
+ export {};
28
+ //# sourceMappingURL=tad.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tad.service.d.ts","sourceRoot":"","sources":["../src/tad.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAW,gBAAgB,EAA8C,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC3H,OAAO,EAAE,WAAW,EAAE,UAAU,EAAe,UAAU,EAAoB,mBAAmB,EAAsB,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE7K,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,aAAa,EAAiB,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,KAAK,UAAU,CAAC,CAAC,SAAS,aAAa,IAAG;IACxC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAA;AAgCD,qBACa,UAAU;IAEI,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,UAAU;IAEvD,SAAS,CAAC,CAAC,SAAS,aAAa,EACrC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EACnB,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,EAC5B,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,EACxB,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,EAC3B,UAAU,GAAE,OAAe,GAC1B,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBrC,cAAc,CAAC,CAAC,SAAS,aAAa,EAC1C,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,EAC5B,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,EACxB,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,EAC3B,UAAU,GAAE,OAAe,GAC1B,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAwBrC,IAAI,CAAC,CAAC,SAAS,aAAa,EAChC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EACnB,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAC1B,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,EAC3B,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,GACvB,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAqBnB,SAAS,CAAC,CAAC,SAAS,aAAa,EACrC,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAC/B,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,EAC3B,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,GACvB,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IASzB,oBAAoB,CAAC,UAAU,EAAE,OAAO,YACV,UAAU;IAOlC,gBAAgB,CAAC,CAAC,SAAS,aAAa,EAAG,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;IA6CpF,aAAa,CAAC,CAAC,SAAS,aAAa,EAAE,OAAO,EAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;;;;IAe/F,aAAa,CAAC,CAAC,SAAS,aAAa,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;CAY3E"}
@@ -0,0 +1,213 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.TadService = void 0;
16
+ const tokens_1 = require("./tokens");
17
+ const common_1 = require("@nestjs/common");
18
+ const typeorm_1 = require("typeorm");
19
+ const tad_types_1 = require("./types/tad.types");
20
+ const moment = require("moment");
21
+ const ExcelJS = require("exceljs");
22
+ function getTadDataFiltersFunctions() {
23
+ const WhereDateTimeRange = (key, v) => {
24
+ const dates = v.split(',');
25
+ let dateFrom = false;
26
+ let dateTo = false;
27
+ if (dates[0])
28
+ dateFrom = moment(dates[0]).toDate() || false;
29
+ // if (dates[1]) dateTo = moment(dates[1]).add('1 day').toDate() || false usar na consulta de Dates
30
+ if (dates[1])
31
+ dateTo = moment(dates[1]).toDate() || false;
32
+ if (dateFrom && dateTo) {
33
+ return { [key]: (0, typeorm_1.Between)(dateFrom, dateTo) };
34
+ }
35
+ else if (dateFrom) {
36
+ return { [key]: (0, typeorm_1.MoreThanOrEqual)(dateFrom) };
37
+ }
38
+ else if (dateTo) {
39
+ return { [key]: (0, typeorm_1.LessThanOrEqual)(dateTo) };
40
+ }
41
+ return {};
42
+ };
43
+ return {
44
+ [tad_types_1.tadDataFiltersEnum.STRING]: (key, v) => ({ [key]: (0, typeorm_1.Like)(`%${v}%`) }),
45
+ [tad_types_1.tadDataFiltersEnum.SELECT_SINGLE]: (key, v) => ({ [key]: v }),
46
+ [tad_types_1.tadDataFiltersEnum.SELECT_MULTIPLE]: (key, v) => ({ [key]: (0, typeorm_1.In)(v.split(',')) }),
47
+ [tad_types_1.tadDataFiltersEnum.NUMBER]: (key, v) => ({ [key]: v }),
48
+ [tad_types_1.tadDataFiltersEnum.NUMBER_RANGE]: (key, v) => ({ [key]: (0, typeorm_1.Between)(v.split(',')[0], v.split(',')[1]) }),
49
+ [tad_types_1.tadDataFiltersEnum.DATE]: (key, v) => ({ [key]: (0, typeorm_1.Between)(moment(v).toDate(), moment(v).add('1 day').toDate()) }),
50
+ [tad_types_1.tadDataFiltersEnum.DATETIME]: (key, v) => ({ [key]: (0, typeorm_1.Between)(moment(v).toDate(), moment(v).add('1 day').toDate()) }),
51
+ [tad_types_1.tadDataFiltersEnum.DATE_RANGE]: (key, v) => ({ [key]: (0, typeorm_1.Between)(moment(v.split(',')[0]).toDate(), moment(v.split(',')[1]).add('1 day').toDate()) }),
52
+ [tad_types_1.tadDataFiltersEnum.DATETIME_RANGE]: WhereDateTimeRange,
53
+ };
54
+ }
55
+ let TadService = class TadService {
56
+ constructor(options) {
57
+ this.options = options;
58
+ }
59
+ async createTad(repo, filters, columns, dataSearch, fileExport = false) {
60
+ if (fileExport) {
61
+ dataSearch.itemsPerPage = 999999;
62
+ dataSearch.page = 0;
63
+ columns = columns.filter((col) => col.fileExport !== false);
64
+ }
65
+ const { where, filtersObject } = this.filterToWhere(filters, dataSearch);
66
+ const { list, totalPages, totalItems } = await this.find(repo, where, dataSearch, columns);
67
+ this.formatColumns(columns, list);
68
+ const metadata = {
69
+ columns,
70
+ filters: filtersObject,
71
+ totalItems,
72
+ totalPages,
73
+ sort: dataSearch.sort,
74
+ page: dataSearch.page,
75
+ itemsPerPage: dataSearch.itemsPerPage,
76
+ filter: dataSearch.filter,
77
+ };
78
+ if (fileExport)
79
+ return await this.createFileExport(metadata, list); // returns Excel File
80
+ return { metadata, rows: list }; // returns responseTad
81
+ }
82
+ async createTadByApi(api, filters, columns, dataSearch, fileExport = false) {
83
+ if (fileExport) {
84
+ dataSearch.itemsPerPage = 999999;
85
+ dataSearch.page = 0;
86
+ columns = columns.filter((col) => col.fileExport !== false);
87
+ }
88
+ const filtersObject = filters.reduce((pv, cv) => ({ ...pv, [cv.key]: cv }), {});
89
+ const { list, totalPages, totalItems } = await this.findByApi(api, filtersObject, dataSearch, columns);
90
+ this.formatColumns(columns, list);
91
+ const metadata = {
92
+ columns,
93
+ filters: filtersObject,
94
+ totalItems,
95
+ totalPages,
96
+ sort: dataSearch.sort,
97
+ page: dataSearch.page,
98
+ itemsPerPage: dataSearch.itemsPerPage,
99
+ filter: dataSearch.filter,
100
+ };
101
+ if (fileExport)
102
+ return await this.createFileExport(metadata, list); // returns Excel File
103
+ return { metadata, rows: list }; // returns responseTad
104
+ }
105
+ async find(repo, where, dataSearch, columns) {
106
+ const skip = dataSearch.page ? (dataSearch.page - 1) * dataSearch.itemsPerPage : 0;
107
+ const select = columns.map((col) => col.key);
108
+ const list = await repo.find({
109
+ select,
110
+ skip,
111
+ take: dataSearch.itemsPerPage || undefined,
112
+ where,
113
+ order: dataSearch.sort,
114
+ });
115
+ const total = await repo.count({ where });
116
+ const totalPages = Math.ceil(total / dataSearch.itemsPerPage);
117
+ return {
118
+ list,
119
+ totalItems: total,
120
+ totalPages,
121
+ };
122
+ }
123
+ async findByApi(api, filters, dataSearch, columns) {
124
+ return api.post('', { filters, page: dataSearch.page, itemsPerPage: dataSearch.itemsPerPage })
125
+ .then((response) => {
126
+ return response.data;
127
+ }).catch((error) => {
128
+ throw new common_1.BadRequestException(' Falha no consumo da API de Integração.');
129
+ });
130
+ }
131
+ createBundleFunction(fileExport) {
132
+ const bundleFunc = (bundle) => {
133
+ if (fileExport === true)
134
+ return bundle.text || '';
135
+ return JSON.stringify(bundle);
136
+ };
137
+ return bundleFunc;
138
+ }
139
+ async createFileExport(metadata, rows) {
140
+ // Criar workbook
141
+ const workbook = new ExcelJS.Workbook();
142
+ const worksheet = workbook.addWorksheet('Reports');
143
+ worksheet.columns = metadata.columns.map((col) => ({
144
+ header: col.label,
145
+ key: col.key,
146
+ width: 30,
147
+ }));
148
+ rows.forEach((report) => {
149
+ const row = {};
150
+ metadata.columns.forEach((col) => {
151
+ const value = report[col.key];
152
+ // Formatar data se necessário (type guard)
153
+ if (col.cellType === tad_types_1.tadCellType.DATE_TIME && value !== null && value !== undefined && Object.prototype.toString.call(value) === '[object Date]') {
154
+ row[col.key] = moment(value).format('DD/MM/YYYY HH:mm:ss');
155
+ }
156
+ else if (typeof value === 'string' || typeof value === 'number' || value === null || value === undefined) {
157
+ row[col.key] = value;
158
+ }
159
+ else if (typeof value === 'boolean') {
160
+ row[col.key] = value ? 'Yes' : 'No';
161
+ }
162
+ else {
163
+ // Para outros tipos (objects, etc), converter para string
164
+ row[col.key] = String(value);
165
+ }
166
+ // source: report.source ? `${report.source.carrier} - ${report.source.loginData?.agency || 'N/A'}` : 'N/A',
167
+ });
168
+ worksheet.addRow(row);
169
+ });
170
+ worksheet.getRow(1).eachCell((cell) => {
171
+ cell.font = { bold: true };
172
+ cell.fill = {
173
+ type: 'pattern',
174
+ pattern: 'solid',
175
+ fgColor: { argb: 'FFE0E0E0' },
176
+ };
177
+ });
178
+ const buffer = await workbook.xlsx.writeBuffer();
179
+ return buffer;
180
+ }
181
+ filterToWhere(filters, dataSearch) {
182
+ const filtersObject = filters.reduce((pv, cv) => ({ ...pv, [cv.key]: cv }), {});
183
+ const TadDataFiltersFunctions = getTadDataFiltersFunctions();
184
+ const where = {};
185
+ Object.entries(dataSearch.filter).forEach(([k, v]) => {
186
+ const whereFilter = TadDataFiltersFunctions[filtersObject[k].typeFilter](k, v);
187
+ Object.assign(where, whereFilter);
188
+ });
189
+ return {
190
+ where,
191
+ filtersObject
192
+ };
193
+ }
194
+ formatColumns(columns, list) {
195
+ const filterColumns = columns.filter((el) => el.format);
196
+ filterColumns.forEach((col) => {
197
+ if (list[0] && col.key in list[0]) {
198
+ list.forEach((item) => {
199
+ if (col.format) {
200
+ item[col.key] = col.format(item[col.key], item);
201
+ }
202
+ });
203
+ }
204
+ });
205
+ }
206
+ };
207
+ exports.TadService = TadService;
208
+ exports.TadService = TadService = __decorate([
209
+ (0, common_1.Injectable)(),
210
+ __param(0, (0, common_1.Inject)(tokens_1.TAD_OPTIONS)),
211
+ __metadata("design:paramtypes", [Object])
212
+ ], TadService);
213
+ //# sourceMappingURL=tad.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tad.service.js","sourceRoot":"","sources":["../src/tad.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const TAD_OPTIONS: unique symbol;
2
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,eAAwB,CAAC"}
package/dist/tokens.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TAD_OPTIONS = void 0;
4
+ exports.TAD_OPTIONS = Symbol('TAD_OPTIONS');
5
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC"}
@@ -0,0 +1,102 @@
1
+ import { FindOptionsOrder, ObjectLiteral } from 'typeorm';
2
+ export type tadRow = {
3
+ [key: string]: string;
4
+ } & {
5
+ id: string | number;
6
+ };
7
+ export declare enum tadDataSortEnum {
8
+ ASC = "asc",
9
+ DESC = "desc"
10
+ }
11
+ export declare enum tadDataFiltersEnum {
12
+ STRING = "STRING",// "text"
13
+ SELECT_SINGLE = "SELECT_SINGLE",// "val"
14
+ SELECT_MULTIPLE = "SELECT_MULTIPLE",// "val1,val2"
15
+ NUMBER = "NUMBER",// "0"
16
+ NUMBER_RANGE = "NUMBER_RANGE",// "0,9"
17
+ DATE = "DATE",// "2025-01-01T01:00:00"
18
+ DATE_RANGE = "DATE_RANGE",//"2025-01-01,2026-01-01"
19
+ DATETIME = "DATETIME",// "2025-01-01"
20
+ DATETIME_RANGE = "DATETIME_RANGE"
21
+ }
22
+ export type tadFilter<T extends ObjectLiteral> = Record<keyof T, string>;
23
+ export type tadSort<T extends ObjectLiteral> = FindOptionsOrder<T>;
24
+ export type tadDataFilterT<T extends ObjectLiteral> = {
25
+ key: keyof T;
26
+ label: string;
27
+ typeFilter: tadDataFiltersEnum;
28
+ values?: {
29
+ label: string;
30
+ value: string;
31
+ }[];
32
+ };
33
+ export type tadDataFilterObject<T extends ObjectLiteral> = Record<keyof T, tadDataFilterT<T>>;
34
+ export declare enum tadCelAlignEnum {
35
+ LEFT = "left",
36
+ CENTER = "center",
37
+ RIGHT = "right"
38
+ }
39
+ export declare enum tadCellType {
40
+ STRING = "string",
41
+ DATE = "date",
42
+ BOOLEAN = "boolean",
43
+ BUNDLE = "BUNDLE",
44
+ IMAGE_URL = "image_URL",
45
+ DATE_TIME = "date_time",
46
+ EMAIL_BODY = "email_body"
47
+ }
48
+ export declare const enum tadIconEnum {
49
+ IMAGE = "image",
50
+ EMAIL = "email"
51
+ }
52
+ export type tadBundleT = {
53
+ text?: string;
54
+ urlImage?: string;
55
+ icon?: tadIconEnum;
56
+ link?: string;
57
+ };
58
+ /**
59
+ * Represents the configuration for a table column in the TAD system.
60
+ *
61
+ * @property {string} key - The database column name. Must match the exact column name in the database.
62
+ * @property {string} label - The display label for the column header.
63
+ * @property {function} format - Function to format the cell value for display (receives value and row).
64
+ * @property {tadCellType} cellType - The type of cell renderer to use.
65
+ * @property {tadCelAlignEnum} [align] - Optional horizontal alignment for the cell content.
66
+ * @property {Boolean} [sortable] - Optional flag indicating if the column is sortable.
67
+ * @property {Boolean} [filtable] - Optional flag indicating if the column is filterable.
68
+ * @property {string} [style] - Optional inline CSS styles to apply to the column.
69
+ * @property {string} [classes] - Optional CSS classes to apply to the column.
70
+ */
71
+ export type tadColumns<T extends ObjectLiteral> = {
72
+ key: keyof T;
73
+ label: string;
74
+ format?: (val: unknown, row?: T) => unknown;
75
+ cellType: tadCellType;
76
+ align?: tadCelAlignEnum;
77
+ sortable?: boolean;
78
+ filtable?: boolean;
79
+ style?: string;
80
+ classes?: string;
81
+ fileExport?: boolean;
82
+ hidden?: boolean;
83
+ };
84
+ export type tadColumnsObject<T extends ObjectLiteral> = Record<keyof tadColumns<T>, tadColumns<T>>;
85
+ export type tadMetadata<T extends ObjectLiteral = ObjectLiteral> = {
86
+ columns: tadColumns<T>[];
87
+ filters: tadDataFilterObject<T>;
88
+ page: number;
89
+ totalPages: number;
90
+ itemsPerPage: number;
91
+ totalItems: number;
92
+ filter: tadFilter<T>;
93
+ sort: tadSort<T>;
94
+ };
95
+ export type fetchTadParams<T extends ObjectLiteral> = Omit<tadMetadata<T>, "filters" | "totalItems" | "totalPages" | "columns"> & {
96
+ fileExport: boolean;
97
+ };
98
+ export type ResponseTad<T extends ObjectLiteral> = {
99
+ metadata: tadMetadata<T>;
100
+ rows: T[];
101
+ };
102
+ //# sourceMappingURL=tad.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tad.types.d.ts","sourceRoot":"","sources":["../../src/types/tad.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.tadIconEnum = exports.tadCellType = exports.tadCelAlignEnum = exports.tadDataFiltersEnum = exports.tadDataSortEnum = void 0;
4
+ var tadDataSortEnum;
5
+ (function (tadDataSortEnum) {
6
+ tadDataSortEnum["ASC"] = "asc";
7
+ tadDataSortEnum["DESC"] = "desc";
8
+ })(tadDataSortEnum || (exports.tadDataSortEnum = tadDataSortEnum = {}));
9
+ var tadDataFiltersEnum;
10
+ (function (tadDataFiltersEnum) {
11
+ tadDataFiltersEnum["STRING"] = "STRING";
12
+ tadDataFiltersEnum["SELECT_SINGLE"] = "SELECT_SINGLE";
13
+ tadDataFiltersEnum["SELECT_MULTIPLE"] = "SELECT_MULTIPLE";
14
+ tadDataFiltersEnum["NUMBER"] = "NUMBER";
15
+ tadDataFiltersEnum["NUMBER_RANGE"] = "NUMBER_RANGE";
16
+ tadDataFiltersEnum["DATE"] = "DATE";
17
+ tadDataFiltersEnum["DATE_RANGE"] = "DATE_RANGE";
18
+ tadDataFiltersEnum["DATETIME"] = "DATETIME";
19
+ tadDataFiltersEnum["DATETIME_RANGE"] = "DATETIME_RANGE";
20
+ })(tadDataFiltersEnum || (exports.tadDataFiltersEnum = tadDataFiltersEnum = {}));
21
+ var tadCelAlignEnum;
22
+ (function (tadCelAlignEnum) {
23
+ tadCelAlignEnum["LEFT"] = "left";
24
+ tadCelAlignEnum["CENTER"] = "center";
25
+ tadCelAlignEnum["RIGHT"] = "right";
26
+ })(tadCelAlignEnum || (exports.tadCelAlignEnum = tadCelAlignEnum = {}));
27
+ var tadCellType;
28
+ (function (tadCellType) {
29
+ tadCellType["STRING"] = "string";
30
+ tadCellType["DATE"] = "date";
31
+ tadCellType["BOOLEAN"] = "boolean";
32
+ tadCellType["BUNDLE"] = "BUNDLE";
33
+ tadCellType["IMAGE_URL"] = "image_URL";
34
+ tadCellType["DATE_TIME"] = "date_time";
35
+ tadCellType["EMAIL_BODY"] = "email_body";
36
+ })(tadCellType || (exports.tadCellType = tadCellType = {}));
37
+ var tadIconEnum;
38
+ (function (tadIconEnum) {
39
+ tadIconEnum["IMAGE"] = "image";
40
+ tadIconEnum["EMAIL"] = "email";
41
+ })(tadIconEnum || (exports.tadIconEnum = tadIconEnum = {}));
42
+ //# sourceMappingURL=tad.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tad.types.js","sourceRoot":"","sources":["../../src/types/tad.types.ts"],"names":[],"mappings":";;;AAIA,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,8BAAW,CAAA;IACX,gCAAa,CAAA;AACf,CAAC,EAHW,eAAe,+BAAf,eAAe,QAG1B;AAED,IAAY,kBAUX;AAVD,WAAY,kBAAkB;IAC5B,uCAAiB,CAAA;IACjB,qDAA+B,CAAA;IAC/B,yDAAmC,CAAA;IACnC,uCAAiB,CAAA;IACjB,mDAA6B,CAAA;IAC7B,mCAAa,CAAA;IACb,+CAAyB,CAAA;IACzB,2CAAqB,CAAA;IACrB,uDAAiC,CAAA;AACnC,CAAC,EAVW,kBAAkB,kCAAlB,kBAAkB,QAU7B;AAgBD,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,gCAAa,CAAA;IACb,oCAAiB,CAAA;IACjB,kCAAe,CAAA;AACjB,CAAC,EAJW,eAAe,+BAAf,eAAe,QAI1B;AAED,IAAY,WAQX;AARD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,4BAAa,CAAA;IACb,kCAAmB,CAAA;IACnB,gCAAiB,CAAA;IACjB,sCAAuB,CAAA;IACvB,sCAAuB,CAAA;IACvB,wCAAyB,CAAA;AAC3B,CAAC,EARW,WAAW,2BAAX,WAAW,QAQtB;AAED,IAAkB,WAGjB;AAHD,WAAkB,WAAW;IAC3B,8BAAe,CAAA;IACf,8BAAe,CAAA;AACjB,CAAC,EAHiB,WAAW,2BAAX,WAAW,QAG5B"}
package/package.json ADDED
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "@consolidador-com/tad-nest-module",
3
+ "version": "0.1.0",
4
+ "description": "Modulo de Interface de dados reutilizavel em NestJS",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "files": [
8
+ "dist"
9
+ ],
10
+ "sideEffects": false,
11
+ "scripts": {
12
+ "clean": "rimraf dist",
13
+ "build": "npm run clean && tsc -p tsconfig.build.json",
14
+ "prepublishOnly": "npm run build",
15
+ "test": "echo \"(adicione testes)\""
16
+ },
17
+ "keywords": [],
18
+ "author": "Marjo by consolidador 202",
19
+ "license": "ISC",
20
+ "devDependencies": {
21
+ "rimraf": "^6.1.2",
22
+ "typescript": "^5.9.3"
23
+ },
24
+ "dependencies": {
25
+ "@nestjs/common": "^11.1.12",
26
+ "@nestjs/core": "^11.1.12",
27
+ "axios": "^1.13.2",
28
+ "exceljs": "^4.4.0",
29
+ "moment": "^2.30.1",
30
+ "reflect-metadata": "^0.2.2",
31
+ "rxjs": "^7.8.2",
32
+ "typeorm": "^0.3.28"
33
+ },
34
+ "peerDependencies": {
35
+ "@nestjs/common": "^11.1.12",
36
+ "@nestjs/core": "^11.1.12",
37
+ "rxjs": "^7.8.2"
38
+ }
39
+ }