@wix/wix-data-items-common 1.0.52
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 +8 -0
- package/dist/cjs/api/ApiClient.js +186 -0
- package/dist/cjs/api/ApiClient.js.map +1 -0
- package/dist/cjs/api/QueryBase.js +200 -0
- package/dist/cjs/api/QueryBase.js.map +1 -0
- package/dist/cjs/api/QueryValidator.js +36 -0
- package/dist/cjs/api/QueryValidator.js.map +1 -0
- package/dist/cjs/api/WixDataAggregate.js +4 -0
- package/dist/cjs/api/WixDataAggregate.js.map +1 -0
- package/dist/cjs/api/WixDataApi.js +800 -0
- package/dist/cjs/api/WixDataApi.js.map +1 -0
- package/dist/cjs/api/WixDataFilter.js +2 -0
- package/dist/cjs/api/WixDataFilter.js.map +1 -0
- package/dist/cjs/api/WixDataPatch.js +139 -0
- package/dist/cjs/api/WixDataPatch.js.map +1 -0
- package/dist/cjs/api/WixDataQuery.js +4 -0
- package/dist/cjs/api/WixDataQuery.js.map +1 -0
- package/dist/cjs/api/WixDataResult.js +4 -0
- package/dist/cjs/api/WixDataResult.js.map +1 -0
- package/dist/cjs/api/common.js +14 -0
- package/dist/cjs/api/common.js.map +1 -0
- package/dist/cjs/api/errors.js +67 -0
- package/dist/cjs/api/errors.js.map +1 -0
- package/dist/cjs/api/impl/WixDataAggregateImpl.js +193 -0
- package/dist/cjs/api/impl/WixDataAggregateImpl.js.map +1 -0
- package/dist/cjs/api/impl/WixDataQueryImpl.js +116 -0
- package/dist/cjs/api/impl/WixDataQueryImpl.js.map +1 -0
- package/dist/cjs/api/impl/WixDataResultImpl.js +111 -0
- package/dist/cjs/api/impl/WixDataResultImpl.js.map +1 -0
- package/dist/cjs/api/index.js +32 -0
- package/dist/cjs/api/index.js.map +1 -0
- package/dist/cjs/api/types.js +2 -0
- package/dist/cjs/api/types.js.map +1 -0
- package/dist/cjs/errors/base-validator.js +92 -0
- package/dist/cjs/errors/base-validator.js.map +1 -0
- package/dist/cjs/errors/errors.js +155 -0
- package/dist/cjs/errors/errors.js.map +1 -0
- package/dist/cjs/errors/index.js +15 -0
- package/dist/cjs/errors/index.js.map +1 -0
- package/dist/cjs/errors/validations.js +91 -0
- package/dist/cjs/errors/validations.js.map +1 -0
- package/dist/cjs/external-types.d.js +2 -0
- package/dist/cjs/external-types.d.js.map +1 -0
- package/dist/cjs/filter/FilterTree.js +154 -0
- package/dist/cjs/filter/FilterTree.js.map +1 -0
- package/dist/cjs/filter/WithFilter.js +2 -0
- package/dist/cjs/filter/WithFilter.js.map +1 -0
- package/dist/cjs/filter/filterBuilder.js +53 -0
- package/dist/cjs/filter/filterBuilder.js.map +1 -0
- package/dist/cjs/filter/filterMixin.js +144 -0
- package/dist/cjs/filter/filterMixin.js.map +1 -0
- package/dist/cjs/filter/index.js +16 -0
- package/dist/cjs/filter/index.js.map +1 -0
- package/dist/cjs/index.js +120 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/sort/sortMixin.js +79 -0
- package/dist/cjs/sort/sortMixin.js.map +1 -0
- package/dist/cjs/test-types.d.js +2 -0
- package/dist/cjs/test-types.d.js.map +1 -0
- package/dist/cjs/types/api.js +4 -0
- package/dist/cjs/types/api.js.map +1 -0
- package/dist/cjs/types/data-item-types.js +46 -0
- package/dist/cjs/types/data-item-types.js.map +1 -0
- package/dist/cjs/types/error.js +2 -0
- package/dist/cjs/types/error.js.map +1 -0
- package/dist/cjs/types/index.js +16 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/cjs/utils/base64url.js +51 -0
- package/dist/cjs/utils/base64url.js.map +1 -0
- package/dist/cjs/utils/clone.js +21 -0
- package/dist/cjs/utils/clone.js.map +1 -0
- package/dist/cjs/utils/codec.js +64 -0
- package/dist/cjs/utils/codec.js.map +1 -0
- package/dist/cjs/utils/field-key-utils.js +18 -0
- package/dist/cjs/utils/field-key-utils.js.map +1 -0
- package/dist/cjs/utils/index.js +25 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/cjs/utils/type-utils.js +54 -0
- package/dist/cjs/utils/type-utils.js.map +1 -0
- package/dist/esm/api/ApiClient.js +174 -0
- package/dist/esm/api/ApiClient.js.map +1 -0
- package/dist/esm/api/QueryBase.js +117 -0
- package/dist/esm/api/QueryBase.js.map +1 -0
- package/dist/esm/api/QueryValidator.js +32 -0
- package/dist/esm/api/QueryValidator.js.map +1 -0
- package/dist/esm/api/WixDataAggregate.js +2 -0
- package/dist/esm/api/WixDataAggregate.js.map +1 -0
- package/dist/esm/api/WixDataApi.js +829 -0
- package/dist/esm/api/WixDataApi.js.map +1 -0
- package/dist/esm/api/WixDataFilter.js +2 -0
- package/dist/esm/api/WixDataFilter.js.map +1 -0
- package/dist/esm/api/WixDataPatch.js +134 -0
- package/dist/esm/api/WixDataPatch.js.map +1 -0
- package/dist/esm/api/WixDataQuery.js +2 -0
- package/dist/esm/api/WixDataQuery.js.map +1 -0
- package/dist/esm/api/WixDataResult.js +2 -0
- package/dist/esm/api/WixDataResult.js.map +1 -0
- package/dist/esm/api/common.js +10 -0
- package/dist/esm/api/common.js.map +1 -0
- package/dist/esm/api/errors.js +52 -0
- package/dist/esm/api/errors.js.map +1 -0
- package/dist/esm/api/impl/WixDataAggregateImpl.js +214 -0
- package/dist/esm/api/impl/WixDataAggregateImpl.js.map +1 -0
- package/dist/esm/api/impl/WixDataQueryImpl.js +119 -0
- package/dist/esm/api/impl/WixDataQueryImpl.js.map +1 -0
- package/dist/esm/api/impl/WixDataResultImpl.js +100 -0
- package/dist/esm/api/impl/WixDataResultImpl.js.map +1 -0
- package/dist/esm/api/index.js +5 -0
- package/dist/esm/api/index.js.map +1 -0
- package/dist/esm/api/types.js +2 -0
- package/dist/esm/api/types.js.map +1 -0
- package/dist/esm/errors/base-validator.js +71 -0
- package/dist/esm/errors/base-validator.js.map +1 -0
- package/dist/esm/errors/errors.js +147 -0
- package/dist/esm/errors/errors.js.map +1 -0
- package/dist/esm/errors/index.js +5 -0
- package/dist/esm/errors/index.js.map +1 -0
- package/dist/esm/errors/validations.js +114 -0
- package/dist/esm/errors/validations.js.map +1 -0
- package/dist/esm/filter/FilterTree.js +148 -0
- package/dist/esm/filter/FilterTree.js.map +1 -0
- package/dist/esm/filter/WithFilter.js +2 -0
- package/dist/esm/filter/WithFilter.js.map +1 -0
- package/dist/esm/filter/filterBuilder.js +43 -0
- package/dist/esm/filter/filterBuilder.js.map +1 -0
- package/dist/esm/filter/filterMixin.js +137 -0
- package/dist/esm/filter/filterMixin.js.map +1 -0
- package/dist/esm/filter/index.js +5 -0
- package/dist/esm/filter/index.js.map +1 -0
- package/dist/esm/index.js +9 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/sort/sortMixin.js +74 -0
- package/dist/esm/sort/sortMixin.js.map +1 -0
- package/dist/esm/types/api.js +2 -0
- package/dist/esm/types/api.js.map +1 -0
- package/dist/esm/types/data-item-types.js +35 -0
- package/dist/esm/types/data-item-types.js.map +1 -0
- package/dist/esm/types/error.js +2 -0
- package/dist/esm/types/error.js.map +1 -0
- package/dist/esm/types/index.js +3 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/utils/base64url.js +57 -0
- package/dist/esm/utils/base64url.js.map +1 -0
- package/dist/esm/utils/clone.js +18 -0
- package/dist/esm/utils/clone.js.map +1 -0
- package/dist/esm/utils/codec.js +60 -0
- package/dist/esm/utils/codec.js.map +1 -0
- package/dist/esm/utils/field-key-utils.js +14 -0
- package/dist/esm/utils/field-key-utils.js.map +1 -0
- package/dist/esm/utils/index.js +7 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/type-utils.js +40 -0
- package/dist/esm/utils/type-utils.js.map +1 -0
- package/dist/types/api/ApiClient.d.ts +30 -0
- package/dist/types/api/ApiClient.d.ts.map +1 -0
- package/dist/types/api/QueryBase.d.ts +111 -0
- package/dist/types/api/QueryBase.d.ts.map +1 -0
- package/dist/types/api/QueryValidator.d.ts +12 -0
- package/dist/types/api/QueryValidator.d.ts.map +1 -0
- package/dist/types/api/WixDataAggregate.d.ts +320 -0
- package/dist/types/api/WixDataAggregate.d.ts.map +1 -0
- package/dist/types/api/WixDataApi.d.ts +52 -0
- package/dist/types/api/WixDataApi.d.ts.map +1 -0
- package/dist/types/api/WixDataFilter.d.ts +424 -0
- package/dist/types/api/WixDataFilter.d.ts.map +1 -0
- package/dist/types/api/WixDataPatch.d.ts +80 -0
- package/dist/types/api/WixDataPatch.d.ts.map +1 -0
- package/dist/types/api/WixDataQuery.d.ts +702 -0
- package/dist/types/api/WixDataQuery.d.ts.map +1 -0
- package/dist/types/api/WixDataResult.d.ts +144 -0
- package/dist/types/api/WixDataResult.d.ts.map +1 -0
- package/dist/types/api/common.d.ts +3 -0
- package/dist/types/api/common.d.ts.map +1 -0
- package/dist/types/api/errors.d.ts +12 -0
- package/dist/types/api/errors.d.ts.map +1 -0
- package/dist/types/api/impl/WixDataAggregateImpl.d.ts +76 -0
- package/dist/types/api/impl/WixDataAggregateImpl.d.ts.map +1 -0
- package/dist/types/api/impl/WixDataQueryImpl.d.ts +72 -0
- package/dist/types/api/impl/WixDataQueryImpl.d.ts.map +1 -0
- package/dist/types/api/impl/WixDataResultImpl.d.ts +34 -0
- package/dist/types/api/impl/WixDataResultImpl.d.ts.map +1 -0
- package/dist/types/api/index.d.ts +11 -0
- package/dist/types/api/index.d.ts.map +1 -0
- package/dist/types/api/types.d.ts +163 -0
- package/dist/types/api/types.d.ts.map +1 -0
- package/dist/types/errors/base-validator.d.ts +28 -0
- package/dist/types/errors/base-validator.d.ts.map +1 -0
- package/dist/types/errors/errors.d.ts +108 -0
- package/dist/types/errors/errors.d.ts.map +1 -0
- package/dist/types/errors/index.d.ts +5 -0
- package/dist/types/errors/index.d.ts.map +1 -0
- package/dist/types/errors/validations.d.ts +25 -0
- package/dist/types/errors/validations.d.ts.map +1 -0
- package/dist/types/filter/FilterTree.d.ts +56 -0
- package/dist/types/filter/FilterTree.d.ts.map +1 -0
- package/dist/types/filter/WithFilter.d.ts +470 -0
- package/dist/types/filter/WithFilter.d.ts.map +1 -0
- package/dist/types/filter/filterBuilder.d.ts +105 -0
- package/dist/types/filter/filterBuilder.d.ts.map +1 -0
- package/dist/types/filter/filterMixin.d.ts +61 -0
- package/dist/types/filter/filterMixin.d.ts.map +1 -0
- package/dist/types/filter/index.d.ts +8 -0
- package/dist/types/filter/index.d.ts.map +1 -0
- package/dist/types/index.d.ts +13 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/sort/sortMixin.d.ts +46 -0
- package/dist/types/sort/sortMixin.d.ts.map +1 -0
- package/dist/types/types/api.d.ts +36 -0
- package/dist/types/types/api.d.ts.map +1 -0
- package/dist/types/types/data-item-types.d.ts +1448 -0
- package/dist/types/types/data-item-types.d.ts.map +1 -0
- package/dist/types/types/error.d.ts +23 -0
- package/dist/types/types/error.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +4 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/utils/base64url.d.ts +2 -0
- package/dist/types/utils/base64url.d.ts.map +1 -0
- package/dist/types/utils/clone.d.ts +2 -0
- package/dist/types/utils/clone.d.ts.map +1 -0
- package/dist/types/utils/codec.d.ts +3 -0
- package/dist/types/utils/codec.d.ts.map +1 -0
- package/dist/types/utils/field-key-utils.d.ts +2 -0
- package/dist/types/utils/field-key-utils.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +7 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/dist/types/utils/type-utils.d.ts +11 -0
- package/dist/types/utils/type-utils.d.ts.map +1 -0
- package/package.json +89 -0
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { decode as parseDates, encode as serializeDates, base64url, } from '../utils';
|
|
2
|
+
import { messages, wixDataError, codes } from '../errors';
|
|
3
|
+
import { isHttpError, parseError } from './errors';
|
|
4
|
+
const SUPPORTS_GET_METHOD = {
|
|
5
|
+
'com.wixpress.cloud.data.api.data.DataItemService.QueryDataItems': true,
|
|
6
|
+
};
|
|
7
|
+
export function apiRequestInterceptor(allowGet) {
|
|
8
|
+
return (request) => {
|
|
9
|
+
const preferGet = allowGet && SUPPORTS_GET_METHOD[request.methodFqn ?? ''];
|
|
10
|
+
const data = serializeDates(request.data);
|
|
11
|
+
if (preferGet) {
|
|
12
|
+
// https://github.com/wix-private/server-infra/tree/master/framework/grpc/rest#complex-requests-messages-with-get-mappings
|
|
13
|
+
const url = `${request.url}?.r=${base64url(data)}`;
|
|
14
|
+
if (url.length <= 2048) {
|
|
15
|
+
return {
|
|
16
|
+
...request,
|
|
17
|
+
method: 'GET',
|
|
18
|
+
url,
|
|
19
|
+
data: undefined,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return { ...request, data };
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export class ApiClient {
|
|
27
|
+
constructor(clientFactory, allowGet) {
|
|
28
|
+
this.httpApiClient = clientFactory(apiRequestInterceptor(allowGet));
|
|
29
|
+
}
|
|
30
|
+
async getDataItem(r) {
|
|
31
|
+
return this.withErrorHandling(async () => {
|
|
32
|
+
const response = await this.httpApiClient.getDataItem(r);
|
|
33
|
+
return parseDates(response.data);
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
async insertDataItem(r) {
|
|
37
|
+
return this.withErrorHandling(async () => {
|
|
38
|
+
const response = await this.httpApiClient.insertDataItem(r);
|
|
39
|
+
return parseDates(response.data);
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
async saveDataItem(r) {
|
|
43
|
+
return this.withErrorHandling(async () => {
|
|
44
|
+
const response = await this.httpApiClient.saveDataItem(r);
|
|
45
|
+
return parseDates(response.data);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
async updateDataItem(r) {
|
|
49
|
+
return this.withErrorHandling(async () => {
|
|
50
|
+
const response = await this.httpApiClient.updateDataItem(r);
|
|
51
|
+
return parseDates(response.data);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
async patchDataItem(r) {
|
|
55
|
+
return this.withErrorHandling(async () => {
|
|
56
|
+
const response = await this.httpApiClient.patchDataItem(r);
|
|
57
|
+
return parseDates(response.data);
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
async bulkPatchDataItems(r) {
|
|
61
|
+
return this.withErrorHandling(async () => {
|
|
62
|
+
const response = await this.httpApiClient.bulkPatchDataItems(r);
|
|
63
|
+
return parseDates(response.data);
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
async removeDataItem(r) {
|
|
67
|
+
return this.withErrorHandling(async () => {
|
|
68
|
+
const response = await this.httpApiClient.removeDataItem(r);
|
|
69
|
+
return parseDates(response.data);
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
async countDataItems(r) {
|
|
73
|
+
return this.withErrorHandling(async () => {
|
|
74
|
+
const response = await this.httpApiClient.countDataItems(r);
|
|
75
|
+
return parseDates(response.data);
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
async queryDistinctValues(r) {
|
|
79
|
+
return this.withErrorHandling(async () => {
|
|
80
|
+
const response = await this.httpApiClient.queryDistinctValues(r);
|
|
81
|
+
return parseDates(response.data);
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
async queryDataItems(r) {
|
|
85
|
+
return this.withErrorHandling(async () => {
|
|
86
|
+
const response = await this.httpApiClient.queryDataItems(r);
|
|
87
|
+
return parseDates(response.data);
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
async aggregateDataItems(r) {
|
|
91
|
+
return this.withErrorHandling(async () => {
|
|
92
|
+
const response = await this.httpApiClient.aggregateDataItems(r);
|
|
93
|
+
return parseDates(response.data);
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
async bulkInsertDataItems(r) {
|
|
97
|
+
return this.withErrorHandling(async () => {
|
|
98
|
+
const response = await this.httpApiClient.bulkInsertDataItems(r);
|
|
99
|
+
return parseDates(response.data);
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
async bulkUpdateDataItems(r) {
|
|
103
|
+
return this.withErrorHandling(async () => {
|
|
104
|
+
const response = await this.httpApiClient.bulkUpdateDataItems(r);
|
|
105
|
+
return parseDates(response.data);
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
async bulkSaveDataItems(r) {
|
|
109
|
+
return this.withErrorHandling(async () => {
|
|
110
|
+
const response = await this.httpApiClient.bulkSaveDataItems(r);
|
|
111
|
+
return parseDates(response.data);
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
async bulkRemoveDataItems(r) {
|
|
115
|
+
return this.withErrorHandling(async () => {
|
|
116
|
+
const response = await this.httpApiClient.bulkRemoveDataItems(r);
|
|
117
|
+
return parseDates(response.data);
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
async queryReferencedDataItems(r) {
|
|
121
|
+
return this.withErrorHandling(async () => {
|
|
122
|
+
const response = await this.httpApiClient.queryReferencedDataItems(r);
|
|
123
|
+
return parseDates(response.data);
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
async bulkInsertDataItemReferences(r) {
|
|
127
|
+
return this.withErrorHandling(async () => {
|
|
128
|
+
const response = await this.httpApiClient.bulkInsertDataItemReferences(r);
|
|
129
|
+
return parseDates(response.data);
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
async replaceDataItemReferences(r) {
|
|
133
|
+
return this.withErrorHandling(async () => {
|
|
134
|
+
const response = await this.httpApiClient.replaceDataItemReferences(r);
|
|
135
|
+
return parseDates(response.data);
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
async bulkRemoveDataItemReferences(r) {
|
|
139
|
+
return this.withErrorHandling(async () => {
|
|
140
|
+
const response = await this.httpApiClient.bulkRemoveDataItemReferences(r);
|
|
141
|
+
return parseDates(response.data);
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
async isReferencedDataItem(r) {
|
|
145
|
+
return this.withErrorHandling(async () => {
|
|
146
|
+
const response = await this.httpApiClient.isReferencedDataItem(r);
|
|
147
|
+
return parseDates(response.data);
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
async truncateDataItems(r) {
|
|
151
|
+
return this.withErrorHandling(async () => {
|
|
152
|
+
const response = await this.httpApiClient.truncateDataItems(r);
|
|
153
|
+
return parseDates(response.data);
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
async withErrorHandling(call) {
|
|
157
|
+
try {
|
|
158
|
+
return await call();
|
|
159
|
+
}
|
|
160
|
+
catch (error) {
|
|
161
|
+
if (isHttpError(error)) {
|
|
162
|
+
if (error.response?.status === 413) {
|
|
163
|
+
throw wixDataError(messages.payloadIsTooLarge(), 'WDE0109');
|
|
164
|
+
}
|
|
165
|
+
const parsedError = parseError(error.response?.data);
|
|
166
|
+
if (parsedError) {
|
|
167
|
+
throw parsedError;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
throw wixDataError(messages.internalError('Unknown error.'), codes.UnknownError);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
//# sourceMappingURL=ApiClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApiClient.js","sourceRoot":"","sources":["../../../src/api/ApiClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { validateFilterTree, } from '../filter';
|
|
2
|
+
import { Sort } from '../sort/sortMixin';
|
|
3
|
+
import { filterBuilder } from './common';
|
|
4
|
+
export class QueryBase {
|
|
5
|
+
constructor(origin) {
|
|
6
|
+
// filterMethod: WithFilter<Self>['filterMethod'] allows keeping type signature while capturing
|
|
7
|
+
// all args as an array
|
|
8
|
+
this.eq = (...args) => {
|
|
9
|
+
return this.withFilter('eq', args);
|
|
10
|
+
};
|
|
11
|
+
this.ne = (...args) => {
|
|
12
|
+
return this.withFilter('ne', args);
|
|
13
|
+
};
|
|
14
|
+
this.ge = (...args) => {
|
|
15
|
+
return this.withFilter('ge', args);
|
|
16
|
+
};
|
|
17
|
+
this.gt = (...args) => {
|
|
18
|
+
return this.withFilter('gt', args);
|
|
19
|
+
};
|
|
20
|
+
this.gte = (...args) => {
|
|
21
|
+
return this.withFilter('gte', args);
|
|
22
|
+
};
|
|
23
|
+
this.le = (...args) => {
|
|
24
|
+
return this.withFilter('le', args);
|
|
25
|
+
};
|
|
26
|
+
this.lt = (...args) => {
|
|
27
|
+
return this.withFilter('lt', args);
|
|
28
|
+
};
|
|
29
|
+
this.lte = (...args) => {
|
|
30
|
+
return this.withFilter('lte', args);
|
|
31
|
+
};
|
|
32
|
+
this.isNotEmpty = (...args) => {
|
|
33
|
+
return this.withFilter('isNotEmpty', args);
|
|
34
|
+
};
|
|
35
|
+
this.isEmpty = (...args) => {
|
|
36
|
+
return this.withFilter('isEmpty', args);
|
|
37
|
+
};
|
|
38
|
+
this.startsWith = (...args) => {
|
|
39
|
+
return this.withFilter('startsWith', args);
|
|
40
|
+
};
|
|
41
|
+
this.endsWith = (...args) => {
|
|
42
|
+
return this.withFilter('endsWith', args);
|
|
43
|
+
};
|
|
44
|
+
this.contains = (...args) => {
|
|
45
|
+
return this.withFilter('contains', args);
|
|
46
|
+
};
|
|
47
|
+
this.hasSome = (...args) => {
|
|
48
|
+
return this.withFilter('hasSome', args);
|
|
49
|
+
};
|
|
50
|
+
this.in = (...args) => {
|
|
51
|
+
return this.withFilter('in', args);
|
|
52
|
+
};
|
|
53
|
+
this.hasAll = (...args) => {
|
|
54
|
+
return this.withFilter('hasAll', args);
|
|
55
|
+
};
|
|
56
|
+
this.exists = (...args) => {
|
|
57
|
+
return this.withFilter('exists', args);
|
|
58
|
+
};
|
|
59
|
+
this.or = (...args) => {
|
|
60
|
+
// @ts-expect-error
|
|
61
|
+
return this.withFilter('or', args.map(this.extractFilter));
|
|
62
|
+
};
|
|
63
|
+
this.and = (...args) => {
|
|
64
|
+
// @ts-expect-error
|
|
65
|
+
return this.withFilter('and', args.map(this.extractFilter));
|
|
66
|
+
};
|
|
67
|
+
this.not = (...args) => {
|
|
68
|
+
// @ts-expect-error
|
|
69
|
+
return this.withFilter('not', args.map(this.extractFilter));
|
|
70
|
+
};
|
|
71
|
+
this.between = (...args) => {
|
|
72
|
+
return this.withFilter('between', args);
|
|
73
|
+
};
|
|
74
|
+
this.collectionName = origin.collectionName;
|
|
75
|
+
this.filterBuilder =
|
|
76
|
+
origin?.filterBuilder ?? filterBuilder({ filterTree: {} });
|
|
77
|
+
this.sort = origin?.sort ?? new Sort();
|
|
78
|
+
}
|
|
79
|
+
get filterTree() {
|
|
80
|
+
return this.filterBuilder.filterTree;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* @internal
|
|
84
|
+
*/
|
|
85
|
+
setFilterModel(filterTree) {
|
|
86
|
+
const filter = filterBuilder({
|
|
87
|
+
filterTree,
|
|
88
|
+
invalidArguments: validateFilterTree(filterTree),
|
|
89
|
+
});
|
|
90
|
+
return this.copy({ filterBuilder: filter });
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* @internal
|
|
94
|
+
*/
|
|
95
|
+
getFilterModel() {
|
|
96
|
+
return this.filterBuilder.build();
|
|
97
|
+
}
|
|
98
|
+
withFilter(filter, args) {
|
|
99
|
+
return this.copy({
|
|
100
|
+
filterBuilder: this.filterBuilder[filter].apply(this.filterBuilder, args),
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
extractFilter(value) {
|
|
104
|
+
return value?.filterBuilder ? value.filterBuilder : value;
|
|
105
|
+
}
|
|
106
|
+
// --- sort ---
|
|
107
|
+
get orderBy() {
|
|
108
|
+
return this.sort.orderBy;
|
|
109
|
+
}
|
|
110
|
+
ascending(...fields) {
|
|
111
|
+
return this.copy({ sort: this.sort.ascending(...fields) });
|
|
112
|
+
}
|
|
113
|
+
descending(...fields) {
|
|
114
|
+
return this.copy({ sort: this.sort.descending(...fields) });
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=QueryBase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryBase.js","sourceRoot":"","sources":["../../../src/api/QueryBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { isNumber } from '../utils';
|
|
2
|
+
import { AggregatingValidator, messages } from '../errors';
|
|
3
|
+
const MAX_SAFE_INTEGER = 9007199254740991;
|
|
4
|
+
export class QueryValidator extends AggregatingValidator {
|
|
5
|
+
constructor(operatorName, previousInvalidArguments) {
|
|
6
|
+
super(previousInvalidArguments);
|
|
7
|
+
this.operatorName = operatorName;
|
|
8
|
+
}
|
|
9
|
+
_isNumber(specifier, operand) {
|
|
10
|
+
return this.addValidation(() => isNumber(operand), () => messages.queryValidations.isNumber(this.operatorName, specifier, operand));
|
|
11
|
+
}
|
|
12
|
+
isPositiveNumber(operand) {
|
|
13
|
+
return this._isNumber('positive', operand).addValidation(() => !Number.isNaN(operand) && operand > 0, () => messages.queryValidations.isPositiveNumber(this.operatorName, operand));
|
|
14
|
+
}
|
|
15
|
+
isNonNegativeNumber(operand) {
|
|
16
|
+
return this._isNumber('non-negative', operand).addValidation(() => !Number.isNaN(operand) && operand >= 0, () => messages.queryValidations.isNonNegativeNumber(this.operatorName, operand));
|
|
17
|
+
}
|
|
18
|
+
isInteger(operand) {
|
|
19
|
+
return this.addValidation(() => !Number.isNaN(operand) &&
|
|
20
|
+
Number.isFinite(operand) &&
|
|
21
|
+
Number.isInteger(operand) &&
|
|
22
|
+
operand < MAX_SAFE_INTEGER &&
|
|
23
|
+
operand > -MAX_SAFE_INTEGER, () => messages.queryValidations.isInteger(this.operatorName, operand));
|
|
24
|
+
}
|
|
25
|
+
notGreaterThan(operand, value) {
|
|
26
|
+
return this.addValidation(() => operand <= value, () => messages.queryValidations.notGreaterThan(this.operatorName, operand, value));
|
|
27
|
+
}
|
|
28
|
+
nonEmptyString(operand) {
|
|
29
|
+
return this.addValidation(() => typeof operand === 'string' && operand.length > 0, () => messages.queryValidations.isNonEmptyString(this.operatorName));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=QueryValidator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryValidator.js","sourceRoot":"","sources":["../../../src/api/QueryValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAE1D,MAAM,gBAAgB,GAAG,gBAAgB,CAAA;AAEzC,MAAM,OAAO,cAAe,SAAQ,oBAAoB;IAGtD,YAAY,YAAoB,EAAE,wBAAkC;QAClE,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAC/B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;IAED,SAAS,CAAC,SAAiB,EAAE,OAAY;QACvC,OAAO,IAAI,CAAC,aAAa,CACvB,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EACvB,GAAG,EAAE,CACH,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAChC,IAAI,CAAC,YAAY,EACjB,SAAS,EACT,OAAO,CACR,CACJ,CAAA;IACH,CAAC;IAED,gBAAgB,CAAC,OAAe;QAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,aAAa,CACtD,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,EAC3C,GAAG,EAAE,CACH,QAAQ,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CACzE,CAAA;IACH,CAAC;IAED,mBAAmB,CAAC,OAAe;QACjC,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,aAAa,CAC1D,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAC5C,GAAG,EAAE,CACH,QAAQ,CAAC,gBAAgB,CAAC,mBAAmB,CAC3C,IAAI,CAAC,YAAY,EACjB,OAAO,CACR,CACJ,CAAA;IACH,CAAC;IAED,SAAS,CAAC,OAAe;QACvB,OAAO,IAAI,CAAC,aAAa,CACvB,GAAG,EAAE,CACH,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;YACtB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;YACxB,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC;YACzB,OAAO,GAAG,gBAAgB;YAC1B,OAAO,GAAG,CAAC,gBAAgB,EAC7B,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CACtE,CAAA;IACH,CAAC;IAED,cAAc,CAAC,OAAe,EAAE,KAAa;QAC3C,OAAO,IAAI,CAAC,aAAa,CACvB,GAAG,EAAE,CAAC,OAAO,IAAI,KAAK,EACtB,GAAG,EAAE,CACH,QAAQ,CAAC,gBAAgB,CAAC,cAAc,CACtC,IAAI,CAAC,YAAY,EACjB,OAAO,EACP,KAAK,CACN,CACJ,CAAA;IACH,CAAC;IAED,cAAc,CAAC,OAAY;QACzB,OAAO,IAAI,CAAC,aAAa,CACvB,GAAG,EAAE,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EACvD,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CACpE,CAAA;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WixDataAggregate.js","sourceRoot":"","sources":["../../../src/api/WixDataAggregate.ts"],"names":[],"mappings":""}
|