@goatlab/fluent-loki 0.6.4 → 0.6.5
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/dist/Database.d.ts +19 -0
- package/dist/Database.js +84 -0
- package/dist/Database.spec.d.ts +1 -0
- package/dist/Database.spec.js +30 -0
- package/dist/LokiConnector.d.ts +18 -0
- package/dist/LokiConnector.js +174 -0
- package/dist/LokiConnector.spec.d.ts +1 -0
- package/dist/LokiConnector.spec.js +21 -0
- package/dist/index.d.ts +2 -0
- package/dist/test/advanced/advancedTestSuite.d.ts +1 -0
- package/dist/test/advanced/advancedTestSuite.js +114 -0
- package/dist/test/advanced/typeOrm.entity.d.ts +16 -0
- package/dist/test/advanced/typeOrm.entity.js +57 -0
- package/dist/test/advanced/typeOrm.repository.d.ts +5 -0
- package/dist/test/advanced/typeOrm.repository.js +11 -0
- package/dist/test/basic/basicTestSuite.d.ts +1 -0
- package/dist/test/basic/basicTestSuite.js +45 -0
- package/dist/test/basic/goat.dto.d.ts +8 -0
- package/dist/test/basic/goat.dto.js +18 -0
- package/dist/test/basic/goat.entity.d.ts +10 -0
- package/dist/test/basic/goat.entity.js +41 -0
- package/dist/test/basic/goat.repository.d.ts +6 -0
- package/dist/test/basic/goat.repository.js +11 -0
- package/dist/test/flock.d.ts +4 -0
- package/dist/test/flock.js +25 -0
- package/dist/test/relations/car/car.dto.d.ts +5 -0
- package/dist/test/relations/car/car.dto.js +12 -0
- package/dist/test/relations/car/car.entity.d.ts +7 -0
- package/dist/test/relations/car/car.entity.js +32 -0
- package/dist/test/relations/car/car.repositoryTypeOrm.d.ts +8 -0
- package/dist/test/relations/car/car.repositoryTypeOrm.js +13 -0
- package/dist/test/relations/relationsTestsSuite.d.ts +1 -0
- package/dist/test/relations/relationsTestsSuite.js +93 -0
- package/dist/test/relations/roles/role.dto.d.ts +5 -0
- package/dist/test/relations/roles/role.dto.js +12 -0
- package/dist/test/relations/roles/roles.entity.d.ts +6 -0
- package/dist/test/relations/roles/roles.entity.js +29 -0
- package/dist/test/relations/roles/roles.repositoryTypeOrm.d.ts +8 -0
- package/dist/test/relations/roles/roles.repositoryTypeOrm.js +14 -0
- package/dist/test/relations/roles/roles_user.dto.d.ts +5 -0
- package/dist/test/relations/roles/roles_user.dto.js +12 -0
- package/dist/test/relations/roles/roles_user.entity.d.ts +5 -0
- package/dist/test/relations/roles/roles_user.entity.js +23 -0
- package/dist/test/relations/roles/roles_users.repositoryTypeOrm.d.ts +6 -0
- package/dist/test/relations/roles/roles_users.repositoryTypeOrm.js +11 -0
- package/dist/test/relations/user/user.dto.d.ts +5 -0
- package/dist/test/relations/user/user.dto.js +12 -0
- package/dist/test/relations/user/user.entity.d.ts +14 -0
- package/dist/test/relations/user/user.entity.js +56 -0
- package/dist/test/relations/user/user.repositoryTypeOrm.d.ts +10 -0
- package/dist/test/relations/user/user.repositoryTypeOrm.js +16 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GoatEntity = exports.Breed = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const fluent_1 = require("@goatlab/fluent");
|
|
6
|
+
let Breed = class Breed {
|
|
7
|
+
};
|
|
8
|
+
tslib_1.__decorate([
|
|
9
|
+
fluent_1.Decorators.property({ required: false }),
|
|
10
|
+
tslib_1.__metadata("design:type", String)
|
|
11
|
+
], Breed.prototype, "family", void 0);
|
|
12
|
+
tslib_1.__decorate([
|
|
13
|
+
fluent_1.Decorators.property({ required: false }),
|
|
14
|
+
tslib_1.__metadata("design:type", Number)
|
|
15
|
+
], Breed.prototype, "members", void 0);
|
|
16
|
+
Breed = tslib_1.__decorate([
|
|
17
|
+
(0, fluent_1.ObjectType)()
|
|
18
|
+
], Breed);
|
|
19
|
+
exports.Breed = Breed;
|
|
20
|
+
let GoatEntity = class GoatEntity {
|
|
21
|
+
};
|
|
22
|
+
tslib_1.__decorate([
|
|
23
|
+
fluent_1.Decorators.id(),
|
|
24
|
+
tslib_1.__metadata("design:type", String)
|
|
25
|
+
], GoatEntity.prototype, "id", void 0);
|
|
26
|
+
tslib_1.__decorate([
|
|
27
|
+
fluent_1.Decorators.property({ required: true }),
|
|
28
|
+
tslib_1.__metadata("design:type", String)
|
|
29
|
+
], GoatEntity.prototype, "name", void 0);
|
|
30
|
+
tslib_1.__decorate([
|
|
31
|
+
fluent_1.Decorators.property({ required: false }),
|
|
32
|
+
tslib_1.__metadata("design:type", Number)
|
|
33
|
+
], GoatEntity.prototype, "age", void 0);
|
|
34
|
+
tslib_1.__decorate([
|
|
35
|
+
fluent_1.Decorators.embed(Breed),
|
|
36
|
+
tslib_1.__metadata("design:type", Breed)
|
|
37
|
+
], GoatEntity.prototype, "breed", void 0);
|
|
38
|
+
GoatEntity = tslib_1.__decorate([
|
|
39
|
+
fluent_1.Decorators.entity('goat')
|
|
40
|
+
], GoatEntity);
|
|
41
|
+
exports.GoatEntity = GoatEntity;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { GoatEntityIn, GoatEntityOut } from './goat.dto';
|
|
2
|
+
import { GoatEntity } from './goat.entity';
|
|
3
|
+
import { TypeOrmConnector } from '@goatlab/fluent';
|
|
4
|
+
export declare class GoatRepository extends TypeOrmConnector<GoatEntity, GoatEntityIn, GoatEntityOut> {
|
|
5
|
+
constructor(relations?: any);
|
|
6
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GoatRepository = void 0;
|
|
4
|
+
const goat_entity_1 = require("./goat.entity");
|
|
5
|
+
const fluent_1 = require("@goatlab/fluent");
|
|
6
|
+
class GoatRepository extends fluent_1.TypeOrmConnector {
|
|
7
|
+
constructor(relations) {
|
|
8
|
+
super(goat_entity_1.GoatEntity, relations, 'runningTest');
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.GoatRepository = GoatRepository;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.flock = void 0;
|
|
4
|
+
exports.flock = [
|
|
5
|
+
{
|
|
6
|
+
age: 3,
|
|
7
|
+
name: 'Goatee'
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
age: 4,
|
|
11
|
+
name: 'GoaToHell'
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
age: 5,
|
|
15
|
+
name: 'Oh!MyGoat'
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
age: 3,
|
|
19
|
+
name: 'A'
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
age: 2,
|
|
23
|
+
name: 'B'
|
|
24
|
+
}
|
|
25
|
+
];
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CarsEntityIn = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const fluent_1 = require("@goatlab/fluent");
|
|
6
|
+
const car_entity_1 = require("./car.entity");
|
|
7
|
+
let CarsEntityIn = class CarsEntityIn extends (0, fluent_1.OmitType)(car_entity_1.CarsEntity, ['id']) {
|
|
8
|
+
};
|
|
9
|
+
CarsEntityIn = tslib_1.__decorate([
|
|
10
|
+
(0, fluent_1.InputType)()
|
|
11
|
+
], CarsEntityIn);
|
|
12
|
+
exports.CarsEntityIn = CarsEntityIn;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CarsEntity = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const fluent_1 = require("@goatlab/fluent");
|
|
6
|
+
const user_entity_1 = require("../user/user.entity");
|
|
7
|
+
let CarsEntity = class CarsEntity {
|
|
8
|
+
};
|
|
9
|
+
tslib_1.__decorate([
|
|
10
|
+
fluent_1.Decorators.id(),
|
|
11
|
+
tslib_1.__metadata("design:type", String)
|
|
12
|
+
], CarsEntity.prototype, "id", void 0);
|
|
13
|
+
tslib_1.__decorate([
|
|
14
|
+
fluent_1.Decorators.property({ required: true }),
|
|
15
|
+
tslib_1.__metadata("design:type", String)
|
|
16
|
+
], CarsEntity.prototype, "name", void 0);
|
|
17
|
+
tslib_1.__decorate([
|
|
18
|
+
fluent_1.Decorators.property({ required: true }),
|
|
19
|
+
tslib_1.__metadata("design:type", String)
|
|
20
|
+
], CarsEntity.prototype, "userId", void 0);
|
|
21
|
+
tslib_1.__decorate([
|
|
22
|
+
fluent_1.Decorators.belongsTo({
|
|
23
|
+
entity: () => user_entity_1.UsersEntity,
|
|
24
|
+
inverse: user => user.cars,
|
|
25
|
+
pivotColumnName: 'userId'
|
|
26
|
+
}),
|
|
27
|
+
tslib_1.__metadata("design:type", user_entity_1.UsersEntity)
|
|
28
|
+
], CarsEntity.prototype, "user", void 0);
|
|
29
|
+
CarsEntity = tslib_1.__decorate([
|
|
30
|
+
fluent_1.Decorators.entity('cars')
|
|
31
|
+
], CarsEntity);
|
|
32
|
+
exports.CarsEntity = CarsEntity;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CarsEntity } from './car.entity';
|
|
2
|
+
import { CarsEntityIn } from './car.dto';
|
|
3
|
+
import { TypeOrmConnector } from '@goatlab/fluent';
|
|
4
|
+
import { UserRepository } from '../user/user.repositoryTypeOrm';
|
|
5
|
+
export declare class CarsRepository extends TypeOrmConnector<CarsEntity, CarsEntityIn> {
|
|
6
|
+
constructor(relationQuery?: any);
|
|
7
|
+
user: () => UserRepository;
|
|
8
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CarsRepository = void 0;
|
|
4
|
+
const car_entity_1 = require("./car.entity");
|
|
5
|
+
const fluent_1 = require("@goatlab/fluent");
|
|
6
|
+
const user_repositoryTypeOrm_1 = require("../user/user.repositoryTypeOrm");
|
|
7
|
+
class CarsRepository extends fluent_1.TypeOrmConnector {
|
|
8
|
+
constructor(relationQuery) {
|
|
9
|
+
super(car_entity_1.CarsEntity, relationQuery, 'runningTest');
|
|
10
|
+
this.user = () => this.belongsTo(user_repositoryTypeOrm_1.UserRepository, 'user');
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.CarsRepository = CarsRepository;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const relationsTestSuite: (Model: any, BelongsToModel: any, ManyToManyModel: any) => void;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.relationsTestSuite = void 0;
|
|
4
|
+
const relationsTestSuite = (Model, BelongsToModel, ManyToManyModel) => {
|
|
5
|
+
beforeAll(() => {
|
|
6
|
+
Model = new Model();
|
|
7
|
+
BelongsToModel = new BelongsToModel();
|
|
8
|
+
ManyToManyModel = new ManyToManyModel();
|
|
9
|
+
});
|
|
10
|
+
test('Attach - OneToMany - Should insert data', async () => {
|
|
11
|
+
const insertedUser = await Model.insert({
|
|
12
|
+
name: 'testUser',
|
|
13
|
+
age: 20
|
|
14
|
+
});
|
|
15
|
+
expect(typeof insertedUser.id).toBe('string');
|
|
16
|
+
const user = await Model.where(Model.cars()._keys.id, '=', insertedUser.id).load();
|
|
17
|
+
const cars = await user.cars().attach({ name: 'Another new car' });
|
|
18
|
+
expect(Array.isArray(cars)).toBe(true);
|
|
19
|
+
expect(cars[0].name).toBe('Another new car');
|
|
20
|
+
});
|
|
21
|
+
test('Query related model - OneToMany', async () => {
|
|
22
|
+
const insertedUser = await Model.insert({
|
|
23
|
+
name: 'testUser',
|
|
24
|
+
age: 20
|
|
25
|
+
});
|
|
26
|
+
expect(typeof insertedUser.id).toBe('string');
|
|
27
|
+
const user1 = await Model.where(Model._keys.id, '=', insertedUser.id).load();
|
|
28
|
+
const cars = await user1.cars().attach({ name: 'My new car' });
|
|
29
|
+
expect(Array.isArray(cars)).toBe(true);
|
|
30
|
+
const searchUserWithRelation = await Model.where(Model._keys.id, '=', insertedUser.id)
|
|
31
|
+
.with({ cars: true })
|
|
32
|
+
.get();
|
|
33
|
+
expect(Array.isArray(searchUserWithRelation[0].cars)).toBe(true);
|
|
34
|
+
expect(searchUserWithRelation[0].cars.length > 0).toBe(true);
|
|
35
|
+
const searchCar = await user1
|
|
36
|
+
.cars()
|
|
37
|
+
.where(Model.cars()._keys.name, '=', 'My new car')
|
|
38
|
+
.get();
|
|
39
|
+
expect(Array.isArray(searchCar)).toBe(true);
|
|
40
|
+
expect(searchCar.length > 0).toBe(true);
|
|
41
|
+
const searchCar2 = await user1
|
|
42
|
+
.cars()
|
|
43
|
+
.where(Model.cars()._keys.name, '=', 'My.......')
|
|
44
|
+
.get();
|
|
45
|
+
expect(Array.isArray(searchCar2)).toBe(true);
|
|
46
|
+
expect(searchCar2.length === 0).toBe(true);
|
|
47
|
+
});
|
|
48
|
+
test('Query related model - BelongTo', async () => {
|
|
49
|
+
const insertedUser = await Model.insert({
|
|
50
|
+
name: 'testUser',
|
|
51
|
+
age: 20
|
|
52
|
+
});
|
|
53
|
+
expect(typeof insertedUser.id).toBe('string');
|
|
54
|
+
const user1 = await Model.where(Model.cars()._keys.id, '=', insertedUser.id).load();
|
|
55
|
+
await user1.cars().attach({ name: 'My new car' });
|
|
56
|
+
const results = await BelongsToModel.with({ users: true }).get();
|
|
57
|
+
expect(Array.isArray(results)).toBe(true);
|
|
58
|
+
expect(results.length > 0).toBe(true);
|
|
59
|
+
expect(typeof results[0].user.name).toBe('string');
|
|
60
|
+
});
|
|
61
|
+
test('Query related model - ManyToMany', async () => {
|
|
62
|
+
const insertedUser = await Model.insert({
|
|
63
|
+
name: 'testUser',
|
|
64
|
+
age: 20
|
|
65
|
+
});
|
|
66
|
+
expect(typeof insertedUser.id).toBe('string');
|
|
67
|
+
const adminRole = await ManyToManyModel.insert({
|
|
68
|
+
name: 'Administrator'
|
|
69
|
+
});
|
|
70
|
+
const user = await Model.where(Model._keys.id, '=', insertedUser.id).load();
|
|
71
|
+
const associated = await user.roles().associate(adminRole.id);
|
|
72
|
+
expect(associated[0].userId).toBe(insertedUser.id);
|
|
73
|
+
expect(associated[0].roleId).toBe(adminRole.id);
|
|
74
|
+
const searchUserWithRelation = await Model.where(Model._keys.id, '=', insertedUser.id)
|
|
75
|
+
.with({
|
|
76
|
+
roles: true
|
|
77
|
+
})
|
|
78
|
+
.get();
|
|
79
|
+
expect(Array.isArray(searchUserWithRelation[0].roles)).toBe(true);
|
|
80
|
+
expect(searchUserWithRelation[0].roles.length > 0).toBe(true);
|
|
81
|
+
expect(typeof searchUserWithRelation[0].roles[0].name).toBe('string');
|
|
82
|
+
const roles = await ManyToManyModel.where(ManyToManyModel._keys.name, '=', 'Administrator')
|
|
83
|
+
.with({
|
|
84
|
+
users: true
|
|
85
|
+
})
|
|
86
|
+
.get();
|
|
87
|
+
expect(Array.isArray(roles)).toBe(true);
|
|
88
|
+
expect(roles.length > 0).toBe(true);
|
|
89
|
+
expect(typeof roles[0].users[0].name).toBe('string');
|
|
90
|
+
expect(typeof roles[0].users[0].age).toBe('number');
|
|
91
|
+
});
|
|
92
|
+
};
|
|
93
|
+
exports.relationsTestSuite = relationsTestSuite;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RoleEntityIn = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const fluent_1 = require("@goatlab/fluent");
|
|
6
|
+
const roles_entity_1 = require("./roles.entity");
|
|
7
|
+
let RoleEntityIn = class RoleEntityIn extends (0, fluent_1.OmitType)(roles_entity_1.RoleEntity, ['id']) {
|
|
8
|
+
};
|
|
9
|
+
RoleEntityIn = tslib_1.__decorate([
|
|
10
|
+
(0, fluent_1.InputType)()
|
|
11
|
+
], RoleEntityIn);
|
|
12
|
+
exports.RoleEntityIn = RoleEntityIn;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RoleEntity = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const fluent_1 = require("@goatlab/fluent");
|
|
6
|
+
const user_entity_1 = require("../user/user.entity");
|
|
7
|
+
let RoleEntity = class RoleEntity {
|
|
8
|
+
};
|
|
9
|
+
tslib_1.__decorate([
|
|
10
|
+
fluent_1.Decorators.id(),
|
|
11
|
+
tslib_1.__metadata("design:type", String)
|
|
12
|
+
], RoleEntity.prototype, "id", void 0);
|
|
13
|
+
tslib_1.__decorate([
|
|
14
|
+
fluent_1.Decorators.property({ required: true }),
|
|
15
|
+
tslib_1.__metadata("design:type", String)
|
|
16
|
+
], RoleEntity.prototype, "name", void 0);
|
|
17
|
+
tslib_1.__decorate([
|
|
18
|
+
fluent_1.Decorators.belongsToMany({
|
|
19
|
+
entity: () => user_entity_1.UsersEntity,
|
|
20
|
+
joinTableName: 'roles_users',
|
|
21
|
+
foreignKey: 'roleId',
|
|
22
|
+
inverseForeignKey: 'userId'
|
|
23
|
+
}),
|
|
24
|
+
tslib_1.__metadata("design:type", Array)
|
|
25
|
+
], RoleEntity.prototype, "users", void 0);
|
|
26
|
+
RoleEntity = tslib_1.__decorate([
|
|
27
|
+
fluent_1.Decorators.entity('roles')
|
|
28
|
+
], RoleEntity);
|
|
29
|
+
exports.RoleEntity = RoleEntity;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { RoleEntity } from './roles.entity';
|
|
2
|
+
import { RoleEntityIn } from './role.dto';
|
|
3
|
+
import { TypeOrmConnector } from '@goatlab/fluent';
|
|
4
|
+
import { UserRepository } from '../user/user.repositoryTypeOrm';
|
|
5
|
+
export declare class RoleRepository extends TypeOrmConnector<RoleEntity, RoleEntityIn> {
|
|
6
|
+
constructor(relations?: any);
|
|
7
|
+
users: () => UserRepository;
|
|
8
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RoleRepository = void 0;
|
|
4
|
+
const roles_entity_1 = require("./roles.entity");
|
|
5
|
+
const roles_users_repositoryTypeOrm_1 = require("./roles_users.repositoryTypeOrm");
|
|
6
|
+
const fluent_1 = require("@goatlab/fluent");
|
|
7
|
+
const user_repositoryTypeOrm_1 = require("../user/user.repositoryTypeOrm");
|
|
8
|
+
class RoleRepository extends fluent_1.TypeOrmConnector {
|
|
9
|
+
constructor(relations) {
|
|
10
|
+
super(roles_entity_1.RoleEntity, relations, 'runningTest');
|
|
11
|
+
this.users = () => this.belongsToMany(user_repositoryTypeOrm_1.UserRepository, roles_users_repositoryTypeOrm_1.RoleUsersRepository, 'users');
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.RoleRepository = RoleRepository;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RoleUserEntityIn = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const fluent_1 = require("@goatlab/fluent");
|
|
6
|
+
const roles_user_entity_1 = require("./roles_user.entity");
|
|
7
|
+
let RoleUserEntityIn = class RoleUserEntityIn extends (0, fluent_1.OmitType)(roles_user_entity_1.RolesUser, ['id']) {
|
|
8
|
+
};
|
|
9
|
+
RoleUserEntityIn = tslib_1.__decorate([
|
|
10
|
+
(0, fluent_1.InputType)()
|
|
11
|
+
], RoleUserEntityIn);
|
|
12
|
+
exports.RoleUserEntityIn = RoleUserEntityIn;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RolesUser = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const fluent_1 = require("@goatlab/fluent");
|
|
6
|
+
let RolesUser = class RolesUser {
|
|
7
|
+
};
|
|
8
|
+
tslib_1.__decorate([
|
|
9
|
+
fluent_1.Decorators.id(),
|
|
10
|
+
tslib_1.__metadata("design:type", String)
|
|
11
|
+
], RolesUser.prototype, "id", void 0);
|
|
12
|
+
tslib_1.__decorate([
|
|
13
|
+
fluent_1.Decorators.property({ required: false }),
|
|
14
|
+
tslib_1.__metadata("design:type", String)
|
|
15
|
+
], RolesUser.prototype, "userId", void 0);
|
|
16
|
+
tslib_1.__decorate([
|
|
17
|
+
fluent_1.Decorators.property({ required: false }),
|
|
18
|
+
tslib_1.__metadata("design:type", String)
|
|
19
|
+
], RolesUser.prototype, "roleId", void 0);
|
|
20
|
+
RolesUser = tslib_1.__decorate([
|
|
21
|
+
fluent_1.Decorators.entity('roles_users')
|
|
22
|
+
], RolesUser);
|
|
23
|
+
exports.RolesUser = RolesUser;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { RoleUserEntityIn } from './roles_user.dto';
|
|
2
|
+
import { RolesUser } from './roles_user.entity';
|
|
3
|
+
import { TypeOrmConnector } from '@goatlab/fluent';
|
|
4
|
+
export declare class RoleUsersRepository extends TypeOrmConnector<RolesUser, RoleUserEntityIn> {
|
|
5
|
+
constructor(relations?: any);
|
|
6
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RoleUsersRepository = void 0;
|
|
4
|
+
const roles_user_entity_1 = require("./roles_user.entity");
|
|
5
|
+
const fluent_1 = require("@goatlab/fluent");
|
|
6
|
+
class RoleUsersRepository extends fluent_1.TypeOrmConnector {
|
|
7
|
+
constructor(relations) {
|
|
8
|
+
super(roles_user_entity_1.RolesUser, relations, 'runningTest');
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.RoleUsersRepository = RoleUsersRepository;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UsersEntityIn = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const fluent_1 = require("@goatlab/fluent");
|
|
6
|
+
const user_entity_1 = require("./user.entity");
|
|
7
|
+
let UsersEntityIn = class UsersEntityIn extends (0, fluent_1.OmitType)(user_entity_1.UsersEntity, ['id']) {
|
|
8
|
+
};
|
|
9
|
+
UsersEntityIn = tslib_1.__decorate([
|
|
10
|
+
(0, fluent_1.InputType)()
|
|
11
|
+
], UsersEntityIn);
|
|
12
|
+
exports.UsersEntityIn = UsersEntityIn;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CarsEntity } from '../car/car.entity';
|
|
2
|
+
import { RoleEntity } from '../roles/roles.entity';
|
|
3
|
+
export declare class Family {
|
|
4
|
+
family?: string;
|
|
5
|
+
members?: number;
|
|
6
|
+
}
|
|
7
|
+
export declare class UsersEntity {
|
|
8
|
+
id: string;
|
|
9
|
+
name: string;
|
|
10
|
+
age?: number;
|
|
11
|
+
breed?: Family;
|
|
12
|
+
cars?: CarsEntity[];
|
|
13
|
+
roles?: RoleEntity[];
|
|
14
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UsersEntity = exports.Family = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const car_entity_1 = require("../car/car.entity");
|
|
6
|
+
const fluent_1 = require("@goatlab/fluent");
|
|
7
|
+
const roles_entity_1 = require("../roles/roles.entity");
|
|
8
|
+
class Family {
|
|
9
|
+
}
|
|
10
|
+
tslib_1.__decorate([
|
|
11
|
+
fluent_1.Decorators.property({ required: false }),
|
|
12
|
+
tslib_1.__metadata("design:type", String)
|
|
13
|
+
], Family.prototype, "family", void 0);
|
|
14
|
+
tslib_1.__decorate([
|
|
15
|
+
fluent_1.Decorators.property({ required: false }),
|
|
16
|
+
tslib_1.__metadata("design:type", Number)
|
|
17
|
+
], Family.prototype, "members", void 0);
|
|
18
|
+
exports.Family = Family;
|
|
19
|
+
let UsersEntity = class UsersEntity {
|
|
20
|
+
};
|
|
21
|
+
tslib_1.__decorate([
|
|
22
|
+
fluent_1.Decorators.id(),
|
|
23
|
+
tslib_1.__metadata("design:type", String)
|
|
24
|
+
], UsersEntity.prototype, "id", void 0);
|
|
25
|
+
tslib_1.__decorate([
|
|
26
|
+
fluent_1.Decorators.property({ required: true }),
|
|
27
|
+
tslib_1.__metadata("design:type", String)
|
|
28
|
+
], UsersEntity.prototype, "name", void 0);
|
|
29
|
+
tslib_1.__decorate([
|
|
30
|
+
fluent_1.Decorators.property({ required: false }),
|
|
31
|
+
tslib_1.__metadata("design:type", Number)
|
|
32
|
+
], UsersEntity.prototype, "age", void 0);
|
|
33
|
+
tslib_1.__decorate([
|
|
34
|
+
fluent_1.Decorators.embed(Family),
|
|
35
|
+
tslib_1.__metadata("design:type", Family)
|
|
36
|
+
], UsersEntity.prototype, "breed", void 0);
|
|
37
|
+
tslib_1.__decorate([
|
|
38
|
+
fluent_1.Decorators.hasMany({
|
|
39
|
+
entity: () => car_entity_1.CarsEntity,
|
|
40
|
+
inverse: cars => cars.userId
|
|
41
|
+
}),
|
|
42
|
+
tslib_1.__metadata("design:type", Array)
|
|
43
|
+
], UsersEntity.prototype, "cars", void 0);
|
|
44
|
+
tslib_1.__decorate([
|
|
45
|
+
fluent_1.Decorators.belongsToMany({
|
|
46
|
+
entity: () => roles_entity_1.RoleEntity,
|
|
47
|
+
joinTableName: 'roles_users',
|
|
48
|
+
foreignKey: 'userId',
|
|
49
|
+
inverseForeignKey: 'roleId'
|
|
50
|
+
}),
|
|
51
|
+
tslib_1.__metadata("design:type", Array)
|
|
52
|
+
], UsersEntity.prototype, "roles", void 0);
|
|
53
|
+
UsersEntity = tslib_1.__decorate([
|
|
54
|
+
fluent_1.Decorators.entity('users')
|
|
55
|
+
], UsersEntity);
|
|
56
|
+
exports.UsersEntity = UsersEntity;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CarsRepository } from '../car/car.repositoryTypeOrm';
|
|
2
|
+
import { RoleRepository } from '../roles/roles.repositoryTypeOrm';
|
|
3
|
+
import { TypeOrmConnector } from '@goatlab/fluent';
|
|
4
|
+
import { UsersEntity } from './user.entity';
|
|
5
|
+
import { UsersEntityIn } from './user.dto';
|
|
6
|
+
export declare class UserRepository extends TypeOrmConnector<UsersEntity, UsersEntityIn> {
|
|
7
|
+
constructor(relations?: any);
|
|
8
|
+
cars: () => CarsRepository;
|
|
9
|
+
roles: () => RoleRepository;
|
|
10
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UserRepository = void 0;
|
|
4
|
+
const car_repositoryTypeOrm_1 = require("../car/car.repositoryTypeOrm");
|
|
5
|
+
const roles_repositoryTypeOrm_1 = require("../roles/roles.repositoryTypeOrm");
|
|
6
|
+
const roles_users_repositoryTypeOrm_1 = require("../roles/roles_users.repositoryTypeOrm");
|
|
7
|
+
const fluent_1 = require("@goatlab/fluent");
|
|
8
|
+
const user_entity_1 = require("./user.entity");
|
|
9
|
+
class UserRepository extends fluent_1.TypeOrmConnector {
|
|
10
|
+
constructor(relations) {
|
|
11
|
+
super(user_entity_1.UsersEntity, relations, 'runningTest');
|
|
12
|
+
this.cars = () => this.hasMany(car_repositoryTypeOrm_1.CarsRepository, 'cars');
|
|
13
|
+
this.roles = () => this.belongsToMany(roles_repositoryTypeOrm_1.RoleRepository, roles_users_repositoryTypeOrm_1.RoleUsersRepository, 'roles');
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.UserRepository = UserRepository;
|