@taicode/common-server 1.0.7 → 1.0.9
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/output/schema/index.d.ts +77 -22
- package/output/schema/index.d.ts.map +1 -1
- package/output/schema/index.js +69 -11
- package/package.json +1 -1
package/output/schema/index.d.ts
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
import { FastifySchema } from 'fastify';
|
|
2
2
|
import { z, ZodEnum, ZodType } from 'zod';
|
|
3
|
+
/**
|
|
4
|
+
* 标准查询请求体 Schema
|
|
5
|
+
* 用于定义包含过滤条件、分页参数和排序条件的查询请求
|
|
6
|
+
* @param f - 过滤条件的类型
|
|
7
|
+
* @param e - 排序字段的枚举类型(可选)
|
|
8
|
+
* @returns 查询请求体的 Schema
|
|
9
|
+
*/
|
|
10
|
+
export declare function queryParamsSchema<F extends ZodType, E extends ZodEnum>(f: F, e?: E): z.ZodObject<{
|
|
11
|
+
filter: F;
|
|
12
|
+
paging: z.ZodObject<{
|
|
13
|
+
size: z.ZodNumber;
|
|
14
|
+
index: z.ZodNumber;
|
|
15
|
+
}, z.core.$strip>;
|
|
16
|
+
sort: z.ZodArray<z.ZodObject<{
|
|
17
|
+
key: E;
|
|
18
|
+
order: z.ZodEnum<{
|
|
19
|
+
ASC: "ASC";
|
|
20
|
+
DESC: "DESC";
|
|
21
|
+
}>;
|
|
22
|
+
}, z.core.$strip>> | z.ZodUndefined;
|
|
23
|
+
}, z.core.$strip>;
|
|
3
24
|
/**
|
|
4
25
|
* 查询结果 Schema
|
|
5
26
|
* 用于定义分页查询的返回结果结构
|
|
@@ -10,6 +31,12 @@ export declare function queryResultSchema<T extends ZodType>(t: T): z.ZodObject<
|
|
|
10
31
|
total: z.ZodNumber;
|
|
11
32
|
list: z.ZodArray<T>;
|
|
12
33
|
}, z.core.$strip>;
|
|
34
|
+
/**
|
|
35
|
+
* 列表查询参数 Schema
|
|
36
|
+
* 一次性列出全部数据
|
|
37
|
+
* @returns 列表查询参数的 Schema
|
|
38
|
+
*/
|
|
39
|
+
export declare function listParamsSchema(): z.ZodNullable<z.ZodUndefined>;
|
|
13
40
|
/**
|
|
14
41
|
* 列表结果 Schema
|
|
15
42
|
* 用于定义列表查询的返回结果结构(与 queryResultSchema 功能相同)
|
|
@@ -21,44 +48,62 @@ export declare function listResultSchema<T extends ZodType>(t: T): z.ZodObject<{
|
|
|
21
48
|
list: z.ZodArray<T>;
|
|
22
49
|
}, z.core.$strip>;
|
|
23
50
|
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
51
|
+
* 指定时间范围查询请求体 Schema
|
|
52
|
+
* 用于定义包含过滤条件、时间范围和排序条件的查询请求(不包含分页)
|
|
26
53
|
* @param f - 过滤条件的类型
|
|
27
54
|
* @param e - 排序字段的枚举类型(可选)
|
|
28
|
-
* @returns
|
|
55
|
+
* @returns 范围查询请求体的 Schema
|
|
29
56
|
*/
|
|
30
|
-
export declare function
|
|
57
|
+
export declare function rangeQueryParamsSchema<F extends ZodType, E extends ZodEnum>(f: F, e?: E): z.ZodObject<{
|
|
31
58
|
filter: F;
|
|
32
|
-
|
|
33
|
-
size: z.ZodNumber;
|
|
34
|
-
index: z.ZodNumber;
|
|
35
|
-
}, z.core.$strip>;
|
|
36
|
-
sort: z.ZodArray<z.ZodObject<{
|
|
59
|
+
sort: z.ZodUndefined | z.ZodArray<z.ZodObject<{
|
|
37
60
|
key: E;
|
|
38
61
|
order: z.ZodEnum<{
|
|
39
62
|
ASC: "ASC";
|
|
40
63
|
DESC: "DESC";
|
|
41
64
|
}>;
|
|
42
|
-
}, z.core.$strip
|
|
65
|
+
}, z.core.$strip>>;
|
|
66
|
+
range: z.ZodTuple<[z.ZodISODateTime, z.ZodISODateTime], null>;
|
|
43
67
|
}, z.core.$strip>;
|
|
44
68
|
/**
|
|
45
|
-
*
|
|
46
|
-
*
|
|
69
|
+
* 范围查询结果 Schema
|
|
70
|
+
* 用于定义范围查询的返回结果结构
|
|
71
|
+
* @param t - 数据项的类型
|
|
72
|
+
* @returns 包含时间点和数据的数组 Schema
|
|
73
|
+
*/
|
|
74
|
+
export declare function rangeQueryResultSchema<T extends ZodType>(t: T): z.ZodArray<z.ZodObject<{
|
|
75
|
+
data: T;
|
|
76
|
+
time: z.ZodISODateTime;
|
|
77
|
+
}, z.core.$strip>>;
|
|
78
|
+
/**
|
|
79
|
+
* 统计查询参数 Schema
|
|
80
|
+
* 用于定义统计查询的请求参数
|
|
47
81
|
* @param f - 过滤条件的类型
|
|
48
82
|
* @param e - 排序字段的枚举类型(可选)
|
|
49
|
-
* @returns
|
|
83
|
+
* @returns 统计查询参数的 Schema
|
|
50
84
|
*/
|
|
51
|
-
export declare function
|
|
85
|
+
export declare function statisticQueryParamsSchema<F extends ZodType>(f: F): z.ZodObject<{
|
|
52
86
|
filter: F;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
87
|
+
step: z.ZodEnum<{
|
|
88
|
+
minute: "minute";
|
|
89
|
+
hour: "hour";
|
|
90
|
+
day: "day";
|
|
91
|
+
week: "week";
|
|
92
|
+
month: "month";
|
|
93
|
+
year: "year";
|
|
94
|
+
}>;
|
|
60
95
|
range: z.ZodTuple<[z.ZodISODateTime, z.ZodISODateTime], null>;
|
|
61
96
|
}, z.core.$strip>;
|
|
97
|
+
/**
|
|
98
|
+
* 统计查询结果 Schema
|
|
99
|
+
* 用于定义统计查询的返回结果结构
|
|
100
|
+
* @param t - 数据项的类型
|
|
101
|
+
* @returns 包含时间点和数据的数组 Schema
|
|
102
|
+
*/
|
|
103
|
+
export declare function statisticQueryResultSchema<T extends ZodType>(t: T): z.ZodArray<z.ZodObject<{
|
|
104
|
+
data: T;
|
|
105
|
+
time: z.ZodISODateTime;
|
|
106
|
+
}, z.core.$strip>>;
|
|
62
107
|
/**
|
|
63
108
|
* 模糊查询请求体 Schema
|
|
64
109
|
* 用于定义包含模糊搜索关键词、时间范围和排序条件的查询请求
|
|
@@ -66,7 +111,7 @@ export declare function rangeQueryBodySchema<F extends ZodType, E extends ZodEnu
|
|
|
66
111
|
* @param e - 排序字段的枚举类型(可选)
|
|
67
112
|
* @returns 模糊查询请求体的 Schema
|
|
68
113
|
*/
|
|
69
|
-
export declare function
|
|
114
|
+
export declare function fuzzQueryParamsSchema<F extends ZodType, E extends ZodEnum>(f: F, e?: E): z.ZodObject<{
|
|
70
115
|
filter: F;
|
|
71
116
|
paging: z.ZodObject<{
|
|
72
117
|
size: z.ZodNumber;
|
|
@@ -80,6 +125,16 @@ export declare function fuzzQueryBodySchema<F extends ZodType, E extends ZodEnum
|
|
|
80
125
|
}>;
|
|
81
126
|
}, z.core.$strip>>;
|
|
82
127
|
}, z.core.$strip>;
|
|
128
|
+
/**
|
|
129
|
+
* 模糊查询结果 Schema
|
|
130
|
+
* 用于定义模糊查询的返回结果结构
|
|
131
|
+
* @param t - 数据项的类型
|
|
132
|
+
* @returns 包含总数和数据列表的 Schema
|
|
133
|
+
*/
|
|
134
|
+
export declare function fuzzQueryResultSchema<T extends ZodType>(t: T): z.ZodObject<{
|
|
135
|
+
total: z.ZodNumber;
|
|
136
|
+
list: z.ZodArray<T>;
|
|
137
|
+
}, z.core.$strip>;
|
|
83
138
|
/**
|
|
84
139
|
* 标准响应数据内容 Schema
|
|
85
140
|
* 用于定义统一的 API 响应结构
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,CAAA;AA2BzC;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,EAAE,CAAC;;;kBAKxD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,EAAE,CAAC;;;kBAKvD;AAED;;;;;;GAMG;AACH,wBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,CAAA;AA2BzC;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;;;;;;;;;;;;;kBAMlF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,EAAE,CAAC;;;kBAKxD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,kCAE/B;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,EAAE,CAAC;;;kBAKvD;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;;;;;;;;;;kBAMvF;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,EAAE,CAAC;;;mBAK7D;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,EAAE,CAAC;;;;;;;;;;;kBAMjE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,EAAE,CAAC;;;mBAKjE;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;;;;;;;;;;;;;kBAMtF;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,EAAE,CAAC;;;kBAK5D;AAGD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;;;;kBAMlF;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;EAMvG;AAED,UAAU,YAAa,SAAQ,aAAa;IAC1C,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,YAAY,EAAE,MAAM,EAAE,CAAC,GAAG,YAAY,GAAG,CAAC,GAAG,YAAY,CAY/F"}
|
package/output/schema/index.js
CHANGED
|
@@ -22,6 +22,20 @@ function _sortSchema(t) {
|
|
|
22
22
|
order: z.enum(['ASC', 'DESC']).describe('排序方向:ASC-升序,DESC-降序')
|
|
23
23
|
}));
|
|
24
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* 标准查询请求体 Schema
|
|
27
|
+
* 用于定义包含过滤条件、分页参数和排序条件的查询请求
|
|
28
|
+
* @param f - 过滤条件的类型
|
|
29
|
+
* @param e - 排序字段的枚举类型(可选)
|
|
30
|
+
* @returns 查询请求体的 Schema
|
|
31
|
+
*/
|
|
32
|
+
export function queryParamsSchema(f, e) {
|
|
33
|
+
return z.object({
|
|
34
|
+
filter: f.describe('过滤条件'),
|
|
35
|
+
paging: _pagingSchema().describe('分页参数'),
|
|
36
|
+
sort: e ? _sortSchema(e).describe('排序条件') : z.undefined(),
|
|
37
|
+
});
|
|
38
|
+
}
|
|
25
39
|
/**
|
|
26
40
|
* 查询结果 Schema
|
|
27
41
|
* 用于定义分页查询的返回结果结构
|
|
@@ -34,6 +48,14 @@ export function queryResultSchema(t) {
|
|
|
34
48
|
list: z.array(t).describe('数据列表')
|
|
35
49
|
});
|
|
36
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* 列表查询参数 Schema
|
|
53
|
+
* 一次性列出全部数据
|
|
54
|
+
* @returns 列表查询参数的 Schema
|
|
55
|
+
*/
|
|
56
|
+
export function listParamsSchema() {
|
|
57
|
+
return z.undefined().nullable();
|
|
58
|
+
}
|
|
37
59
|
/**
|
|
38
60
|
* 列表结果 Schema
|
|
39
61
|
* 用于定义列表查询的返回结果结构(与 queryResultSchema 功能相同)
|
|
@@ -47,33 +69,57 @@ export function listResultSchema(t) {
|
|
|
47
69
|
});
|
|
48
70
|
}
|
|
49
71
|
/**
|
|
50
|
-
*
|
|
51
|
-
*
|
|
72
|
+
* 指定时间范围查询请求体 Schema
|
|
73
|
+
* 用于定义包含过滤条件、时间范围和排序条件的查询请求(不包含分页)
|
|
52
74
|
* @param f - 过滤条件的类型
|
|
53
75
|
* @param e - 排序字段的枚举类型(可选)
|
|
54
|
-
* @returns
|
|
76
|
+
* @returns 范围查询请求体的 Schema
|
|
55
77
|
*/
|
|
56
|
-
export function
|
|
78
|
+
export function rangeQueryParamsSchema(f, e) {
|
|
57
79
|
return z.object({
|
|
58
80
|
filter: f.describe('过滤条件'),
|
|
59
|
-
paging: _pagingSchema().describe('分页参数'),
|
|
60
81
|
sort: e ? _sortSchema(e).describe('排序条件') : z.undefined(),
|
|
82
|
+
range: z.tuple([z.iso.datetime(), z.iso.datetime()]).describe('时间范围,格式为 [开始时间, 结束时间]'),
|
|
61
83
|
});
|
|
62
84
|
}
|
|
63
85
|
/**
|
|
64
|
-
*
|
|
65
|
-
*
|
|
86
|
+
* 范围查询结果 Schema
|
|
87
|
+
* 用于定义范围查询的返回结果结构
|
|
88
|
+
* @param t - 数据项的类型
|
|
89
|
+
* @returns 包含时间点和数据的数组 Schema
|
|
90
|
+
*/
|
|
91
|
+
export function rangeQueryResultSchema(t) {
|
|
92
|
+
return z.array(z.object({
|
|
93
|
+
data: t,
|
|
94
|
+
time: z.iso.datetime().describe('时间点'),
|
|
95
|
+
}));
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* 统计查询参数 Schema
|
|
99
|
+
* 用于定义统计查询的请求参数
|
|
66
100
|
* @param f - 过滤条件的类型
|
|
67
101
|
* @param e - 排序字段的枚举类型(可选)
|
|
68
|
-
* @returns
|
|
102
|
+
* @returns 统计查询参数的 Schema
|
|
69
103
|
*/
|
|
70
|
-
export function
|
|
104
|
+
export function statisticQueryParamsSchema(f) {
|
|
71
105
|
return z.object({
|
|
72
106
|
filter: f.describe('过滤条件'),
|
|
73
|
-
|
|
107
|
+
step: z.enum(['minute', 'hour', 'day', 'week', 'month', 'year']).describe('统计粒度'),
|
|
74
108
|
range: z.tuple([z.iso.datetime(), z.iso.datetime()]).describe('时间范围,格式为 [开始时间, 结束时间]'),
|
|
75
109
|
});
|
|
76
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* 统计查询结果 Schema
|
|
113
|
+
* 用于定义统计查询的返回结果结构
|
|
114
|
+
* @param t - 数据项的类型
|
|
115
|
+
* @returns 包含时间点和数据的数组 Schema
|
|
116
|
+
*/
|
|
117
|
+
export function statisticQueryResultSchema(t) {
|
|
118
|
+
return z.array(z.object({
|
|
119
|
+
data: t,
|
|
120
|
+
time: z.iso.datetime().describe('时间点'),
|
|
121
|
+
}));
|
|
122
|
+
}
|
|
77
123
|
/**
|
|
78
124
|
* 模糊查询请求体 Schema
|
|
79
125
|
* 用于定义包含模糊搜索关键词、时间范围和排序条件的查询请求
|
|
@@ -81,13 +127,25 @@ export function rangeQueryBodySchema(f, e) {
|
|
|
81
127
|
* @param e - 排序字段的枚举类型(可选)
|
|
82
128
|
* @returns 模糊查询请求体的 Schema
|
|
83
129
|
*/
|
|
84
|
-
export function
|
|
130
|
+
export function fuzzQueryParamsSchema(f, e) {
|
|
85
131
|
return z.object({
|
|
86
132
|
filter: f.describe('模糊搜索关键词,长度1-50字符'),
|
|
87
133
|
paging: _pagingSchema().describe('分页参数'),
|
|
88
134
|
sort: e ? _sortSchema(e).describe('排序条件') : z.undefined(),
|
|
89
135
|
});
|
|
90
136
|
}
|
|
137
|
+
/**
|
|
138
|
+
* 模糊查询结果 Schema
|
|
139
|
+
* 用于定义模糊查询的返回结果结构
|
|
140
|
+
* @param t - 数据项的类型
|
|
141
|
+
* @returns 包含总数和数据列表的 Schema
|
|
142
|
+
*/
|
|
143
|
+
export function fuzzQueryResultSchema(t) {
|
|
144
|
+
return z.object({
|
|
145
|
+
total: z.number().describe('数据总数'),
|
|
146
|
+
list: z.array(t).describe('数据列表')
|
|
147
|
+
});
|
|
148
|
+
}
|
|
91
149
|
/**
|
|
92
150
|
* 标准响应数据内容 Schema
|
|
93
151
|
* 用于定义统一的 API 响应结构
|