myorm_pg 1.0.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 (82) hide show
  1. package/lib/Index.d.ts +29 -0
  2. package/lib/Index.d.ts.map +1 -0
  3. package/lib/Index.js +52 -0
  4. package/lib/Index.js.map +1 -0
  5. package/lib/core/decorators/SchemasDecorators.d.ts +42 -0
  6. package/lib/core/decorators/SchemasDecorators.d.ts.map +1 -0
  7. package/lib/core/decorators/SchemasDecorators.js +81 -0
  8. package/lib/core/decorators/SchemasDecorators.js.map +1 -0
  9. package/lib/core/design/Type.d.ts +37 -0
  10. package/lib/core/design/Type.d.ts.map +1 -0
  11. package/lib/core/design/Type.js +132 -0
  12. package/lib/core/design/Type.js.map +1 -0
  13. package/lib/core/enums/DBTypes.d.ts +19 -0
  14. package/lib/core/enums/DBTypes.d.ts.map +1 -0
  15. package/lib/core/enums/DBTypes.js +23 -0
  16. package/lib/core/enums/DBTypes.js.map +1 -0
  17. package/lib/core/enums/RelationType.d.ts +7 -0
  18. package/lib/core/enums/RelationType.d.ts.map +1 -0
  19. package/lib/core/enums/RelationType.js +11 -0
  20. package/lib/core/enums/RelationType.js.map +1 -0
  21. package/lib/core/exceptions/ConnectionFailException.d.ts +5 -0
  22. package/lib/core/exceptions/ConnectionFailException.d.ts.map +1 -0
  23. package/lib/core/exceptions/ConnectionFailException.js +13 -0
  24. package/lib/core/exceptions/ConnectionFailException.js.map +1 -0
  25. package/lib/core/exceptions/Exception.d.ts +5 -0
  26. package/lib/core/exceptions/Exception.d.ts.map +1 -0
  27. package/lib/core/exceptions/Exception.js +10 -0
  28. package/lib/core/exceptions/Exception.js.map +1 -0
  29. package/lib/core/exceptions/InvalidOperationException.d.ts +6 -0
  30. package/lib/core/exceptions/InvalidOperationException.d.ts.map +1 -0
  31. package/lib/core/exceptions/InvalidOperationException.js +14 -0
  32. package/lib/core/exceptions/InvalidOperationException.js.map +1 -0
  33. package/lib/core/exceptions/NotImplementedException.d.ts +5 -0
  34. package/lib/core/exceptions/NotImplementedException.d.ts.map +1 -0
  35. package/lib/core/exceptions/NotImplementedException.js +13 -0
  36. package/lib/core/exceptions/NotImplementedException.js.map +1 -0
  37. package/lib/core/exceptions/QueryFailException.d.ts +6 -0
  38. package/lib/core/exceptions/QueryFailException.d.ts.map +1 -0
  39. package/lib/core/exceptions/QueryFailException.js +14 -0
  40. package/lib/core/exceptions/QueryFailException.js.map +1 -0
  41. package/lib/core/exceptions/TypeNotSuportedException.d.ts +5 -0
  42. package/lib/core/exceptions/TypeNotSuportedException.d.ts.map +1 -0
  43. package/lib/core/exceptions/TypeNotSuportedException.js +13 -0
  44. package/lib/core/exceptions/TypeNotSuportedException.js.map +1 -0
  45. package/lib/core/objects/interfaces/IDBConnection.d.ts +13 -0
  46. package/lib/core/objects/interfaces/IDBConnection.d.ts.map +1 -0
  47. package/lib/core/objects/interfaces/IDBConnection.js +3 -0
  48. package/lib/core/objects/interfaces/IDBConnection.js.map +1 -0
  49. package/lib/core/objects/interfaces/IDBContext.d.ts +8 -0
  50. package/lib/core/objects/interfaces/IDBContext.d.ts.map +1 -0
  51. package/lib/core/objects/interfaces/IDBContext.js +3 -0
  52. package/lib/core/objects/interfaces/IDBContext.js.map +1 -0
  53. package/lib/core/objects/interfaces/IDBManager.d.ts +12 -0
  54. package/lib/core/objects/interfaces/IDBManager.d.ts.map +1 -0
  55. package/lib/core/objects/interfaces/IDBManager.js +3 -0
  56. package/lib/core/objects/interfaces/IDBManager.js.map +1 -0
  57. package/lib/core/objects/interfaces/IDBSet.d.ts +16 -0
  58. package/lib/core/objects/interfaces/IDBSet.d.ts.map +1 -0
  59. package/lib/core/objects/interfaces/IDBSet.js +3 -0
  60. package/lib/core/objects/interfaces/IDBSet.js.map +1 -0
  61. package/lib/core/objects/interfaces/IStatement.d.ts +15 -0
  62. package/lib/core/objects/interfaces/IStatement.d.ts.map +1 -0
  63. package/lib/core/objects/interfaces/IStatement.js +14 -0
  64. package/lib/core/objects/interfaces/IStatement.js.map +1 -0
  65. package/lib/implementations/PGDBConnection.d.ts +18 -0
  66. package/lib/implementations/PGDBConnection.d.ts.map +1 -0
  67. package/lib/implementations/PGDBConnection.js +98 -0
  68. package/lib/implementations/PGDBConnection.js.map +1 -0
  69. package/lib/implementations/PGDBContext.d.ts +17 -0
  70. package/lib/implementations/PGDBContext.d.ts.map +1 -0
  71. package/lib/implementations/PGDBContext.js +57 -0
  72. package/lib/implementations/PGDBContext.js.map +1 -0
  73. package/lib/implementations/PGDBManager.d.ts +26 -0
  74. package/lib/implementations/PGDBManager.d.ts.map +1 -0
  75. package/lib/implementations/PGDBManager.js +178 -0
  76. package/lib/implementations/PGDBManager.js.map +1 -0
  77. package/lib/implementations/PGDBSet.d.ts +37 -0
  78. package/lib/implementations/PGDBSet.d.ts.map +1 -0
  79. package/lib/implementations/PGDBSet.js +618 -0
  80. package/lib/implementations/PGDBSet.js.map +1 -0
  81. package/package.json +31 -0
  82. package/readme.md +316 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PGDBSet.js","sourceRoot":"","sources":["../../src/implementations/PGDBSet.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "myorm_pg",
3
+ "version": "1.0.0",
4
+ "description": "A ORM writen in typescript for postgres",
5
+ "main": "Index.js",
6
+ "types": "./lib/Index.d.ts",
7
+ "files": [
8
+ "./lib"
9
+ ],
10
+ "scripts": {
11
+ "test": "jest"
12
+ },
13
+ "keywords": [
14
+ "orm",
15
+ "postgres",
16
+ "database"
17
+ ],
18
+ "author": "adrinao.marino1992@gmail.com",
19
+ "license": "ISC",
20
+ "dependencies": {
21
+ "pg": "^8.10.0",
22
+ "reflect-metadata": "^0.1.13"
23
+ },
24
+ "devDependencies": {
25
+ "@types/jest": "^29.5.0",
26
+ "@types/pg": "^8.6.6",
27
+ "@types/reflect-metadata": "^0.1.0",
28
+ "jest": "^29.5.0",
29
+ "ts-jest": "^29.1.0"
30
+ }
31
+ }
package/readme.md ADDED
@@ -0,0 +1,316 @@
1
+ # myorm_pg
2
+
3
+ myorm_pg is a ORM writen with TypeScript with sintax similar with MyORMForPostgreSQL of .NET
4
+
5
+ ## Installation
6
+
7
+
8
+
9
+ ```bash
10
+ npm install myorm_pg
11
+ ```
12
+
13
+
14
+ ## Usage
15
+ First of all we need create all entities we will need mapped. To do that we can use the decorators that the __myorm_pg__ provides.
16
+ After that we need create a class "Context" that will extends the abstract class __PGDBContext__.
17
+ After that, we need to create all PGDBSets<T> that will need to work with ours mapped types.
18
+ Finally, in the application start, we need call the method __PGDBContext.UpdateDatabaseAsync()__.
19
+
20
+ ### ./entities/Person.ts
21
+
22
+ ```typescript
23
+ import { Table, Column, PrimaryKey, DataType, OneToMany, OneToOne, ManyToMany, DBTypes} from 'myorm_pg';
24
+ import { Message } from './Message';
25
+
26
+ @Table("person_tb")
27
+ export class Person
28
+ {
29
+ @PrimaryKey()
30
+ @Column()
31
+ @DataType(DBTypes.SERIAL)
32
+ public Id : number = -1;
33
+
34
+ @Column()
35
+ public Name : string;
36
+
37
+ @Column("email_address")
38
+ public Email : string;
39
+
40
+ @Column()
41
+ public Age : number;
42
+
43
+
44
+ @Column()
45
+ @DataType(DBTypes.INTEGER)
46
+ public CEP : number;
47
+
48
+
49
+ @Column()
50
+ @DataType(DBTypes.TEXTARRAY)
51
+ public PhoneNumbers : string[];
52
+
53
+ @Column()
54
+ @DataType(DBTypes.INTEGERARRAY)
55
+ public Documents : number[];
56
+
57
+ @Column()
58
+ @DataType(DBTypes.DATE)
59
+ public Birth : Date;
60
+
61
+
62
+ @Column()
63
+ @OneToMany(()=> Message, "From")
64
+ public MessagesWriten? : Message[];
65
+
66
+ @Column()
67
+ @OneToMany(()=> Message, "To")
68
+ public MessagesReceived? : Message[];
69
+
70
+
71
+ constructor(name : string = "", email : string = "", age : number = 1)
72
+ {
73
+ this.Name = name;
74
+ this.Email = email;
75
+ this.Age = age;
76
+ this.CEP = -1;
77
+ this.PhoneNumbers = [];
78
+ this.Birth = new Date(1992,4,23);
79
+ this.Documents = [];
80
+ this.MessagesReceived = [];
81
+ this.MessagesWriten = [];
82
+
83
+ }
84
+
85
+
86
+ }
87
+ ```
88
+
89
+ ### ./entities/Message.ts
90
+
91
+ ```typescript
92
+ import { Table, Column, PrimaryKey, DataType, ManyToOne, ManyToMany, DBTypes} from 'myorm_pg';
93
+ import { Person } from './Person';
94
+
95
+ @Table("message_tb")
96
+ export class Message
97
+ {
98
+ @PrimaryKey()
99
+ @Column()
100
+ @DataType(DBTypes.SERIAL)
101
+ public Id : number = -1;
102
+
103
+ @Column()
104
+ public Message : string;
105
+
106
+ @Column()
107
+ @ManyToOne(()=> Person, "MessagesWriten")
108
+ public From? : Person;
109
+
110
+ @Column()
111
+ @ManyToMany(()=> Person, "MessagesReceived")
112
+ public To? : Person[];
113
+
114
+
115
+ constructor(message : string, from? : Person, to? : Person[])
116
+ {
117
+ this.Message = message;
118
+ this.From = from;
119
+ this.To = to;
120
+ }
121
+
122
+
123
+ }
124
+ ```
125
+
126
+ ### Context.ts
127
+
128
+ ```typescript
129
+ import { PGDBManager, PGDBContext, PGDBSet} from 'myorm_pg';
130
+ import { Message } from './Message';
131
+ import { Person } from './Person';
132
+
133
+
134
+ export default class Context extends PGDBContext
135
+ {
136
+ public Persons : PGDBSet<Person>;
137
+ public Messages : PGDBSet<Message>;
138
+
139
+ constructor(manager : PGDBManager)
140
+ {
141
+ super(manager);
142
+ this.Persons = new PGDBSet(Person, this);
143
+ this.Messages = new PGDBSet(Message, this);
144
+ }
145
+ }
146
+ ```
147
+
148
+ ### Create a instance of context and update or creare database
149
+
150
+ ```typescript
151
+
152
+ var context = new Context(PGDBManager.Build("localhost", 5434, "test_db", "supervisor", "sup"));
153
+
154
+ await context.UpdateDatabaseAsync();
155
+
156
+
157
+ ```
158
+
159
+ ### Insert entities
160
+
161
+ ```typescript
162
+
163
+ let person = new Person();
164
+ person.Name = "Adriano";
165
+ person.Email = "adriano@test.com";
166
+ person.Birth = new Date(1992,4,23);
167
+ person.Documents = [123,4,5,678,9];
168
+ person.PhoneNumbers = ['+55(12)98206-8255'];
169
+
170
+ await context.Persons.AddAsync(adriano);
171
+
172
+ ```
173
+
174
+
175
+ ### Insert entities with relation
176
+ In this case, all persons will be saved automatically. All persons of __Message.To__ property will have a reference to this message on property
177
+ __Person.MessagesReceived__ and the person of __Message.From__ will have a reference to this message on __Person.MessagesWriten__ property
178
+
179
+ ```typescript
180
+ let msg = new Message(
181
+ "some message to my friends",
182
+ new Person("Adriano", "adriano@test.com"),
183
+ [
184
+ new Person("Camila", "camila@test.com"),
185
+ new Person("Juliana", "juliana@test.com"),
186
+ new Person("Andre", "andre@test.com")
187
+
188
+ ]
189
+ );
190
+
191
+ await context.Messages.AddAsync(msg);
192
+
193
+ ```
194
+
195
+
196
+ ### Quering entities
197
+
198
+ ```typescript
199
+
200
+ let persons = await context.Persons
201
+ .Where(
202
+ {
203
+ Field : 'Name',
204
+ Value : 'Adriano'
205
+ })
206
+ .ToListAsync();
207
+
208
+ ```
209
+
210
+
211
+ ### Join
212
+
213
+ ```typescript
214
+
215
+ let persons = await context.Persons
216
+ .Where(
217
+ {
218
+ Field : 'Name',
219
+ Value : 'Adriano'
220
+ })
221
+ .Join("MessagesReceived")
222
+ .ToListAsync();
223
+
224
+ ```
225
+ This query will retrieve from database all persons with name "Adriano" and load all mensagens that this persons are in "To" list.
226
+
227
+
228
+ ### Order by
229
+
230
+ ```typescript
231
+ let all = await context.Persons
232
+ .OrderBy('Name')
233
+ .ToListAsync();
234
+ ```
235
+
236
+ ### Order by descending
237
+
238
+ ```typescript
239
+ let all = await context.Persons
240
+ .OrderByDescending('Name')
241
+ .ToListAsync();
242
+ ```
243
+
244
+
245
+ ### Limit
246
+
247
+ ```typescript
248
+ let all = await context.Persons
249
+ .OrderBy('Name')
250
+ .Limit(10)
251
+ .ToListAsync();
252
+ ```
253
+
254
+ ### Get first or default
255
+
256
+ ```typescript
257
+ let person : Person | undefined = await context.Persons
258
+ .Where(
259
+ {
260
+ Field : 'Name',
261
+ Value : 'Adriano'
262
+ })
263
+ .FirstOrDefaultAsync();
264
+ ```
265
+
266
+
267
+ ### Update person
268
+
269
+ ```typescript
270
+ let person : Person | undefined = await context.Persons
271
+ .Where(
272
+ {
273
+ Field : 'Name',
274
+ Value : 'Adriano'
275
+ })
276
+
277
+ .FirstOrDefaultAsync();
278
+
279
+ if(person)
280
+ {
281
+ person.Name = "Adriano Marino";
282
+
283
+ await context.Persons.UpdateAsync(person);
284
+ }
285
+ ```
286
+
287
+
288
+
289
+
290
+ ### Delete
291
+
292
+ ```typescript
293
+ let person : Person | undefined = await context.Persons
294
+ .Where(
295
+ {
296
+ Field : 'Name',
297
+ Value : 'Adriano'
298
+ })
299
+
300
+ .FirstOrDefaultAsync();
301
+
302
+ if(person)
303
+ {
304
+ await context.Persons.DeleteAsync(person);
305
+ }
306
+ ```
307
+ ## Contributing
308
+
309
+ Pull requests are welcome. For major changes, please open an issue first
310
+ to discuss what you would like to change.
311
+
312
+ Please make sure to update tests as appropriate.
313
+
314
+ ## License
315
+
316
+ [MIT](https://choosealicense.com/licenses/mit/)