@cloudbase/wx-cloud-client-sdk 1.0.0-alpha.1 → 1.0.0-alpha.2
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/demo/app.d.ts +1 -0
- package/lib/{api → src/api}/datasouce-caller.d.ts +1 -1
- package/lib/src/error.d.ts +10 -0
- package/lib/src/index.d.ts +3 -0
- package/lib/{orm → src/orm}/orm-client.d.ts +1 -1
- package/lib/src/types/index.d.ts +568 -0
- package/lib/{wxCloudCLientSDK.cjs.js → wxCloudClientSDK.cjs.js} +73 -71
- package/lib/{wxCloudCLientSDK.esm.js → wxCloudClientSDK.esm.js} +73 -71
- package/lib/{wxCloudCLientSDK.umd.js → wxCloudClientSDK.umd.js} +73 -71
- package/package.json +11 -7
- package/lib/index.d.ts +0 -3
- package/lib/types/index.d.ts +0 -130
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { MethodResponse, CallDataSourceParams } from '../types';
|
|
2
|
-
export declare const callDataSource: ({ dataSourceName, methodName, params, realMethodName, callFunction }: CallDataSourceParams) => Promise<MethodResponse<any>>;
|
|
2
|
+
export declare const callDataSource: ({ dataSourceName, methodName, params, realMethodName, callFunction, }: CallDataSourceParams) => Promise<MethodResponse<any>>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare class WxCloudSDKError extends Error {
|
|
2
|
+
code: string | undefined;
|
|
3
|
+
requestId: string | undefined;
|
|
4
|
+
originError: Error | undefined;
|
|
5
|
+
constructor(message: string, extra?: {
|
|
6
|
+
requestId?: string;
|
|
7
|
+
code?: string;
|
|
8
|
+
originError?: Error;
|
|
9
|
+
});
|
|
10
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { OrmClient, CallFunction } from
|
|
1
|
+
import { OrmClient, CallFunction } from '../types';
|
|
2
2
|
export declare const generateClientByDataSourceName: (dataSourceName: string, callFunction: CallFunction) => OrmClient;
|
|
3
3
|
export declare const generateClient: (callFunction: CallFunction) => OrmClient;
|
|
@@ -0,0 +1,568 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 基础 Model 类型定义
|
|
3
|
+
*/
|
|
4
|
+
export interface Model {
|
|
5
|
+
_id?: string;
|
|
6
|
+
createdAt?: number;
|
|
7
|
+
updatedAt?: number;
|
|
8
|
+
owner?: Relation;
|
|
9
|
+
createBy?: Relation;
|
|
10
|
+
updateBy?: Relation;
|
|
11
|
+
_openid?: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* 模型方法的定义
|
|
15
|
+
* =====================================================================
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* 模型操作方法的返回类型定义。
|
|
19
|
+
* @template T 返回数据的类型。
|
|
20
|
+
*/
|
|
21
|
+
export declare type MethodResponse<T> = {
|
|
22
|
+
/**
|
|
23
|
+
* 返回的数据。
|
|
24
|
+
*/
|
|
25
|
+
data: T;
|
|
26
|
+
/**
|
|
27
|
+
* 请求的唯一标识符。
|
|
28
|
+
*/
|
|
29
|
+
requestId?: string;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* 模型操作方法接口定义。
|
|
33
|
+
* @template T 模型字段的类型。
|
|
34
|
+
*/
|
|
35
|
+
export interface DataModelMethods<T> {
|
|
36
|
+
/**
|
|
37
|
+
* 创建单条数据的方法。
|
|
38
|
+
* @param {Object} params - 包含创建数据的参数对象。
|
|
39
|
+
* @returns {Promise<MethodResponse<CreateResponse<T>>>} 包含创建响应的Promise对象。
|
|
40
|
+
* @example
|
|
41
|
+
* models.<model_name>.create({
|
|
42
|
+
* data: {
|
|
43
|
+
* // 模型字段数据
|
|
44
|
+
* }
|
|
45
|
+
* }).then(({ data }) => {
|
|
46
|
+
* console.log(data.id); // 输出创建的数据ID
|
|
47
|
+
* });
|
|
48
|
+
*/
|
|
49
|
+
create: (params: {
|
|
50
|
+
data: T;
|
|
51
|
+
}) => Promise<MethodResponse<CreateResponse<T>>>;
|
|
52
|
+
/**
|
|
53
|
+
* 创建多条数据的方法。
|
|
54
|
+
* @param {Object} params - 包含创建数据数组的参数对象。
|
|
55
|
+
* @returns {Promise<MethodResponse<CreateManyResponse<T>>>} 包含创建多个响应的Promise对象。
|
|
56
|
+
* @example
|
|
57
|
+
* models.<model_name>.createMany({
|
|
58
|
+
* data: [
|
|
59
|
+
* // 模型字段数据数组
|
|
60
|
+
* ]
|
|
61
|
+
* }).then(({ data }) => {
|
|
62
|
+
* console.log(data.idList); // 输出创建的数据ID列表
|
|
63
|
+
* });
|
|
64
|
+
*/
|
|
65
|
+
createMany: (params: {
|
|
66
|
+
data: T[];
|
|
67
|
+
}) => Promise<MethodResponse<CreateManyResponse<T>>>;
|
|
68
|
+
/**
|
|
69
|
+
* 更新单条数据的方法。
|
|
70
|
+
* @param {Object} params - 包含更新数据和筛选条件的参数对象。
|
|
71
|
+
* @returns {Promise<MethodResponse<UpdateResponse<T>>>} 包含更新响应的Promise对象。
|
|
72
|
+
* @example
|
|
73
|
+
* models.<model_name>.update({
|
|
74
|
+
* data: {
|
|
75
|
+
* // 更新的数据字段
|
|
76
|
+
* },
|
|
77
|
+
* filter: {
|
|
78
|
+
* where: {
|
|
79
|
+
* // 筛选条件
|
|
80
|
+
* }
|
|
81
|
+
* }
|
|
82
|
+
* }).then(({ data }) => {
|
|
83
|
+
* console.log(data.count); // 输出更新的数据条数
|
|
84
|
+
* });
|
|
85
|
+
*/
|
|
86
|
+
update: (params: {
|
|
87
|
+
data: T;
|
|
88
|
+
filter: FilterParams<T>;
|
|
89
|
+
}) => Promise<MethodResponse<UpdateResponse<T>>>;
|
|
90
|
+
/**
|
|
91
|
+
* 更新多条数据的方法。
|
|
92
|
+
* @param {Object} params - 包含更新数据和筛选条件的参数对象。
|
|
93
|
+
* @returns {Promise<MethodResponse<UpdateManyResponse<T>>>} 包含更新多个响应的Promise对象。
|
|
94
|
+
* @example
|
|
95
|
+
* models.<model_name>.updateMany({
|
|
96
|
+
* data: {
|
|
97
|
+
* // 更新的数据字段
|
|
98
|
+
* },
|
|
99
|
+
* filter: {
|
|
100
|
+
* where: {
|
|
101
|
+
* // 筛选条件
|
|
102
|
+
* }
|
|
103
|
+
* }
|
|
104
|
+
* }).then(({ data }) => {
|
|
105
|
+
* console.log(data.count); // 输出更新的数据条数
|
|
106
|
+
* });
|
|
107
|
+
*/
|
|
108
|
+
updateMany: (params: {
|
|
109
|
+
data: T;
|
|
110
|
+
filter: FilterParams<T>;
|
|
111
|
+
}) => Promise<MethodResponse<CreateManyResponse<T>>>;
|
|
112
|
+
/**
|
|
113
|
+
* 删除单条数据的方法。
|
|
114
|
+
* @param {Object} params - 包含筛选条件的参数对象。
|
|
115
|
+
* @returns {Promise<MethodResponse<DeleteResponse<T>>>} 包含删除响应的Promise对象。
|
|
116
|
+
* @example
|
|
117
|
+
* models.<model_name>.delete({
|
|
118
|
+
* filter: {
|
|
119
|
+
* where: {
|
|
120
|
+
* // 筛选条件,例如根据ID删除特定记录
|
|
121
|
+
* _id: {
|
|
122
|
+
* $eq: "特定ID值"
|
|
123
|
+
* }
|
|
124
|
+
* }
|
|
125
|
+
* }
|
|
126
|
+
* }).then(({ data }) => {
|
|
127
|
+
* console.log(data.count); // 输出删除的数据条数
|
|
128
|
+
* });
|
|
129
|
+
*/
|
|
130
|
+
delete: (params: {
|
|
131
|
+
filter: FilterParams<T>;
|
|
132
|
+
}) => Promise<MethodResponse<DeleteResponse<T>>>;
|
|
133
|
+
/**
|
|
134
|
+
* 删除多条数据的方法。
|
|
135
|
+
* @param {Object} params - 包含筛选条件的参数对象。
|
|
136
|
+
* @returns {Promise<MethodResponse<DeleteManyResponse<T>>>} 包含删除多个响应的Promise对象。
|
|
137
|
+
* @example
|
|
138
|
+
* models.<model_name>.deleteMany({
|
|
139
|
+
* filter: {
|
|
140
|
+
* where: {
|
|
141
|
+
* // 筛选条件,例如删除所有满足特定条件的记录
|
|
142
|
+
* }
|
|
143
|
+
* }
|
|
144
|
+
* }).then(({ data }) => {
|
|
145
|
+
* console.log(data.count); // 输出删除的数据条数
|
|
146
|
+
* });
|
|
147
|
+
*/
|
|
148
|
+
deleteMany: (params: {
|
|
149
|
+
filter: FilterParams<T>;
|
|
150
|
+
}) => Promise<MethodResponse<DeleteManyResponse<T>>>;
|
|
151
|
+
/**
|
|
152
|
+
* 获取单条数据的方法。
|
|
153
|
+
* @param {Object} params - 包含筛选条件和选择字段的参数对象。
|
|
154
|
+
* @returns {Promise<MethodResponse<T>>} 包含单个记录的Promise对象。
|
|
155
|
+
* @example
|
|
156
|
+
* models.<model_name>.get({
|
|
157
|
+
* filter: {
|
|
158
|
+
* where: {
|
|
159
|
+
* // 筛选条件
|
|
160
|
+
* }
|
|
161
|
+
* },
|
|
162
|
+
* select: {
|
|
163
|
+
* $master: true // 选择主表所有字段
|
|
164
|
+
* }
|
|
165
|
+
* }).then(({ data }) => {
|
|
166
|
+
* console.log(data); // 输出查询到的数据
|
|
167
|
+
* });
|
|
168
|
+
*/
|
|
169
|
+
get: (params: {
|
|
170
|
+
filter: FilterParams<T>;
|
|
171
|
+
select?: SelectParams<T>;
|
|
172
|
+
}) => Promise<MethodResponse<T>>;
|
|
173
|
+
/**
|
|
174
|
+
* 获取多条数据的方法。
|
|
175
|
+
* @param {Object} params - 包含筛选条件、选择字段、分页和排序选项的参数对象。
|
|
176
|
+
* @returns {Promise<MethodResponse<{ records: T[]; total?: number }>>} 包含记录列表和总数的Promise对象。
|
|
177
|
+
* @example
|
|
178
|
+
* models.<model_name>.list({
|
|
179
|
+
* filter: {
|
|
180
|
+
* where: {
|
|
181
|
+
* // 筛选条件
|
|
182
|
+
* }
|
|
183
|
+
* },
|
|
184
|
+
* select: {
|
|
185
|
+
* $master: true // 选择主表所有字段
|
|
186
|
+
* },
|
|
187
|
+
* getCount: true, // 开启用来获取总数
|
|
188
|
+
* pageSize: 10, // 分页大小
|
|
189
|
+
* pageNumber: 1, // 当前页码
|
|
190
|
+
* orderBy: [{ createdAt: 'desc' }] // 排序参数
|
|
191
|
+
* }).then(({ data }) => {
|
|
192
|
+
* console.log(data.records, data.total); // 输出查询到的数据列表和总数
|
|
193
|
+
* });
|
|
194
|
+
*/
|
|
195
|
+
list: (params: {
|
|
196
|
+
/**
|
|
197
|
+
* 过滤条件
|
|
198
|
+
*/
|
|
199
|
+
filter?: FilterParams<T>;
|
|
200
|
+
/**
|
|
201
|
+
* 可以指定返回本表或者关联表的字段,如果想查询本表所有字段,请使用 { $master: true }
|
|
202
|
+
*/
|
|
203
|
+
select?: SelectParams<T>;
|
|
204
|
+
/**
|
|
205
|
+
* 是否获取 filter 命中条件的查询条数
|
|
206
|
+
*/
|
|
207
|
+
getCount?: boolean;
|
|
208
|
+
/**
|
|
209
|
+
* 分页大小,建议指定,如需设置为其它值,需要和pageNo配合使用,两者同时指定才会生效
|
|
210
|
+
*/
|
|
211
|
+
pageSize?: number;
|
|
212
|
+
/**
|
|
213
|
+
* 分页数目
|
|
214
|
+
*/
|
|
215
|
+
pageNumber?: number;
|
|
216
|
+
/**
|
|
217
|
+
* 排序参数,当前仅支持最多 3 字段排序
|
|
218
|
+
*/
|
|
219
|
+
orderBy?: OrderByParams[];
|
|
220
|
+
}) => Promise<MethodResponse<{
|
|
221
|
+
records: T[];
|
|
222
|
+
total?: number;
|
|
223
|
+
}>>;
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* 模型方法返回值的定义
|
|
227
|
+
* =====================================================================
|
|
228
|
+
*/
|
|
229
|
+
/**
|
|
230
|
+
* 数据创建方法的返回类型定义。
|
|
231
|
+
* @template T 模型字段的类型。
|
|
232
|
+
*/
|
|
233
|
+
export declare type CreateResponse<T> = {
|
|
234
|
+
id: string;
|
|
235
|
+
};
|
|
236
|
+
/**
|
|
237
|
+
* 创建多条记录的响应类型定义。
|
|
238
|
+
* @template T 模型字段的类型。
|
|
239
|
+
*/
|
|
240
|
+
export declare type CreateManyResponse<T> = {
|
|
241
|
+
/**
|
|
242
|
+
* 创建的记录的ID列表。
|
|
243
|
+
*/
|
|
244
|
+
idList: string[];
|
|
245
|
+
};
|
|
246
|
+
/**
|
|
247
|
+
* 更新操作的响应类型定义。
|
|
248
|
+
* @template T 模型字段的类型。
|
|
249
|
+
*/
|
|
250
|
+
export declare type UpdateResponse<T> = {
|
|
251
|
+
/**
|
|
252
|
+
* 更新操作影响的记录数量。
|
|
253
|
+
*/
|
|
254
|
+
count: number;
|
|
255
|
+
};
|
|
256
|
+
/**
|
|
257
|
+
* 删除操作的响应类型定义,用于表示删除操作影响的记录数量。
|
|
258
|
+
* @template T 模型字段的类型。
|
|
259
|
+
*/
|
|
260
|
+
export declare type DeleteResponse<T> = {
|
|
261
|
+
/**
|
|
262
|
+
* 删除操作影响的记录数量。
|
|
263
|
+
* 如果count为0,表示没有记录被删除;
|
|
264
|
+
* 如果count大于0,表示有相应数量的记录被成功删除。
|
|
265
|
+
*/
|
|
266
|
+
count: number;
|
|
267
|
+
};
|
|
268
|
+
/**
|
|
269
|
+
* 删除多条记录的响应类型定义,与更新操作的响应类型相同。
|
|
270
|
+
* @template T 模型字段的类型。
|
|
271
|
+
*/
|
|
272
|
+
export declare type DeleteManyResponse<T> = UpdateResponse<T>;
|
|
273
|
+
/**
|
|
274
|
+
* 数据列表方法的返回类型定义。
|
|
275
|
+
* @template T 模型字段的类型。
|
|
276
|
+
*/
|
|
277
|
+
export declare type ListResponse<T> = MethodResponse<{
|
|
278
|
+
records: T[];
|
|
279
|
+
total?: number;
|
|
280
|
+
}>;
|
|
281
|
+
/**
|
|
282
|
+
* list 方法参数定义。
|
|
283
|
+
* @template T 模型字段的类型。
|
|
284
|
+
*/
|
|
285
|
+
export declare type ListParams<T> = {
|
|
286
|
+
filter?: FilterParams<T>;
|
|
287
|
+
select?: SelectParams<T> | {
|
|
288
|
+
$master: boolean;
|
|
289
|
+
};
|
|
290
|
+
getCount?: boolean;
|
|
291
|
+
pageSize?: number;
|
|
292
|
+
pageNumber?: number;
|
|
293
|
+
orderBy?: OrderByParams[];
|
|
294
|
+
relateWhere?: any;
|
|
295
|
+
};
|
|
296
|
+
/**
|
|
297
|
+
* 过滤条件项的类型定义。
|
|
298
|
+
* =====================================================================
|
|
299
|
+
*/
|
|
300
|
+
/**
|
|
301
|
+
* 定义过滤参数的类型。
|
|
302
|
+
*
|
|
303
|
+
* @template T 表示模型字段的类型。
|
|
304
|
+
* @example
|
|
305
|
+
* {
|
|
306
|
+
relateWhere: {
|
|
307
|
+
comments: {
|
|
308
|
+
where: {
|
|
309
|
+
comment: {
|
|
310
|
+
$nempty: true,
|
|
311
|
+
},
|
|
312
|
+
},
|
|
313
|
+
},
|
|
314
|
+
},
|
|
315
|
+
where: {},
|
|
316
|
+
}
|
|
317
|
+
*/
|
|
318
|
+
export declare type FilterParams<T> = {
|
|
319
|
+
/**
|
|
320
|
+
* 基础查询
|
|
321
|
+
*/
|
|
322
|
+
where?: FilterConditionItem<T> | FilterObject<T>;
|
|
323
|
+
/**
|
|
324
|
+
* 关联关系查询
|
|
325
|
+
*/
|
|
326
|
+
relateWhere?: {
|
|
327
|
+
[K in RelationKeys<T>]?: {
|
|
328
|
+
where: FilterConditionItem<T[K] extends Model[] ? T[K][0] : T[K]> | FilterObject<T[K]>;
|
|
329
|
+
};
|
|
330
|
+
};
|
|
331
|
+
};
|
|
332
|
+
/**
|
|
333
|
+
* 定义过滤参数的类型。
|
|
334
|
+
*
|
|
335
|
+
* @template T 表示模型字段的类型。
|
|
336
|
+
* 此类型定义允许使用复杂的查询条件来过滤数据。
|
|
337
|
+
*
|
|
338
|
+
* @example <caption>示例 1: 使用`$and`运算符来组合多个条件。</caption>
|
|
339
|
+
* {
|
|
340
|
+
* "$and": [
|
|
341
|
+
* {
|
|
342
|
+
* "title": {
|
|
343
|
+
* "$eq": "hello"
|
|
344
|
+
* }
|
|
345
|
+
* }
|
|
346
|
+
* ]
|
|
347
|
+
* }
|
|
348
|
+
*
|
|
349
|
+
* @example <caption>示例 2: 使用`$or`运算符来组合多个条件,其中包含一个`$and`子条件。</caption>
|
|
350
|
+
* {
|
|
351
|
+
* "$or": [
|
|
352
|
+
* {
|
|
353
|
+
* "$and": [
|
|
354
|
+
* {
|
|
355
|
+
* "title": {
|
|
356
|
+
* "$eq": "hello"
|
|
357
|
+
* }
|
|
358
|
+
* },
|
|
359
|
+
* {
|
|
360
|
+
* "body": {
|
|
361
|
+
* "$neq": "world"
|
|
362
|
+
* }
|
|
363
|
+
* }
|
|
364
|
+
* ]
|
|
365
|
+
* },
|
|
366
|
+
* {
|
|
367
|
+
* "createdBy": {
|
|
368
|
+
* "$eq": "xxx"
|
|
369
|
+
* }
|
|
370
|
+
* }
|
|
371
|
+
* ]
|
|
372
|
+
* }
|
|
373
|
+
*/
|
|
374
|
+
export declare type FilterObject<T> = {
|
|
375
|
+
[operator in LogicalOperator]?: FilterConditionItem<T>[] | FilterObject<T>;
|
|
376
|
+
};
|
|
377
|
+
/**
|
|
378
|
+
* 过滤参数类型定义。
|
|
379
|
+
*
|
|
380
|
+
* 此类型定义允许对模型字段进行条件过滤,支持复杂的查询操作。
|
|
381
|
+
*
|
|
382
|
+
* @template T 模型字段的类型。
|
|
383
|
+
*
|
|
384
|
+
* @example
|
|
385
|
+
* 示例 1: 使用`$and`运算符来组合条件,确保所有条件都满足。
|
|
386
|
+
* ```json
|
|
387
|
+
* {
|
|
388
|
+
* "$and": [
|
|
389
|
+
* {
|
|
390
|
+
* "key": {
|
|
391
|
+
* "$eq": "val"
|
|
392
|
+
* }
|
|
393
|
+
* }
|
|
394
|
+
* ]
|
|
395
|
+
* }
|
|
396
|
+
* ```
|
|
397
|
+
*
|
|
398
|
+
* @example
|
|
399
|
+
* 示例 2: 使用`$and`运算符来组合条件,其中包含`$in`运算符来检查数组包含性。
|
|
400
|
+
* ```json
|
|
401
|
+
* {
|
|
402
|
+
* "$and": [
|
|
403
|
+
* {
|
|
404
|
+
* "key1": {
|
|
405
|
+
* "$in": [
|
|
406
|
+
* "foo",
|
|
407
|
+
* "bar"
|
|
408
|
+
* ]
|
|
409
|
+
* }
|
|
410
|
+
* },
|
|
411
|
+
* {
|
|
412
|
+
* "key2": {
|
|
413
|
+
* "$in": [
|
|
414
|
+
* 1,
|
|
415
|
+
* 2
|
|
416
|
+
* ]
|
|
417
|
+
* }
|
|
418
|
+
* }
|
|
419
|
+
* ]
|
|
420
|
+
* }
|
|
421
|
+
* ```
|
|
422
|
+
*/
|
|
423
|
+
export declare type FilterConditionItem<T> = {
|
|
424
|
+
[key in keyof T]?: FilterCondition;
|
|
425
|
+
};
|
|
426
|
+
/**
|
|
427
|
+
* 复杂查询条件类型定义
|
|
428
|
+
*
|
|
429
|
+
* @example
|
|
430
|
+
* {
|
|
431
|
+
* "$eq": "val"
|
|
432
|
+
* }
|
|
433
|
+
*/
|
|
434
|
+
export declare type FilterCondition = {
|
|
435
|
+
[key in ComparisonOperator]?: any;
|
|
436
|
+
};
|
|
437
|
+
/**
|
|
438
|
+
* 比较运算符类型定义,包括基础和特殊运算符。
|
|
439
|
+
* @example
|
|
440
|
+
* $eq: 等于
|
|
441
|
+
*/
|
|
442
|
+
export declare type ComparisonOperator = BasicComparisonOperator | SpecialComparisonOperator;
|
|
443
|
+
/**
|
|
444
|
+
* 排序参数结构定义。
|
|
445
|
+
*
|
|
446
|
+
* @example
|
|
447
|
+
* {
|
|
448
|
+
"createdAt": "asc",
|
|
449
|
+
}
|
|
450
|
+
*/
|
|
451
|
+
export declare type OrderByParams = {
|
|
452
|
+
[key: string]: 'asc' | 'desc';
|
|
453
|
+
};
|
|
454
|
+
/**
|
|
455
|
+
* 选择参数结构定义,用于指定查询时返回的字段。
|
|
456
|
+
* @template T 模型字段的类型。
|
|
457
|
+
* @example
|
|
458
|
+
* {
|
|
459
|
+
"key1": true,
|
|
460
|
+
}
|
|
461
|
+
*
|
|
462
|
+
* @example
|
|
463
|
+
* {
|
|
464
|
+
$master: true,
|
|
465
|
+
}
|
|
466
|
+
*
|
|
467
|
+
* @example
|
|
468
|
+
* {
|
|
469
|
+
$master: true,
|
|
470
|
+
comments: {
|
|
471
|
+
comment: true,
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
*/
|
|
475
|
+
export declare type SelectParams<T> = {
|
|
476
|
+
[K in keyof T]?: T[K] extends Array<infer U> | undefined ? SelectParams<U> | boolean : T[K] extends object | undefined ? SelectParams<T[K]> | boolean : boolean;
|
|
477
|
+
} & {
|
|
478
|
+
$master?: boolean;
|
|
479
|
+
};
|
|
480
|
+
/**
|
|
481
|
+
* 基础比较运算符类型定义。
|
|
482
|
+
*/
|
|
483
|
+
export declare type BasicComparisonOperator = '$eq' | '$neq' | '$gt' | '$gte' | '$lt' | '$lte' | '$in' | '$nin';
|
|
484
|
+
/**
|
|
485
|
+
* 特殊比较运算符类型定义
|
|
486
|
+
*/
|
|
487
|
+
export declare type SpecialComparisonOperator = '$search' | '$nsearch' | '$empty' | '$nempty';
|
|
488
|
+
/**
|
|
489
|
+
* 逻辑运算符类型定义。
|
|
490
|
+
*/
|
|
491
|
+
export declare type LogicalOperator = '$and' | '$or';
|
|
492
|
+
export declare type RelationField<T> = T extends {
|
|
493
|
+
[key: string]: infer U;
|
|
494
|
+
} ? U : never;
|
|
495
|
+
/**
|
|
496
|
+
* @hidden
|
|
497
|
+
*/
|
|
498
|
+
declare type RelationKeys<T> = T extends any ? {
|
|
499
|
+
[K in keyof T]: T[K] extends Model | Model[] ? K : never;
|
|
500
|
+
}[keyof T] : never;
|
|
501
|
+
/**
|
|
502
|
+
* 关联关系类型定义。
|
|
503
|
+
* @hidden
|
|
504
|
+
*/
|
|
505
|
+
export declare type Relation = string;
|
|
506
|
+
/**
|
|
507
|
+
* ORM客户端接口,包含不同模型名称到其操作方法的映射。
|
|
508
|
+
* @hidden
|
|
509
|
+
*/
|
|
510
|
+
export interface OrmClient {
|
|
511
|
+
[modelName: string]: DataModelMethods<any>;
|
|
512
|
+
}
|
|
513
|
+
/**
|
|
514
|
+
* 调用数据源参数的结构定义,用于封装调用云函数时所需的参数。
|
|
515
|
+
* @hidden
|
|
516
|
+
*/
|
|
517
|
+
export interface CallDataSourceParams {
|
|
518
|
+
/**
|
|
519
|
+
* 数据源的名称,标识调用的数据源。
|
|
520
|
+
*/
|
|
521
|
+
dataSourceName: string;
|
|
522
|
+
/**
|
|
523
|
+
* 方法名称,标识要调用的数据源中的具体方法。
|
|
524
|
+
*/
|
|
525
|
+
methodName: string;
|
|
526
|
+
/**
|
|
527
|
+
* 传递给数据源方法的参数,可以是任意形式的键值对。
|
|
528
|
+
*/
|
|
529
|
+
params: Record<string, any>;
|
|
530
|
+
/**
|
|
531
|
+
* 真实的方法名称,可能在某些情况下与`methodName`不同。
|
|
532
|
+
*/
|
|
533
|
+
realMethodName: string;
|
|
534
|
+
/**
|
|
535
|
+
* 调用函数的方法,用于执行实际的云函数调用。
|
|
536
|
+
*/
|
|
537
|
+
callFunction: CallFunction;
|
|
538
|
+
}
|
|
539
|
+
/**
|
|
540
|
+
* 云函数调用接口,包含调用函数和认证信息。
|
|
541
|
+
* @hidden
|
|
542
|
+
*/
|
|
543
|
+
export declare type CloudBaseInstance = {
|
|
544
|
+
callFunction: CallFunction;
|
|
545
|
+
auth: any;
|
|
546
|
+
};
|
|
547
|
+
/**
|
|
548
|
+
* 扩展的云实例接口,扩展了云函数调用接口并包含ORM客户端。
|
|
549
|
+
* @hidden
|
|
550
|
+
*/
|
|
551
|
+
export interface ExtendedCloudBaseInstance extends CloudBaseInstance {
|
|
552
|
+
models: OrmClient;
|
|
553
|
+
}
|
|
554
|
+
/**
|
|
555
|
+
* 云函数调用方法定义。
|
|
556
|
+
* @hidden
|
|
557
|
+
* @param args - 包含函数名称、数据源名称、方法名称和参数的对象。
|
|
558
|
+
* @returns 返回一个Promise,解析为任意类型。
|
|
559
|
+
*/
|
|
560
|
+
export declare type CallFunction = (args: {
|
|
561
|
+
name: string;
|
|
562
|
+
data: {
|
|
563
|
+
dataSourceName: string;
|
|
564
|
+
methodName: string;
|
|
565
|
+
params: Record<string, any>;
|
|
566
|
+
};
|
|
567
|
+
}) => Promise<any>;
|
|
568
|
+
export {};
|