@creatioart-js/express-storage 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/CHANGELOG.md +11 -0
- package/LICENSE +192 -0
- package/README.md +87 -0
- package/lib/enum/database.type.d.ts +4 -0
- package/lib/enum/database.type.js +9 -0
- package/lib/enum/database.type.js.map +1 -0
- package/lib/index.d.ts +11 -0
- package/lib/index.js +16 -0
- package/lib/index.js.map +1 -0
- package/lib/repository/base.datastore.repository.d.ts +14 -0
- package/lib/repository/base.datastore.repository.js +161 -0
- package/lib/repository/base.datastore.repository.js.map +1 -0
- package/lib/repository/base.firestore.repository.d.ts +14 -0
- package/lib/repository/base.firestore.repository.js +165 -0
- package/lib/repository/base.firestore.repository.js.map +1 -0
- package/lib/repository/interfaces/iRepository.d.ts +9 -0
- package/lib/repository/interfaces/iRepository.js +3 -0
- package/lib/repository/interfaces/iRepository.js.map +1 -0
- package/lib/repository/interfaces/iRepository.manager.repository.d.ts +4 -0
- package/lib/repository/interfaces/iRepository.manager.repository.js +3 -0
- package/lib/repository/interfaces/iRepository.manager.repository.js.map +1 -0
- package/lib/service/base.service.d.ts +15 -0
- package/lib/service/base.service.js +114 -0
- package/lib/service/base.service.js.map +1 -0
- package/lib/service/big.query.service.d.ts +6 -0
- package/lib/service/big.query.service.js +183 -0
- package/lib/service/big.query.service.js.map +1 -0
- package/lib/service/interfaces/ibase.service.d.ts +10 -0
- package/lib/service/interfaces/ibase.service.js +3 -0
- package/lib/service/interfaces/ibase.service.js.map +1 -0
- package/lib/service/interfaces/ibig.query.service.d.ts +4 -0
- package/lib/service/interfaces/ibig.query.service.js +3 -0
- package/lib/service/interfaces/ibig.query.service.js.map +1 -0
- package/lib/service/interfaces/iredis.cache.service.d.ts +7 -0
- package/lib/service/interfaces/iredis.cache.service.js +3 -0
- package/lib/service/interfaces/iredis.cache.service.js.map +1 -0
- package/lib/service/redis.cache.service.d.ts +18 -0
- package/lib/service/redis.cache.service.js +172 -0
- package/lib/service/redis.cache.service.js.map +1 -0
- package/package.json +124 -0
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseFirestoreRepository = void 0;
|
|
4
|
+
require("reflect-metadata");
|
|
5
|
+
const express_logging_1 = require("@creatioart-js/express-logging");
|
|
6
|
+
const express_core_1 = require("@creatioart-js/express-core");
|
|
7
|
+
const express_error_1 = require("@creatioart-js/express-error");
|
|
8
|
+
const express_error_handler_1 = require("@creatioart-js/express-error-handler");
|
|
9
|
+
class BaseFirestoreRepository {
|
|
10
|
+
key;
|
|
11
|
+
firestore;
|
|
12
|
+
constructor(firestore, key) {
|
|
13
|
+
this.firestore = firestore;
|
|
14
|
+
this.key = key;
|
|
15
|
+
}
|
|
16
|
+
async create(item, traceId) {
|
|
17
|
+
try {
|
|
18
|
+
(0, express_logging_1.Logger)().info(`Create Entity on Firestore by ${this.key} ${traceId !== undefined ? `. Trace: ${traceId}` : ''}`);
|
|
19
|
+
const collectionReference = this.firestore.collection(this.key);
|
|
20
|
+
delete item.id;
|
|
21
|
+
const createdEntity = await collectionReference.add(JSON.parse(JSON.stringify(item)));
|
|
22
|
+
if (createdEntity === undefined) {
|
|
23
|
+
(0, express_logging_1.Logger)().error(`Oops! Error on Create Entity on Firestore ` +
|
|
24
|
+
`${traceId !== undefined ? `. Trace: ${traceId}` : ''}`);
|
|
25
|
+
throw new express_error_handler_1.ErrorResponse(new express_error_1.InternalError(express_core_1.ErrorStatus.INTERNAL_SERVER_ERROR, `Oops! Error on create entity`, express_error_1.ErrorCode.INTERNAL_SERVER_ERROR_BASE));
|
|
26
|
+
}
|
|
27
|
+
item.id = createdEntity.id;
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
if (error instanceof express_error_handler_1.ErrorResponse) {
|
|
31
|
+
throw error;
|
|
32
|
+
}
|
|
33
|
+
if (error && Object.keys(error) !== undefined && Object.keys(error).length > 0) {
|
|
34
|
+
(0, express_logging_1.Logger)().error(express_core_1.ErrorHelper.toErrorString(error, traceId ?? ''));
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
(0, express_logging_1.Logger)().warn(express_core_1.ErrorHelper.toErrorString(error, traceId ?? ''));
|
|
38
|
+
(0, express_logging_1.Logger)().warn(`Undefined Error on Create Entity on Firestore ` +
|
|
39
|
+
`${traceId !== undefined ? `. Trace: ${traceId}` : ''}`);
|
|
40
|
+
}
|
|
41
|
+
throw new express_error_handler_1.ErrorResponse(new express_error_1.InternalError(express_core_1.ErrorStatus.INTERNAL_SERVER_ERROR, `Oops! Error on create entity`, express_error_1.ErrorCode.INTERNAL_SERVER_ERROR_BASE));
|
|
42
|
+
}
|
|
43
|
+
return item;
|
|
44
|
+
}
|
|
45
|
+
async update(item, traceId) {
|
|
46
|
+
try {
|
|
47
|
+
(0, express_logging_1.Logger)().info(`Edit Entity on Firestore by ${this.key} ${traceId !== undefined ? `. Trace: ${traceId}` : ''}`);
|
|
48
|
+
const id = item.id;
|
|
49
|
+
const collectionReference = this.firestore.collection(this.key);
|
|
50
|
+
const documentReference = collectionReference.doc(id);
|
|
51
|
+
delete item.id;
|
|
52
|
+
await documentReference.update(JSON.parse(JSON.stringify(item)));
|
|
53
|
+
item.id = id;
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
if (error && Object.keys(error) !== undefined && Object.keys(error).length > 0) {
|
|
57
|
+
(0, express_logging_1.Logger)().error(express_core_1.ErrorHelper.toErrorString(error, traceId ?? ''));
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
(0, express_logging_1.Logger)().warn(express_core_1.ErrorHelper.toErrorString(error, traceId ?? ''));
|
|
61
|
+
(0, express_logging_1.Logger)().warn(`Undefined Error on Uptate Entity on Firestore ` +
|
|
62
|
+
`${traceId !== undefined ? `. Trace: ${traceId}` : ''}`);
|
|
63
|
+
}
|
|
64
|
+
throw new express_error_handler_1.ErrorResponse(new express_error_1.InternalError(express_core_1.ErrorStatus.INTERNAL_SERVER_ERROR, `Oops! Error on uptate entity`, express_error_1.ErrorCode.INTERNAL_SERVER_ERROR_BASE));
|
|
65
|
+
}
|
|
66
|
+
return item;
|
|
67
|
+
}
|
|
68
|
+
async delete(id, traceId) {
|
|
69
|
+
try {
|
|
70
|
+
(0, express_logging_1.Logger)().info(`Delete by Id on Firestore by ${this.key} ${traceId !== undefined ? `. Trace: ${traceId}` : ''}`);
|
|
71
|
+
const collectionReference = this.firestore.collection(this.key);
|
|
72
|
+
const documentReference = collectionReference.doc(id);
|
|
73
|
+
if (documentReference !== undefined) {
|
|
74
|
+
await documentReference.delete();
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
if (error && Object.keys(error) !== undefined && Object.keys(error).length > 0) {
|
|
81
|
+
(0, express_logging_1.Logger)().error(express_core_1.ErrorHelper.toErrorString(error, traceId ?? ''));
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
(0, express_logging_1.Logger)().warn(express_core_1.ErrorHelper.toErrorString(error, traceId ?? ''));
|
|
85
|
+
(0, express_logging_1.Logger)().warn(`Undefined Error on Delete Entity on Firestore ` +
|
|
86
|
+
`${traceId !== undefined ? `. Trace: ${traceId}` : ''}`);
|
|
87
|
+
}
|
|
88
|
+
throw new express_error_handler_1.ErrorResponse(new express_error_1.InternalError(express_core_1.ErrorStatus.INTERNAL_SERVER_ERROR, `Oops! Error on delete entity`, express_error_1.ErrorCode.INTERNAL_SERVER_ERROR_BASE));
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
async findOne(id, filter, traceId) {
|
|
92
|
+
(0, express_logging_1.Logger)().info(`Get by Id on Filter on Firestore by ${this.key} ` +
|
|
93
|
+
`${traceId !== undefined ? `. Trace: ${traceId}` : ''}`);
|
|
94
|
+
try {
|
|
95
|
+
let collectionReference = this.firestore.collection(this.key);
|
|
96
|
+
collectionReference = express_core_1.Filter.setQueryFilter(collectionReference, filter, express_core_1.FilterType.FIRESTORE);
|
|
97
|
+
const documentReference = collectionReference.doc(id);
|
|
98
|
+
if (documentReference !== undefined) {
|
|
99
|
+
const response = await documentReference.get();
|
|
100
|
+
if (response !== undefined && response.exists) {
|
|
101
|
+
const entity = response.data();
|
|
102
|
+
entity.id = response.id;
|
|
103
|
+
return entity;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
if (error && Object.keys(error) !== undefined && Object.keys(error).length > 0) {
|
|
109
|
+
(0, express_logging_1.Logger)().error(express_core_1.ErrorHelper.toErrorString(error, traceId ?? ''));
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
(0, express_logging_1.Logger)().warn(express_core_1.ErrorHelper.toErrorString(error, traceId ?? ''));
|
|
113
|
+
(0, express_logging_1.Logger)().warn(`Undefined Error on Get By Id Entity on Firestore ` +
|
|
114
|
+
`${traceId !== undefined ? `. Trace: ${traceId}` : ''}`);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
throw new express_error_handler_1.ErrorResponse(new express_error_1.EntityError(express_core_1.ErrorStatus.NOT_FOUND, `Oops! You're trying to get an invalid data. Please check it and try again`, express_error_1.ErrorCode.NOT_FOUND_BASE, this.key, undefined));
|
|
118
|
+
}
|
|
119
|
+
async findBy(filter, order, page, pageCount, traceId) {
|
|
120
|
+
(0, express_logging_1.Logger)().info(`Get Entities List by Filter on Firestore by ${this.key} ` +
|
|
121
|
+
`${traceId !== undefined ? `. Trace: ${traceId}` : ''}`);
|
|
122
|
+
try {
|
|
123
|
+
let collectionReference = this.firestore.collection(this.key);
|
|
124
|
+
collectionReference = express_core_1.Filter.setQueryFilter(collectionReference, filter, express_core_1.FilterType.FIRESTORE);
|
|
125
|
+
collectionReference = express_core_1.Order.setQueryOrder(collectionReference, order, express_core_1.OrderType.FIRESTORE);
|
|
126
|
+
const count = await this.count(filter);
|
|
127
|
+
if (page !== undefined && pageCount !== undefined && page > 0 && pageCount > 0) {
|
|
128
|
+
collectionReference = collectionReference.limit(pageCount);
|
|
129
|
+
collectionReference = collectionReference.offset((page - 1) * pageCount);
|
|
130
|
+
}
|
|
131
|
+
const response = await collectionReference.get();
|
|
132
|
+
if (response !== undefined && response.size > 0) {
|
|
133
|
+
const list = [];
|
|
134
|
+
for (const item of response.docs) {
|
|
135
|
+
const entity = item.data();
|
|
136
|
+
entity.id = item.id;
|
|
137
|
+
list.push(entity);
|
|
138
|
+
}
|
|
139
|
+
return new express_core_1.BaseList(count, list);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
catch (error) {
|
|
143
|
+
if (error && Object.keys(error) !== undefined && Object.keys(error).length > 0) {
|
|
144
|
+
(0, express_logging_1.Logger)().error(express_core_1.ErrorHelper.toErrorString(error, traceId ?? ''));
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
(0, express_logging_1.Logger)().warn(express_core_1.ErrorHelper.toErrorString(error, traceId ?? ''));
|
|
148
|
+
(0, express_logging_1.Logger)().warn(`Undefined Error on Find By Entity on Firestore ` +
|
|
149
|
+
`${traceId !== undefined ? `. Trace: ${traceId}` : ''}`);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
return new express_core_1.BaseList(0, []);
|
|
153
|
+
}
|
|
154
|
+
async count(filter, traceId) {
|
|
155
|
+
(0, express_logging_1.Logger)().info(`Get Count element by ${this.key} ${traceId !== undefined ? `. Trace: ${traceId}` : ''}`);
|
|
156
|
+
let countQuery = this.firestore.collection(this.key);
|
|
157
|
+
countQuery = express_core_1.Filter.setQueryFilter(countQuery, filter, express_core_1.FilterType.FIRESTORE);
|
|
158
|
+
const countResponse = await countQuery.get();
|
|
159
|
+
const size = countResponse !== undefined && countResponse.size !== undefined ? countResponse.size : 0;
|
|
160
|
+
(0, express_logging_1.Logger)().info(`Count element: ${size} ${traceId !== undefined ? `. Trace: ${traceId}` : ''}`);
|
|
161
|
+
return size;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
exports.BaseFirestoreRepository = BaseFirestoreRepository;
|
|
165
|
+
//# sourceMappingURL=base.firestore.repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.firestore.repository.js","sourceRoot":"","sources":["../../src/repository/base.firestore.repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseList, Filter, Order } from '@creatioart-js/express-core';
|
|
2
|
+
export interface IRepository<T> {
|
|
3
|
+
create(item: T, traceId?: string): Promise<T>;
|
|
4
|
+
update(item: T, traceId?: string): Promise<T>;
|
|
5
|
+
delete(id: any, traceId?: string): Promise<boolean>;
|
|
6
|
+
findOne(id: any, filter: Filter[] | undefined, traceId?: string): Promise<T>;
|
|
7
|
+
findBy(filter: Filter[] | undefined, order: Order | undefined, page: number | 0, pageCount: number | 0, traceId?: string): Promise<BaseList<T>>;
|
|
8
|
+
count(filter: Filter[] | undefined, traceId?: string): Promise<number>;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iRepository.js","sourceRoot":"","sources":["../../../src/repository/interfaces/iRepository.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iRepository.manager.repository.js","sourceRoot":"","sources":["../../../src/repository/interfaces/iRepository.manager.repository.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
2
|
+
import { BaseEntity, BaseList, Filter, Order } from '@creatioart-js/express-core';
|
|
3
|
+
import { IBaseService } from './interfaces/ibase.service';
|
|
4
|
+
export declare abstract class BaseService<T extends BaseEntity<T>> implements IBaseService<T> {
|
|
5
|
+
protected entityName: string;
|
|
6
|
+
private repository;
|
|
7
|
+
constructor(repository: any, x: any);
|
|
8
|
+
findBy(filter: Filter[] | undefined, order: Order | undefined, page: number | 0, pageCount: number | 0, traceId: string): Promise<BaseList<T>>;
|
|
9
|
+
findOne(entityId: string, traceId: string): Promise<T | undefined>;
|
|
10
|
+
exist(filter: Filter[] | undefined, traceId: string): Promise<boolean>;
|
|
11
|
+
countBy(filter: Filter[] | undefined, traceId: string): Promise<number>;
|
|
12
|
+
create(entity: T, traceId: string): Promise<T>;
|
|
13
|
+
update(entity: T, traceId: string): Promise<T>;
|
|
14
|
+
delete(entityId: string, traceId: string): Promise<boolean>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseService = void 0;
|
|
4
|
+
require("reflect-metadata");
|
|
5
|
+
const express_core_1 = require("@creatioart-js/express-core");
|
|
6
|
+
const express_logging_1 = require("@creatioart-js/express-logging");
|
|
7
|
+
const express_error_1 = require("@creatioart-js/express-error");
|
|
8
|
+
const express_error_handler_1 = require("@creatioart-js/express-error-handler");
|
|
9
|
+
class BaseService {
|
|
10
|
+
entityName;
|
|
11
|
+
repository;
|
|
12
|
+
constructor(repository, x) {
|
|
13
|
+
this.entityName = x.Name;
|
|
14
|
+
this.repository = repository;
|
|
15
|
+
}
|
|
16
|
+
async findBy(filter, order, page, pageCount, traceId) {
|
|
17
|
+
(0, express_logging_1.Logger)().info(`Get ${this.entityName} by Filter: ${JSON.stringify(filter)}, Order: ${JSON.stringify(order)}, ` +
|
|
18
|
+
`Page: ${page}, Elements: ${pageCount}. Trace: ${traceId}`);
|
|
19
|
+
return await this.repository.findBy(filter, order, page, pageCount, traceId);
|
|
20
|
+
}
|
|
21
|
+
async findOne(entityId, traceId) {
|
|
22
|
+
try {
|
|
23
|
+
(0, express_logging_1.Logger)().info(`Get ${this.entityName} by ${entityId} id. Trace: ${traceId}`);
|
|
24
|
+
if (entityId !== undefined && entityId !== '') {
|
|
25
|
+
return await this.repository.findOne(entityId, [], traceId);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
catch (err) {
|
|
29
|
+
(0, express_logging_1.Logger)().error(express_core_1.ErrorHelper.toErrorString(err, traceId));
|
|
30
|
+
(0, express_logging_1.Logger)().error(`You're requesting a data that doesn't exist. Trace: ${traceId}`);
|
|
31
|
+
}
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
async exist(filter, traceId) {
|
|
35
|
+
try {
|
|
36
|
+
(0, express_logging_1.Logger)().info(`Check if any ${this.entityName} exist by filter: ${JSON.stringify(filter)}. Trace: ${traceId}`);
|
|
37
|
+
const count = await this.repository.count(filter, traceId);
|
|
38
|
+
return count > 0 ? true : false;
|
|
39
|
+
}
|
|
40
|
+
catch (err) {
|
|
41
|
+
(0, express_logging_1.Logger)().error(express_core_1.ErrorHelper.toErrorString(err, traceId));
|
|
42
|
+
(0, express_logging_1.Logger)().error(`Unhandler error in Database. Trace: ${traceId}`);
|
|
43
|
+
}
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
async countBy(filter, traceId) {
|
|
47
|
+
try {
|
|
48
|
+
(0, express_logging_1.Logger)().info(`Count the ${this.entityName} by filter: ${JSON.stringify(filter)}. Trace: ${traceId}`);
|
|
49
|
+
const count = await this.repository.count(filter, traceId);
|
|
50
|
+
return count > 0 ? count : 0;
|
|
51
|
+
}
|
|
52
|
+
catch (err) {
|
|
53
|
+
(0, express_logging_1.Logger)().error(express_core_1.ErrorHelper.toErrorString(err, traceId));
|
|
54
|
+
(0, express_logging_1.Logger)().error(`Unhandler error in Database. Trace: ${traceId}`);
|
|
55
|
+
}
|
|
56
|
+
return 0;
|
|
57
|
+
}
|
|
58
|
+
async create(entity, traceId) {
|
|
59
|
+
(0, express_logging_1.Logger)().info(`Create the ${this.entityName}: ${JSON.stringify(entity)}. Trace: ${traceId}`);
|
|
60
|
+
if (entity !== undefined) {
|
|
61
|
+
const validated = await entity.validate();
|
|
62
|
+
if (validated) {
|
|
63
|
+
(0, express_logging_1.Logger)().error(`${JSON.stringify(validated)}. Trace: ${traceId}`);
|
|
64
|
+
throw new express_error_handler_1.ErrorResponse(validated);
|
|
65
|
+
}
|
|
66
|
+
entity = await this.repository.create(entity, traceId);
|
|
67
|
+
if (entity !== undefined) {
|
|
68
|
+
return entity;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
throw new express_error_handler_1.ErrorResponse(new express_error_1.EntityError(express_core_1.ErrorStatus.NOT_FOUND, `${this.entityName} entity not found`, express_error_1.ErrorCode.NOT_FOUND_BASE, this.entityName, undefined));
|
|
73
|
+
}
|
|
74
|
+
throw new express_error_handler_1.ErrorResponse(new express_error_1.EntityError(express_core_1.ErrorStatus.BAD_REQUEST, `An error occurred while creating the ${this.entityName}`, express_error_1.ErrorCode.BAD_REQUEST_BASE, this.entityName, undefined));
|
|
75
|
+
}
|
|
76
|
+
async update(entity, traceId) {
|
|
77
|
+
(0, express_logging_1.Logger)().info(`Update ${this.entityName} ${JSON.stringify(entity)} by the ${entity.id} entityId. ` +
|
|
78
|
+
`Trace: ${traceId}`);
|
|
79
|
+
if (entity !== undefined) {
|
|
80
|
+
const validated = await entity.validate();
|
|
81
|
+
if (validated) {
|
|
82
|
+
(0, express_logging_1.Logger)().error(`${JSON.stringify(validated)}. Trace: ${traceId}`);
|
|
83
|
+
throw new express_error_handler_1.ErrorResponse(validated);
|
|
84
|
+
}
|
|
85
|
+
entity = await this.repository.update(entity, traceId);
|
|
86
|
+
if (entity !== undefined) {
|
|
87
|
+
return entity;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
throw new express_error_handler_1.ErrorResponse(new express_error_1.EntityError(express_core_1.ErrorStatus.NOT_FOUND, `${this.entityName} entity not found`, express_error_1.ErrorCode.NOT_FOUND_BASE, this.entityName, undefined));
|
|
92
|
+
}
|
|
93
|
+
throw new express_error_handler_1.ErrorResponse(new express_error_1.EntityError(express_core_1.ErrorStatus.BAD_REQUEST, `An error occurred while updating the ${this.entityName}`, express_error_1.ErrorCode.BAD_REQUEST_BASE, this.entityName, undefined));
|
|
94
|
+
}
|
|
95
|
+
async delete(entityId, traceId) {
|
|
96
|
+
(0, express_logging_1.Logger)().info(`Delete the ${this.entityName} by ${entityId} id. Trace: ${traceId}`);
|
|
97
|
+
let response = false;
|
|
98
|
+
try {
|
|
99
|
+
const entity = await this.findOne(entityId, traceId);
|
|
100
|
+
if (entity !== undefined) {
|
|
101
|
+
response = await this.repository.delete(entityId, traceId);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
catch (err) {
|
|
105
|
+
(0, express_logging_1.Logger)().error(express_core_1.ErrorHelper.toErrorString(err, traceId));
|
|
106
|
+
(0, express_logging_1.Logger)().error(`Some error ocurr while deleting the ${this.entityName} for the ${entityId} id. ` +
|
|
107
|
+
`Trace: ${traceId}`);
|
|
108
|
+
}
|
|
109
|
+
(0, express_logging_1.Logger)().info(`Delete ${this.entityName} for the ${entityId} id. Result Operation: ${response}. Trace: ${traceId}`);
|
|
110
|
+
return response;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
exports.BaseService = BaseService;
|
|
114
|
+
//# sourceMappingURL=base.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.service.js","sourceRoot":"","sources":["../../src/service/base.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
2
|
+
import { IBigQueryService } from './interfaces/ibig.query.service';
|
|
3
|
+
export declare class BigQueryService implements IBigQueryService {
|
|
4
|
+
insertRowInBigQuery(bigqueryClient: any, datasetName: string, schema: any, tableName: string, partitionConfig: any, row: any, traceId: string): Promise<boolean>;
|
|
5
|
+
insertMultipleRowsInBigQuery(bigqueryClient: any, datasetName: string, schema: any, tableName: string, partitionConfig: any, rows: any[], traceId: string): Promise<boolean>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BigQueryService = void 0;
|
|
4
|
+
require("reflect-metadata");
|
|
5
|
+
const express_core_1 = require("@creatioart-js/express-core");
|
|
6
|
+
const express_logging_1 = require("@creatioart-js/express-logging");
|
|
7
|
+
const express_error_1 = require("@creatioart-js/express-error");
|
|
8
|
+
const express_error_handler_1 = require("@creatioart-js/express-error-handler");
|
|
9
|
+
class BigQueryService {
|
|
10
|
+
async insertRowInBigQuery(bigqueryClient, datasetName, schema, tableName, partitionConfig, row, traceId) {
|
|
11
|
+
(0, express_logging_1.Logger)().info(`Save one Rows In Big Query. Trace: ${traceId}`);
|
|
12
|
+
let response = false;
|
|
13
|
+
const rows = [row];
|
|
14
|
+
const promise = new Promise((resolve, reject) => {
|
|
15
|
+
try {
|
|
16
|
+
(0, express_logging_1.Logger)().info(`Reference to ${datasetName} DataSet. Trace: ${traceId}`);
|
|
17
|
+
const datasetRef = bigqueryClient.dataset(datasetName);
|
|
18
|
+
datasetRef.get({ autoCreate: true }).then(function (data) {
|
|
19
|
+
const dataset = data[0];
|
|
20
|
+
(0, express_logging_1.Logger)().info(`Reference to ${tableName} Table. Trace: ${traceId}`);
|
|
21
|
+
const tableRef = dataset.table(tableName);
|
|
22
|
+
tableRef.exists(function (errExist, exists) {
|
|
23
|
+
if (errExist) {
|
|
24
|
+
(0, express_logging_1.Logger)().error(`Exist error: ${JSON.stringify(errExist)}. Trace: ${traceId}`);
|
|
25
|
+
}
|
|
26
|
+
if (exists) {
|
|
27
|
+
dataset.table(tableName).insert(rows).then(() => {
|
|
28
|
+
resolve({});
|
|
29
|
+
}).catch((inserError) => {
|
|
30
|
+
(0, express_logging_1.Logger)().error(express_core_1.ErrorHelper.toErrorString(inserError, traceId));
|
|
31
|
+
(0, express_logging_1.Logger)().error(`Exist table insert error: ${JSON.stringify(inserError)}. Trace: ${traceId}`);
|
|
32
|
+
reject(new Error());
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
(0, express_logging_1.Logger)().info(`Create a new table ${datasetName} table. Trace: ${traceId}`);
|
|
37
|
+
const options = {
|
|
38
|
+
schema,
|
|
39
|
+
};
|
|
40
|
+
if (partitionConfig !== undefined) {
|
|
41
|
+
(0, express_logging_1.Logger)().info('Set Partition Table');
|
|
42
|
+
options.timePartitioning = {
|
|
43
|
+
expirationMs: partitionConfig.expirationMs,
|
|
44
|
+
field: partitionConfig.field,
|
|
45
|
+
requirePartitionFilter: partitionConfig.requirePartitionFilter,
|
|
46
|
+
type: 'DAY'
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
dataset.createTable(tableName, options).then(function () {
|
|
50
|
+
dataset.table(tableName).insert(rows).then(() => {
|
|
51
|
+
resolve({});
|
|
52
|
+
}).catch((err) => {
|
|
53
|
+
(0, express_logging_1.Logger)().error(express_core_1.ErrorHelper.toErrorString(err, traceId));
|
|
54
|
+
(0, express_logging_1.Logger)().error(`Insert in a new table error: ${JSON.stringify(err)}. Trace: ${traceId}`);
|
|
55
|
+
reject(new Error());
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
})
|
|
61
|
+
.catch((datasetError) => {
|
|
62
|
+
(0, express_logging_1.Logger)().error(express_core_1.ErrorHelper.toErrorString(datasetError, traceId));
|
|
63
|
+
(0, express_logging_1.Logger)().error(`DataSet Error: ${JSON.stringify(datasetError)}. Trace: ${traceId}`);
|
|
64
|
+
if (datasetError.code === 403) {
|
|
65
|
+
resolve({
|
|
66
|
+
googleCode: datasetError.code,
|
|
67
|
+
googleError: datasetError.message !== undefined ? datasetError.message : 'unspecified'
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
reject(new Error());
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
(0, express_logging_1.Logger)().error(express_core_1.ErrorHelper.toErrorString(error, traceId));
|
|
77
|
+
(0, express_logging_1.Logger)().error(`Promise error: ${JSON.stringify(error)}. Trace: ${traceId}`);
|
|
78
|
+
reject(new Error());
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
await promise.then((promiseResponse) => {
|
|
82
|
+
if (promiseResponse.googleCode !== undefined) {
|
|
83
|
+
throw new express_error_handler_1.ErrorResponse(new express_error_1.InternalError(express_core_1.ErrorStatus.BAD_REQUEST, `An error occurred while creating a new item in BigQuery for ${datasetName} dataset and ${tableName} ` +
|
|
84
|
+
`table. Google API. Code: ${promiseResponse.googleCode}. Google API response: ${promiseResponse.googleError}`, express_error_1.ErrorCode.BAD_REQUEST_CLOUD_PROCESSING_ERROR));
|
|
85
|
+
}
|
|
86
|
+
response = true;
|
|
87
|
+
}, () => {
|
|
88
|
+
response = false;
|
|
89
|
+
});
|
|
90
|
+
await promise.catch(errorCatch => {
|
|
91
|
+
(0, express_logging_1.Logger)().error(express_core_1.ErrorHelper.toErrorString(errorCatch, traceId));
|
|
92
|
+
response = false;
|
|
93
|
+
});
|
|
94
|
+
return response;
|
|
95
|
+
}
|
|
96
|
+
async insertMultipleRowsInBigQuery(bigqueryClient, datasetName, schema, tableName, partitionConfig, rows, traceId) {
|
|
97
|
+
(0, express_logging_1.Logger)().info(`Save ${rows.length} Rows In Big Query. Trace: ${traceId}`);
|
|
98
|
+
let response = false;
|
|
99
|
+
const promise = new Promise((resolve, reject) => {
|
|
100
|
+
try {
|
|
101
|
+
(0, express_logging_1.Logger)().info(`Reference to ${datasetName} DataSet. Trace: ${traceId}`);
|
|
102
|
+
const datasetRef = bigqueryClient.dataset(datasetName);
|
|
103
|
+
datasetRef.get({ autoCreate: true }).then(function (data) {
|
|
104
|
+
const dataset = data[0];
|
|
105
|
+
(0, express_logging_1.Logger)().info(`Reference to ${tableName} Table. Trace: ${traceId}`);
|
|
106
|
+
const tableRef = dataset.table(tableName);
|
|
107
|
+
tableRef.exists(function (errExist, exists) {
|
|
108
|
+
if (errExist) {
|
|
109
|
+
(0, express_logging_1.Logger)().error(`Exist error: ${JSON.stringify(errExist)}. Trace: ${traceId}`);
|
|
110
|
+
}
|
|
111
|
+
if (exists) {
|
|
112
|
+
dataset.table(tableName).insert(rows).then(() => {
|
|
113
|
+
resolve({});
|
|
114
|
+
}).catch((inserError) => {
|
|
115
|
+
(0, express_logging_1.Logger)().error(express_core_1.ErrorHelper.toErrorString(inserError, traceId));
|
|
116
|
+
(0, express_logging_1.Logger)().error(`Exist table insert error: ${JSON.stringify(inserError)}. Trace: ${traceId}`);
|
|
117
|
+
reject(new Error());
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
(0, express_logging_1.Logger)().info(`Create a new table ${datasetName} table. Trace: ${traceId}`);
|
|
122
|
+
const options = {
|
|
123
|
+
schema,
|
|
124
|
+
};
|
|
125
|
+
if (partitionConfig !== undefined) {
|
|
126
|
+
(0, express_logging_1.Logger)().info('Set Partition Table');
|
|
127
|
+
options.timePartitioning = {
|
|
128
|
+
expirationMs: partitionConfig.expirationMs,
|
|
129
|
+
field: partitionConfig.field,
|
|
130
|
+
requirePartitionFilter: partitionConfig.requirePartitionFilter,
|
|
131
|
+
type: 'DAY'
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
dataset.createTable(tableName, options).then(function () {
|
|
135
|
+
dataset.table(tableName).insert(rows).then(() => {
|
|
136
|
+
resolve({});
|
|
137
|
+
}).catch((err) => {
|
|
138
|
+
(0, express_logging_1.Logger)().error(express_core_1.ErrorHelper.toErrorString(err, traceId));
|
|
139
|
+
(0, express_logging_1.Logger)().error(`Insert in a new table error: ${JSON.stringify(err)}. Trace: ${traceId}`);
|
|
140
|
+
reject(new Error());
|
|
141
|
+
});
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
})
|
|
146
|
+
.catch((datasetError) => {
|
|
147
|
+
(0, express_logging_1.Logger)().error(express_core_1.ErrorHelper.toErrorString(datasetError, traceId));
|
|
148
|
+
(0, express_logging_1.Logger)().error(`DataSet Error: ${JSON.stringify(datasetError)}. Trace: ${traceId}`);
|
|
149
|
+
if (datasetError.code === 403) {
|
|
150
|
+
resolve({
|
|
151
|
+
googleCode: datasetError.code,
|
|
152
|
+
googleError: datasetError.message !== undefined ? datasetError.message : 'unspecified'
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
reject(new Error());
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
catch (error) {
|
|
161
|
+
(0, express_logging_1.Logger)().error(express_core_1.ErrorHelper.toErrorString(error, traceId));
|
|
162
|
+
(0, express_logging_1.Logger)().error(`Promise error: ${JSON.stringify(error)}. Trace: ${traceId}`);
|
|
163
|
+
reject(new Error());
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
await promise.then((promiseResponse) => {
|
|
167
|
+
if (promiseResponse.googleCode !== undefined) {
|
|
168
|
+
throw new express_error_handler_1.ErrorResponse(new express_error_1.InternalError(express_core_1.ErrorStatus.BAD_REQUEST, `An error occurred while creating a new item in BigQuery for ${datasetName} dataset and ${tableName} ` +
|
|
169
|
+
`table. Google API Code: ${promiseResponse.googleCode}. Google API response: ${promiseResponse.googleError}`, express_error_1.ErrorCode.BAD_REQUEST_CLOUD_PROCESSING_ERROR));
|
|
170
|
+
}
|
|
171
|
+
response = true;
|
|
172
|
+
}, () => {
|
|
173
|
+
response = false;
|
|
174
|
+
});
|
|
175
|
+
await promise.catch(errorCatch => {
|
|
176
|
+
(0, express_logging_1.Logger)().error(express_core_1.ErrorHelper.toErrorString(errorCatch, traceId));
|
|
177
|
+
response = false;
|
|
178
|
+
});
|
|
179
|
+
return response;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
exports.BigQueryService = BigQueryService;
|
|
183
|
+
//# sourceMappingURL=big.query.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"big.query.service.js","sourceRoot":"","sources":["../../src/service/big.query.service.ts"],"names":[],"mappings":";;;AAAA,4BAA0B;AAE1B,8DAAqE;AACrE,oEAAsD;AACtD,gEAAsE;AAEtE,gFAAmE;AAKnE,MAAa,eAAe;IAanB,KAAK,CAAC,mBAAmB,CAAC,cAAmB,EAAE,WAAmB,EAAE,MAAW,EAAE,SAAiB,EACvE,eAAoB,EAAE,GAAQ,EAAE,OAAe;QAC/E,IAAA,wBAAM,GAAE,CAAC,IAAI,CAAC,sCAAsC,OAAO,EAAE,CAAC,CAAC;QAC/D,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAEnB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,IAAI,CAAC;gBACH,IAAA,wBAAM,GAAE,CAAC,IAAI,CAAC,gBAAgB,WAAW,oBAAoB,OAAO,EAAE,CAAC,CAAC;gBACxE,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBACvD,UAAU,CAAC,GAAG,CAAC,EAAC,UAAU,EAAE,IAAI,EAAC,CAAC,CAAC,IAAI,CAAC,UAAU,IAAS;oBACzD,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBACxB,IAAA,wBAAM,GAAE,CAAC,IAAI,CAAC,gBAAgB,SAAS,kBAAkB,OAAO,EAAE,CAAC,CAAC;oBACpE,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;oBAE1C,QAAQ,CAAC,MAAM,CAAC,UAAU,QAAa,EAAE,MAAW;wBAElD,IAAI,QAAQ,EAAE,CAAC;4BACb,IAAA,wBAAM,GAAE,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;wBAChF,CAAC;wBACD,IAAI,MAAM,EAAE,CAAC;4BACX,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gCAE9C,OAAO,CAAC,EAAE,CAAC,CAAC;4BACd,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAe,EAAE,EAAE;gCAC3B,IAAA,wBAAM,GAAE,CAAC,KAAK,CAAC,0BAAW,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;gCAC/D,IAAA,wBAAM,GAAE,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;gCAE7F,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;4BACtB,CAAC,CAAC,CAAC;wBACL,CAAC;6BAAM,CAAC;4BAEN,IAAA,wBAAM,GAAE,CAAC,IAAI,CAAC,sBAAsB,WAAW,kBAAkB,OAAO,EAAE,CAAC,CAAC;4BAC5E,MAAM,OAAO,GAAQ;gCACnB,MAAM;6BACP,CAAC;4BACF,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gCAClC,IAAA,wBAAM,GAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gCACrC,OAAO,CAAC,gBAAgB,GAAG;oCACzB,YAAY,EAAE,eAAe,CAAC,YAAY;oCAC1C,KAAK,EAAE,eAAe,CAAC,KAAK;oCAC5B,sBAAsB,EAAE,eAAe,CAAC,sBAAsB;oCAC9D,IAAI,EAAE,KAAK;iCACZ,CAAC;4BACJ,CAAC;4BACD,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;gCAC3C,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;oCAE9C,OAAO,CAAC,EAAE,CAAC,CAAC;gCACd,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE;oCACpB,IAAA,wBAAM,GAAE,CAAC,KAAK,CAAC,0BAAW,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;oCACxD,IAAA,wBAAM,GAAE,CAAC,KAAK,CAAC,gCAAgC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;oCAEzF,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;gCACtB,CAAC,CAAC,CAAC;4BACL,CAAC,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,YAAiB,EAAE,EAAE;oBAC3B,IAAA,wBAAM,GAAE,CAAC,KAAK,CAAC,0BAAW,CAAC,aAAa,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;oBACjE,IAAA,wBAAM,GAAE,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;oBACpF,IAAI,YAAY,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;wBAE9B,OAAO,CAAC;4BACN,UAAU,EAAE,YAAY,CAAC,IAAI;4BAC7B,WAAW,EAAE,YAAY,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa;yBACvF,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBAEN,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;oBACtB,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,IAAA,wBAAM,GAAE,CAAC,KAAK,CAAC,0BAAW,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC1D,IAAA,wBAAM,GAAE,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;gBAE7E,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;YACtB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,eAAoB,EAAE,EAAE;YAC1C,IAAI,eAAe,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAE7C,MAAM,IAAI,qCAAa,CAAC,IAAI,6BAAa,CAAC,0BAAW,CAAC,WAAW,EAC/D,+DAA+D,WAAW,gBAAgB,SAAS,GAAG;oBACtG,4BAA4B,eAAe,CAAC,UAAU,0BAA0B,eAAe,CAAC,WAAW,EAAE,EAC7G,yBAAS,CAAC,kCAAkC,CAAC,CAAC,CAAC;YACnD,CAAC;YACD,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC,EACD,GAAG,EAAE;YACH,QAAQ,GAAG,KAAK,CAAC;QACnB,CAAC,CACA,CAAC;QACF,MAAM,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;YAC/B,IAAA,wBAAM,GAAE,CAAC,KAAK,CAAC,0BAAW,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/D,QAAQ,GAAG,KAAK,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAaM,KAAK,CAAC,4BAA4B,CAAC,cAAmB,EAAE,WAAmB,EAAE,MAAW,EAAE,SAAiB,EACxE,eAAoB,EAAE,IAAY,EAAE,OAAe;QAC3F,IAAA,wBAAM,GAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,8BAA8B,OAAO,EAAE,CAAC,CAAC;QAC1E,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,IAAI,CAAC;gBACH,IAAA,wBAAM,GAAE,CAAC,IAAI,CAAC,gBAAgB,WAAW,oBAAoB,OAAO,EAAE,CAAC,CAAC;gBACxE,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBACvD,UAAU,CAAC,GAAG,CAAC,EAAC,UAAU,EAAE,IAAI,EAAC,CAAC,CAAC,IAAI,CAAC,UAAU,IAAS;oBACzD,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBACxB,IAAA,wBAAM,GAAE,CAAC,IAAI,CAAC,gBAAgB,SAAS,kBAAkB,OAAO,EAAE,CAAC,CAAC;oBACpE,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;oBAE1C,QAAQ,CAAC,MAAM,CAAC,UAAU,QAAa,EAAE,MAAW;wBAElD,IAAI,QAAQ,EAAE,CAAC;4BACb,IAAA,wBAAM,GAAE,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;wBAChF,CAAC;wBACD,IAAI,MAAM,EAAE,CAAC;4BACX,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gCAE9C,OAAO,CAAC,EAAE,CAAC,CAAC;4BACd,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAe,EAAE,EAAE;gCAC3B,IAAA,wBAAM,GAAE,CAAC,KAAK,CAAC,0BAAW,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;gCAC/D,IAAA,wBAAM,GAAE,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;gCAE7F,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;4BACtB,CAAC,CAAC,CAAC;wBACL,CAAC;6BAAM,CAAC;4BAEN,IAAA,wBAAM,GAAE,CAAC,IAAI,CAAC,sBAAsB,WAAW,kBAAkB,OAAO,EAAE,CAAC,CAAC;4BAC5E,MAAM,OAAO,GAAQ;gCACnB,MAAM;6BACP,CAAC;4BACF,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gCAClC,IAAA,wBAAM,GAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gCACrC,OAAO,CAAC,gBAAgB,GAAG;oCACzB,YAAY,EAAE,eAAe,CAAC,YAAY;oCAC1C,KAAK,EAAE,eAAe,CAAC,KAAK;oCAC5B,sBAAsB,EAAE,eAAe,CAAC,sBAAsB;oCAC9D,IAAI,EAAE,KAAK;iCACZ,CAAC;4BACJ,CAAC;4BACD,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;gCAC3C,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;oCAE9C,OAAO,CAAC,EAAE,CAAC,CAAC;gCACd,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE;oCACpB,IAAA,wBAAM,GAAE,CAAC,KAAK,CAAC,0BAAW,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;oCACxD,IAAA,wBAAM,GAAE,CAAC,KAAK,CAAC,gCAAgC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;oCAEzF,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;gCACtB,CAAC,CAAC,CAAC;4BACL,CAAC,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,YAAiB,EAAE,EAAE;oBAC3B,IAAA,wBAAM,GAAE,CAAC,KAAK,CAAC,0BAAW,CAAC,aAAa,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;oBACjE,IAAA,wBAAM,GAAE,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;oBACpF,IAAI,YAAY,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;wBAE9B,OAAO,CAAC;4BACN,UAAU,EAAE,YAAY,CAAC,IAAI;4BAC7B,WAAW,EAAE,YAAY,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa;yBACvF,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBAEN,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;oBACtB,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,IAAA,wBAAM,GAAE,CAAC,KAAK,CAAC,0BAAW,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC1D,IAAA,wBAAM,GAAE,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;gBAE7E,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;YACtB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,eAAoB,EAAE,EAAE;YAC1C,IAAI,eAAe,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAE7C,MAAM,IAAI,qCAAa,CAAC,IAAI,6BAAa,CAAC,0BAAW,CAAC,WAAW,EAC/D,+DAA+D,WAAW,gBAAgB,SAAS,GAAG;oBACtG,2BAA2B,eAAe,CAAC,UAAU,0BAA0B,eAAe,CAAC,WAAW,EAAE,EAC5G,yBAAS,CAAC,kCAAkC,CAAC,CAAC,CAAC;YACnD,CAAC;YACD,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC,EACD,GAAG,EAAE;YACH,QAAQ,GAAG,KAAK,CAAC;QACnB,CAAC,CACA,CAAC;QACF,MAAM,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;YAC/B,IAAA,wBAAM,GAAE,CAAC,KAAK,CAAC,0BAAW,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/D,QAAQ,GAAG,KAAK,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAlOD,0CAkOC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { BaseList, Filter, Order } from '@creatioart-js/express-core';
|
|
2
|
+
export interface IBaseService<T> {
|
|
3
|
+
findBy(filter: Filter[] | undefined, order: Order | undefined, page: number | 0, pageCount: number | 0, traceId: string): Promise<BaseList<T>>;
|
|
4
|
+
findOne(entityId: string, traceId: string): Promise<T | undefined>;
|
|
5
|
+
exist(filter: Filter[] | undefined, traceId: string): Promise<boolean>;
|
|
6
|
+
countBy(filter: Filter[] | undefined, traceId: string): Promise<number>;
|
|
7
|
+
create(entity: T, traceId: string): Promise<T>;
|
|
8
|
+
update(entity: T, traceId: string): Promise<T>;
|
|
9
|
+
delete(entityId: string, traceId: string): Promise<boolean>;
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ibase.service.js","sourceRoot":"","sources":["../../../src/service/interfaces/ibase.service.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export interface IBigQueryService {
|
|
2
|
+
insertRowInBigQuery(bigqueryClient: any, datasetName: string, schema: any, tableName: string, partitionConfig: any, row: any, traceId: string): Promise<boolean>;
|
|
3
|
+
insertMultipleRowsInBigQuery(bigqueryClient: any, datasetName: string, schema: any, tableName: string, partitionConfig: any, rows: any[], traceId: string): Promise<boolean>;
|
|
4
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ibig.query.service.js","sourceRoot":"","sources":["../../../src/service/interfaces/ibig.query.service.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { RedisClientType } from 'redis';
|
|
2
|
+
export interface IRedisCacheService {
|
|
3
|
+
getElement(key: string, traceId: string): Promise<any>;
|
|
4
|
+
setElement(key: string, data: any, timeSeg: number, traceId: string): Promise<void>;
|
|
5
|
+
removeElement(key: string, traceId: string): Promise<void>;
|
|
6
|
+
disconnect(client: RedisClientType<any> | undefined, traceId: string): Promise<void>;
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iredis.cache.service.js","sourceRoot":"","sources":["../../../src/service/interfaces/iredis.cache.service.ts"],"names":[],"mappings":""}
|