@goatlab/fluent 0.7.5 → 0.7.10

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 (85) hide show
  1. package/dist/BaseConnector.d.ts +8 -31
  2. package/dist/BaseConnector.js +11 -104
  3. package/dist/FluentConnectorInterface.d.ts +17 -0
  4. package/dist/FluentConnectorInterface.js +2 -0
  5. package/dist/TypeOrmConnector/TypeOrmConnector.d.ts +8 -12
  6. package/dist/TypeOrmConnector/TypeOrmConnector.js +183 -546
  7. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoBaseAggregations.d.ts +7 -0
  8. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoBaseAggregations.js +148 -0
  9. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoFindAggregatedQuery.d.ts +6 -0
  10. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoFindAggregatedQuery.js +34 -0
  11. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoSelect.d.ts +4 -0
  12. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoSelect.js +12 -0
  13. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoWhere.d.ts +6 -0
  14. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoWhere.js +166 -0
  15. package/dist/TypeOrmConnector/queryBuilder/sql/getQueryBuilderWhere.d.ts +8 -0
  16. package/dist/TypeOrmConnector/queryBuilder/sql/getQueryBuilderWhere.js +200 -0
  17. package/dist/TypeOrmConnector/queryBuilder/sql/getTypeOrmWhere.d.ts +6 -0
  18. package/dist/TypeOrmConnector/queryBuilder/sql/getTypeOrmWhere.js +207 -0
  19. package/dist/TypeOrmConnector/test/basic/goat.entity.d.ts +3 -3
  20. package/dist/TypeOrmConnector/test/basic/goat.entity.js +1 -1
  21. package/dist/TypeOrmConnector/test/docker/docker.d.ts +1 -1
  22. package/dist/TypeOrmConnector/test/docker/docker.js +3 -4
  23. package/dist/TypeOrmConnector/test/docker/mongo.d.ts +16 -0
  24. package/dist/TypeOrmConnector/test/docker/mongo.js +93 -0
  25. package/dist/TypeOrmConnector/test/docker/mysql.js +1 -1
  26. package/dist/TypeOrmConnector/test/mongo/car.mongo.repository.d.ts +4 -2
  27. package/dist/TypeOrmConnector/test/mongo/car.mongo.repository.js +6 -1
  28. package/dist/TypeOrmConnector/test/mongo/roles.mongo.repository.d.ts +3 -2
  29. package/dist/TypeOrmConnector/test/mongo/roles.mongo.repository.js +3 -1
  30. package/dist/TypeOrmConnector/test/mongo/user.mongo.repository.d.ts +2 -2
  31. package/dist/TypeOrmConnector/test/mongo/user.mongo.repository.js +2 -1
  32. package/dist/TypeOrmConnector/test/mysql/car.mysql.repository.d.ts +6 -2
  33. package/dist/TypeOrmConnector/test/mysql/car.mysql.repository.js +10 -1
  34. package/dist/TypeOrmConnector/test/mysql/mysqlDataSource.js +1 -1
  35. package/dist/TypeOrmConnector/test/mysql/roles.mysql.repository.d.ts +3 -2
  36. package/dist/TypeOrmConnector/test/mysql/roles.mysql.repository.js +3 -1
  37. package/dist/TypeOrmConnector/test/mysql/user.mysql.repository.d.ts +2 -2
  38. package/dist/TypeOrmConnector/test/mysql/user.mysql.repository.js +2 -1
  39. package/dist/TypeOrmConnector/test/relations/car/car.entity.d.ts +0 -1
  40. package/dist/TypeOrmConnector/test/relations/car/car.entity.js +0 -8
  41. package/dist/TypeOrmConnector/test/relations/car/car.output.schema.d.ts +511 -0
  42. package/dist/TypeOrmConnector/test/relations/car/car.output.schema.js +8 -0
  43. package/dist/TypeOrmConnector/test/relations/car/car.repositoryTypeOrm.d.ts +4 -2
  44. package/dist/TypeOrmConnector/test/relations/car/car.repositoryTypeOrm.js +6 -1
  45. package/dist/TypeOrmConnector/test/relations/car/car.schema.d.ts +2 -25
  46. package/dist/TypeOrmConnector/test/relations/car/car.schema.js +3 -8
  47. package/dist/TypeOrmConnector/test/relations/relationsTestsSuite.d.ts +1 -1
  48. package/dist/TypeOrmConnector/test/relations/relationsTestsSuite.js +435 -35
  49. package/dist/TypeOrmConnector/test/relations/roles/role.output.schema.d.ts +152 -0
  50. package/dist/TypeOrmConnector/test/relations/roles/role.output.schema.js +14 -0
  51. package/dist/TypeOrmConnector/test/relations/roles/role.schema.d.ts +2 -25
  52. package/dist/TypeOrmConnector/test/relations/roles/role.schema.js +2 -10
  53. package/dist/TypeOrmConnector/test/relations/roles/roles.repositoryTypeOrm.d.ts +3 -2
  54. package/dist/TypeOrmConnector/test/relations/roles/roles.repositoryTypeOrm.js +3 -1
  55. package/dist/TypeOrmConnector/test/relations/user/user.repositoryTypeOrm.d.ts +2 -2
  56. package/dist/TypeOrmConnector/test/relations/user/user.repositoryTypeOrm.js +2 -1
  57. package/dist/TypeOrmConnector/test/relations/user/user.schema.d.ts +465 -69
  58. package/dist/TypeOrmConnector/test/relations/user/user.schema.js +54 -5
  59. package/dist/TypeOrmConnector/util/clearEmpties.d.ts +1 -0
  60. package/dist/TypeOrmConnector/util/clearEmpties.js +25 -0
  61. package/dist/TypeOrmConnector/util/extractConditions.d.ts +6 -0
  62. package/dist/TypeOrmConnector/util/extractConditions.js +80 -0
  63. package/dist/TypeOrmConnector/util/extractInclude.d.ts +2 -0
  64. package/dist/TypeOrmConnector/util/extractInclude.js +25 -0
  65. package/dist/TypeOrmConnector/util/extractMetadataFromKeys.d.ts +12 -0
  66. package/dist/TypeOrmConnector/util/extractMetadataFromKeys.js +42 -0
  67. package/dist/TypeOrmConnector/util/extractOrderBy.d.ts +4 -0
  68. package/dist/TypeOrmConnector/util/extractOrderBy.js +18 -0
  69. package/dist/TypeOrmConnector/util/getRelationsFromModelGenerator.d.ts +19 -0
  70. package/dist/TypeOrmConnector/util/getRelationsFromModelGenerator.js +26 -0
  71. package/dist/TypeOrmConnector/util/getSelectedKeysFromRawSql.d.ts +1 -0
  72. package/dist/TypeOrmConnector/util/getSelectedKeysFromRawSql.js +20 -0
  73. package/dist/TypeOrmConnector/util/isAnyObject.d.ts +1 -0
  74. package/dist/TypeOrmConnector/util/isAnyObject.js +7 -0
  75. package/dist/TypeOrmConnector/util/nestQueryResults.d.ts +2 -0
  76. package/dist/TypeOrmConnector/util/nestQueryResults.js +31 -0
  77. package/dist/index.d.ts +5 -4
  78. package/dist/index.js +2 -1
  79. package/dist/loadRelations.js +8 -10
  80. package/dist/tsconfig.tsbuildinfo +1 -1
  81. package/dist/types.d.ts +37 -20
  82. package/package.json +4 -3
  83. package/CHANGELOG.md +0 -1072
  84. package/dist/TypeOrmConnector/test/mongo/mongo.memory.d.ts +0 -4
  85. package/dist/TypeOrmConnector/test/mongo/mongo.memory.js +0 -43
@@ -0,0 +1,152 @@
1
+ import { z } from 'zod';
2
+ export declare const userWithPivot: z.ZodObject<z.extendShape<{
3
+ id: z.ZodOptional<z.ZodString>;
4
+ name: z.ZodString;
5
+ age: z.ZodOptional<z.ZodNumber>;
6
+ breed: z.ZodOptional<z.ZodObject<{
7
+ family: z.ZodOptional<z.ZodString>;
8
+ members: z.ZodOptional<z.ZodNumber>;
9
+ }, "strip", z.ZodTypeAny, {
10
+ family?: string | undefined;
11
+ members?: number | undefined;
12
+ }, {
13
+ family?: string | undefined;
14
+ members?: number | undefined;
15
+ }>>;
16
+ }, {
17
+ pivot: z.ZodOptional<z.ZodObject<{
18
+ id: z.ZodOptional<z.ZodString>;
19
+ userId: z.ZodString;
20
+ roleId: z.ZodString;
21
+ }, "strip", z.ZodTypeAny, {
22
+ id?: string | undefined;
23
+ roleId: string;
24
+ userId: string;
25
+ }, {
26
+ id?: string | undefined;
27
+ roleId: string;
28
+ userId: string;
29
+ }>>;
30
+ }>, "strip", z.ZodTypeAny, {
31
+ pivot?: {
32
+ id?: string | undefined;
33
+ roleId: string;
34
+ userId: string;
35
+ } | undefined;
36
+ id?: string | undefined;
37
+ age?: number | undefined;
38
+ breed?: {
39
+ family?: string | undefined;
40
+ members?: number | undefined;
41
+ } | undefined;
42
+ name: string;
43
+ }, {
44
+ pivot?: {
45
+ id?: string | undefined;
46
+ roleId: string;
47
+ userId: string;
48
+ } | undefined;
49
+ id?: string | undefined;
50
+ age?: number | undefined;
51
+ breed?: {
52
+ family?: string | undefined;
53
+ members?: number | undefined;
54
+ } | undefined;
55
+ name: string;
56
+ }>;
57
+ export declare const RoleOuputSchema: z.ZodObject<z.extendShape<{
58
+ id: z.ZodOptional<z.ZodString>;
59
+ name: z.ZodString;
60
+ }, {
61
+ id: z.ZodString;
62
+ users: z.ZodOptional<z.ZodArray<z.ZodObject<z.extendShape<{
63
+ id: z.ZodOptional<z.ZodString>;
64
+ name: z.ZodString;
65
+ age: z.ZodOptional<z.ZodNumber>;
66
+ breed: z.ZodOptional<z.ZodObject<{
67
+ family: z.ZodOptional<z.ZodString>;
68
+ members: z.ZodOptional<z.ZodNumber>;
69
+ }, "strip", z.ZodTypeAny, {
70
+ family?: string | undefined;
71
+ members?: number | undefined;
72
+ }, {
73
+ family?: string | undefined;
74
+ members?: number | undefined;
75
+ }>>;
76
+ }, {
77
+ pivot: z.ZodOptional<z.ZodObject<{
78
+ id: z.ZodOptional<z.ZodString>;
79
+ userId: z.ZodString;
80
+ roleId: z.ZodString;
81
+ }, "strip", z.ZodTypeAny, {
82
+ id?: string | undefined;
83
+ roleId: string;
84
+ userId: string;
85
+ }, {
86
+ id?: string | undefined;
87
+ roleId: string;
88
+ userId: string;
89
+ }>>;
90
+ }>, "strip", z.ZodTypeAny, {
91
+ pivot?: {
92
+ id?: string | undefined;
93
+ roleId: string;
94
+ userId: string;
95
+ } | undefined;
96
+ id?: string | undefined;
97
+ age?: number | undefined;
98
+ breed?: {
99
+ family?: string | undefined;
100
+ members?: number | undefined;
101
+ } | undefined;
102
+ name: string;
103
+ }, {
104
+ pivot?: {
105
+ id?: string | undefined;
106
+ roleId: string;
107
+ userId: string;
108
+ } | undefined;
109
+ id?: string | undefined;
110
+ age?: number | undefined;
111
+ breed?: {
112
+ family?: string | undefined;
113
+ members?: number | undefined;
114
+ } | undefined;
115
+ name: string;
116
+ }>, "many">>;
117
+ }>, "strip", z.ZodTypeAny, {
118
+ users?: {
119
+ pivot?: {
120
+ id?: string | undefined;
121
+ roleId: string;
122
+ userId: string;
123
+ } | undefined;
124
+ id?: string | undefined;
125
+ age?: number | undefined;
126
+ breed?: {
127
+ family?: string | undefined;
128
+ members?: number | undefined;
129
+ } | undefined;
130
+ name: string;
131
+ }[] | undefined;
132
+ id: string;
133
+ name: string;
134
+ }, {
135
+ users?: {
136
+ pivot?: {
137
+ id?: string | undefined;
138
+ roleId: string;
139
+ userId: string;
140
+ } | undefined;
141
+ id?: string | undefined;
142
+ age?: number | undefined;
143
+ breed?: {
144
+ family?: string | undefined;
145
+ members?: number | undefined;
146
+ } | undefined;
147
+ name: string;
148
+ }[] | undefined;
149
+ id: string;
150
+ name: string;
151
+ }>;
152
+ export declare type RoleDtoOut = z.infer<typeof RoleOuputSchema>;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RoleOuputSchema = exports.userWithPivot = void 0;
4
+ const zod_1 = require("zod");
5
+ const user_schema_1 = require("../user/user.schema");
6
+ const role_schema_1 = require("./role.schema");
7
+ const roles_user_schema_1 = require("./roles_user.schema");
8
+ exports.userWithPivot = user_schema_1.userInputSchema.extend({
9
+ pivot: roles_user_schema_1.RolesUserSchema.optional()
10
+ });
11
+ exports.RoleOuputSchema = role_schema_1.RoleInputSchema.extend({
12
+ id: zod_1.z.string(),
13
+ users: exports.userWithPivot.array().optional()
14
+ });
@@ -1,35 +1,12 @@
1
1
  import { z } from 'zod';
2
- export declare const RoleEntitySchema: z.ZodObject<{
2
+ export declare const RoleInputSchema: z.ZodObject<{
3
3
  id: z.ZodOptional<z.ZodString>;
4
4
  name: z.ZodString;
5
- users: z.ZodOptional<z.ZodArray<z.ZodObject<{
6
- id: z.ZodOptional<z.ZodString>;
7
- name: z.ZodString;
8
- age: z.ZodOptional<z.ZodNumber>;
9
- }, "strip", z.ZodTypeAny, {
10
- id?: string | undefined;
11
- age?: number | undefined;
12
- name: string;
13
- }, {
14
- id?: string | undefined;
15
- age?: number | undefined;
16
- name: string;
17
- }>, "many">>;
18
5
  }, "strip", z.ZodTypeAny, {
19
6
  id?: string | undefined;
20
- users?: {
21
- id?: string | undefined;
22
- age?: number | undefined;
23
- name: string;
24
- }[] | undefined;
25
7
  name: string;
26
8
  }, {
27
9
  id?: string | undefined;
28
- users?: {
29
- id?: string | undefined;
30
- age?: number | undefined;
31
- name: string;
32
- }[] | undefined;
33
10
  name: string;
34
11
  }>;
35
- export declare type RoleEntityInputSchema = z.infer<typeof RoleEntitySchema>;
12
+ export declare type RoleDtoInput = z.infer<typeof RoleInputSchema>;
@@ -1,16 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RoleEntitySchema = void 0;
3
+ exports.RoleInputSchema = void 0;
4
4
  const zod_1 = require("zod");
5
- exports.RoleEntitySchema = zod_1.z.object({
5
+ exports.RoleInputSchema = zod_1.z.object({
6
6
  id: zod_1.z.string().optional(),
7
7
  name: zod_1.z.string(),
8
- users: zod_1.z
9
- .object({
10
- id: zod_1.z.string().optional(),
11
- name: zod_1.z.string(),
12
- age: zod_1.z.number().optional()
13
- })
14
- .array()
15
- .optional()
16
8
  });
@@ -1,8 +1,9 @@
1
1
  import { RoleEntity } from './roles.entity';
2
- import { RoleEntityInputSchema } from './role.schema';
2
+ import { RoleDtoInput } from './role.schema';
3
3
  import { TypeOrmConnector } from '../../../TypeOrmConnector';
4
4
  import { UserRepository } from '../user/user.repositoryTypeOrm';
5
- export declare class RoleRepository extends TypeOrmConnector<RoleEntity, RoleEntityInputSchema> {
5
+ import { RoleDtoOut } from './role.output.schema';
6
+ export declare class RoleRepository extends TypeOrmConnector<RoleEntity, RoleDtoInput, RoleDtoOut> {
6
7
  constructor();
7
8
  users: () => UserRepository;
8
9
  }
@@ -7,12 +7,14 @@ const roles_users_repositoryTypeOrm_1 = require("./roles_users.repositoryTypeOrm
7
7
  const TypeOrmConnector_1 = require("../../../TypeOrmConnector");
8
8
  const user_repositoryTypeOrm_1 = require("../user/user.repositoryTypeOrm");
9
9
  const memoryDataSource_1 = require("../../sqlite/memoryDataSource");
10
+ const role_output_schema_1 = require("./role.output.schema");
10
11
  class RoleRepository extends TypeOrmConnector_1.TypeOrmConnector {
11
12
  constructor() {
12
13
  super({
13
14
  entity: roles_entity_1.RoleEntity,
14
15
  dataSource: memoryDataSource_1.MemoryDataSource,
15
- inputSchema: role_schema_1.RoleEntitySchema
16
+ inputSchema: role_schema_1.RoleInputSchema,
17
+ outputSchema: role_output_schema_1.RoleOuputSchema
16
18
  });
17
19
  this.users = () => this.belongsToMany({
18
20
  repository: user_repositoryTypeOrm_1.UserRepository,
@@ -2,8 +2,8 @@ import { CarsRepository } from '../car/car.repositoryTypeOrm';
2
2
  import { RoleRepository } from '../roles/roles.repositoryTypeOrm';
3
3
  import { TypeOrmConnector } from '../../../TypeOrmConnector';
4
4
  import { UsersEntity } from './user.entity';
5
- import { UsersEntityInputSchema } from './user.schema';
6
- export declare class UserRepository extends TypeOrmConnector<UsersEntity, UsersEntityInputSchema> {
5
+ import { UsersDtoIn, UsersDtoOut } from './user.schema';
6
+ export declare class UserRepository extends TypeOrmConnector<UsersEntity, UsersDtoIn, UsersDtoOut> {
7
7
  constructor();
8
8
  cars: () => CarsRepository;
9
9
  roles: () => RoleRepository;
@@ -13,7 +13,8 @@ class UserRepository extends TypeOrmConnector_1.TypeOrmConnector {
13
13
  super({
14
14
  entity: user_entity_1.UsersEntity,
15
15
  dataSource: memoryDataSource_1.MemoryDataSource,
16
- inputSchema: user_schema_1.UsersEntitySchema
16
+ inputSchema: user_schema_1.userInputSchema,
17
+ outputSchema: user_schema_1.userOutputSchema
17
18
  });
18
19
  this.cars = () => {
19
20
  return this.hasMany({