myorm_pg 6.1.2 → 6.1.4

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 (104) hide show
  1. package/lib/__tests__/classes/RawTypes.d.ts +3 -0
  2. package/lib/__tests__/classes/RawTypes.d.ts.map +1 -0
  3. package/lib/__tests__/classes/RawTypes.js +16 -0
  4. package/lib/__tests__/classes/RawTypes.js.map +1 -0
  5. package/lib/__tests__/classes/RelationEntity.d.ts +12 -0
  6. package/lib/__tests__/classes/RelationEntity.d.ts.map +1 -0
  7. package/lib/__tests__/classes/RelationEntity.js +65 -0
  8. package/lib/__tests__/classes/RelationEntity.js.map +1 -0
  9. package/lib/__tests__/classes/TestContext.d.ts +9 -0
  10. package/lib/__tests__/classes/TestContext.d.ts.map +1 -0
  11. package/lib/__tests__/classes/TestContext.js +14 -0
  12. package/lib/__tests__/classes/TestContext.js.map +1 -0
  13. package/lib/__tests__/classes/TestEntity.d.ts +18 -0
  14. package/lib/__tests__/classes/TestEntity.d.ts.map +1 -0
  15. package/lib/__tests__/classes/TestEntity.js +99 -0
  16. package/lib/__tests__/classes/TestEntity.js.map +1 -0
  17. package/lib/__tests__/functions/TestFunctions.d.ts +11 -0
  18. package/lib/__tests__/functions/TestFunctions.d.ts.map +1 -0
  19. package/lib/__tests__/functions/TestFunctions.js +137 -0
  20. package/lib/__tests__/functions/TestFunctions.js.map +1 -0
  21. package/lib/implementations/PGDBSet.d.ts.map +1 -1
  22. package/lib/implementations/PGDBSet.js +13 -4
  23. package/lib/implementations/PGDBSet.js.map +1 -1
  24. package/lib/src/Index.d.ts +41 -0
  25. package/lib/src/Index.d.ts.map +1 -0
  26. package/lib/src/Index.js +64 -0
  27. package/lib/src/Index.js.map +1 -0
  28. package/lib/src/core/decorators/SchemasDecorators.d.ts +45 -0
  29. package/lib/src/core/decorators/SchemasDecorators.d.ts.map +1 -0
  30. package/lib/src/core/decorators/SchemasDecorators.js +145 -0
  31. package/lib/src/core/decorators/SchemasDecorators.js.map +1 -0
  32. package/lib/src/core/design/Type.d.ts +39 -0
  33. package/lib/src/core/design/Type.d.ts.map +1 -0
  34. package/lib/src/core/design/Type.js +144 -0
  35. package/lib/src/core/design/Type.js.map +1 -0
  36. package/lib/src/core/enums/DBTypes.d.ts +19 -0
  37. package/lib/src/core/enums/DBTypes.d.ts.map +1 -0
  38. package/lib/src/core/enums/DBTypes.js +23 -0
  39. package/lib/src/core/enums/DBTypes.js.map +1 -0
  40. package/lib/src/core/enums/RelationType.d.ts +7 -0
  41. package/lib/src/core/enums/RelationType.d.ts.map +1 -0
  42. package/lib/src/core/enums/RelationType.js +11 -0
  43. package/lib/src/core/enums/RelationType.js.map +1 -0
  44. package/lib/src/core/exceptions/ConnectionFailException.d.ts +5 -0
  45. package/lib/src/core/exceptions/ConnectionFailException.d.ts.map +1 -0
  46. package/lib/src/core/exceptions/ConnectionFailException.js +13 -0
  47. package/lib/src/core/exceptions/ConnectionFailException.js.map +1 -0
  48. package/lib/src/core/exceptions/ConstraintFailException.d.ts +5 -0
  49. package/lib/src/core/exceptions/ConstraintFailException.d.ts.map +1 -0
  50. package/lib/src/core/exceptions/ConstraintFailException.js +13 -0
  51. package/lib/src/core/exceptions/ConstraintFailException.js.map +1 -0
  52. package/lib/src/core/exceptions/Exception.d.ts +5 -0
  53. package/lib/src/core/exceptions/Exception.d.ts.map +1 -0
  54. package/lib/src/core/exceptions/Exception.js +10 -0
  55. package/lib/src/core/exceptions/Exception.js.map +1 -0
  56. package/lib/src/core/exceptions/InvalidOperationException.d.ts +6 -0
  57. package/lib/src/core/exceptions/InvalidOperationException.d.ts.map +1 -0
  58. package/lib/src/core/exceptions/InvalidOperationException.js +14 -0
  59. package/lib/src/core/exceptions/InvalidOperationException.js.map +1 -0
  60. package/lib/src/core/exceptions/NotImplementedException.d.ts +5 -0
  61. package/lib/src/core/exceptions/NotImplementedException.d.ts.map +1 -0
  62. package/lib/src/core/exceptions/NotImplementedException.js +13 -0
  63. package/lib/src/core/exceptions/NotImplementedException.js.map +1 -0
  64. package/lib/src/core/exceptions/QueryFailException.d.ts +6 -0
  65. package/lib/src/core/exceptions/QueryFailException.d.ts.map +1 -0
  66. package/lib/src/core/exceptions/QueryFailException.js +14 -0
  67. package/lib/src/core/exceptions/QueryFailException.js.map +1 -0
  68. package/lib/src/core/exceptions/TypeNotMappedException.d.ts +5 -0
  69. package/lib/src/core/exceptions/TypeNotMappedException.d.ts.map +1 -0
  70. package/lib/src/core/exceptions/TypeNotMappedException.js +13 -0
  71. package/lib/src/core/exceptions/TypeNotMappedException.js.map +1 -0
  72. package/lib/src/core/exceptions/TypeNotSuportedException.d.ts +5 -0
  73. package/lib/src/core/exceptions/TypeNotSuportedException.d.ts.map +1 -0
  74. package/lib/src/core/exceptions/TypeNotSuportedException.js +13 -0
  75. package/lib/src/core/exceptions/TypeNotSuportedException.js.map +1 -0
  76. package/lib/src/core/handlers/DBOperationLogHandler.d.ts +17 -0
  77. package/lib/src/core/handlers/DBOperationLogHandler.d.ts.map +1 -0
  78. package/lib/src/core/handlers/DBOperationLogHandler.js +18 -0
  79. package/lib/src/core/handlers/DBOperationLogHandler.js.map +1 -0
  80. package/lib/src/implementations/PGDBConnection.d.ts +19 -0
  81. package/lib/src/implementations/PGDBConnection.d.ts.map +1 -0
  82. package/lib/src/implementations/PGDBConnection.js +105 -0
  83. package/lib/src/implementations/PGDBConnection.js.map +1 -0
  84. package/lib/src/implementations/PGDBContext.d.ts +54 -0
  85. package/lib/src/implementations/PGDBContext.d.ts.map +1 -0
  86. package/lib/src/implementations/PGDBContext.js +302 -0
  87. package/lib/src/implementations/PGDBContext.js.map +1 -0
  88. package/lib/src/implementations/PGDBManager.d.ts +37 -0
  89. package/lib/src/implementations/PGDBManager.d.ts.map +1 -0
  90. package/lib/src/implementations/PGDBManager.js +296 -0
  91. package/lib/src/implementations/PGDBManager.js.map +1 -0
  92. package/lib/src/implementations/PGDBSet.d.ts +60 -0
  93. package/lib/src/implementations/PGDBSet.d.ts.map +1 -0
  94. package/lib/src/implementations/PGDBSet.js +1385 -0
  95. package/lib/src/implementations/PGDBSet.js.map +1 -0
  96. package/lib/src/implementations/PGFluentField.d.ts +18 -0
  97. package/lib/src/implementations/PGFluentField.d.ts.map +1 -0
  98. package/lib/src/implementations/PGFluentField.js +155 -0
  99. package/lib/src/implementations/PGFluentField.js.map +1 -0
  100. package/lib/src/implementations/PGSetHelper.d.ts +19 -0
  101. package/lib/src/implementations/PGSetHelper.d.ts.map +1 -0
  102. package/lib/src/implementations/PGSetHelper.js +48 -0
  103. package/lib/src/implementations/PGSetHelper.js.map +1 -0
  104. package/package.json +1 -1
@@ -0,0 +1,3 @@
1
+ export default class RawTypes {
2
+ }
3
+ //# sourceMappingURL=RawTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RawTypes.d.ts","sourceRoot":"","sources":["../../../__tests__/classes/RawTypes.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,OAAO,QAAQ;CAG5B"}
@@ -0,0 +1,16 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const Index_1 = require("../../src/Index");
10
+ let RawTypes = class RawTypes {
11
+ };
12
+ RawTypes = __decorate([
13
+ (0, Index_1.Table)()
14
+ ], RawTypes);
15
+ exports.default = RawTypes;
16
+ //# sourceMappingURL=RawTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RawTypes.js","sourceRoot":"","sources":["../../../__tests__/classes/RawTypes.ts"],"names":[],"mappings":";;;;;;;;AAAA,2CAAwC;AAGzB,IAAM,QAAQ,GAAd,MAAM,QAAQ;CAG5B,CAAA;AAHoB,QAAQ;IAD5B,IAAA,aAAK,GAAE;GACa,QAAQ,CAG5B;kBAHoB,QAAQ"}
@@ -0,0 +1,12 @@
1
+ import { Person } from './TestEntity';
2
+ export declare class Message {
3
+ Id: number;
4
+ Message: string;
5
+ From?: Person;
6
+ User?: Person;
7
+ To?: Person[];
8
+ LinkTestValueInMessage?: number;
9
+ LinkTestArrayInMessage?: number[];
10
+ constructor(message: string, from?: Person, to?: Person[]);
11
+ }
12
+ //# sourceMappingURL=RelationEntity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationEntity.d.ts","sourceRoot":"","sources":["../../../__tests__/classes/RelationEntity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,qBACa,OAAO;IAKT,EAAE,EAAG,MAAM,CAAM;IAGjB,OAAO,EAAG,MAAM,CAAC;IAIjB,IAAI,CAAC,EAAG,MAAM,CAAC;IAKf,IAAI,CAAC,EAAG,MAAM,CAAC;IAIf,EAAE,CAAC,EAAG,MAAM,EAAE,CAAC;IAIf,sBAAsB,CAAC,EAAG,MAAM,CAAC;IAIjC,sBAAsB,CAAC,EAAG,MAAM,EAAE,CAAC;gBAG9B,OAAO,EAAG,MAAM,EAAE,IAAI,CAAC,EAAG,MAAM,EAAE,EAAE,CAAC,EAAG,MAAM,EAAE;CAW/D"}
@@ -0,0 +1,65 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.Message = void 0;
13
+ const Index_1 = require("../../src/Index");
14
+ const TestEntity_1 = require("./TestEntity");
15
+ let Message = class Message {
16
+ constructor(message, from, to) {
17
+ this.Id = -1;
18
+ this.Message = message;
19
+ this.From = from;
20
+ this.To = to;
21
+ this.LinkTestValueInMessage = -1;
22
+ this.LinkTestArrayInMessage = [];
23
+ this.User = undefined;
24
+ }
25
+ };
26
+ exports.Message = Message;
27
+ __decorate([
28
+ (0, Index_1.PrimaryKey)(),
29
+ (0, Index_1.Column)(),
30
+ (0, Index_1.DataType)(Index_1.DBTypes.SERIAL),
31
+ __metadata("design:type", Number)
32
+ ], Message.prototype, "Id", void 0);
33
+ __decorate([
34
+ (0, Index_1.Column)(),
35
+ __metadata("design:type", String)
36
+ ], Message.prototype, "Message", void 0);
37
+ __decorate([
38
+ (0, Index_1.Column)(),
39
+ (0, Index_1.ManyToOne)(() => TestEntity_1.Person, "MessagesWriten"),
40
+ __metadata("design:type", TestEntity_1.Person)
41
+ ], Message.prototype, "From", void 0);
42
+ __decorate([
43
+ (0, Index_1.Column)(),
44
+ (0, Index_1.OneToOne)(() => TestEntity_1.Person, "Message"),
45
+ __metadata("design:type", TestEntity_1.Person)
46
+ ], Message.prototype, "User", void 0);
47
+ __decorate([
48
+ (0, Index_1.Column)(),
49
+ (0, Index_1.ManyToMany)(() => TestEntity_1.Person, "MessagesReceived"),
50
+ __metadata("design:type", Array)
51
+ ], Message.prototype, "To", void 0);
52
+ __decorate([
53
+ (0, Index_1.Column)(),
54
+ __metadata("design:type", Number)
55
+ ], Message.prototype, "LinkTestValueInMessage", void 0);
56
+ __decorate([
57
+ (0, Index_1.Column)(),
58
+ (0, Index_1.DataType)(Index_1.DBTypes.INTEGERARRAY),
59
+ __metadata("design:type", Array)
60
+ ], Message.prototype, "LinkTestArrayInMessage", void 0);
61
+ exports.Message = Message = __decorate([
62
+ (0, Index_1.Table)("message_tb"),
63
+ __metadata("design:paramtypes", [String, TestEntity_1.Person, Array])
64
+ ], Message);
65
+ //# sourceMappingURL=RelationEntity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationEntity.js","sourceRoot":"","sources":["../../../__tests__/classes/RelationEntity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA+G;AAC/G,6CAAsC;AAG/B,IAAM,OAAO,GAAb,MAAM,OAAO;IAgChB,YAAY,OAAgB,EAAE,IAAc,EAAE,EAAc;QA3BrD,OAAE,GAAY,CAAC,CAAC,CAAC;QA6BpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;IAC1B,CAAC;CAGJ,CAAA;AA3CY,0BAAO;AAKT;IAHN,IAAA,kBAAU,GAAE;IACZ,IAAA,cAAM,GAAE;IACR,IAAA,gBAAQ,EAAC,eAAO,CAAC,MAAM,CAAC;;mCACD;AAGjB;IADN,IAAA,cAAM,GAAE;;wCACe;AAIjB;IAFN,IAAA,cAAM,GAAE;IACR,IAAA,iBAAS,EAAC,GAAE,EAAE,CAAC,mBAAM,EAAE,gBAAgB,CAAC;8BAC1B,mBAAM;qCAAC;AAKf;IAFN,IAAA,cAAM,GAAE;IACR,IAAA,gBAAQ,EAAC,GAAE,EAAE,CAAC,mBAAM,EAAE,SAAS,CAAC;8BAClB,mBAAM;qCAAC;AAIf;IAFN,IAAA,cAAM,GAAE;IACR,IAAA,kBAAU,EAAC,GAAE,EAAE,CAAC,mBAAM,EAAE,kBAAkB,CAAC;;mCACtB;AAIf;IADN,IAAA,cAAM,GAAE;;uDAC+B;AAIjC;IAFN,IAAA,cAAM,GAAE;IACR,IAAA,gBAAQ,EAAC,eAAO,CAAC,YAAY,CAAC;;uDACW;kBA7BjC,OAAO;IADnB,IAAA,aAAK,EAAC,YAAY,CAAC;6CAiCsB,mBAAM;GAhCnC,OAAO,CA2CnB"}
@@ -0,0 +1,9 @@
1
+ import { PGDBManager, PGDBContext, PGDBSet } from '../../src/Index';
2
+ import { Message } from './RelationEntity';
3
+ import { Person } from './TestEntity';
4
+ export default class Context extends PGDBContext {
5
+ Persons: PGDBSet<Person>;
6
+ Messages: PGDBSet<Message>;
7
+ constructor(manager: PGDBManager);
8
+ }
9
+ //# sourceMappingURL=TestContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestContext.d.ts","sourceRoot":"","sources":["../../../__tests__/classes/TestContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAC,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,WAAW;IAErC,OAAO,EAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1B,QAAQ,EAAG,OAAO,CAAC,OAAO,CAAC,CAAC;gBAEvB,OAAO,EAAG,WAAW;CAMpC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const Index_1 = require("../../src/Index");
4
+ const RelationEntity_1 = require("./RelationEntity");
5
+ const TestEntity_1 = require("./TestEntity");
6
+ class Context extends Index_1.PGDBContext {
7
+ constructor(manager) {
8
+ super(manager);
9
+ this.Persons = new Index_1.PGDBSet(TestEntity_1.Person, this);
10
+ this.Messages = new Index_1.PGDBSet(RelationEntity_1.Message, this);
11
+ }
12
+ }
13
+ exports.default = Context;
14
+ //# sourceMappingURL=TestContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestContext.js","sourceRoot":"","sources":["../../../__tests__/classes/TestContext.ts"],"names":[],"mappings":";;AAAA,2CAAmE;AACnE,qDAA2C;AAC3C,6CAAsC;AAGtC,MAAqB,OAAQ,SAAQ,mBAAW;IAK5C,YAAY,OAAqB;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,IAAI,eAAO,CAAC,mBAAM,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAO,CAAC,wBAAO,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;CACJ;AAXD,0BAWC"}
@@ -0,0 +1,18 @@
1
+ import { Message } from './RelationEntity';
2
+ export declare class Person {
3
+ Id: number;
4
+ Name: string;
5
+ Email: string;
6
+ Age: number;
7
+ CEP: number;
8
+ Message?: Message;
9
+ PhoneNumbers: string[];
10
+ Documents: number[];
11
+ Birth: Date;
12
+ MessagesWriten?: Message[];
13
+ MessagesReceived?: Message[];
14
+ LinkTestValueInPerson: number;
15
+ LinkTestArrayInPerson: number[];
16
+ constructor(name?: string, email?: string, age?: number);
17
+ }
18
+ //# sourceMappingURL=TestEntity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestEntity.d.ts","sourceRoot":"","sources":["../../../__tests__/classes/TestEntity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,qBACa,MAAM;IAKR,EAAE,EAAG,MAAM,CAAM;IAGjB,IAAI,EAAG,MAAM,CAAC;IAGd,KAAK,EAAG,MAAM,CAAC;IAGf,GAAG,EAAG,MAAM,CAAC;IAKb,GAAG,EAAG,MAAM,CAAC;IAIb,OAAO,CAAC,EAAG,OAAO,CAAC;IAInB,YAAY,EAAG,MAAM,EAAE,CAAC;IAIxB,SAAS,EAAG,MAAM,EAAE,CAAC;IAIrB,KAAK,EAAG,IAAI,CAAC;IAKb,cAAc,CAAC,EAAG,OAAO,EAAE,CAAC;IAI5B,gBAAgB,CAAC,EAAG,OAAO,EAAE,CAAC;IAI9B,qBAAqB,EAAG,MAAM,CAAC;IAI/B,qBAAqB,EAAG,MAAM,EAAE,CAAC;gBAE5B,IAAI,GAAG,MAAW,EAAE,KAAK,GAAG,MAAW,EAAE,GAAG,GAAG,MAAU;CAkBxE"}
@@ -0,0 +1,99 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.Person = void 0;
13
+ const Index_1 = require("../../src/Index");
14
+ const RelationEntity_1 = require("./RelationEntity");
15
+ let Person = class Person {
16
+ constructor(name = "", email = "", age = 1) {
17
+ this.Id = -1;
18
+ this.Name = name;
19
+ this.Email = email;
20
+ this.Age = age;
21
+ this.CEP = -1;
22
+ this.PhoneNumbers = [];
23
+ this.Birth = new Date(1992, 4, 23);
24
+ this.Documents = [];
25
+ this.MessagesReceived = [];
26
+ this.MessagesWriten = [];
27
+ this.LinkTestValueInPerson = -1;
28
+ this.LinkTestArrayInPerson = [];
29
+ this.Message = undefined;
30
+ }
31
+ };
32
+ exports.Person = Person;
33
+ __decorate([
34
+ (0, Index_1.PrimaryKey)(),
35
+ (0, Index_1.Column)(),
36
+ (0, Index_1.DataType)(Index_1.DBTypes.SERIAL),
37
+ __metadata("design:type", Number)
38
+ ], Person.prototype, "Id", void 0);
39
+ __decorate([
40
+ (0, Index_1.Column)(),
41
+ __metadata("design:type", String)
42
+ ], Person.prototype, "Name", void 0);
43
+ __decorate([
44
+ (0, Index_1.Column)("email_address"),
45
+ __metadata("design:type", String)
46
+ ], Person.prototype, "Email", void 0);
47
+ __decorate([
48
+ (0, Index_1.Column)(),
49
+ __metadata("design:type", Number)
50
+ ], Person.prototype, "Age", void 0);
51
+ __decorate([
52
+ (0, Index_1.Column)(),
53
+ (0, Index_1.DataType)(Index_1.DBTypes.INTEGER),
54
+ __metadata("design:type", Number)
55
+ ], Person.prototype, "CEP", void 0);
56
+ __decorate([
57
+ (0, Index_1.Column)(),
58
+ (0, Index_1.OneToOne)(() => RelationEntity_1.Message, "User"),
59
+ __metadata("design:type", RelationEntity_1.Message)
60
+ ], Person.prototype, "Message", void 0);
61
+ __decorate([
62
+ (0, Index_1.Column)(),
63
+ (0, Index_1.DataType)(Index_1.DBTypes.TEXTARRAY),
64
+ __metadata("design:type", Array)
65
+ ], Person.prototype, "PhoneNumbers", void 0);
66
+ __decorate([
67
+ (0, Index_1.Column)(),
68
+ (0, Index_1.DataType)(Index_1.DBTypes.INTEGERARRAY),
69
+ __metadata("design:type", Array)
70
+ ], Person.prototype, "Documents", void 0);
71
+ __decorate([
72
+ (0, Index_1.Column)(),
73
+ (0, Index_1.DataType)(Index_1.DBTypes.DATE),
74
+ __metadata("design:type", Date)
75
+ ], Person.prototype, "Birth", void 0);
76
+ __decorate([
77
+ (0, Index_1.Column)(),
78
+ (0, Index_1.OneToMany)(() => RelationEntity_1.Message, "From"),
79
+ __metadata("design:type", Array)
80
+ ], Person.prototype, "MessagesWriten", void 0);
81
+ __decorate([
82
+ (0, Index_1.Column)(),
83
+ (0, Index_1.ManyToMany)(() => RelationEntity_1.Message, "To"),
84
+ __metadata("design:type", Array)
85
+ ], Person.prototype, "MessagesReceived", void 0);
86
+ __decorate([
87
+ (0, Index_1.Column)(),
88
+ __metadata("design:type", Number)
89
+ ], Person.prototype, "LinkTestValueInPerson", void 0);
90
+ __decorate([
91
+ (0, Index_1.Column)(),
92
+ (0, Index_1.DataType)(Index_1.DBTypes.INTEGERARRAY),
93
+ __metadata("design:type", Array)
94
+ ], Person.prototype, "LinkTestArrayInPerson", void 0);
95
+ exports.Person = Person = __decorate([
96
+ (0, Index_1.Table)("person_tb"),
97
+ __metadata("design:paramtypes", [String, String, Number])
98
+ ], Person);
99
+ //# sourceMappingURL=TestEntity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestEntity.js","sourceRoot":"","sources":["../../../__tests__/classes/TestEntity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA+G;AAC/G,qDAA2C;AAGpC,IAAM,MAAM,GAAZ,MAAM,MAAM;IAsDf,YAAY,OAAgB,EAAE,EAAE,QAAiB,EAAE,EAAE,MAAe,CAAC;QAjD9D,OAAE,GAAY,CAAC,CAAC,CAAC;QAmDpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACd,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,EAAC,CAAC,EAAC,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAE7B,CAAC;CAGJ,CAAA;AAxEY,wBAAM;AAKR;IAHN,IAAA,kBAAU,GAAE;IACZ,IAAA,cAAM,GAAE;IACR,IAAA,gBAAQ,EAAC,eAAO,CAAC,MAAM,CAAC;;kCACD;AAGjB;IADN,IAAA,cAAM,GAAE;;oCACY;AAGd;IADN,IAAA,cAAM,EAAC,eAAe,CAAC;;qCACF;AAGf;IADN,IAAA,cAAM,GAAE;;mCACW;AAKb;IAFN,IAAA,cAAM,GAAE;IACR,IAAA,gBAAQ,EAAC,eAAO,CAAC,OAAO,CAAC;;mCACN;AAIb;IAFN,IAAA,cAAM,GAAE;IACR,IAAA,gBAAQ,EAAC,GAAE,EAAE,CAAC,wBAAO,EAAE,MAAM,CAAC;8BACb,wBAAO;uCAAC;AAInB;IAFN,IAAA,cAAM,GAAE;IACR,IAAA,gBAAQ,EAAC,eAAO,CAAC,SAAS,CAAC;;4CACG;AAIxB;IAFN,IAAA,cAAM,GAAE;IACR,IAAA,gBAAQ,EAAC,eAAO,CAAC,YAAY,CAAC;;yCACH;AAIrB;IAFN,IAAA,cAAM,GAAE;IACR,IAAA,gBAAQ,EAAC,eAAO,CAAC,IAAI,CAAC;8BACR,IAAI;qCAAC;AAKb;IAFN,IAAA,cAAM,GAAE;IACR,IAAA,iBAAS,EAAC,GAAE,EAAE,CAAC,wBAAO,EAAE,MAAM,CAAC;;8CACG;AAI5B;IAFN,IAAA,cAAM,GAAE;IACR,IAAA,kBAAU,EAAC,GAAE,EAAE,CAAC,wBAAO,EAAE,IAAI,CAAC;;gDACM;AAI9B;IADN,IAAA,cAAM,GAAE;;qDAC6B;AAI/B;IAFN,IAAA,cAAM,GAAE;IACR,IAAA,gBAAQ,EAAC,eAAO,CAAC,YAAY,CAAC;;qDACS;iBApD/B,MAAM;IADlB,IAAA,aAAK,EAAC,WAAW,CAAC;;GACN,MAAM,CAwElB"}
@@ -0,0 +1,11 @@
1
+ import PGDBConnection from "../../src/implementations/PGDBConnection";
2
+ import Context from "../classes/TestContext";
3
+ export declare function Try(action: () => void, onError?: (e: Error) => void): void;
4
+ export declare function TryAsync(action: () => Promise<void>, onError?: (e: Error) => void): Promise<void>;
5
+ export declare function CreateConnection(): PGDBConnection;
6
+ export declare function CreateContext(): Context;
7
+ export declare function SeedAsync(): Promise<Context>;
8
+ export declare function CompleteSeedAsync(): Promise<Context>;
9
+ export declare function TruncatePersonTableAsync(): Promise<void>;
10
+ export declare function TruncateTablesAsync(): Promise<void>;
11
+ //# sourceMappingURL=TestFunctions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestFunctions.d.ts","sourceRoot":"","sources":["../../../__tests__/functions/TestFunctions.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,0CAA0C,CAAC;AACtE,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAM7C,wBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,QAMnE;AAED,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC3B,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,iBAO7B;AAED,wBAAgB,gBAAgB,mBAE/B;AAED,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAGD,wBAAsB,SAAS,IAAK,OAAO,CAAC,OAAO,CAAC,CAiBnD;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAwD1D;AAED,wBAAsB,wBAAwB,kBAK7C;AAED,wBAAsB,mBAAmB,kBAMxC"}
@@ -0,0 +1,137 @@
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.TruncateTablesAsync = exports.TruncatePersonTableAsync = exports.CompleteSeedAsync = exports.SeedAsync = exports.CreateContext = exports.CreateConnection = exports.TryAsync = exports.Try = void 0;
16
+ const PGDBConnection_1 = __importDefault(require("../../src/implementations/PGDBConnection"));
17
+ const TestContext_1 = __importDefault(require("../classes/TestContext"));
18
+ const PGDBManager_1 = __importDefault(require("../../src/implementations/PGDBManager"));
19
+ const TestEntity_1 = require("../classes/TestEntity");
20
+ const Type_1 = __importDefault(require("../../src/core/design/Type"));
21
+ const RelationEntity_1 = require("../classes/RelationEntity");
22
+ function Try(action, onError) {
23
+ try {
24
+ action();
25
+ }
26
+ catch (ex) {
27
+ if (onError)
28
+ onError(ex);
29
+ }
30
+ }
31
+ exports.Try = Try;
32
+ function TryAsync(action, onError) {
33
+ return __awaiter(this, void 0, void 0, function* () {
34
+ try {
35
+ yield action();
36
+ }
37
+ catch (ex) {
38
+ if (onError)
39
+ onError(ex);
40
+ }
41
+ });
42
+ }
43
+ exports.TryAsync = TryAsync;
44
+ function CreateConnection() {
45
+ return new PGDBConnection_1.default("localhost", 5434, "test_db", "supervisor", "sup");
46
+ }
47
+ exports.CreateConnection = CreateConnection;
48
+ function CreateContext() {
49
+ return new TestContext_1.default(new PGDBManager_1.default(CreateConnection()));
50
+ }
51
+ exports.CreateContext = CreateContext;
52
+ function SeedAsync() {
53
+ return __awaiter(this, void 0, void 0, function* () {
54
+ yield TruncateTablesAsync();
55
+ let context = CreateContext();
56
+ let adriano = new TestEntity_1.Person("Adriano", "adriano@test.com");
57
+ adriano.Birth = new Date(1992, 4, 23);
58
+ adriano.Documents = [123, 4, 5, 678, 9];
59
+ adriano.PhoneNumbers = ['+55(12)98206-8255'];
60
+ yield context.Persons.AddAsync(adriano);
61
+ let camila = new TestEntity_1.Person("Camila", "camila@test.com");
62
+ camila.Documents = [];
63
+ yield context.Persons.AddAsync(camila);
64
+ yield context.Persons.AddAsync(new TestEntity_1.Person("Juliana", "juliana@test.com"));
65
+ yield context.Persons.AddAsync(new TestEntity_1.Person("Andre", "andre@test.com"));
66
+ return context;
67
+ });
68
+ }
69
+ exports.SeedAsync = SeedAsync;
70
+ function CompleteSeedAsync() {
71
+ return __awaiter(this, void 0, void 0, function* () {
72
+ let context = CreateContext();
73
+ yield TruncateTablesAsync();
74
+ let adriano = new TestEntity_1.Person("adriano", "adriano@test.com");
75
+ adriano.Birth = new Date(1992, 4, 23);
76
+ adriano.Documents = [1234432, 443224, 4324322, 32142132, 432432545];
77
+ adriano.LinkTestValueInPerson = 1;
78
+ adriano.LinkTestArrayInPerson = [1, 2, 3, 4, 5];
79
+ yield context.Persons.AddAsync(adriano);
80
+ let camila = new TestEntity_1.Person("camila", "camila@test.com");
81
+ camila.Birth = new Date(1992, 6, 21);
82
+ camila.Documents = [5435436, 76576523, 43256778];
83
+ camila.LinkTestValueInPerson = 2;
84
+ camila.LinkTestArrayInPerson = [1, 2, 3, 4, 5];
85
+ yield context.Persons.AddAsync(camila);
86
+ let juliana = new TestEntity_1.Person("juliana", "juliana@test.com");
87
+ juliana.Birth = new Date(1993, 4, 30);
88
+ juliana.Documents = [1232323, 42321, 51211, 321321, 932432];
89
+ juliana.LinkTestValueInPerson = 3;
90
+ juliana.LinkTestArrayInPerson = [2, 3, 4];
91
+ yield context.Persons.AddAsync(juliana);
92
+ let andre = new TestEntity_1.Person("andre", "andre@test.com");
93
+ andre.Birth = new Date(1995, 4, 18);
94
+ andre.Documents = [4324543, 5543543, 543543543, 954351];
95
+ andre.LinkTestValueInPerson = 4;
96
+ andre.LinkTestArrayInPerson = [1, 2, 3];
97
+ yield context.Persons.AddAsync(andre);
98
+ let msg = new RelationEntity_1.Message('Some message from Adriano', adriano, [camila, juliana, andre]);
99
+ msg.LinkTestValueInMessage = 1;
100
+ msg.LinkTestArrayInMessage = [1, 2, 3, 4, 5];
101
+ yield context.Messages.AddAsync(msg);
102
+ msg = new RelationEntity_1.Message('Some private message from Adriano', adriano, [camila]);
103
+ msg.LinkTestValueInMessage = 2;
104
+ msg.LinkTestArrayInMessage = [1];
105
+ yield context.Messages.AddAsync(msg);
106
+ msg = new RelationEntity_1.Message('Some message from Camila', camila, [adriano, juliana, andre]);
107
+ msg.LinkTestValueInMessage = undefined;
108
+ msg.LinkTestArrayInMessage = [1, 2, 3, 4, 5, 5, 6, 7];
109
+ yield context.Messages.AddAsync(msg);
110
+ msg = new RelationEntity_1.Message('Some message from Adriano to nobody', adriano, []);
111
+ msg.LinkTestValueInMessage = 7;
112
+ msg.LinkTestArrayInMessage = undefined;
113
+ yield context.Messages.AddAsync(msg);
114
+ return context;
115
+ });
116
+ }
117
+ exports.CompleteSeedAsync = CompleteSeedAsync;
118
+ function TruncatePersonTableAsync() {
119
+ return __awaiter(this, void 0, void 0, function* () {
120
+ let conn = CreateConnection();
121
+ yield conn.OpenAsync();
122
+ yield conn.ExecuteNonQueryAsync(`truncate table ${Type_1.default.GetTableName(TestEntity_1.Person)}`);
123
+ yield conn.CloseAsync();
124
+ });
125
+ }
126
+ exports.TruncatePersonTableAsync = TruncatePersonTableAsync;
127
+ function TruncateTablesAsync() {
128
+ return __awaiter(this, void 0, void 0, function* () {
129
+ let conn = CreateConnection();
130
+ yield conn.OpenAsync();
131
+ yield conn.ExecuteNonQueryAsync(`truncate table ${Type_1.default.GetTableName(TestEntity_1.Person)}`);
132
+ yield conn.ExecuteNonQueryAsync(`truncate table ${Type_1.default.GetTableName(RelationEntity_1.Message)}`);
133
+ yield conn.CloseAsync();
134
+ });
135
+ }
136
+ exports.TruncateTablesAsync = TruncateTablesAsync;
137
+ //# sourceMappingURL=TestFunctions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestFunctions.js","sourceRoot":"","sources":["../../../__tests__/functions/TestFunctions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PGDBSet.d.ts","sourceRoot":"","sources":["../../src/implementations/PGDBSet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PGDBSet.d.ts","sourceRoot":"","sources":["../../src/implementations/PGDBSet.ts"],"names":[],"mappings":"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"}
@@ -88,6 +88,8 @@ class PGDBSet extends myorm_core_1.AbstractSet {
88
88
  }
89
89
  if (key == undefined)
90
90
  throw new InvalidOperationException_1.default(`The type ${this._type.name} must have a primary key field`);
91
+ if (Type_1.default.HasValue(Reflect.get(obj, key.Property)))
92
+ throw new InvalidOperationException_1.default(`Can not add a ${this._type.name} with ${key.Property} provided`);
91
93
  sql = sql.substring(0, sql.length - 1) + ") ";
92
94
  values = values.substring(0, values.length - 1) + ")";
93
95
  let insert = `${sql} ${values} ${returnKey};`;
@@ -377,10 +379,14 @@ class PGDBSet extends myorm_core_1.AbstractSet {
377
379
  return this.UpdateObjectAsync(obj, false, relations ? relations.map(s => s.toString()) : []);
378
380
  });
379
381
  }
380
- UpdateObjectAsync(obj, cascade, relationsAllowed, fieldsAllowed) {
382
+ UpdateObjectAsync(obj, cascade, relationsAllowed, fieldsAllowed, visiteds = []) {
381
383
  return this.CreatePromisse(() => __awaiter(this, void 0, void 0, function* () {
382
384
  var _a, _b;
383
385
  relationsAllowed = relationsAllowed !== null && relationsAllowed !== void 0 ? relationsAllowed : [];
386
+ visiteds = visiteds !== null && visiteds !== void 0 ? visiteds : [];
387
+ if (visiteds.indexOf(obj) > -1)
388
+ return obj;
389
+ visiteds.push(obj);
384
390
  if (!this.IsCorrectType(obj))
385
391
  throw new InvalidOperationException_1.default(`The object passed as argument is not a ${this._type.name} instance`);
386
392
  if (!obj)
@@ -434,7 +440,8 @@ class PGDBSet extends myorm_core_1.AbstractSet {
434
440
  for (let where of wheres) {
435
441
  update += ` ${where.StatementType} ${this.EvaluateStatement(where)} `;
436
442
  }
437
- yield this._manager.ExecuteNonQueryAsync(update);
443
+ if (values.trim().length > 1)
444
+ yield this._manager.ExecuteNonQueryAsync(update);
438
445
  let subTypesUpdates = [];
439
446
  for (let sub of subTypes) {
440
447
  let subObj = Reflect.get(obj, sub.Field);
@@ -494,6 +501,7 @@ class PGDBSet extends myorm_core_1.AbstractSet {
494
501
  value = item == undefined ? [] : item[subKey];
495
502
  value = value !== null && value !== void 0 ? value : [];
496
503
  }
504
+ value = value.filter(s => Reflect.get(s, key.Property) != Reflect.get(obj, key.Property));
497
505
  value.push(obj);
498
506
  Reflect.set(i, subKey, value);
499
507
  }
@@ -515,6 +523,7 @@ class PGDBSet extends myorm_core_1.AbstractSet {
515
523
  value = item == undefined ? [] : item[subKey];
516
524
  value = value !== null && value !== void 0 ? value : [];
517
525
  }
526
+ value = value.filter(s => Reflect.get(s, key.Property) != Reflect.get(obj, key.Property));
518
527
  value.push(obj);
519
528
  Reflect.set(subObj, subKey, value);
520
529
  }
@@ -546,7 +555,7 @@ class PGDBSet extends myorm_core_1.AbstractSet {
546
555
  if (!Type_1.default.HasValue(Reflect.get(i, subPK)))
547
556
  yield colletion["AddAsync"](i);
548
557
  else if (!hasSubrelation || (cascade || relationsAllowed.filter(s => s == sub.Field).length > 0))
549
- yield colletion["UpdateObjectAsync"](i, false);
558
+ yield colletion["UpdateObjectAsync"](i, false, [], [], visiteds);
550
559
  }
551
560
  }
552
561
  else {
@@ -555,7 +564,7 @@ class PGDBSet extends myorm_core_1.AbstractSet {
555
564
  if (!Type_1.default.HasValue(Reflect.get(subObj, subPK)))
556
565
  yield colletion["AddAsync"](subObj);
557
566
  else if (!hasSubrelation || (cascade || relationsAllowed.filter(s => s == sub.Field).length > 0))
558
- yield colletion["UpdateObjectAsync"](subObj, false);
567
+ yield colletion["UpdateObjectAsync"](subObj, false, [], [], visiteds);
559
568
  }
560
569
  let columnType = Type_1.default.CastType(Type_1.default.GetDesingTimeTypeName(subType, subPK));
561
570
  if ((relation === null || relation === void 0 ? void 0 : relation.Relation) == RelationType_1.RelationType.MANY_TO_MANY || (relation === null || relation === void 0 ? void 0 : relation.Relation) == RelationType_1.RelationType.ONE_TO_MANY)