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.
- package/lib/Index.d.ts +29 -0
- package/lib/Index.d.ts.map +1 -0
- package/lib/Index.js +52 -0
- package/lib/Index.js.map +1 -0
- package/lib/core/decorators/SchemasDecorators.d.ts +42 -0
- package/lib/core/decorators/SchemasDecorators.d.ts.map +1 -0
- package/lib/core/decorators/SchemasDecorators.js +81 -0
- package/lib/core/decorators/SchemasDecorators.js.map +1 -0
- package/lib/core/design/Type.d.ts +37 -0
- package/lib/core/design/Type.d.ts.map +1 -0
- package/lib/core/design/Type.js +132 -0
- package/lib/core/design/Type.js.map +1 -0
- package/lib/core/enums/DBTypes.d.ts +19 -0
- package/lib/core/enums/DBTypes.d.ts.map +1 -0
- package/lib/core/enums/DBTypes.js +23 -0
- package/lib/core/enums/DBTypes.js.map +1 -0
- package/lib/core/enums/RelationType.d.ts +7 -0
- package/lib/core/enums/RelationType.d.ts.map +1 -0
- package/lib/core/enums/RelationType.js +11 -0
- package/lib/core/enums/RelationType.js.map +1 -0
- package/lib/core/exceptions/ConnectionFailException.d.ts +5 -0
- package/lib/core/exceptions/ConnectionFailException.d.ts.map +1 -0
- package/lib/core/exceptions/ConnectionFailException.js +13 -0
- package/lib/core/exceptions/ConnectionFailException.js.map +1 -0
- package/lib/core/exceptions/Exception.d.ts +5 -0
- package/lib/core/exceptions/Exception.d.ts.map +1 -0
- package/lib/core/exceptions/Exception.js +10 -0
- package/lib/core/exceptions/Exception.js.map +1 -0
- package/lib/core/exceptions/InvalidOperationException.d.ts +6 -0
- package/lib/core/exceptions/InvalidOperationException.d.ts.map +1 -0
- package/lib/core/exceptions/InvalidOperationException.js +14 -0
- package/lib/core/exceptions/InvalidOperationException.js.map +1 -0
- package/lib/core/exceptions/NotImplementedException.d.ts +5 -0
- package/lib/core/exceptions/NotImplementedException.d.ts.map +1 -0
- package/lib/core/exceptions/NotImplementedException.js +13 -0
- package/lib/core/exceptions/NotImplementedException.js.map +1 -0
- package/lib/core/exceptions/QueryFailException.d.ts +6 -0
- package/lib/core/exceptions/QueryFailException.d.ts.map +1 -0
- package/lib/core/exceptions/QueryFailException.js +14 -0
- package/lib/core/exceptions/QueryFailException.js.map +1 -0
- package/lib/core/exceptions/TypeNotSuportedException.d.ts +5 -0
- package/lib/core/exceptions/TypeNotSuportedException.d.ts.map +1 -0
- package/lib/core/exceptions/TypeNotSuportedException.js +13 -0
- package/lib/core/exceptions/TypeNotSuportedException.js.map +1 -0
- package/lib/core/objects/interfaces/IDBConnection.d.ts +13 -0
- package/lib/core/objects/interfaces/IDBConnection.d.ts.map +1 -0
- package/lib/core/objects/interfaces/IDBConnection.js +3 -0
- package/lib/core/objects/interfaces/IDBConnection.js.map +1 -0
- package/lib/core/objects/interfaces/IDBContext.d.ts +8 -0
- package/lib/core/objects/interfaces/IDBContext.d.ts.map +1 -0
- package/lib/core/objects/interfaces/IDBContext.js +3 -0
- package/lib/core/objects/interfaces/IDBContext.js.map +1 -0
- package/lib/core/objects/interfaces/IDBManager.d.ts +12 -0
- package/lib/core/objects/interfaces/IDBManager.d.ts.map +1 -0
- package/lib/core/objects/interfaces/IDBManager.js +3 -0
- package/lib/core/objects/interfaces/IDBManager.js.map +1 -0
- package/lib/core/objects/interfaces/IDBSet.d.ts +16 -0
- package/lib/core/objects/interfaces/IDBSet.d.ts.map +1 -0
- package/lib/core/objects/interfaces/IDBSet.js +3 -0
- package/lib/core/objects/interfaces/IDBSet.js.map +1 -0
- package/lib/core/objects/interfaces/IStatement.d.ts +15 -0
- package/lib/core/objects/interfaces/IStatement.d.ts.map +1 -0
- package/lib/core/objects/interfaces/IStatement.js +14 -0
- package/lib/core/objects/interfaces/IStatement.js.map +1 -0
- package/lib/implementations/PGDBConnection.d.ts +18 -0
- package/lib/implementations/PGDBConnection.d.ts.map +1 -0
- package/lib/implementations/PGDBConnection.js +98 -0
- package/lib/implementations/PGDBConnection.js.map +1 -0
- package/lib/implementations/PGDBContext.d.ts +17 -0
- package/lib/implementations/PGDBContext.d.ts.map +1 -0
- package/lib/implementations/PGDBContext.js +57 -0
- package/lib/implementations/PGDBContext.js.map +1 -0
- package/lib/implementations/PGDBManager.d.ts +26 -0
- package/lib/implementations/PGDBManager.d.ts.map +1 -0
- package/lib/implementations/PGDBManager.js +178 -0
- package/lib/implementations/PGDBManager.js.map +1 -0
- package/lib/implementations/PGDBSet.d.ts +37 -0
- package/lib/implementations/PGDBSet.d.ts.map +1 -0
- package/lib/implementations/PGDBSet.js +618 -0
- package/lib/implementations/PGDBSet.js.map +1 -0
- package/package.json +31 -0
- 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/)
|