@iamkirbki/database-handler-core 4.3.0 → 4.3.1
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/abstract/Model.d.ts.map +1 -1
- package/dist/abstract/Model.js +2 -3
- package/dist/base/Query.d.ts +7 -12
- package/dist/base/Query.d.ts.map +1 -1
- package/dist/base/Query.js +10 -9
- package/dist/base/Record.d.ts +4 -2
- package/dist/base/Record.d.ts.map +1 -1
- package/dist/base/Record.js +17 -9
- package/dist/base/Table.d.ts +8 -4
- package/dist/base/Table.d.ts.map +1 -1
- package/dist/base/Table.js +32 -17
- package/dist/helpers/QueryStatementBuilder.d.ts +3 -2
- package/dist/helpers/QueryStatementBuilder.d.ts.map +1 -1
- package/dist/helpers/QueryStatementBuilder.js +5 -6
- package/dist/interfaces/ISchemaBuilder.d.ts +1 -1
- package/dist/interfaces/ISchemaBuilder.d.ts.map +1 -1
- package/dist/runtime/Container.d.ts +2 -0
- package/dist/runtime/Container.d.ts.map +1 -1
- package/dist/runtime/Container.js +7 -0
- package/dist/runtime/Repository.d.ts +8 -4
- package/dist/runtime/Repository.d.ts.map +1 -1
- package/dist/runtime/Repository.js +18 -9
- package/dist/types/factories.d.ts +6 -0
- package/dist/types/factories.d.ts.map +1 -0
- package/dist/types/factories.js +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/query.d.ts +8 -0
- package/dist/types/query.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Model.d.ts","sourceRoot":"","sources":["../../src/abstract/Model.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Model.d.ts","sourceRoot":"","sources":["../../src/abstract/Model.ts"],"names":[],"mappings":"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"}
|
package/dist/abstract/Model.js
CHANGED
|
@@ -7,7 +7,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
import Query from "../base/Query.js";
|
|
11
10
|
import Repository from "../runtime/Repository.js";
|
|
12
11
|
/** Abstract Model class for ORM-style database interactions */
|
|
13
12
|
export default class Model {
|
|
@@ -313,9 +312,9 @@ export default class Model {
|
|
|
313
312
|
'column' in queryScopes &&
|
|
314
313
|
'operator' in queryScopes &&
|
|
315
314
|
'value' in queryScopes;
|
|
316
|
-
|
|
315
|
+
const scopesArray = isSingleParameter
|
|
317
316
|
? [queryScopes]
|
|
318
|
-
:
|
|
317
|
+
: this.repository.ConvertParamsToArray(queryScopes);
|
|
319
318
|
return scopesArray.map(scope => (Object.assign(Object.assign({}, scope), { column: `${tableName}.${scope.column}` })));
|
|
320
319
|
}
|
|
321
320
|
toJSON() {
|
package/dist/base/Query.d.ts
CHANGED
|
@@ -1,32 +1,27 @@
|
|
|
1
|
-
import { columnType, QueryWhereCondition, QueryIsEqualParameter, TableColumnInfo, QueryComparisonParameters } from "../types/index.js";
|
|
1
|
+
import { columnType, QueryWhereCondition, QueryIsEqualParameter, TableColumnInfo, QueryComparisonParameters, QueryConstructorType } from "../types/index.js";
|
|
2
2
|
import { Record } from "../index.js";
|
|
3
|
-
export type QueryConstructorType = {
|
|
4
|
-
tableName: string;
|
|
5
|
-
query?: string;
|
|
6
|
-
parameters?: QueryWhereCondition;
|
|
7
|
-
adapterName?: string;
|
|
8
|
-
};
|
|
9
3
|
/** Query class for executing custom SQL queries */
|
|
10
4
|
export default class Query {
|
|
11
5
|
readonly TableName: string;
|
|
12
6
|
private readonly _adapter;
|
|
13
7
|
private _query?;
|
|
14
8
|
private _parameters;
|
|
9
|
+
private readonly _recordFactory;
|
|
15
10
|
get Parameters(): QueryWhereCondition;
|
|
16
|
-
constructor({ tableName, query, parameters, adapterName }: QueryConstructorType);
|
|
11
|
+
constructor({ tableName, query, parameters, adapterName, recordFactory }: QueryConstructorType);
|
|
17
12
|
/** Execute a non-SELECT query (INSERT, UPDATE, DELETE, etc.) */
|
|
18
13
|
Run<Type>(): Promise<Type>;
|
|
19
14
|
/** Execute a SELECT query and return all matching rows */
|
|
20
15
|
All<Type extends columnType>(): Promise<Record<Type>[]>;
|
|
21
16
|
/** Execute a SELECT query and return the first matching row */
|
|
22
17
|
Get<Type extends columnType>(): Promise<Record<Type> | undefined>;
|
|
23
|
-
|
|
18
|
+
TableColumnInformation(tableName: string): Promise<TableColumnInfo[]>;
|
|
24
19
|
DoesTableExist(): Promise<boolean>;
|
|
25
20
|
Count(): Promise<number>;
|
|
26
|
-
|
|
21
|
+
ConvertParamsToArray(params: QueryWhereCondition): QueryComparisonParameters[];
|
|
27
22
|
/** Convert various parameter formats to a consistent object format */
|
|
28
|
-
|
|
23
|
+
ConvertParamsToObject(params: QueryWhereCondition): QueryIsEqualParameter;
|
|
29
24
|
/** Databases don't like numeric values when inserting with a query */
|
|
30
|
-
|
|
25
|
+
ConvertValueToString(params: QueryIsEqualParameter): QueryIsEqualParameter;
|
|
31
26
|
}
|
|
32
27
|
//# sourceMappingURL=Query.d.ts.map
|
package/dist/base/Query.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Query.d.ts","sourceRoot":"","sources":["../../src/base/Query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"Query.d.ts","sourceRoot":"","sources":["../../src/base/Query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,eAAe,EAAE,yBAAyB,EAAE,oBAAoB,EAAiB,MAAM,sBAAsB,CAAC;AAC/K,OAAO,EAAa,MAAM,EAAoB,MAAM,gBAAgB,CAAC;AAErE,mDAAmD;AACnD,MAAM,CAAC,OAAO,OAAO,KAAK;IACxB,SAAgB,SAAS,EAAE,MAAM,CAAC;IAElC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,MAAM,CAAC,CAAc;IAC7B,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAE/C,IAAW,UAAU,IAAI,mBAAmB,CAE3C;gBAEW,EACV,SAAS,EACT,KAAK,EACL,UAAU,EACV,WAAW,EACX,aAA8E,EAC/E,EAAE,oBAAoB;IAWvB,gEAAgE;IACnD,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC;IAQvC,0DAA0D;IAC7C,GAAG,CAAC,IAAI,SAAS,UAAU,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;IAUpE,+DAA+D;IAClD,GAAG,CAAC,IAAI,SAAS,UAAU,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IASjE,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAIrE,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAIlC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAS9B,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,GAAG,yBAAyB,EAAE;IAkBrF,sEAAsE;IAC/D,qBAAqB,CAAC,MAAM,EAAE,mBAAmB,GAAG,qBAAqB;IAahF,sEAAsE;IAC/D,oBAAoB,CAAC,MAAM,EAAE,qBAAqB,GAAG,qBAAqB;CAKlF"}
|
package/dist/base/Query.js
CHANGED
|
@@ -13,14 +13,15 @@ export default class Query {
|
|
|
13
13
|
get Parameters() {
|
|
14
14
|
return this._parameters;
|
|
15
15
|
}
|
|
16
|
-
constructor({ tableName, query, parameters, adapterName }) {
|
|
16
|
+
constructor({ tableName, query, parameters, adapterName, recordFactory = (table, values, adapter) => new Record(table, values, adapter) }) {
|
|
17
17
|
this._query = "";
|
|
18
18
|
this._parameters = {};
|
|
19
19
|
this.TableName = tableName;
|
|
20
20
|
this._query = query;
|
|
21
21
|
if (parameters)
|
|
22
|
-
this._parameters =
|
|
22
|
+
this._parameters = this.ConvertParamsToObject(parameters);
|
|
23
23
|
this._adapter = Container.getInstance().getAdapter(adapterName);
|
|
24
|
+
this._recordFactory = recordFactory;
|
|
24
25
|
}
|
|
25
26
|
/** Execute a non-SELECT query (INSERT, UPDATE, DELETE, etc.) */
|
|
26
27
|
Run() {
|
|
@@ -40,7 +41,7 @@ export default class Query {
|
|
|
40
41
|
}
|
|
41
42
|
const stmt = yield this._adapter.prepare(this._query);
|
|
42
43
|
const results = yield stmt.all(this.Parameters);
|
|
43
|
-
return results.map(res =>
|
|
44
|
+
return results.map(res => this._recordFactory(this.TableName, res));
|
|
44
45
|
});
|
|
45
46
|
}
|
|
46
47
|
/** Execute a SELECT query and return the first matching row */
|
|
@@ -51,12 +52,12 @@ export default class Query {
|
|
|
51
52
|
}
|
|
52
53
|
const stmt = yield this._adapter.prepare(this._query);
|
|
53
54
|
const results = yield stmt.get(this.Parameters);
|
|
54
|
-
return results ?
|
|
55
|
+
return results ? this._recordFactory(this.TableName, results) : undefined;
|
|
55
56
|
});
|
|
56
57
|
}
|
|
57
|
-
|
|
58
|
+
TableColumnInformation(tableName) {
|
|
58
59
|
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
-
return
|
|
60
|
+
return this._adapter.tableColumnInformation(tableName);
|
|
60
61
|
});
|
|
61
62
|
}
|
|
62
63
|
DoesTableExist() {
|
|
@@ -74,7 +75,7 @@ export default class Query {
|
|
|
74
75
|
return parseInt(result.count) || 0;
|
|
75
76
|
});
|
|
76
77
|
}
|
|
77
|
-
|
|
78
|
+
ConvertParamsToArray(params) {
|
|
78
79
|
const paramArray = [];
|
|
79
80
|
if (Array.isArray(params)) {
|
|
80
81
|
return params;
|
|
@@ -91,7 +92,7 @@ export default class Query {
|
|
|
91
92
|
return paramArray;
|
|
92
93
|
}
|
|
93
94
|
/** Convert various parameter formats to a consistent object format */
|
|
94
|
-
|
|
95
|
+
ConvertParamsToObject(params) {
|
|
95
96
|
const paramObject = {};
|
|
96
97
|
if (Array.isArray(params)) {
|
|
97
98
|
params.forEach(param => {
|
|
@@ -104,7 +105,7 @@ export default class Query {
|
|
|
104
105
|
return this.ConvertValueToString(paramObject);
|
|
105
106
|
}
|
|
106
107
|
/** Databases don't like numeric values when inserting with a query */
|
|
107
|
-
|
|
108
|
+
ConvertValueToString(params) {
|
|
108
109
|
return Object.entries(params).map(([key, value]) => {
|
|
109
110
|
return { [key]: value !== null && !(value instanceof Date) && value !== undefined ? value.toString() : value };
|
|
110
111
|
}).reduce((acc, curr) => (Object.assign(Object.assign({}, acc), curr)), {});
|
package/dist/base/Record.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { inspect } from "util";
|
|
2
|
-
import { columnType, QueryIsEqualParameter } from "../types/index.js";
|
|
2
|
+
import { columnType, QueryIsEqualParameter, QueryFactory, RecordFactory } from "../types/index.js";
|
|
3
3
|
/** Record class represents a single database row */
|
|
4
4
|
export default class Record<ColumnValuesType extends columnType> {
|
|
5
5
|
private _values;
|
|
6
6
|
private readonly _tableName;
|
|
7
7
|
private readonly _customAdapter?;
|
|
8
|
-
|
|
8
|
+
private readonly _queryFactory;
|
|
9
|
+
private readonly _recordFactory;
|
|
10
|
+
constructor(table: string, values: ColumnValuesType, adapter?: string, queryFactory?: QueryFactory, recordFactory?: RecordFactory);
|
|
9
11
|
/** Get the raw values object for this record */
|
|
10
12
|
get values(): ColumnValuesType;
|
|
11
13
|
Insert(): Promise<this | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Record.d.ts","sourceRoot":"","sources":["../../src/base/Record.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,OAAO,EAAE,UAAU,EAAoC,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"Record.d.ts","sourceRoot":"","sources":["../../src/base/Record.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,OAAO,EAAE,UAAU,EAAoC,qBAAqB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGxI,oDAAoD;AACpD,MAAM,CAAC,OAAO,OAAO,MAAM,CAAC,gBAAgB,SAAS,UAAU;IAC3D,OAAO,CAAC,OAAO,CAA4C;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;gBAG3C,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE,MAAM,EAChB,YAAY,GAAE,YAA4C,EAC1D,aAAa,GAAE,aAA8E;IASjG,gDAAgD;IAChD,IAAW,MAAM,IAAI,gBAAgB,CAEpC;IAEY,MAAM,IAAI,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAiDhD,yCAAyC;IAC5B,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAE,eAAe,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BhH,2CAA2C;IAC9B,MAAM,CAAC,UAAU,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBtE,qDAAqD;IAC9C,MAAM,IAAI,gBAAgB;IAIjC,mDAAmD;IAC5C,QAAQ,IAAI,MAAM;IAIzB,uCAAuC;IACvC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,gBAAgB;CAGvC"}
|
package/dist/base/Record.js
CHANGED
|
@@ -12,11 +12,13 @@ import Query from "./Query.js";
|
|
|
12
12
|
import QueryStatementBuilder from "../helpers/QueryStatementBuilder.js";
|
|
13
13
|
/** Record class represents a single database row */
|
|
14
14
|
export default class Record {
|
|
15
|
-
constructor(table, values, adapter) {
|
|
15
|
+
constructor(table, values, adapter, queryFactory = (config) => new Query(config), recordFactory = (table, values, adapter) => new Record(table, values, adapter)) {
|
|
16
16
|
this._values = {};
|
|
17
17
|
this._tableName = table;
|
|
18
18
|
this._values = values;
|
|
19
19
|
this._customAdapter = adapter;
|
|
20
|
+
this._queryFactory = queryFactory;
|
|
21
|
+
this._recordFactory = recordFactory;
|
|
20
22
|
}
|
|
21
23
|
/** Get the raw values object for this record */
|
|
22
24
|
get values() {
|
|
@@ -31,11 +33,12 @@ export default class Record {
|
|
|
31
33
|
throw new Error("Cannot insert record with no columns");
|
|
32
34
|
}
|
|
33
35
|
const queryStr = QueryStatementBuilder.BuildInsert(this._tableName, this._values);
|
|
34
|
-
const query =
|
|
36
|
+
const query = this._queryFactory({
|
|
35
37
|
tableName: this._tableName,
|
|
36
38
|
query: queryStr,
|
|
37
39
|
parameters: this._values,
|
|
38
|
-
adapterName: this._customAdapter
|
|
40
|
+
adapterName: this._customAdapter,
|
|
41
|
+
recordFactory: this._recordFactory
|
|
39
42
|
});
|
|
40
43
|
const result = yield query.Run();
|
|
41
44
|
let recordId;
|
|
@@ -50,11 +53,12 @@ export default class Record {
|
|
|
50
53
|
return undefined;
|
|
51
54
|
}
|
|
52
55
|
const queryStrSelect = QueryStatementBuilder.BuildSelect(this._tableName, { where: Object.assign({}, this._values) });
|
|
53
|
-
const querySelect =
|
|
56
|
+
const querySelect = this._queryFactory({
|
|
54
57
|
tableName: this._tableName,
|
|
55
58
|
query: queryStrSelect,
|
|
56
59
|
parameters: this._values,
|
|
57
|
-
adapterName: this._customAdapter
|
|
60
|
+
adapterName: this._customAdapter,
|
|
61
|
+
recordFactory: this._recordFactory
|
|
58
62
|
});
|
|
59
63
|
const insertedRecord = yield querySelect.All();
|
|
60
64
|
if (insertedRecord.length > 0) {
|
|
@@ -77,11 +81,12 @@ export default class Record {
|
|
|
77
81
|
Object.entries(originalValues).forEach(([key, value]) => {
|
|
78
82
|
params[`where_${key}`] = value;
|
|
79
83
|
});
|
|
80
|
-
const _query =
|
|
84
|
+
const _query = this._queryFactory({
|
|
81
85
|
tableName: this._tableName,
|
|
82
86
|
query: queryStr,
|
|
83
87
|
parameters: params,
|
|
84
|
-
adapterName: this._customAdapter
|
|
88
|
+
adapterName: this._customAdapter,
|
|
89
|
+
recordFactory: this._recordFactory
|
|
85
90
|
});
|
|
86
91
|
yield _query.Run();
|
|
87
92
|
this._values = Object.assign(Object.assign({}, this._values), newValues);
|
|
@@ -98,9 +103,12 @@ export default class Record {
|
|
|
98
103
|
return;
|
|
99
104
|
}
|
|
100
105
|
const queryStr = QueryStatementBuilder.BuildDelete(this._tableName, this._values);
|
|
101
|
-
const _query =
|
|
106
|
+
const _query = this._queryFactory({
|
|
102
107
|
tableName: this._tableName,
|
|
103
|
-
query: queryStr,
|
|
108
|
+
query: queryStr,
|
|
109
|
+
parameters: this.values,
|
|
110
|
+
adapterName: this._customAdapter,
|
|
111
|
+
recordFactory: this._recordFactory
|
|
104
112
|
});
|
|
105
113
|
yield _query.Run();
|
|
106
114
|
});
|
package/dist/base/Table.d.ts
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
|
-
import { DefaultQueryParameters, Join, ExtraQueryParameters, ReadableTableColumnInfo, TableColumnInfo, columnType } from "../types/index.js";
|
|
2
|
-
import { Record } from "../index.js";
|
|
1
|
+
import { DefaultQueryParameters, Join, ExtraQueryParameters, ReadableTableColumnInfo, TableColumnInfo, columnType, QueryFactory, RecordFactory } from "../types/index.js";
|
|
2
|
+
import { Record, Query } from "../index.js";
|
|
3
3
|
/** Table class for interacting with a database table */
|
|
4
4
|
export default class Table {
|
|
5
|
+
private readonly _query;
|
|
5
6
|
private readonly _customAdapter?;
|
|
6
7
|
private readonly _name;
|
|
8
|
+
private readonly _queryFactory;
|
|
9
|
+
private readonly _recordFactory;
|
|
7
10
|
/** Private constructor - use Table.create() */
|
|
8
|
-
constructor(name: string, customAdapter?: string);
|
|
11
|
+
constructor(name: string, customAdapter?: string, queryFactory?: QueryFactory, recordFactory?: RecordFactory);
|
|
12
|
+
get QueryHelperObject(): Query;
|
|
9
13
|
/** Get raw column information */
|
|
10
|
-
TableColumnInformation(): Promise<TableColumnInfo[]>;
|
|
14
|
+
TableColumnInformation(tableName?: string): Promise<TableColumnInfo[]>;
|
|
11
15
|
/** Get readable, formatted column information */
|
|
12
16
|
ReadableTableColumnInformation(): Promise<ReadableTableColumnInfo[]>;
|
|
13
17
|
Drop(): Promise<void>;
|
package/dist/base/Table.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/base/Table.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,sBAAsB,EACtB,IAAI,EACJ,oBAAoB,EACpB,uBAAuB,EACvB,eAAe,EACf,UAAU,
|
|
1
|
+
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/base/Table.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,sBAAsB,EACtB,IAAI,EACJ,oBAAoB,EACpB,uBAAuB,EACvB,eAAe,EACf,UAAU,EACV,YAAY,EACZ,aAAa,EAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE/C,wDAAwD;AACxD,MAAM,CAAC,OAAO,OAAO,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAE/C,+CAA+C;gBAE3C,IAAI,EAAE,MAAM,EACZ,aAAa,CAAC,EAAE,MAAM,EACtB,YAAY,GAAE,YAA4C,EAC1D,aAAa,GAAE,aAA8E;IAcjG,IAAW,iBAAiB,IAAI,KAAK,CAEpC;IAED,iCAAiC;IACpB,sBAAsB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAInF,iDAAiD;IACpC,8BAA8B,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAWpE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAWlC,sEAAsE;IACzD,OAAO,CAAC,IAAI,SAAS,UAAU,EACxC,OAAO,CAAC,EAAE,sBAAsB,GAAG,oBAAoB,GACxD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;IAuB1B,2CAA2C;IAC9B,MAAM,CAAC,IAAI,SAAS,UAAU,EACvC,OAAO,CAAC,EAAE,sBAAsB,GAAG,oBAAoB,GACxD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IAWpC,qCAAqC;IACxB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAU/B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAUvC,qCAAqC;IACxB,MAAM,CAAC,IAAI,SAAS,UAAU,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IAM7F,gDAAgD;IACnC,IAAI,CAAC,IAAI,SAAS,UAAU,EACrC,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,EACpB,OAAO,CAAC,EAAE,sBAAsB,GAAG,oBAAoB,GACxD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAuBZ,eAAe;CAgChC"}
|
package/dist/base/Table.js
CHANGED
|
@@ -12,20 +12,30 @@ import { Record, Query } from "../index.js";
|
|
|
12
12
|
/** Table class for interacting with a database table */
|
|
13
13
|
export default class Table {
|
|
14
14
|
/** Private constructor - use Table.create() */
|
|
15
|
-
constructor(name, customAdapter) {
|
|
15
|
+
constructor(name, customAdapter, queryFactory = (config) => new Query(config), recordFactory = (table, values, adapter) => new Record(table, values, adapter)) {
|
|
16
16
|
this._name = name;
|
|
17
17
|
this._customAdapter = customAdapter;
|
|
18
|
+
this._queryFactory = queryFactory;
|
|
19
|
+
this._recordFactory = recordFactory;
|
|
20
|
+
this._query = this._queryFactory({
|
|
21
|
+
tableName: this._name,
|
|
22
|
+
adapterName: this._customAdapter,
|
|
23
|
+
recordFactory: this._recordFactory
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
get QueryHelperObject() {
|
|
27
|
+
return this._query;
|
|
18
28
|
}
|
|
19
29
|
/** Get raw column information */
|
|
20
|
-
TableColumnInformation() {
|
|
30
|
+
TableColumnInformation(tableName) {
|
|
21
31
|
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
-
return
|
|
32
|
+
return this._query.TableColumnInformation(tableName || this._name);
|
|
23
33
|
});
|
|
24
34
|
}
|
|
25
35
|
/** Get readable, formatted column information */
|
|
26
36
|
ReadableTableColumnInformation() {
|
|
27
37
|
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
-
const columns = yield this.TableColumnInformation();
|
|
38
|
+
const columns = yield this.TableColumnInformation(this._name);
|
|
29
39
|
return columns.map((col) => ({
|
|
30
40
|
name: col.name,
|
|
31
41
|
type: col.type,
|
|
@@ -38,10 +48,11 @@ export default class Table {
|
|
|
38
48
|
Drop() {
|
|
39
49
|
return __awaiter(this, void 0, void 0, function* () {
|
|
40
50
|
const queryStr = `DROP TABLE IF EXISTS "${this._name}";`;
|
|
41
|
-
const query =
|
|
51
|
+
const query = this._queryFactory({
|
|
42
52
|
tableName: this._name,
|
|
43
53
|
query: queryStr,
|
|
44
|
-
adapterName: this._customAdapter
|
|
54
|
+
adapterName: this._customAdapter,
|
|
55
|
+
recordFactory: this._recordFactory
|
|
45
56
|
});
|
|
46
57
|
yield query.Run();
|
|
47
58
|
});
|
|
@@ -59,10 +70,11 @@ export default class Table {
|
|
|
59
70
|
let params = {};
|
|
60
71
|
if ((options === null || options === void 0 ? void 0 : options.where) && Object.keys(options.where).length > 0)
|
|
61
72
|
params = options.where;
|
|
62
|
-
const query =
|
|
73
|
+
const query = this._queryFactory({
|
|
63
74
|
tableName: this._name,
|
|
64
75
|
query: queryStr,
|
|
65
|
-
parameters: params
|
|
76
|
+
parameters: params,
|
|
77
|
+
recordFactory: this._recordFactory
|
|
66
78
|
});
|
|
67
79
|
const results = yield query.All();
|
|
68
80
|
return results;
|
|
@@ -83,9 +95,10 @@ export default class Table {
|
|
|
83
95
|
/** Get the total count of records */
|
|
84
96
|
RecordsCount() {
|
|
85
97
|
return __awaiter(this, void 0, void 0, function* () {
|
|
86
|
-
const query =
|
|
98
|
+
const query = this._queryFactory({
|
|
87
99
|
tableName: this._name,
|
|
88
|
-
query: `SELECT COUNT(*) as count FROM "${this._name}"
|
|
100
|
+
query: `SELECT COUNT(*) as count FROM "${this._name}"`,
|
|
101
|
+
recordFactory: this._recordFactory
|
|
89
102
|
});
|
|
90
103
|
const count = yield query.Count();
|
|
91
104
|
return count || 0;
|
|
@@ -93,9 +106,10 @@ export default class Table {
|
|
|
93
106
|
}
|
|
94
107
|
exists() {
|
|
95
108
|
return __awaiter(this, void 0, void 0, function* () {
|
|
96
|
-
const query =
|
|
109
|
+
const query = this._queryFactory({
|
|
97
110
|
tableName: this._name,
|
|
98
|
-
adapterName: this._customAdapter
|
|
111
|
+
adapterName: this._customAdapter,
|
|
112
|
+
recordFactory: this._recordFactory
|
|
99
113
|
});
|
|
100
114
|
return yield query.DoesTableExist();
|
|
101
115
|
});
|
|
@@ -103,7 +117,7 @@ export default class Table {
|
|
|
103
117
|
/** Insert a record into the table */
|
|
104
118
|
Insert(values) {
|
|
105
119
|
return __awaiter(this, void 0, void 0, function* () {
|
|
106
|
-
const record =
|
|
120
|
+
const record = this._recordFactory(this._name, values, this._customAdapter);
|
|
107
121
|
yield record.Insert();
|
|
108
122
|
return record;
|
|
109
123
|
});
|
|
@@ -111,14 +125,15 @@ export default class Table {
|
|
|
111
125
|
/** Perform JOIN operations with other tables */
|
|
112
126
|
Join(Joins, options) {
|
|
113
127
|
return __awaiter(this, void 0, void 0, function* () {
|
|
114
|
-
const queryString = yield QueryStatementBuilder.BuildJoin(this._name, Joins, options);
|
|
128
|
+
const queryString = yield QueryStatementBuilder.BuildJoin(this._name, Joins, this.QueryHelperObject, options);
|
|
115
129
|
let params = {};
|
|
116
130
|
if (options === null || options === void 0 ? void 0 : options.where)
|
|
117
131
|
params = options.where;
|
|
118
|
-
const query =
|
|
132
|
+
const query = this._queryFactory({
|
|
119
133
|
tableName: this._name,
|
|
120
134
|
query: queryString,
|
|
121
|
-
parameters: params
|
|
135
|
+
parameters: params,
|
|
136
|
+
recordFactory: this._recordFactory
|
|
122
137
|
});
|
|
123
138
|
const joinedTables = Array.isArray(Joins) ? Joins.map(j => j.fromTable) : [Joins.fromTable];
|
|
124
139
|
if (options) {
|
|
@@ -155,7 +170,7 @@ export default class Table {
|
|
|
155
170
|
}
|
|
156
171
|
// Combine main table data with nested joined table data
|
|
157
172
|
const combinedData = Object.assign(Object.assign({}, mainTableData), joinedTableData);
|
|
158
|
-
return
|
|
173
|
+
return this._recordFactory(this._name, combinedData, this._customAdapter);
|
|
159
174
|
});
|
|
160
175
|
});
|
|
161
176
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Query } from "../index.js";
|
|
1
2
|
import { DefaultQueryParameters, ExtraQueryParameters, QueryWhereCondition, Join, QueryIsEqualParameter } from "../types/index.js";
|
|
2
3
|
/** Utility class for building SQL query strings */
|
|
3
4
|
export default class QueryStatementBuilder {
|
|
@@ -191,8 +192,8 @@ export default class QueryStatementBuilder {
|
|
|
191
192
|
* );
|
|
192
193
|
* ```
|
|
193
194
|
*/
|
|
194
|
-
static BuildJoin(fromTableName: string, joins: Join | Join[], options?: DefaultQueryParameters & ExtraQueryParameters): Promise<string>;
|
|
195
|
-
static BuildJoinSelect(fromTableName: string, joins: Join | Join[]): Promise<string>;
|
|
195
|
+
static BuildJoin(fromTableName: string, joins: Join | Join[], query: Query, options?: DefaultQueryParameters & ExtraQueryParameters): Promise<string>;
|
|
196
|
+
static BuildJoinSelect(fromTableName: string, joins: Join | Join[], query: Query): Promise<string>;
|
|
196
197
|
/**
|
|
197
198
|
* Build JOIN clause(s) recursively (helper method)
|
|
198
199
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryStatementBuilder.d.ts","sourceRoot":"","sources":["../../src/helpers/QueryStatementBuilder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"QueryStatementBuilder.d.ts","sourceRoot":"","sources":["../../src/helpers/QueryStatementBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,IAAI,EAA6B,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAEjK,mDAAmD;AACnD,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACtC;;;;;;;;;;;;;;;;;;;;;;;OAuBG;WACW,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,oBAAoB,GAAG,MAAM;IAW7G;;;;;;;;;;;;;;;;;;OAkBG;WACW,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,GAAG,MAAM;IAYnF;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;WACW,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,GAAG,MAAM;IAW7G;;;;;;;;;;;;;;;;;;;OAmBG;WACW,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,MAAM;IAShF;;;;;;;;;;;;;;;;;;;;OAoBG;WACW,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,mBAAmB,GAAG,MAAM;IAQhF;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;WACW,UAAU,CAAC,KAAK,CAAC,EAAE,mBAAmB,GAAG,MAAM;IAgB7D,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAStC,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAK/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2CG;WACiB,SAAS,CACzB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,EACpB,KAAK,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE,sBAAsB,GAAG,oBAAoB,GACxD,OAAO,CAAC,MAAM,CAAC;WAaE,eAAe,CAC/B,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,EACpB,KAAK,EAAE,KAAK,GACb,OAAO,CAAC,MAAM,CAAC;IAmBlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;WACW,aAAa,CACvB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,GACrB,MAAM;IAaT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;WACW,eAAe,CACzB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,EAAE,EAAE,qBAAqB,GAAG,qBAAqB,EAAE,GACpD,MAAM;IAWT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;WACW,iBAAiB,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM;CAiBzE"}
|
|
@@ -7,7 +7,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
import { Query } from "../index.js";
|
|
11
10
|
/** Utility class for building SQL query strings */
|
|
12
11
|
export default class QueryStatementBuilder {
|
|
13
12
|
/**
|
|
@@ -255,10 +254,10 @@ export default class QueryStatementBuilder {
|
|
|
255
254
|
* );
|
|
256
255
|
* ```
|
|
257
256
|
*/
|
|
258
|
-
static BuildJoin(fromTableName, joins, options) {
|
|
257
|
+
static BuildJoin(fromTableName, joins, query, options) {
|
|
259
258
|
return __awaiter(this, void 0, void 0, function* () {
|
|
260
259
|
const queryParts = [];
|
|
261
|
-
const selectClause = yield QueryStatementBuilder.BuildJoinSelect(fromTableName, joins);
|
|
260
|
+
const selectClause = yield QueryStatementBuilder.BuildJoinSelect(fromTableName, joins, query);
|
|
262
261
|
queryParts.push(`SELECT ${selectClause}`);
|
|
263
262
|
queryParts.push(`FROM "${fromTableName}"`);
|
|
264
263
|
queryParts.push(this.BuildJoinPart(fromTableName, joins));
|
|
@@ -267,13 +266,13 @@ export default class QueryStatementBuilder {
|
|
|
267
266
|
return queryParts.join(" ");
|
|
268
267
|
});
|
|
269
268
|
}
|
|
270
|
-
static BuildJoinSelect(fromTableName, joins) {
|
|
269
|
+
static BuildJoinSelect(fromTableName, joins, query) {
|
|
271
270
|
return __awaiter(this, void 0, void 0, function* () {
|
|
272
|
-
const mainTableCols = yield
|
|
271
|
+
const mainTableCols = yield query.TableColumnInformation(fromTableName);
|
|
273
272
|
const mainTableSelect = mainTableCols.map(col => `"${fromTableName}"."${col.name}" AS "${fromTableName}__${col.name}"`).join(', ');
|
|
274
273
|
const joinArray = Array.isArray(joins) ? joins : [joins];
|
|
275
274
|
const joinedSelects = yield Promise.all(joinArray.map((join) => __awaiter(this, void 0, void 0, function* () {
|
|
276
|
-
const cols = yield
|
|
275
|
+
const cols = yield query.TableColumnInformation(join.fromTable);
|
|
277
276
|
return cols.map(col => `"${join.fromTable}"."${col.name}" AS "${join.fromTable}__${col.name}"`).join(', ');
|
|
278
277
|
})));
|
|
279
278
|
return [mainTableSelect, ...joinedSelects].join(', ');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import SchemaTableBuilder from "../abstract/SchemaTableBuilder.js";
|
|
2
2
|
export default interface AbstractSchemaBuilder {
|
|
3
3
|
createTable(name: string, callback: (table: SchemaTableBuilder) => void): Promise<void>;
|
|
4
|
-
dropTable(name: string): Promise<void>;
|
|
4
|
+
dropTable(name: string, cascade?: boolean): Promise<void>;
|
|
5
5
|
alterTable(oldName: string, callback: (table: SchemaTableBuilder) => void): Promise<void>;
|
|
6
6
|
}
|
|
7
7
|
//# sourceMappingURL=ISchemaBuilder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ISchemaBuilder.d.ts","sourceRoot":"","sources":["../../src/interfaces/ISchemaBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,sCAAsC,CAAC;AAEtE,MAAM,CAAC,OAAO,WAAW,qBAAqB;IAC1C,WAAW,CACP,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,GAC9C,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,SAAS,CACL,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ISchemaBuilder.d.ts","sourceRoot":"","sources":["../../src/interfaces/ISchemaBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,sCAAsC,CAAC;AAEtE,MAAM,CAAC,OAAO,WAAW,qBAAqB;IAC1C,WAAW,CACP,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,GAC9C,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,SAAS,CACL,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,OAAO,GAClB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,UAAU,CACN,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,GAC9C,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB"}
|
|
@@ -7,6 +7,8 @@ declare class Container {
|
|
|
7
7
|
static getInstance(): Container;
|
|
8
8
|
registerAdapter(name: string, adapter: IDatabaseAdapter, isDefault?: boolean): void;
|
|
9
9
|
getAdapter(name?: string): IDatabaseAdapter;
|
|
10
|
+
clear(): void;
|
|
11
|
+
static resetInstance(): void;
|
|
10
12
|
}
|
|
11
13
|
export default Container;
|
|
12
14
|
//# sourceMappingURL=Container.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Container.d.ts","sourceRoot":"","sources":["../../src/runtime/Container.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AAEpE,cAAM,SAAS;IACX,OAAO,CAAC,MAAM,CAAC,SAAS,CAAY;IACpC,OAAO,CAAC,SAAS,CAA4C;IAC7D,OAAO,CAAC,eAAe,CAAC,CAAmB;IAE3C,OAAO;WAEO,WAAW,IAAI,SAAS;IAO/B,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,SAAS,UAAQ,GAAG,IAAI;IAYjF,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,gBAAgB;
|
|
1
|
+
{"version":3,"file":"Container.d.ts","sourceRoot":"","sources":["../../src/runtime/Container.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AAEpE,cAAM,SAAS;IACX,OAAO,CAAC,MAAM,CAAC,SAAS,CAAY;IACpC,OAAO,CAAC,SAAS,CAA4C;IAC7D,OAAO,CAAC,eAAe,CAAC,CAAmB;IAE3C,OAAO;WAEO,WAAW,IAAI,SAAS;IAO/B,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,SAAS,UAAQ,GAAG,IAAI;IAYjF,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,gBAAgB;IAU3C,KAAK,IAAI,IAAI;WAKN,aAAa,IAAI,IAAI;CAGtC;AAED,eAAe,SAAS,CAAC"}
|
|
@@ -29,5 +29,12 @@ class Container {
|
|
|
29
29
|
throw new Error("No default adapter set");
|
|
30
30
|
return this._defaultAdapter;
|
|
31
31
|
}
|
|
32
|
+
clear() {
|
|
33
|
+
this._adapters.clear();
|
|
34
|
+
this._defaultAdapter = undefined;
|
|
35
|
+
}
|
|
36
|
+
static resetInstance() {
|
|
37
|
+
Container._instance = new Container();
|
|
38
|
+
}
|
|
32
39
|
}
|
|
33
40
|
export default Container;
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import type Model from "../abstract/Model.js";
|
|
2
2
|
import Record from "../base/Record.js";
|
|
3
|
-
import { columnType, QueryWhereCondition, ExtraQueryParameters, relation, QueryIsEqualParameter } from "../types/index.js";
|
|
3
|
+
import { columnType, QueryWhereCondition, ExtraQueryParameters, relation, QueryComparisonParameters, QueryIsEqualParameter, TableFactory } from "../types/index.js";
|
|
4
4
|
export default class Repository<Type extends columnType, ModelType extends Model<Type>> {
|
|
5
5
|
private static _instances;
|
|
6
6
|
private models;
|
|
7
7
|
private manyToManyRelations;
|
|
8
8
|
private Table;
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
private customDatabaseAdapter?;
|
|
10
|
+
private tableFactory;
|
|
11
|
+
constructor(tableName: string, ModelClass: ModelType, customDatabaseAdapter?: string, tableFactory?: TableFactory);
|
|
12
|
+
static getInstance<ModelType extends columnType>(ModelClass: new () => Model<ModelType>, tableName: string, customDatabaseAdapter?: string, tableFactory?: TableFactory): Repository<ModelType, Model<ModelType>>;
|
|
13
|
+
static clearInstances(): void;
|
|
11
14
|
private generatePivotTableKeys;
|
|
12
15
|
insertRecordIntoPivotTable(foreignKey: string, modelOfOrigin: ModelType, relation: relation): Promise<void>;
|
|
13
16
|
deleteRecordFromPivotTable(foreignKey: string, modelOfOrigin: ModelType, relation: relation): Promise<void>;
|
|
@@ -21,6 +24,7 @@ export default class Repository<Type extends columnType, ModelType extends Model
|
|
|
21
24
|
all(Model: Model<Type>, queryscopes?: QueryWhereCondition, queryOptions?: ExtraQueryParameters): Promise<Type[]>;
|
|
22
25
|
update(primaryKey: QueryIsEqualParameter, newAttributes: Partial<Type>): Promise<Record<Type> | undefined>;
|
|
23
26
|
private join;
|
|
24
|
-
|
|
27
|
+
mergeQueryWhereConditions(base: QueryWhereCondition, additional: QueryWhereCondition): QueryComparisonParameters[];
|
|
28
|
+
ConvertParamsToArray(params: QueryWhereCondition): QueryComparisonParameters[];
|
|
25
29
|
}
|
|
26
30
|
//# sourceMappingURL=Repository.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Repository.d.ts","sourceRoot":"","sources":["../../src/runtime/Repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAC;AACjD,OAAO,MAAM,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"Repository.d.ts","sourceRoot":"","sources":["../../src/runtime/Repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAC;AACjD,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAQ,mBAAmB,EAAE,oBAAoB,EAAE,QAAQ,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE7K,MAAM,CAAC,OAAO,OAAO,UAAU,CAAC,IAAI,SAAS,UAAU,EAAE,SAAS,SAAS,KAAK,CAAC,IAAI,CAAC;IAClF,OAAO,CAAC,MAAM,CAAC,UAAU,CAAqE;IAC9F,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,mBAAmB,CAAoC;IAC/D,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,qBAAqB,CAAC,CAAS;IACvC,OAAO,CAAC,YAAY,CAAe;gBAG/B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,SAAS,EACrB,qBAAqB,CAAC,EAAE,MAAM,EAC9B,YAAY,GAAE,YAA0D;WAS9D,WAAW,CAAC,SAAS,SAAS,UAAU,EAClD,UAAU,EAAE,UAAU,KAAK,CAAC,SAAS,CAAC,EACtC,SAAS,EAAE,MAAM,EACjB,qBAAqB,CAAC,EAAE,MAAM,EAC9B,YAAY,CAAC,EAAE,YAAY,GAC5B,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;WAgB5B,cAAc,IAAI,IAAI;IAIpC,OAAO,CAAC,sBAAsB;IAajB,0BAA0B,CACnC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,SAAS,EACxB,QAAQ,EAAE,QAAQ,GACnB,OAAO,CAAC,IAAI,CAAC;IAKH,0BAA0B,CACnC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,SAAS,EACxB,QAAQ,EAAE,QAAQ,GACnB,OAAO,CAAC,IAAI,CAAC;IAMH,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAaxE,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKpD,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAKjC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;IAI3B,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrC,KAAK,CAAC,UAAU,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAYhF,GAAG,CAAC,UAAU,EAAE,mBAAmB,EAAE,YAAY,EAAE,oBAAoB,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAS7G,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,EAAE,mBAAmB,EAAE,YAAY,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAShH,MAAM,CAAC,UAAU,EAAE,qBAAqB,EAAE,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;YAOzG,IAAI;IAgDX,yBAAyB,CAAC,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,mBAAmB,GAAG,yBAAyB,EAAE;IAKlH,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,GAAG,yBAAyB,EAAE;CAIxF"}
|
|
@@ -7,26 +7,30 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
import Query from "../base/Query.js";
|
|
11
10
|
import Table from "../base/Table.js";
|
|
12
11
|
class Repository {
|
|
13
|
-
constructor(tableName, ModelClass, customDatabaseAdapter) {
|
|
12
|
+
constructor(tableName, ModelClass, customDatabaseAdapter, tableFactory = (name, adapter) => new Table(name, adapter)) {
|
|
14
13
|
var _a;
|
|
15
14
|
this.models = new Map();
|
|
16
15
|
this.manyToManyRelations = new Map();
|
|
17
16
|
const modelPk = ((_a = ModelClass.primaryKey) === null || _a === void 0 ? void 0 : _a.toString()) || ModelClass.constructor.name;
|
|
18
17
|
this.models.set(modelPk, ModelClass);
|
|
19
|
-
this.
|
|
18
|
+
this.tableFactory = tableFactory;
|
|
19
|
+
this.Table = this.tableFactory(tableName, customDatabaseAdapter);
|
|
20
|
+
this.customDatabaseAdapter = customDatabaseAdapter;
|
|
20
21
|
}
|
|
21
|
-
static getInstance(ModelClass, tableName, customDatabaseAdapter) {
|
|
22
|
+
static getInstance(ModelClass, tableName, customDatabaseAdapter, tableFactory) {
|
|
22
23
|
const className = ModelClass.name;
|
|
23
24
|
if (!this._instances.has(className)) {
|
|
24
|
-
const instance = new Repository(tableName, new ModelClass(), customDatabaseAdapter);
|
|
25
|
+
const instance = new Repository(tableName, new ModelClass(), customDatabaseAdapter, tableFactory);
|
|
25
26
|
this._instances.set(className, instance);
|
|
26
27
|
return instance;
|
|
27
28
|
}
|
|
28
29
|
return this._instances.get(className);
|
|
29
30
|
}
|
|
31
|
+
static clearInstances() {
|
|
32
|
+
this._instances.clear();
|
|
33
|
+
}
|
|
30
34
|
generatePivotTableKeys(foreignKey, modelOfOrigin, relation) {
|
|
31
35
|
var _a;
|
|
32
36
|
const isLocal = !((_a = relation.pivotLocalKey) === null || _a === void 0 ? void 0 : _a.includes(modelOfOrigin.Configuration.table));
|
|
@@ -37,13 +41,13 @@ class Repository {
|
|
|
37
41
|
}
|
|
38
42
|
insertRecordIntoPivotTable(foreignKey, modelOfOrigin, relation) {
|
|
39
43
|
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
-
const table =
|
|
44
|
+
const table = this.tableFactory(relation.pivotTable, this.customDatabaseAdapter);
|
|
41
45
|
yield table.Insert(this.generatePivotTableKeys(foreignKey, modelOfOrigin, relation));
|
|
42
46
|
});
|
|
43
47
|
}
|
|
44
48
|
deleteRecordFromPivotTable(foreignKey, modelOfOrigin, relation) {
|
|
45
49
|
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
-
const table =
|
|
50
|
+
const table = this.tableFactory(relation.pivotTable, this.customDatabaseAdapter);
|
|
47
51
|
const record = yield table.Record(this.generatePivotTableKeys(foreignKey, modelOfOrigin, relation));
|
|
48
52
|
yield (record === null || record === void 0 ? void 0 : record.Delete());
|
|
49
53
|
});
|
|
@@ -64,7 +68,7 @@ class Repository {
|
|
|
64
68
|
}
|
|
65
69
|
doesTableExist(name) {
|
|
66
70
|
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
-
const table =
|
|
71
|
+
const table = this.tableFactory(name, this.customDatabaseAdapter);
|
|
68
72
|
return yield table.exists();
|
|
69
73
|
});
|
|
70
74
|
}
|
|
@@ -169,7 +173,12 @@ class Repository {
|
|
|
169
173
|
});
|
|
170
174
|
}
|
|
171
175
|
mergeQueryWhereConditions(base, additional) {
|
|
172
|
-
|
|
176
|
+
const query = this.Table.QueryHelperObject;
|
|
177
|
+
return [...query.ConvertParamsToArray(base), ...query.ConvertParamsToArray(additional)];
|
|
178
|
+
}
|
|
179
|
+
ConvertParamsToArray(params) {
|
|
180
|
+
const query = this.Table.QueryHelperObject;
|
|
181
|
+
return query.ConvertParamsToArray(params);
|
|
173
182
|
}
|
|
174
183
|
}
|
|
175
184
|
Repository._instances = new Map();
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type Table from "../base/Table";
|
|
2
|
+
import type { columnType, Query, QueryConstructorType, Record } from "../index.js";
|
|
3
|
+
export type TableFactory = (name: string, adapter?: string) => Table;
|
|
4
|
+
export type QueryFactory = (config: QueryConstructorType) => Query;
|
|
5
|
+
export type RecordFactory = <T extends columnType>(table: string, values: T, adapter?: string, queryFactory?: QueryFactory, recordFactory?: RecordFactory) => Record<T>;
|
|
6
|
+
//# sourceMappingURL=factories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factories.d.ts","sourceRoot":"","sources":["../../src/types/factories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAEtF,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC;AACrE,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,oBAAoB,KAAK,KAAK,CAAC;AACnE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,SAAS,UAAU,EAC7C,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,CAAC,EACT,OAAO,CAAC,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,YAAY,EAC3B,aAAa,CAAC,EAAE,aAAa,KAC5B,MAAM,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,iBAAiB,CAAC,CAAC,EAAE,IAAI,SAAS,MAAM,CAAC,GAAG,MAAM,CAAC,IAC3D,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,GAC7B;KACG,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;CAC3E,CAAC,IAAI,CAAC,CAAA;AAEX,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,iBAAiB,CAAC,CAAC,EAAE,IAAI,SAAS,MAAM,CAAC,GAAG,MAAM,CAAC,IAC3D,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,GAC7B;KACG,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;CAC3E,CAAC,IAAI,CAAC,CAAA;AAEX,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC"}
|
package/dist/types/index.js
CHANGED
package/dist/types/query.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { RecordFactory } from "../index.js";
|
|
1
2
|
export type QueryIsEqualParameter = {
|
|
2
3
|
[key: string]: QueryValues;
|
|
3
4
|
};
|
|
@@ -17,4 +18,11 @@ export type ExtraQueryParameters = {
|
|
|
17
18
|
limit?: number;
|
|
18
19
|
offset?: number;
|
|
19
20
|
};
|
|
21
|
+
export type QueryConstructorType = {
|
|
22
|
+
tableName: string;
|
|
23
|
+
query?: string;
|
|
24
|
+
parameters?: QueryWhereCondition;
|
|
25
|
+
adapterName?: string;
|
|
26
|
+
recordFactory?: RecordFactory;
|
|
27
|
+
};
|
|
20
28
|
//# sourceMappingURL=query.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/types/query.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC;IAC1E,KAAK,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,qBAAqB,GAAG,yBAAyB,EAAE,CAAC;AAEtF,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;AAE3E,MAAM,MAAM,sBAAsB,GAAG;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,mBAAmB,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC"}
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/types/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,MAAM,qBAAqB,GAAG;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC;IAC1E,KAAK,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,qBAAqB,GAAG,yBAAyB,EAAE,CAAC;AAEtF,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;AAE3E,MAAM,MAAM,sBAAsB,GAAG;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,mBAAmB,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B,CAAC"}
|