myorm_pg 6.1.4 → 6.2.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.
Files changed (91) hide show
  1. package/lib/src/implementations/PGDBContext.d.ts +5 -1
  2. package/lib/src/implementations/PGDBContext.d.ts.map +1 -1
  3. package/lib/src/implementations/PGDBContext.js +159 -118
  4. package/lib/src/implementations/PGDBContext.js.map +1 -1
  5. package/lib/src/implementations/PGDBManager.d.ts.map +1 -1
  6. package/lib/src/implementations/PGDBManager.js +2 -0
  7. package/lib/src/implementations/PGDBManager.js.map +1 -1
  8. package/lib/src/implementations/PGDBSet.d.ts.map +1 -1
  9. package/lib/src/implementations/PGDBSet.js +19 -6
  10. package/lib/src/implementations/PGDBSet.js.map +1 -1
  11. package/package.json +2 -2
  12. package/lib/Index.d.ts +0 -41
  13. package/lib/Index.d.ts.map +0 -1
  14. package/lib/Index.js +0 -64
  15. package/lib/Index.js.map +0 -1
  16. package/lib/core/decorators/SchemasDecorators.d.ts +0 -45
  17. package/lib/core/decorators/SchemasDecorators.d.ts.map +0 -1
  18. package/lib/core/decorators/SchemasDecorators.js +0 -145
  19. package/lib/core/decorators/SchemasDecorators.js.map +0 -1
  20. package/lib/core/design/Type.d.ts +0 -39
  21. package/lib/core/design/Type.d.ts.map +0 -1
  22. package/lib/core/design/Type.js +0 -143
  23. package/lib/core/design/Type.js.map +0 -1
  24. package/lib/core/enums/DBTypes.d.ts +0 -19
  25. package/lib/core/enums/DBTypes.d.ts.map +0 -1
  26. package/lib/core/enums/DBTypes.js +0 -23
  27. package/lib/core/enums/DBTypes.js.map +0 -1
  28. package/lib/core/enums/RelationType.d.ts +0 -7
  29. package/lib/core/enums/RelationType.d.ts.map +0 -1
  30. package/lib/core/enums/RelationType.js +0 -11
  31. package/lib/core/enums/RelationType.js.map +0 -1
  32. package/lib/core/exceptions/ConnectionFailException.d.ts +0 -5
  33. package/lib/core/exceptions/ConnectionFailException.d.ts.map +0 -1
  34. package/lib/core/exceptions/ConnectionFailException.js +0 -13
  35. package/lib/core/exceptions/ConnectionFailException.js.map +0 -1
  36. package/lib/core/exceptions/ConstraintFailException.d.ts +0 -5
  37. package/lib/core/exceptions/ConstraintFailException.d.ts.map +0 -1
  38. package/lib/core/exceptions/ConstraintFailException.js +0 -13
  39. package/lib/core/exceptions/ConstraintFailException.js.map +0 -1
  40. package/lib/core/exceptions/Exception.d.ts +0 -5
  41. package/lib/core/exceptions/Exception.d.ts.map +0 -1
  42. package/lib/core/exceptions/Exception.js +0 -10
  43. package/lib/core/exceptions/Exception.js.map +0 -1
  44. package/lib/core/exceptions/InvalidOperationException.d.ts +0 -6
  45. package/lib/core/exceptions/InvalidOperationException.d.ts.map +0 -1
  46. package/lib/core/exceptions/InvalidOperationException.js +0 -14
  47. package/lib/core/exceptions/InvalidOperationException.js.map +0 -1
  48. package/lib/core/exceptions/NotImplementedException.d.ts +0 -5
  49. package/lib/core/exceptions/NotImplementedException.d.ts.map +0 -1
  50. package/lib/core/exceptions/NotImplementedException.js +0 -13
  51. package/lib/core/exceptions/NotImplementedException.js.map +0 -1
  52. package/lib/core/exceptions/QueryFailException.d.ts +0 -6
  53. package/lib/core/exceptions/QueryFailException.d.ts.map +0 -1
  54. package/lib/core/exceptions/QueryFailException.js +0 -14
  55. package/lib/core/exceptions/QueryFailException.js.map +0 -1
  56. package/lib/core/exceptions/TypeNotMappedException.d.ts +0 -5
  57. package/lib/core/exceptions/TypeNotMappedException.d.ts.map +0 -1
  58. package/lib/core/exceptions/TypeNotMappedException.js +0 -13
  59. package/lib/core/exceptions/TypeNotMappedException.js.map +0 -1
  60. package/lib/core/exceptions/TypeNotSuportedException.d.ts +0 -5
  61. package/lib/core/exceptions/TypeNotSuportedException.d.ts.map +0 -1
  62. package/lib/core/exceptions/TypeNotSuportedException.js +0 -13
  63. package/lib/core/exceptions/TypeNotSuportedException.js.map +0 -1
  64. package/lib/core/handlers/DBOperationLogHandler.d.ts +0 -17
  65. package/lib/core/handlers/DBOperationLogHandler.d.ts.map +0 -1
  66. package/lib/core/handlers/DBOperationLogHandler.js +0 -18
  67. package/lib/core/handlers/DBOperationLogHandler.js.map +0 -1
  68. package/lib/implementations/PGDBConnection.d.ts +0 -19
  69. package/lib/implementations/PGDBConnection.d.ts.map +0 -1
  70. package/lib/implementations/PGDBConnection.js +0 -105
  71. package/lib/implementations/PGDBConnection.js.map +0 -1
  72. package/lib/implementations/PGDBContext.d.ts +0 -54
  73. package/lib/implementations/PGDBContext.d.ts.map +0 -1
  74. package/lib/implementations/PGDBContext.js +0 -302
  75. package/lib/implementations/PGDBContext.js.map +0 -1
  76. package/lib/implementations/PGDBManager.d.ts +0 -37
  77. package/lib/implementations/PGDBManager.d.ts.map +0 -1
  78. package/lib/implementations/PGDBManager.js +0 -296
  79. package/lib/implementations/PGDBManager.js.map +0 -1
  80. package/lib/implementations/PGDBSet.d.ts +0 -58
  81. package/lib/implementations/PGDBSet.d.ts.map +0 -1
  82. package/lib/implementations/PGDBSet.js +0 -1184
  83. package/lib/implementations/PGDBSet.js.map +0 -1
  84. package/lib/implementations/PGFluentField.d.ts +0 -18
  85. package/lib/implementations/PGFluentField.d.ts.map +0 -1
  86. package/lib/implementations/PGFluentField.js +0 -155
  87. package/lib/implementations/PGFluentField.js.map +0 -1
  88. package/lib/implementations/PGSetHelper.d.ts +0 -19
  89. package/lib/implementations/PGSetHelper.d.ts.map +0 -1
  90. package/lib/implementations/PGSetHelper.js +0 -48
  91. package/lib/implementations/PGSetHelper.js.map +0 -1
@@ -1,105 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const pg_1 = __importDefault(require("pg"));
16
- const ConnectionFailException_1 = __importDefault(require("../core/exceptions/ConnectionFailException"));
17
- const QueryFailException_1 = __importDefault(require("../core/exceptions/QueryFailException"));
18
- const myorm_core_1 = require("myorm_core");
19
- class PGDBConnection extends myorm_core_1.AbstractConnection {
20
- constructor(host, port, dababase, user, pass) {
21
- super();
22
- this.HostName = host;
23
- this.Port = port;
24
- this.DataBaseName = dababase;
25
- this._database = dababase;
26
- this.UserName = user;
27
- this.PassWord = pass;
28
- this.IsOpen = false;
29
- }
30
- AsPostgres() {
31
- this.DataBaseName = "postgres";
32
- return this;
33
- }
34
- OpenAsync() {
35
- return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
36
- if (this.IsOpen)
37
- yield this.CloseAsync();
38
- this._conn = new pg_1.default.Client({
39
- host: this.HostName,
40
- port: this.Port,
41
- database: this.DataBaseName,
42
- user: this.UserName,
43
- password: this.PassWord
44
- });
45
- this.DataBaseName = this._database;
46
- try {
47
- yield this._conn.connect();
48
- this.IsOpen = true;
49
- resolve();
50
- }
51
- catch (err) {
52
- reject(new ConnectionFailException_1.default(err.message));
53
- }
54
- }));
55
- }
56
- QueryAsync(query) {
57
- return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
58
- try {
59
- resolve(yield this._conn.query(query));
60
- }
61
- catch (err) {
62
- reject(new ConnectionFailException_1.default(err.message));
63
- }
64
- }));
65
- }
66
- CloseAsync() {
67
- return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
68
- try {
69
- yield this._conn.end();
70
- this.IsOpen = false;
71
- resolve();
72
- }
73
- catch (err) {
74
- reject(new ConnectionFailException_1.default(err.message));
75
- }
76
- }));
77
- }
78
- ExecuteNonQueryAsync(query) {
79
- return __awaiter(this, void 0, void 0, function* () {
80
- return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
81
- try {
82
- yield this._conn.query(query);
83
- resolve();
84
- }
85
- catch (err) {
86
- reject(new QueryFailException_1.default(err.message, query));
87
- }
88
- }));
89
- });
90
- }
91
- ExecuteAsync(query) {
92
- return __awaiter(this, void 0, void 0, function* () {
93
- return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
94
- try {
95
- resolve(yield this._conn.query(query));
96
- }
97
- catch (err) {
98
- reject(new QueryFailException_1.default(err.message, query));
99
- }
100
- }));
101
- });
102
- }
103
- }
104
- exports.default = PGDBConnection;
105
- //# sourceMappingURL=PGDBConnection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PGDBConnection.js","sourceRoot":"","sources":["../../src/implementations/PGDBConnection.ts"],"names":[],"mappings":"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"}
@@ -1,54 +0,0 @@
1
- import { IStatement, AbstractContext, IJoiningQuery, IJoinSelectable, AbstractSet } from "myorm_core";
2
- import PGDBManager from "./PGDBManager";
3
- export default abstract class PGDBContext extends AbstractContext {
4
- protected _manager: PGDBManager;
5
- private _mappedTypes;
6
- constructor(manager: PGDBManager);
7
- GetMappedTypes(): (new (...args: any[]) => unknown)[];
8
- IsMapped(type: {
9
- new (...args: any[]): unknown;
10
- }): boolean;
11
- Collection<T extends Object>(cTor: {
12
- new (...args: any[]): T;
13
- }): AbstractSet<T>;
14
- UpdateDatabaseAsync(): Promise<void>;
15
- ExecuteNonQuery(query: string): Promise<void>;
16
- ExecuteQuery(query: string): Promise<any>;
17
- Join(...args: (new (...args: any[]) => Object)[]): IJoiningQuery;
18
- }
19
- export declare class JoiningQuery implements IJoiningQuery {
20
- private _context;
21
- private _stack;
22
- private _onStatements;
23
- constructor(context: PGDBContext, stack: (new (...args: any[]) => Object)[]);
24
- On<C extends Object, U extends Object>(cT: {
25
- new (...args: any[]): C;
26
- }, cKey: keyof C, uT: {
27
- new (...args: any[]): U;
28
- }, uKey: keyof U): IJoiningQuery;
29
- Where<C extends Object, K extends keyof C>(cT: new (...args: any[]) => C, statement: IStatement<C, K>): IJoiningQuery;
30
- And<C extends Object, K extends keyof C>(cT: new (...args: any[]) => C, statement: IStatement<C, K>): IJoiningQuery;
31
- Or<C extends Object, K extends keyof C>(cT: new (...args: any[]) => C, statement: IStatement<C, K>): IJoiningQuery;
32
- Select<C extends Object>(cT: new (...args: any[]) => C): IJoinSelectable<C>;
33
- private CheckIfTypeIsAllowed;
34
- }
35
- export declare class JoinSelectable<T extends Object> implements IJoinSelectable<T> {
36
- private _context;
37
- private _stack;
38
- private _onStatements;
39
- private _firstOrDefault;
40
- private _type;
41
- constructor(cT: new (...args: any[]) => T, context: PGDBContext, stack: IUnion[], onStack: [string, string][]);
42
- Join<K extends keyof T>(key: K): IJoinSelectable<T>;
43
- OrderBy<K extends keyof T>(key: K): IJoinSelectable<T>;
44
- OrderDescendingBy<K extends keyof T>(key: K): IJoinSelectable<T>;
45
- ToListAsync(): Promise<T[]>;
46
- FirstOrDefaultAsync(): Promise<T | undefined>;
47
- private Reset;
48
- }
49
- interface IUnion {
50
- Type: unknown;
51
- Key?: string;
52
- }
53
- export {};
54
- //# sourceMappingURL=PGDBContext.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PGDBContext.d.ts","sourceRoot":"","sources":["../../src/implementations/PGDBContext.ts"],"names":[],"mappings":"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"}
@@ -1,302 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.JoinSelectable = exports.JoiningQuery = void 0;
16
- const myorm_core_1 = require("myorm_core");
17
- const SchemasDecorators_1 = __importDefault(require("../core/decorators/SchemasDecorators"));
18
- const Type_1 = __importDefault(require("../core/design/Type"));
19
- const ConstraintFailException_1 = __importDefault(require("../core/exceptions/ConstraintFailException"));
20
- const InvalidOperationException_1 = __importDefault(require("../core/exceptions/InvalidOperationException"));
21
- const TypeNotMappedException_1 = __importDefault(require("../core/exceptions/TypeNotMappedException"));
22
- const PGDBSet_1 = __importDefault(require("./PGDBSet"));
23
- const PGSetHelper_1 = __importDefault(require("./PGSetHelper"));
24
- class PGDBContext extends myorm_core_1.AbstractContext {
25
- constructor(manager) {
26
- super();
27
- this._manager = manager;
28
- }
29
- GetMappedTypes() {
30
- if (this._mappedTypes != undefined)
31
- return this._mappedTypes;
32
- this._mappedTypes = [];
33
- let props = Object.keys(this);
34
- for (let prop of props) {
35
- if (this[prop].constructor == PGDBSet_1.default) {
36
- this._mappedTypes.push(this[prop]["_type"]);
37
- }
38
- }
39
- return this._mappedTypes;
40
- }
41
- IsMapped(type) {
42
- return this.GetMappedTypes().filter(t => t == type).length > 0;
43
- }
44
- Collection(cTor) {
45
- for (let prop of Object.keys(this)) {
46
- let type = this[prop]["_type"];
47
- if (type == undefined)
48
- continue;
49
- if (type == cTor)
50
- return this[prop];
51
- }
52
- throw new TypeNotMappedException_1.default(`${cTor.name} is not mapped in this context`);
53
- }
54
- UpdateDatabaseAsync() {
55
- return __awaiter(this, void 0, void 0, function* () {
56
- let dbName = this._manager["_connection"].DataBaseName;
57
- if (!(yield this._manager.CheckDatabaseAsync(dbName)))
58
- yield this._manager.CreateDataBaseAsync(dbName);
59
- for (let type of this.GetMappedTypes()) {
60
- yield this._manager.UpdateDatabaseForEntityAsync(type);
61
- }
62
- });
63
- }
64
- ExecuteNonQuery(query) {
65
- return __awaiter(this, void 0, void 0, function* () {
66
- yield this._manager.ExecuteNonQueryAsync(query);
67
- });
68
- }
69
- ExecuteQuery(query) {
70
- return __awaiter(this, void 0, void 0, function* () {
71
- return yield this._manager.ExecuteAsync(query);
72
- });
73
- }
74
- Join(...args) {
75
- return new JoiningQuery(this, args);
76
- }
77
- }
78
- exports.default = PGDBContext;
79
- class JoiningQuery {
80
- constructor(context, stack) {
81
- this._stack = [];
82
- this._onStatements = [];
83
- this._context = context;
84
- this._stack.push(...stack.map(s => { return { Type: s }; }));
85
- let notMappedTypes = this._stack.filter(s => this._context.Collection(s.Type) == undefined);
86
- if (notMappedTypes.length > 0) {
87
- this._stack = [];
88
- throw new InvalidOperationException_1.default(`The type ${notMappedTypes[0].Type.name} is not mapped`);
89
- }
90
- }
91
- On(cT, cKey, uT, uKey) {
92
- this.CheckIfTypeIsAllowed(cT);
93
- this.CheckIfTypeIsAllowed(cT);
94
- let leftIndex = this._stack.findIndex(s => s.Type == cT);
95
- let rightIndex = this._stack.findIndex(s => s.Type == uT);
96
- if (rightIndex - leftIndex != 1)
97
- throw new InvalidOperationException_1.default(`The On statement must follow the same order than Join`);
98
- this._onStatements.push([cKey.toString(), uKey.toString()]);
99
- return this;
100
- }
101
- Where(cT, statement) {
102
- this.CheckIfTypeIsAllowed(cT);
103
- let set = this._context.Collection(cT);
104
- set.Where(statement);
105
- return this;
106
- }
107
- And(cT, statement) {
108
- this.CheckIfTypeIsAllowed(cT);
109
- let set = this._context.Collection(cT);
110
- set.And(statement);
111
- return this;
112
- }
113
- Or(cT, statement) {
114
- this.CheckIfTypeIsAllowed(cT);
115
- let set = this._context.Collection(cT);
116
- set.Or(statement);
117
- return this;
118
- }
119
- Select(cT) {
120
- return new JoinSelectable(cT, this._context, this._stack, this._onStatements);
121
- }
122
- CheckIfTypeIsAllowed(cT) {
123
- let set = this._context.Collection(cT);
124
- if (!set)
125
- throw new InvalidOperationException_1.default(`The type ${cT.name} is not mapped`);
126
- let index = this._stack.findIndex(s => s.Type == cT);
127
- if (index == -1)
128
- throw new InvalidOperationException_1.default(`The type ${cT.name} is not inside the Join list`);
129
- }
130
- }
131
- exports.JoiningQuery = JoiningQuery;
132
- class JoinSelectable {
133
- constructor(cT, context, stack, onStack) {
134
- this._stack = [];
135
- this._onStatements = [];
136
- this._firstOrDefault = false;
137
- this._type = cT;
138
- this._context = context;
139
- this._stack = stack;
140
- this._onStatements = onStack;
141
- }
142
- Join(key) {
143
- var _a;
144
- (_a = this._context.Collection(this._type)) === null || _a === void 0 ? void 0 : _a.Join(key);
145
- return this;
146
- }
147
- OrderBy(key) {
148
- var _a;
149
- (_a = this._context.Collection(this._type)) === null || _a === void 0 ? void 0 : _a.OrderBy(key);
150
- return this;
151
- }
152
- OrderDescendingBy(key) {
153
- var _a;
154
- (_a = this._context.Collection(this._type)) === null || _a === void 0 ? void 0 : _a.OrderDescendingBy(key);
155
- return this;
156
- }
157
- ToListAsync() {
158
- return __awaiter(this, void 0, void 0, function* () {
159
- if (this._stack.length > this._onStatements.length + 1)
160
- throw new InvalidOperationException_1.default(`There is no enought On clausules to join all selected types`);
161
- if (this._stack.length < this._onStatements.length + 1)
162
- throw new InvalidOperationException_1.default(`There is more On clausules than join types selecteds`);
163
- let selectedSideSet = this._context.Collection(this._type);
164
- let leftSideType = this._stack[0].Type;
165
- let selectedTable = Type_1.default.GetTableName(this._type);
166
- let query = `select distinct "${selectedTable}".* from "${Type_1.default.GetTableName(leftSideType)}" `;
167
- for (let i = 1; i < this._stack.length; i++) {
168
- let rightSideType = this._stack[i].Type;
169
- let leftSideTable = Type_1.default.GetTableName(leftSideType);
170
- let rigthSideTable = Type_1.default.GetTableName(rightSideType);
171
- let onStatement = this._onStatements[i - 1];
172
- let leftSideField = onStatement[0];
173
- let rightSideField = onStatement[1];
174
- let leftSideIsArray = Type_1.default.GetDesingType(leftSideType, leftSideField) == Array;
175
- let rightSideIsArray = Type_1.default.GetDesingType(rightSideType, rightSideField) == Array;
176
- let rightSideTypeMap = Type_1.default.GetColumnNameAndType(rightSideType);
177
- let leftSideTypeMap = Type_1.default.GetColumnNameAndType(leftSideType);
178
- query += ` inner join "${rigthSideTable}" on `;
179
- if ((leftSideIsArray && rightSideIsArray) || (!leftSideIsArray && !rightSideIsArray)) {
180
- query += ` "${leftSideTable}".${Type_1.default.GetColumnName(leftSideType, leftSideField)} = "${rigthSideTable}".${Type_1.default.GetColumnName(rightSideType, rightSideField)} `;
181
- }
182
- else if (leftSideIsArray && !rightSideIsArray) {
183
- let relation = SchemasDecorators_1.default.GetRelationAttribute(leftSideType, leftSideField);
184
- if (relation) {
185
- let rType = relation.TypeBuilder();
186
- let key = SchemasDecorators_1.default.ExtractPrimaryKey(rType);
187
- if (!key)
188
- throw new ConstraintFailException_1.default(`The type ${rType.name} was no one primary key field`);
189
- let relationMap = Type_1.default.GetColumnNameAndType(rType);
190
- let leftSideDBType = Type_1.default.CastType(relationMap.filter(s => s.Field == key)[0].Type);
191
- let rightSideDBType = Type_1.default.CastType(rightSideTypeMap.filter(s => s.Field == rightSideField)[0].Type);
192
- let leftColumnName = leftSideTypeMap.filter(s => s.Field == leftSideField)[0].Column;
193
- let rightColumnName = rightSideTypeMap.filter(s => s.Field == rightSideField)[0].Column;
194
- if (leftSideDBType != rightSideDBType) {
195
- throw new InvalidOperationException_1.default(`${leftSideType.name}.${leftSideField} and ${rightSideType.name}.${rightSideField} must be the same type to join`);
196
- }
197
- query += ` "${rigthSideTable}".${rightColumnName} = ANY("${leftSideTable}".${leftColumnName})`;
198
- }
199
- else {
200
- let dataType = SchemasDecorators_1.default.GetDataTypeAttribute(leftSideType, leftSideField);
201
- if (!dataType) {
202
- throw new InvalidOperationException_1.default(`Can not find the DataAttributeof ${leftSideType.name}.${leftSideField}`);
203
- }
204
- let elementType = Type_1.default.ExtractElementType(dataType);
205
- if (!elementType)
206
- throw new InvalidOperationException_1.default(`Can not determine the array element type of ${leftSideType.name}.${leftSideField}`);
207
- let leftColumnName = leftSideTypeMap.filter(s => s.Field == leftSideField)[0].Column;
208
- let rightSideDBType = Type_1.default.CastType(rightSideTypeMap.filter(s => s.Field == rightSideField)[0].Type);
209
- let rightColumnName = rightSideTypeMap.filter(s => s.Field == rightSideField)[0].Column;
210
- let areNumbers = Type_1.default.IsNumber(Type_1.default.CastType(elementType)) && Type_1.default.IsNumber(rightSideDBType);
211
- let areString = Type_1.default.IsText(Type_1.default.CastType(elementType)) && Type_1.default.IsText(rightSideDBType);
212
- let areDate = Type_1.default.IsDate(Type_1.default.CastType(elementType)) && Type_1.default.IsDate(rightSideDBType);
213
- let areArray = Type_1.default.IsArray(Type_1.default.CastType(elementType)) && Type_1.default.IsArray(rightSideDBType);
214
- let areSameType = this._context["_manager"]["CastToPostgreSQLType"](elementType) == this._context["_manager"]["CastToPostgreSQLType"](rightSideDBType);
215
- let areSerial = this._context["_manager"]["CastToPostgreSQLType"](elementType) == "serial" && this._context["_manager"]["CastToPostgreSQLType"](rightSideDBType) == "serial";
216
- if (!(areNumbers || areString || areDate || areArray || areSameType || areSerial))
217
- throw new InvalidOperationException_1.default(`${leftSideType.name}.${leftSideField} and ${rightSideType.name}.${rightSideField} must be the same type to join`);
218
- query += ` "${rigthSideTable}".${rightColumnName} = ANY("${leftSideTable}".${leftColumnName})`;
219
- }
220
- }
221
- else if (rightSideIsArray && !leftSideIsArray) {
222
- let relation = SchemasDecorators_1.default.GetRelationAttribute(rightSideType, rightSideField);
223
- if (relation) {
224
- let rType = relation.TypeBuilder();
225
- let key = SchemasDecorators_1.default.ExtractPrimaryKey(rType);
226
- if (!key)
227
- throw new ConstraintFailException_1.default(`The type ${rType.name} was no one primary key field`);
228
- let relationMap = Type_1.default.GetColumnNameAndType(rType);
229
- let rightSideDBType = Type_1.default.CastType(relationMap.filter(s => s.Field == key)[0].Type);
230
- let leftSideDBType = Type_1.default.CastType(rightSideTypeMap.filter(s => s.Field == leftSideField)[0].Type);
231
- let leftColumnName = leftSideTypeMap.filter(s => s.Field == leftSideField)[0].Column;
232
- let rightColumnName = rightSideTypeMap.filter(s => s.Field == rightSideField)[0].Column;
233
- if (leftSideDBType != rightSideDBType) {
234
- throw new InvalidOperationException_1.default(`${leftSideType.name}.${leftSideField} and ${rightSideType.name}.${rightSideField} must be the same type to join`);
235
- }
236
- query += ` "${leftSideTable}".${leftColumnName} = ANY("${rigthSideTable}".${rightColumnName})`;
237
- }
238
- else {
239
- let dataType = SchemasDecorators_1.default.GetDataTypeAttribute(rightSideType, rightSideField);
240
- if (!dataType) {
241
- throw new InvalidOperationException_1.default(`Can not find the DataAttributeof ${rightSideType.name}.${rightSideField}`);
242
- }
243
- let elementType = Type_1.default.ExtractElementType(dataType);
244
- if (!elementType)
245
- throw new InvalidOperationException_1.default(`Can not determine the array element type of ${rightSideType.name}.${rightSideField}`);
246
- let leftColumnName = leftSideTypeMap.filter(s => s.Field == leftSideField)[0].Column;
247
- let leftSideDBType = Type_1.default.CastType(leftSideTypeMap.filter(s => s.Field == leftSideField)[0].Type);
248
- let rightColumnName = rightSideTypeMap.filter(s => s.Field == rightSideField)[0].Column;
249
- let areNumbers = Type_1.default.IsNumber(Type_1.default.CastType(elementType)) && Type_1.default.IsNumber(leftSideDBType);
250
- let areString = Type_1.default.IsText(Type_1.default.CastType(elementType)) && Type_1.default.IsText(leftSideDBType);
251
- let areDate = Type_1.default.IsDate(Type_1.default.CastType(elementType)) && Type_1.default.IsDate(leftSideDBType);
252
- let areArray = Type_1.default.IsArray(Type_1.default.CastType(elementType)) && Type_1.default.IsArray(leftSideDBType);
253
- let areSameType = this._context["_manager"]["CastToPostgreSQLType"](elementType) == this._context["_manager"]["CastToPostgreSQLType"](leftSideDBType);
254
- let areSerial = this._context["_manager"]["CastToPostgreSQLType"](elementType) == "serial" && this._context["_manager"]["CastToPostgreSQLType"](leftSideDBType) == "serial";
255
- if (!(areNumbers || areString || areDate || areArray || areSameType || areSerial))
256
- throw new InvalidOperationException_1.default(`${leftSideType.name}.${leftSideField} and ${rightSideType.name}.${rightSideField} must be the same type to join`);
257
- query += ` "${leftSideTable}".${leftColumnName} = ANY("${rigthSideTable}".${rightColumnName})`;
258
- }
259
- }
260
- leftSideType = this._stack[i].Type;
261
- }
262
- let where = "";
263
- for (let type of this._stack) {
264
- let set = this._context.Collection(type.Type);
265
- let statements = set["_statements"];
266
- for (let s of statements) {
267
- let operation = s.StatementType.toString();
268
- if (operation == "where" && where.length > 0)
269
- operation = "and";
270
- where += ` ${operation} ${set["EvaluateStatement"](s)}`;
271
- }
272
- }
273
- PGSetHelper_1.default.InjectSQL(selectedSideSet, query);
274
- PGSetHelper_1.default.InjectWhere(selectedSideSet, where);
275
- if (this._firstOrDefault)
276
- selectedSideSet.Limit(1);
277
- return yield selectedSideSet.ToListAsync();
278
- });
279
- }
280
- FirstOrDefaultAsync() {
281
- return __awaiter(this, void 0, void 0, function* () {
282
- this._firstOrDefault = true;
283
- let d = yield this.ToListAsync();
284
- this.Reset();
285
- if (d.length > 0)
286
- return d[0];
287
- return undefined;
288
- });
289
- }
290
- Reset() {
291
- for (let i = 1; i < this._stack.length; i++) {
292
- let type = this._stack[i].Type;
293
- let set = this._context.Collection(type);
294
- set["Reset"]();
295
- }
296
- this._stack = [];
297
- this._firstOrDefault = false;
298
- this._onStatements = [];
299
- }
300
- }
301
- exports.JoinSelectable = JoinSelectable;
302
- //# sourceMappingURL=PGDBContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PGDBContext.js","sourceRoot":"","sources":["../../src/implementations/PGDBContext.ts"],"names":[],"mappings":"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"}
@@ -1,37 +0,0 @@
1
- import { AbstractManager } from 'myorm_core';
2
- import 'reflect-metadata';
3
- import PGDBConnection from './PGDBConnection';
4
- import DBOperationLogHandler from '../core/handlers/DBOperationLogHandler';
5
- export default class PGDBManager extends AbstractManager {
6
- private _connection;
7
- private _logger?;
8
- constructor(connection: PGDBConnection);
9
- CheckConnectionAsync(): Promise<boolean>;
10
- CheckDatabaseAsync(dababase: string): Promise<boolean>;
11
- CreateDataBaseAsync(dababase: string): Promise<void>;
12
- CheckTableAsync(cTor: Function): Promise<boolean>;
13
- CreateTableAsync(cTor: Function): Promise<void>;
14
- CheckColumnAsync(cTor: Function, key: string): Promise<boolean>;
15
- DropTableAsync(cTor: Function): Promise<void>;
16
- CheckColumnTypeAsync(cTor: Function, key: string): Promise<string>;
17
- ChangeColumnTypeAsync(cTor: Function, key: string): Promise<void>;
18
- DropColumnAsync(cTor: Function, key: string): Promise<void>;
19
- CreateColumnAsync(cTor: Function, key: string): Promise<void>;
20
- private GetTypeOfColumn;
21
- UpdateDatabaseForEntityAsync(cTor: Function): Promise<void>;
22
- ExecuteNonQueryAsync(query: string): Promise<void>;
23
- ExecuteAsync(query: string): Promise<any>;
24
- static Build(host: string, port: number, dababase: string, user: string, pass: string): PGDBManager;
25
- static BuildFromEnviroment(): PGDBManager;
26
- private CreatePromisse;
27
- /**
28
- * @private
29
- * @method
30
- * @param {string} type the desing type of class property
31
- * @returns {string} the postgres type correspondent
32
- */
33
- private CastToPostgreSQLType;
34
- SetLogger(logger: DBOperationLogHandler): void;
35
- private Log;
36
- }
37
- //# sourceMappingURL=PGDBManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PGDBManager.d.ts","sourceRoot":"","sources":["../../src/implementations/PGDBManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAG3C,OAAO,kBAAkB,CAAC;AAG1B,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAK9C,OAAO,qBAAkC,MAAM,wCAAwC,CAAC;AAGxF,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,eAAe;IAGpD,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,OAAO,CAAC,CAAyB;gBAEtB,UAAU,EAAG,cAAc;IAMjC,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC;IAoB9C,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAatD,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWpD,eAAe,CAAC,IAAI,EAAG,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBlD,gBAAgB,CAAC,IAAI,EAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAchD,gBAAgB,CAAC,IAAI,EAAG,QAAQ,EAAE,GAAG,EAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAmBjE,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAc7C,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBlE,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBjE,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB3D,iBAAiB,CAAC,IAAI,EAAG,QAAQ,EAAE,GAAG,EAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBtE,OAAO,CAAC,eAAe;IAmDhB,4BAA4B,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAwCrD,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAalD,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;WAaxC,KAAK,CAAC,IAAI,EAAG,MAAM,EAAE,IAAI,EAAG,MAAM,EAAE,QAAQ,EAAG,MAAM,EAAE,IAAI,EAAG,MAAM,EAAE,IAAI,EAAG,MAAM,GAAI,WAAW;WAKlG,mBAAmB;IA8BjC,OAAO,CAAC,cAAc;IA2BtB;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IA2BrB,SAAS,CAAC,MAAM,EAAG,qBAAqB,GAAI,IAAI;IAEvD,OAAO,CAAC,GAAG;CAMd"}