@h-ai/iam 0.1.0-alpha5
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/LICENSE +202 -0
- package/README.md +513 -0
- package/dist/api/index.d.ts +746 -0
- package/dist/api/index.js +3 -0
- package/dist/api/index.js.map +1 -0
- package/dist/browser.d.ts +2 -0
- package/dist/browser.js +3 -0
- package/dist/browser.js.map +1 -0
- package/dist/chunk-CBZ4LHKU.js +374 -0
- package/dist/chunk-CBZ4LHKU.js.map +1 -0
- package/dist/index.d.ts +1394 -0
- package/dist/index.js +4762 -0
- package/dist/index.js.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { AdminCreateUserInputSchema, AdminResetPasswordInputSchema, AdminUpdateUserInputSchema, AgreementDisplaySchema, ChangePasswordInputSchema, CreatePermissionInputSchema, CreateRoleInputSchema, CurrentUserOutputSchema, IdParamSchema, ListPermissionsInputSchema, ListPermissionsOutputSchema, ListRolesOutputSchema, ListUsersInputSchema, ListUsersOutputSchema, LoginInputSchema, LoginOutputSchema, LogoutInputSchema, OtpLoginInputSchema, PaginationQuerySchema, PermissionSchema, PermissionTypeSchema, RefreshTokenInputSchema, RefreshTokenOutputSchema, RegisterInputSchema, RegisterOutputSchema, RoleSchema, SendOtpInputSchema, SendOtpOutputSchema, TokenPairSchema, UpdateCurrentUserInputSchema, UpdateRoleInputSchema, UserSchema, iamEndpoints } from '../chunk-CBZ4LHKU.js';
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
3
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { AdminCreateUserInput, AdminCreateUserInputSchema, AdminResetPasswordInputSchema, AdminUpdateUserInput, AdminUpdateUserInputSchema, AgreementDisplaySchema, ChangePasswordInput, ChangePasswordInputSchema, CreatePermissionInput, CreatePermissionInputSchema, CreateRoleInput, CreateRoleInputSchema, CurrentUserOutputSchema, IdParamSchema, ListPermissionsInput, ListPermissionsInputSchema, ListPermissionsOutputSchema, ListRolesOutputSchema, ListUsersInput, ListUsersInputSchema, ListUsersOutputSchema, LoginInput, LoginInputSchema, LoginOutput, LoginOutputSchema, LogoutInputSchema, OtpLoginInput, OtpLoginInputSchema, PaginationQuerySchema, PermissionSchema, PermissionTypeSchema, RefreshTokenInput, RefreshTokenInputSchema, RefreshTokenOutput, RefreshTokenOutputSchema, RegisterInput, RegisterInputSchema, RegisterOutput, RegisterOutputSchema, RoleSchema, SendOtpInput, SendOtpInputSchema, SendOtpOutput, SendOtpOutputSchema, TokenPairSchema, UpdateCurrentUserInput, UpdateCurrentUserInputSchema, UpdateRoleInput, UpdateRoleInputSchema, UserSchema, iamEndpoints } from './api/index.js';
|
|
2
|
+
import 'zod';
|
package/dist/browser.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { AdminCreateUserInputSchema, AdminResetPasswordInputSchema, AdminUpdateUserInputSchema, AgreementDisplaySchema, ChangePasswordInputSchema, CreatePermissionInputSchema, CreateRoleInputSchema, CurrentUserOutputSchema, IdParamSchema, ListPermissionsInputSchema, ListPermissionsOutputSchema, ListRolesOutputSchema, ListUsersInputSchema, ListUsersOutputSchema, LoginInputSchema, LoginOutputSchema, LogoutInputSchema, OtpLoginInputSchema, PaginationQuerySchema, PermissionSchema, PermissionTypeSchema, RefreshTokenInputSchema, RefreshTokenOutputSchema, RegisterInputSchema, RegisterOutputSchema, RoleSchema, SendOtpInputSchema, SendOtpOutputSchema, TokenPairSchema, UpdateCurrentUserInputSchema, UpdateRoleInputSchema, UserSchema, iamEndpoints } from './chunk-CBZ4LHKU.js';
|
|
2
|
+
//# sourceMappingURL=browser.js.map
|
|
3
|
+
//# sourceMappingURL=browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"browser.js"}
|
|
@@ -0,0 +1,374 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
// src/api/iam-api-contract.ts
|
|
4
|
+
var UserSchema = z.object({
|
|
5
|
+
id: z.string(),
|
|
6
|
+
username: z.string(),
|
|
7
|
+
email: z.string().optional(),
|
|
8
|
+
phone: z.string().optional(),
|
|
9
|
+
displayName: z.string().optional(),
|
|
10
|
+
avatarUrl: z.string().optional(),
|
|
11
|
+
enabled: z.boolean(),
|
|
12
|
+
emailVerified: z.boolean().optional(),
|
|
13
|
+
phoneVerified: z.boolean().optional(),
|
|
14
|
+
createdAt: z.coerce.date(),
|
|
15
|
+
updatedAt: z.coerce.date(),
|
|
16
|
+
metadata: z.record(z.string(), z.unknown()).optional()
|
|
17
|
+
});
|
|
18
|
+
var TokenPairSchema = z.object({
|
|
19
|
+
accessToken: z.string(),
|
|
20
|
+
refreshToken: z.string(),
|
|
21
|
+
expiresIn: z.number(),
|
|
22
|
+
tokenType: z.literal("Bearer")
|
|
23
|
+
});
|
|
24
|
+
var AgreementDisplaySchema = z.object({
|
|
25
|
+
userAgreementUrl: z.string().optional(),
|
|
26
|
+
privacyPolicyUrl: z.string().optional(),
|
|
27
|
+
showOnRegister: z.boolean(),
|
|
28
|
+
showOnLogin: z.boolean()
|
|
29
|
+
});
|
|
30
|
+
var LoginInputSchema = z.object({
|
|
31
|
+
identifier: z.string().min(1),
|
|
32
|
+
password: z.string().min(1),
|
|
33
|
+
rememberMe: z.boolean().optional()
|
|
34
|
+
});
|
|
35
|
+
var LoginOutputSchema = z.object({
|
|
36
|
+
user: UserSchema,
|
|
37
|
+
tokens: TokenPairSchema,
|
|
38
|
+
agreements: AgreementDisplaySchema.optional()
|
|
39
|
+
});
|
|
40
|
+
var OtpLoginInputSchema = z.object({
|
|
41
|
+
identifier: z.string().min(1),
|
|
42
|
+
code: z.string().min(1)
|
|
43
|
+
});
|
|
44
|
+
var LogoutInputSchema = z.object({
|
|
45
|
+
accessToken: z.string().min(1)
|
|
46
|
+
});
|
|
47
|
+
var SendOtpInputSchema = z.object({
|
|
48
|
+
identifier: z.string().min(1)
|
|
49
|
+
});
|
|
50
|
+
var SendOtpOutputSchema = z.object({
|
|
51
|
+
expiresAt: z.coerce.date()
|
|
52
|
+
});
|
|
53
|
+
var RefreshTokenInputSchema = z.object({
|
|
54
|
+
refreshToken: z.string().min(1)
|
|
55
|
+
});
|
|
56
|
+
var RefreshTokenOutputSchema = z.object({
|
|
57
|
+
tokens: TokenPairSchema
|
|
58
|
+
});
|
|
59
|
+
var RegisterInputSchema = z.object({
|
|
60
|
+
username: z.string().min(1),
|
|
61
|
+
password: z.string().min(6),
|
|
62
|
+
email: z.string().email().optional(),
|
|
63
|
+
phone: z.string().optional(),
|
|
64
|
+
displayName: z.string().optional()
|
|
65
|
+
});
|
|
66
|
+
var RegisterOutputSchema = z.object({
|
|
67
|
+
user: UserSchema,
|
|
68
|
+
tokens: TokenPairSchema
|
|
69
|
+
});
|
|
70
|
+
var ChangePasswordInputSchema = z.object({
|
|
71
|
+
oldPassword: z.string().min(1),
|
|
72
|
+
newPassword: z.string().min(6)
|
|
73
|
+
});
|
|
74
|
+
var CurrentUserOutputSchema = UserSchema;
|
|
75
|
+
var UpdateCurrentUserInputSchema = z.object({
|
|
76
|
+
displayName: z.string().optional(),
|
|
77
|
+
avatarUrl: z.string().optional(),
|
|
78
|
+
email: z.string().email().optional(),
|
|
79
|
+
phone: z.string().optional()
|
|
80
|
+
});
|
|
81
|
+
var PaginationQuerySchema = z.object({
|
|
82
|
+
page: z.coerce.number().int().min(1).optional(),
|
|
83
|
+
pageSize: z.coerce.number().int().min(1).max(100).optional()
|
|
84
|
+
});
|
|
85
|
+
function paginatedSchema(itemSchema) {
|
|
86
|
+
return z.object({
|
|
87
|
+
items: z.array(itemSchema),
|
|
88
|
+
total: z.number(),
|
|
89
|
+
page: z.number(),
|
|
90
|
+
pageSize: z.number()
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
var ListUsersInputSchema = PaginationQuerySchema.extend({
|
|
94
|
+
search: z.string().optional(),
|
|
95
|
+
enabled: z.coerce.boolean().optional()
|
|
96
|
+
});
|
|
97
|
+
var ListUsersOutputSchema = paginatedSchema(UserSchema);
|
|
98
|
+
var AdminCreateUserInputSchema = z.object({
|
|
99
|
+
username: z.string().min(1),
|
|
100
|
+
email: z.string().email().optional(),
|
|
101
|
+
password: z.string().min(6),
|
|
102
|
+
displayName: z.string().optional(),
|
|
103
|
+
roles: z.array(z.string()).optional(),
|
|
104
|
+
enabled: z.boolean().optional()
|
|
105
|
+
});
|
|
106
|
+
var AdminUpdateUserInputSchema = z.object({
|
|
107
|
+
username: z.string().min(1).optional(),
|
|
108
|
+
email: z.string().email().optional(),
|
|
109
|
+
displayName: z.string().optional(),
|
|
110
|
+
enabled: z.boolean().optional(),
|
|
111
|
+
password: z.string().min(6).optional(),
|
|
112
|
+
roles: z.array(z.string()).optional()
|
|
113
|
+
});
|
|
114
|
+
var IdParamSchema = z.object({
|
|
115
|
+
id: z.string().min(1)
|
|
116
|
+
});
|
|
117
|
+
var AdminResetPasswordInputSchema = z.object({
|
|
118
|
+
newPassword: z.string().min(6)
|
|
119
|
+
});
|
|
120
|
+
var RoleSchema = z.object({
|
|
121
|
+
id: z.string(),
|
|
122
|
+
code: z.string(),
|
|
123
|
+
name: z.string(),
|
|
124
|
+
description: z.string().optional(),
|
|
125
|
+
isSystem: z.boolean().optional(),
|
|
126
|
+
createdAt: z.coerce.date(),
|
|
127
|
+
updatedAt: z.coerce.date()
|
|
128
|
+
});
|
|
129
|
+
var ListRolesOutputSchema = paginatedSchema(RoleSchema);
|
|
130
|
+
var CreateRoleInputSchema = z.object({
|
|
131
|
+
name: z.string().min(1),
|
|
132
|
+
description: z.string().optional(),
|
|
133
|
+
permissions: z.array(z.string()).optional()
|
|
134
|
+
});
|
|
135
|
+
var UpdateRoleInputSchema = z.object({
|
|
136
|
+
name: z.string().min(1).optional(),
|
|
137
|
+
description: z.string().optional(),
|
|
138
|
+
permissions: z.array(z.string()).optional()
|
|
139
|
+
});
|
|
140
|
+
var PermissionTypeSchema = z.enum(["menu", "api", "button"]);
|
|
141
|
+
var PermissionSchema = z.object({
|
|
142
|
+
id: z.string(),
|
|
143
|
+
code: z.string(),
|
|
144
|
+
name: z.string(),
|
|
145
|
+
description: z.string().optional(),
|
|
146
|
+
type: PermissionTypeSchema.optional(),
|
|
147
|
+
resource: z.string().optional(),
|
|
148
|
+
action: z.string().optional(),
|
|
149
|
+
createdAt: z.coerce.date(),
|
|
150
|
+
updatedAt: z.coerce.date()
|
|
151
|
+
});
|
|
152
|
+
var ListPermissionsInputSchema = PaginationQuerySchema.extend({
|
|
153
|
+
search: z.string().optional(),
|
|
154
|
+
type: PermissionTypeSchema.optional()
|
|
155
|
+
});
|
|
156
|
+
var ListPermissionsOutputSchema = paginatedSchema(PermissionSchema);
|
|
157
|
+
var CreatePermissionInputSchema = z.object({
|
|
158
|
+
name: z.string().min(1),
|
|
159
|
+
description: z.string().optional(),
|
|
160
|
+
resource: z.string().min(1),
|
|
161
|
+
action: z.string().min(1),
|
|
162
|
+
type: PermissionTypeSchema.optional()
|
|
163
|
+
});
|
|
164
|
+
|
|
165
|
+
// src/api/iam-api-contract.ts
|
|
166
|
+
function defineEndpoint(def) {
|
|
167
|
+
return def;
|
|
168
|
+
}
|
|
169
|
+
var iamEndpoints = {
|
|
170
|
+
/** 密码登录 */
|
|
171
|
+
login: defineEndpoint({
|
|
172
|
+
method: "POST",
|
|
173
|
+
path: "/auth/login",
|
|
174
|
+
input: LoginInputSchema,
|
|
175
|
+
output: LoginOutputSchema,
|
|
176
|
+
requireAuth: false,
|
|
177
|
+
meta: { summary: "Password login", tags: ["auth"] }
|
|
178
|
+
}),
|
|
179
|
+
/** OTP 验证码登录 */
|
|
180
|
+
loginWithOtp: defineEndpoint({
|
|
181
|
+
method: "POST",
|
|
182
|
+
path: "/auth/login/otp",
|
|
183
|
+
input: OtpLoginInputSchema,
|
|
184
|
+
output: LoginOutputSchema,
|
|
185
|
+
requireAuth: false,
|
|
186
|
+
meta: { summary: "OTP login", tags: ["auth"] }
|
|
187
|
+
}),
|
|
188
|
+
/** 登出 */
|
|
189
|
+
logout: defineEndpoint({
|
|
190
|
+
method: "POST",
|
|
191
|
+
path: "/auth/logout",
|
|
192
|
+
input: LogoutInputSchema,
|
|
193
|
+
output: z.void(),
|
|
194
|
+
meta: { summary: "Logout", tags: ["auth"] }
|
|
195
|
+
}),
|
|
196
|
+
/** 获取当前用户 */
|
|
197
|
+
currentUser: defineEndpoint({
|
|
198
|
+
method: "GET",
|
|
199
|
+
path: "/auth/me",
|
|
200
|
+
input: z.object({}),
|
|
201
|
+
output: CurrentUserOutputSchema,
|
|
202
|
+
meta: { summary: "Get current user info", tags: ["auth"] }
|
|
203
|
+
}),
|
|
204
|
+
/** 刷新 Token */
|
|
205
|
+
refreshToken: defineEndpoint({
|
|
206
|
+
method: "POST",
|
|
207
|
+
path: "/auth/refresh",
|
|
208
|
+
input: RefreshTokenInputSchema,
|
|
209
|
+
output: RefreshTokenOutputSchema,
|
|
210
|
+
requireAuth: false,
|
|
211
|
+
meta: { summary: "Refresh access token", tags: ["auth"] }
|
|
212
|
+
}),
|
|
213
|
+
/** 发送验证码 */
|
|
214
|
+
sendOtp: defineEndpoint({
|
|
215
|
+
method: "POST",
|
|
216
|
+
path: "/auth/otp/send",
|
|
217
|
+
input: SendOtpInputSchema,
|
|
218
|
+
output: SendOtpOutputSchema,
|
|
219
|
+
requireAuth: false,
|
|
220
|
+
meta: { summary: "Send OTP code", tags: ["auth"] }
|
|
221
|
+
}),
|
|
222
|
+
/** 用户注册 */
|
|
223
|
+
register: defineEndpoint({
|
|
224
|
+
method: "POST",
|
|
225
|
+
path: "/auth/register",
|
|
226
|
+
input: RegisterInputSchema,
|
|
227
|
+
output: RegisterOutputSchema,
|
|
228
|
+
requireAuth: false,
|
|
229
|
+
meta: { summary: "User registration", tags: ["auth"] }
|
|
230
|
+
}),
|
|
231
|
+
/** 修改密码 */
|
|
232
|
+
changePassword: defineEndpoint({
|
|
233
|
+
method: "POST",
|
|
234
|
+
path: "/auth/change-password",
|
|
235
|
+
input: ChangePasswordInputSchema,
|
|
236
|
+
output: z.void(),
|
|
237
|
+
meta: { summary: "Change password", tags: ["auth"] }
|
|
238
|
+
}),
|
|
239
|
+
/** 更新当前用户信息 */
|
|
240
|
+
updateCurrentUser: defineEndpoint({
|
|
241
|
+
method: "PUT",
|
|
242
|
+
path: "/auth/me",
|
|
243
|
+
input: UpdateCurrentUserInputSchema,
|
|
244
|
+
output: UserSchema,
|
|
245
|
+
meta: { summary: "Update current user profile", tags: ["auth"] }
|
|
246
|
+
}),
|
|
247
|
+
// ─── Admin — 用户管理 ───
|
|
248
|
+
/** 用户列表(分页 + 搜索 + 状态过滤) */
|
|
249
|
+
listUsers: defineEndpoint({
|
|
250
|
+
method: "GET",
|
|
251
|
+
path: "/iam/users",
|
|
252
|
+
input: ListUsersInputSchema,
|
|
253
|
+
output: ListUsersOutputSchema,
|
|
254
|
+
meta: { summary: "List users (admin)", tags: ["admin", "user"] }
|
|
255
|
+
}),
|
|
256
|
+
/** 获取单个用户 */
|
|
257
|
+
getUser: defineEndpoint({
|
|
258
|
+
method: "GET",
|
|
259
|
+
path: "/iam/users/:id",
|
|
260
|
+
input: IdParamSchema,
|
|
261
|
+
output: UserSchema,
|
|
262
|
+
meta: { summary: "Get user by ID (admin)", tags: ["admin", "user"] }
|
|
263
|
+
}),
|
|
264
|
+
/** 创建用户 */
|
|
265
|
+
createUser: defineEndpoint({
|
|
266
|
+
method: "POST",
|
|
267
|
+
path: "/iam/users",
|
|
268
|
+
input: AdminCreateUserInputSchema,
|
|
269
|
+
output: UserSchema,
|
|
270
|
+
meta: { summary: "Create user (admin)", tags: ["admin", "user"] }
|
|
271
|
+
}),
|
|
272
|
+
/** 更新用户 */
|
|
273
|
+
updateUser: defineEndpoint({
|
|
274
|
+
method: "PUT",
|
|
275
|
+
path: "/iam/users/:id",
|
|
276
|
+
input: AdminUpdateUserInputSchema,
|
|
277
|
+
output: UserSchema,
|
|
278
|
+
meta: { summary: "Update user (admin)", tags: ["admin", "user"] }
|
|
279
|
+
}),
|
|
280
|
+
/** 删除用户 */
|
|
281
|
+
deleteUser: defineEndpoint({
|
|
282
|
+
method: "DELETE",
|
|
283
|
+
path: "/iam/users/:id",
|
|
284
|
+
input: IdParamSchema,
|
|
285
|
+
output: z.void(),
|
|
286
|
+
meta: { summary: "Delete user (admin)", tags: ["admin", "user"] }
|
|
287
|
+
}),
|
|
288
|
+
/** Admin 重置用户密码 */
|
|
289
|
+
adminResetPassword: defineEndpoint({
|
|
290
|
+
method: "POST",
|
|
291
|
+
path: "/iam/users/:id/reset-password",
|
|
292
|
+
input: AdminResetPasswordInputSchema,
|
|
293
|
+
output: z.void(),
|
|
294
|
+
meta: { summary: "Reset user password (admin)", tags: ["admin", "user"] }
|
|
295
|
+
}),
|
|
296
|
+
// ─── Admin — 角色管理 ───
|
|
297
|
+
/** 角色列表 */
|
|
298
|
+
listRoles: defineEndpoint({
|
|
299
|
+
method: "GET",
|
|
300
|
+
path: "/iam/roles",
|
|
301
|
+
input: PaginationQuerySchema,
|
|
302
|
+
output: ListRolesOutputSchema,
|
|
303
|
+
meta: { summary: "List roles (admin)", tags: ["admin", "role"] }
|
|
304
|
+
}),
|
|
305
|
+
/** 获取单个角色 */
|
|
306
|
+
getRole: defineEndpoint({
|
|
307
|
+
method: "GET",
|
|
308
|
+
path: "/iam/roles/:id",
|
|
309
|
+
input: IdParamSchema,
|
|
310
|
+
output: RoleSchema,
|
|
311
|
+
meta: { summary: "Get role by ID (admin)", tags: ["admin", "role"] }
|
|
312
|
+
}),
|
|
313
|
+
/** 创建角色 */
|
|
314
|
+
createRole: defineEndpoint({
|
|
315
|
+
method: "POST",
|
|
316
|
+
path: "/iam/roles",
|
|
317
|
+
input: CreateRoleInputSchema,
|
|
318
|
+
output: RoleSchema,
|
|
319
|
+
meta: { summary: "Create role (admin)", tags: ["admin", "role"] }
|
|
320
|
+
}),
|
|
321
|
+
/** 更新角色 */
|
|
322
|
+
updateRole: defineEndpoint({
|
|
323
|
+
method: "PUT",
|
|
324
|
+
path: "/iam/roles/:id",
|
|
325
|
+
input: UpdateRoleInputSchema,
|
|
326
|
+
output: RoleSchema,
|
|
327
|
+
meta: { summary: "Update role (admin)", tags: ["admin", "role"] }
|
|
328
|
+
}),
|
|
329
|
+
/** 删除角色 */
|
|
330
|
+
deleteRole: defineEndpoint({
|
|
331
|
+
method: "DELETE",
|
|
332
|
+
path: "/iam/roles/:id",
|
|
333
|
+
input: IdParamSchema,
|
|
334
|
+
output: z.void(),
|
|
335
|
+
meta: { summary: "Delete role (admin)", tags: ["admin", "role"] }
|
|
336
|
+
}),
|
|
337
|
+
// ─── Admin — 权限管理 ───
|
|
338
|
+
/** 权限列表(分页 + 搜索 + 类型过滤) */
|
|
339
|
+
listPermissions: defineEndpoint({
|
|
340
|
+
method: "GET",
|
|
341
|
+
path: "/iam/permissions",
|
|
342
|
+
input: ListPermissionsInputSchema,
|
|
343
|
+
output: ListPermissionsOutputSchema,
|
|
344
|
+
meta: { summary: "List permissions (admin)", tags: ["admin", "permission"] }
|
|
345
|
+
}),
|
|
346
|
+
/** 获取单个权限 */
|
|
347
|
+
getPermission: defineEndpoint({
|
|
348
|
+
method: "GET",
|
|
349
|
+
path: "/iam/permissions/:id",
|
|
350
|
+
input: IdParamSchema,
|
|
351
|
+
output: PermissionSchema,
|
|
352
|
+
meta: { summary: "Get permission by ID (admin)", tags: ["admin", "permission"] }
|
|
353
|
+
}),
|
|
354
|
+
/** 创建权限 */
|
|
355
|
+
createPermission: defineEndpoint({
|
|
356
|
+
method: "POST",
|
|
357
|
+
path: "/iam/permissions",
|
|
358
|
+
input: CreatePermissionInputSchema,
|
|
359
|
+
output: PermissionSchema,
|
|
360
|
+
meta: { summary: "Create permission (admin)", tags: ["admin", "permission"] }
|
|
361
|
+
}),
|
|
362
|
+
/** 删除权限 */
|
|
363
|
+
deletePermission: defineEndpoint({
|
|
364
|
+
method: "DELETE",
|
|
365
|
+
path: "/iam/permissions/:id",
|
|
366
|
+
input: IdParamSchema,
|
|
367
|
+
output: z.void(),
|
|
368
|
+
meta: { summary: "Delete permission (admin)", tags: ["admin", "permission"] }
|
|
369
|
+
})
|
|
370
|
+
};
|
|
371
|
+
|
|
372
|
+
export { AdminCreateUserInputSchema, AdminResetPasswordInputSchema, AdminUpdateUserInputSchema, AgreementDisplaySchema, ChangePasswordInputSchema, CreatePermissionInputSchema, CreateRoleInputSchema, CurrentUserOutputSchema, IdParamSchema, ListPermissionsInputSchema, ListPermissionsOutputSchema, ListRolesOutputSchema, ListUsersInputSchema, ListUsersOutputSchema, LoginInputSchema, LoginOutputSchema, LogoutInputSchema, OtpLoginInputSchema, PaginationQuerySchema, PermissionSchema, PermissionTypeSchema, RefreshTokenInputSchema, RefreshTokenOutputSchema, RegisterInputSchema, RegisterOutputSchema, RoleSchema, SendOtpInputSchema, SendOtpOutputSchema, TokenPairSchema, UpdateCurrentUserInputSchema, UpdateRoleInputSchema, UserSchema, iamEndpoints };
|
|
373
|
+
//# sourceMappingURL=chunk-CBZ4LHKU.js.map
|
|
374
|
+
//# sourceMappingURL=chunk-CBZ4LHKU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/api/iam-api-schemas.ts","../src/api/iam-api-contract.ts"],"names":["z"],"mappings":"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","file":"chunk-CBZ4LHKU.js","sourcesContent":["/**\n * @h-ai/iam — API 契约 Zod Schema\n *\n * 入参/出参 Schema,作为服务端校验和客户端类型推导的唯一真相源。\n * @module iam-api-schemas\n */\n\nimport { z } from 'zod'\n\n// ─── 通用 Schema ───\n\n/** 用户基础信息 */\nexport const UserSchema = z.object({\n id: z.string(),\n username: z.string(),\n email: z.string().optional(),\n phone: z.string().optional(),\n displayName: z.string().optional(),\n avatarUrl: z.string().optional(),\n enabled: z.boolean(),\n emailVerified: z.boolean().optional(),\n phoneVerified: z.boolean().optional(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n})\n\n/** Token 对 */\nexport const TokenPairSchema = z.object({\n accessToken: z.string(),\n refreshToken: z.string(),\n expiresIn: z.number(),\n tokenType: z.literal('Bearer'),\n})\n\n/** 协议展示 */\nexport const AgreementDisplaySchema = z.object({\n userAgreementUrl: z.string().optional(),\n privacyPolicyUrl: z.string().optional(),\n showOnRegister: z.boolean(),\n showOnLogin: z.boolean(),\n})\n\n// ─── 认证 Schema ───\n\n/** 密码登录入参 */\nexport const LoginInputSchema = z.object({\n identifier: z.string().min(1),\n password: z.string().min(1),\n rememberMe: z.boolean().optional(),\n})\n\n/** 登录出参 */\nexport const LoginOutputSchema = z.object({\n user: UserSchema,\n tokens: TokenPairSchema,\n agreements: AgreementDisplaySchema.optional(),\n})\n\n/** OTP 登录入参 */\nexport const OtpLoginInputSchema = z.object({\n identifier: z.string().min(1),\n code: z.string().min(1),\n})\n\n/** 登出入参 */\nexport const LogoutInputSchema = z.object({\n accessToken: z.string().min(1),\n})\n\n/** 发送 OTP 入参 */\nexport const SendOtpInputSchema = z.object({\n identifier: z.string().min(1),\n})\n\n/** 发送 OTP 出参 */\nexport const SendOtpOutputSchema = z.object({\n expiresAt: z.coerce.date(),\n})\n\n/** Token 刷新入参 */\nexport const RefreshTokenInputSchema = z.object({\n refreshToken: z.string().min(1),\n})\n\n/** Token 刷新出参 */\nexport const RefreshTokenOutputSchema = z.object({\n tokens: TokenPairSchema,\n})\n\n// ─── 用户管理 Schema ───\n\n/** 注册入参 */\nexport const RegisterInputSchema = z.object({\n username: z.string().min(1),\n password: z.string().min(6),\n email: z.string().email().optional(),\n phone: z.string().optional(),\n displayName: z.string().optional(),\n})\n\n/** 注册出参 */\nexport const RegisterOutputSchema = z.object({\n user: UserSchema,\n tokens: TokenPairSchema,\n})\n\n/** 修改密码入参 */\nexport const ChangePasswordInputSchema = z.object({\n oldPassword: z.string().min(1),\n newPassword: z.string().min(6),\n})\n\n/** 当前用户信息出参 */\nexport const CurrentUserOutputSchema = UserSchema\n\n/** 更新当前用户入参 */\nexport const UpdateCurrentUserInputSchema = z.object({\n displayName: z.string().optional(),\n avatarUrl: z.string().optional(),\n email: z.string().email().optional(),\n phone: z.string().optional(),\n})\n\n// ─── Admin — 用户管理 Schema ───\n\n/** 通用分页参数 */\nexport const PaginationQuerySchema = z.object({\n page: z.coerce.number().int().min(1).optional(),\n pageSize: z.coerce.number().int().min(1).max(100).optional(),\n})\n\n/** 分页结果包装 */\nfunction paginatedSchema<T extends z.ZodTypeAny>(itemSchema: T) {\n return z.object({\n items: z.array(itemSchema),\n total: z.number(),\n page: z.number(),\n pageSize: z.number(),\n })\n}\n\n/** 用户列表查询入参 */\nexport const ListUsersInputSchema = PaginationQuerySchema.extend({\n search: z.string().optional(),\n enabled: z.coerce.boolean().optional(),\n})\n\n/** 用户列表出参 */\nexport const ListUsersOutputSchema = paginatedSchema(UserSchema)\n\n/** Admin 创建用户入参 */\nexport const AdminCreateUserInputSchema = z.object({\n username: z.string().min(1),\n email: z.string().email().optional(),\n password: z.string().min(6),\n displayName: z.string().optional(),\n roles: z.array(z.string()).optional(),\n enabled: z.boolean().optional(),\n})\n\n/** Admin 更新用户入参 */\nexport const AdminUpdateUserInputSchema = z.object({\n username: z.string().min(1).optional(),\n email: z.string().email().optional(),\n displayName: z.string().optional(),\n enabled: z.boolean().optional(),\n password: z.string().min(6).optional(),\n roles: z.array(z.string()).optional(),\n})\n\n/** ID 路径参数 */\nexport const IdParamSchema = z.object({\n id: z.string().min(1),\n})\n\n/** Admin 重置密码入参 */\nexport const AdminResetPasswordInputSchema = z.object({\n newPassword: z.string().min(6),\n})\n\n// ─── Admin — 角色管理 Schema ───\n\n/** 角色基础信息 */\nexport const RoleSchema = z.object({\n id: z.string(),\n code: z.string(),\n name: z.string(),\n description: z.string().optional(),\n isSystem: z.boolean().optional(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n})\n\n/** 角色列表出参 */\nexport const ListRolesOutputSchema = paginatedSchema(RoleSchema)\n\n/** 创建角色入参 */\nexport const CreateRoleInputSchema = z.object({\n name: z.string().min(1),\n description: z.string().optional(),\n permissions: z.array(z.string()).optional(),\n})\n\n/** 更新角色入参 */\nexport const UpdateRoleInputSchema = z.object({\n name: z.string().min(1).optional(),\n description: z.string().optional(),\n permissions: z.array(z.string()).optional(),\n})\n\n// ─── Admin — 权限管理 Schema ───\n\n/** 权限类型 */\nexport const PermissionTypeSchema = z.enum(['menu', 'api', 'button'])\n\n/** 权限基础信息 */\nexport const PermissionSchema = z.object({\n id: z.string(),\n code: z.string(),\n name: z.string(),\n description: z.string().optional(),\n type: PermissionTypeSchema.optional(),\n resource: z.string().optional(),\n action: z.string().optional(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n})\n\n/** 权限列表查询入参 */\nexport const ListPermissionsInputSchema = PaginationQuerySchema.extend({\n search: z.string().optional(),\n type: PermissionTypeSchema.optional(),\n})\n\n/** 权限列表出参 */\nexport const ListPermissionsOutputSchema = paginatedSchema(PermissionSchema)\n\n/** 创建权限入参 */\nexport const CreatePermissionInputSchema = z.object({\n name: z.string().min(1),\n description: z.string().optional(),\n resource: z.string().min(1),\n action: z.string().min(1),\n type: PermissionTypeSchema.optional(),\n})\n\n// ─── 推导类型 ───\n\nexport type LoginInput = z.infer<typeof LoginInputSchema>\nexport type LoginOutput = z.infer<typeof LoginOutputSchema>\nexport type OtpLoginInput = z.infer<typeof OtpLoginInputSchema>\nexport type RegisterInput = z.infer<typeof RegisterInputSchema>\nexport type RegisterOutput = z.infer<typeof RegisterOutputSchema>\nexport type ChangePasswordInput = z.infer<typeof ChangePasswordInputSchema>\nexport type RefreshTokenInput = z.infer<typeof RefreshTokenInputSchema>\nexport type RefreshTokenOutput = z.infer<typeof RefreshTokenOutputSchema>\nexport type UpdateCurrentUserInput = z.infer<typeof UpdateCurrentUserInputSchema>\nexport type SendOtpInput = z.infer<typeof SendOtpInputSchema>\nexport type SendOtpOutput = z.infer<typeof SendOtpOutputSchema>\nexport type ListUsersInput = z.infer<typeof ListUsersInputSchema>\nexport type AdminCreateUserInput = z.infer<typeof AdminCreateUserInputSchema>\nexport type AdminUpdateUserInput = z.infer<typeof AdminUpdateUserInputSchema>\nexport type CreateRoleInput = z.infer<typeof CreateRoleInputSchema>\nexport type UpdateRoleInput = z.infer<typeof UpdateRoleInputSchema>\nexport type ListPermissionsInput = z.infer<typeof ListPermissionsInputSchema>\nexport type CreatePermissionInput = z.infer<typeof CreatePermissionInputSchema>\n","/**\n * @h-ai/iam — API 端点契约定义\n *\n * 所有 iam 模块的 API 端点(path + method + schema),\n * 客户端和服务端都从此处引用,编译时保证一致性。\n * @module iam-api-contract\n */\n\nimport { z } from 'zod'\nimport {\n AdminCreateUserInputSchema,\n AdminResetPasswordInputSchema,\n AdminUpdateUserInputSchema,\n ChangePasswordInputSchema,\n CreatePermissionInputSchema,\n CreateRoleInputSchema,\n CurrentUserOutputSchema,\n IdParamSchema,\n ListPermissionsInputSchema,\n ListPermissionsOutputSchema,\n ListRolesOutputSchema,\n ListUsersInputSchema,\n ListUsersOutputSchema,\n LoginInputSchema,\n LoginOutputSchema,\n LogoutInputSchema,\n OtpLoginInputSchema,\n PaginationQuerySchema,\n PermissionSchema,\n RefreshTokenInputSchema,\n RefreshTokenOutputSchema,\n RegisterInputSchema,\n RegisterOutputSchema,\n RoleSchema,\n SendOtpInputSchema,\n SendOtpOutputSchema,\n UpdateCurrentUserInputSchema,\n UpdateRoleInputSchema,\n UserSchema,\n} from './iam-api-schemas.js'\n\n// ─── 端点定义辅助(内联,避免对 @h-ai/api-client 的循环依赖) ───\n\ninterface EndpointDef<TInput = unknown, TOutput = unknown> {\n method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'\n path: string\n input: z.ZodType<TInput>\n output: z.ZodType<TOutput>\n requireAuth?: boolean\n meta?: { summary?: string, tags?: string[] }\n}\n\nfunction defineEndpoint<TInput, TOutput>(def: EndpointDef<TInput, TOutput>): EndpointDef<TInput, TOutput> {\n return def\n}\n\n// ─── iam API 端点 ───\n\n/**\n * iam 所有 API 端点\n *\n * @example\n * ```ts\n * // 客户端\n * import { iamEndpoints } from '@h-ai/iam/api'\n * const result = await api.call(iamEndpoints.login, { identifier: 'alice', password: 'xxx' })\n *\n * // 服务端\n * export const POST = kit.fromContract(iamEndpoints.login, async (input, event) => { ... })\n * ```\n */\nexport const iamEndpoints = {\n /** 密码登录 */\n login: defineEndpoint({\n method: 'POST',\n path: '/auth/login',\n input: LoginInputSchema,\n output: LoginOutputSchema,\n requireAuth: false,\n meta: { summary: 'Password login', tags: ['auth'] },\n }),\n\n /** OTP 验证码登录 */\n loginWithOtp: defineEndpoint({\n method: 'POST',\n path: '/auth/login/otp',\n input: OtpLoginInputSchema,\n output: LoginOutputSchema,\n requireAuth: false,\n meta: { summary: 'OTP login', tags: ['auth'] },\n }),\n\n /** 登出 */\n logout: defineEndpoint({\n method: 'POST',\n path: '/auth/logout',\n input: LogoutInputSchema,\n output: z.void(),\n meta: { summary: 'Logout', tags: ['auth'] },\n }),\n\n /** 获取当前用户 */\n currentUser: defineEndpoint({\n method: 'GET',\n path: '/auth/me',\n input: z.object({}),\n output: CurrentUserOutputSchema,\n meta: { summary: 'Get current user info', tags: ['auth'] },\n }),\n\n /** 刷新 Token */\n refreshToken: defineEndpoint({\n method: 'POST',\n path: '/auth/refresh',\n input: RefreshTokenInputSchema,\n output: RefreshTokenOutputSchema,\n requireAuth: false,\n meta: { summary: 'Refresh access token', tags: ['auth'] },\n }),\n\n /** 发送验证码 */\n sendOtp: defineEndpoint({\n method: 'POST',\n path: '/auth/otp/send',\n input: SendOtpInputSchema,\n output: SendOtpOutputSchema,\n requireAuth: false,\n meta: { summary: 'Send OTP code', tags: ['auth'] },\n }),\n\n /** 用户注册 */\n register: defineEndpoint({\n method: 'POST',\n path: '/auth/register',\n input: RegisterInputSchema,\n output: RegisterOutputSchema,\n requireAuth: false,\n meta: { summary: 'User registration', tags: ['auth'] },\n }),\n\n /** 修改密码 */\n changePassword: defineEndpoint({\n method: 'POST',\n path: '/auth/change-password',\n input: ChangePasswordInputSchema,\n output: z.void(),\n meta: { summary: 'Change password', tags: ['auth'] },\n }),\n\n /** 更新当前用户信息 */\n updateCurrentUser: defineEndpoint({\n method: 'PUT',\n path: '/auth/me',\n input: UpdateCurrentUserInputSchema,\n output: UserSchema,\n meta: { summary: 'Update current user profile', tags: ['auth'] },\n }),\n\n // ─── Admin — 用户管理 ───\n\n /** 用户列表(分页 + 搜索 + 状态过滤) */\n listUsers: defineEndpoint({\n method: 'GET',\n path: '/iam/users',\n input: ListUsersInputSchema,\n output: ListUsersOutputSchema,\n meta: { summary: 'List users (admin)', tags: ['admin', 'user'] },\n }),\n\n /** 获取单个用户 */\n getUser: defineEndpoint({\n method: 'GET',\n path: '/iam/users/:id',\n input: IdParamSchema,\n output: UserSchema,\n meta: { summary: 'Get user by ID (admin)', tags: ['admin', 'user'] },\n }),\n\n /** 创建用户 */\n createUser: defineEndpoint({\n method: 'POST',\n path: '/iam/users',\n input: AdminCreateUserInputSchema,\n output: UserSchema,\n meta: { summary: 'Create user (admin)', tags: ['admin', 'user'] },\n }),\n\n /** 更新用户 */\n updateUser: defineEndpoint({\n method: 'PUT',\n path: '/iam/users/:id',\n input: AdminUpdateUserInputSchema,\n output: UserSchema,\n meta: { summary: 'Update user (admin)', tags: ['admin', 'user'] },\n }),\n\n /** 删除用户 */\n deleteUser: defineEndpoint({\n method: 'DELETE',\n path: '/iam/users/:id',\n input: IdParamSchema,\n output: z.void(),\n meta: { summary: 'Delete user (admin)', tags: ['admin', 'user'] },\n }),\n\n /** Admin 重置用户密码 */\n adminResetPassword: defineEndpoint({\n method: 'POST',\n path: '/iam/users/:id/reset-password',\n input: AdminResetPasswordInputSchema,\n output: z.void(),\n meta: { summary: 'Reset user password (admin)', tags: ['admin', 'user'] },\n }),\n\n // ─── Admin — 角色管理 ───\n\n /** 角色列表 */\n listRoles: defineEndpoint({\n method: 'GET',\n path: '/iam/roles',\n input: PaginationQuerySchema,\n output: ListRolesOutputSchema,\n meta: { summary: 'List roles (admin)', tags: ['admin', 'role'] },\n }),\n\n /** 获取单个角色 */\n getRole: defineEndpoint({\n method: 'GET',\n path: '/iam/roles/:id',\n input: IdParamSchema,\n output: RoleSchema,\n meta: { summary: 'Get role by ID (admin)', tags: ['admin', 'role'] },\n }),\n\n /** 创建角色 */\n createRole: defineEndpoint({\n method: 'POST',\n path: '/iam/roles',\n input: CreateRoleInputSchema,\n output: RoleSchema,\n meta: { summary: 'Create role (admin)', tags: ['admin', 'role'] },\n }),\n\n /** 更新角色 */\n updateRole: defineEndpoint({\n method: 'PUT',\n path: '/iam/roles/:id',\n input: UpdateRoleInputSchema,\n output: RoleSchema,\n meta: { summary: 'Update role (admin)', tags: ['admin', 'role'] },\n }),\n\n /** 删除角色 */\n deleteRole: defineEndpoint({\n method: 'DELETE',\n path: '/iam/roles/:id',\n input: IdParamSchema,\n output: z.void(),\n meta: { summary: 'Delete role (admin)', tags: ['admin', 'role'] },\n }),\n\n // ─── Admin — 权限管理 ───\n\n /** 权限列表(分页 + 搜索 + 类型过滤) */\n listPermissions: defineEndpoint({\n method: 'GET',\n path: '/iam/permissions',\n input: ListPermissionsInputSchema,\n output: ListPermissionsOutputSchema,\n meta: { summary: 'List permissions (admin)', tags: ['admin', 'permission'] },\n }),\n\n /** 获取单个权限 */\n getPermission: defineEndpoint({\n method: 'GET',\n path: '/iam/permissions/:id',\n input: IdParamSchema,\n output: PermissionSchema,\n meta: { summary: 'Get permission by ID (admin)', tags: ['admin', 'permission'] },\n }),\n\n /** 创建权限 */\n createPermission: defineEndpoint({\n method: 'POST',\n path: '/iam/permissions',\n input: CreatePermissionInputSchema,\n output: PermissionSchema,\n meta: { summary: 'Create permission (admin)', tags: ['admin', 'permission'] },\n }),\n\n /** 删除权限 */\n deletePermission: defineEndpoint({\n method: 'DELETE',\n path: '/iam/permissions/:id',\n input: IdParamSchema,\n output: z.void(),\n meta: { summary: 'Delete permission (admin)', tags: ['admin', 'permission'] },\n }),\n} as const\n"]}
|