@node-c/data-clickhouse 1.0.0-alpha62

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.
Files changed (62) hide show
  1. package/LICENSE +1 -0
  2. package/README.md +4 -0
  3. package/dist/common/definitions/common.constants.d.ts +4 -0
  4. package/dist/common/definitions/common.constants.js +9 -0
  5. package/dist/common/definitions/common.constants.js.map +1 -0
  6. package/dist/common/definitions/index.d.ts +1 -0
  7. package/dist/common/definitions/index.js +18 -0
  8. package/dist/common/definitions/index.js.map +1 -0
  9. package/dist/connectionModule/clickhouse.connection.module.d.ts +5 -0
  10. package/dist/connectionModule/clickhouse.connection.module.definitions.d.ts +3 -0
  11. package/dist/connectionModule/clickhouse.connection.module.definitions.js +3 -0
  12. package/dist/connectionModule/clickhouse.connection.module.definitions.js.map +1 -0
  13. package/dist/connectionModule/clickhouse.connection.module.js +72 -0
  14. package/dist/connectionModule/clickhouse.connection.module.js.map +1 -0
  15. package/dist/connectionModule/index.d.ts +2 -0
  16. package/dist/connectionModule/index.js +19 -0
  17. package/dist/connectionModule/index.js.map +1 -0
  18. package/dist/entityManager/clickhouse.entity.manager.d.ts +16 -0
  19. package/dist/entityManager/clickhouse.entity.manager.js +71 -0
  20. package/dist/entityManager/clickhouse.entity.manager.js.map +1 -0
  21. package/dist/entityManager/index.d.ts +1 -0
  22. package/dist/entityManager/index.js +18 -0
  23. package/dist/entityManager/index.js.map +1 -0
  24. package/dist/entityService/clickhouse.entity.service.d.ts +11 -0
  25. package/dist/entityService/clickhouse.entity.service.js +16 -0
  26. package/dist/entityService/clickhouse.entity.service.js.map +1 -0
  27. package/dist/entityService/index.d.ts +1 -0
  28. package/dist/entityService/index.js +18 -0
  29. package/dist/entityService/index.js.map +1 -0
  30. package/dist/index.d.ts +7 -0
  31. package/dist/index.js +24 -0
  32. package/dist/index.js.map +1 -0
  33. package/dist/module/clickhouse.module.d.ts +5 -0
  34. package/dist/module/clickhouse.module.definitions.d.ts +16 -0
  35. package/dist/module/clickhouse.module.definitions.js +3 -0
  36. package/dist/module/clickhouse.module.definitions.js.map +1 -0
  37. package/dist/module/clickhouse.module.js +32 -0
  38. package/dist/module/clickhouse.module.js.map +1 -0
  39. package/dist/module/index.d.ts +2 -0
  40. package/dist/module/index.js +19 -0
  41. package/dist/module/index.js.map +1 -0
  42. package/dist/ormQueryBuilder/clickhouse.selectQueryBuilder.d.ts +34 -0
  43. package/dist/ormQueryBuilder/clickhouse.selectQueryBuilder.js +139 -0
  44. package/dist/ormQueryBuilder/clickhouse.selectQueryBuilder.js.map +1 -0
  45. package/dist/ormQueryBuilder/index.d.ts +1 -0
  46. package/dist/ormQueryBuilder/index.js +18 -0
  47. package/dist/ormQueryBuilder/index.js.map +1 -0
  48. package/dist/repository/clickhouse.repository.d.ts +18 -0
  49. package/dist/repository/clickhouse.repository.definitions.d.ts +35 -0
  50. package/dist/repository/clickhouse.repository.definitions.js +16 -0
  51. package/dist/repository/clickhouse.repository.definitions.js.map +1 -0
  52. package/dist/repository/clickhouse.repository.js +50 -0
  53. package/dist/repository/clickhouse.repository.js.map +1 -0
  54. package/dist/repository/clickhouse.repository.module.d.ts +6 -0
  55. package/dist/repository/clickhouse.repository.module.js +63 -0
  56. package/dist/repository/clickhouse.repository.module.js.map +1 -0
  57. package/dist/repository/index.d.ts +3 -0
  58. package/dist/repository/index.js +20 -0
  59. package/dist/repository/index.js.map +1 -0
  60. package/package.json +26 -0
  61. package/tsconfig.build.json +9 -0
  62. package/tsconfig.json +9 -0
package/LICENSE ADDED
@@ -0,0 +1 @@
1
+ MIT
package/README.md ADDED
@@ -0,0 +1,4 @@
1
+ # Node-C / Data: RDB
2
+ This is Node-C's package providing the functionality for working with ClickHouse.
3
+
4
+ The documentation can be found on the [Node-C Github repo homepage](https://github.com/RazorDude/node-c).
@@ -0,0 +1,4 @@
1
+ export declare enum Constants {
2
+ CLICKHOUSE_CLIENT = "CLICKHOUSE_CLIENT",
3
+ CLICKHOUSE_CLIENT_PREFIX = "CLICKHOUSE_CLIENT_"
4
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Constants = void 0;
4
+ var Constants;
5
+ (function (Constants) {
6
+ Constants["CLICKHOUSE_CLIENT"] = "CLICKHOUSE_CLIENT";
7
+ Constants["CLICKHOUSE_CLIENT_PREFIX"] = "CLICKHOUSE_CLIENT_";
8
+ })(Constants || (exports.Constants = Constants = {}));
9
+ //# sourceMappingURL=common.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.constants.js","sourceRoot":"","sources":["../../../src/common/definitions/common.constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAKX;AALD,WAAY,SAAS;IAEnB,oDAAuC,CAAA;IAEvC,4DAA+C,CAAA;AACjD,CAAC,EALW,SAAS,yBAAT,SAAS,QAKpB"}
@@ -0,0 +1 @@
1
+ export * from './common.constants';
@@ -0,0 +1,18 @@
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("./common.constants"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/definitions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC"}
@@ -0,0 +1,5 @@
1
+ import { DynamicModule } from '@nestjs/common';
2
+ import { ClickHouseConnectionModuleOptions } from './clickhouse.connection.module.definitions';
3
+ export declare class ClickHouseConnectionModule {
4
+ static register(options: ClickHouseConnectionModuleOptions): DynamicModule;
5
+ }
@@ -0,0 +1,3 @@
1
+ export interface ClickHouseConnectionModuleOptions {
2
+ dataModuleName: string;
3
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=clickhouse.connection.module.definitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clickhouse.connection.module.definitions.js","sourceRoot":"","sources":["../../src/connectionModule/clickhouse.connection.module.definitions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ClickHouseConnectionModule = void 0;
13
+ const client_1 = require("@clickhouse/client");
14
+ const core_1 = require("@node-c/core");
15
+ const definitions_1 = require("../common/definitions");
16
+ class ClickHouseConnectionModule {
17
+ static register(options) {
18
+ const { dataModuleName } = options;
19
+ const clientName = `${definitions_1.Constants.CLICKHOUSE_CLIENT_PREFIX}${dataModuleName}`;
20
+ return {
21
+ global: true,
22
+ module: ClickHouseConnectionModule,
23
+ imports: [],
24
+ providers: [
25
+ {
26
+ provide: clientName,
27
+ useFactory: (configProvider) => __awaiter(this, void 0, void 0, function* () {
28
+ const dataConfig = configProvider.config.data;
29
+ const { application, database, failOnConnectionError = true, host, password, port, protocol, requestTimeout, useHostParam, user } = dataConfig[dataModuleName];
30
+ const connectionOptions = {
31
+ database,
32
+ password,
33
+ username: user
34
+ };
35
+ const url = `${protocol || 'http'}://${host}:${port}`;
36
+ let client;
37
+ if (application) {
38
+ connectionOptions.application = application;
39
+ }
40
+ if (requestTimeout) {
41
+ connectionOptions.request_timeout = requestTimeout;
42
+ }
43
+ if (useHostParam) {
44
+ connectionOptions.host = url;
45
+ }
46
+ else {
47
+ connectionOptions.url = url;
48
+ }
49
+ try {
50
+ client = (0, client_1.createClient)(connectionOptions);
51
+ const pingResult = yield client.ping({ select: true });
52
+ if (!pingResult.success) {
53
+ throw new Error(JSON.stringify(pingResult));
54
+ }
55
+ }
56
+ catch (err) {
57
+ console.error(`[ClickHouseConnectionModule][${dataModuleName}]: Error connecting to ClickHouse:`, err);
58
+ if (failOnConnectionError) {
59
+ throw err;
60
+ }
61
+ }
62
+ return client;
63
+ }),
64
+ inject: [core_1.ConfigProviderService]
65
+ }
66
+ ],
67
+ exports: [clientName]
68
+ };
69
+ }
70
+ }
71
+ exports.ClickHouseConnectionModule = ClickHouseConnectionModule;
72
+ //# sourceMappingURL=clickhouse.connection.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clickhouse.connection.module.js","sourceRoot":"","sources":["../../src/connectionModule/clickhouse.connection.module.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAAoE;AAIpE,uCAAuE;AAIvE,uDAAkD;AAElD,MAAa,0BAA0B;IACrC,MAAM,CAAC,QAAQ,CAAC,OAA0C;QACxD,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;QACnC,MAAM,UAAU,GAAG,GAAG,uBAAS,CAAC,wBAAwB,GAAG,cAAc,EAAE,CAAC;QAC5E,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,0BAA0B;YAClC,OAAO,EAAE,EAAE;YACX,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,UAAU;oBACnB,UAAU,EAAE,CAAO,cAAqC,EAAE,EAAE;wBAC1D,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC;wBAC9C,MAAM,EACJ,WAAW,EACX,QAAQ,EACR,qBAAqB,GAAG,IAAI,EAC5B,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,IAAI,EACL,GAAG,UAAU,CAAC,cAAyC,CAAqB,CAAC;wBAC9E,MAAM,iBAAiB,GAAsC;4BAC3D,QAAQ;4BACR,QAAQ;4BACR,QAAQ,EAAE,IAAI;yBACf,CAAC;wBACF,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;wBACtD,IAAI,MAAwB,CAAC;wBAC7B,IAAI,WAAW,EAAE,CAAC;4BAChB,iBAAiB,CAAC,WAAW,GAAG,WAAW,CAAC;wBAC9C,CAAC;wBACD,IAAI,cAAc,EAAE,CAAC;4BACnB,iBAAiB,CAAC,eAAe,GAAG,cAAc,CAAC;wBACrD,CAAC;wBACD,IAAI,YAAY,EAAE,CAAC;4BACjB,iBAAiB,CAAC,IAAI,GAAG,GAAG,CAAC;wBAC/B,CAAC;6BAAM,CAAC;4BACN,iBAAiB,CAAC,GAAG,GAAG,GAAG,CAAC;wBAC9B,CAAC;wBACD,IAAI,CAAC;4BACH,MAAM,GAAG,IAAA,qBAAY,EAAC,iBAAiB,CAAC,CAAC;4BACzC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;4BACvD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gCACxB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;4BAC9C,CAAC;wBACH,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,OAAO,CAAC,KAAK,CAAC,gCAAgC,cAAc,oCAAoC,EAAE,GAAG,CAAC,CAAC;4BACvG,IAAI,qBAAqB,EAAE,CAAC;gCAC1B,MAAM,GAAG,CAAC;4BACZ,CAAC;wBACH,CAAC;wBACD,OAAO,MAAO,CAAC;oBACjB,CAAC,CAAA;oBACD,MAAM,EAAE,CAAC,4BAAqB,CAAC;iBAChC;aACF;YACD,OAAO,EAAE,CAAC,UAAU,CAAC;SACtB,CAAC;IACJ,CAAC;CACF;AA/DD,gEA+DC"}
@@ -0,0 +1,2 @@
1
+ export * from './clickhouse.connection.module.definitions';
2
+ export * from './clickhouse.connection.module';
@@ -0,0 +1,19 @@
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("./clickhouse.connection.module.definitions"), exports);
18
+ __exportStar(require("./clickhouse.connection.module"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/connectionModule/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6EAA2D;AAC3D,iEAA+C"}
@@ -0,0 +1,16 @@
1
+ import { ClickHouseClient } from '@clickhouse/client';
2
+ import { GenericObject } from '@node-c/core';
3
+ import { RDBEntityManager, RDBRepository } from '@node-c/data-rdb';
4
+ export declare class ClickHouseEntityManager implements RDBEntityManager {
5
+ protected client: ClickHouseClient;
6
+ protected repository: RDBRepository<GenericObject<unknown>>;
7
+ constructor(client: ClickHouseClient, repository: RDBRepository<GenericObject<unknown>>);
8
+ getRepository<Entity extends GenericObject<unknown>>(_target: string): RDBRepository<Entity>;
9
+ insert(data: Record<string, unknown>[]): Promise<unknown>;
10
+ query<ReturnData = unknown>(query: string, params?: {
11
+ field: string;
12
+ value: string | number;
13
+ }[]): Promise<ReturnData>;
14
+ save<Entity extends GenericObject<unknown> = GenericObject<unknown>>(_target: unknown, data: Partial<Entity> | Partial<Entity[]>, options?: unknown): Promise<unknown>;
15
+ transaction(callback: (_em: ClickHouseEntityManager) => Promise<unknown>): Promise<unknown>;
16
+ }
@@ -0,0 +1,71 @@
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
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
+ return new (P || (P = Promise))(function (resolve, reject) {
17
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
21
+ });
22
+ };
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.ClickHouseEntityManager = void 0;
25
+ const client_1 = require("@clickhouse/client");
26
+ const common_1 = require("@nestjs/common");
27
+ const data_rdb_1 = require("@node-c/data-rdb");
28
+ const definitions_1 = require("../common/definitions");
29
+ let ClickHouseEntityManager = class ClickHouseEntityManager {
30
+ constructor(client, repository) {
31
+ this.client = client;
32
+ this.repository = repository;
33
+ }
34
+ getRepository(_target) {
35
+ return this.repository;
36
+ }
37
+ insert(data) {
38
+ return this.client.insert({
39
+ format: 'JSONEachRow',
40
+ table: this.repository.metadata.tableName,
41
+ values: data
42
+ });
43
+ }
44
+ query(query, params) {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ let queryParams = undefined;
47
+ if (params === null || params === void 0 ? void 0 : params.length) {
48
+ queryParams = {};
49
+ params.forEach(item => (queryParams[item.field] = item.value));
50
+ }
51
+ const results = yield this.client.query({ format: 'JSON', query, query_params: queryParams });
52
+ const jsonData = yield results.json();
53
+ return jsonData;
54
+ });
55
+ }
56
+ save(_target, data, options) {
57
+ return this.repository.save(data, options);
58
+ }
59
+ transaction(callback) {
60
+ return callback(this);
61
+ }
62
+ };
63
+ exports.ClickHouseEntityManager = ClickHouseEntityManager;
64
+ exports.ClickHouseEntityManager = ClickHouseEntityManager = __decorate([
65
+ (0, common_1.Injectable)(),
66
+ __param(0, (0, common_1.Inject)(definitions_1.Constants.CLICKHOUSE_CLIENT)),
67
+ __param(1, (0, common_1.Inject)(data_rdb_1.Constants.RDB_ENTITY_REPOSITORY)),
68
+ __metadata("design:paramtypes", [client_1.ClickHouseClient,
69
+ data_rdb_1.RDBRepository])
70
+ ], ClickHouseEntityManager);
71
+ //# sourceMappingURL=clickhouse.entity.manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clickhouse.entity.manager.js","sourceRoot":"","sources":["../../src/entityManager/clickhouse.entity.manager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAsD;AACtD,2CAAoD;AAGpD,+CAA8F;AAE9F,uDAAkD;AAG3C,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAClC,YAGY,MAAwB,EAGxB,UAAiD;QAHjD,WAAM,GAAN,MAAM,CAAkB;QAGxB,eAAU,GAAV,UAAU,CAAuC;IAC1D,CAAC;IAGJ,aAAa,CAAwC,OAAe;QAClE,OAAO,IAAI,CAAC,UAAmC,CAAC;IAClD,CAAC;IAGD,MAAM,CAAC,IAA+B;QACpC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YACxB,MAAM,EAAE,aAAa;YACrB,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS;YACzC,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;IACL,CAAC;IAEK,KAAK,CACT,KAAa,EACb,MAAoD;;YAEpD,IAAI,WAAW,GAAgD,SAAS,CAAC;YACzE,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,EAAE,CAAC;gBACnB,WAAW,GAAG,EAAE,CAAC;gBACjB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAY,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAClE,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;YAC9F,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YACtC,OAAO,QAAsB,CAAC;QAChC,CAAC;KAAA;IAGD,IAAI,CACF,OAAgB,EAChB,IAAyC,EACzC,OAAiB;QAEjB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAGD,WAAW,CAAC,QAA4D;QACtE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;CACF,CAAA;AAnDY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,eAAM,EAAC,uBAAS,CAAC,iBAAiB,CAAC,CAAA;IAGnC,WAAA,IAAA,eAAM,EAAC,oBAAY,CAAC,qBAAqB,CAAC,CAAA;qCADzB,yBAAgB;QAGZ,wBAAa;GAP1B,uBAAuB,CAmDnC"}
@@ -0,0 +1 @@
1
+ export * from './clickhouse.entity.manager';
@@ -0,0 +1,18 @@
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("./clickhouse.entity.manager"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/entityManager/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA4C"}
@@ -0,0 +1,11 @@
1
+ import { ConfigProviderService, DataDefaultData, GenericObject } from '@node-c/core';
2
+ import { RDBEntityService, SQLQueryBuilderService } from '@node-c/data-rdb';
3
+ import { ClickHouseDBEntitySchema, ClickHouseDBRepository } from '../repository';
4
+ export declare class ClickHouseDBEntityService<Entity extends GenericObject, Data extends DataDefaultData<Entity> = DataDefaultData<Entity>> extends RDBEntityService<Entity, Data> {
5
+ protected configProvider: ConfigProviderService;
6
+ protected qb: SQLQueryBuilderService;
7
+ protected repository: ClickHouseDBRepository<Entity>;
8
+ protected schema: ClickHouseDBEntitySchema<Entity>;
9
+ protected primaryKeys: string[];
10
+ constructor(configProvider: ConfigProviderService, qb: SQLQueryBuilderService, repository: ClickHouseDBRepository<Entity>, schema: ClickHouseDBEntitySchema<Entity>);
11
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClickHouseDBEntityService = void 0;
4
+ const data_rdb_1 = require("@node-c/data-rdb");
5
+ class ClickHouseDBEntityService extends data_rdb_1.RDBEntityService {
6
+ constructor(configProvider, qb, repository, schema) {
7
+ super(configProvider, qb, repository, schema);
8
+ this.configProvider = configProvider;
9
+ this.qb = qb;
10
+ this.repository = repository;
11
+ this.schema = schema;
12
+ this.primaryKeys = repository.primaryKeys;
13
+ }
14
+ }
15
+ exports.ClickHouseDBEntityService = ClickHouseDBEntityService;
16
+ //# sourceMappingURL=clickhouse.entity.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clickhouse.entity.service.js","sourceRoot":"","sources":["../../src/entityService/clickhouse.entity.service.ts"],"names":[],"mappings":";;;AACA,+CAA4E;AAI5E,MAAa,yBAGX,SAAQ,2BAA8B;IAGtC,YACY,cAAqC,EACrC,EAA0B,EAC1B,UAA0C,EAC1C,MAAwC;QAElD,KAAK,CAAC,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QALpC,mBAAc,GAAd,cAAc,CAAuB;QACrC,OAAE,GAAF,EAAE,CAAwB;QAC1B,eAAU,GAAV,UAAU,CAAgC;QAC1C,WAAM,GAAN,MAAM,CAAkC;QAGlD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;IAC5C,CAAC;CACF;AAfD,8DAeC"}
@@ -0,0 +1 @@
1
+ export * from './clickhouse.entity.service';
@@ -0,0 +1,18 @@
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("./clickhouse.entity.service"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/entityService/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA4C"}
@@ -0,0 +1,7 @@
1
+ export * from './common/definitions';
2
+ export * from './connectionModule';
3
+ export * from './entityManager';
4
+ export * from './entityService';
5
+ export * from './module';
6
+ export * from './ormQueryBuilder';
7
+ export * from './repository';
package/dist/index.js ADDED
@@ -0,0 +1,24 @@
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("./common/definitions"), exports);
18
+ __exportStar(require("./connectionModule"), exports);
19
+ __exportStar(require("./entityManager"), exports);
20
+ __exportStar(require("./entityService"), exports);
21
+ __exportStar(require("./module"), exports);
22
+ __exportStar(require("./ormQueryBuilder"), exports);
23
+ __exportStar(require("./repository"), exports);
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,qDAAmC;AACnC,kDAAgC;AAChC,kDAAgC;AAChC,2CAAyB;AACzB,oDAAkC;AAClC,+CAA6B"}
@@ -0,0 +1,5 @@
1
+ import { DynamicModule } from '@nestjs/common';
2
+ import { ClickHouseDBModuleOptions } from './clickhouse.module.definitions';
3
+ export declare class ClickHouseDBModule {
4
+ static register(options: ClickHouseDBModuleOptions): DynamicModule;
5
+ }
@@ -0,0 +1,16 @@
1
+ import { ModuleMetadata } from '@nestjs/common';
2
+ import { GenericObject } from '@node-c/core';
3
+ export interface ClickHouseDBModuleOptions {
4
+ entityModuleRegisterOptions?: unknown;
5
+ exports?: ModuleMetadata['exports'];
6
+ folderData: GenericObject<unknown>;
7
+ imports?: {
8
+ atEnd?: ModuleMetadata['imports'];
9
+ postORM?: ModuleMetadata['imports'];
10
+ preORM?: ModuleMetadata['imports'];
11
+ };
12
+ moduleClass: unknown;
13
+ moduleName: string;
14
+ providers?: ModuleMetadata['providers'];
15
+ registerOptionsPerEntityModule?: GenericObject;
16
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=clickhouse.module.definitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clickhouse.module.definitions.js","sourceRoot":"","sources":["../../src/module/clickhouse.module.definitions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClickHouseDBModule = void 0;
4
+ const core_1 = require("@node-c/core");
5
+ const data_rdb_1 = require("@node-c/data-rdb");
6
+ const connectionModule_1 = require("../connectionModule");
7
+ class ClickHouseDBModule {
8
+ static register(options) {
9
+ const { folderData, imports: additionalImports, moduleClass, moduleName } = options;
10
+ const { atEnd: importsAtEnd, postORM: importsPostORM, preORM: importsPreORM } = additionalImports || {};
11
+ const { modules } = (0, core_1.loadDynamicModules)(folderData, {
12
+ moduleRegisterOptions: options.entityModuleRegisterOptions,
13
+ registerOptionsPerModule: options.registerOptionsPerEntityModule
14
+ });
15
+ return {
16
+ global: true,
17
+ module: moduleClass,
18
+ imports: [
19
+ ...(importsPreORM || []),
20
+ connectionModule_1.ClickHouseConnectionModule.register({ dataModuleName: moduleName }),
21
+ data_rdb_1.SQLQueryBuilderModule.register({ dataModuleName: moduleName }),
22
+ ...(importsPostORM || []),
23
+ ...(modules || []),
24
+ ...(importsAtEnd || [])
25
+ ],
26
+ providers: [...(options.providers || [])],
27
+ exports: [...(modules || []), ...(options.exports || [])]
28
+ };
29
+ }
30
+ }
31
+ exports.ClickHouseDBModule = ClickHouseDBModule;
32
+ //# sourceMappingURL=clickhouse.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clickhouse.module.js","sourceRoot":"","sources":["../../src/module/clickhouse.module.ts"],"names":[],"mappings":";;;AAEA,uCAAkD;AAClD,+CAAyD;AAIzD,0DAAiE;AAEjE,MAAa,kBAAkB;IAC7B,MAAM,CAAC,QAAQ,CAAC,OAAkC;QAChD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QACpF,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,iBAAiB,IAAI,EAAE,CAAC;QACxG,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,yBAAkB,EAAC,UAAU,EAAE;YACjD,qBAAqB,EAAE,OAAO,CAAC,2BAA2B;YAC1D,wBAAwB,EAAE,OAAO,CAAC,8BAA8B;SACjE,CAAC,CAAC;QACH,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,WAAsC;YAC9C,OAAO,EAAE;gBACP,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC;gBACxB,6CAA0B,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;gBACnE,gCAAqB,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;gBAC9D,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;gBACzB,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;gBAClB,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;aACxB;YACD,SAAS,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;YACzC,OAAO,EAAE,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;SAC1D,CAAC;IACJ,CAAC;CACF;AAvBD,gDAuBC"}
@@ -0,0 +1,2 @@
1
+ export * from './clickhouse.module.definitions';
2
+ export * from './clickhouse.module';
@@ -0,0 +1,19 @@
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("./clickhouse.module.definitions"), exports);
18
+ __exportStar(require("./clickhouse.module"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/module/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kEAAgD;AAChD,sDAAoC"}
@@ -0,0 +1,34 @@
1
+ import { DataOrderByDirection, GenericObject } from '@node-c/core';
2
+ import { OrmDeleteQueryBuilder, OrmSelectQueryBuilder, OrmUpdateQueryBuilder } from '@node-c/data-rdb';
3
+ import { ClickHouseEntityManager } from '../entityManager';
4
+ import { ClickHouseDBEntitySchema } from '../repository/clickhouse.repository.definitions';
5
+ export declare class ClickHouseSelectQueryBuilder<Entity extends GenericObject<unknown>> implements OrmSelectQueryBuilder<Entity> {
6
+ protected manager: ClickHouseEntityManager;
7
+ protected schema: ClickHouseDBEntitySchema<Entity>;
8
+ protected deletedColumn?: string;
9
+ protected limitClause: string;
10
+ protected offsetClause: string;
11
+ protected orderByClause: string;
12
+ protected whereClause: string;
13
+ protected withDeletedEnabled: boolean;
14
+ constructor(manager: ClickHouseEntityManager, schema: ClickHouseDBEntitySchema<Entity>);
15
+ protected addDeletedToWhereClause(): string;
16
+ addOrderBy(field: string, direction: DataOrderByDirection): ClickHouseSelectQueryBuilder<Entity>;
17
+ andWhere(query: string, params?: GenericObject<unknown>): ClickHouseSelectQueryBuilder<Entity>;
18
+ delete(): OrmDeleteQueryBuilder<Entity>;
19
+ getCount(): Promise<number>;
20
+ getMany(): Promise<Entity[]>;
21
+ getOne(): Promise<Entity | null>;
22
+ leftJoinAndSelect(..._args: unknown[]): ClickHouseSelectQueryBuilder<Entity>;
23
+ orWhere(query: string, params?: GenericObject<unknown>): ClickHouseSelectQueryBuilder<Entity>;
24
+ orderBy(field: string, direction: DataOrderByDirection): ClickHouseSelectQueryBuilder<Entity>;
25
+ protected parseOrderByClause(field: string, direction: DataOrderByDirection): string;
26
+ protected parseWhereClause(query: string, params?: GenericObject<unknown>): string;
27
+ select(_selection: string[]): ClickHouseSelectQueryBuilder<Entity>;
28
+ skip(skipCount: number): ClickHouseSelectQueryBuilder<Entity>;
29
+ softDelete(): OrmDeleteQueryBuilder<Entity>;
30
+ take(takeCount: number): ClickHouseSelectQueryBuilder<Entity>;
31
+ update(): OrmUpdateQueryBuilder<Entity>;
32
+ where(query: string, params?: GenericObject<unknown>): ClickHouseSelectQueryBuilder<Entity>;
33
+ withDeleted(): OrmSelectQueryBuilder<Entity>;
34
+ }
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ClickHouseSelectQueryBuilder = void 0;
13
+ const core_1 = require("@node-c/core");
14
+ class ClickHouseSelectQueryBuilder {
15
+ constructor(manager, schema) {
16
+ this.manager = manager;
17
+ this.schema = schema;
18
+ this.limitClause = '';
19
+ this.offsetClause = '';
20
+ this.orderByClause = '';
21
+ this.whereClause = '';
22
+ this.withDeletedEnabled = false;
23
+ const { options: { columns } } = schema;
24
+ for (const columnName in columns) {
25
+ if (columns[columnName].isDeletionDate) {
26
+ this.deletedColumn = columnName;
27
+ break;
28
+ }
29
+ }
30
+ }
31
+ addDeletedToWhereClause() {
32
+ const { deletedColumn, whereClause, withDeletedEnabled } = this;
33
+ return !withDeletedEnabled && deletedColumn
34
+ ? `${whereClause.replace('where ', 'where (')}) and \`${deletedColumn}\` is null`
35
+ : whereClause;
36
+ }
37
+ addOrderBy(field, direction) {
38
+ this.orderByClause += `, ${this.parseOrderByClause(field, direction)}`;
39
+ return this;
40
+ }
41
+ andWhere(query, params) {
42
+ this.whereClause += ` and (${this.parseWhereClause(query, params)})`;
43
+ return this;
44
+ }
45
+ delete() {
46
+ throw new core_1.ApplicationError('Method ClickHouseSelectQueryBuilder.delete not implemented.');
47
+ }
48
+ getCount() {
49
+ return __awaiter(this, void 0, void 0, function* () {
50
+ var _a;
51
+ const { limitClause, offsetClause, orderByClause, schema: { options: { name, tableName } } } = this;
52
+ const result = yield this.manager.query(`select count() from \`${tableName}\` as \`${name}\` ` +
53
+ `${this.addDeletedToWhereClause()} ${orderByClause} ${limitClause} ${offsetClause}`);
54
+ return parseInt((_a = result.data[0]) === null || _a === void 0 ? void 0 : _a['count()'], 10);
55
+ });
56
+ }
57
+ getMany() {
58
+ return __awaiter(this, void 0, void 0, function* () {
59
+ const { limitClause, offsetClause, orderByClause, schema: { options: { name, tableName } } } = this;
60
+ const result = yield this.manager.query(`select * from \`${tableName}\` as \`${name}\` ` +
61
+ `${this.addDeletedToWhereClause()} ${orderByClause} ${limitClause} ${offsetClause}`);
62
+ return result.data;
63
+ });
64
+ }
65
+ getOne() {
66
+ return __awaiter(this, void 0, void 0, function* () {
67
+ const { orderByClause, schema: { options: { name, tableName } } } = this;
68
+ const result = yield this.manager.query(`select * from \`${tableName}\` as \`${name}\` ${this.addDeletedToWhereClause()} ${orderByClause} limit 1`);
69
+ return result.data || null;
70
+ });
71
+ }
72
+ leftJoinAndSelect(..._args) {
73
+ throw new core_1.ApplicationError('Method ClickHouseSelectQueryBuilder.leftJoinAndSelect not implemented.');
74
+ }
75
+ orWhere(query, params) {
76
+ this.whereClause += ` or (${this.parseWhereClause(query, params)})`;
77
+ return this;
78
+ }
79
+ orderBy(field, direction) {
80
+ this.orderByClause += `order by ${this.parseOrderByClause(field, direction)}`;
81
+ return this;
82
+ }
83
+ parseOrderByClause(field, direction) {
84
+ return `${field.replace(/[';]/g, '')} ${direction.replace(/[';]/g, '')}`;
85
+ }
86
+ parseWhereClause(query, params) {
87
+ let queryWithReplacements = `${query.replace(/[';]/g, '')}`;
88
+ if (params) {
89
+ for (const paramName in params) {
90
+ const rawValue = params[paramName];
91
+ if (typeof rawValue === 'undefined') {
92
+ continue;
93
+ }
94
+ let value = '';
95
+ if (typeof rawValue === 'string') {
96
+ value = `'${rawValue.replace(/'/g, "\'")}'`;
97
+ }
98
+ else {
99
+ value = `${rawValue}`;
100
+ }
101
+ queryWithReplacements = queryWithReplacements.replace(`:${paramName}`, value);
102
+ }
103
+ }
104
+ return queryWithReplacements;
105
+ }
106
+ select(_selection) {
107
+ throw new core_1.ApplicationError('Method ClickHouseSelectQueryBuilder.select not implemented.');
108
+ }
109
+ skip(skipCount) {
110
+ if (typeof skipCount !== 'number') {
111
+ throw new core_1.ApplicationError('Method ClickHouseSelectQueryBuilder.skip expects a number input for skipCount.');
112
+ }
113
+ this.offsetClause = `offset ${skipCount}`;
114
+ return this;
115
+ }
116
+ softDelete() {
117
+ throw new core_1.ApplicationError('Method ClickHouseSelectQueryBuilder.softDelete not implemented.');
118
+ }
119
+ take(takeCount) {
120
+ if (typeof takeCount !== 'number') {
121
+ throw new core_1.ApplicationError('Method ClickHouseSelectQueryBuilder.take expects a number input for takeCount.');
122
+ }
123
+ this.limitClause += `limit ${takeCount}`;
124
+ return this;
125
+ }
126
+ update() {
127
+ throw new core_1.ApplicationError('Method ClickHouseSelectQueryBuilder.update not implemented.');
128
+ }
129
+ where(query, params) {
130
+ this.whereClause += `where (${this.parseWhereClause(query, params)})`;
131
+ return this;
132
+ }
133
+ withDeleted() {
134
+ this.withDeletedEnabled = true;
135
+ return this;
136
+ }
137
+ }
138
+ exports.ClickHouseSelectQueryBuilder = ClickHouseSelectQueryBuilder;
139
+ //# sourceMappingURL=clickhouse.selectQueryBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clickhouse.selectQueryBuilder.js","sourceRoot":"","sources":["../../src/ormQueryBuilder/clickhouse.selectQueryBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './clickhouse.selectQueryBuilder';
@@ -0,0 +1,18 @@
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("./clickhouse.selectQueryBuilder"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ormQueryBuilder/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kEAAgD"}
@@ -0,0 +1,18 @@
1
+ import { GenericObject } from '@node-c/core';
2
+ import { RDBRepository } from '@node-c/data-rdb';
3
+ import { ClickHouseDBEntitySchema } from './clickhouse.repository.definitions';
4
+ import { ClickHouseEntityManager } from '../entityManager';
5
+ import { ClickHouseSelectQueryBuilder } from '../ormQueryBuilder';
6
+ export declare class ClickHouseDBRepository<Entity extends GenericObject<unknown>> implements RDBRepository<Entity> {
7
+ protected entitySchema: ClickHouseDBEntitySchema<Entity>;
8
+ readonly manager: ClickHouseEntityManager;
9
+ readonly metadata: {
10
+ name: string;
11
+ tableName: string;
12
+ };
13
+ readonly primaryKeys: string[];
14
+ readonly target: string;
15
+ constructor(entitySchema: ClickHouseDBEntitySchema<Entity>, manager: ClickHouseEntityManager);
16
+ createQueryBuilder(_entityName: string, _queryRunner?: unknown): ClickHouseSelectQueryBuilder<Entity>;
17
+ save(data: Partial<Entity> | Partial<Entity[]>, _options?: unknown): Promise<unknown>;
18
+ }
@@ -0,0 +1,35 @@
1
+ import { GenericObject } from '@node-c/core';
2
+ import { RDBEntitySchema } from '@node-c/data-rdb';
3
+ export interface ClickHouseDBEntitySchema<EntityClass extends GenericObject<unknown>> extends RDBEntitySchema {
4
+ options: {
5
+ columns: {
6
+ [columnName in keyof EntityClass]: ClickHouseDBEntitySchemaColumnOptions;
7
+ };
8
+ name: string;
9
+ paranoid?: boolean;
10
+ tableName: string;
11
+ };
12
+ }
13
+ export interface ClickHouseDBEntitySchemaColumnOptions {
14
+ generated?: boolean;
15
+ isCreationDate?: boolean;
16
+ isDeletionDate?: boolean;
17
+ isUpdateDate?: boolean;
18
+ primary?: boolean;
19
+ type?: ClickHouseDBEntitySchemaColumnType;
20
+ }
21
+ export declare enum ClickHouseDBEntitySchemaColumnType {
22
+ BigInteger = "BIGINT",
23
+ Boolean = "BOOL",
24
+ DateTime = "DATETIME",
25
+ Enum = "ENUM",
26
+ Integer = "INT",
27
+ JSON = "JSON",
28
+ Text = "TEXT",
29
+ UUID = "UUID",
30
+ Varchar = "VARCHAR"
31
+ }
32
+ export interface ClickHouseDBRepositoryModuleOptions<EntityClass extends GenericObject<unknown>> {
33
+ entitySchema: ClickHouseDBEntitySchema<EntityClass>;
34
+ dataModuleName: string;
35
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClickHouseDBEntitySchemaColumnType = void 0;
4
+ var ClickHouseDBEntitySchemaColumnType;
5
+ (function (ClickHouseDBEntitySchemaColumnType) {
6
+ ClickHouseDBEntitySchemaColumnType["BigInteger"] = "BIGINT";
7
+ ClickHouseDBEntitySchemaColumnType["Boolean"] = "BOOL";
8
+ ClickHouseDBEntitySchemaColumnType["DateTime"] = "DATETIME";
9
+ ClickHouseDBEntitySchemaColumnType["Enum"] = "ENUM";
10
+ ClickHouseDBEntitySchemaColumnType["Integer"] = "INT";
11
+ ClickHouseDBEntitySchemaColumnType["JSON"] = "JSON";
12
+ ClickHouseDBEntitySchemaColumnType["Text"] = "TEXT";
13
+ ClickHouseDBEntitySchemaColumnType["UUID"] = "UUID";
14
+ ClickHouseDBEntitySchemaColumnType["Varchar"] = "VARCHAR";
15
+ })(ClickHouseDBEntitySchemaColumnType || (exports.ClickHouseDBEntitySchemaColumnType = ClickHouseDBEntitySchemaColumnType = {}));
16
+ //# sourceMappingURL=clickhouse.repository.definitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clickhouse.repository.definitions.js","sourceRoot":"","sources":["../../src/repository/clickhouse.repository.definitions.ts"],"names":[],"mappings":";;;AAwBA,IAAY,kCAmBX;AAnBD,WAAY,kCAAkC;IAE5C,2DAAqB,CAAA;IAErB,sDAAgB,CAAA;IAEhB,2DAAqB,CAAA;IAErB,mDAAa,CAAA;IAEb,qDAAe,CAAA;IAEf,mDAAa,CAAA;IAEb,mDAAa,CAAA;IAEb,mDAAa,CAAA;IAEb,yDAAmB,CAAA;AACrB,CAAC,EAnBW,kCAAkC,kDAAlC,kCAAkC,QAmB7C"}
@@ -0,0 +1,50 @@
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.ClickHouseDBRepository = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const data_rdb_1 = require("@node-c/data-rdb");
18
+ const entityManager_1 = require("../entityManager");
19
+ const ormQueryBuilder_1 = require("../ormQueryBuilder");
20
+ let ClickHouseDBRepository = class ClickHouseDBRepository {
21
+ constructor(entitySchema, manager) {
22
+ var _a;
23
+ this.entitySchema = entitySchema;
24
+ this.manager = manager;
25
+ const { options: { columns, name, tableName } } = entitySchema;
26
+ const primaryKeys = [];
27
+ this.metadata = { name, tableName };
28
+ for (const columnName in columns) {
29
+ if ((_a = columns[columnName]) === null || _a === void 0 ? void 0 : _a.primary) {
30
+ primaryKeys.push(columnName);
31
+ }
32
+ }
33
+ this.primaryKeys = primaryKeys;
34
+ }
35
+ createQueryBuilder(_entityName, _queryRunner) {
36
+ return new ormQueryBuilder_1.ClickHouseSelectQueryBuilder(this.manager, this.entitySchema);
37
+ }
38
+ save(data, _options) {
39
+ const dataInput = (data instanceof Array ? data : [data]);
40
+ return this.manager.insert(dataInput);
41
+ }
42
+ };
43
+ exports.ClickHouseDBRepository = ClickHouseDBRepository;
44
+ exports.ClickHouseDBRepository = ClickHouseDBRepository = __decorate([
45
+ (0, common_1.Injectable)(),
46
+ __param(0, (0, common_1.Inject)(data_rdb_1.Constants.RDB_REPOSITORY_ENTITY_CLASS)),
47
+ __param(1, (0, common_1.Inject)((0, common_1.forwardRef)(() => entityManager_1.ClickHouseEntityManager))),
48
+ __metadata("design:paramtypes", [Object, entityManager_1.ClickHouseEntityManager])
49
+ ], ClickHouseDBRepository);
50
+ //# sourceMappingURL=clickhouse.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clickhouse.repository.js","sourceRoot":"","sources":["../../src/repository/clickhouse.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAgE;AAGhE,+CAA4E;AAI5E,oDAA2D;AAC3D,wDAAkE;AAI3D,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAKjC,YAEY,YAA8C,EAGxC,OAAgC;;QAHtC,iBAAY,GAAZ,YAAY,CAAkC;QAGxC,YAAO,GAAP,OAAO,CAAyB;QAEhD,MAAM,EACJ,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EACtC,GAAG,YAAY,CAAC;QACjB,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACpC,KAAK,MAAM,UAAU,IAAI,OAAO,EAAE,CAAC;YACjC,IAAI,MAAA,OAAO,CAAC,UAAU,CAAC,0CAAE,OAAO,EAAE,CAAC;gBACjC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAGD,kBAAkB,CAAC,WAAmB,EAAE,YAAsB;QAC5D,OAAO,IAAI,8CAA4B,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3E,CAAC;IAID,IAAI,CAAC,IAAyC,EAAE,QAAkB;QAEhE,MAAM,SAAS,GAAG,CAAC,IAAI,YAAY,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAa,CAAC;QAmBtE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;CACF,CAAA;AAvDY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,mBAAU,GAAE;IAOR,WAAA,IAAA,eAAM,EAAC,oBAAY,CAAC,2BAA2B,CAAC,CAAA;IAEhD,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,uCAAuB,CAAC,CAAC,CAAA;6CAEzB,uCAAuB;GAVvC,sBAAsB,CAuDlC"}
@@ -0,0 +1,6 @@
1
+ import { DynamicModule } from '@nestjs/common';
2
+ import { GenericObject } from '@node-c/core';
3
+ import { ClickHouseDBRepositoryModuleOptions } from './clickhouse.repository.definitions';
4
+ export declare class ClickHouseDBRepositoryModule {
5
+ static register<Entity extends GenericObject<unknown>>(options: ClickHouseDBRepositoryModuleOptions<Entity>): DynamicModule;
6
+ }
@@ -0,0 +1,63 @@
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 ClickHouseDBRepositoryModule_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.ClickHouseDBRepositoryModule = void 0;
11
+ const common_1 = require("@nestjs/common");
12
+ const data_rdb_1 = require("@node-c/data-rdb");
13
+ const clickhouse_repository_1 = require("./clickhouse.repository");
14
+ const definitions_1 = require("../common/definitions");
15
+ const entityManager_1 = require("../entityManager");
16
+ let ClickHouseDBRepositoryModule = ClickHouseDBRepositoryModule_1 = class ClickHouseDBRepositoryModule {
17
+ static register(options) {
18
+ const { entitySchema, dataModuleName } = options;
19
+ const clientName = `${definitions_1.Constants.CLICKHOUSE_CLIENT_PREFIX}${dataModuleName}`;
20
+ return {
21
+ module: ClickHouseDBRepositoryModule_1,
22
+ providers: [
23
+ {
24
+ provide: data_rdb_1.SQLQueryBuilderService,
25
+ useFactory: (sqlQueryBuilderService) => sqlQueryBuilderService,
26
+ inject: [`${dataModuleName}${data_rdb_1.Constants.SQL_BUILDER_SERVICE_TOKEN_SUFFIX}`]
27
+ },
28
+ {
29
+ provide: definitions_1.Constants.CLICKHOUSE_CLIENT,
30
+ useFactory: (clickhouseClient) => clickhouseClient,
31
+ inject: [clientName]
32
+ },
33
+ {
34
+ provide: data_rdb_1.Constants.RDB_REPOSITORY_ENTITY_CLASS,
35
+ useValue: entitySchema
36
+ },
37
+ entityManager_1.ClickHouseEntityManager,
38
+ (clickhouse_repository_1.ClickHouseDBRepository),
39
+ {
40
+ provide: data_rdb_1.Constants.RDB_ENTITY_REPOSITORY,
41
+ useExisting: (clickhouse_repository_1.ClickHouseDBRepository)
42
+ }
43
+ ],
44
+ exports: [
45
+ data_rdb_1.SQLQueryBuilderService,
46
+ {
47
+ provide: data_rdb_1.Constants.RDB_ENTITY_REPOSITORY,
48
+ useExisting: (clickhouse_repository_1.ClickHouseDBRepository)
49
+ },
50
+ {
51
+ provide: definitions_1.Constants.CLICKHOUSE_CLIENT,
52
+ useFactory: (clickhouseClient) => clickhouseClient,
53
+ inject: [clientName]
54
+ }
55
+ ]
56
+ };
57
+ }
58
+ };
59
+ exports.ClickHouseDBRepositoryModule = ClickHouseDBRepositoryModule;
60
+ exports.ClickHouseDBRepositoryModule = ClickHouseDBRepositoryModule = ClickHouseDBRepositoryModule_1 = __decorate([
61
+ (0, common_1.Module)({})
62
+ ], ClickHouseDBRepositoryModule);
63
+ //# sourceMappingURL=clickhouse.repository.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clickhouse.repository.module.js","sourceRoot":"","sources":["../../src/repository/clickhouse.repository.module.ts"],"names":[],"mappings":";;;;;;;;;;AACA,2CAAuD;AAGvD,+CAAqF;AAErF,mEAAiE;AAGjE,uDAAkD;AAClD,oDAA2D;AAGpD,IAAM,4BAA4B,oCAAlC,MAAM,4BAA4B;IACvC,MAAM,CAAC,QAAQ,CACb,OAAoD;QAEpD,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;QACjD,MAAM,UAAU,GAAG,GAAG,uBAAS,CAAC,wBAAwB,GAAG,cAAc,EAAE,CAAC;QAC5E,OAAO;YACL,MAAM,EAAE,8BAA4B;YACpC,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,iCAAsB;oBAC/B,UAAU,EAAE,CAAC,sBAA8C,EAAE,EAAE,CAAC,sBAAsB;oBACtF,MAAM,EAAE,CAAC,GAAG,cAAc,GAAG,oBAAY,CAAC,gCAAgC,EAAE,CAAC;iBAC9E;gBACD;oBACE,OAAO,EAAE,uBAAS,CAAC,iBAAiB;oBACpC,UAAU,EAAE,CAAC,gBAAkC,EAAE,EAAE,CAAC,gBAAgB;oBACpE,MAAM,EAAE,CAAC,UAAU,CAAC;iBACrB;gBACD;oBACE,OAAO,EAAE,oBAAY,CAAC,2BAA2B;oBACjD,QAAQ,EAAE,YAAY;iBACvB;gBACD,uCAAuB;gBACvB,CAAA,8CAA8B,CAAA;gBAC9B;oBACE,OAAO,EAAE,oBAAY,CAAC,qBAAqB;oBAC3C,WAAW,EAAE,CAAA,8CAA8B,CAAA;iBAC5C;aACF;YACD,OAAO,EAAE;gBACP,iCAAsB;gBACtB;oBACE,OAAO,EAAE,oBAAY,CAAC,qBAAqB;oBAC3C,WAAW,EAAE,CAAA,8CAA8B,CAAA;iBAC5C;gBACD;oBACE,OAAO,EAAE,uBAAS,CAAC,iBAAiB;oBACpC,UAAU,EAAE,CAAC,gBAAkC,EAAE,EAAE,CAAC,gBAAgB;oBACpE,MAAM,EAAE,CAAC,UAAU,CAAC;iBACrB;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AA5CY,oEAA4B;uCAA5B,4BAA4B;IADxC,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,4BAA4B,CA4CxC"}
@@ -0,0 +1,3 @@
1
+ export * from './clickhouse.repository';
2
+ export * from './clickhouse.repository.definitions';
3
+ export * from './clickhouse.repository.module';
@@ -0,0 +1,20 @@
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("./clickhouse.repository"), exports);
18
+ __exportStar(require("./clickhouse.repository.definitions"), exports);
19
+ __exportStar(require("./clickhouse.repository.module"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/repository/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,sEAAoD;AACpD,iEAA+C"}
package/package.json ADDED
@@ -0,0 +1,26 @@
1
+ {
2
+ "name": "@node-c/data-clickhouse",
3
+ "version": "1.0.0-alpha62",
4
+ "license": "MIT",
5
+ "main": "dist/index.js",
6
+ "scripts": {
7
+ "build": "tsc -p tsconfig.build.json",
8
+ "build:clean": "rm -rf dist/* && rm -f *.tsbuildinfo && npm run build",
9
+ "check-types": "tsc -p tsconfig.build.json --noEmit",
10
+ "dev": "tsc -p tsconfig.build.json --watch",
11
+ "lint": "eslint src",
12
+ "publish-package": "npm run build:clean && npm publish --access public",
13
+ "test": "vitest --config src/vitest.config.ts",
14
+ "test:coverage": "vitest --config src/vitest.config.ts --coverage"
15
+ },
16
+ "dependencies": {
17
+ "@clickhouse/client": "^1.12.1",
18
+ "@nestjs/common": "^10.4.12",
19
+ "@nestjs/typeorm": "^10.0.2",
20
+ "@node-c/core": "^1.0.0-alpha62",
21
+ "@node-c/data-rdb": "^1.0.0-alpha62",
22
+ "class-validator": "^0.14.1",
23
+ "typeorm": "^0.3.20",
24
+ "uuid": "^11.0.5"
25
+ }
26
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "extends": "../../tsconfig.base.json",
3
+ "compilerOptions": {
4
+ "outDir": "dist",
5
+ "rootDir": "src"
6
+ },
7
+ "include": ["src"],
8
+ "exclude": ["node_modules", "dist", "src/**/*/*.spec.ts", "src/*.spec.ts", "src/vitest.config.ts"]
9
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,9 @@
1
+ {
2
+ "extends": "../../tsconfig.base.json",
3
+ "compilerOptions": {
4
+ "outDir": "dist",
5
+ "rootDir": "src"
6
+ },
7
+ "include": ["src"],
8
+ "exclude": ["node_modules", "dist"]
9
+ }