@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.
- package/dist/dto/tad-search.dto.d.ts +4 -0
- package/dist/dto/tad-search.dto.d.ts.map +1 -0
- package/dist/dto/tad-search.dto.js +3 -0
- package/dist/dto/tad-search.dto.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/interface.d.ts +3 -0
- package/dist/interface.d.ts.map +1 -0
- package/dist/interface.js +3 -0
- package/dist/interface.js.map +1 -0
- package/dist/tad.module.d.ts +11 -0
- package/dist/tad.module.d.ts.map +1 -0
- package/dist/tad.module.js +44 -0
- package/dist/tad.module.js.map +1 -0
- package/dist/tad.service.d.ts +28 -0
- package/dist/tad.service.d.ts.map +1 -0
- package/dist/tad.service.js +213 -0
- package/dist/tad.service.js.map +1 -0
- package/dist/tokens.d.ts +2 -0
- package/dist/tokens.d.ts.map +1 -0
- package/dist/tokens.js +5 -0
- package/dist/tokens.js.map +1 -0
- package/dist/types/tad.types.d.ts +102 -0
- package/dist/types/tad.types.d.ts.map +1 -0
- package/dist/types/tad.types.js +42 -0
- package/dist/types/tad.types.js.map +1 -0
- package/package.json +39 -0
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"tad-search.dto.js","sourceRoot":"","sources":["../../src/dto/tad-search.dto.ts"],"names":[],"mappings":""}
|
package/dist/index.d.ts
ADDED
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../src/interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;CAAG"}
|
|
@@ -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":";;;;;;;;;;;;;;;AAAA,qCAAuC;AACvC,2CAAyE;AACzE,qCAA2H;AAC3H,iDAA6K;AAC7K,iCAAiC;AACjC,mCAAmC;AAWnC,SAAS,0BAA0B;IACjC,MAAM,kBAAkB,GAA0B,CAAC,GAAG,EAAE,CAAC,EAAuB,EAAE;QAChF,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,QAAQ,GAAiB,KAAK,CAAC;QACnC,IAAI,MAAM,GAAiB,KAAK,CAAC;QACjC,IAAI,KAAK,CAAC,CAAC,CAAC;YAAE,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC;QAC5D,mGAAmG;QACnG,IAAI,KAAK,CAAC,CAAC,CAAC;YAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC;QAC1D,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,IAAA,iBAAO,EAAC,QAAQ,EAAE,MAAM,CAAC,EAAyB,CAAC;QACrE,CAAC;aAAM,IAAI,QAAQ,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,IAAA,yBAAe,EAAC,QAAQ,CAAC,EAAyB,CAAC;QACrE,CAAC;aAAM,IAAI,MAAM,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,IAAA,yBAAe,EAAC,MAAM,CAAC,EAAyB,CAAC;QACnE,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,OAAO;QACL,CAAC,8BAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAA,cAAI,EAAC,IAAI,CAAC,GAAG,CAAC,EAA0B,CAAA;QAC3F,CAAC,8BAAkB,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAA0B,CAAA;QACrF,CAAC,8BAAkB,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAA,YAAE,EAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAA0B,CAAA;QACtG,CAAC,8BAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAA0B,CAAA;QAC9E,CAAC,8BAAkB,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAA,iBAAO,EAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAA0B,CAAA;QAC5H,CAAC,8BAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAA,iBAAO,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAA0B,CAAA;QACvI,CAAC,8BAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAA,iBAAO,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAA0B,CAAA;QAC3I,CAAC,8BAAkB,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAA,iBAAO,EAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAA0B,CAAA;QACzK,CAAC,8BAAkB,CAAC,cAAc,CAAC,EAAE,kBAAkB;KACxD,CAAC;AACJ,CAAC;AAGM,IAAM,UAAU,GAAhB,MAAM,UAAU;IACrB,YAC0C,OAAmB;QAAnB,YAAO,GAAP,OAAO,CAAY;IAC1D,CAAC;IACJ,KAAK,CAAC,SAAS,CACb,IAAmB,EACnB,OAA4B,EAC5B,OAAwB,EACxB,UAA2B,EAC3B,aAAsB,KAAK;QAE3B,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,YAAY,GAAG,MAAM,CAAC;YACjC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC;YACpB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,aAAa,CAAI,OAAO,EAAE,UAAU,CAAC,CAAA;QAC3E,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAC3F,IAAI,CAAC,aAAa,CAAI,OAAO,EAAE,IAAI,CAAC,CAAA;QACpC,MAAM,QAAQ,GAAmB;YAC/B,OAAO;YACP,OAAO,EAAE,aAAa;YACtB,UAAU;YACV,UAAU;YACV,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC;QACF,IAAI,UAAU;YAAE,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAI,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,qBAAqB;QAC5F,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB;IACzD,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,GAAkB,EAClB,OAA4B,EAC5B,OAAwB,EACxB,UAA2B,EAC3B,aAAsB,KAAK;QAE3B,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,YAAY,GAAG,MAAM,CAAC;YACjC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC;YACpB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,aAAa,GAA2B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAC,CAAC,EAAE,EAA4B,CAAC,CAAC;QAChI,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAI,GAAG,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAE1G,IAAI,CAAC,aAAa,CAAI,OAAO,EAAE,IAAI,CAAC,CAAA;QACpC,MAAM,QAAQ,GAAmB;YAC/B,OAAO;YACP,OAAO,EAAE,aAAa;YACtB,UAAU;YACV,UAAU;YACV,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC;QACF,IAAI,UAAU;YAAE,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAI,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,qBAAqB;QAC5F,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB;IACzD,CAAC;IAED,KAAK,CAAC,IAAI,CACR,IAAmB,EACnB,KAA0B,EAC1B,UAA2B,EAC3B,OAAwB;QAExB,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAA,CAAC,CAAA,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;YAC3B,MAAM;YACN,IAAI;YACJ,IAAI,EAAE,UAAU,CAAC,YAAY,IAAI,SAAS;YAC1C,KAAK;YACL,KAAK,EAAE,UAAU,CAAC,IAAI;SACvB,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAE1C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;QAC9D,OAAO;YACL,IAAI;YACJ,UAAU,EAAE,KAAK;YACjB,UAAU;SACX,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CACb,GAAkB,EAClB,OAA+B,EAC/B,UAA2B,EAC3B,OAAwB;QAEtB,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,EAAG,CAAC;aAC5F,IAAI,CAAC,CAAC,QAAsC,EAAC,EAAE;YAC9C,OAAO,QAAQ,CAAC,IAAI,CAAA;QACtB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACjB,MAAM,IAAI,4BAAmB,CAAC,yCAAyC,CAAC,CAAA;QAC1E,CAAC,CAAC,CAAA;IACR,CAAC;IAED,oBAAoB,CAAC,UAAmB;QACtC,MAAM,UAAU,GAAG,CAAC,MAAkB,EAAE,EAAE;YACxC,IAAI,UAAU,KAAK,IAAI;gBAAE,OAAO,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAA2B,QAAwB,EAAE,IAAS;QAClF,iBAAiB;QACjB,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAEnD,SAAS,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACjD,MAAM,EAAE,GAAG,CAAC,KAAK;YACjB,GAAG,EAAE,GAAG,CAAC,GAAa;YACtB,KAAK,EAAE,EAAE;SACV,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACtB,MAAM,GAAG,GAAiE,EAAE,CAAC;YAC7E,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAE9B,2CAA2C;gBAC3C,IAAI,GAAG,CAAC,QAAQ,KAAK,uBAAW,CAAC,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,eAAe,EAAE,CAAC;oBACjJ,GAAG,CAAC,GAAG,CAAC,GAAa,CAAC,GAAG,MAAM,CAAC,KAAa,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;gBAC/E,CAAC;qBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBAC3G,GAAG,CAAC,GAAG,CAAC,GAAa,CAAC,GAAG,KAAK,CAAC;gBACjC,CAAC;qBAAM,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;oBACtC,GAAG,CAAC,GAAG,CAAC,GAAa,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;gBAChD,CAAC;qBAAM,CAAC;oBACN,0DAA0D;oBAC1D,GAAG,CAAC,GAAG,CAAC,GAAa,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBACzC,CAAC;gBACD,4GAA4G;YAC9G,CAAC,CAAC,CAAC;YACH,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE;YACpC,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,GAAG;gBACV,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;aAC9B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa,CAA0B,OAA2B,EAAE,UAA2B;QAC7F,MAAM,aAAa,GAA2B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAC,CAAC,EAAE,EAA4B,CAAC,CAAC;QAChI,MAAM,uBAAuB,GAAG,0BAA0B,EAAK,CAAC;QAChE,MAAM,KAAK,GAAwB,EAAE,CAAC;QAEtC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;YACnD,MAAM,WAAW,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAW,CAAC,CAAC;YACzF,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,OAAO;YACL,KAAK;YACL,aAAa;SACd,CAAA;IACH,CAAC;IAED,aAAa,CAA0B,OAAwB,EAAE,IAAS;QACxE,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QACxD,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC5B,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACpB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;wBACf,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAe,CAAC;oBAChE,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAvLY,gCAAU;qBAAV,UAAU;IADtB,IAAA,mBAAU,GAAE;IAGN,WAAA,IAAA,eAAM,EAAC,oBAAW,CAAC,CAAA;;GAFb,UAAU,CAuLtB"}
|
package/dist/tokens.d.ts
ADDED
|
@@ -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 @@
|
|
|
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
|
+
}
|