@crowi/api-contract 2.0.0-alpha.11 → 2.0.0-alpha.12
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/dist/generated/openapi.d.mts +290 -0
- package/dist/generated/openapi.d.ts +290 -0
- package/dist/generated/openapi.js.map +1 -1
- package/dist/index.d.mts +306 -6
- package/dist/index.d.ts +306 -6
- package/dist/index.js +595 -532
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +504 -446
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -235,6 +235,9 @@ __export(index_exports, {
|
|
|
235
235
|
PluginFieldSchema: () => PluginFieldSchema,
|
|
236
236
|
PluginInfoSchema: () => PluginInfoSchema,
|
|
237
237
|
PluginNotFoundErrorSchema: () => PluginNotFoundErrorSchema,
|
|
238
|
+
PluginReadinessFieldSchema: () => PluginReadinessFieldSchema,
|
|
239
|
+
PluginReadinessIssueSchema: () => PluginReadinessIssueSchema,
|
|
240
|
+
PluginReadinessResponseSchema: () => PluginReadinessResponseSchema,
|
|
238
241
|
PresenceClientMessageSchema: () => PresenceClientMessageSchema,
|
|
239
242
|
PresenceCommentChangedMessageSchema: () => PresenceCommentChangedMessageSchema,
|
|
240
243
|
PresenceHeartbeatMessageSchema: () => PresenceHeartbeatMessageSchema,
|
|
@@ -346,6 +349,7 @@ __export(index_exports, {
|
|
|
346
349
|
UserStatusErrorSchema: () => UserStatusErrorSchema,
|
|
347
350
|
UserStatusSchema: () => UserStatusSchema,
|
|
348
351
|
UserSubpagesRequestSchema: () => UserSubpagesRequestSchema,
|
|
352
|
+
UsernameSchema: () => UsernameSchema,
|
|
349
353
|
ValidationErrorSchema: () => ValidationErrorSchema,
|
|
350
354
|
WS_CLOSE_CODES: () => WS_CLOSE_CODES,
|
|
351
355
|
WatchStatusResponseSchema: () => WatchStatusResponseSchema,
|
|
@@ -416,6 +420,7 @@ __export(index_exports, {
|
|
|
416
420
|
getNotificationsTokenRoute: () => getNotificationsTokenRoute,
|
|
417
421
|
getPageRoute: () => getPageRoute,
|
|
418
422
|
getPluginConfigRoute: () => getPluginConfigRoute,
|
|
423
|
+
getPluginReadinessRoute: () => getPluginReadinessRoute,
|
|
419
424
|
getPresenceTokenRoute: () => getPresenceTokenRoute,
|
|
420
425
|
getProfileRoute: () => getProfileRoute,
|
|
421
426
|
getRevisionRoute: () => getRevisionRoute,
|
|
@@ -517,7 +522,7 @@ __export(index_exports, {
|
|
|
517
522
|
module.exports = __toCommonJS(index_exports);
|
|
518
523
|
|
|
519
524
|
// src/client.ts
|
|
520
|
-
var
|
|
525
|
+
var import_zod_openapi75 = require("@hono/zod-openapi");
|
|
521
526
|
var import_client = require("hono/client");
|
|
522
527
|
|
|
523
528
|
// src/contracts/admin/app.ts
|
|
@@ -1167,6 +1172,18 @@ var ClearRenderCacheResponseSchema = import_zod_openapi9.z.object({
|
|
|
1167
1172
|
/** Number of cache rows removed. */
|
|
1168
1173
|
removedCount: import_zod_openapi9.z.number().int().min(0)
|
|
1169
1174
|
});
|
|
1175
|
+
var PluginReadinessFieldSchema = import_zod_openapi9.z.object({
|
|
1176
|
+
name: import_zod_openapi9.z.string(),
|
|
1177
|
+
configured: import_zod_openapi9.z.literal(false)
|
|
1178
|
+
});
|
|
1179
|
+
var PluginReadinessIssueSchema = import_zod_openapi9.z.object({
|
|
1180
|
+
name: import_zod_openapi9.z.string(),
|
|
1181
|
+
adminPlacement: PluginAdminPlacementSchema,
|
|
1182
|
+
fields: import_zod_openapi9.z.array(PluginReadinessFieldSchema)
|
|
1183
|
+
});
|
|
1184
|
+
var PluginReadinessResponseSchema = import_zod_openapi9.z.object({
|
|
1185
|
+
issues: import_zod_openapi9.z.array(PluginReadinessIssueSchema)
|
|
1186
|
+
});
|
|
1170
1187
|
|
|
1171
1188
|
// src/contracts/admin/plugins.ts
|
|
1172
1189
|
var PluginNameQuerySchema = import_zod_openapi10.z.object({ name: import_zod_openapi10.z.string() });
|
|
@@ -1298,6 +1315,27 @@ var clearRenderCacheAllRoute = (0, import_zod_openapi10.createRoute)({
|
|
|
1298
1315
|
}
|
|
1299
1316
|
}
|
|
1300
1317
|
});
|
|
1318
|
+
var getPluginReadinessRoute = (0, import_zod_openapi10.createRoute)({
|
|
1319
|
+
method: "get",
|
|
1320
|
+
path: "/admin/plugins/readiness",
|
|
1321
|
+
tags: ["admin.plugins"],
|
|
1322
|
+
security: [{ bearerAuth: [] }],
|
|
1323
|
+
summary: "List active plugins missing required readiness config fields",
|
|
1324
|
+
responses: {
|
|
1325
|
+
200: {
|
|
1326
|
+
description: "Readiness issues for active plugins (empty when everything is configured)",
|
|
1327
|
+
content: { "application/json": { schema: PluginReadinessResponseSchema } }
|
|
1328
|
+
},
|
|
1329
|
+
401: {
|
|
1330
|
+
description: "Authentication required",
|
|
1331
|
+
content: { "application/json": { schema: AuthenticationRequiredErrorSchema } }
|
|
1332
|
+
},
|
|
1333
|
+
403: {
|
|
1334
|
+
description: "Admin permission required",
|
|
1335
|
+
content: { "application/json": { schema: AdminRequiredErrorSchema } }
|
|
1336
|
+
}
|
|
1337
|
+
}
|
|
1338
|
+
});
|
|
1301
1339
|
var clearRenderCachePluginRoute = (0, import_zod_openapi10.createRoute)({
|
|
1302
1340
|
method: "post",
|
|
1303
1341
|
path: "/admin/plugins/render-cache/clear-plugin",
|
|
@@ -1337,6 +1375,7 @@ var adminPluginsRoutes = {
|
|
|
1337
1375
|
listPluginsRoute,
|
|
1338
1376
|
getPluginConfigRoute,
|
|
1339
1377
|
updatePluginConfigRoute,
|
|
1378
|
+
getPluginReadinessRoute,
|
|
1340
1379
|
clearRenderCacheAllRoute,
|
|
1341
1380
|
clearRenderCachePluginRoute
|
|
1342
1381
|
};
|
|
@@ -3889,29 +3928,35 @@ var draftRoutes = {
|
|
|
3889
3928
|
};
|
|
3890
3929
|
|
|
3891
3930
|
// src/contracts/installer.ts
|
|
3892
|
-
var
|
|
3931
|
+
var import_zod_openapi42 = require("@hono/zod-openapi");
|
|
3893
3932
|
|
|
3894
3933
|
// src/schemas/installer.ts
|
|
3934
|
+
var import_zod_openapi41 = require("@hono/zod-openapi");
|
|
3935
|
+
|
|
3936
|
+
// src/schemas/username.ts
|
|
3895
3937
|
var import_zod_openapi40 = require("@hono/zod-openapi");
|
|
3896
|
-
var
|
|
3897
|
-
|
|
3898
|
-
|
|
3899
|
-
var
|
|
3900
|
-
|
|
3901
|
-
|
|
3902
|
-
|
|
3903
|
-
|
|
3904
|
-
|
|
3938
|
+
var UsernameSchema = import_zod_openapi40.z.string().min(1).max(64).regex(/^[A-Za-z0-9_-]+$/, "username may only contain letters, digits, hyphens, and underscores");
|
|
3939
|
+
|
|
3940
|
+
// src/schemas/installer.ts
|
|
3941
|
+
var InstallerStatusResponseSchema = import_zod_openapi41.z.object({
|
|
3942
|
+
status: import_zod_openapi41.z.enum(["installer_required", "already_installed"])
|
|
3943
|
+
});
|
|
3944
|
+
var CreateAdminRequestSchema = import_zod_openapi41.z.object({
|
|
3945
|
+
registerForm: import_zod_openapi41.z.object({
|
|
3946
|
+
username: UsernameSchema,
|
|
3947
|
+
name: import_zod_openapi41.z.string().min(1),
|
|
3948
|
+
email: import_zod_openapi41.z.string().email(),
|
|
3949
|
+
password: import_zod_openapi41.z.string().min(6).regex(/^[\x20-\x7F]{6,}$/, "password must be 6+ printable ASCII characters")
|
|
3905
3950
|
})
|
|
3906
3951
|
});
|
|
3907
|
-
var CreateAdminResponseSchema =
|
|
3908
|
-
status:
|
|
3909
|
-
message:
|
|
3910
|
-
errors:
|
|
3952
|
+
var CreateAdminResponseSchema = import_zod_openapi41.z.object({
|
|
3953
|
+
status: import_zod_openapi41.z.enum(["ok", "error"]),
|
|
3954
|
+
message: import_zod_openapi41.z.string().optional(),
|
|
3955
|
+
errors: import_zod_openapi41.z.array(import_zod_openapi41.z.string()).optional()
|
|
3911
3956
|
});
|
|
3912
3957
|
|
|
3913
3958
|
// src/contracts/installer.ts
|
|
3914
|
-
var getInstallerStatusRoute = (0,
|
|
3959
|
+
var getInstallerStatusRoute = (0, import_zod_openapi42.createRoute)({
|
|
3915
3960
|
method: "get",
|
|
3916
3961
|
path: "/installer",
|
|
3917
3962
|
tags: ["installer"],
|
|
@@ -3935,7 +3980,7 @@ var getInstallerStatusRoute = (0, import_zod_openapi41.createRoute)({
|
|
|
3935
3980
|
}
|
|
3936
3981
|
}
|
|
3937
3982
|
});
|
|
3938
|
-
var createAdminRoute = (0,
|
|
3983
|
+
var createAdminRoute = (0, import_zod_openapi42.createRoute)({
|
|
3939
3984
|
method: "post",
|
|
3940
3985
|
path: "/installer/createAdmin",
|
|
3941
3986
|
tags: ["installer"],
|
|
@@ -3979,88 +4024,88 @@ var createAdminRoute = (0, import_zod_openapi41.createRoute)({
|
|
|
3979
4024
|
var installerRoutes = { getInstallerStatusRoute, createAdminRoute };
|
|
3980
4025
|
|
|
3981
4026
|
// src/contracts/me.ts
|
|
3982
|
-
var
|
|
4027
|
+
var import_zod_openapi44 = require("@hono/zod-openapi");
|
|
3983
4028
|
|
|
3984
4029
|
// src/schemas/me.ts
|
|
3985
|
-
var
|
|
3986
|
-
var LanguageSchema =
|
|
3987
|
-
var ThemeSchema =
|
|
3988
|
-
var UserProfileResponseSchema =
|
|
3989
|
-
id:
|
|
3990
|
-
username:
|
|
3991
|
-
name:
|
|
3992
|
-
email:
|
|
4030
|
+
var import_zod_openapi43 = require("@hono/zod-openapi");
|
|
4031
|
+
var LanguageSchema = import_zod_openapi43.z.enum(["en", "ja"]);
|
|
4032
|
+
var ThemeSchema = import_zod_openapi43.z.enum(["system", "light", "dark"]);
|
|
4033
|
+
var UserProfileResponseSchema = import_zod_openapi43.z.object({
|
|
4034
|
+
id: import_zod_openapi43.z.string(),
|
|
4035
|
+
username: import_zod_openapi43.z.string(),
|
|
4036
|
+
name: import_zod_openapi43.z.string(),
|
|
4037
|
+
email: import_zod_openapi43.z.string().email(),
|
|
3993
4038
|
lang: LanguageSchema,
|
|
3994
4039
|
theme: ThemeSchema,
|
|
3995
|
-
image:
|
|
3996
|
-
introduction:
|
|
3997
|
-
hasPassword:
|
|
3998
|
-
createdAt:
|
|
4040
|
+
image: import_zod_openapi43.z.string().nullable(),
|
|
4041
|
+
introduction: import_zod_openapi43.z.string().optional(),
|
|
4042
|
+
hasPassword: import_zod_openapi43.z.boolean(),
|
|
4043
|
+
createdAt: import_zod_openapi43.z.string(),
|
|
3999
4044
|
/**
|
|
4000
4045
|
* True when the profile update requested a new email that is awaiting
|
|
4001
4046
|
* confirmation: the stored `email` is unchanged and a confirmation
|
|
4002
4047
|
* link was sent to the new address.
|
|
4003
4048
|
*/
|
|
4004
|
-
emailChangePending:
|
|
4049
|
+
emailChangePending: import_zod_openapi43.z.boolean().optional()
|
|
4005
4050
|
});
|
|
4006
|
-
var UpdateProfileRequestSchema =
|
|
4007
|
-
userForm:
|
|
4008
|
-
name:
|
|
4009
|
-
email:
|
|
4051
|
+
var UpdateProfileRequestSchema = import_zod_openapi43.z.object({
|
|
4052
|
+
userForm: import_zod_openapi43.z.object({
|
|
4053
|
+
name: import_zod_openapi43.z.string().min(1, "Name is required"),
|
|
4054
|
+
email: import_zod_openapi43.z.string().email("Invalid email format"),
|
|
4010
4055
|
lang: LanguageSchema
|
|
4011
4056
|
})
|
|
4012
4057
|
});
|
|
4013
|
-
var UpdateThemeRequestSchema =
|
|
4058
|
+
var UpdateThemeRequestSchema = import_zod_openapi43.z.object({
|
|
4014
4059
|
theme: ThemeSchema
|
|
4015
4060
|
});
|
|
4016
|
-
var ThemeUpdateResponseSchema =
|
|
4017
|
-
status:
|
|
4061
|
+
var ThemeUpdateResponseSchema = import_zod_openapi43.z.object({
|
|
4062
|
+
status: import_zod_openapi43.z.literal("ok"),
|
|
4018
4063
|
theme: ThemeSchema
|
|
4019
4064
|
});
|
|
4020
|
-
var PictureUploadResponseSchema =
|
|
4021
|
-
status:
|
|
4022
|
-
url:
|
|
4023
|
-
message:
|
|
4065
|
+
var PictureUploadResponseSchema = import_zod_openapi43.z.object({
|
|
4066
|
+
status: import_zod_openapi43.z.boolean(),
|
|
4067
|
+
url: import_zod_openapi43.z.string().optional(),
|
|
4068
|
+
message: import_zod_openapi43.z.string().optional()
|
|
4024
4069
|
});
|
|
4025
|
-
var SuccessResponseSchema =
|
|
4026
|
-
status:
|
|
4027
|
-
message:
|
|
4070
|
+
var SuccessResponseSchema = import_zod_openapi43.z.object({
|
|
4071
|
+
status: import_zod_openapi43.z.literal("ok"),
|
|
4072
|
+
message: import_zod_openapi43.z.string().optional()
|
|
4028
4073
|
});
|
|
4029
|
-
var ProfileErrorResponseSchema =
|
|
4030
|
-
status:
|
|
4074
|
+
var ProfileErrorResponseSchema = import_zod_openapi43.z.object({
|
|
4075
|
+
status: import_zod_openapi43.z.literal("error"),
|
|
4031
4076
|
/** Stable code so the web can localize the message (e.g. EMAIL_TAKEN). */
|
|
4032
|
-
code:
|
|
4033
|
-
message:
|
|
4034
|
-
errors:
|
|
4077
|
+
code: import_zod_openapi43.z.string().optional(),
|
|
4078
|
+
message: import_zod_openapi43.z.string().optional(),
|
|
4079
|
+
errors: import_zod_openapi43.z.array(import_zod_openapi43.z.string()).optional()
|
|
4035
4080
|
});
|
|
4036
4081
|
var PASSWORD_REGEX = /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?`~])[a-zA-Z\d!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?`~]+$/;
|
|
4037
|
-
var UpdatePasswordRequestSchema =
|
|
4038
|
-
oldPassword:
|
|
4039
|
-
newPassword:
|
|
4040
|
-
newPasswordConfirm:
|
|
4082
|
+
var UpdatePasswordRequestSchema = import_zod_openapi43.z.object({
|
|
4083
|
+
oldPassword: import_zod_openapi43.z.string().optional(),
|
|
4084
|
+
newPassword: import_zod_openapi43.z.string().min(8, "Password must be at least 8 characters").max(100, "Password must be at most 100 characters").regex(PASSWORD_REGEX, "Password must contain at least one letter, one digit, and one special character"),
|
|
4085
|
+
newPasswordConfirm: import_zod_openapi43.z.string()
|
|
4041
4086
|
}).refine((data) => data.newPassword === data.newPasswordConfirm, {
|
|
4042
4087
|
message: "Passwords do not match",
|
|
4043
4088
|
path: ["newPasswordConfirm"]
|
|
4044
4089
|
});
|
|
4045
|
-
var PasswordUpdateSuccessSchema =
|
|
4046
|
-
status:
|
|
4047
|
-
message:
|
|
4048
|
-
accessToken:
|
|
4049
|
-
refreshToken:
|
|
4090
|
+
var PasswordUpdateSuccessSchema = import_zod_openapi43.z.object({
|
|
4091
|
+
status: import_zod_openapi43.z.literal("ok"),
|
|
4092
|
+
message: import_zod_openapi43.z.string(),
|
|
4093
|
+
accessToken: import_zod_openapi43.z.string(),
|
|
4094
|
+
refreshToken: import_zod_openapi43.z.string(),
|
|
4050
4095
|
/** Access-token lifetime in seconds. */
|
|
4051
|
-
expiresIn:
|
|
4096
|
+
expiresIn: import_zod_openapi43.z.number()
|
|
4052
4097
|
});
|
|
4053
|
-
var PasswordErrorResponseSchema =
|
|
4054
|
-
status:
|
|
4055
|
-
message:
|
|
4056
|
-
errors:
|
|
4098
|
+
var PasswordErrorResponseSchema = import_zod_openapi43.z.object({
|
|
4099
|
+
status: import_zod_openapi43.z.literal("error"),
|
|
4100
|
+
message: import_zod_openapi43.z.string(),
|
|
4101
|
+
errors: import_zod_openapi43.z.array(import_zod_openapi43.z.string()).optional()
|
|
4057
4102
|
});
|
|
4058
|
-
var RecentlyViewedPagesResponseSchema =
|
|
4059
|
-
pages:
|
|
4103
|
+
var RecentlyViewedPagesResponseSchema = import_zod_openapi43.z.object({
|
|
4104
|
+
pages: import_zod_openapi43.z.array(PageSchema)
|
|
4060
4105
|
});
|
|
4061
4106
|
|
|
4062
4107
|
// src/contracts/me.ts
|
|
4063
|
-
var getProfileRoute = (0,
|
|
4108
|
+
var getProfileRoute = (0, import_zod_openapi44.createRoute)({
|
|
4064
4109
|
method: "get",
|
|
4065
4110
|
path: "/me",
|
|
4066
4111
|
tags: ["me"],
|
|
@@ -4077,7 +4122,7 @@ var getProfileRoute = (0, import_zod_openapi43.createRoute)({
|
|
|
4077
4122
|
}
|
|
4078
4123
|
}
|
|
4079
4124
|
});
|
|
4080
|
-
var updateProfileRoute = (0,
|
|
4125
|
+
var updateProfileRoute = (0, import_zod_openapi44.createRoute)({
|
|
4081
4126
|
method: "put",
|
|
4082
4127
|
path: "/me",
|
|
4083
4128
|
tags: ["me"],
|
|
@@ -4103,7 +4148,7 @@ var updateProfileRoute = (0, import_zod_openapi43.createRoute)({
|
|
|
4103
4148
|
}
|
|
4104
4149
|
}
|
|
4105
4150
|
});
|
|
4106
|
-
var updateThemeRoute = (0,
|
|
4151
|
+
var updateThemeRoute = (0, import_zod_openapi44.createRoute)({
|
|
4107
4152
|
method: "patch",
|
|
4108
4153
|
path: "/me/theme",
|
|
4109
4154
|
tags: ["me"],
|
|
@@ -4129,7 +4174,7 @@ var updateThemeRoute = (0, import_zod_openapi43.createRoute)({
|
|
|
4129
4174
|
}
|
|
4130
4175
|
}
|
|
4131
4176
|
});
|
|
4132
|
-
var uploadPictureRoute = (0,
|
|
4177
|
+
var uploadPictureRoute = (0, import_zod_openapi44.createRoute)({
|
|
4133
4178
|
method: "post",
|
|
4134
4179
|
path: "/me/picture",
|
|
4135
4180
|
tags: ["me"],
|
|
@@ -4139,8 +4184,8 @@ var uploadPictureRoute = (0, import_zod_openapi43.createRoute)({
|
|
|
4139
4184
|
body: {
|
|
4140
4185
|
content: {
|
|
4141
4186
|
"multipart/form-data": {
|
|
4142
|
-
schema:
|
|
4143
|
-
file:
|
|
4187
|
+
schema: import_zod_openapi44.z.object({
|
|
4188
|
+
file: import_zod_openapi44.z.any().optional().describe("Profile picture file")
|
|
4144
4189
|
})
|
|
4145
4190
|
}
|
|
4146
4191
|
}
|
|
@@ -4161,7 +4206,7 @@ var uploadPictureRoute = (0, import_zod_openapi43.createRoute)({
|
|
|
4161
4206
|
}
|
|
4162
4207
|
}
|
|
4163
4208
|
});
|
|
4164
|
-
var deletePictureRoute = (0,
|
|
4209
|
+
var deletePictureRoute = (0, import_zod_openapi44.createRoute)({
|
|
4165
4210
|
method: "delete",
|
|
4166
4211
|
path: "/me/picture",
|
|
4167
4212
|
tags: ["me"],
|
|
@@ -4182,7 +4227,7 @@ var deletePictureRoute = (0, import_zod_openapi43.createRoute)({
|
|
|
4182
4227
|
}
|
|
4183
4228
|
}
|
|
4184
4229
|
});
|
|
4185
|
-
var updatePasswordRoute = (0,
|
|
4230
|
+
var updatePasswordRoute = (0, import_zod_openapi44.createRoute)({
|
|
4186
4231
|
method: "put",
|
|
4187
4232
|
path: "/me/password",
|
|
4188
4233
|
tags: ["me"],
|
|
@@ -4208,7 +4253,7 @@ var updatePasswordRoute = (0, import_zod_openapi43.createRoute)({
|
|
|
4208
4253
|
}
|
|
4209
4254
|
}
|
|
4210
4255
|
});
|
|
4211
|
-
var recentlyViewedPagesRoute = (0,
|
|
4256
|
+
var recentlyViewedPagesRoute = (0, import_zod_openapi44.createRoute)({
|
|
4212
4257
|
method: "get",
|
|
4213
4258
|
path: "/me/recently-viewed-pages",
|
|
4214
4259
|
tags: ["me"],
|
|
@@ -4240,43 +4285,43 @@ var meRoutes = {
|
|
|
4240
4285
|
};
|
|
4241
4286
|
|
|
4242
4287
|
// src/contracts/access-token.ts
|
|
4243
|
-
var
|
|
4288
|
+
var import_zod_openapi46 = require("@hono/zod-openapi");
|
|
4244
4289
|
|
|
4245
4290
|
// src/schemas/access-token.ts
|
|
4246
|
-
var
|
|
4247
|
-
var AccessTokenSchema =
|
|
4248
|
-
id:
|
|
4249
|
-
name:
|
|
4250
|
-
scopes:
|
|
4291
|
+
var import_zod_openapi45 = require("@hono/zod-openapi");
|
|
4292
|
+
var AccessTokenSchema = import_zod_openapi45.z.object({
|
|
4293
|
+
id: import_zod_openapi45.z.string(),
|
|
4294
|
+
name: import_zod_openapi45.z.string(),
|
|
4295
|
+
scopes: import_zod_openapi45.z.array(import_zod_openapi45.z.string()),
|
|
4251
4296
|
/** ISO-8601 expiry, or `null` for a non-expiring token. */
|
|
4252
|
-
expiresAt:
|
|
4297
|
+
expiresAt: import_zod_openapi45.z.string().nullable(),
|
|
4253
4298
|
/** ISO-8601 of last successful use, or `null` if never used. */
|
|
4254
|
-
lastUsedAt:
|
|
4255
|
-
createdAt:
|
|
4299
|
+
lastUsedAt: import_zod_openapi45.z.string().nullable(),
|
|
4300
|
+
createdAt: import_zod_openapi45.z.string()
|
|
4256
4301
|
});
|
|
4257
|
-
var ListAccessTokensResponseSchema =
|
|
4258
|
-
accessTokens:
|
|
4302
|
+
var ListAccessTokensResponseSchema = import_zod_openapi45.z.object({
|
|
4303
|
+
accessTokens: import_zod_openapi45.z.array(AccessTokenSchema)
|
|
4259
4304
|
});
|
|
4260
|
-
var CreateAccessTokenRequestSchema =
|
|
4261
|
-
name:
|
|
4262
|
-
scopes:
|
|
4263
|
-
expiresAt:
|
|
4305
|
+
var CreateAccessTokenRequestSchema = import_zod_openapi45.z.object({
|
|
4306
|
+
name: import_zod_openapi45.z.string().min(1, "Name is required").max(200),
|
|
4307
|
+
scopes: import_zod_openapi45.z.array(import_zod_openapi45.z.string()).min(1, "At least one scope is required"),
|
|
4308
|
+
expiresAt: import_zod_openapi45.z.string().datetime().nullable().optional()
|
|
4264
4309
|
});
|
|
4265
4310
|
var CreateAccessTokenResponseSchema = AccessTokenSchema.extend({
|
|
4266
|
-
token:
|
|
4267
|
-
});
|
|
4268
|
-
var InvalidScopeErrorSchema =
|
|
4269
|
-
error:
|
|
4270
|
-
code:
|
|
4271
|
-
message:
|
|
4272
|
-
details:
|
|
4273
|
-
invalidScopes:
|
|
4311
|
+
token: import_zod_openapi45.z.string()
|
|
4312
|
+
});
|
|
4313
|
+
var InvalidScopeErrorSchema = import_zod_openapi45.z.object({
|
|
4314
|
+
error: import_zod_openapi45.z.object({
|
|
4315
|
+
code: import_zod_openapi45.z.literal("INVALID_SCOPE"),
|
|
4316
|
+
message: import_zod_openapi45.z.string(),
|
|
4317
|
+
details: import_zod_openapi45.z.object({
|
|
4318
|
+
invalidScopes: import_zod_openapi45.z.array(import_zod_openapi45.z.string())
|
|
4274
4319
|
}).optional()
|
|
4275
4320
|
})
|
|
4276
4321
|
});
|
|
4277
4322
|
|
|
4278
4323
|
// src/contracts/access-token.ts
|
|
4279
|
-
var listAccessTokensRoute = (0,
|
|
4324
|
+
var listAccessTokensRoute = (0, import_zod_openapi46.createRoute)({
|
|
4280
4325
|
method: "get",
|
|
4281
4326
|
path: "/me/access-tokens",
|
|
4282
4327
|
tags: ["me"],
|
|
@@ -4301,7 +4346,7 @@ var listAccessTokensRoute = (0, import_zod_openapi45.createRoute)({
|
|
|
4301
4346
|
}
|
|
4302
4347
|
}
|
|
4303
4348
|
});
|
|
4304
|
-
var createAccessTokenRoute = (0,
|
|
4349
|
+
var createAccessTokenRoute = (0, import_zod_openapi46.createRoute)({
|
|
4305
4350
|
method: "post",
|
|
4306
4351
|
path: "/me/access-tokens",
|
|
4307
4352
|
tags: ["me"],
|
|
@@ -4335,14 +4380,14 @@ var createAccessTokenRoute = (0, import_zod_openapi45.createRoute)({
|
|
|
4335
4380
|
}
|
|
4336
4381
|
}
|
|
4337
4382
|
});
|
|
4338
|
-
var deleteAccessTokenRoute = (0,
|
|
4383
|
+
var deleteAccessTokenRoute = (0, import_zod_openapi46.createRoute)({
|
|
4339
4384
|
method: "delete",
|
|
4340
4385
|
path: "/me/access-tokens/{id}",
|
|
4341
4386
|
tags: ["me"],
|
|
4342
4387
|
security: [{ bearerAuth: [] }],
|
|
4343
4388
|
summary: "Revoke a personal access token",
|
|
4344
4389
|
request: {
|
|
4345
|
-
params:
|
|
4390
|
+
params: import_zod_openapi46.z.object({ id: import_zod_openapi46.z.string() })
|
|
4346
4391
|
},
|
|
4347
4392
|
responses: {
|
|
4348
4393
|
200: {
|
|
@@ -4374,13 +4419,13 @@ var accessTokenRoutes = {
|
|
|
4374
4419
|
};
|
|
4375
4420
|
|
|
4376
4421
|
// src/contracts/oauth.ts
|
|
4377
|
-
var
|
|
4422
|
+
var import_zod_openapi49 = require("@hono/zod-openapi");
|
|
4378
4423
|
|
|
4379
4424
|
// src/schemas/oauth-endpoints.ts
|
|
4380
|
-
var
|
|
4425
|
+
var import_zod_openapi48 = require("@hono/zod-openapi");
|
|
4381
4426
|
|
|
4382
4427
|
// src/schemas/oauth.ts
|
|
4383
|
-
var
|
|
4428
|
+
var import_zod_openapi47 = require("@hono/zod-openapi");
|
|
4384
4429
|
var SCOPES = [
|
|
4385
4430
|
// umbrella
|
|
4386
4431
|
"read",
|
|
@@ -4448,11 +4493,11 @@ function scopeSatisfies(required, granted) {
|
|
|
4448
4493
|
return false;
|
|
4449
4494
|
}
|
|
4450
4495
|
var InsufficientScopeErrorSchema = ApiErrorSchema.extend({
|
|
4451
|
-
error:
|
|
4452
|
-
code:
|
|
4453
|
-
message:
|
|
4454
|
-
details:
|
|
4455
|
-
requiredScope:
|
|
4496
|
+
error: import_zod_openapi47.z.object({
|
|
4497
|
+
code: import_zod_openapi47.z.literal("INSUFFICIENT_SCOPE"),
|
|
4498
|
+
message: import_zod_openapi47.z.string(),
|
|
4499
|
+
details: import_zod_openapi47.z.object({
|
|
4500
|
+
requiredScope: import_zod_openapi47.z.string()
|
|
4456
4501
|
}).optional()
|
|
4457
4502
|
})
|
|
4458
4503
|
});
|
|
@@ -4471,102 +4516,102 @@ var OAUTH_ERROR_CODES = [
|
|
|
4471
4516
|
"slow_down",
|
|
4472
4517
|
"expired_token"
|
|
4473
4518
|
];
|
|
4474
|
-
var OAuthErrorSchema =
|
|
4475
|
-
error:
|
|
4476
|
-
error_description:
|
|
4477
|
-
});
|
|
4478
|
-
var AuthorizeRequestSchema =
|
|
4479
|
-
client_id:
|
|
4480
|
-
redirect_uri:
|
|
4481
|
-
scope:
|
|
4482
|
-
code_challenge:
|
|
4483
|
-
code_challenge_method:
|
|
4484
|
-
state:
|
|
4485
|
-
});
|
|
4486
|
-
var AuthorizeResponseSchema =
|
|
4487
|
-
redirectUri:
|
|
4488
|
-
});
|
|
4489
|
-
var TokenRequestSchema =
|
|
4490
|
-
|
|
4491
|
-
grant_type:
|
|
4492
|
-
code:
|
|
4493
|
-
code_verifier:
|
|
4494
|
-
redirect_uri:
|
|
4495
|
-
client_id:
|
|
4519
|
+
var OAuthErrorSchema = import_zod_openapi48.z.object({
|
|
4520
|
+
error: import_zod_openapi48.z.enum(OAUTH_ERROR_CODES),
|
|
4521
|
+
error_description: import_zod_openapi48.z.string().optional()
|
|
4522
|
+
});
|
|
4523
|
+
var AuthorizeRequestSchema = import_zod_openapi48.z.object({
|
|
4524
|
+
client_id: import_zod_openapi48.z.string().min(1),
|
|
4525
|
+
redirect_uri: import_zod_openapi48.z.string().min(1),
|
|
4526
|
+
scope: import_zod_openapi48.z.string().min(1),
|
|
4527
|
+
code_challenge: import_zod_openapi48.z.string().min(1),
|
|
4528
|
+
code_challenge_method: import_zod_openapi48.z.literal("S256"),
|
|
4529
|
+
state: import_zod_openapi48.z.string().optional()
|
|
4530
|
+
});
|
|
4531
|
+
var AuthorizeResponseSchema = import_zod_openapi48.z.object({
|
|
4532
|
+
redirectUri: import_zod_openapi48.z.string()
|
|
4533
|
+
});
|
|
4534
|
+
var TokenRequestSchema = import_zod_openapi48.z.discriminatedUnion("grant_type", [
|
|
4535
|
+
import_zod_openapi48.z.object({
|
|
4536
|
+
grant_type: import_zod_openapi48.z.literal("authorization_code"),
|
|
4537
|
+
code: import_zod_openapi48.z.string().min(1),
|
|
4538
|
+
code_verifier: import_zod_openapi48.z.string().min(1),
|
|
4539
|
+
redirect_uri: import_zod_openapi48.z.string().min(1),
|
|
4540
|
+
client_id: import_zod_openapi48.z.string().min(1)
|
|
4496
4541
|
}),
|
|
4497
|
-
|
|
4498
|
-
grant_type:
|
|
4499
|
-
refresh_token:
|
|
4500
|
-
client_id:
|
|
4501
|
-
scope:
|
|
4542
|
+
import_zod_openapi48.z.object({
|
|
4543
|
+
grant_type: import_zod_openapi48.z.literal("refresh_token"),
|
|
4544
|
+
refresh_token: import_zod_openapi48.z.string().min(1),
|
|
4545
|
+
client_id: import_zod_openapi48.z.string().min(1),
|
|
4546
|
+
scope: import_zod_openapi48.z.string().optional()
|
|
4502
4547
|
}),
|
|
4503
4548
|
// RFC 8628 §3.4 — device authorization grant. The client polls with the
|
|
4504
4549
|
// opaque `device_code` returned by `/oauth/device/authorize`.
|
|
4505
|
-
|
|
4506
|
-
grant_type:
|
|
4507
|
-
device_code:
|
|
4508
|
-
client_id:
|
|
4550
|
+
import_zod_openapi48.z.object({
|
|
4551
|
+
grant_type: import_zod_openapi48.z.literal("urn:ietf:params:oauth:grant-type:device_code"),
|
|
4552
|
+
device_code: import_zod_openapi48.z.string().min(1),
|
|
4553
|
+
client_id: import_zod_openapi48.z.string().min(1)
|
|
4509
4554
|
})
|
|
4510
4555
|
]);
|
|
4511
4556
|
var DEVICE_CODE_GRANT_TYPE = "urn:ietf:params:oauth:grant-type:device_code";
|
|
4512
|
-
var TokenResponseSchema =
|
|
4513
|
-
access_token:
|
|
4514
|
-
token_type:
|
|
4515
|
-
expires_in:
|
|
4516
|
-
refresh_token:
|
|
4517
|
-
scope:
|
|
4518
|
-
});
|
|
4519
|
-
var RevokeRequestSchema =
|
|
4520
|
-
token:
|
|
4521
|
-
token_type_hint:
|
|
4522
|
-
});
|
|
4523
|
-
var RevokeResponseSchema =
|
|
4524
|
-
var DeviceAuthorizeRequestSchema =
|
|
4525
|
-
client_id:
|
|
4526
|
-
scope:
|
|
4527
|
-
});
|
|
4528
|
-
var DeviceAuthorizeResponseSchema =
|
|
4529
|
-
device_code:
|
|
4530
|
-
user_code:
|
|
4531
|
-
verification_uri:
|
|
4532
|
-
verification_uri_complete:
|
|
4533
|
-
expires_in:
|
|
4534
|
-
interval:
|
|
4535
|
-
});
|
|
4536
|
-
var DeviceVerifyRequestSchema =
|
|
4537
|
-
user_code:
|
|
4538
|
-
action:
|
|
4539
|
-
});
|
|
4540
|
-
var DeviceVerifyResponseSchema =
|
|
4541
|
-
status:
|
|
4542
|
-
});
|
|
4543
|
-
var DeviceInfoResponseSchema =
|
|
4544
|
-
client_id:
|
|
4545
|
-
scopes:
|
|
4546
|
-
});
|
|
4547
|
-
var ClientInfoResponseSchema =
|
|
4548
|
-
clientId:
|
|
4549
|
-
name:
|
|
4550
|
-
firstParty:
|
|
4551
|
-
trusted:
|
|
4557
|
+
var TokenResponseSchema = import_zod_openapi48.z.object({
|
|
4558
|
+
access_token: import_zod_openapi48.z.string(),
|
|
4559
|
+
token_type: import_zod_openapi48.z.literal("Bearer"),
|
|
4560
|
+
expires_in: import_zod_openapi48.z.number(),
|
|
4561
|
+
refresh_token: import_zod_openapi48.z.string(),
|
|
4562
|
+
scope: import_zod_openapi48.z.string()
|
|
4563
|
+
});
|
|
4564
|
+
var RevokeRequestSchema = import_zod_openapi48.z.object({
|
|
4565
|
+
token: import_zod_openapi48.z.string().min(1),
|
|
4566
|
+
token_type_hint: import_zod_openapi48.z.string().optional()
|
|
4567
|
+
});
|
|
4568
|
+
var RevokeResponseSchema = import_zod_openapi48.z.object({});
|
|
4569
|
+
var DeviceAuthorizeRequestSchema = import_zod_openapi48.z.object({
|
|
4570
|
+
client_id: import_zod_openapi48.z.string().min(1),
|
|
4571
|
+
scope: import_zod_openapi48.z.string().min(1)
|
|
4572
|
+
});
|
|
4573
|
+
var DeviceAuthorizeResponseSchema = import_zod_openapi48.z.object({
|
|
4574
|
+
device_code: import_zod_openapi48.z.string(),
|
|
4575
|
+
user_code: import_zod_openapi48.z.string(),
|
|
4576
|
+
verification_uri: import_zod_openapi48.z.string(),
|
|
4577
|
+
verification_uri_complete: import_zod_openapi48.z.string(),
|
|
4578
|
+
expires_in: import_zod_openapi48.z.number(),
|
|
4579
|
+
interval: import_zod_openapi48.z.number()
|
|
4580
|
+
});
|
|
4581
|
+
var DeviceVerifyRequestSchema = import_zod_openapi48.z.object({
|
|
4582
|
+
user_code: import_zod_openapi48.z.string().min(1),
|
|
4583
|
+
action: import_zod_openapi48.z.enum(["approve", "deny"])
|
|
4584
|
+
});
|
|
4585
|
+
var DeviceVerifyResponseSchema = import_zod_openapi48.z.object({
|
|
4586
|
+
status: import_zod_openapi48.z.enum(["approved", "denied"])
|
|
4587
|
+
});
|
|
4588
|
+
var DeviceInfoResponseSchema = import_zod_openapi48.z.object({
|
|
4589
|
+
client_id: import_zod_openapi48.z.string(),
|
|
4590
|
+
scopes: import_zod_openapi48.z.array(import_zod_openapi48.z.string())
|
|
4591
|
+
});
|
|
4592
|
+
var ClientInfoResponseSchema = import_zod_openapi48.z.object({
|
|
4593
|
+
clientId: import_zod_openapi48.z.string(),
|
|
4594
|
+
name: import_zod_openapi48.z.string(),
|
|
4595
|
+
firstParty: import_zod_openapi48.z.boolean(),
|
|
4596
|
+
trusted: import_zod_openapi48.z.boolean()
|
|
4552
4597
|
});
|
|
4553
4598
|
var GRANT_TYPES_SUPPORTED = ["authorization_code", "refresh_token", DEVICE_CODE_GRANT_TYPE];
|
|
4554
|
-
var DiscoveryResponseSchema =
|
|
4555
|
-
issuer:
|
|
4556
|
-
authorization_endpoint:
|
|
4557
|
-
token_endpoint:
|
|
4558
|
-
revocation_endpoint:
|
|
4559
|
-
device_authorization_endpoint:
|
|
4560
|
-
scopes_supported:
|
|
4561
|
-
response_types_supported:
|
|
4562
|
-
grant_types_supported:
|
|
4563
|
-
code_challenge_methods_supported:
|
|
4564
|
-
token_endpoint_auth_methods_supported:
|
|
4599
|
+
var DiscoveryResponseSchema = import_zod_openapi48.z.object({
|
|
4600
|
+
issuer: import_zod_openapi48.z.string(),
|
|
4601
|
+
authorization_endpoint: import_zod_openapi48.z.string(),
|
|
4602
|
+
token_endpoint: import_zod_openapi48.z.string(),
|
|
4603
|
+
revocation_endpoint: import_zod_openapi48.z.string(),
|
|
4604
|
+
device_authorization_endpoint: import_zod_openapi48.z.string().optional(),
|
|
4605
|
+
scopes_supported: import_zod_openapi48.z.array(import_zod_openapi48.z.string()),
|
|
4606
|
+
response_types_supported: import_zod_openapi48.z.array(import_zod_openapi48.z.string()),
|
|
4607
|
+
grant_types_supported: import_zod_openapi48.z.array(import_zod_openapi48.z.string()),
|
|
4608
|
+
code_challenge_methods_supported: import_zod_openapi48.z.array(import_zod_openapi48.z.string()),
|
|
4609
|
+
token_endpoint_auth_methods_supported: import_zod_openapi48.z.array(import_zod_openapi48.z.string())
|
|
4565
4610
|
});
|
|
4566
4611
|
var DISCOVERY_SCOPES_SUPPORTED = ISSUABLE_SCOPES;
|
|
4567
4612
|
|
|
4568
4613
|
// src/contracts/oauth.ts
|
|
4569
|
-
var authorizeRoute = (0,
|
|
4614
|
+
var authorizeRoute = (0, import_zod_openapi49.createRoute)({
|
|
4570
4615
|
method: "post",
|
|
4571
4616
|
path: "/oauth/authorize",
|
|
4572
4617
|
tags: ["oauth"],
|
|
@@ -4596,7 +4641,7 @@ var authorizeRoute = (0, import_zod_openapi48.createRoute)({
|
|
|
4596
4641
|
}
|
|
4597
4642
|
}
|
|
4598
4643
|
});
|
|
4599
|
-
var tokenRoute = (0,
|
|
4644
|
+
var tokenRoute = (0, import_zod_openapi49.createRoute)({
|
|
4600
4645
|
method: "post",
|
|
4601
4646
|
path: "/oauth/token",
|
|
4602
4647
|
tags: ["oauth"],
|
|
@@ -4628,7 +4673,7 @@ var tokenRoute = (0, import_zod_openapi48.createRoute)({
|
|
|
4628
4673
|
}
|
|
4629
4674
|
}
|
|
4630
4675
|
});
|
|
4631
|
-
var revokeRoute = (0,
|
|
4676
|
+
var revokeRoute = (0, import_zod_openapi49.createRoute)({
|
|
4632
4677
|
method: "post",
|
|
4633
4678
|
path: "/oauth/revoke",
|
|
4634
4679
|
tags: ["oauth"],
|
|
@@ -4648,7 +4693,7 @@ var revokeRoute = (0, import_zod_openapi48.createRoute)({
|
|
|
4648
4693
|
}
|
|
4649
4694
|
}
|
|
4650
4695
|
});
|
|
4651
|
-
var discoveryRoute = (0,
|
|
4696
|
+
var discoveryRoute = (0, import_zod_openapi49.createRoute)({
|
|
4652
4697
|
method: "get",
|
|
4653
4698
|
path: "/.well-known/oauth-authorization-server",
|
|
4654
4699
|
tags: ["oauth"],
|
|
@@ -4660,7 +4705,7 @@ var discoveryRoute = (0, import_zod_openapi48.createRoute)({
|
|
|
4660
4705
|
}
|
|
4661
4706
|
}
|
|
4662
4707
|
});
|
|
4663
|
-
var deviceAuthorizeRoute = (0,
|
|
4708
|
+
var deviceAuthorizeRoute = (0, import_zod_openapi49.createRoute)({
|
|
4664
4709
|
method: "post",
|
|
4665
4710
|
path: "/oauth/device/authorize",
|
|
4666
4711
|
tags: ["oauth"],
|
|
@@ -4688,7 +4733,7 @@ var deviceAuthorizeRoute = (0, import_zod_openapi48.createRoute)({
|
|
|
4688
4733
|
}
|
|
4689
4734
|
}
|
|
4690
4735
|
});
|
|
4691
|
-
var deviceInfoRoute = (0,
|
|
4736
|
+
var deviceInfoRoute = (0, import_zod_openapi49.createRoute)({
|
|
4692
4737
|
method: "get",
|
|
4693
4738
|
path: "/oauth/device",
|
|
4694
4739
|
tags: ["oauth"],
|
|
@@ -4697,7 +4742,7 @@ var deviceInfoRoute = (0, import_zod_openapi48.createRoute)({
|
|
|
4697
4742
|
// scopes so the web consent screen can show them before approval. Reveals
|
|
4698
4743
|
// no secret. Unknown / expired / non-pending → 404 (PHASE4-Q9 option A).
|
|
4699
4744
|
request: {
|
|
4700
|
-
query:
|
|
4745
|
+
query: import_zod_openapi49.z.object({ user_code: import_zod_openapi49.z.string().min(1) })
|
|
4701
4746
|
},
|
|
4702
4747
|
responses: {
|
|
4703
4748
|
200: {
|
|
@@ -4710,7 +4755,7 @@ var deviceInfoRoute = (0, import_zod_openapi48.createRoute)({
|
|
|
4710
4755
|
}
|
|
4711
4756
|
}
|
|
4712
4757
|
});
|
|
4713
|
-
var deviceVerifyRoute = (0,
|
|
4758
|
+
var deviceVerifyRoute = (0, import_zod_openapi49.createRoute)({
|
|
4714
4759
|
method: "post",
|
|
4715
4760
|
path: "/oauth/device/verify",
|
|
4716
4761
|
tags: ["oauth"],
|
|
@@ -4740,7 +4785,7 @@ var deviceVerifyRoute = (0, import_zod_openapi48.createRoute)({
|
|
|
4740
4785
|
}
|
|
4741
4786
|
}
|
|
4742
4787
|
});
|
|
4743
|
-
var clientInfoRoute = (0,
|
|
4788
|
+
var clientInfoRoute = (0, import_zod_openapi49.createRoute)({
|
|
4744
4789
|
method: "get",
|
|
4745
4790
|
path: "/oauth/client-info",
|
|
4746
4791
|
tags: ["oauth"],
|
|
@@ -4751,7 +4796,7 @@ var clientInfoRoute = (0, import_zod_openapi48.createRoute)({
|
|
|
4751
4796
|
// no redirectUris/allowedScopes — mirroring deviceInfoRoute's own
|
|
4752
4797
|
// non-secret-lookup shape. Unknown client_id → 404.
|
|
4753
4798
|
request: {
|
|
4754
|
-
query:
|
|
4799
|
+
query: import_zod_openapi49.z.object({ client_id: import_zod_openapi49.z.string().min(1) })
|
|
4755
4800
|
},
|
|
4756
4801
|
responses: {
|
|
4757
4802
|
200: {
|
|
@@ -4776,24 +4821,24 @@ var oauthRoutes = {
|
|
|
4776
4821
|
};
|
|
4777
4822
|
|
|
4778
4823
|
// src/contracts/notification.ts
|
|
4779
|
-
var
|
|
4824
|
+
var import_zod_openapi51 = require("@hono/zod-openapi");
|
|
4780
4825
|
|
|
4781
4826
|
// src/schemas/notification.ts
|
|
4782
|
-
var
|
|
4783
|
-
var NotificationStatusSchema =
|
|
4827
|
+
var import_zod_openapi50 = require("@hono/zod-openapi");
|
|
4828
|
+
var NotificationStatusSchema = import_zod_openapi50.z.enum(["UNREAD", "UNOPENED", "OPENED"]);
|
|
4784
4829
|
var NotificationStatusEnum = {
|
|
4785
4830
|
UNREAD: "UNREAD",
|
|
4786
4831
|
UNOPENED: "UNOPENED",
|
|
4787
4832
|
OPENED: "OPENED"
|
|
4788
4833
|
};
|
|
4789
|
-
var NotificationActionSchema =
|
|
4834
|
+
var NotificationActionSchema = import_zod_openapi50.z.enum(["COMMENT", "LIKE", "MENTION", "UPDATE"]);
|
|
4790
4835
|
var NotificationActionEnum = {
|
|
4791
4836
|
COMMENT: "COMMENT",
|
|
4792
4837
|
LIKE: "LIKE",
|
|
4793
4838
|
MENTION: "MENTION",
|
|
4794
4839
|
UPDATE: "UPDATE"
|
|
4795
4840
|
};
|
|
4796
|
-
var NotificationTargetModelSchema =
|
|
4841
|
+
var NotificationTargetModelSchema = import_zod_openapi50.z.enum(["Page"]);
|
|
4797
4842
|
var NotificationTargetModelEnum = {
|
|
4798
4843
|
PAGE: "Page"
|
|
4799
4844
|
};
|
|
@@ -4802,71 +4847,71 @@ var PageRefSchema = PageSchema.pick({
|
|
|
4802
4847
|
path: true,
|
|
4803
4848
|
status: true
|
|
4804
4849
|
});
|
|
4805
|
-
var NotificationSchema =
|
|
4806
|
-
_id:
|
|
4807
|
-
user:
|
|
4850
|
+
var NotificationSchema = import_zod_openapi50.z.object({
|
|
4851
|
+
_id: import_zod_openapi50.z.string(),
|
|
4852
|
+
user: import_zod_openapi50.z.string(),
|
|
4808
4853
|
targetModel: NotificationTargetModelSchema,
|
|
4809
4854
|
target: PageRefSchema,
|
|
4810
4855
|
action: NotificationActionSchema,
|
|
4811
4856
|
status: NotificationStatusSchema,
|
|
4812
|
-
actionUsers:
|
|
4813
|
-
createdAt:
|
|
4857
|
+
actionUsers: import_zod_openapi50.z.array(UserPublicSchema),
|
|
4858
|
+
createdAt: import_zod_openapi50.z.string()
|
|
4814
4859
|
});
|
|
4815
|
-
var ListNotificationsRequestSchema =
|
|
4816
|
-
limit:
|
|
4817
|
-
offset:
|
|
4860
|
+
var ListNotificationsRequestSchema = import_zod_openapi50.z.object({
|
|
4861
|
+
limit: import_zod_openapi50.z.coerce.number().optional().default(10),
|
|
4862
|
+
offset: import_zod_openapi50.z.coerce.number().optional().default(0)
|
|
4818
4863
|
});
|
|
4819
|
-
var ListNotificationsResponseSchema =
|
|
4820
|
-
notifications:
|
|
4864
|
+
var ListNotificationsResponseSchema = import_zod_openapi50.z.object({
|
|
4865
|
+
notifications: import_zod_openapi50.z.array(NotificationSchema),
|
|
4821
4866
|
pager: PagerSchema
|
|
4822
4867
|
});
|
|
4823
|
-
var MarkAllAsReadResponseSchema =
|
|
4824
|
-
ok:
|
|
4868
|
+
var MarkAllAsReadResponseSchema = import_zod_openapi50.z.object({
|
|
4869
|
+
ok: import_zod_openapi50.z.literal(true)
|
|
4825
4870
|
});
|
|
4826
|
-
var OpenNotificationParamSchema =
|
|
4827
|
-
id:
|
|
4871
|
+
var OpenNotificationParamSchema = import_zod_openapi50.z.object({
|
|
4872
|
+
id: import_zod_openapi50.z.string()
|
|
4828
4873
|
});
|
|
4829
|
-
var OpenNotificationResponseSchema =
|
|
4874
|
+
var OpenNotificationResponseSchema = import_zod_openapi50.z.object({
|
|
4830
4875
|
notification: NotificationSchema
|
|
4831
4876
|
});
|
|
4832
|
-
var NotificationStatusResponseSchema =
|
|
4833
|
-
count:
|
|
4877
|
+
var NotificationStatusResponseSchema = import_zod_openapi50.z.object({
|
|
4878
|
+
count: import_zod_openapi50.z.number()
|
|
4834
4879
|
});
|
|
4835
|
-
var NotificationNotFoundErrorSchema =
|
|
4836
|
-
error:
|
|
4837
|
-
code:
|
|
4838
|
-
message:
|
|
4880
|
+
var NotificationNotFoundErrorSchema = import_zod_openapi50.z.object({
|
|
4881
|
+
error: import_zod_openapi50.z.object({
|
|
4882
|
+
code: import_zod_openapi50.z.literal("NOTIFICATION_NOT_FOUND"),
|
|
4883
|
+
message: import_zod_openapi50.z.literal("Notification not found")
|
|
4839
4884
|
})
|
|
4840
4885
|
});
|
|
4841
|
-
var NotificationsTokenResponseSchema =
|
|
4842
|
-
token:
|
|
4843
|
-
selfUserId:
|
|
4844
|
-
expiresAt:
|
|
4886
|
+
var NotificationsTokenResponseSchema = import_zod_openapi50.z.object({
|
|
4887
|
+
token: import_zod_openapi50.z.string(),
|
|
4888
|
+
selfUserId: import_zod_openapi50.z.string(),
|
|
4889
|
+
expiresAt: import_zod_openapi50.z.string()
|
|
4845
4890
|
});
|
|
4846
|
-
var NotificationsTokenPayloadSchema =
|
|
4847
|
-
selfUserId:
|
|
4891
|
+
var NotificationsTokenPayloadSchema = import_zod_openapi50.z.object({
|
|
4892
|
+
selfUserId: import_zod_openapi50.z.string(),
|
|
4848
4893
|
// Random UUID mixed into every signed token so two tokens minted
|
|
4849
4894
|
// within the same second still produce byte-different JWT strings.
|
|
4850
4895
|
// The browser uses the token as a React effect dependency to drive
|
|
4851
4896
|
// the WebSocket reconnect — without `jti`, the iat/exp pair is
|
|
4852
4897
|
// identical at second granularity and the dep stays stable.
|
|
4853
|
-
jti:
|
|
4854
|
-
iat:
|
|
4855
|
-
exp:
|
|
4898
|
+
jti: import_zod_openapi50.z.string().uuid(),
|
|
4899
|
+
iat: import_zod_openapi50.z.number().int(),
|
|
4900
|
+
exp: import_zod_openapi50.z.number().int()
|
|
4856
4901
|
});
|
|
4857
|
-
var NotificationsChangedMessageSchema =
|
|
4858
|
-
type:
|
|
4902
|
+
var NotificationsChangedMessageSchema = import_zod_openapi50.z.object({
|
|
4903
|
+
type: import_zod_openapi50.z.literal("changed")
|
|
4859
4904
|
});
|
|
4860
4905
|
var NotificationsServerMessageSchema = NotificationsChangedMessageSchema;
|
|
4861
4906
|
|
|
4862
4907
|
// src/contracts/notification.ts
|
|
4863
|
-
var NotificationInvalidRequestErrorSchema =
|
|
4864
|
-
error:
|
|
4865
|
-
code:
|
|
4866
|
-
message:
|
|
4908
|
+
var NotificationInvalidRequestErrorSchema = import_zod_openapi51.z.object({
|
|
4909
|
+
error: import_zod_openapi51.z.object({
|
|
4910
|
+
code: import_zod_openapi51.z.literal("INVALID_REQUEST"),
|
|
4911
|
+
message: import_zod_openapi51.z.string()
|
|
4867
4912
|
})
|
|
4868
4913
|
});
|
|
4869
|
-
var listNotificationsRoute = (0,
|
|
4914
|
+
var listNotificationsRoute = (0, import_zod_openapi51.createRoute)({
|
|
4870
4915
|
method: "get",
|
|
4871
4916
|
path: "/notifications",
|
|
4872
4917
|
tags: ["notification"],
|
|
@@ -4890,7 +4935,7 @@ var listNotificationsRoute = (0, import_zod_openapi50.createRoute)({
|
|
|
4890
4935
|
}
|
|
4891
4936
|
}
|
|
4892
4937
|
});
|
|
4893
|
-
var markAllAsReadRoute = (0,
|
|
4938
|
+
var markAllAsReadRoute = (0, import_zod_openapi51.createRoute)({
|
|
4894
4939
|
method: "post",
|
|
4895
4940
|
path: "/notifications/read",
|
|
4896
4941
|
tags: ["notification"],
|
|
@@ -4911,7 +4956,7 @@ var markAllAsReadRoute = (0, import_zod_openapi50.createRoute)({
|
|
|
4911
4956
|
}
|
|
4912
4957
|
}
|
|
4913
4958
|
});
|
|
4914
|
-
var getUnreadCountRoute = (0,
|
|
4959
|
+
var getUnreadCountRoute = (0, import_zod_openapi51.createRoute)({
|
|
4915
4960
|
method: "get",
|
|
4916
4961
|
path: "/notifications/status",
|
|
4917
4962
|
tags: ["notification"],
|
|
@@ -4932,7 +4977,7 @@ var getUnreadCountRoute = (0, import_zod_openapi50.createRoute)({
|
|
|
4932
4977
|
}
|
|
4933
4978
|
}
|
|
4934
4979
|
});
|
|
4935
|
-
var openNotificationRoute = (0,
|
|
4980
|
+
var openNotificationRoute = (0, import_zod_openapi51.createRoute)({
|
|
4936
4981
|
method: "post",
|
|
4937
4982
|
path: "/notifications/{id}/open",
|
|
4938
4983
|
tags: ["notification"],
|
|
@@ -4964,7 +5009,7 @@ var openNotificationRoute = (0, import_zod_openapi50.createRoute)({
|
|
|
4964
5009
|
}
|
|
4965
5010
|
}
|
|
4966
5011
|
});
|
|
4967
|
-
var getNotificationsTokenRoute = (0,
|
|
5012
|
+
var getNotificationsTokenRoute = (0, import_zod_openapi51.createRoute)({
|
|
4968
5013
|
method: "get",
|
|
4969
5014
|
path: "/notifications/token",
|
|
4970
5015
|
tags: ["notification"],
|
|
@@ -4999,11 +5044,11 @@ var notificationRoutes = {
|
|
|
4999
5044
|
};
|
|
5000
5045
|
|
|
5001
5046
|
// src/contracts/page-collab.ts
|
|
5002
|
-
var
|
|
5003
|
-
var PageIdPathParamsSchema2 =
|
|
5004
|
-
id:
|
|
5047
|
+
var import_zod_openapi52 = require("@hono/zod-openapi");
|
|
5048
|
+
var PageIdPathParamsSchema2 = import_zod_openapi52.z.object({
|
|
5049
|
+
id: import_zod_openapi52.z.string().openapi({ description: "Page id (24-char hex ObjectId)", example: "507f1f77bcf86cd799439011" })
|
|
5005
5050
|
});
|
|
5006
|
-
var getYjsTokenRoute = (0,
|
|
5051
|
+
var getYjsTokenRoute = (0, import_zod_openapi52.createRoute)({
|
|
5007
5052
|
method: "get",
|
|
5008
5053
|
path: "/pages/{id}/yjs-token",
|
|
5009
5054
|
tags: ["page-collab"],
|
|
@@ -5040,26 +5085,26 @@ var pageCollabRoutes = {
|
|
|
5040
5085
|
};
|
|
5041
5086
|
|
|
5042
5087
|
// src/contracts/page.ts
|
|
5043
|
-
var
|
|
5044
|
-
var PageBadRequestErrorSchema =
|
|
5045
|
-
error:
|
|
5046
|
-
code:
|
|
5047
|
-
message:
|
|
5088
|
+
var import_zod_openapi53 = require("@hono/zod-openapi");
|
|
5089
|
+
var PageBadRequestErrorSchema = import_zod_openapi53.z.object({
|
|
5090
|
+
error: import_zod_openapi53.z.object({
|
|
5091
|
+
code: import_zod_openapi53.z.string(),
|
|
5092
|
+
message: import_zod_openapi53.z.string()
|
|
5048
5093
|
})
|
|
5049
5094
|
});
|
|
5050
|
-
var DeletePageRequestSchema =
|
|
5051
|
-
page_id:
|
|
5052
|
-
revision_id:
|
|
5053
|
-
completely:
|
|
5095
|
+
var DeletePageRequestSchema = import_zod_openapi53.z.object({
|
|
5096
|
+
page_id: import_zod_openapi53.z.string(),
|
|
5097
|
+
revision_id: import_zod_openapi53.z.string().optional(),
|
|
5098
|
+
completely: import_zod_openapi53.z.boolean().optional()
|
|
5054
5099
|
});
|
|
5055
|
-
var RevertDeletedPageRequestSchema =
|
|
5056
|
-
page_id:
|
|
5100
|
+
var RevertDeletedPageRequestSchema = import_zod_openapi53.z.object({
|
|
5101
|
+
page_id: import_zod_openapi53.z.string()
|
|
5057
5102
|
});
|
|
5058
|
-
var PageIdBodySchema =
|
|
5059
|
-
page_id:
|
|
5103
|
+
var PageIdBodySchema = import_zod_openapi53.z.object({
|
|
5104
|
+
page_id: import_zod_openapi53.z.string()
|
|
5060
5105
|
});
|
|
5061
|
-
var PageResponseSchema =
|
|
5062
|
-
var getPageRoute = (0,
|
|
5106
|
+
var PageResponseSchema = import_zod_openapi53.z.object({ page: PageSchema });
|
|
5107
|
+
var getPageRoute = (0, import_zod_openapi53.createRoute)({
|
|
5063
5108
|
method: "get",
|
|
5064
5109
|
path: "/pages",
|
|
5065
5110
|
tags: ["page"],
|
|
@@ -5096,7 +5141,7 @@ var getPageRoute = (0, import_zod_openapi52.createRoute)({
|
|
|
5096
5141
|
}
|
|
5097
5142
|
}
|
|
5098
5143
|
});
|
|
5099
|
-
var listPagesRoute = (0,
|
|
5144
|
+
var listPagesRoute = (0, import_zod_openapi53.createRoute)({
|
|
5100
5145
|
method: "get",
|
|
5101
5146
|
path: "/pages/list",
|
|
5102
5147
|
tags: ["page"],
|
|
@@ -5116,7 +5161,7 @@ var listPagesRoute = (0, import_zod_openapi52.createRoute)({
|
|
|
5116
5161
|
}
|
|
5117
5162
|
}
|
|
5118
5163
|
});
|
|
5119
|
-
var listPageChildrenRoute = (0,
|
|
5164
|
+
var listPageChildrenRoute = (0, import_zod_openapi53.createRoute)({
|
|
5120
5165
|
method: "get",
|
|
5121
5166
|
path: "/pages/children",
|
|
5122
5167
|
tags: ["page"],
|
|
@@ -5136,7 +5181,7 @@ var listPageChildrenRoute = (0, import_zod_openapi52.createRoute)({
|
|
|
5136
5181
|
}
|
|
5137
5182
|
}
|
|
5138
5183
|
});
|
|
5139
|
-
var createPageRoute = (0,
|
|
5184
|
+
var createPageRoute = (0, import_zod_openapi53.createRoute)({
|
|
5140
5185
|
method: "post",
|
|
5141
5186
|
path: "/pages",
|
|
5142
5187
|
tags: ["page"],
|
|
@@ -5162,7 +5207,7 @@ var createPageRoute = (0, import_zod_openapi52.createRoute)({
|
|
|
5162
5207
|
}
|
|
5163
5208
|
}
|
|
5164
5209
|
});
|
|
5165
|
-
var updatePageRoute = (0,
|
|
5210
|
+
var updatePageRoute = (0, import_zod_openapi53.createRoute)({
|
|
5166
5211
|
method: "put",
|
|
5167
5212
|
path: "/pages",
|
|
5168
5213
|
tags: ["page"],
|
|
@@ -5196,7 +5241,7 @@ var updatePageRoute = (0, import_zod_openapi52.createRoute)({
|
|
|
5196
5241
|
}
|
|
5197
5242
|
}
|
|
5198
5243
|
});
|
|
5199
|
-
var setPageGrantRoute = (0,
|
|
5244
|
+
var setPageGrantRoute = (0, import_zod_openapi53.createRoute)({
|
|
5200
5245
|
method: "put",
|
|
5201
5246
|
path: "/pages/grant",
|
|
5202
5247
|
tags: ["page"],
|
|
@@ -5226,7 +5271,7 @@ var setPageGrantRoute = (0, import_zod_openapi52.createRoute)({
|
|
|
5226
5271
|
}
|
|
5227
5272
|
}
|
|
5228
5273
|
});
|
|
5229
|
-
var seenPageRoute = (0,
|
|
5274
|
+
var seenPageRoute = (0, import_zod_openapi53.createRoute)({
|
|
5230
5275
|
method: "post",
|
|
5231
5276
|
path: "/pages/seen",
|
|
5232
5277
|
tags: ["page"],
|
|
@@ -5256,7 +5301,7 @@ var seenPageRoute = (0, import_zod_openapi52.createRoute)({
|
|
|
5256
5301
|
}
|
|
5257
5302
|
}
|
|
5258
5303
|
});
|
|
5259
|
-
var getSeenUsersRoute = (0,
|
|
5304
|
+
var getSeenUsersRoute = (0, import_zod_openapi53.createRoute)({
|
|
5260
5305
|
method: "get",
|
|
5261
5306
|
path: "/pages/seen-users",
|
|
5262
5307
|
tags: ["page"],
|
|
@@ -5284,7 +5329,7 @@ var getSeenUsersRoute = (0, import_zod_openapi52.createRoute)({
|
|
|
5284
5329
|
}
|
|
5285
5330
|
}
|
|
5286
5331
|
});
|
|
5287
|
-
var likePageRoute = (0,
|
|
5332
|
+
var likePageRoute = (0, import_zod_openapi53.createRoute)({
|
|
5288
5333
|
method: "post",
|
|
5289
5334
|
path: "/pages/like",
|
|
5290
5335
|
tags: ["page"],
|
|
@@ -5314,7 +5359,7 @@ var likePageRoute = (0, import_zod_openapi52.createRoute)({
|
|
|
5314
5359
|
}
|
|
5315
5360
|
}
|
|
5316
5361
|
});
|
|
5317
|
-
var unlikePageRoute = (0,
|
|
5362
|
+
var unlikePageRoute = (0, import_zod_openapi53.createRoute)({
|
|
5318
5363
|
method: "post",
|
|
5319
5364
|
path: "/pages/unlike",
|
|
5320
5365
|
tags: ["page"],
|
|
@@ -5344,7 +5389,7 @@ var unlikePageRoute = (0, import_zod_openapi52.createRoute)({
|
|
|
5344
5389
|
}
|
|
5345
5390
|
}
|
|
5346
5391
|
});
|
|
5347
|
-
var claimPageLinkAccessRoute = (0,
|
|
5392
|
+
var claimPageLinkAccessRoute = (0, import_zod_openapi53.createRoute)({
|
|
5348
5393
|
method: "post",
|
|
5349
5394
|
path: "/pages/link-access",
|
|
5350
5395
|
tags: ["page"],
|
|
@@ -5372,7 +5417,7 @@ var claimPageLinkAccessRoute = (0, import_zod_openapi52.createRoute)({
|
|
|
5372
5417
|
description: "The caller has no access to the page (isGrantedFor is false) or lacks scope / is a non-web session \u2014 403 is about the caller lacking access, never about the page grant type per se",
|
|
5373
5418
|
content: {
|
|
5374
5419
|
"application/json": {
|
|
5375
|
-
schema:
|
|
5420
|
+
schema: import_zod_openapi53.z.union([PageNotGrantedErrorSchema, InsufficientScopeErrorSchema])
|
|
5376
5421
|
}
|
|
5377
5422
|
}
|
|
5378
5423
|
},
|
|
@@ -5390,7 +5435,7 @@ var claimPageLinkAccessRoute = (0, import_zod_openapi52.createRoute)({
|
|
|
5390
5435
|
}
|
|
5391
5436
|
}
|
|
5392
5437
|
});
|
|
5393
|
-
var getWatchStatusRoute = (0,
|
|
5438
|
+
var getWatchStatusRoute = (0, import_zod_openapi53.createRoute)({
|
|
5394
5439
|
method: "get",
|
|
5395
5440
|
path: "/pages/watch",
|
|
5396
5441
|
tags: ["page"],
|
|
@@ -5418,7 +5463,7 @@ var getWatchStatusRoute = (0, import_zod_openapi52.createRoute)({
|
|
|
5418
5463
|
}
|
|
5419
5464
|
}
|
|
5420
5465
|
});
|
|
5421
|
-
var setWatchStatusRoute = (0,
|
|
5466
|
+
var setWatchStatusRoute = (0, import_zod_openapi53.createRoute)({
|
|
5422
5467
|
method: "put",
|
|
5423
5468
|
path: "/pages/watch",
|
|
5424
5469
|
tags: ["page"],
|
|
@@ -5448,7 +5493,7 @@ var setWatchStatusRoute = (0, import_zod_openapi52.createRoute)({
|
|
|
5448
5493
|
}
|
|
5449
5494
|
}
|
|
5450
5495
|
});
|
|
5451
|
-
var deletePageRoute = (0,
|
|
5496
|
+
var deletePageRoute = (0, import_zod_openapi53.createRoute)({
|
|
5452
5497
|
method: "delete",
|
|
5453
5498
|
path: "/pages",
|
|
5454
5499
|
tags: ["page"],
|
|
@@ -5482,7 +5527,7 @@ var deletePageRoute = (0, import_zod_openapi52.createRoute)({
|
|
|
5482
5527
|
}
|
|
5483
5528
|
}
|
|
5484
5529
|
});
|
|
5485
|
-
var revertDeletedPageRoute = (0,
|
|
5530
|
+
var revertDeletedPageRoute = (0, import_zod_openapi53.createRoute)({
|
|
5486
5531
|
method: "post",
|
|
5487
5532
|
path: "/pages/revert",
|
|
5488
5533
|
tags: ["page"],
|
|
@@ -5512,7 +5557,7 @@ var revertDeletedPageRoute = (0, import_zod_openapi52.createRoute)({
|
|
|
5512
5557
|
}
|
|
5513
5558
|
}
|
|
5514
5559
|
});
|
|
5515
|
-
var revertToRevisionRoute = (0,
|
|
5560
|
+
var revertToRevisionRoute = (0, import_zod_openapi53.createRoute)({
|
|
5516
5561
|
method: "post",
|
|
5517
5562
|
path: "/pages/revert-to-revision",
|
|
5518
5563
|
tags: ["page"],
|
|
@@ -5542,7 +5587,7 @@ var revertToRevisionRoute = (0, import_zod_openapi52.createRoute)({
|
|
|
5542
5587
|
}
|
|
5543
5588
|
}
|
|
5544
5589
|
});
|
|
5545
|
-
var renamePageRoute = (0,
|
|
5590
|
+
var renamePageRoute = (0, import_zod_openapi53.createRoute)({
|
|
5546
5591
|
method: "post",
|
|
5547
5592
|
path: "/pages/rename",
|
|
5548
5593
|
tags: ["page"],
|
|
@@ -5562,7 +5607,7 @@ var renamePageRoute = (0, import_zod_openapi52.createRoute)({
|
|
|
5562
5607
|
description: "PAGE_INVALID_NAME / PAGE_EXISTS / PAGE_RENAME_FAILED / PAGE_RENAME_TREE_FAILED",
|
|
5563
5608
|
content: {
|
|
5564
5609
|
"application/json": {
|
|
5565
|
-
schema:
|
|
5610
|
+
schema: import_zod_openapi53.z.union([PageBadRequestErrorSchema, RenameTreeErrorSchema])
|
|
5566
5611
|
}
|
|
5567
5612
|
}
|
|
5568
5613
|
},
|
|
@@ -5580,7 +5625,7 @@ var renamePageRoute = (0, import_zod_openapi52.createRoute)({
|
|
|
5580
5625
|
}
|
|
5581
5626
|
}
|
|
5582
5627
|
});
|
|
5583
|
-
var renameSubtreeRoute = (0,
|
|
5628
|
+
var renameSubtreeRoute = (0, import_zod_openapi53.createRoute)({
|
|
5584
5629
|
method: "post",
|
|
5585
5630
|
path: "/pages/rename-subtree",
|
|
5586
5631
|
tags: ["page"],
|
|
@@ -5600,7 +5645,7 @@ var renameSubtreeRoute = (0, import_zod_openapi52.createRoute)({
|
|
|
5600
5645
|
description: "PAGE_INVALID_NAME / PAGE_RENAME_TREE_FAILED (collisions, nothing to move, or partial failure)",
|
|
5601
5646
|
content: {
|
|
5602
5647
|
"application/json": {
|
|
5603
|
-
schema:
|
|
5648
|
+
schema: import_zod_openapi53.z.union([PageBadRequestErrorSchema, RenameTreeErrorSchema])
|
|
5604
5649
|
}
|
|
5605
5650
|
}
|
|
5606
5651
|
},
|
|
@@ -5650,20 +5695,20 @@ var pageRoutes = {
|
|
|
5650
5695
|
};
|
|
5651
5696
|
|
|
5652
5697
|
// src/contracts/page-preview.ts
|
|
5653
|
-
var
|
|
5698
|
+
var import_zod_openapi55 = require("@hono/zod-openapi");
|
|
5654
5699
|
|
|
5655
5700
|
// src/schemas/page-preview.ts
|
|
5656
|
-
var
|
|
5657
|
-
var PreviewPageRequestSchema =
|
|
5658
|
-
body:
|
|
5701
|
+
var import_zod_openapi54 = require("@hono/zod-openapi");
|
|
5702
|
+
var PreviewPageRequestSchema = import_zod_openapi54.z.object({
|
|
5703
|
+
body: import_zod_openapi54.z.string()
|
|
5659
5704
|
});
|
|
5660
|
-
var PreviewPageResponseSchema =
|
|
5705
|
+
var PreviewPageResponseSchema = import_zod_openapi54.z.object({
|
|
5661
5706
|
renderedAst: RenderedAstValueSchema.optional(),
|
|
5662
5707
|
renderedAstArtifactKey: RenderedAstArtifactKeySchema.optional()
|
|
5663
5708
|
});
|
|
5664
5709
|
|
|
5665
5710
|
// src/contracts/page-preview.ts
|
|
5666
|
-
var previewPageRoute = (0,
|
|
5711
|
+
var previewPageRoute = (0, import_zod_openapi55.createRoute)({
|
|
5667
5712
|
method: "post",
|
|
5668
5713
|
path: "/pages/preview",
|
|
5669
5714
|
tags: ["page-preview"],
|
|
@@ -5701,80 +5746,80 @@ var pagePreviewRoutes = {
|
|
|
5701
5746
|
};
|
|
5702
5747
|
|
|
5703
5748
|
// src/contracts/presence.ts
|
|
5704
|
-
var
|
|
5749
|
+
var import_zod_openapi57 = require("@hono/zod-openapi");
|
|
5705
5750
|
|
|
5706
5751
|
// src/schemas/presence.ts
|
|
5707
|
-
var
|
|
5708
|
-
var PresenceTokenResponseSchema =
|
|
5709
|
-
token:
|
|
5710
|
-
pageId:
|
|
5711
|
-
selfUserId:
|
|
5712
|
-
expiresAt:
|
|
5713
|
-
});
|
|
5714
|
-
var PresenceTokenPayloadSchema =
|
|
5715
|
-
userId:
|
|
5716
|
-
pageId:
|
|
5717
|
-
iat:
|
|
5718
|
-
exp:
|
|
5719
|
-
});
|
|
5720
|
-
var PresenceViewerSchema =
|
|
5721
|
-
userId:
|
|
5722
|
-
username:
|
|
5723
|
-
displayName:
|
|
5724
|
-
avatarUrl:
|
|
5725
|
-
isEditing:
|
|
5726
|
-
joinedAt:
|
|
5727
|
-
});
|
|
5728
|
-
var PresenceHeartbeatMessageSchema =
|
|
5729
|
-
type:
|
|
5752
|
+
var import_zod_openapi56 = require("@hono/zod-openapi");
|
|
5753
|
+
var PresenceTokenResponseSchema = import_zod_openapi56.z.object({
|
|
5754
|
+
token: import_zod_openapi56.z.string(),
|
|
5755
|
+
pageId: import_zod_openapi56.z.string(),
|
|
5756
|
+
selfUserId: import_zod_openapi56.z.string(),
|
|
5757
|
+
expiresAt: import_zod_openapi56.z.string()
|
|
5758
|
+
});
|
|
5759
|
+
var PresenceTokenPayloadSchema = import_zod_openapi56.z.object({
|
|
5760
|
+
userId: import_zod_openapi56.z.string(),
|
|
5761
|
+
pageId: import_zod_openapi56.z.string(),
|
|
5762
|
+
iat: import_zod_openapi56.z.number().int(),
|
|
5763
|
+
exp: import_zod_openapi56.z.number().int()
|
|
5764
|
+
});
|
|
5765
|
+
var PresenceViewerSchema = import_zod_openapi56.z.object({
|
|
5766
|
+
userId: import_zod_openapi56.z.string(),
|
|
5767
|
+
username: import_zod_openapi56.z.string(),
|
|
5768
|
+
displayName: import_zod_openapi56.z.string(),
|
|
5769
|
+
avatarUrl: import_zod_openapi56.z.string().nullable(),
|
|
5770
|
+
isEditing: import_zod_openapi56.z.boolean(),
|
|
5771
|
+
joinedAt: import_zod_openapi56.z.number().int()
|
|
5772
|
+
});
|
|
5773
|
+
var PresenceHeartbeatMessageSchema = import_zod_openapi56.z.object({
|
|
5774
|
+
type: import_zod_openapi56.z.literal("heartbeat")
|
|
5730
5775
|
});
|
|
5731
5776
|
var PresenceClientMessageSchema = PresenceHeartbeatMessageSchema;
|
|
5732
|
-
var PresenceViewersMessageSchema =
|
|
5733
|
-
type:
|
|
5734
|
-
viewers:
|
|
5735
|
-
generation:
|
|
5736
|
-
});
|
|
5737
|
-
var PresencePageUpdatedMessageSchema =
|
|
5738
|
-
type:
|
|
5739
|
-
pageId:
|
|
5740
|
-
revisionId:
|
|
5741
|
-
editorUserId:
|
|
5742
|
-
editorDisplayName:
|
|
5743
|
-
});
|
|
5744
|
-
var PresenceCommentChangedMessageSchema =
|
|
5745
|
-
type:
|
|
5746
|
-
pageId:
|
|
5747
|
-
changeType:
|
|
5748
|
-
commentId:
|
|
5749
|
-
actorUserId:
|
|
5750
|
-
});
|
|
5751
|
-
var PresenceServerMessageSchema =
|
|
5777
|
+
var PresenceViewersMessageSchema = import_zod_openapi56.z.object({
|
|
5778
|
+
type: import_zod_openapi56.z.literal("viewers"),
|
|
5779
|
+
viewers: import_zod_openapi56.z.array(PresenceViewerSchema),
|
|
5780
|
+
generation: import_zod_openapi56.z.number().int()
|
|
5781
|
+
});
|
|
5782
|
+
var PresencePageUpdatedMessageSchema = import_zod_openapi56.z.object({
|
|
5783
|
+
type: import_zod_openapi56.z.literal("page-updated"),
|
|
5784
|
+
pageId: import_zod_openapi56.z.string(),
|
|
5785
|
+
revisionId: import_zod_openapi56.z.string(),
|
|
5786
|
+
editorUserId: import_zod_openapi56.z.string(),
|
|
5787
|
+
editorDisplayName: import_zod_openapi56.z.string()
|
|
5788
|
+
});
|
|
5789
|
+
var PresenceCommentChangedMessageSchema = import_zod_openapi56.z.object({
|
|
5790
|
+
type: import_zod_openapi56.z.literal("comment-changed"),
|
|
5791
|
+
pageId: import_zod_openapi56.z.string(),
|
|
5792
|
+
changeType: import_zod_openapi56.z.enum(["added", "removed"]),
|
|
5793
|
+
commentId: import_zod_openapi56.z.string(),
|
|
5794
|
+
actorUserId: import_zod_openapi56.z.string().optional()
|
|
5795
|
+
});
|
|
5796
|
+
var PresenceServerMessageSchema = import_zod_openapi56.z.discriminatedUnion("type", [
|
|
5752
5797
|
PresenceViewersMessageSchema,
|
|
5753
5798
|
PresencePageUpdatedMessageSchema,
|
|
5754
5799
|
PresenceCommentChangedMessageSchema
|
|
5755
5800
|
]);
|
|
5756
|
-
var LikerSchema =
|
|
5757
|
-
id:
|
|
5758
|
-
username:
|
|
5759
|
-
displayName:
|
|
5760
|
-
avatarUrl:
|
|
5761
|
-
likedAt:
|
|
5762
|
-
});
|
|
5763
|
-
var LikersResponseSchema =
|
|
5764
|
-
users:
|
|
5765
|
-
totalCount:
|
|
5766
|
-
});
|
|
5767
|
-
var GetLikersRequestSchema =
|
|
5801
|
+
var LikerSchema = import_zod_openapi56.z.object({
|
|
5802
|
+
id: import_zod_openapi56.z.string(),
|
|
5803
|
+
username: import_zod_openapi56.z.string(),
|
|
5804
|
+
displayName: import_zod_openapi56.z.string(),
|
|
5805
|
+
avatarUrl: import_zod_openapi56.z.string().nullable(),
|
|
5806
|
+
likedAt: import_zod_openapi56.z.string().nullable()
|
|
5807
|
+
});
|
|
5808
|
+
var LikersResponseSchema = import_zod_openapi56.z.object({
|
|
5809
|
+
users: import_zod_openapi56.z.array(LikerSchema),
|
|
5810
|
+
totalCount: import_zod_openapi56.z.number().int().nonnegative()
|
|
5811
|
+
});
|
|
5812
|
+
var GetLikersRequestSchema = import_zod_openapi56.z.object({
|
|
5768
5813
|
// Optional cap on returned `users`. `totalCount` always reflects the
|
|
5769
5814
|
// full count regardless of `limit`. Omit for the full list.
|
|
5770
|
-
limit:
|
|
5815
|
+
limit: import_zod_openapi56.z.coerce.number().int().positive().optional()
|
|
5771
5816
|
});
|
|
5772
5817
|
|
|
5773
5818
|
// src/contracts/presence.ts
|
|
5774
|
-
var PageIdPathParamsSchema3 =
|
|
5775
|
-
id:
|
|
5819
|
+
var PageIdPathParamsSchema3 = import_zod_openapi57.z.object({
|
|
5820
|
+
id: import_zod_openapi57.z.string().openapi({ description: "Page id (24-char hex ObjectId)", example: "507f1f77bcf86cd799439011" })
|
|
5776
5821
|
});
|
|
5777
|
-
var getPresenceTokenRoute = (0,
|
|
5822
|
+
var getPresenceTokenRoute = (0, import_zod_openapi57.createRoute)({
|
|
5778
5823
|
method: "get",
|
|
5779
5824
|
path: "/pages/{id}/presence-token",
|
|
5780
5825
|
tags: ["presence"],
|
|
@@ -5806,7 +5851,7 @@ var getPresenceTokenRoute = (0, import_zod_openapi56.createRoute)({
|
|
|
5806
5851
|
}
|
|
5807
5852
|
}
|
|
5808
5853
|
});
|
|
5809
|
-
var getLikersRoute = (0,
|
|
5854
|
+
var getLikersRoute = (0, import_zod_openapi57.createRoute)({
|
|
5810
5855
|
method: "get",
|
|
5811
5856
|
path: "/pages/{id}/likers",
|
|
5812
5857
|
tags: ["presence"],
|
|
@@ -5845,50 +5890,50 @@ var presenceRoutes = {
|
|
|
5845
5890
|
};
|
|
5846
5891
|
|
|
5847
5892
|
// src/contracts/revision.ts
|
|
5848
|
-
var
|
|
5893
|
+
var import_zod_openapi59 = require("@hono/zod-openapi");
|
|
5849
5894
|
|
|
5850
5895
|
// src/schemas/revision.ts
|
|
5851
|
-
var
|
|
5852
|
-
var RevisionMetaSchema =
|
|
5853
|
-
_id:
|
|
5854
|
-
path:
|
|
5896
|
+
var import_zod_openapi58 = require("@hono/zod-openapi");
|
|
5897
|
+
var RevisionMetaSchema = import_zod_openapi58.z.object({
|
|
5898
|
+
_id: import_zod_openapi58.z.string(),
|
|
5899
|
+
path: import_zod_openapi58.z.string(),
|
|
5855
5900
|
author: PageUserSchema.nullable().optional(),
|
|
5856
5901
|
savedBy: PageUserSchema.nullable().optional(),
|
|
5857
|
-
contributors:
|
|
5902
|
+
contributors: import_zod_openapi58.z.array(PageUserSchema).optional(),
|
|
5858
5903
|
// RFC-0010 — edit channel. `web` (browser / collab editor) vs the API
|
|
5859
5904
|
// token paths (`oauth` / `pat`). Absent on pre-RFC-0010 revisions. The
|
|
5860
5905
|
// history UI shows an "app" chip for the token paths.
|
|
5861
|
-
editVia:
|
|
5862
|
-
createdAt:
|
|
5906
|
+
editVia: import_zod_openapi58.z.enum(["web", "oauth", "pat"]).optional(),
|
|
5907
|
+
createdAt: import_zod_openapi58.z.string()
|
|
5863
5908
|
});
|
|
5864
|
-
var ListRevisionsRequestSchema =
|
|
5865
|
-
limit:
|
|
5866
|
-
offset:
|
|
5909
|
+
var ListRevisionsRequestSchema = import_zod_openapi58.z.object({
|
|
5910
|
+
limit: import_zod_openapi58.z.coerce.number().int().positive().max(200).optional().default(50),
|
|
5911
|
+
offset: import_zod_openapi58.z.coerce.number().int().min(0).optional().default(0)
|
|
5867
5912
|
});
|
|
5868
|
-
var ListRevisionsResponseSchema =
|
|
5869
|
-
revisions:
|
|
5913
|
+
var ListRevisionsResponseSchema = import_zod_openapi58.z.object({
|
|
5914
|
+
revisions: import_zod_openapi58.z.array(RevisionMetaSchema),
|
|
5870
5915
|
pager: PagerSchema
|
|
5871
5916
|
});
|
|
5872
|
-
var GetRevisionResponseSchema =
|
|
5917
|
+
var GetRevisionResponseSchema = import_zod_openapi58.z.object({
|
|
5873
5918
|
revision: RevisionSchema
|
|
5874
5919
|
});
|
|
5875
|
-
var GetRevisionsRequestSchema =
|
|
5876
|
-
ids:
|
|
5920
|
+
var GetRevisionsRequestSchema = import_zod_openapi58.z.object({
|
|
5921
|
+
ids: import_zod_openapi58.z.string().min(1, "ids is required")
|
|
5877
5922
|
});
|
|
5878
|
-
var GetRevisionsResponseSchema =
|
|
5879
|
-
revisions:
|
|
5923
|
+
var GetRevisionsResponseSchema = import_zod_openapi58.z.object({
|
|
5924
|
+
revisions: import_zod_openapi58.z.array(RevisionSchema)
|
|
5880
5925
|
});
|
|
5881
|
-
var RevisionInvalidRequestErrorSchema =
|
|
5882
|
-
error:
|
|
5883
|
-
code:
|
|
5884
|
-
message:
|
|
5926
|
+
var RevisionInvalidRequestErrorSchema = import_zod_openapi58.z.object({
|
|
5927
|
+
error: import_zod_openapi58.z.object({
|
|
5928
|
+
code: import_zod_openapi58.z.literal("INVALID_REQUEST"),
|
|
5929
|
+
message: import_zod_openapi58.z.string()
|
|
5885
5930
|
})
|
|
5886
5931
|
});
|
|
5887
5932
|
|
|
5888
5933
|
// src/contracts/revision.ts
|
|
5889
|
-
var PageIdParamSchema =
|
|
5890
|
-
var RevisionIdParamSchema =
|
|
5891
|
-
var listRevisionsRoute = (0,
|
|
5934
|
+
var PageIdParamSchema = import_zod_openapi59.z.object({ page_id: import_zod_openapi59.z.string() });
|
|
5935
|
+
var RevisionIdParamSchema = import_zod_openapi59.z.object({ id: import_zod_openapi59.z.string() });
|
|
5936
|
+
var listRevisionsRoute = (0, import_zod_openapi59.createRoute)({
|
|
5892
5937
|
method: "get",
|
|
5893
5938
|
path: "/pages/{page_id}/revisions",
|
|
5894
5939
|
tags: ["revision"],
|
|
@@ -5917,7 +5962,7 @@ var listRevisionsRoute = (0, import_zod_openapi58.createRoute)({
|
|
|
5917
5962
|
}
|
|
5918
5963
|
}
|
|
5919
5964
|
});
|
|
5920
|
-
var getRevisionsRoute = (0,
|
|
5965
|
+
var getRevisionsRoute = (0, import_zod_openapi59.createRoute)({
|
|
5921
5966
|
method: "get",
|
|
5922
5967
|
path: "/pages/revisions",
|
|
5923
5968
|
tags: ["revision"],
|
|
@@ -5945,7 +5990,7 @@ var getRevisionsRoute = (0, import_zod_openapi58.createRoute)({
|
|
|
5945
5990
|
}
|
|
5946
5991
|
}
|
|
5947
5992
|
});
|
|
5948
|
-
var getRevisionRoute = (0,
|
|
5993
|
+
var getRevisionRoute = (0, import_zod_openapi59.createRoute)({
|
|
5949
5994
|
method: "get",
|
|
5950
5995
|
path: "/pages/revisions/{id}",
|
|
5951
5996
|
tags: ["revision"],
|
|
@@ -5983,39 +6028,39 @@ var revisionRoutes = {
|
|
|
5983
6028
|
};
|
|
5984
6029
|
|
|
5985
6030
|
// src/contracts/admin-crypto.ts
|
|
5986
|
-
var
|
|
6031
|
+
var import_zod_openapi61 = require("@hono/zod-openapi");
|
|
5987
6032
|
|
|
5988
6033
|
// src/schemas/admin-crypto.ts
|
|
5989
|
-
var
|
|
5990
|
-
var SensitiveConfigEntrySchema =
|
|
5991
|
-
ns:
|
|
5992
|
-
key:
|
|
5993
|
-
present:
|
|
5994
|
-
encrypted:
|
|
6034
|
+
var import_zod_openapi60 = require("@hono/zod-openapi");
|
|
6035
|
+
var SensitiveConfigEntrySchema = import_zod_openapi60.z.object({
|
|
6036
|
+
ns: import_zod_openapi60.z.string(),
|
|
6037
|
+
key: import_zod_openapi60.z.string(),
|
|
6038
|
+
present: import_zod_openapi60.z.boolean(),
|
|
6039
|
+
encrypted: import_zod_openapi60.z.boolean()
|
|
5995
6040
|
});
|
|
5996
|
-
var CryptoStatusResponseSchema =
|
|
6041
|
+
var CryptoStatusResponseSchema = import_zod_openapi60.z.object({
|
|
5997
6042
|
/** False when CROWI_ENCRYPTION_KEY is not configured — UI shows a setup hint. */
|
|
5998
|
-
encryptionConfigured:
|
|
5999
|
-
unencryptedCount:
|
|
6000
|
-
encryptedCount:
|
|
6001
|
-
entries:
|
|
6043
|
+
encryptionConfigured: import_zod_openapi60.z.boolean(),
|
|
6044
|
+
unencryptedCount: import_zod_openapi60.z.number().int().min(0),
|
|
6045
|
+
encryptedCount: import_zod_openapi60.z.number().int().min(0),
|
|
6046
|
+
entries: import_zod_openapi60.z.array(SensitiveConfigEntrySchema)
|
|
6002
6047
|
});
|
|
6003
|
-
var ReencryptResponseSchema =
|
|
6004
|
-
rewritten:
|
|
6048
|
+
var ReencryptResponseSchema = import_zod_openapi60.z.object({
|
|
6049
|
+
rewritten: import_zod_openapi60.z.number().int().min(0),
|
|
6005
6050
|
/** Already encrypted, skipped on this run. */
|
|
6006
|
-
alreadyEncrypted:
|
|
6051
|
+
alreadyEncrypted: import_zod_openapi60.z.number().int().min(0),
|
|
6007
6052
|
/** Sensitive registry entries that had no row in the DB at all. */
|
|
6008
|
-
missing:
|
|
6053
|
+
missing: import_zod_openapi60.z.number().int().min(0)
|
|
6009
6054
|
});
|
|
6010
|
-
var EncryptionNotConfiguredErrorSchema =
|
|
6011
|
-
error:
|
|
6012
|
-
code:
|
|
6013
|
-
message:
|
|
6055
|
+
var EncryptionNotConfiguredErrorSchema = import_zod_openapi60.z.object({
|
|
6056
|
+
error: import_zod_openapi60.z.object({
|
|
6057
|
+
code: import_zod_openapi60.z.literal("ENCRYPTION_NOT_CONFIGURED"),
|
|
6058
|
+
message: import_zod_openapi60.z.string()
|
|
6014
6059
|
})
|
|
6015
6060
|
});
|
|
6016
6061
|
|
|
6017
6062
|
// src/contracts/admin-crypto.ts
|
|
6018
|
-
var getCryptoStatusRoute = (0,
|
|
6063
|
+
var getCryptoStatusRoute = (0, import_zod_openapi61.createRoute)({
|
|
6019
6064
|
method: "get",
|
|
6020
6065
|
path: "/admin/crypto/status",
|
|
6021
6066
|
tags: ["adminCrypto"],
|
|
@@ -6040,7 +6085,7 @@ var getCryptoStatusRoute = (0, import_zod_openapi60.createRoute)({
|
|
|
6040
6085
|
}
|
|
6041
6086
|
}
|
|
6042
6087
|
});
|
|
6043
|
-
var reencryptAllRoute = (0,
|
|
6088
|
+
var reencryptAllRoute = (0, import_zod_openapi61.createRoute)({
|
|
6044
6089
|
method: "post",
|
|
6045
6090
|
path: "/admin/crypto/reencrypt",
|
|
6046
6091
|
tags: ["adminCrypto"],
|
|
@@ -6075,37 +6120,37 @@ var adminCryptoRoutes = {
|
|
|
6075
6120
|
};
|
|
6076
6121
|
|
|
6077
6122
|
// src/contracts/search.ts
|
|
6078
|
-
var
|
|
6123
|
+
var import_zod_openapi63 = require("@hono/zod-openapi");
|
|
6079
6124
|
|
|
6080
6125
|
// src/schemas/search.ts
|
|
6081
|
-
var
|
|
6082
|
-
var SearchPageTypeSchema =
|
|
6083
|
-
var SearchPagesRequestSchema =
|
|
6084
|
-
q:
|
|
6085
|
-
tree:
|
|
6126
|
+
var import_zod_openapi62 = require("@hono/zod-openapi");
|
|
6127
|
+
var SearchPageTypeSchema = import_zod_openapi62.z.enum(["portal", "public", "user"]);
|
|
6128
|
+
var SearchPagesRequestSchema = import_zod_openapi62.z.object({
|
|
6129
|
+
q: import_zod_openapi62.z.string().min(1),
|
|
6130
|
+
tree: import_zod_openapi62.z.string().optional(),
|
|
6086
6131
|
type: SearchPageTypeSchema.optional(),
|
|
6087
|
-
page:
|
|
6088
|
-
limit:
|
|
6089
|
-
});
|
|
6090
|
-
var SearchHitSchema =
|
|
6091
|
-
pageId:
|
|
6092
|
-
path:
|
|
6093
|
-
score:
|
|
6094
|
-
snippet:
|
|
6095
|
-
bookmarkCount:
|
|
6132
|
+
page: import_zod_openapi62.z.coerce.number().int().min(1).default(1),
|
|
6133
|
+
limit: import_zod_openapi62.z.coerce.number().int().min(1).max(100).default(50)
|
|
6134
|
+
});
|
|
6135
|
+
var SearchHitSchema = import_zod_openapi62.z.object({
|
|
6136
|
+
pageId: import_zod_openapi62.z.string(),
|
|
6137
|
+
path: import_zod_openapi62.z.string(),
|
|
6138
|
+
score: import_zod_openapi62.z.number().optional(),
|
|
6139
|
+
snippet: import_zod_openapi62.z.string().optional(),
|
|
6140
|
+
bookmarkCount: import_zod_openapi62.z.number(),
|
|
6096
6141
|
page: PageSchema
|
|
6097
6142
|
});
|
|
6098
|
-
var SearchPagesResponseSchema =
|
|
6099
|
-
meta:
|
|
6100
|
-
took:
|
|
6101
|
-
total:
|
|
6102
|
-
results:
|
|
6143
|
+
var SearchPagesResponseSchema = import_zod_openapi62.z.object({
|
|
6144
|
+
meta: import_zod_openapi62.z.object({
|
|
6145
|
+
took: import_zod_openapi62.z.number().optional(),
|
|
6146
|
+
total: import_zod_openapi62.z.number(),
|
|
6147
|
+
results: import_zod_openapi62.z.number()
|
|
6103
6148
|
}),
|
|
6104
|
-
data:
|
|
6149
|
+
data: import_zod_openapi62.z.array(SearchHitSchema)
|
|
6105
6150
|
});
|
|
6106
6151
|
|
|
6107
6152
|
// src/contracts/search.ts
|
|
6108
|
-
var searchPagesRoute = (0,
|
|
6153
|
+
var searchPagesRoute = (0, import_zod_openapi63.createRoute)({
|
|
6109
6154
|
method: "get",
|
|
6110
6155
|
path: "/search",
|
|
6111
6156
|
tags: ["search"],
|
|
@@ -6142,56 +6187,56 @@ var searchRoutes = {
|
|
|
6142
6187
|
};
|
|
6143
6188
|
|
|
6144
6189
|
// src/contracts/token-auth.ts
|
|
6145
|
-
var
|
|
6190
|
+
var import_zod_openapi65 = require("@hono/zod-openapi");
|
|
6146
6191
|
|
|
6147
6192
|
// src/schemas/auth.ts
|
|
6148
|
-
var
|
|
6149
|
-
var TokenAuthLoginRequestSchema =
|
|
6150
|
-
email:
|
|
6151
|
-
password:
|
|
6152
|
-
});
|
|
6153
|
-
var TokenAuthResponseSchema =
|
|
6154
|
-
accessToken:
|
|
6155
|
-
refreshToken:
|
|
6156
|
-
expiresIn:
|
|
6193
|
+
var import_zod_openapi64 = require("@hono/zod-openapi");
|
|
6194
|
+
var TokenAuthLoginRequestSchema = import_zod_openapi64.z.object({
|
|
6195
|
+
email: import_zod_openapi64.z.string().email(),
|
|
6196
|
+
password: import_zod_openapi64.z.string().min(6)
|
|
6197
|
+
});
|
|
6198
|
+
var TokenAuthResponseSchema = import_zod_openapi64.z.object({
|
|
6199
|
+
accessToken: import_zod_openapi64.z.string(),
|
|
6200
|
+
refreshToken: import_zod_openapi64.z.string(),
|
|
6201
|
+
expiresIn: import_zod_openapi64.z.number(),
|
|
6157
6202
|
// seconds until expiration
|
|
6158
|
-
user:
|
|
6159
|
-
id:
|
|
6160
|
-
username:
|
|
6161
|
-
email:
|
|
6162
|
-
name:
|
|
6163
|
-
image:
|
|
6164
|
-
admin:
|
|
6203
|
+
user: import_zod_openapi64.z.object({
|
|
6204
|
+
id: import_zod_openapi64.z.string(),
|
|
6205
|
+
username: import_zod_openapi64.z.string(),
|
|
6206
|
+
email: import_zod_openapi64.z.string().email(),
|
|
6207
|
+
name: import_zod_openapi64.z.string(),
|
|
6208
|
+
image: import_zod_openapi64.z.string().optional(),
|
|
6209
|
+
admin: import_zod_openapi64.z.boolean().optional()
|
|
6165
6210
|
})
|
|
6166
6211
|
});
|
|
6167
|
-
var RefreshTokenRequestSchema =
|
|
6168
|
-
refreshToken:
|
|
6212
|
+
var RefreshTokenRequestSchema = import_zod_openapi64.z.object({
|
|
6213
|
+
refreshToken: import_zod_openapi64.z.string()
|
|
6169
6214
|
});
|
|
6170
|
-
var TokenAuthRegisterRequestSchema =
|
|
6171
|
-
username:
|
|
6172
|
-
name:
|
|
6173
|
-
email:
|
|
6174
|
-
password:
|
|
6215
|
+
var TokenAuthRegisterRequestSchema = import_zod_openapi64.z.object({
|
|
6216
|
+
username: UsernameSchema,
|
|
6217
|
+
name: import_zod_openapi64.z.string(),
|
|
6218
|
+
email: import_zod_openapi64.z.string().email(),
|
|
6219
|
+
password: import_zod_openapi64.z.string().min(6)
|
|
6175
6220
|
});
|
|
6176
|
-
var RegisterPendingResponseSchema =
|
|
6177
|
-
status:
|
|
6221
|
+
var RegisterPendingResponseSchema = import_zod_openapi64.z.object({
|
|
6222
|
+
status: import_zod_openapi64.z.enum(["confirmation_required", "approval_required"])
|
|
6178
6223
|
});
|
|
6179
6224
|
|
|
6180
6225
|
// src/contracts/token-auth.ts
|
|
6181
|
-
var TokenLogoutResponseSchema =
|
|
6182
|
-
var TokenMeResponseSchema =
|
|
6183
|
-
user:
|
|
6184
|
-
id:
|
|
6185
|
-
username:
|
|
6186
|
-
email:
|
|
6187
|
-
name:
|
|
6188
|
-
image:
|
|
6189
|
-
status:
|
|
6190
|
-
admin:
|
|
6191
|
-
createdAt:
|
|
6226
|
+
var TokenLogoutResponseSchema = import_zod_openapi65.z.object({ message: import_zod_openapi65.z.string() });
|
|
6227
|
+
var TokenMeResponseSchema = import_zod_openapi65.z.object({
|
|
6228
|
+
user: import_zod_openapi65.z.object({
|
|
6229
|
+
id: import_zod_openapi65.z.string(),
|
|
6230
|
+
username: import_zod_openapi65.z.string(),
|
|
6231
|
+
email: import_zod_openapi65.z.string().email(),
|
|
6232
|
+
name: import_zod_openapi65.z.string(),
|
|
6233
|
+
image: import_zod_openapi65.z.string().optional(),
|
|
6234
|
+
status: import_zod_openapi65.z.number(),
|
|
6235
|
+
admin: import_zod_openapi65.z.boolean().optional(),
|
|
6236
|
+
createdAt: import_zod_openapi65.z.string()
|
|
6192
6237
|
})
|
|
6193
6238
|
});
|
|
6194
|
-
var tokenLoginRoute = (0,
|
|
6239
|
+
var tokenLoginRoute = (0, import_zod_openapi65.createRoute)({
|
|
6195
6240
|
method: "post",
|
|
6196
6241
|
path: "/auth/login",
|
|
6197
6242
|
tags: ["tokenAuth"],
|
|
@@ -6228,7 +6273,7 @@ var tokenLoginRoute = (0, import_zod_openapi64.createRoute)({
|
|
|
6228
6273
|
}
|
|
6229
6274
|
}
|
|
6230
6275
|
});
|
|
6231
|
-
var tokenRegisterRoute = (0,
|
|
6276
|
+
var tokenRegisterRoute = (0, import_zod_openapi65.createRoute)({
|
|
6232
6277
|
method: "post",
|
|
6233
6278
|
path: "/auth/register",
|
|
6234
6279
|
tags: ["tokenAuth"],
|
|
@@ -6269,7 +6314,7 @@ var tokenRegisterRoute = (0, import_zod_openapi64.createRoute)({
|
|
|
6269
6314
|
}
|
|
6270
6315
|
}
|
|
6271
6316
|
});
|
|
6272
|
-
var tokenRefreshRoute = (0,
|
|
6317
|
+
var tokenRefreshRoute = (0, import_zod_openapi65.createRoute)({
|
|
6273
6318
|
method: "post",
|
|
6274
6319
|
path: "/auth/refresh",
|
|
6275
6320
|
tags: ["tokenAuth"],
|
|
@@ -6306,7 +6351,7 @@ var tokenRefreshRoute = (0, import_zod_openapi64.createRoute)({
|
|
|
6306
6351
|
}
|
|
6307
6352
|
}
|
|
6308
6353
|
});
|
|
6309
|
-
var tokenLogoutRoute = (0,
|
|
6354
|
+
var tokenLogoutRoute = (0, import_zod_openapi65.createRoute)({
|
|
6310
6355
|
method: "post",
|
|
6311
6356
|
path: "/auth/logout",
|
|
6312
6357
|
tags: ["tokenAuth"],
|
|
@@ -6316,7 +6361,7 @@ var tokenLogoutRoute = (0, import_zod_openapi64.createRoute)({
|
|
|
6316
6361
|
body: {
|
|
6317
6362
|
content: {
|
|
6318
6363
|
"application/json": {
|
|
6319
|
-
schema:
|
|
6364
|
+
schema: import_zod_openapi65.z.object({ refreshToken: import_zod_openapi65.z.string().optional() })
|
|
6320
6365
|
}
|
|
6321
6366
|
}
|
|
6322
6367
|
}
|
|
@@ -6336,7 +6381,7 @@ var tokenLogoutRoute = (0, import_zod_openapi64.createRoute)({
|
|
|
6336
6381
|
}
|
|
6337
6382
|
}
|
|
6338
6383
|
});
|
|
6339
|
-
var tokenMeRoute = (0,
|
|
6384
|
+
var tokenMeRoute = (0, import_zod_openapi65.createRoute)({
|
|
6340
6385
|
method: "get",
|
|
6341
6386
|
path: "/auth/me",
|
|
6342
6387
|
tags: ["tokenAuth"],
|
|
@@ -6366,22 +6411,22 @@ var tokenAuthRoutes = {
|
|
|
6366
6411
|
};
|
|
6367
6412
|
|
|
6368
6413
|
// src/contracts/invite-accept.ts
|
|
6369
|
-
var
|
|
6414
|
+
var import_zod_openapi67 = require("@hono/zod-openapi");
|
|
6370
6415
|
|
|
6371
6416
|
// src/schemas/invite-accept.ts
|
|
6372
|
-
var
|
|
6373
|
-
var InviteAcceptRequestSchema =
|
|
6374
|
-
token:
|
|
6375
|
-
username:
|
|
6376
|
-
name:
|
|
6377
|
-
password:
|
|
6417
|
+
var import_zod_openapi66 = require("@hono/zod-openapi");
|
|
6418
|
+
var InviteAcceptRequestSchema = import_zod_openapi66.z.object({
|
|
6419
|
+
token: import_zod_openapi66.z.string(),
|
|
6420
|
+
username: UsernameSchema,
|
|
6421
|
+
name: import_zod_openapi66.z.string().min(1),
|
|
6422
|
+
password: import_zod_openapi66.z.string().min(6)
|
|
6378
6423
|
});
|
|
6379
|
-
var InvitePreviewResponseSchema =
|
|
6380
|
-
email:
|
|
6424
|
+
var InvitePreviewResponseSchema = import_zod_openapi66.z.object({
|
|
6425
|
+
email: import_zod_openapi66.z.string().email()
|
|
6381
6426
|
});
|
|
6382
6427
|
|
|
6383
6428
|
// src/contracts/invite-accept.ts
|
|
6384
|
-
var invitePreviewRoute = (0,
|
|
6429
|
+
var invitePreviewRoute = (0, import_zod_openapi67.createRoute)({
|
|
6385
6430
|
method: "get",
|
|
6386
6431
|
path: "/invite/accept",
|
|
6387
6432
|
tags: ["inviteAccept"],
|
|
@@ -6408,7 +6453,7 @@ var invitePreviewRoute = (0, import_zod_openapi66.createRoute)({
|
|
|
6408
6453
|
}
|
|
6409
6454
|
}
|
|
6410
6455
|
});
|
|
6411
|
-
var acceptInviteRoute = (0,
|
|
6456
|
+
var acceptInviteRoute = (0, import_zod_openapi67.createRoute)({
|
|
6412
6457
|
method: "post",
|
|
6413
6458
|
path: "/invite/accept",
|
|
6414
6459
|
tags: ["inviteAccept"],
|
|
@@ -6451,23 +6496,23 @@ var inviteAcceptRoutes = {
|
|
|
6451
6496
|
};
|
|
6452
6497
|
|
|
6453
6498
|
// src/contracts/password-reset.ts
|
|
6454
|
-
var
|
|
6499
|
+
var import_zod_openapi69 = require("@hono/zod-openapi");
|
|
6455
6500
|
|
|
6456
6501
|
// src/schemas/password-reset.ts
|
|
6457
|
-
var
|
|
6458
|
-
var ForgotPasswordRequestSchema =
|
|
6459
|
-
email:
|
|
6502
|
+
var import_zod_openapi68 = require("@hono/zod-openapi");
|
|
6503
|
+
var ForgotPasswordRequestSchema = import_zod_openapi68.z.object({
|
|
6504
|
+
email: import_zod_openapi68.z.string().email()
|
|
6460
6505
|
});
|
|
6461
|
-
var ForgotPasswordResponseSchema =
|
|
6462
|
-
ok:
|
|
6506
|
+
var ForgotPasswordResponseSchema = import_zod_openapi68.z.object({
|
|
6507
|
+
ok: import_zod_openapi68.z.literal(true)
|
|
6463
6508
|
});
|
|
6464
|
-
var ResetPasswordRequestSchema =
|
|
6465
|
-
token:
|
|
6466
|
-
password:
|
|
6509
|
+
var ResetPasswordRequestSchema = import_zod_openapi68.z.object({
|
|
6510
|
+
token: import_zod_openapi68.z.string(),
|
|
6511
|
+
password: import_zod_openapi68.z.string().min(6)
|
|
6467
6512
|
});
|
|
6468
6513
|
|
|
6469
6514
|
// src/contracts/password-reset.ts
|
|
6470
|
-
var forgotPasswordRoute = (0,
|
|
6515
|
+
var forgotPasswordRoute = (0, import_zod_openapi69.createRoute)({
|
|
6471
6516
|
method: "post",
|
|
6472
6517
|
path: "/auth/forgot-password",
|
|
6473
6518
|
tags: ["passwordReset"],
|
|
@@ -6492,7 +6537,7 @@ var forgotPasswordRoute = (0, import_zod_openapi68.createRoute)({
|
|
|
6492
6537
|
}
|
|
6493
6538
|
}
|
|
6494
6539
|
});
|
|
6495
|
-
var validateResetTokenRoute = (0,
|
|
6540
|
+
var validateResetTokenRoute = (0, import_zod_openapi69.createRoute)({
|
|
6496
6541
|
method: "get",
|
|
6497
6542
|
path: "/auth/reset-password",
|
|
6498
6543
|
tags: ["passwordReset"],
|
|
@@ -6515,7 +6560,7 @@ var validateResetTokenRoute = (0, import_zod_openapi68.createRoute)({
|
|
|
6515
6560
|
}
|
|
6516
6561
|
}
|
|
6517
6562
|
});
|
|
6518
|
-
var selfResetPasswordRoute = (0,
|
|
6563
|
+
var selfResetPasswordRoute = (0, import_zod_openapi69.createRoute)({
|
|
6519
6564
|
method: "post",
|
|
6520
6565
|
path: "/auth/reset-password",
|
|
6521
6566
|
tags: ["passwordReset"],
|
|
@@ -6555,19 +6600,19 @@ var passwordResetRoutes = {
|
|
|
6555
6600
|
};
|
|
6556
6601
|
|
|
6557
6602
|
// src/contracts/activation.ts
|
|
6558
|
-
var
|
|
6603
|
+
var import_zod_openapi71 = require("@hono/zod-openapi");
|
|
6559
6604
|
|
|
6560
6605
|
// src/schemas/activation.ts
|
|
6561
|
-
var
|
|
6562
|
-
var ActivateRequestSchema =
|
|
6563
|
-
token:
|
|
6606
|
+
var import_zod_openapi70 = require("@hono/zod-openapi");
|
|
6607
|
+
var ActivateRequestSchema = import_zod_openapi70.z.object({
|
|
6608
|
+
token: import_zod_openapi70.z.string()
|
|
6564
6609
|
});
|
|
6565
|
-
var ActivateValidationResponseSchema =
|
|
6566
|
-
ok:
|
|
6610
|
+
var ActivateValidationResponseSchema = import_zod_openapi70.z.object({
|
|
6611
|
+
ok: import_zod_openapi70.z.literal(true)
|
|
6567
6612
|
});
|
|
6568
6613
|
|
|
6569
6614
|
// src/contracts/activation.ts
|
|
6570
|
-
var validateActivationTokenRoute = (0,
|
|
6615
|
+
var validateActivationTokenRoute = (0, import_zod_openapi71.createRoute)({
|
|
6571
6616
|
method: "get",
|
|
6572
6617
|
path: "/auth/activate",
|
|
6573
6618
|
tags: ["activation"],
|
|
@@ -6590,7 +6635,7 @@ var validateActivationTokenRoute = (0, import_zod_openapi70.createRoute)({
|
|
|
6590
6635
|
}
|
|
6591
6636
|
}
|
|
6592
6637
|
});
|
|
6593
|
-
var activateAccountRoute = (0,
|
|
6638
|
+
var activateAccountRoute = (0, import_zod_openapi71.createRoute)({
|
|
6594
6639
|
method: "post",
|
|
6595
6640
|
path: "/auth/activate",
|
|
6596
6641
|
tags: ["activation"],
|
|
@@ -6625,21 +6670,21 @@ var activationRoutes = {
|
|
|
6625
6670
|
};
|
|
6626
6671
|
|
|
6627
6672
|
// src/contracts/email-change.ts
|
|
6628
|
-
var
|
|
6673
|
+
var import_zod_openapi73 = require("@hono/zod-openapi");
|
|
6629
6674
|
|
|
6630
6675
|
// src/schemas/email-change.ts
|
|
6631
|
-
var
|
|
6632
|
-
var ConfirmEmailChangeRequestSchema =
|
|
6633
|
-
token:
|
|
6676
|
+
var import_zod_openapi72 = require("@hono/zod-openapi");
|
|
6677
|
+
var ConfirmEmailChangeRequestSchema = import_zod_openapi72.z.object({
|
|
6678
|
+
token: import_zod_openapi72.z.string()
|
|
6634
6679
|
});
|
|
6635
|
-
var ConfirmEmailChangeResponseSchema =
|
|
6636
|
-
ok:
|
|
6680
|
+
var ConfirmEmailChangeResponseSchema = import_zod_openapi72.z.object({
|
|
6681
|
+
ok: import_zod_openapi72.z.literal(true),
|
|
6637
6682
|
/** The newly-confirmed email address. */
|
|
6638
|
-
email:
|
|
6683
|
+
email: import_zod_openapi72.z.string().email()
|
|
6639
6684
|
});
|
|
6640
6685
|
|
|
6641
6686
|
// src/contracts/email-change.ts
|
|
6642
|
-
var validateEmailChangeTokenRoute = (0,
|
|
6687
|
+
var validateEmailChangeTokenRoute = (0, import_zod_openapi73.createRoute)({
|
|
6643
6688
|
method: "get",
|
|
6644
6689
|
path: "/auth/confirm-email-change",
|
|
6645
6690
|
tags: ["emailChange"],
|
|
@@ -6662,7 +6707,7 @@ var validateEmailChangeTokenRoute = (0, import_zod_openapi72.createRoute)({
|
|
|
6662
6707
|
}
|
|
6663
6708
|
}
|
|
6664
6709
|
});
|
|
6665
|
-
var confirmEmailChangeRoute = (0,
|
|
6710
|
+
var confirmEmailChangeRoute = (0, import_zod_openapi73.createRoute)({
|
|
6666
6711
|
method: "post",
|
|
6667
6712
|
path: "/auth/confirm-email-change",
|
|
6668
6713
|
tags: ["emailChange"],
|
|
@@ -6701,9 +6746,9 @@ var emailChangeRoutes = {
|
|
|
6701
6746
|
};
|
|
6702
6747
|
|
|
6703
6748
|
// src/contracts/user.ts
|
|
6704
|
-
var
|
|
6705
|
-
var UsernameParamSchema =
|
|
6706
|
-
var getUserPageRoute = (0,
|
|
6749
|
+
var import_zod_openapi74 = require("@hono/zod-openapi");
|
|
6750
|
+
var UsernameParamSchema = import_zod_openapi74.z.object({ username: import_zod_openapi74.z.string() });
|
|
6751
|
+
var getUserPageRoute = (0, import_zod_openapi74.createRoute)({
|
|
6707
6752
|
method: "get",
|
|
6708
6753
|
path: "/user/{username}",
|
|
6709
6754
|
tags: ["user"],
|
|
@@ -6731,7 +6776,7 @@ var getUserPageRoute = (0, import_zod_openapi73.createRoute)({
|
|
|
6731
6776
|
}
|
|
6732
6777
|
}
|
|
6733
6778
|
});
|
|
6734
|
-
var getUserBookmarksRoute = (0,
|
|
6779
|
+
var getUserBookmarksRoute = (0, import_zod_openapi74.createRoute)({
|
|
6735
6780
|
method: "get",
|
|
6736
6781
|
path: "/user/{username}/bookmarks",
|
|
6737
6782
|
tags: ["user"],
|
|
@@ -6760,7 +6805,7 @@ var getUserBookmarksRoute = (0, import_zod_openapi73.createRoute)({
|
|
|
6760
6805
|
}
|
|
6761
6806
|
}
|
|
6762
6807
|
});
|
|
6763
|
-
var getUserPagesRoute = (0,
|
|
6808
|
+
var getUserPagesRoute = (0, import_zod_openapi74.createRoute)({
|
|
6764
6809
|
method: "get",
|
|
6765
6810
|
path: "/user/{username}/pages",
|
|
6766
6811
|
tags: ["user"],
|
|
@@ -6789,7 +6834,7 @@ var getUserPagesRoute = (0, import_zod_openapi73.createRoute)({
|
|
|
6789
6834
|
}
|
|
6790
6835
|
}
|
|
6791
6836
|
});
|
|
6792
|
-
var getUserSubpagesRoute = (0,
|
|
6837
|
+
var getUserSubpagesRoute = (0, import_zod_openapi74.createRoute)({
|
|
6793
6838
|
method: "get",
|
|
6794
6839
|
path: "/user/{username}/subpages",
|
|
6795
6840
|
tags: ["user"],
|
|
@@ -6826,7 +6871,7 @@ var getUserSubpagesRoute = (0, import_zod_openapi73.createRoute)({
|
|
|
6826
6871
|
}
|
|
6827
6872
|
}
|
|
6828
6873
|
});
|
|
6829
|
-
var listMembersRoute = (0,
|
|
6874
|
+
var listMembersRoute = (0, import_zod_openapi74.createRoute)({
|
|
6830
6875
|
method: "get",
|
|
6831
6876
|
path: "/users",
|
|
6832
6877
|
tags: ["user"],
|
|
@@ -7120,8 +7165,9 @@ var stubPendingUsersCount = { count: 0 };
|
|
|
7120
7165
|
var stubListPlugins = { plugins: [] };
|
|
7121
7166
|
var stubPluginConfig = { name: "", fields: [], values: {} };
|
|
7122
7167
|
var stubUpdatePluginConfig = { ok: true, hotReloaded: false, reconfigureFailed: false };
|
|
7168
|
+
var stubPluginReadiness = { issues: [] };
|
|
7123
7169
|
var stubClearRenderCache = { ok: true, clearedAt: "", removedCount: 0 };
|
|
7124
|
-
var appAuthMeUserChain = new
|
|
7170
|
+
var appAuthMeUserChain = new import_zod_openapi75.OpenAPIHono().openapi(
|
|
7125
7171
|
appRoutes.getAppInfoRoute,
|
|
7126
7172
|
(c) => c.json(
|
|
7127
7173
|
{
|
|
@@ -7155,31 +7201,31 @@ var appAuthMeUserChain = new import_zod_openapi74.OpenAPIHono().openapi(
|
|
|
7155
7201
|
meRoutes.updatePasswordRoute,
|
|
7156
7202
|
(c) => c.json({ status: "ok", message: "", accessToken: "", refreshToken: "", expiresIn: 0 }, 200)
|
|
7157
7203
|
).openapi(meRoutes.recentlyViewedPagesRoute, (c) => c.json({ pages: [] }, 200)).openapi(accessTokenRoutes.listAccessTokensRoute, (c) => c.json({ accessTokens: [] }, 200)).openapi(accessTokenRoutes.createAccessTokenRoute, (c) => c.json(stubCreateAccessToken, 201)).openapi(accessTokenRoutes.deleteAccessTokenRoute, (c) => c.json(stubAccessToken, 200)).openapi(userRoutes.getUserPageRoute, (c) => c.json(stubUserPage, 200)).openapi(userRoutes.getUserBookmarksRoute, (c) => c.json(stubUserBookmarks, 200)).openapi(userRoutes.getUserPagesRoute, (c) => c.json(stubUserPages, 200)).openapi(userRoutes.getUserSubpagesRoute, (c) => c.json(stubUserPages, 200)).openapi(userRoutes.listMembersRoute, (c) => c.json(stubListUsers, 200));
|
|
7158
|
-
var bookmarkBacklinkCommentRevisionChain = new
|
|
7159
|
-
var pageChain = new
|
|
7160
|
-
var lateContractApp = new
|
|
7161
|
-
var adminSettingsContractApp = new
|
|
7162
|
-
var adminUsersPluginsContractApp = new
|
|
7163
|
-
var oauthContractApp = new
|
|
7204
|
+
var bookmarkBacklinkCommentRevisionChain = new import_zod_openapi75.OpenAPIHono().openapi(bookmarkRoutes.getBookmarkRoute, (c) => c.json(stubBookmarkResponse, 200)).openapi(bookmarkRoutes.listMyBookmarksRoute, (c) => c.json(stubListMyBookmarks, 200)).openapi(bookmarkRoutes.addBookmarkRoute, (c) => c.json(stubBookmarkResponse, 200)).openapi(bookmarkRoutes.removeBookmarkRoute, (c) => c.json(stubRemoveBookmark, 200)).openapi(backlinkRoutes.getBacklinksRoute, (c) => c.json(stubBacklinks, 200)).openapi(commentRoutes.listCommentsRoute, (c) => c.json(stubListComments, 200)).openapi(commentRoutes.addCommentRoute, (c) => c.json(stubAddComment, 200)).openapi(commentRoutes.deleteCommentRoute, (c) => c.json(stubDeleteComment, 200)).openapi(revisionRoutes.listRevisionsRoute, (c) => c.json(stubListRevisions, 200)).openapi(revisionRoutes.getRevisionsRoute, (c) => c.json(stubGetRevisions, 200)).openapi(revisionRoutes.getRevisionRoute, (c) => c.json(stubGetRevision, 200));
|
|
7205
|
+
var pageChain = new import_zod_openapi75.OpenAPIHono().openapi(pageRoutes.getPageRoute, (c) => c.json(stubPageWithRevision, 200)).openapi(pageRoutes.listPagesRoute, (c) => c.json(stubListPages, 200)).openapi(pageRoutes.listPageChildrenRoute, (c) => c.json(stubListPageChildren, 200)).openapi(pageRoutes.createPageRoute, (c) => c.json(stubPageResponse, 200)).openapi(pageRoutes.updatePageRoute, (c) => c.json(stubPageResponse, 200)).openapi(pageRoutes.setPageGrantRoute, (c) => c.json(stubPageResponse, 200)).openapi(pageRoutes.seenPageRoute, (c) => c.json(stubSeenUsers, 200)).openapi(pageRoutes.getSeenUsersRoute, (c) => c.json(stubSeenUsers, 200)).openapi(pageRoutes.likePageRoute, (c) => c.json(stubPageResponse, 200)).openapi(pageRoutes.unlikePageRoute, (c) => c.json(stubPageResponse, 200)).openapi(pageRoutes.claimPageLinkAccessRoute, (c) => c.json({ ...stubPageWithRevision, granted: false }, 200)).openapi(pageRoutes.getWatchStatusRoute, (c) => c.json(stubWatchStatus, 200)).openapi(pageRoutes.setWatchStatusRoute, (c) => c.json(stubWatchStatus, 200)).openapi(pageRoutes.deletePageRoute, (c) => c.json(stubPageResponse, 200)).openapi(pageRoutes.revertDeletedPageRoute, (c) => c.json(stubPageResponse, 200)).openapi(pageRoutes.revertToRevisionRoute, (c) => c.json(stubPageResponse, 200)).openapi(pageRoutes.renamePageRoute, (c) => c.json({ ...stubPageResponse, renamed_count: 1 }, 200)).openapi(pageRoutes.renameSubtreeRoute, (c) => c.json({ renamed_count: 0 }, 200)).openapi(pagePreviewRoutes.previewPageRoute, (c) => c.json(stubPreview, 200)).openapi(pageCollabRoutes.getYjsTokenRoute, (c) => c.json(stubWsToken, 200)).openapi(presenceRoutes.getPresenceTokenRoute, (c) => c.json(stubPresenceToken, 200)).openapi(presenceRoutes.getLikersRoute, (c) => c.json(stubLikers, 200));
|
|
7206
|
+
var lateContractApp = new import_zod_openapi75.OpenAPIHono().openapi(draftRoutes.createDraftRoute, (c) => c.json(stubCreateDraft, 201)).openapi(draftRoutes.listDraftsRoute, (c) => c.json(stubListDrafts, 200)).openapi(draftRoutes.cancelDraftRoute, (c) => c.json(stubCreateDraft, 200)).openapi(autocompleteRoutes.autocompleteUsersRoute, (c) => c.json(stubAutocomplete, 200)).openapi(autocompleteRoutes.autocompletePagesRoute, (c) => c.json(stubAutocomplete, 200)).openapi(attachmentRoutes.getAttachmentUsageRoute, (c) => c.json(stubAttachmentUsage, 200)).openapi(attachmentRoutes.listAttachmentsRoute, (c) => c.json(stubListAttachments, 200)).openapi(attachmentRoutes.addAttachmentRoute, (c) => c.json(stubAddAttachment, 200)).openapi(attachmentRoutes.uploadAttachmentRoute, (c) => c.json(stubUploadAttachment, 200)).openapi(attachmentRoutes.getAttachmentMetaRoute, (c) => c.json(stubAttachmentMeta, 200)).openapi(attachmentRoutes.removeAttachmentRoute, (c) => c.json(stubRemoveAttachment, 200)).openapi(searchRoutes.searchPagesRoute, (c) => c.json(stubSearchPages, 200)).openapi(adminCryptoRoutes.getCryptoStatusRoute, (c) => c.json(stubCryptoStatus, 200)).openapi(adminCryptoRoutes.reencryptAllRoute, (c) => c.json(stubReencrypt, 200)).openapi(notificationRoutes.listNotificationsRoute, (c) => c.json(stubListNotifications, 200)).openapi(notificationRoutes.markAllAsReadRoute, (c) => c.json(stubMarkAllAsRead, 200)).openapi(notificationRoutes.getNotificationsTokenRoute, (c) => c.json(stubNotificationsToken, 200)).openapi(notificationRoutes.getUnreadCountRoute, (c) => c.json(stubNotificationStatus, 200)).openapi(notificationRoutes.openNotificationRoute, (c) => c.json(stubOpenNotification, 200));
|
|
7207
|
+
var adminSettingsContractApp = new import_zod_openapi75.OpenAPIHono().openapi(adminAppRoutes.getAppSettingsRoute, (c) => c.json(stubGetAppSettings, 200)).openapi(adminAppRoutes.updateAppSettingsRoute, (c) => c.json(stubUpdateAppSettings, 200)).openapi(adminAuthRoutes.getAuthSettingsRoute, (c) => c.json(stubAuthSettings, 200)).openapi(adminAuthRoutes.updateAuthSettingsRoute, (c) => c.json(stubAuthSettings, 200)).openapi(adminSecurityRoutes.getSecuritySettingsRoute, (c) => c.json(stubSecuritySettings, 200)).openapi(adminSecurityRoutes.updateSecuritySettingsRoute, (c) => c.json(stubSecuritySettings, 200)).openapi(adminMailRoutes.getMailSettingsRoute, (c) => c.json(stubMailSettings, 200)).openapi(adminMailRoutes.updateMailSettingsRoute, (c) => c.json(stubUpdateMailSettings, 200)).openapi(adminMailRoutes.sendTestMailRoute, (c) => c.json(stubSendTestMail, 200)).openapi(adminStorageRoutes.getStorageStatusRoute, (c) => c.json(stubStorageStatus, 200)).openapi(adminSearchRoutes.getSearchStatusRoute, (c) => c.json(stubSearchStatus, 200));
|
|
7208
|
+
var adminUsersPluginsContractApp = new import_zod_openapi75.OpenAPIHono().openapi(adminUsersRoutes.listUsersRoute, (c) => c.json(stubListAdminUsers, 200)).openapi(adminUsersRoutes.searchUsersByEmailRoute, (c) => c.json(stubSearchAdminUsersByEmail, 200)).openapi(adminUsersRoutes.pendingUsersCountRoute, (c) => c.json(stubPendingUsersCount, 200)).openapi(adminUsersRoutes.inviteUsersRoute, (c) => c.json(stubInviteUsers, 200)).openapi(adminUsersRoutes.editUserRoute, (c) => c.json(stubAdminUserMutation, 200)).openapi(adminUsersRoutes.makeAdminRoute, (c) => c.json(stubAdminUserMutation, 200)).openapi(adminUsersRoutes.removeFromAdminRoute, (c) => c.json(stubAdminUserMutation, 200)).openapi(adminUsersRoutes.activateUserRoute, (c) => c.json(stubAdminUserMutation, 200)).openapi(adminUsersRoutes.suspendUserRoute, (c) => c.json(stubAdminUserMutation, 200)).openapi(adminUsersRoutes.resetPasswordRoute, (c) => c.json(stubResetPassword, 200)).openapi(adminUsersRoutes.resendInviteRoute, (c) => c.json(stubAdminUserMutation, 200)).openapi(adminUsersRoutes.updateUserEmailRoute, (c) => c.json(stubAdminUserMutation, 200)).openapi(adminUsersRoutes.deleteUserRoute, (c) => c.json(stubDeleteAdminUser, 200)).openapi(adminPluginsRoutes.listPluginsRoute, (c) => c.json(stubListPlugins, 200)).openapi(adminPluginsRoutes.getPluginConfigRoute, (c) => c.json(stubPluginConfig, 200)).openapi(adminPluginsRoutes.updatePluginConfigRoute, (c) => c.json(stubUpdatePluginConfig, 200)).openapi(adminPluginsRoutes.getPluginReadinessRoute, (c) => c.json(stubPluginReadiness, 200)).openapi(adminPluginsRoutes.clearRenderCacheAllRoute, (c) => c.json(stubClearRenderCache, 200)).openapi(adminPluginsRoutes.clearRenderCachePluginRoute, (c) => c.json(stubClearRenderCache, 200));
|
|
7209
|
+
var oauthContractApp = new import_zod_openapi75.OpenAPIHono().openapi(oauthRoutes.authorizeRoute, (c) => c.json(stubAuthorize, 200)).openapi(oauthRoutes.tokenRoute, (c) => c.json(stubToken, 200)).openapi(oauthRoutes.revokeRoute, (c) => c.json(stubRevoke, 200)).openapi(oauthRoutes.discoveryRoute, (c) => c.json(stubDiscovery, 200)).openapi(oauthRoutes.deviceAuthorizeRoute, (c) => c.json(stubDeviceAuthorize, 200)).openapi(oauthRoutes.deviceInfoRoute, (c) => c.json(stubDeviceInfo, 200)).openapi(oauthRoutes.deviceVerifyRoute, (c) => c.json(stubDeviceVerify, 200)).openapi(oauthRoutes.clientInfoRoute, (c) => c.json(stubClientInfo, 200));
|
|
7164
7210
|
var createClient = (baseUrl, options = {}) => (0, import_client.hc)(baseUrl, {
|
|
7165
7211
|
headers: options.headers,
|
|
7166
7212
|
fetch: options.fetch
|
|
7167
7213
|
});
|
|
7168
7214
|
|
|
7169
7215
|
// src/schemas/mail-token.ts
|
|
7170
|
-
var
|
|
7171
|
-
var MailTokenPurposeSchema =
|
|
7172
|
-
var MailTokenPayloadSchema =
|
|
7216
|
+
var import_zod_openapi76 = require("@hono/zod-openapi");
|
|
7217
|
+
var MailTokenPurposeSchema = import_zod_openapi76.z.enum(["invite", "activate", "reset", "email-change"]);
|
|
7218
|
+
var MailTokenPayloadSchema = import_zod_openapi76.z.object({
|
|
7173
7219
|
purpose: MailTokenPurposeSchema,
|
|
7174
|
-
userId:
|
|
7220
|
+
userId: import_zod_openapi76.z.string(),
|
|
7175
7221
|
/** Target address. For `email-change` this is the NEW address. */
|
|
7176
|
-
email:
|
|
7222
|
+
email: import_zod_openapi76.z.string().email(),
|
|
7177
7223
|
/**
|
|
7178
7224
|
* For `email-change`: the account's email at issue time. The confirm
|
|
7179
7225
|
* endpoint rejects the token unless it still matches, making the token
|
|
7180
7226
|
* single-use (a stale token cannot revert a later change).
|
|
7181
7227
|
*/
|
|
7182
|
-
fromEmail:
|
|
7228
|
+
fromEmail: import_zod_openapi76.z.string().email().optional(),
|
|
7183
7229
|
/**
|
|
7184
7230
|
* For `reset`: the account's `passwordResetGeneration` at issue time.
|
|
7185
7231
|
* Consuming the link increments that counter, so the token only matches
|
|
@@ -7188,7 +7234,7 @@ var MailTokenPayloadSchema = import_zod_openapi75.z.object({
|
|
|
7188
7234
|
* schema because the other purposes don't carry it (and links minted
|
|
7189
7235
|
* before the claim existed simply no longer match).
|
|
7190
7236
|
*/
|
|
7191
|
-
resetGeneration:
|
|
7237
|
+
resetGeneration: import_zod_openapi76.z.number().int().nonnegative().optional(),
|
|
7192
7238
|
/**
|
|
7193
7239
|
* For `email-change`: the account's `authVersion` at issue time. The
|
|
7194
7240
|
* confirm endpoint requires it to still match, so a pending address change
|
|
@@ -7200,10 +7246,22 @@ var MailTokenPayloadSchema = import_zod_openapi75.z.object({
|
|
|
7200
7246
|
* semantics wanted are exactly "the session that asked for this is gone",
|
|
7201
7247
|
* and that is what every bump of it already means.
|
|
7202
7248
|
*/
|
|
7203
|
-
authVersion:
|
|
7249
|
+
authVersion: import_zod_openapi76.z.number().int().nonnegative().optional(),
|
|
7250
|
+
/**
|
|
7251
|
+
* For `email-change`: the account's `emailChangeGeneration` at issue time.
|
|
7252
|
+
* Requesting a change increments it, so asking for a different address
|
|
7253
|
+
* supersedes any link still pending — which is what lets a user call off a
|
|
7254
|
+
* change they did not want (one an attacker started with a stolen session,
|
|
7255
|
+
* or one sent to a mistyped address). `authVersion` cannot serve this: it
|
|
7256
|
+
* means "the session that asked is gone", and bumping it on a mere request
|
|
7257
|
+
* would log the user out of their own account for editing their profile.
|
|
7258
|
+
* Optional in the schema for the same reason as the others — links minted
|
|
7259
|
+
* before the claim existed simply no longer match.
|
|
7260
|
+
*/
|
|
7261
|
+
emailChangeGeneration: import_zod_openapi76.z.number().int().nonnegative().optional(),
|
|
7204
7262
|
// iat / exp are injected and verified by the JWT layer.
|
|
7205
|
-
iat:
|
|
7206
|
-
exp:
|
|
7263
|
+
iat: import_zod_openapi76.z.number().optional(),
|
|
7264
|
+
exp: import_zod_openapi76.z.number().optional()
|
|
7207
7265
|
});
|
|
7208
7266
|
|
|
7209
7267
|
// src/util/html-elements.ts
|
|
@@ -7576,6 +7634,9 @@ var WS_CLOSE_CODES = {
|
|
|
7576
7634
|
PluginFieldSchema,
|
|
7577
7635
|
PluginInfoSchema,
|
|
7578
7636
|
PluginNotFoundErrorSchema,
|
|
7637
|
+
PluginReadinessFieldSchema,
|
|
7638
|
+
PluginReadinessIssueSchema,
|
|
7639
|
+
PluginReadinessResponseSchema,
|
|
7579
7640
|
PresenceClientMessageSchema,
|
|
7580
7641
|
PresenceCommentChangedMessageSchema,
|
|
7581
7642
|
PresenceHeartbeatMessageSchema,
|
|
@@ -7687,6 +7748,7 @@ var WS_CLOSE_CODES = {
|
|
|
7687
7748
|
UserStatusErrorSchema,
|
|
7688
7749
|
UserStatusSchema,
|
|
7689
7750
|
UserSubpagesRequestSchema,
|
|
7751
|
+
UsernameSchema,
|
|
7690
7752
|
ValidationErrorSchema,
|
|
7691
7753
|
WS_CLOSE_CODES,
|
|
7692
7754
|
WatchStatusResponseSchema,
|
|
@@ -7757,6 +7819,7 @@ var WS_CLOSE_CODES = {
|
|
|
7757
7819
|
getNotificationsTokenRoute,
|
|
7758
7820
|
getPageRoute,
|
|
7759
7821
|
getPluginConfigRoute,
|
|
7822
|
+
getPluginReadinessRoute,
|
|
7760
7823
|
getPresenceTokenRoute,
|
|
7761
7824
|
getProfileRoute,
|
|
7762
7825
|
getRevisionRoute,
|