@onchaindb/sdk 0.0.6
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/README.md +475 -0
- package/dist/batch.d.ts +42 -0
- package/dist/batch.d.ts.map +1 -0
- package/dist/batch.js +124 -0
- package/dist/batch.js.map +1 -0
- package/dist/client.d.ts +93 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +679 -0
- package/dist/client.js.map +1 -0
- package/dist/database.d.ts +194 -0
- package/dist/database.d.ts.map +1 -0
- package/dist/database.js +211 -0
- package/dist/database.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +37 -0
- package/dist/index.js.map +1 -0
- package/dist/query-sdk/ConditionBuilder.d.ts +23 -0
- package/dist/query-sdk/ConditionBuilder.d.ts.map +1 -0
- package/dist/query-sdk/ConditionBuilder.js +76 -0
- package/dist/query-sdk/ConditionBuilder.js.map +1 -0
- package/dist/query-sdk/FieldConditionBuilder.d.ts +2 -0
- package/dist/query-sdk/FieldConditionBuilder.d.ts.map +1 -0
- package/dist/query-sdk/FieldConditionBuilder.js +6 -0
- package/dist/query-sdk/FieldConditionBuilder.js.map +1 -0
- package/dist/query-sdk/NestedBuilders.d.ts +44 -0
- package/dist/query-sdk/NestedBuilders.d.ts.map +1 -0
- package/dist/query-sdk/NestedBuilders.js +131 -0
- package/dist/query-sdk/NestedBuilders.js.map +1 -0
- package/dist/query-sdk/OnChainDB.d.ts +27 -0
- package/dist/query-sdk/OnChainDB.d.ts.map +1 -0
- package/dist/query-sdk/OnChainDB.js +191 -0
- package/dist/query-sdk/OnChainDB.js.map +1 -0
- package/dist/query-sdk/PrismaLikeClient.d.ts +41 -0
- package/dist/query-sdk/PrismaLikeClient.d.ts.map +1 -0
- package/dist/query-sdk/PrismaLikeClient.js +202 -0
- package/dist/query-sdk/PrismaLikeClient.js.map +1 -0
- package/dist/query-sdk/QueryBuilder.d.ts +155 -0
- package/dist/query-sdk/QueryBuilder.d.ts.map +1 -0
- package/dist/query-sdk/QueryBuilder.js +757 -0
- package/dist/query-sdk/QueryBuilder.js.map +1 -0
- package/dist/query-sdk/QueryResult.d.ts +53 -0
- package/dist/query-sdk/QueryResult.d.ts.map +1 -0
- package/dist/query-sdk/QueryResult.js +267 -0
- package/dist/query-sdk/QueryResult.js.map +1 -0
- package/dist/query-sdk/SelectionBuilder.d.ts +21 -0
- package/dist/query-sdk/SelectionBuilder.d.ts.map +1 -0
- package/dist/query-sdk/SelectionBuilder.js +67 -0
- package/dist/query-sdk/SelectionBuilder.js.map +1 -0
- package/dist/query-sdk/adapters/HttpClientAdapter.d.ts +28 -0
- package/dist/query-sdk/adapters/HttpClientAdapter.d.ts.map +1 -0
- package/dist/query-sdk/adapters/HttpClientAdapter.js +206 -0
- package/dist/query-sdk/adapters/HttpClientAdapter.js.map +1 -0
- package/dist/query-sdk/index.d.ts +38 -0
- package/dist/query-sdk/index.d.ts.map +1 -0
- package/dist/query-sdk/index.js +28 -0
- package/dist/query-sdk/index.js.map +1 -0
- package/dist/query-sdk/operators.d.ts +57 -0
- package/dist/query-sdk/operators.d.ts.map +1 -0
- package/dist/query-sdk/operators.js +275 -0
- package/dist/query-sdk/operators.js.map +1 -0
- package/dist/types.d.ts +263 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +46 -0
- package/dist/types.js.map +1 -0
- package/package.json +47 -0
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PrismaLikeClient = void 0;
|
|
4
|
+
exports.createPrismaLikeClient = createPrismaLikeClient;
|
|
5
|
+
const QueryBuilder_1 = require("./QueryBuilder");
|
|
6
|
+
class PrismaLikeClient {
|
|
7
|
+
constructor(config) {
|
|
8
|
+
this.httpClient = config.httpClient;
|
|
9
|
+
this.serverUrl = config.serverUrl;
|
|
10
|
+
this.apiKey = config.apiKey;
|
|
11
|
+
this.appId = config.appId;
|
|
12
|
+
}
|
|
13
|
+
async findUnique(collection, where) {
|
|
14
|
+
try {
|
|
15
|
+
let queryBuilder = new QueryBuilder_1.QueryBuilder(this.httpClient, this.serverUrl);
|
|
16
|
+
queryBuilder = queryBuilder.collection(collection);
|
|
17
|
+
for (const [field, value] of Object.entries(where)) {
|
|
18
|
+
queryBuilder = queryBuilder.whereField(field).equals(value);
|
|
19
|
+
}
|
|
20
|
+
const result = await queryBuilder.selectAll().limit(1).execute();
|
|
21
|
+
if (!result.records || result.records.length === 0) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
return result.records[0];
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
console.error(`PrismaLikeClient findUnique error for ${collection}:`, error);
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
async findMany(collection, where = {}, options = {}) {
|
|
32
|
+
try {
|
|
33
|
+
let queryBuilder = new QueryBuilder_1.QueryBuilder(this.httpClient, this.serverUrl);
|
|
34
|
+
queryBuilder = queryBuilder.collection(collection);
|
|
35
|
+
for (const [field, value] of Object.entries(where)) {
|
|
36
|
+
queryBuilder = queryBuilder.whereField(field).equals(value);
|
|
37
|
+
}
|
|
38
|
+
if (options.limit) {
|
|
39
|
+
queryBuilder = queryBuilder.limit(options.limit);
|
|
40
|
+
}
|
|
41
|
+
const result = await queryBuilder.selectAll().execute();
|
|
42
|
+
if (!result.records) {
|
|
43
|
+
return [];
|
|
44
|
+
}
|
|
45
|
+
let records = result.records;
|
|
46
|
+
if (options.sort) {
|
|
47
|
+
records = records.sort((a, b) => {
|
|
48
|
+
const aVal = a[options.sort.field];
|
|
49
|
+
const bVal = b[options.sort.field];
|
|
50
|
+
if (options.sort.order === 'asc') {
|
|
51
|
+
return aVal > bVal ? 1 : -1;
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
return aVal < bVal ? 1 : -1;
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
return records;
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
console.error(`PrismaLikeClient findMany error for ${collection}:`, error);
|
|
62
|
+
return [];
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
async create(collection, data, paymentProof, idGenerator) {
|
|
66
|
+
const document = {
|
|
67
|
+
id: idGenerator ? idGenerator() : this.generateId(),
|
|
68
|
+
...data,
|
|
69
|
+
createdAt: new Date().toISOString(),
|
|
70
|
+
updatedAt: new Date().toISOString(),
|
|
71
|
+
};
|
|
72
|
+
const storeRequest = {
|
|
73
|
+
collection,
|
|
74
|
+
data: [document],
|
|
75
|
+
};
|
|
76
|
+
if (paymentProof) {
|
|
77
|
+
storeRequest.payment_tx_hash = paymentProof.payment_tx_hash;
|
|
78
|
+
storeRequest.user_address = paymentProof.user_address;
|
|
79
|
+
storeRequest.broker_address = paymentProof.broker_address;
|
|
80
|
+
storeRequest.amount_utia = paymentProof.amount_utia;
|
|
81
|
+
}
|
|
82
|
+
const headers = { 'Content-Type': 'application/json' };
|
|
83
|
+
if (this.apiKey) {
|
|
84
|
+
headers['X-API-Key'] = this.apiKey;
|
|
85
|
+
}
|
|
86
|
+
await this.httpClient.post(`${this.serverUrl}/api/apps/${this.appId}/store`, storeRequest, headers);
|
|
87
|
+
return document;
|
|
88
|
+
}
|
|
89
|
+
async update(collection, where, data, paymentProof) {
|
|
90
|
+
const current = await this.findUnique(collection, where);
|
|
91
|
+
if (!current) {
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
const updated = {
|
|
95
|
+
...current,
|
|
96
|
+
...data,
|
|
97
|
+
updatedAt: new Date().toISOString(),
|
|
98
|
+
};
|
|
99
|
+
const storeRequest = {
|
|
100
|
+
collection,
|
|
101
|
+
data: [updated],
|
|
102
|
+
};
|
|
103
|
+
if (paymentProof) {
|
|
104
|
+
storeRequest.payment_tx_hash = paymentProof.payment_tx_hash;
|
|
105
|
+
storeRequest.user_address = paymentProof.user_address;
|
|
106
|
+
storeRequest.broker_address = paymentProof.broker_address;
|
|
107
|
+
storeRequest.amount_utia = paymentProof.amount_utia;
|
|
108
|
+
}
|
|
109
|
+
const headers = { 'Content-Type': 'application/json' };
|
|
110
|
+
if (this.apiKey) {
|
|
111
|
+
headers['X-API-Key'] = this.apiKey;
|
|
112
|
+
}
|
|
113
|
+
await this.httpClient.post(`${this.serverUrl}/api/apps/${this.appId}/store`, storeRequest, headers);
|
|
114
|
+
return updated;
|
|
115
|
+
}
|
|
116
|
+
async upsert(collection, where, create, update, paymentProof, idGenerator) {
|
|
117
|
+
const existing = await this.findUnique(collection, where);
|
|
118
|
+
if (existing) {
|
|
119
|
+
return (await this.update(collection, where, update, paymentProof));
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
return await this.create(collection, create, paymentProof, idGenerator);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
async delete(collection, where, paymentProof) {
|
|
126
|
+
const existing = await this.findUnique(collection, where);
|
|
127
|
+
if (!existing) {
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
130
|
+
const deleted = {
|
|
131
|
+
...existing,
|
|
132
|
+
deleted: true,
|
|
133
|
+
updatedAt: new Date().toISOString(),
|
|
134
|
+
};
|
|
135
|
+
const storeRequest = {
|
|
136
|
+
collection,
|
|
137
|
+
data: [deleted],
|
|
138
|
+
};
|
|
139
|
+
if (paymentProof) {
|
|
140
|
+
storeRequest.payment_tx_hash = paymentProof.payment_tx_hash;
|
|
141
|
+
storeRequest.user_address = paymentProof.user_address;
|
|
142
|
+
storeRequest.broker_address = paymentProof.broker_address;
|
|
143
|
+
storeRequest.amount_utia = paymentProof.amount_utia;
|
|
144
|
+
}
|
|
145
|
+
const headers = { 'Content-Type': 'application/json' };
|
|
146
|
+
if (this.apiKey) {
|
|
147
|
+
headers['X-API-Key'] = this.apiKey;
|
|
148
|
+
}
|
|
149
|
+
await this.httpClient.post(`${this.serverUrl}/api/apps/${this.appId}/store`, storeRequest, headers);
|
|
150
|
+
return true;
|
|
151
|
+
}
|
|
152
|
+
async count(collection, where = {}) {
|
|
153
|
+
const records = await this.findMany(collection, where);
|
|
154
|
+
return records.length;
|
|
155
|
+
}
|
|
156
|
+
async getWriteQuote(collection, data) {
|
|
157
|
+
const dataString = JSON.stringify(data);
|
|
158
|
+
const sizeKb = Math.ceil(dataString.length / 1024);
|
|
159
|
+
try {
|
|
160
|
+
const headers = { 'Content-Type': 'application/json' };
|
|
161
|
+
if (this.apiKey) {
|
|
162
|
+
headers['X-API-Key'] = this.apiKey;
|
|
163
|
+
}
|
|
164
|
+
const response = await this.httpClient.post(`${this.serverUrl}/api/apps/pricing/quote`, {
|
|
165
|
+
app_id: this.appId,
|
|
166
|
+
operation_type: 'write',
|
|
167
|
+
size_kb: sizeKb,
|
|
168
|
+
monthly_volume_kb: sizeKb,
|
|
169
|
+
collection,
|
|
170
|
+
}, headers);
|
|
171
|
+
return response;
|
|
172
|
+
}
|
|
173
|
+
catch (error) {
|
|
174
|
+
console.error('Error getting write quote:', error);
|
|
175
|
+
throw error;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
generateId() {
|
|
179
|
+
const chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
|
180
|
+
let id = '';
|
|
181
|
+
for (let i = 0; i < 24; i++) {
|
|
182
|
+
id += chars[Math.floor(Math.random() * chars.length)];
|
|
183
|
+
}
|
|
184
|
+
return id;
|
|
185
|
+
}
|
|
186
|
+
now() {
|
|
187
|
+
return new Date().toISOString();
|
|
188
|
+
}
|
|
189
|
+
getConfig() {
|
|
190
|
+
return {
|
|
191
|
+
httpClient: this.httpClient,
|
|
192
|
+
serverUrl: this.serverUrl,
|
|
193
|
+
apiKey: this.apiKey,
|
|
194
|
+
appId: this.appId,
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
exports.PrismaLikeClient = PrismaLikeClient;
|
|
199
|
+
function createPrismaLikeClient(config) {
|
|
200
|
+
return new PrismaLikeClient(config);
|
|
201
|
+
}
|
|
202
|
+
//# sourceMappingURL=PrismaLikeClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrismaLikeClient.js","sourceRoot":"","sources":["../../src/query-sdk/PrismaLikeClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { QueryRequest, QueryResponse, SelectionMap, Val } from '../index';
|
|
2
|
+
import { LogicalOperator } from './operators';
|
|
3
|
+
import { SelectionBuilder } from './SelectionBuilder';
|
|
4
|
+
import { ConditionBuilder } from './ConditionBuilder';
|
|
5
|
+
import { FieldMap, HttpClient } from "./index";
|
|
6
|
+
export interface ServerJoinConfig {
|
|
7
|
+
alias: string;
|
|
8
|
+
model: string;
|
|
9
|
+
many?: boolean;
|
|
10
|
+
resolve: {
|
|
11
|
+
find?: any;
|
|
12
|
+
select?: SelectionMap;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export interface JoinConfig {
|
|
16
|
+
parentCollection: string;
|
|
17
|
+
parentField: string;
|
|
18
|
+
childField: string;
|
|
19
|
+
alias: string;
|
|
20
|
+
}
|
|
21
|
+
export declare class QueryBuilder {
|
|
22
|
+
private findConditions?;
|
|
23
|
+
private selections?;
|
|
24
|
+
private fieldMap?;
|
|
25
|
+
private limitValue?;
|
|
26
|
+
private offsetValue?;
|
|
27
|
+
private sortBy?;
|
|
28
|
+
private sortDirection?;
|
|
29
|
+
private includeHistoryValue?;
|
|
30
|
+
private httpClient?;
|
|
31
|
+
private serverUrl?;
|
|
32
|
+
private collectionName;
|
|
33
|
+
private app;
|
|
34
|
+
private serverJoinConfigs;
|
|
35
|
+
private joinConfigs;
|
|
36
|
+
constructor(httpClient?: HttpClient, serverUrl?: string, app?: string);
|
|
37
|
+
static new(httpClient?: HttpClient, serverUrl?: string, app?: string): QueryBuilder;
|
|
38
|
+
withHttpClient(httpClient: HttpClient): QueryBuilder;
|
|
39
|
+
withServerUrl(serverUrl: string): QueryBuilder;
|
|
40
|
+
find(builderFn: (builder: ConditionBuilder) => LogicalOperator): QueryBuilder;
|
|
41
|
+
collection(s: string): QueryBuilder;
|
|
42
|
+
whereField(fieldName: string): WhereClause;
|
|
43
|
+
serverJoin(alias: string, model: string, resolve: {
|
|
44
|
+
find?: any;
|
|
45
|
+
select?: SelectionMap;
|
|
46
|
+
}): QueryBuilder;
|
|
47
|
+
joinWith(alias: string, model: string): JoinBuilder;
|
|
48
|
+
joinOne(alias: string, model: string): JoinBuilder;
|
|
49
|
+
joinMany(alias: string, model: string): JoinBuilder;
|
|
50
|
+
join(parentCollection: string, parentField: string, childField: string, alias: string): QueryBuilder;
|
|
51
|
+
select(builderFn: (builder: SelectionBuilder) => SelectionBuilder): QueryBuilder;
|
|
52
|
+
selectFields(fields: string[]): QueryBuilder;
|
|
53
|
+
selectAll(): QueryBuilder;
|
|
54
|
+
withFieldMap(fieldMap: FieldMap): QueryBuilder;
|
|
55
|
+
limit(limit: number): QueryBuilder;
|
|
56
|
+
offset(offset: number): QueryBuilder;
|
|
57
|
+
orderBy(fields: string): QueryBuilder;
|
|
58
|
+
includeHistory(include?: boolean): QueryBuilder;
|
|
59
|
+
execute<T extends Record<string, any>>(): Promise<QueryResponse<T>>;
|
|
60
|
+
executeUnique<T extends Record<string, any>>(): Promise<T | null>;
|
|
61
|
+
count(): Promise<number>;
|
|
62
|
+
sumBy(field: string): Promise<number>;
|
|
63
|
+
avgBy(field: string): Promise<number>;
|
|
64
|
+
maxBy<T = any>(field: string): Promise<T | null>;
|
|
65
|
+
minBy<T = any>(field: string): Promise<T | null>;
|
|
66
|
+
distinctBy<T = any>(field: string): Promise<T[]>;
|
|
67
|
+
countDistinct(field: string): Promise<number>;
|
|
68
|
+
groupBy(field: string): GroupByQueryBuilder;
|
|
69
|
+
executeWithPayment<T extends Record<string, any>>(quoteId: string, paymentProof: string, network?: string): Promise<QueryResponse<T>>;
|
|
70
|
+
getQueryRequest(): QueryRequest;
|
|
71
|
+
isValid(): boolean;
|
|
72
|
+
buildRawQuery(): QueryRequest;
|
|
73
|
+
clone(): QueryBuilder;
|
|
74
|
+
_addServerJoin(config: ServerJoinConfig): void;
|
|
75
|
+
private executeSimpleQuery;
|
|
76
|
+
private executeWithJoins;
|
|
77
|
+
private buildQueryValue;
|
|
78
|
+
}
|
|
79
|
+
export declare class WhereClause {
|
|
80
|
+
private queryBuilder;
|
|
81
|
+
private fieldName;
|
|
82
|
+
constructor(queryBuilder: QueryBuilder, fieldName: string);
|
|
83
|
+
equals(value: Val): QueryBuilder;
|
|
84
|
+
notEquals(value: Val): QueryBuilder;
|
|
85
|
+
greaterThan(value: Val): QueryBuilder;
|
|
86
|
+
greaterThanOrEqual(value: Val): QueryBuilder;
|
|
87
|
+
lessThan(value: Val): QueryBuilder;
|
|
88
|
+
lessThanOrEqual(value: Val): QueryBuilder;
|
|
89
|
+
contains(value: string): QueryBuilder;
|
|
90
|
+
startsWith(value: string): QueryBuilder;
|
|
91
|
+
endsWith(value: string): QueryBuilder;
|
|
92
|
+
in(values: Val[]): QueryBuilder;
|
|
93
|
+
notIn(values: Val[]): QueryBuilder;
|
|
94
|
+
exists(): QueryBuilder;
|
|
95
|
+
notExists(): QueryBuilder;
|
|
96
|
+
isNull(): QueryBuilder;
|
|
97
|
+
isNotNull(): QueryBuilder;
|
|
98
|
+
regExpMatches(pattern: string): QueryBuilder;
|
|
99
|
+
includesCaseInsensitive(value: string): QueryBuilder;
|
|
100
|
+
startsWithCaseInsensitive(value: string): QueryBuilder;
|
|
101
|
+
endsWithCaseInsensitive(value: string): QueryBuilder;
|
|
102
|
+
isLocalIp(): QueryBuilder;
|
|
103
|
+
isExternalIp(): QueryBuilder;
|
|
104
|
+
b64(value: string): QueryBuilder;
|
|
105
|
+
inDataset(dataset: string): QueryBuilder;
|
|
106
|
+
inCountry(countryCode: string): QueryBuilder;
|
|
107
|
+
cidr(cidr: string): QueryBuilder;
|
|
108
|
+
between(min: any, max: any): QueryBuilder;
|
|
109
|
+
isTrue(): QueryBuilder;
|
|
110
|
+
isFalse(): QueryBuilder;
|
|
111
|
+
}
|
|
112
|
+
export declare class JoinBuilder<TParent extends QueryBuilder | JoinBuilder<any> = QueryBuilder> {
|
|
113
|
+
private alias;
|
|
114
|
+
private model;
|
|
115
|
+
private findConditions;
|
|
116
|
+
private selections?;
|
|
117
|
+
private parentBuilder;
|
|
118
|
+
private many?;
|
|
119
|
+
private nestedJoins;
|
|
120
|
+
constructor(parentBuilder: TParent, alias: string, model: string, many?: boolean);
|
|
121
|
+
on(builderFn: (builder: ConditionBuilder) => LogicalOperator): this;
|
|
122
|
+
onField(fieldName: string): JoinWhereClause<TParent>;
|
|
123
|
+
selecting(builderFn: (builder: SelectionBuilder) => SelectionBuilder): this;
|
|
124
|
+
selectFields(fields: string[]): this;
|
|
125
|
+
selectAll(): this;
|
|
126
|
+
joinOne(alias: string, model: string): JoinBuilder<this>;
|
|
127
|
+
joinMany(alias: string, model: string): JoinBuilder<this>;
|
|
128
|
+
build(): TParent;
|
|
129
|
+
private buildFindWithNestedJoins;
|
|
130
|
+
_setFindConditions(conditions: any): void;
|
|
131
|
+
_addServerJoin(config: ServerJoinConfig): void;
|
|
132
|
+
}
|
|
133
|
+
export declare class JoinWhereClause<TParent extends QueryBuilder | JoinBuilder<any> = QueryBuilder> {
|
|
134
|
+
private joinBuilder;
|
|
135
|
+
private fieldName;
|
|
136
|
+
constructor(joinBuilder: JoinBuilder<TParent>, fieldName: string);
|
|
137
|
+
equals(value: Val): JoinBuilder<TParent>;
|
|
138
|
+
in(values: Val[]): JoinBuilder<TParent>;
|
|
139
|
+
greaterThan(value: Val): JoinBuilder<TParent>;
|
|
140
|
+
lessThan(value: Val): JoinBuilder<TParent>;
|
|
141
|
+
isNull(): JoinBuilder<TParent>;
|
|
142
|
+
isNotNull(): JoinBuilder<TParent>;
|
|
143
|
+
}
|
|
144
|
+
export declare class GroupByQueryBuilder {
|
|
145
|
+
private queryBuilder;
|
|
146
|
+
private groupByField;
|
|
147
|
+
constructor(queryBuilder: QueryBuilder, groupByField: string);
|
|
148
|
+
count(): Promise<Record<string, number>>;
|
|
149
|
+
sumBy(field: string): Promise<Record<string, number>>;
|
|
150
|
+
avgBy(field: string): Promise<Record<string, number>>;
|
|
151
|
+
maxBy<T = any>(field: string): Promise<Record<string, T>>;
|
|
152
|
+
minBy<T = any>(field: string): Promise<Record<string, T>>;
|
|
153
|
+
private getGroupKey;
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=QueryBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryBuilder.d.ts","sourceRoot":"","sources":["../../src/query-sdk/QueryBuilder.ts"],"names":[],"mappings":"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"}
|