query-core 0.2.2 → 0.2.4
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/SearchBuilder.js +6 -6
- package/package.json +1 -1
- package/src/SearchBuilder.ts +6 -6
- package/src/metadata.ts +0 -18
- package/src/services.ts +9 -5
package/lib/SearchBuilder.js
CHANGED
|
@@ -58,10 +58,10 @@ var SearchBuilder = (function () {
|
|
|
58
58
|
}
|
|
59
59
|
this.total = total && total.length > 0 ? total : "total";
|
|
60
60
|
}
|
|
61
|
-
SearchBuilder.prototype.search = function (filter, limit,
|
|
62
|
-
var
|
|
63
|
-
if (typeof
|
|
64
|
-
|
|
61
|
+
SearchBuilder.prototype.search = function (filter, limit, page, fields) {
|
|
62
|
+
var ipage = 0;
|
|
63
|
+
if (typeof page === "number" && page > 0) {
|
|
64
|
+
ipage = page;
|
|
65
65
|
}
|
|
66
66
|
var st = this.sort ? this.sort : "sort";
|
|
67
67
|
var sn = filter[st];
|
|
@@ -73,7 +73,7 @@ var SearchBuilder = (function () {
|
|
|
73
73
|
}
|
|
74
74
|
var fn = this.fromDB;
|
|
75
75
|
if (fn) {
|
|
76
|
-
return search_1.buildFromQuery(this.query, q2.query, q2.params, limit,
|
|
76
|
+
return search_1.buildFromQuery(this.query, q2.query, q2.params, limit, ipage, this.map, this.bools, this.provider, this.total).then(function (r) {
|
|
77
77
|
if (r.list && r.list.length > 0) {
|
|
78
78
|
r.list = r.list.map(function (o) { return fn(o); });
|
|
79
79
|
return r;
|
|
@@ -84,7 +84,7 @@ var SearchBuilder = (function () {
|
|
|
84
84
|
});
|
|
85
85
|
}
|
|
86
86
|
else {
|
|
87
|
-
return search_1.buildFromQuery(this.query, q2.query, q2.params, limit,
|
|
87
|
+
return search_1.buildFromQuery(this.query, q2.query, q2.params, limit, ipage, this.map, this.bools, this.provider, this.total);
|
|
88
88
|
}
|
|
89
89
|
};
|
|
90
90
|
return SearchBuilder;
|
package/package.json
CHANGED
package/src/SearchBuilder.ts
CHANGED
|
@@ -76,10 +76,10 @@ export class SearchBuilder<T, S> {
|
|
|
76
76
|
}
|
|
77
77
|
this.total = total && total.length > 0 ? total : "total"
|
|
78
78
|
}
|
|
79
|
-
search(filter: S, limit: number,
|
|
80
|
-
let
|
|
81
|
-
if (typeof
|
|
82
|
-
|
|
79
|
+
search(filter: S, limit: number, page?: number | string, fields?: string[]): Promise<SearchResult<T>> {
|
|
80
|
+
let ipage = 0
|
|
81
|
+
if (typeof page === "number" && page > 0) {
|
|
82
|
+
ipage = page
|
|
83
83
|
}
|
|
84
84
|
const st = this.sort ? this.sort : "sort"
|
|
85
85
|
const sn = (filter as any)[st] as string
|
|
@@ -91,7 +91,7 @@ export class SearchBuilder<T, S> {
|
|
|
91
91
|
}
|
|
92
92
|
const fn = this.fromDB
|
|
93
93
|
if (fn) {
|
|
94
|
-
return buildFromQuery<T>(this.query, q2.query, q2.params, limit,
|
|
94
|
+
return buildFromQuery<T>(this.query, q2.query, q2.params, limit, ipage, this.map, this.bools, this.provider, this.total).then((r) => {
|
|
95
95
|
if (r.list && r.list.length > 0) {
|
|
96
96
|
r.list = r.list.map((o) => fn(o))
|
|
97
97
|
return r
|
|
@@ -100,7 +100,7 @@ export class SearchBuilder<T, S> {
|
|
|
100
100
|
}
|
|
101
101
|
})
|
|
102
102
|
} else {
|
|
103
|
-
return buildFromQuery(this.query, q2.query, q2.params, limit,
|
|
103
|
+
return buildFromQuery(this.query, q2.query, q2.params, limit, ipage, this.map, this.bools, this.provider, this.total)
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
106
|
}
|
package/src/metadata.ts
CHANGED
|
@@ -53,35 +53,17 @@ export interface Model {
|
|
|
53
53
|
}
|
|
54
54
|
export interface Attribute {
|
|
55
55
|
name?: string
|
|
56
|
-
field?: string
|
|
57
56
|
column?: string
|
|
58
57
|
type?: DataType
|
|
59
|
-
format?: FormatType
|
|
60
|
-
required?: boolean
|
|
61
58
|
match?: MatchType
|
|
62
59
|
default?: string | number | Date | boolean
|
|
63
60
|
key?: boolean
|
|
64
|
-
unique?: boolean
|
|
65
|
-
enum?: string[] | number[]
|
|
66
61
|
q?: boolean
|
|
67
62
|
noinsert?: boolean
|
|
68
63
|
noupdate?: boolean
|
|
69
64
|
nopatch?: boolean
|
|
70
65
|
version?: boolean
|
|
71
|
-
length?: number
|
|
72
|
-
min?: number
|
|
73
|
-
max?: number
|
|
74
|
-
gt?: number
|
|
75
|
-
lt?: number
|
|
76
|
-
precision?: number
|
|
77
|
-
scale?: number
|
|
78
|
-
exp?: RegExp | string
|
|
79
|
-
code?: string
|
|
80
|
-
noformat?: boolean
|
|
81
66
|
ignored?: boolean
|
|
82
|
-
jsonField?: string
|
|
83
|
-
link?: string
|
|
84
|
-
typeof?: Attributes
|
|
85
67
|
true?: string | number
|
|
86
68
|
false?: string | number
|
|
87
69
|
}
|
package/src/services.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { attributes, buildToDelete, buildToInsert, buildToUpdate, exist, metadata, select, version } from "./build"
|
|
2
2
|
import { Attribute, Attributes, Statement, StringMap } from "./metadata"
|
|
3
|
-
import { SearchResult } from "./search"
|
|
3
|
+
// import { SearchResult } from "./search"
|
|
4
4
|
|
|
5
5
|
export interface Filter {
|
|
6
6
|
fields?: string[]
|
|
@@ -205,7 +205,7 @@ export class SqlLoadRepository<T, K1, K2> {
|
|
|
205
205
|
export class GenericRepository<T, K1, K2> extends SqlLoadRepository<T, K1, K2> {
|
|
206
206
|
version?: string
|
|
207
207
|
exec: (sql: string, args?: any[], ctx?: any) => Promise<number>
|
|
208
|
-
execBatch: (statements: Statement[], firstSuccess?: boolean, ctx?: any) => Promise<number>
|
|
208
|
+
// execBatch: (statements: Statement[], firstSuccess?: boolean, ctx?: any) => Promise<number>
|
|
209
209
|
constructor(
|
|
210
210
|
manager: Manager,
|
|
211
211
|
table: string,
|
|
@@ -220,7 +220,7 @@ export class GenericRepository<T, K1, K2> extends SqlLoadRepository<T, K1, K2> {
|
|
|
220
220
|
super(manager.query, table, attrs, manager.param, id1Field, id2Field, fromDB, id1Col, id2Col)
|
|
221
221
|
const x = version(attrs)
|
|
222
222
|
this.exec = manager.exec
|
|
223
|
-
this.execBatch = manager.execBatch
|
|
223
|
+
// this.execBatch = manager.execBatch
|
|
224
224
|
if (x) {
|
|
225
225
|
this.version = x.name
|
|
226
226
|
}
|
|
@@ -266,6 +266,7 @@ export class GenericRepository<T, K1, K2> extends SqlLoadRepository<T, K1, K2> {
|
|
|
266
266
|
return this.exec(`delete from ${this.table} where ${this.id1Col} = ${this.param(1)} and ${this.id2Col} = ${this.param(2)}`, [id1, id2], ctx)
|
|
267
267
|
}
|
|
268
268
|
}
|
|
269
|
+
/*
|
|
269
270
|
// tslint:disable-next-line:max-classes-per-file
|
|
270
271
|
export class SqlSearchLoader<T, ID, S extends Filter> extends SqlLoader<T, ID> {
|
|
271
272
|
constructor(
|
|
@@ -283,6 +284,7 @@ export class SqlSearchLoader<T, ID, S extends Filter> extends SqlLoader<T, ID> {
|
|
|
283
284
|
return this.find(s, limit, offset, fields)
|
|
284
285
|
}
|
|
285
286
|
}
|
|
287
|
+
*/
|
|
286
288
|
export interface Manager {
|
|
287
289
|
driver: string
|
|
288
290
|
param(i: number): string
|
|
@@ -629,12 +631,12 @@ const getDurationInMilliseconds = (start: [number, number] | undefined) => {
|
|
|
629
631
|
export class SqlWriter<T, ID> extends SqlLoader<T, ID> {
|
|
630
632
|
version?: string
|
|
631
633
|
exec: (sql: string, args?: any[], ctx?: any) => Promise<number>
|
|
632
|
-
execBatch: (statements: Statement[], firstSuccess?: boolean, ctx?: any) => Promise<number>
|
|
634
|
+
// execBatch: (statements: Statement[], firstSuccess?: boolean, ctx?: any) => Promise<number>
|
|
633
635
|
constructor(manager: Manager, table: string, attrs: Attributes, public toDB?: (v: T) => T, fromDB?: (v: T) => T) {
|
|
634
636
|
super(manager.query, table, attrs, manager.param, fromDB)
|
|
635
637
|
const x = version(attrs)
|
|
636
638
|
this.exec = manager.exec
|
|
637
|
-
this.execBatch = manager.execBatch
|
|
639
|
+
// this.execBatch = manager.execBatch
|
|
638
640
|
if (x) {
|
|
639
641
|
this.version = x.name
|
|
640
642
|
}
|
|
@@ -685,6 +687,7 @@ export class SqlWriter<T, ID> extends SqlLoader<T, ID> {
|
|
|
685
687
|
}
|
|
686
688
|
}
|
|
687
689
|
}
|
|
690
|
+
/*
|
|
688
691
|
// tslint:disable-next-line:max-classes-per-file
|
|
689
692
|
export class SqlSearchWriter<T, ID, S extends Filter> extends SqlWriter<T, ID> {
|
|
690
693
|
constructor(
|
|
@@ -702,3 +705,4 @@ export class SqlSearchWriter<T, ID, S extends Filter> extends SqlWriter<T, ID> {
|
|
|
702
705
|
return this.find(s, limit, offset, fields)
|
|
703
706
|
}
|
|
704
707
|
}
|
|
708
|
+
*/
|