@crowi/api-contract 2.0.0-alpha.5 → 2.0.0-alpha.7
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 +307 -1
- package/dist/generated/openapi.d.ts +307 -1
- package/dist/generated/openapi.js.map +1 -1
- package/dist/index.d.mts +1479 -443
- package/dist/index.d.ts +1479 -443
- package/dist/index.js +1331 -1209
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1181 -1066
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -20,6 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/index.ts
|
|
21
21
|
var index_exports = {};
|
|
22
22
|
__export(index_exports, {
|
|
23
|
+
ALL_CAPABILITIES: () => ALL_CAPABILITIES,
|
|
23
24
|
ALL_SCOPES: () => ALL_SCOPES,
|
|
24
25
|
API_SURFACE_VERSION: () => API_SURFACE_VERSION,
|
|
25
26
|
AccessTokenSchema: () => AccessTokenSchema,
|
|
@@ -58,6 +59,8 @@ __export(index_exports, {
|
|
|
58
59
|
BacklinkSchema: () => BacklinkSchema,
|
|
59
60
|
BookmarkResponseSchema: () => BookmarkResponseSchema,
|
|
60
61
|
BookmarkSchema: () => BookmarkSchema,
|
|
62
|
+
CapabilitySchema: () => CapabilitySchema,
|
|
63
|
+
ClaimPageLinkAccessResponseSchema: () => ClaimPageLinkAccessResponseSchema,
|
|
61
64
|
ClearRenderCacheResponseSchema: () => ClearRenderCacheResponseSchema,
|
|
62
65
|
CollabForceReloadMessageSchema: () => CollabForceReloadMessageSchema,
|
|
63
66
|
CollabSaveErrorSchema: () => CollabSaveErrorSchema,
|
|
@@ -81,6 +84,7 @@ __export(index_exports, {
|
|
|
81
84
|
DEVICE_CODE_GRANT_TYPE: () => DEVICE_CODE_GRANT_TYPE,
|
|
82
85
|
DISCOVERY_SCOPES_SUPPORTED: () => DISCOVERY_SCOPES_SUPPORTED,
|
|
83
86
|
DND_EXTRA_UPLOAD_MIME: () => DND_EXTRA_UPLOAD_MIME,
|
|
87
|
+
DYNAMIC_CAPABILITIES: () => DYNAMIC_CAPABILITIES,
|
|
84
88
|
DeleteAdminUserResponseSchema: () => DeleteAdminUserResponseSchema,
|
|
85
89
|
DeleteCommentRequestSchema: () => DeleteCommentRequestSchema,
|
|
86
90
|
DeleteCommentResponseSchema: () => DeleteCommentResponseSchema,
|
|
@@ -207,7 +211,9 @@ __export(index_exports, {
|
|
|
207
211
|
PluginInfoSchema: () => PluginInfoSchema,
|
|
208
212
|
PluginNotFoundErrorSchema: () => PluginNotFoundErrorSchema,
|
|
209
213
|
PresenceClientMessageSchema: () => PresenceClientMessageSchema,
|
|
214
|
+
PresenceCommentChangedMessageSchema: () => PresenceCommentChangedMessageSchema,
|
|
210
215
|
PresenceHeartbeatMessageSchema: () => PresenceHeartbeatMessageSchema,
|
|
216
|
+
PresencePageUpdatedMessageSchema: () => PresencePageUpdatedMessageSchema,
|
|
211
217
|
PresenceServerMessageSchema: () => PresenceServerMessageSchema,
|
|
212
218
|
PresenceTokenPayloadSchema: () => PresenceTokenPayloadSchema,
|
|
213
219
|
PresenceTokenResponseSchema: () => PresenceTokenResponseSchema,
|
|
@@ -332,6 +338,7 @@ __export(index_exports, {
|
|
|
332
338
|
backlinkRoutes: () => backlinkRoutes,
|
|
333
339
|
bookmarkRoutes: () => bookmarkRoutes,
|
|
334
340
|
cancelDraftRoute: () => cancelDraftRoute,
|
|
341
|
+
claimPageLinkAccessRoute: () => claimPageLinkAccessRoute,
|
|
335
342
|
clearRenderCacheAllRoute: () => clearRenderCacheAllRoute,
|
|
336
343
|
clearRenderCachePluginRoute: () => clearRenderCachePluginRoute,
|
|
337
344
|
commentRoutes: () => commentRoutes,
|
|
@@ -667,7 +674,7 @@ function stripKnownHtmlTags(text) {
|
|
|
667
674
|
}
|
|
668
675
|
|
|
669
676
|
// src/contracts/app.ts
|
|
670
|
-
var
|
|
677
|
+
var import_zod_openapi5 = require("@hono/zod-openapi");
|
|
671
678
|
|
|
672
679
|
// src/schemas/common.ts
|
|
673
680
|
var import_zod_openapi2 = require("@hono/zod-openapi");
|
|
@@ -762,18 +769,41 @@ var ForbiddenErrorSchema = ApiErrorSchema.extend({
|
|
|
762
769
|
});
|
|
763
770
|
|
|
764
771
|
// src/schemas/app.ts
|
|
772
|
+
var import_zod_openapi4 = require("@hono/zod-openapi");
|
|
773
|
+
|
|
774
|
+
// src/schemas/app-capabilities.ts
|
|
765
775
|
var import_zod_openapi3 = require("@hono/zod-openapi");
|
|
766
|
-
var
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
776
|
+
var STATIC_CAPABILITIES = [
|
|
777
|
+
"oauth",
|
|
778
|
+
// The oauth:* tags mirror GRANT_TYPES_SUPPORTED + the S256 PKCE method
|
|
779
|
+
// (schemas/oauth-endpoints.ts / the RFC 8414 discovery doc). Keep in sync.
|
|
780
|
+
"oauth:auth-code",
|
|
781
|
+
"oauth:device",
|
|
782
|
+
"oauth:pkce",
|
|
783
|
+
"pat",
|
|
784
|
+
"pages",
|
|
785
|
+
"comments",
|
|
786
|
+
"bookmarks",
|
|
787
|
+
"attachments",
|
|
788
|
+
"notifications"
|
|
789
|
+
];
|
|
790
|
+
var DYNAMIC_CAPABILITIES = ["search", "collab", "collab:redis"];
|
|
791
|
+
var ALL_CAPABILITIES = [...STATIC_CAPABILITIES, ...DYNAMIC_CAPABILITIES];
|
|
792
|
+
var CapabilitySchema = import_zod_openapi3.z.enum(ALL_CAPABILITIES).openapi("Capability");
|
|
793
|
+
var API_SURFACE_VERSION = "v2";
|
|
794
|
+
|
|
795
|
+
// src/schemas/app.ts
|
|
796
|
+
var AppInfoResponseSchema = import_zod_openapi4.z.object({
|
|
797
|
+
title: import_zod_openapi4.z.string().nullable(),
|
|
798
|
+
confidential: import_zod_openapi4.z.string().nullable(),
|
|
799
|
+
version: import_zod_openapi4.z.string(),
|
|
800
|
+
apiVersion: import_zod_openapi4.z.string(),
|
|
801
|
+
capabilities: import_zod_openapi4.z.array(CapabilitySchema),
|
|
802
|
+
canSelfRegister: import_zod_openapi4.z.boolean()
|
|
773
803
|
});
|
|
774
804
|
|
|
775
805
|
// src/contracts/app.ts
|
|
776
|
-
var getAppInfoRoute = (0,
|
|
806
|
+
var getAppInfoRoute = (0, import_zod_openapi5.createRoute)({
|
|
777
807
|
method: "get",
|
|
778
808
|
path: "/app/info",
|
|
779
809
|
tags: ["app"],
|
|
@@ -800,29 +830,29 @@ var getAppInfoRoute = (0, import_zod_openapi4.createRoute)({
|
|
|
800
830
|
var appRoutes = { getAppInfoRoute };
|
|
801
831
|
|
|
802
832
|
// src/contracts/installer.ts
|
|
803
|
-
var
|
|
833
|
+
var import_zod_openapi7 = require("@hono/zod-openapi");
|
|
804
834
|
|
|
805
835
|
// src/schemas/installer.ts
|
|
806
|
-
var
|
|
807
|
-
var InstallerStatusResponseSchema =
|
|
808
|
-
status:
|
|
809
|
-
});
|
|
810
|
-
var CreateAdminRequestSchema =
|
|
811
|
-
registerForm:
|
|
812
|
-
username:
|
|
813
|
-
name:
|
|
814
|
-
email:
|
|
815
|
-
password:
|
|
836
|
+
var import_zod_openapi6 = require("@hono/zod-openapi");
|
|
837
|
+
var InstallerStatusResponseSchema = import_zod_openapi6.z.object({
|
|
838
|
+
status: import_zod_openapi6.z.enum(["installer_required", "already_installed"])
|
|
839
|
+
});
|
|
840
|
+
var CreateAdminRequestSchema = import_zod_openapi6.z.object({
|
|
841
|
+
registerForm: import_zod_openapi6.z.object({
|
|
842
|
+
username: import_zod_openapi6.z.string().min(1).regex(/^[\da-zA-Z\-_.]+$/, "username may only contain letters, digits, hyphens, underscores, and dots"),
|
|
843
|
+
name: import_zod_openapi6.z.string().min(1),
|
|
844
|
+
email: import_zod_openapi6.z.string().email(),
|
|
845
|
+
password: import_zod_openapi6.z.string().min(6).regex(/^[\x20-\x7F]{6,}$/, "password must be 6+ printable ASCII characters")
|
|
816
846
|
})
|
|
817
847
|
});
|
|
818
|
-
var CreateAdminResponseSchema =
|
|
819
|
-
status:
|
|
820
|
-
message:
|
|
821
|
-
errors:
|
|
848
|
+
var CreateAdminResponseSchema = import_zod_openapi6.z.object({
|
|
849
|
+
status: import_zod_openapi6.z.enum(["ok", "error"]),
|
|
850
|
+
message: import_zod_openapi6.z.string().optional(),
|
|
851
|
+
errors: import_zod_openapi6.z.array(import_zod_openapi6.z.string()).optional()
|
|
822
852
|
});
|
|
823
853
|
|
|
824
854
|
// src/contracts/installer.ts
|
|
825
|
-
var getInstallerStatusRoute = (0,
|
|
855
|
+
var getInstallerStatusRoute = (0, import_zod_openapi7.createRoute)({
|
|
826
856
|
method: "get",
|
|
827
857
|
path: "/installer",
|
|
828
858
|
tags: ["installer"],
|
|
@@ -846,7 +876,7 @@ var getInstallerStatusRoute = (0, import_zod_openapi6.createRoute)({
|
|
|
846
876
|
}
|
|
847
877
|
}
|
|
848
878
|
});
|
|
849
|
-
var createAdminRoute = (0,
|
|
879
|
+
var createAdminRoute = (0, import_zod_openapi7.createRoute)({
|
|
850
880
|
method: "post",
|
|
851
881
|
path: "/installer/createAdmin",
|
|
852
882
|
tags: ["installer"],
|
|
@@ -890,56 +920,56 @@ var createAdminRoute = (0, import_zod_openapi6.createRoute)({
|
|
|
890
920
|
var installerRoutes = { getInstallerStatusRoute, createAdminRoute };
|
|
891
921
|
|
|
892
922
|
// src/contracts/tokenAuth.ts
|
|
893
|
-
var
|
|
923
|
+
var import_zod_openapi9 = require("@hono/zod-openapi");
|
|
894
924
|
|
|
895
925
|
// src/schemas/auth.ts
|
|
896
|
-
var
|
|
897
|
-
var TokenAuthLoginRequestSchema =
|
|
898
|
-
email:
|
|
899
|
-
password:
|
|
900
|
-
});
|
|
901
|
-
var TokenAuthResponseSchema =
|
|
902
|
-
accessToken:
|
|
903
|
-
refreshToken:
|
|
904
|
-
expiresIn:
|
|
926
|
+
var import_zod_openapi8 = require("@hono/zod-openapi");
|
|
927
|
+
var TokenAuthLoginRequestSchema = import_zod_openapi8.z.object({
|
|
928
|
+
email: import_zod_openapi8.z.string().email(),
|
|
929
|
+
password: import_zod_openapi8.z.string().min(6)
|
|
930
|
+
});
|
|
931
|
+
var TokenAuthResponseSchema = import_zod_openapi8.z.object({
|
|
932
|
+
accessToken: import_zod_openapi8.z.string(),
|
|
933
|
+
refreshToken: import_zod_openapi8.z.string(),
|
|
934
|
+
expiresIn: import_zod_openapi8.z.number(),
|
|
905
935
|
// seconds until expiration
|
|
906
|
-
user:
|
|
907
|
-
id:
|
|
908
|
-
username:
|
|
909
|
-
email:
|
|
910
|
-
name:
|
|
911
|
-
image:
|
|
912
|
-
admin:
|
|
936
|
+
user: import_zod_openapi8.z.object({
|
|
937
|
+
id: import_zod_openapi8.z.string(),
|
|
938
|
+
username: import_zod_openapi8.z.string(),
|
|
939
|
+
email: import_zod_openapi8.z.string().email(),
|
|
940
|
+
name: import_zod_openapi8.z.string(),
|
|
941
|
+
image: import_zod_openapi8.z.string().optional(),
|
|
942
|
+
admin: import_zod_openapi8.z.boolean().optional()
|
|
913
943
|
})
|
|
914
944
|
});
|
|
915
|
-
var RefreshTokenRequestSchema =
|
|
916
|
-
refreshToken:
|
|
945
|
+
var RefreshTokenRequestSchema = import_zod_openapi8.z.object({
|
|
946
|
+
refreshToken: import_zod_openapi8.z.string()
|
|
917
947
|
});
|
|
918
|
-
var TokenAuthRegisterRequestSchema =
|
|
919
|
-
username:
|
|
920
|
-
name:
|
|
921
|
-
email:
|
|
922
|
-
password:
|
|
948
|
+
var TokenAuthRegisterRequestSchema = import_zod_openapi8.z.object({
|
|
949
|
+
username: import_zod_openapi8.z.string(),
|
|
950
|
+
name: import_zod_openapi8.z.string(),
|
|
951
|
+
email: import_zod_openapi8.z.string().email(),
|
|
952
|
+
password: import_zod_openapi8.z.string().min(6)
|
|
923
953
|
});
|
|
924
|
-
var RegisterPendingResponseSchema =
|
|
925
|
-
status:
|
|
954
|
+
var RegisterPendingResponseSchema = import_zod_openapi8.z.object({
|
|
955
|
+
status: import_zod_openapi8.z.enum(["confirmation_required", "approval_required"])
|
|
926
956
|
});
|
|
927
957
|
|
|
928
958
|
// src/contracts/tokenAuth.ts
|
|
929
|
-
var TokenLogoutResponseSchema =
|
|
930
|
-
var TokenMeResponseSchema =
|
|
931
|
-
user:
|
|
932
|
-
id:
|
|
933
|
-
username:
|
|
934
|
-
email:
|
|
935
|
-
name:
|
|
936
|
-
image:
|
|
937
|
-
status:
|
|
938
|
-
admin:
|
|
939
|
-
createdAt:
|
|
959
|
+
var TokenLogoutResponseSchema = import_zod_openapi9.z.object({ message: import_zod_openapi9.z.string() });
|
|
960
|
+
var TokenMeResponseSchema = import_zod_openapi9.z.object({
|
|
961
|
+
user: import_zod_openapi9.z.object({
|
|
962
|
+
id: import_zod_openapi9.z.string(),
|
|
963
|
+
username: import_zod_openapi9.z.string(),
|
|
964
|
+
email: import_zod_openapi9.z.string().email(),
|
|
965
|
+
name: import_zod_openapi9.z.string(),
|
|
966
|
+
image: import_zod_openapi9.z.string().optional(),
|
|
967
|
+
status: import_zod_openapi9.z.number(),
|
|
968
|
+
admin: import_zod_openapi9.z.boolean().optional(),
|
|
969
|
+
createdAt: import_zod_openapi9.z.string()
|
|
940
970
|
})
|
|
941
971
|
});
|
|
942
|
-
var tokenLoginRoute = (0,
|
|
972
|
+
var tokenLoginRoute = (0, import_zod_openapi9.createRoute)({
|
|
943
973
|
method: "post",
|
|
944
974
|
path: "/auth/login",
|
|
945
975
|
tags: ["tokenAuth"],
|
|
@@ -976,7 +1006,7 @@ var tokenLoginRoute = (0, import_zod_openapi8.createRoute)({
|
|
|
976
1006
|
}
|
|
977
1007
|
}
|
|
978
1008
|
});
|
|
979
|
-
var tokenRegisterRoute = (0,
|
|
1009
|
+
var tokenRegisterRoute = (0, import_zod_openapi9.createRoute)({
|
|
980
1010
|
method: "post",
|
|
981
1011
|
path: "/auth/register",
|
|
982
1012
|
tags: ["tokenAuth"],
|
|
@@ -1017,7 +1047,7 @@ var tokenRegisterRoute = (0, import_zod_openapi8.createRoute)({
|
|
|
1017
1047
|
}
|
|
1018
1048
|
}
|
|
1019
1049
|
});
|
|
1020
|
-
var tokenRefreshRoute = (0,
|
|
1050
|
+
var tokenRefreshRoute = (0, import_zod_openapi9.createRoute)({
|
|
1021
1051
|
method: "post",
|
|
1022
1052
|
path: "/auth/refresh",
|
|
1023
1053
|
tags: ["tokenAuth"],
|
|
@@ -1054,7 +1084,7 @@ var tokenRefreshRoute = (0, import_zod_openapi8.createRoute)({
|
|
|
1054
1084
|
}
|
|
1055
1085
|
}
|
|
1056
1086
|
});
|
|
1057
|
-
var tokenLogoutRoute = (0,
|
|
1087
|
+
var tokenLogoutRoute = (0, import_zod_openapi9.createRoute)({
|
|
1058
1088
|
method: "post",
|
|
1059
1089
|
path: "/auth/logout",
|
|
1060
1090
|
tags: ["tokenAuth"],
|
|
@@ -1064,7 +1094,7 @@ var tokenLogoutRoute = (0, import_zod_openapi8.createRoute)({
|
|
|
1064
1094
|
body: {
|
|
1065
1095
|
content: {
|
|
1066
1096
|
"application/json": {
|
|
1067
|
-
schema:
|
|
1097
|
+
schema: import_zod_openapi9.z.object({ refreshToken: import_zod_openapi9.z.string().optional() })
|
|
1068
1098
|
}
|
|
1069
1099
|
}
|
|
1070
1100
|
}
|
|
@@ -1084,7 +1114,7 @@ var tokenLogoutRoute = (0, import_zod_openapi8.createRoute)({
|
|
|
1084
1114
|
}
|
|
1085
1115
|
}
|
|
1086
1116
|
});
|
|
1087
|
-
var tokenMeRoute = (0,
|
|
1117
|
+
var tokenMeRoute = (0, import_zod_openapi9.createRoute)({
|
|
1088
1118
|
method: "get",
|
|
1089
1119
|
path: "/auth/me",
|
|
1090
1120
|
tags: ["tokenAuth"],
|
|
@@ -1114,22 +1144,22 @@ var tokenAuthRoutes = {
|
|
|
1114
1144
|
};
|
|
1115
1145
|
|
|
1116
1146
|
// src/contracts/inviteAccept.ts
|
|
1117
|
-
var
|
|
1147
|
+
var import_zod_openapi11 = require("@hono/zod-openapi");
|
|
1118
1148
|
|
|
1119
1149
|
// src/schemas/inviteAccept.ts
|
|
1120
|
-
var
|
|
1121
|
-
var InviteAcceptRequestSchema =
|
|
1122
|
-
token:
|
|
1123
|
-
username:
|
|
1124
|
-
name:
|
|
1125
|
-
password:
|
|
1150
|
+
var import_zod_openapi10 = require("@hono/zod-openapi");
|
|
1151
|
+
var InviteAcceptRequestSchema = import_zod_openapi10.z.object({
|
|
1152
|
+
token: import_zod_openapi10.z.string(),
|
|
1153
|
+
username: import_zod_openapi10.z.string().min(1),
|
|
1154
|
+
name: import_zod_openapi10.z.string().min(1),
|
|
1155
|
+
password: import_zod_openapi10.z.string().min(6)
|
|
1126
1156
|
});
|
|
1127
|
-
var InvitePreviewResponseSchema =
|
|
1128
|
-
email:
|
|
1157
|
+
var InvitePreviewResponseSchema = import_zod_openapi10.z.object({
|
|
1158
|
+
email: import_zod_openapi10.z.string().email()
|
|
1129
1159
|
});
|
|
1130
1160
|
|
|
1131
1161
|
// src/contracts/inviteAccept.ts
|
|
1132
|
-
var invitePreviewRoute = (0,
|
|
1162
|
+
var invitePreviewRoute = (0, import_zod_openapi11.createRoute)({
|
|
1133
1163
|
method: "get",
|
|
1134
1164
|
path: "/invite/accept",
|
|
1135
1165
|
tags: ["inviteAccept"],
|
|
@@ -1156,7 +1186,7 @@ var invitePreviewRoute = (0, import_zod_openapi10.createRoute)({
|
|
|
1156
1186
|
}
|
|
1157
1187
|
}
|
|
1158
1188
|
});
|
|
1159
|
-
var acceptInviteRoute = (0,
|
|
1189
|
+
var acceptInviteRoute = (0, import_zod_openapi11.createRoute)({
|
|
1160
1190
|
method: "post",
|
|
1161
1191
|
path: "/invite/accept",
|
|
1162
1192
|
tags: ["inviteAccept"],
|
|
@@ -1199,23 +1229,23 @@ var inviteAcceptRoutes = {
|
|
|
1199
1229
|
};
|
|
1200
1230
|
|
|
1201
1231
|
// src/contracts/passwordReset.ts
|
|
1202
|
-
var
|
|
1232
|
+
var import_zod_openapi13 = require("@hono/zod-openapi");
|
|
1203
1233
|
|
|
1204
1234
|
// src/schemas/passwordReset.ts
|
|
1205
|
-
var
|
|
1206
|
-
var ForgotPasswordRequestSchema =
|
|
1207
|
-
email:
|
|
1235
|
+
var import_zod_openapi12 = require("@hono/zod-openapi");
|
|
1236
|
+
var ForgotPasswordRequestSchema = import_zod_openapi12.z.object({
|
|
1237
|
+
email: import_zod_openapi12.z.string().email()
|
|
1208
1238
|
});
|
|
1209
|
-
var ForgotPasswordResponseSchema =
|
|
1210
|
-
ok:
|
|
1239
|
+
var ForgotPasswordResponseSchema = import_zod_openapi12.z.object({
|
|
1240
|
+
ok: import_zod_openapi12.z.literal(true)
|
|
1211
1241
|
});
|
|
1212
|
-
var ResetPasswordRequestSchema =
|
|
1213
|
-
token:
|
|
1214
|
-
password:
|
|
1242
|
+
var ResetPasswordRequestSchema = import_zod_openapi12.z.object({
|
|
1243
|
+
token: import_zod_openapi12.z.string(),
|
|
1244
|
+
password: import_zod_openapi12.z.string().min(6)
|
|
1215
1245
|
});
|
|
1216
1246
|
|
|
1217
1247
|
// src/contracts/passwordReset.ts
|
|
1218
|
-
var forgotPasswordRoute = (0,
|
|
1248
|
+
var forgotPasswordRoute = (0, import_zod_openapi13.createRoute)({
|
|
1219
1249
|
method: "post",
|
|
1220
1250
|
path: "/auth/forgot-password",
|
|
1221
1251
|
tags: ["passwordReset"],
|
|
@@ -1240,7 +1270,7 @@ var forgotPasswordRoute = (0, import_zod_openapi12.createRoute)({
|
|
|
1240
1270
|
}
|
|
1241
1271
|
}
|
|
1242
1272
|
});
|
|
1243
|
-
var validateResetTokenRoute = (0,
|
|
1273
|
+
var validateResetTokenRoute = (0, import_zod_openapi13.createRoute)({
|
|
1244
1274
|
method: "get",
|
|
1245
1275
|
path: "/auth/reset-password",
|
|
1246
1276
|
tags: ["passwordReset"],
|
|
@@ -1263,7 +1293,7 @@ var validateResetTokenRoute = (0, import_zod_openapi12.createRoute)({
|
|
|
1263
1293
|
}
|
|
1264
1294
|
}
|
|
1265
1295
|
});
|
|
1266
|
-
var selfResetPasswordRoute = (0,
|
|
1296
|
+
var selfResetPasswordRoute = (0, import_zod_openapi13.createRoute)({
|
|
1267
1297
|
method: "post",
|
|
1268
1298
|
path: "/auth/reset-password",
|
|
1269
1299
|
tags: ["passwordReset"],
|
|
@@ -1303,19 +1333,19 @@ var passwordResetRoutes = {
|
|
|
1303
1333
|
};
|
|
1304
1334
|
|
|
1305
1335
|
// src/contracts/activation.ts
|
|
1306
|
-
var
|
|
1336
|
+
var import_zod_openapi15 = require("@hono/zod-openapi");
|
|
1307
1337
|
|
|
1308
1338
|
// src/schemas/activation.ts
|
|
1309
|
-
var
|
|
1310
|
-
var ActivateRequestSchema =
|
|
1311
|
-
token:
|
|
1339
|
+
var import_zod_openapi14 = require("@hono/zod-openapi");
|
|
1340
|
+
var ActivateRequestSchema = import_zod_openapi14.z.object({
|
|
1341
|
+
token: import_zod_openapi14.z.string()
|
|
1312
1342
|
});
|
|
1313
|
-
var ActivateValidationResponseSchema =
|
|
1314
|
-
ok:
|
|
1343
|
+
var ActivateValidationResponseSchema = import_zod_openapi14.z.object({
|
|
1344
|
+
ok: import_zod_openapi14.z.literal(true)
|
|
1315
1345
|
});
|
|
1316
1346
|
|
|
1317
1347
|
// src/contracts/activation.ts
|
|
1318
|
-
var validateActivationTokenRoute = (0,
|
|
1348
|
+
var validateActivationTokenRoute = (0, import_zod_openapi15.createRoute)({
|
|
1319
1349
|
method: "get",
|
|
1320
1350
|
path: "/auth/activate",
|
|
1321
1351
|
tags: ["activation"],
|
|
@@ -1338,7 +1368,7 @@ var validateActivationTokenRoute = (0, import_zod_openapi14.createRoute)({
|
|
|
1338
1368
|
}
|
|
1339
1369
|
}
|
|
1340
1370
|
});
|
|
1341
|
-
var activateAccountRoute = (0,
|
|
1371
|
+
var activateAccountRoute = (0, import_zod_openapi15.createRoute)({
|
|
1342
1372
|
method: "post",
|
|
1343
1373
|
path: "/auth/activate",
|
|
1344
1374
|
tags: ["activation"],
|
|
@@ -1373,21 +1403,21 @@ var activationRoutes = {
|
|
|
1373
1403
|
};
|
|
1374
1404
|
|
|
1375
1405
|
// src/contracts/emailChange.ts
|
|
1376
|
-
var
|
|
1406
|
+
var import_zod_openapi17 = require("@hono/zod-openapi");
|
|
1377
1407
|
|
|
1378
1408
|
// src/schemas/emailChange.ts
|
|
1379
|
-
var
|
|
1380
|
-
var ConfirmEmailChangeRequestSchema =
|
|
1381
|
-
token:
|
|
1409
|
+
var import_zod_openapi16 = require("@hono/zod-openapi");
|
|
1410
|
+
var ConfirmEmailChangeRequestSchema = import_zod_openapi16.z.object({
|
|
1411
|
+
token: import_zod_openapi16.z.string()
|
|
1382
1412
|
});
|
|
1383
|
-
var ConfirmEmailChangeResponseSchema =
|
|
1384
|
-
ok:
|
|
1413
|
+
var ConfirmEmailChangeResponseSchema = import_zod_openapi16.z.object({
|
|
1414
|
+
ok: import_zod_openapi16.z.literal(true),
|
|
1385
1415
|
/** The newly-confirmed email address. */
|
|
1386
|
-
email:
|
|
1416
|
+
email: import_zod_openapi16.z.string().email()
|
|
1387
1417
|
});
|
|
1388
1418
|
|
|
1389
1419
|
// src/contracts/emailChange.ts
|
|
1390
|
-
var validateEmailChangeTokenRoute = (0,
|
|
1420
|
+
var validateEmailChangeTokenRoute = (0, import_zod_openapi17.createRoute)({
|
|
1391
1421
|
method: "get",
|
|
1392
1422
|
path: "/auth/confirm-email-change",
|
|
1393
1423
|
tags: ["emailChange"],
|
|
@@ -1410,7 +1440,7 @@ var validateEmailChangeTokenRoute = (0, import_zod_openapi16.createRoute)({
|
|
|
1410
1440
|
}
|
|
1411
1441
|
}
|
|
1412
1442
|
});
|
|
1413
|
-
var confirmEmailChangeRoute = (0,
|
|
1443
|
+
var confirmEmailChangeRoute = (0, import_zod_openapi17.createRoute)({
|
|
1414
1444
|
method: "post",
|
|
1415
1445
|
path: "/auth/confirm-email-change",
|
|
1416
1446
|
tags: ["emailChange"],
|
|
@@ -1449,19 +1479,19 @@ var emailChangeRoutes = {
|
|
|
1449
1479
|
};
|
|
1450
1480
|
|
|
1451
1481
|
// src/contracts/me.ts
|
|
1452
|
-
var
|
|
1482
|
+
var import_zod_openapi22 = require("@hono/zod-openapi");
|
|
1453
1483
|
|
|
1454
1484
|
// src/schemas/me.ts
|
|
1455
|
-
var
|
|
1485
|
+
var import_zod_openapi21 = require("@hono/zod-openapi");
|
|
1456
1486
|
|
|
1457
1487
|
// src/schemas/page.ts
|
|
1458
|
-
var
|
|
1488
|
+
var import_zod_openapi20 = require("@hono/zod-openapi");
|
|
1459
1489
|
|
|
1460
1490
|
// src/schemas/collab.ts
|
|
1461
|
-
var
|
|
1491
|
+
var import_zod_openapi19 = require("@hono/zod-openapi");
|
|
1462
1492
|
|
|
1463
1493
|
// src/schemas/userPublic.ts
|
|
1464
|
-
var
|
|
1494
|
+
var import_zod_openapi18 = require("@hono/zod-openapi");
|
|
1465
1495
|
var UserPublicStatus = {
|
|
1466
1496
|
REGISTERED: 1,
|
|
1467
1497
|
ACTIVE: 2,
|
|
@@ -1469,64 +1499,64 @@ var UserPublicStatus = {
|
|
|
1469
1499
|
DELETED: 4,
|
|
1470
1500
|
INVITED: 5
|
|
1471
1501
|
};
|
|
1472
|
-
var UserPublicStatusSchema =
|
|
1473
|
-
var UserPublicSchema =
|
|
1474
|
-
_id:
|
|
1475
|
-
id:
|
|
1502
|
+
var UserPublicStatusSchema = import_zod_openapi18.z.nativeEnum(UserPublicStatus);
|
|
1503
|
+
var UserPublicSchema = import_zod_openapi18.z.object({
|
|
1504
|
+
_id: import_zod_openapi18.z.string(),
|
|
1505
|
+
id: import_zod_openapi18.z.string().optional(),
|
|
1476
1506
|
// for compatibility (virtual field)
|
|
1477
|
-
username:
|
|
1478
|
-
name:
|
|
1479
|
-
email:
|
|
1480
|
-
image:
|
|
1481
|
-
introduction:
|
|
1482
|
-
createdAt:
|
|
1483
|
-
admin:
|
|
1507
|
+
username: import_zod_openapi18.z.string(),
|
|
1508
|
+
name: import_zod_openapi18.z.string(),
|
|
1509
|
+
email: import_zod_openapi18.z.string().email(),
|
|
1510
|
+
image: import_zod_openapi18.z.string().nullable().optional(),
|
|
1511
|
+
introduction: import_zod_openapi18.z.string().optional(),
|
|
1512
|
+
createdAt: import_zod_openapi18.z.string(),
|
|
1513
|
+
admin: import_zod_openapi18.z.boolean().optional(),
|
|
1484
1514
|
status: UserPublicStatusSchema.optional()
|
|
1485
1515
|
});
|
|
1486
1516
|
|
|
1487
1517
|
// src/schemas/collab.ts
|
|
1488
1518
|
var ContributorRefSchema = UserPublicSchema;
|
|
1489
|
-
var RevisionTypeSchema =
|
|
1490
|
-
var WsTokenResponseSchema =
|
|
1491
|
-
wsToken:
|
|
1492
|
-
pageId:
|
|
1493
|
-
expiresAt:
|
|
1494
|
-
readonly:
|
|
1495
|
-
});
|
|
1496
|
-
var WsTokenPayloadSchema =
|
|
1497
|
-
userId:
|
|
1498
|
-
pageId:
|
|
1499
|
-
readonly:
|
|
1500
|
-
iat:
|
|
1501
|
-
exp:
|
|
1502
|
-
});
|
|
1503
|
-
var CollabSaveMessageSchema =
|
|
1504
|
-
kind:
|
|
1505
|
-
message:
|
|
1506
|
-
});
|
|
1507
|
-
var CollabSaveOkSchema =
|
|
1508
|
-
kind:
|
|
1509
|
-
revisionId:
|
|
1510
|
-
});
|
|
1511
|
-
var CollabSaveErrorSchema =
|
|
1512
|
-
kind:
|
|
1513
|
-
code:
|
|
1514
|
-
message:
|
|
1515
|
-
});
|
|
1516
|
-
var CollabForceReloadMessageSchema =
|
|
1517
|
-
kind:
|
|
1518
|
-
reason:
|
|
1519
|
+
var RevisionTypeSchema = import_zod_openapi19.z.enum(["snapshot", "incremental"]);
|
|
1520
|
+
var WsTokenResponseSchema = import_zod_openapi19.z.object({
|
|
1521
|
+
wsToken: import_zod_openapi19.z.string(),
|
|
1522
|
+
pageId: import_zod_openapi19.z.string(),
|
|
1523
|
+
expiresAt: import_zod_openapi19.z.string(),
|
|
1524
|
+
readonly: import_zod_openapi19.z.boolean()
|
|
1525
|
+
});
|
|
1526
|
+
var WsTokenPayloadSchema = import_zod_openapi19.z.object({
|
|
1527
|
+
userId: import_zod_openapi19.z.string(),
|
|
1528
|
+
pageId: import_zod_openapi19.z.string(),
|
|
1529
|
+
readonly: import_zod_openapi19.z.boolean(),
|
|
1530
|
+
iat: import_zod_openapi19.z.number().int(),
|
|
1531
|
+
exp: import_zod_openapi19.z.number().int()
|
|
1532
|
+
});
|
|
1533
|
+
var CollabSaveMessageSchema = import_zod_openapi19.z.object({
|
|
1534
|
+
kind: import_zod_openapi19.z.literal("crowi:save"),
|
|
1535
|
+
message: import_zod_openapi19.z.string().optional()
|
|
1536
|
+
});
|
|
1537
|
+
var CollabSaveOkSchema = import_zod_openapi19.z.object({
|
|
1538
|
+
kind: import_zod_openapi19.z.literal("crowi:save-ok"),
|
|
1539
|
+
revisionId: import_zod_openapi19.z.string()
|
|
1540
|
+
});
|
|
1541
|
+
var CollabSaveErrorSchema = import_zod_openapi19.z.object({
|
|
1542
|
+
kind: import_zod_openapi19.z.literal("crowi:save-error"),
|
|
1543
|
+
code: import_zod_openapi19.z.string(),
|
|
1544
|
+
message: import_zod_openapi19.z.string()
|
|
1545
|
+
});
|
|
1546
|
+
var CollabForceReloadMessageSchema = import_zod_openapi19.z.object({
|
|
1547
|
+
kind: import_zod_openapi19.z.literal("crowi:force-reload"),
|
|
1548
|
+
reason: import_zod_openapi19.z.string().optional()
|
|
1519
1549
|
});
|
|
1520
1550
|
|
|
1521
1551
|
// src/schemas/page.ts
|
|
1522
|
-
var PageGrantSchema =
|
|
1552
|
+
var PageGrantSchema = import_zod_openapi20.z.enum(["1", "2", "3", "4"]).transform((val) => Number(val));
|
|
1523
1553
|
var PageGrantEnum = {
|
|
1524
1554
|
PUBLIC: 1,
|
|
1525
1555
|
RESTRICTED: 2,
|
|
1526
1556
|
SPECIFIED: 3,
|
|
1527
1557
|
OWNER: 4
|
|
1528
1558
|
};
|
|
1529
|
-
var PageStatusSchema =
|
|
1559
|
+
var PageStatusSchema = import_zod_openapi20.z.enum(["wip", "published", "deleted", "deprecated", "draft"]);
|
|
1530
1560
|
var PageStatusEnum = {
|
|
1531
1561
|
WIP: "wip",
|
|
1532
1562
|
PUBLISHED: "published",
|
|
@@ -1534,51 +1564,51 @@ var PageStatusEnum = {
|
|
|
1534
1564
|
DEPRECATED: "deprecated",
|
|
1535
1565
|
DRAFT: "draft"
|
|
1536
1566
|
};
|
|
1537
|
-
var PageTypeSchema =
|
|
1567
|
+
var PageTypeSchema = import_zod_openapi20.z.enum(["portal", "user", "public"]);
|
|
1538
1568
|
var PageTypeEnum = {
|
|
1539
1569
|
PORTAL: "portal",
|
|
1540
1570
|
USER: "user",
|
|
1541
1571
|
PUBLIC: "public"
|
|
1542
1572
|
};
|
|
1543
|
-
var PageUserSchema =
|
|
1544
|
-
_id:
|
|
1545
|
-
id:
|
|
1573
|
+
var PageUserSchema = import_zod_openapi20.z.object({
|
|
1574
|
+
_id: import_zod_openapi20.z.string(),
|
|
1575
|
+
id: import_zod_openapi20.z.string().optional(),
|
|
1546
1576
|
// for compatibility
|
|
1547
|
-
username:
|
|
1548
|
-
name:
|
|
1549
|
-
email:
|
|
1550
|
-
image:
|
|
1551
|
-
createdAt:
|
|
1552
|
-
});
|
|
1553
|
-
var TocEntrySchema =
|
|
1554
|
-
level:
|
|
1555
|
-
text:
|
|
1556
|
-
anchorId:
|
|
1557
|
-
});
|
|
1558
|
-
var WikiLinkSchema =
|
|
1577
|
+
username: import_zod_openapi20.z.string(),
|
|
1578
|
+
name: import_zod_openapi20.z.string(),
|
|
1579
|
+
email: import_zod_openapi20.z.string().email(),
|
|
1580
|
+
image: import_zod_openapi20.z.string().nullable().optional(),
|
|
1581
|
+
createdAt: import_zod_openapi20.z.string()
|
|
1582
|
+
});
|
|
1583
|
+
var TocEntrySchema = import_zod_openapi20.z.object({
|
|
1584
|
+
level: import_zod_openapi20.z.number().int().min(1).max(6),
|
|
1585
|
+
text: import_zod_openapi20.z.string(),
|
|
1586
|
+
anchorId: import_zod_openapi20.z.string()
|
|
1587
|
+
});
|
|
1588
|
+
var WikiLinkSchema = import_zod_openapi20.z.object({
|
|
1559
1589
|
/** Verbatim source between the `[[` `]]` (no surrounding brackets). */
|
|
1560
|
-
raw:
|
|
1590
|
+
raw: import_zod_openapi20.z.string(),
|
|
1561
1591
|
/** Normalised target (left of the `|`, fragment trimmed for resolution). */
|
|
1562
|
-
target:
|
|
1592
|
+
target: import_zod_openapi20.z.string(),
|
|
1563
1593
|
/** Optional pipe-aliased display text (right of the `|`). */
|
|
1564
|
-
displayText:
|
|
1565
|
-
});
|
|
1566
|
-
var MentionSchema =
|
|
1567
|
-
username:
|
|
1568
|
-
});
|
|
1569
|
-
var RevisionMetaSchemaShape =
|
|
1570
|
-
toc:
|
|
1571
|
-
wikiLinks:
|
|
1572
|
-
mentions:
|
|
1573
|
-
codeBlockLanguages:
|
|
1574
|
-
});
|
|
1575
|
-
var RevisionSchema =
|
|
1576
|
-
_id:
|
|
1577
|
-
path:
|
|
1578
|
-
body:
|
|
1579
|
-
format:
|
|
1594
|
+
displayText: import_zod_openapi20.z.string().optional()
|
|
1595
|
+
});
|
|
1596
|
+
var MentionSchema = import_zod_openapi20.z.object({
|
|
1597
|
+
username: import_zod_openapi20.z.string()
|
|
1598
|
+
});
|
|
1599
|
+
var RevisionMetaSchemaShape = import_zod_openapi20.z.object({
|
|
1600
|
+
toc: import_zod_openapi20.z.array(TocEntrySchema).optional(),
|
|
1601
|
+
wikiLinks: import_zod_openapi20.z.array(WikiLinkSchema).optional(),
|
|
1602
|
+
mentions: import_zod_openapi20.z.array(MentionSchema).optional(),
|
|
1603
|
+
codeBlockLanguages: import_zod_openapi20.z.array(import_zod_openapi20.z.string()).optional()
|
|
1604
|
+
});
|
|
1605
|
+
var RevisionSchema = import_zod_openapi20.z.object({
|
|
1606
|
+
_id: import_zod_openapi20.z.string(),
|
|
1607
|
+
path: import_zod_openapi20.z.string(),
|
|
1608
|
+
body: import_zod_openapi20.z.string(),
|
|
1609
|
+
format: import_zod_openapi20.z.string().default("markdown"),
|
|
1580
1610
|
author: PageUserSchema.nullable().optional(),
|
|
1581
|
-
createdAt:
|
|
1611
|
+
createdAt: import_zod_openapi20.z.string(),
|
|
1582
1612
|
meta: RevisionMetaSchemaShape.optional(),
|
|
1583
1613
|
// RFC-0002 Phase 3: transformed mdast (parse + core plugins +
|
|
1584
1614
|
// shiki) for the web client to render without re-parsing the body.
|
|
@@ -1586,42 +1616,42 @@ var RevisionSchema = import_zod_openapi19.z.object({
|
|
|
1586
1616
|
// spec to maintain a strict Zod schema for. Only single-page detail
|
|
1587
1617
|
// (`getPage`) and single-revision detail (`getRevision`) emit it;
|
|
1588
1618
|
// list endpoints skip it for payload weight.
|
|
1589
|
-
renderedAst:
|
|
1619
|
+
renderedAst: import_zod_openapi20.z.unknown().optional(),
|
|
1590
1620
|
// RFC-0002 round 3.1: semver of the renderer pipeline that produced
|
|
1591
1621
|
// `renderedAst`. The read path uses this to detect stale entries
|
|
1592
1622
|
// (rebuilt by `renderer:rebuild` once RFC-0008 lands). Absent on
|
|
1593
1623
|
// revisions saved before this field was introduced.
|
|
1594
|
-
rendererVersion:
|
|
1624
|
+
rendererVersion: import_zod_openapi20.z.string().optional(),
|
|
1595
1625
|
// RFC-0003 collaborative-save fields. All optional; v1.x revisions
|
|
1596
1626
|
// emit none of them. See `packages/api/src/models/revision.ts` for
|
|
1597
1627
|
// semantics. The list-page endpoint currently does not surface
|
|
1598
1628
|
// these — they only appear on the Phase 5+ checkpoint Revisions
|
|
1599
1629
|
// produced by Hocuspocus and on the single-revision detail route.
|
|
1600
|
-
parentRevisionId:
|
|
1630
|
+
parentRevisionId: import_zod_openapi20.z.string().nullable().optional(),
|
|
1601
1631
|
type: RevisionTypeSchema.optional(),
|
|
1602
|
-
savedBy:
|
|
1603
|
-
contributors:
|
|
1604
|
-
message:
|
|
1632
|
+
savedBy: import_zod_openapi20.z.union([import_zod_openapi20.z.string(), PageUserSchema]).nullable().optional(),
|
|
1633
|
+
contributors: import_zod_openapi20.z.array(import_zod_openapi20.z.union([import_zod_openapi20.z.string(), PageUserSchema])).optional(),
|
|
1634
|
+
message: import_zod_openapi20.z.string().optional(),
|
|
1605
1635
|
// RFC-0010 — edit channel ('web' | 'oauth' | 'pat'); absent on
|
|
1606
1636
|
// pre-RFC-0010 / collaborative / browser revisions.
|
|
1607
|
-
editVia:
|
|
1608
|
-
});
|
|
1609
|
-
var PageExtendedSchema =
|
|
1610
|
-
var PageSchema =
|
|
1611
|
-
_id:
|
|
1612
|
-
path:
|
|
1613
|
-
revision:
|
|
1614
|
-
redirectTo:
|
|
1637
|
+
editVia: import_zod_openapi20.z.enum(["web", "oauth", "pat"]).optional()
|
|
1638
|
+
});
|
|
1639
|
+
var PageExtendedSchema = import_zod_openapi20.z.record(import_zod_openapi20.z.string(), import_zod_openapi20.z.any()).optional();
|
|
1640
|
+
var PageSchema = import_zod_openapi20.z.object({
|
|
1641
|
+
_id: import_zod_openapi20.z.string(),
|
|
1642
|
+
path: import_zod_openapi20.z.string(),
|
|
1643
|
+
revision: import_zod_openapi20.z.union([import_zod_openapi20.z.string(), RevisionSchema]).optional(),
|
|
1644
|
+
redirectTo: import_zod_openapi20.z.string().nullable().optional(),
|
|
1615
1645
|
status: PageStatusSchema.nullable().optional(),
|
|
1616
|
-
grant:
|
|
1617
|
-
grantedUsers:
|
|
1618
|
-
creator:
|
|
1619
|
-
lastUpdateUser:
|
|
1620
|
-
liker:
|
|
1621
|
-
commentCount:
|
|
1646
|
+
grant: import_zod_openapi20.z.number().optional(),
|
|
1647
|
+
grantedUsers: import_zod_openapi20.z.array(import_zod_openapi20.z.string()).optional(),
|
|
1648
|
+
creator: import_zod_openapi20.z.union([import_zod_openapi20.z.string(), PageUserSchema]).nullable().optional(),
|
|
1649
|
+
lastUpdateUser: import_zod_openapi20.z.union([import_zod_openapi20.z.string(), PageUserSchema]).nullable().optional(),
|
|
1650
|
+
liker: import_zod_openapi20.z.array(import_zod_openapi20.z.string()).optional(),
|
|
1651
|
+
commentCount: import_zod_openapi20.z.number().default(0),
|
|
1622
1652
|
extended: PageExtendedSchema,
|
|
1623
|
-
createdAt:
|
|
1624
|
-
updatedAt:
|
|
1653
|
+
createdAt: import_zod_openapi20.z.string(),
|
|
1654
|
+
updatedAt: import_zod_openapi20.z.string().optional(),
|
|
1625
1655
|
// RFC-0003 collaborative-edit fields. All optional; `null` is the
|
|
1626
1656
|
// "no live state yet" value. Existing read endpoints (list /
|
|
1627
1657
|
// detail) do not currently emit these — the contract is widened
|
|
@@ -1629,31 +1659,32 @@ var PageSchema = import_zod_openapi19.z.object({
|
|
|
1629
1659
|
// bump. `yjsState` is intentionally omitted from the contract:
|
|
1630
1660
|
// the binary blob lives only inside Hocuspocus and never crosses
|
|
1631
1661
|
// the HTTP API.
|
|
1632
|
-
currentRevision:
|
|
1633
|
-
yjsCheckpointAt:
|
|
1662
|
+
currentRevision: import_zod_openapi20.z.string().nullable().optional(),
|
|
1663
|
+
yjsCheckpointAt: import_zod_openapi20.z.string().nullable().optional(),
|
|
1634
1664
|
// dynamic fields
|
|
1635
|
-
latestRevision:
|
|
1636
|
-
likerCount:
|
|
1637
|
-
seenUsersCount:
|
|
1665
|
+
latestRevision: import_zod_openapi20.z.string().optional(),
|
|
1666
|
+
likerCount: import_zod_openapi20.z.number().optional(),
|
|
1667
|
+
seenUsersCount: import_zod_openapi20.z.number().optional()
|
|
1638
1668
|
});
|
|
1639
1669
|
var PageWithRevisionSchema = PageSchema.extend({
|
|
1640
1670
|
revision: RevisionSchema,
|
|
1641
1671
|
creator: PageUserSchema.nullable().optional(),
|
|
1642
1672
|
lastUpdateUser: PageUserSchema.nullable().optional()
|
|
1643
1673
|
});
|
|
1644
|
-
var GetPageRequestSchema =
|
|
1645
|
-
path:
|
|
1646
|
-
page_id:
|
|
1647
|
-
revision_id:
|
|
1674
|
+
var GetPageRequestSchema = import_zod_openapi20.z.object({
|
|
1675
|
+
path: import_zod_openapi20.z.string().optional(),
|
|
1676
|
+
page_id: import_zod_openapi20.z.string().optional(),
|
|
1677
|
+
revision_id: import_zod_openapi20.z.string().optional()
|
|
1648
1678
|
});
|
|
1649
|
-
var GetPageResponseSchema =
|
|
1679
|
+
var GetPageResponseSchema = import_zod_openapi20.z.object({
|
|
1650
1680
|
page: PageWithRevisionSchema
|
|
1651
1681
|
});
|
|
1652
|
-
var
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1682
|
+
var ClaimPageLinkAccessResponseSchema = GetPageResponseSchema.extend({ granted: import_zod_openapi20.z.boolean() });
|
|
1683
|
+
var ListPagesRequestSchema = import_zod_openapi20.z.object({
|
|
1684
|
+
path: import_zod_openapi20.z.string().optional(),
|
|
1685
|
+
user: import_zod_openapi20.z.string().optional(),
|
|
1686
|
+
limit: import_zod_openapi20.z.coerce.number().optional().default(50),
|
|
1687
|
+
offset: import_zod_openapi20.z.coerce.number().optional().default(0),
|
|
1657
1688
|
// NOT `z.coerce.boolean()`: that uses JS `Boolean(v)`, so the string
|
|
1658
1689
|
// `"false"` (which is how the web client serialises `false` on the
|
|
1659
1690
|
// query string) coerces to `true`. That silently flipped
|
|
@@ -1661,25 +1692,25 @@ var ListPagesRequestSchema = import_zod_openapi19.z.object({
|
|
|
1661
1692
|
// filter and leak other users' drafts. Parse the string explicitly so
|
|
1662
1693
|
// only `"true"` / `true` is truthy; anything else (incl. `"false"`,
|
|
1663
1694
|
// absent) is `false`.
|
|
1664
|
-
include_deleted:
|
|
1695
|
+
include_deleted: import_zod_openapi20.z.preprocess((v) => v === true || v === "true" || v === "1", import_zod_openapi20.z.boolean()).optional().default(false),
|
|
1665
1696
|
// Sort field + direction for the listing. Defaults preserve the legacy
|
|
1666
1697
|
// "newest-updated first" order so existing callers are unaffected.
|
|
1667
1698
|
// `path` sorts alphabetically by full page path (≈ name order).
|
|
1668
|
-
sort:
|
|
1669
|
-
order:
|
|
1699
|
+
sort: import_zod_openapi20.z.enum(["updatedAt", "createdAt", "path"]).optional().default("updatedAt"),
|
|
1700
|
+
order: import_zod_openapi20.z.enum(["asc", "desc"]).optional().default("desc"),
|
|
1670
1701
|
// When listing a portal path (`/foo/`), open the portal document at this
|
|
1671
1702
|
// past revision so the catch-all can mirror `?revision_id=` on portals.
|
|
1672
1703
|
// Only the `portalPage` is rewound — the child rows always reflect the
|
|
1673
1704
|
// latest. Absent for normal listings.
|
|
1674
|
-
revision_id:
|
|
1705
|
+
revision_id: import_zod_openapi20.z.string().optional()
|
|
1675
1706
|
});
|
|
1676
|
-
var PagerSchema =
|
|
1677
|
-
prev:
|
|
1678
|
-
next:
|
|
1679
|
-
offset:
|
|
1707
|
+
var PagerSchema = import_zod_openapi20.z.object({
|
|
1708
|
+
prev: import_zod_openapi20.z.number().nullable(),
|
|
1709
|
+
next: import_zod_openapi20.z.number().nullable(),
|
|
1710
|
+
offset: import_zod_openapi20.z.number()
|
|
1680
1711
|
});
|
|
1681
|
-
var ListPagesResponseSchema =
|
|
1682
|
-
pages:
|
|
1712
|
+
var ListPagesResponseSchema = import_zod_openapi20.z.object({
|
|
1713
|
+
pages: import_zod_openapi20.z.array(PageSchema),
|
|
1683
1714
|
pager: PagerSchema,
|
|
1684
1715
|
portalPage: PageSchema.nullable().optional(),
|
|
1685
1716
|
// When listing a portal path (`/foo/`) that has NO portal document of
|
|
@@ -1691,208 +1722,208 @@ var ListPagesResponseSchema = import_zod_openapi19.z.object({
|
|
|
1691
1722
|
// listings.
|
|
1692
1723
|
contentPage: PageSchema.nullable().optional()
|
|
1693
1724
|
});
|
|
1694
|
-
var PageChildSegmentSchema =
|
|
1725
|
+
var PageChildSegmentSchema = import_zod_openapi20.z.object({
|
|
1695
1726
|
// The bare segment name immediately under the queried path
|
|
1696
1727
|
// (e.g. 'rfc' for /crowi/rfc/... when querying /crowi/).
|
|
1697
|
-
segment:
|
|
1728
|
+
segment: import_zod_openapi20.z.string(),
|
|
1698
1729
|
// Portal-style path for this segment (always trailing-slashed),
|
|
1699
1730
|
// e.g. '/crowi/rfc/'. Drop the trailing slash for the page path when
|
|
1700
1731
|
// the segment is a leaf page (see `isPage`).
|
|
1701
|
-
path:
|
|
1732
|
+
path: import_zod_openapi20.z.string(),
|
|
1702
1733
|
// True when a real page is saved at the segment path itself
|
|
1703
1734
|
// (e.g. `/crowi/rfc`, no trailing slash) — i.e. the segment is a
|
|
1704
1735
|
// navigable page, not only an inferred directory.
|
|
1705
|
-
isPage:
|
|
1736
|
+
isPage: import_zod_openapi20.z.boolean(),
|
|
1706
1737
|
// True when a real portal page is saved at `path` (→ compass icon).
|
|
1707
|
-
hasPortal:
|
|
1738
|
+
hasPortal: import_zod_openapi20.z.boolean(),
|
|
1708
1739
|
// Number of descendant content pages strictly under this segment
|
|
1709
1740
|
// (excludes the segment's own page / portal docs). A rough "how much
|
|
1710
1741
|
// lives here" hint; > 0 means the segment is an expandable directory.
|
|
1711
|
-
count:
|
|
1742
|
+
count: import_zod_openapi20.z.number()
|
|
1712
1743
|
});
|
|
1713
|
-
var ListPageChildrenRequestSchema =
|
|
1744
|
+
var ListPageChildrenRequestSchema = import_zod_openapi20.z.object({
|
|
1714
1745
|
// Portal path to list children of. Trailing slash optional — the
|
|
1715
1746
|
// handler normalises it. '/' lists the top-level segments.
|
|
1716
|
-
path:
|
|
1747
|
+
path: import_zod_openapi20.z.string()
|
|
1717
1748
|
});
|
|
1718
|
-
var ListPageChildrenResponseSchema =
|
|
1749
|
+
var ListPageChildrenResponseSchema = import_zod_openapi20.z.object({
|
|
1719
1750
|
// Sorted alphabetically by segment.
|
|
1720
|
-
children:
|
|
1721
|
-
});
|
|
1722
|
-
var CreatePageRequestSchema =
|
|
1723
|
-
path:
|
|
1724
|
-
body:
|
|
1725
|
-
grant:
|
|
1726
|
-
});
|
|
1727
|
-
var UpdatePageRequestSchema =
|
|
1728
|
-
page_id:
|
|
1729
|
-
body:
|
|
1730
|
-
revision_id:
|
|
1731
|
-
grant:
|
|
1732
|
-
});
|
|
1733
|
-
var RevertToRevisionRequestSchema =
|
|
1734
|
-
page_id:
|
|
1735
|
-
revision_id:
|
|
1736
|
-
});
|
|
1737
|
-
var SetPageGrantRequestSchema =
|
|
1738
|
-
page_id:
|
|
1739
|
-
grant:
|
|
1740
|
-
});
|
|
1741
|
-
var RenamePageRequestSchema =
|
|
1742
|
-
page_id:
|
|
1743
|
-
new_path:
|
|
1744
|
-
revision_id:
|
|
1745
|
-
create_redirect:
|
|
1751
|
+
children: import_zod_openapi20.z.array(PageChildSegmentSchema)
|
|
1752
|
+
});
|
|
1753
|
+
var CreatePageRequestSchema = import_zod_openapi20.z.object({
|
|
1754
|
+
path: import_zod_openapi20.z.string(),
|
|
1755
|
+
body: import_zod_openapi20.z.string(),
|
|
1756
|
+
grant: import_zod_openapi20.z.number().optional()
|
|
1757
|
+
});
|
|
1758
|
+
var UpdatePageRequestSchema = import_zod_openapi20.z.object({
|
|
1759
|
+
page_id: import_zod_openapi20.z.string(),
|
|
1760
|
+
body: import_zod_openapi20.z.string(),
|
|
1761
|
+
revision_id: import_zod_openapi20.z.string().optional(),
|
|
1762
|
+
grant: import_zod_openapi20.z.number().optional()
|
|
1763
|
+
});
|
|
1764
|
+
var RevertToRevisionRequestSchema = import_zod_openapi20.z.object({
|
|
1765
|
+
page_id: import_zod_openapi20.z.string(),
|
|
1766
|
+
revision_id: import_zod_openapi20.z.string()
|
|
1767
|
+
});
|
|
1768
|
+
var SetPageGrantRequestSchema = import_zod_openapi20.z.object({
|
|
1769
|
+
page_id: import_zod_openapi20.z.string(),
|
|
1770
|
+
grant: import_zod_openapi20.z.number().int()
|
|
1771
|
+
});
|
|
1772
|
+
var RenamePageRequestSchema = import_zod_openapi20.z.object({
|
|
1773
|
+
page_id: import_zod_openapi20.z.string(),
|
|
1774
|
+
new_path: import_zod_openapi20.z.string(),
|
|
1775
|
+
revision_id: import_zod_openapi20.z.string().optional(),
|
|
1776
|
+
create_redirect: import_zod_openapi20.z.boolean().optional(),
|
|
1746
1777
|
// When true, rename the page together with its whole (grant-visible)
|
|
1747
1778
|
// descendant subtree (renameTree) instead of just the single page.
|
|
1748
1779
|
// Defaults to false — the single-page rename behaviour.
|
|
1749
|
-
include_descendants:
|
|
1780
|
+
include_descendants: import_zod_openapi20.z.boolean().optional()
|
|
1750
1781
|
});
|
|
1751
|
-
var RenamePageResponseSchema =
|
|
1782
|
+
var RenamePageResponseSchema = import_zod_openapi20.z.object({
|
|
1752
1783
|
page: PageSchema,
|
|
1753
|
-
renamed_count:
|
|
1754
|
-
});
|
|
1755
|
-
var RenameTreeErrorSchema =
|
|
1756
|
-
error:
|
|
1757
|
-
code:
|
|
1758
|
-
message:
|
|
1759
|
-
conflicts:
|
|
1760
|
-
|
|
1761
|
-
path:
|
|
1762
|
-
reasons:
|
|
1784
|
+
renamed_count: import_zod_openapi20.z.number()
|
|
1785
|
+
});
|
|
1786
|
+
var RenameTreeErrorSchema = import_zod_openapi20.z.object({
|
|
1787
|
+
error: import_zod_openapi20.z.object({
|
|
1788
|
+
code: import_zod_openapi20.z.literal("PAGE_RENAME_TREE_FAILED"),
|
|
1789
|
+
message: import_zod_openapi20.z.string(),
|
|
1790
|
+
conflicts: import_zod_openapi20.z.array(
|
|
1791
|
+
import_zod_openapi20.z.object({
|
|
1792
|
+
path: import_zod_openapi20.z.string(),
|
|
1793
|
+
reasons: import_zod_openapi20.z.array(import_zod_openapi20.z.string())
|
|
1763
1794
|
})
|
|
1764
1795
|
),
|
|
1765
1796
|
// True when the failure happened after some pages were already moved
|
|
1766
1797
|
// (non-transactional best-effort). When omitted/false the failure was
|
|
1767
1798
|
// detected up-front and nothing was moved.
|
|
1768
|
-
partial:
|
|
1799
|
+
partial: import_zod_openapi20.z.boolean().optional()
|
|
1769
1800
|
})
|
|
1770
1801
|
});
|
|
1771
|
-
var RenameSubtreeRequestSchema =
|
|
1772
|
-
old_path:
|
|
1773
|
-
new_path:
|
|
1774
|
-
create_redirect:
|
|
1802
|
+
var RenameSubtreeRequestSchema = import_zod_openapi20.z.object({
|
|
1803
|
+
old_path: import_zod_openapi20.z.string(),
|
|
1804
|
+
new_path: import_zod_openapi20.z.string(),
|
|
1805
|
+
create_redirect: import_zod_openapi20.z.boolean().optional()
|
|
1775
1806
|
});
|
|
1776
|
-
var RenameSubtreeResponseSchema =
|
|
1777
|
-
renamed_count:
|
|
1807
|
+
var RenameSubtreeResponseSchema = import_zod_openapi20.z.object({
|
|
1808
|
+
renamed_count: import_zod_openapi20.z.number()
|
|
1778
1809
|
});
|
|
1779
|
-
var PageNotFoundErrorSchema =
|
|
1780
|
-
error:
|
|
1781
|
-
code:
|
|
1782
|
-
message:
|
|
1810
|
+
var PageNotFoundErrorSchema = import_zod_openapi20.z.object({
|
|
1811
|
+
error: import_zod_openapi20.z.object({
|
|
1812
|
+
code: import_zod_openapi20.z.literal("PAGE_NOT_FOUND"),
|
|
1813
|
+
message: import_zod_openapi20.z.literal("Page not found")
|
|
1783
1814
|
})
|
|
1784
1815
|
});
|
|
1785
|
-
var PageNotGrantedErrorSchema =
|
|
1786
|
-
error:
|
|
1787
|
-
code:
|
|
1788
|
-
message:
|
|
1816
|
+
var PageNotGrantedErrorSchema = import_zod_openapi20.z.object({
|
|
1817
|
+
error: import_zod_openapi20.z.object({
|
|
1818
|
+
code: import_zod_openapi20.z.literal("PAGE_NOT_GRANTED"),
|
|
1819
|
+
message: import_zod_openapi20.z.literal("Page is not granted for the user")
|
|
1789
1820
|
})
|
|
1790
1821
|
});
|
|
1791
|
-
var PageRevisionErrorSchema =
|
|
1792
|
-
error:
|
|
1793
|
-
code:
|
|
1794
|
-
message:
|
|
1822
|
+
var PageRevisionErrorSchema = import_zod_openapi20.z.object({
|
|
1823
|
+
error: import_zod_openapi20.z.object({
|
|
1824
|
+
code: import_zod_openapi20.z.literal("PAGE_REVISION_ERROR"),
|
|
1825
|
+
message: import_zod_openapi20.z.string()
|
|
1795
1826
|
})
|
|
1796
1827
|
});
|
|
1797
|
-
var SeenPageRequestSchema =
|
|
1798
|
-
page_id:
|
|
1828
|
+
var SeenPageRequestSchema = import_zod_openapi20.z.object({
|
|
1829
|
+
page_id: import_zod_openapi20.z.string()
|
|
1799
1830
|
});
|
|
1800
|
-
var SeenUsersResponseSchema =
|
|
1801
|
-
seenUsers:
|
|
1802
|
-
seenUsersCount:
|
|
1831
|
+
var SeenUsersResponseSchema = import_zod_openapi20.z.object({
|
|
1832
|
+
seenUsers: import_zod_openapi20.z.array(UserPublicSchema),
|
|
1833
|
+
seenUsersCount: import_zod_openapi20.z.number()
|
|
1803
1834
|
});
|
|
1804
|
-
var GetSeenUsersRequestSchema =
|
|
1805
|
-
page_id:
|
|
1835
|
+
var GetSeenUsersRequestSchema = import_zod_openapi20.z.object({
|
|
1836
|
+
page_id: import_zod_openapi20.z.string(),
|
|
1806
1837
|
// Optional cap on returned `seenUsers`. `seenUsersCount` always reflects
|
|
1807
1838
|
// the full count regardless of `limit`. Omit for the full list.
|
|
1808
|
-
limit:
|
|
1839
|
+
limit: import_zod_openapi20.z.coerce.number().int().positive().optional()
|
|
1809
1840
|
});
|
|
1810
|
-
var GetWatchStatusRequestSchema =
|
|
1811
|
-
page_id:
|
|
1841
|
+
var GetWatchStatusRequestSchema = import_zod_openapi20.z.object({
|
|
1842
|
+
page_id: import_zod_openapi20.z.string()
|
|
1812
1843
|
});
|
|
1813
|
-
var WatchStatusResponseSchema =
|
|
1814
|
-
watching:
|
|
1844
|
+
var WatchStatusResponseSchema = import_zod_openapi20.z.object({
|
|
1845
|
+
watching: import_zod_openapi20.z.boolean()
|
|
1815
1846
|
});
|
|
1816
|
-
var SetWatchStatusRequestSchema =
|
|
1817
|
-
page_id:
|
|
1818
|
-
watching:
|
|
1847
|
+
var SetWatchStatusRequestSchema = import_zod_openapi20.z.object({
|
|
1848
|
+
page_id: import_zod_openapi20.z.string(),
|
|
1849
|
+
watching: import_zod_openapi20.z.boolean()
|
|
1819
1850
|
});
|
|
1820
1851
|
|
|
1821
1852
|
// src/schemas/me.ts
|
|
1822
|
-
var LanguageSchema =
|
|
1823
|
-
var ThemeSchema =
|
|
1824
|
-
var UserProfileResponseSchema =
|
|
1825
|
-
id:
|
|
1826
|
-
username:
|
|
1827
|
-
name:
|
|
1828
|
-
email:
|
|
1853
|
+
var LanguageSchema = import_zod_openapi21.z.enum(["en", "ja"]);
|
|
1854
|
+
var ThemeSchema = import_zod_openapi21.z.enum(["system", "light", "dark"]);
|
|
1855
|
+
var UserProfileResponseSchema = import_zod_openapi21.z.object({
|
|
1856
|
+
id: import_zod_openapi21.z.string(),
|
|
1857
|
+
username: import_zod_openapi21.z.string(),
|
|
1858
|
+
name: import_zod_openapi21.z.string(),
|
|
1859
|
+
email: import_zod_openapi21.z.string().email(),
|
|
1829
1860
|
lang: LanguageSchema,
|
|
1830
1861
|
theme: ThemeSchema,
|
|
1831
|
-
image:
|
|
1832
|
-
introduction:
|
|
1833
|
-
hasPassword:
|
|
1834
|
-
createdAt:
|
|
1862
|
+
image: import_zod_openapi21.z.string().nullable(),
|
|
1863
|
+
introduction: import_zod_openapi21.z.string().optional(),
|
|
1864
|
+
hasPassword: import_zod_openapi21.z.boolean(),
|
|
1865
|
+
createdAt: import_zod_openapi21.z.string(),
|
|
1835
1866
|
/**
|
|
1836
1867
|
* True when the profile update requested a new email that is awaiting
|
|
1837
1868
|
* confirmation: the stored `email` is unchanged and a confirmation
|
|
1838
1869
|
* link was sent to the new address.
|
|
1839
1870
|
*/
|
|
1840
|
-
emailChangePending:
|
|
1871
|
+
emailChangePending: import_zod_openapi21.z.boolean().optional()
|
|
1841
1872
|
});
|
|
1842
|
-
var UpdateProfileRequestSchema =
|
|
1843
|
-
userForm:
|
|
1844
|
-
name:
|
|
1845
|
-
email:
|
|
1873
|
+
var UpdateProfileRequestSchema = import_zod_openapi21.z.object({
|
|
1874
|
+
userForm: import_zod_openapi21.z.object({
|
|
1875
|
+
name: import_zod_openapi21.z.string().min(1, "Name is required"),
|
|
1876
|
+
email: import_zod_openapi21.z.string().email("Invalid email format"),
|
|
1846
1877
|
lang: LanguageSchema
|
|
1847
1878
|
})
|
|
1848
1879
|
});
|
|
1849
|
-
var UpdateThemeRequestSchema =
|
|
1880
|
+
var UpdateThemeRequestSchema = import_zod_openapi21.z.object({
|
|
1850
1881
|
theme: ThemeSchema
|
|
1851
1882
|
});
|
|
1852
|
-
var ThemeUpdateResponseSchema =
|
|
1853
|
-
status:
|
|
1883
|
+
var ThemeUpdateResponseSchema = import_zod_openapi21.z.object({
|
|
1884
|
+
status: import_zod_openapi21.z.literal("ok"),
|
|
1854
1885
|
theme: ThemeSchema
|
|
1855
1886
|
});
|
|
1856
|
-
var PictureUploadResponseSchema =
|
|
1857
|
-
status:
|
|
1858
|
-
url:
|
|
1859
|
-
message:
|
|
1887
|
+
var PictureUploadResponseSchema = import_zod_openapi21.z.object({
|
|
1888
|
+
status: import_zod_openapi21.z.boolean(),
|
|
1889
|
+
url: import_zod_openapi21.z.string().optional(),
|
|
1890
|
+
message: import_zod_openapi21.z.string().optional()
|
|
1860
1891
|
});
|
|
1861
|
-
var SuccessResponseSchema =
|
|
1862
|
-
status:
|
|
1863
|
-
message:
|
|
1892
|
+
var SuccessResponseSchema = import_zod_openapi21.z.object({
|
|
1893
|
+
status: import_zod_openapi21.z.literal("ok"),
|
|
1894
|
+
message: import_zod_openapi21.z.string().optional()
|
|
1864
1895
|
});
|
|
1865
|
-
var ProfileErrorResponseSchema =
|
|
1866
|
-
status:
|
|
1896
|
+
var ProfileErrorResponseSchema = import_zod_openapi21.z.object({
|
|
1897
|
+
status: import_zod_openapi21.z.literal("error"),
|
|
1867
1898
|
/** Stable code so the web can localize the message (e.g. EMAIL_TAKEN). */
|
|
1868
|
-
code:
|
|
1869
|
-
message:
|
|
1870
|
-
errors:
|
|
1899
|
+
code: import_zod_openapi21.z.string().optional(),
|
|
1900
|
+
message: import_zod_openapi21.z.string().optional(),
|
|
1901
|
+
errors: import_zod_openapi21.z.array(import_zod_openapi21.z.string()).optional()
|
|
1871
1902
|
});
|
|
1872
1903
|
var PASSWORD_REGEX = /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?`~])[a-zA-Z\d!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?`~]+$/;
|
|
1873
|
-
var UpdatePasswordRequestSchema =
|
|
1874
|
-
oldPassword:
|
|
1875
|
-
newPassword:
|
|
1876
|
-
newPasswordConfirm:
|
|
1904
|
+
var UpdatePasswordRequestSchema = import_zod_openapi21.z.object({
|
|
1905
|
+
oldPassword: import_zod_openapi21.z.string().optional(),
|
|
1906
|
+
newPassword: import_zod_openapi21.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"),
|
|
1907
|
+
newPasswordConfirm: import_zod_openapi21.z.string()
|
|
1877
1908
|
}).refine((data) => data.newPassword === data.newPasswordConfirm, {
|
|
1878
1909
|
message: "Passwords do not match",
|
|
1879
1910
|
path: ["newPasswordConfirm"]
|
|
1880
1911
|
});
|
|
1881
|
-
var PasswordUpdateSuccessSchema =
|
|
1882
|
-
status:
|
|
1883
|
-
message:
|
|
1912
|
+
var PasswordUpdateSuccessSchema = import_zod_openapi21.z.object({
|
|
1913
|
+
status: import_zod_openapi21.z.literal("ok"),
|
|
1914
|
+
message: import_zod_openapi21.z.string()
|
|
1884
1915
|
});
|
|
1885
|
-
var PasswordErrorResponseSchema =
|
|
1886
|
-
status:
|
|
1887
|
-
message:
|
|
1888
|
-
errors:
|
|
1916
|
+
var PasswordErrorResponseSchema = import_zod_openapi21.z.object({
|
|
1917
|
+
status: import_zod_openapi21.z.literal("error"),
|
|
1918
|
+
message: import_zod_openapi21.z.string(),
|
|
1919
|
+
errors: import_zod_openapi21.z.array(import_zod_openapi21.z.string()).optional()
|
|
1889
1920
|
});
|
|
1890
|
-
var RecentlyViewedPagesResponseSchema =
|
|
1891
|
-
pages:
|
|
1921
|
+
var RecentlyViewedPagesResponseSchema = import_zod_openapi21.z.object({
|
|
1922
|
+
pages: import_zod_openapi21.z.array(PageSchema)
|
|
1892
1923
|
});
|
|
1893
1924
|
|
|
1894
1925
|
// src/contracts/me.ts
|
|
1895
|
-
var getProfileRoute = (0,
|
|
1926
|
+
var getProfileRoute = (0, import_zod_openapi22.createRoute)({
|
|
1896
1927
|
method: "get",
|
|
1897
1928
|
path: "/me",
|
|
1898
1929
|
tags: ["me"],
|
|
@@ -1909,7 +1940,7 @@ var getProfileRoute = (0, import_zod_openapi21.createRoute)({
|
|
|
1909
1940
|
}
|
|
1910
1941
|
}
|
|
1911
1942
|
});
|
|
1912
|
-
var updateProfileRoute = (0,
|
|
1943
|
+
var updateProfileRoute = (0, import_zod_openapi22.createRoute)({
|
|
1913
1944
|
method: "put",
|
|
1914
1945
|
path: "/me",
|
|
1915
1946
|
tags: ["me"],
|
|
@@ -1935,7 +1966,7 @@ var updateProfileRoute = (0, import_zod_openapi21.createRoute)({
|
|
|
1935
1966
|
}
|
|
1936
1967
|
}
|
|
1937
1968
|
});
|
|
1938
|
-
var updateThemeRoute = (0,
|
|
1969
|
+
var updateThemeRoute = (0, import_zod_openapi22.createRoute)({
|
|
1939
1970
|
method: "patch",
|
|
1940
1971
|
path: "/me/theme",
|
|
1941
1972
|
tags: ["me"],
|
|
@@ -1961,7 +1992,7 @@ var updateThemeRoute = (0, import_zod_openapi21.createRoute)({
|
|
|
1961
1992
|
}
|
|
1962
1993
|
}
|
|
1963
1994
|
});
|
|
1964
|
-
var uploadPictureRoute = (0,
|
|
1995
|
+
var uploadPictureRoute = (0, import_zod_openapi22.createRoute)({
|
|
1965
1996
|
method: "post",
|
|
1966
1997
|
path: "/me/picture",
|
|
1967
1998
|
tags: ["me"],
|
|
@@ -1971,8 +2002,8 @@ var uploadPictureRoute = (0, import_zod_openapi21.createRoute)({
|
|
|
1971
2002
|
body: {
|
|
1972
2003
|
content: {
|
|
1973
2004
|
"multipart/form-data": {
|
|
1974
|
-
schema:
|
|
1975
|
-
file:
|
|
2005
|
+
schema: import_zod_openapi22.z.object({
|
|
2006
|
+
file: import_zod_openapi22.z.any().optional().describe("Profile picture file")
|
|
1976
2007
|
})
|
|
1977
2008
|
}
|
|
1978
2009
|
}
|
|
@@ -1993,7 +2024,7 @@ var uploadPictureRoute = (0, import_zod_openapi21.createRoute)({
|
|
|
1993
2024
|
}
|
|
1994
2025
|
}
|
|
1995
2026
|
});
|
|
1996
|
-
var deletePictureRoute = (0,
|
|
2027
|
+
var deletePictureRoute = (0, import_zod_openapi22.createRoute)({
|
|
1997
2028
|
method: "delete",
|
|
1998
2029
|
path: "/me/picture",
|
|
1999
2030
|
tags: ["me"],
|
|
@@ -2014,7 +2045,7 @@ var deletePictureRoute = (0, import_zod_openapi21.createRoute)({
|
|
|
2014
2045
|
}
|
|
2015
2046
|
}
|
|
2016
2047
|
});
|
|
2017
|
-
var updatePasswordRoute = (0,
|
|
2048
|
+
var updatePasswordRoute = (0, import_zod_openapi22.createRoute)({
|
|
2018
2049
|
method: "put",
|
|
2019
2050
|
path: "/me/password",
|
|
2020
2051
|
tags: ["me"],
|
|
@@ -2040,7 +2071,7 @@ var updatePasswordRoute = (0, import_zod_openapi21.createRoute)({
|
|
|
2040
2071
|
}
|
|
2041
2072
|
}
|
|
2042
2073
|
});
|
|
2043
|
-
var recentlyViewedPagesRoute = (0,
|
|
2074
|
+
var recentlyViewedPagesRoute = (0, import_zod_openapi22.createRoute)({
|
|
2044
2075
|
method: "get",
|
|
2045
2076
|
path: "/me/recently-viewed-pages",
|
|
2046
2077
|
tags: ["me"],
|
|
@@ -2072,43 +2103,43 @@ var meRoutes = {
|
|
|
2072
2103
|
};
|
|
2073
2104
|
|
|
2074
2105
|
// src/contracts/access-token.ts
|
|
2075
|
-
var
|
|
2106
|
+
var import_zod_openapi24 = require("@hono/zod-openapi");
|
|
2076
2107
|
|
|
2077
2108
|
// src/schemas/access-token.ts
|
|
2078
|
-
var
|
|
2079
|
-
var AccessTokenSchema =
|
|
2080
|
-
id:
|
|
2081
|
-
name:
|
|
2082
|
-
scopes:
|
|
2109
|
+
var import_zod_openapi23 = require("@hono/zod-openapi");
|
|
2110
|
+
var AccessTokenSchema = import_zod_openapi23.z.object({
|
|
2111
|
+
id: import_zod_openapi23.z.string(),
|
|
2112
|
+
name: import_zod_openapi23.z.string(),
|
|
2113
|
+
scopes: import_zod_openapi23.z.array(import_zod_openapi23.z.string()),
|
|
2083
2114
|
/** ISO-8601 expiry, or `null` for a non-expiring token. */
|
|
2084
|
-
expiresAt:
|
|
2115
|
+
expiresAt: import_zod_openapi23.z.string().nullable(),
|
|
2085
2116
|
/** ISO-8601 of last successful use, or `null` if never used. */
|
|
2086
|
-
lastUsedAt:
|
|
2087
|
-
createdAt:
|
|
2117
|
+
lastUsedAt: import_zod_openapi23.z.string().nullable(),
|
|
2118
|
+
createdAt: import_zod_openapi23.z.string()
|
|
2088
2119
|
});
|
|
2089
|
-
var ListAccessTokensResponseSchema =
|
|
2090
|
-
accessTokens:
|
|
2120
|
+
var ListAccessTokensResponseSchema = import_zod_openapi23.z.object({
|
|
2121
|
+
accessTokens: import_zod_openapi23.z.array(AccessTokenSchema)
|
|
2091
2122
|
});
|
|
2092
|
-
var CreateAccessTokenRequestSchema =
|
|
2093
|
-
name:
|
|
2094
|
-
scopes:
|
|
2095
|
-
expiresAt:
|
|
2123
|
+
var CreateAccessTokenRequestSchema = import_zod_openapi23.z.object({
|
|
2124
|
+
name: import_zod_openapi23.z.string().min(1, "Name is required").max(200),
|
|
2125
|
+
scopes: import_zod_openapi23.z.array(import_zod_openapi23.z.string()).min(1, "At least one scope is required"),
|
|
2126
|
+
expiresAt: import_zod_openapi23.z.string().datetime().nullable().optional()
|
|
2096
2127
|
});
|
|
2097
2128
|
var CreateAccessTokenResponseSchema = AccessTokenSchema.extend({
|
|
2098
|
-
token:
|
|
2099
|
-
});
|
|
2100
|
-
var InvalidScopeErrorSchema =
|
|
2101
|
-
error:
|
|
2102
|
-
code:
|
|
2103
|
-
message:
|
|
2104
|
-
details:
|
|
2105
|
-
invalidScopes:
|
|
2129
|
+
token: import_zod_openapi23.z.string()
|
|
2130
|
+
});
|
|
2131
|
+
var InvalidScopeErrorSchema = import_zod_openapi23.z.object({
|
|
2132
|
+
error: import_zod_openapi23.z.object({
|
|
2133
|
+
code: import_zod_openapi23.z.literal("INVALID_SCOPE"),
|
|
2134
|
+
message: import_zod_openapi23.z.string(),
|
|
2135
|
+
details: import_zod_openapi23.z.object({
|
|
2136
|
+
invalidScopes: import_zod_openapi23.z.array(import_zod_openapi23.z.string())
|
|
2106
2137
|
}).optional()
|
|
2107
2138
|
})
|
|
2108
2139
|
});
|
|
2109
2140
|
|
|
2110
2141
|
// src/contracts/access-token.ts
|
|
2111
|
-
var listAccessTokensRoute = (0,
|
|
2142
|
+
var listAccessTokensRoute = (0, import_zod_openapi24.createRoute)({
|
|
2112
2143
|
method: "get",
|
|
2113
2144
|
path: "/me/access-tokens",
|
|
2114
2145
|
tags: ["me"],
|
|
@@ -2133,7 +2164,7 @@ var listAccessTokensRoute = (0, import_zod_openapi23.createRoute)({
|
|
|
2133
2164
|
}
|
|
2134
2165
|
}
|
|
2135
2166
|
});
|
|
2136
|
-
var createAccessTokenRoute = (0,
|
|
2167
|
+
var createAccessTokenRoute = (0, import_zod_openapi24.createRoute)({
|
|
2137
2168
|
method: "post",
|
|
2138
2169
|
path: "/me/access-tokens",
|
|
2139
2170
|
tags: ["me"],
|
|
@@ -2167,14 +2198,14 @@ var createAccessTokenRoute = (0, import_zod_openapi23.createRoute)({
|
|
|
2167
2198
|
}
|
|
2168
2199
|
}
|
|
2169
2200
|
});
|
|
2170
|
-
var deleteAccessTokenRoute = (0,
|
|
2201
|
+
var deleteAccessTokenRoute = (0, import_zod_openapi24.createRoute)({
|
|
2171
2202
|
method: "delete",
|
|
2172
2203
|
path: "/me/access-tokens/{id}",
|
|
2173
2204
|
tags: ["me"],
|
|
2174
2205
|
security: [{ bearerAuth: [] }],
|
|
2175
2206
|
summary: "Revoke a personal access token",
|
|
2176
2207
|
request: {
|
|
2177
|
-
params:
|
|
2208
|
+
params: import_zod_openapi24.z.object({ id: import_zod_openapi24.z.string() })
|
|
2178
2209
|
},
|
|
2179
2210
|
responses: {
|
|
2180
2211
|
200: {
|
|
@@ -2206,13 +2237,13 @@ var accessTokenRoutes = {
|
|
|
2206
2237
|
};
|
|
2207
2238
|
|
|
2208
2239
|
// src/contracts/oauth.ts
|
|
2209
|
-
var
|
|
2240
|
+
var import_zod_openapi27 = require("@hono/zod-openapi");
|
|
2210
2241
|
|
|
2211
2242
|
// src/schemas/oauth-endpoints.ts
|
|
2212
|
-
var
|
|
2243
|
+
var import_zod_openapi26 = require("@hono/zod-openapi");
|
|
2213
2244
|
|
|
2214
2245
|
// src/schemas/oauth.ts
|
|
2215
|
-
var
|
|
2246
|
+
var import_zod_openapi25 = require("@hono/zod-openapi");
|
|
2216
2247
|
var SCOPES = [
|
|
2217
2248
|
// umbrella
|
|
2218
2249
|
"read",
|
|
@@ -2280,11 +2311,11 @@ function scopeSatisfies(required, granted) {
|
|
|
2280
2311
|
return false;
|
|
2281
2312
|
}
|
|
2282
2313
|
var InsufficientScopeErrorSchema = ApiErrorSchema.extend({
|
|
2283
|
-
error:
|
|
2284
|
-
code:
|
|
2285
|
-
message:
|
|
2286
|
-
details:
|
|
2287
|
-
requiredScope:
|
|
2314
|
+
error: import_zod_openapi25.z.object({
|
|
2315
|
+
code: import_zod_openapi25.z.literal("INSUFFICIENT_SCOPE"),
|
|
2316
|
+
message: import_zod_openapi25.z.string(),
|
|
2317
|
+
details: import_zod_openapi25.z.object({
|
|
2318
|
+
requiredScope: import_zod_openapi25.z.string()
|
|
2288
2319
|
}).optional()
|
|
2289
2320
|
})
|
|
2290
2321
|
});
|
|
@@ -2303,96 +2334,96 @@ var OAUTH_ERROR_CODES = [
|
|
|
2303
2334
|
"slow_down",
|
|
2304
2335
|
"expired_token"
|
|
2305
2336
|
];
|
|
2306
|
-
var OAuthErrorSchema =
|
|
2307
|
-
error:
|
|
2308
|
-
error_description:
|
|
2309
|
-
});
|
|
2310
|
-
var AuthorizeRequestSchema =
|
|
2311
|
-
client_id:
|
|
2312
|
-
redirect_uri:
|
|
2313
|
-
scope:
|
|
2314
|
-
code_challenge:
|
|
2315
|
-
code_challenge_method:
|
|
2316
|
-
state:
|
|
2317
|
-
});
|
|
2318
|
-
var AuthorizeResponseSchema =
|
|
2319
|
-
redirectUri:
|
|
2320
|
-
});
|
|
2321
|
-
var TokenRequestSchema =
|
|
2322
|
-
|
|
2323
|
-
grant_type:
|
|
2324
|
-
code:
|
|
2325
|
-
code_verifier:
|
|
2326
|
-
redirect_uri:
|
|
2327
|
-
client_id:
|
|
2337
|
+
var OAuthErrorSchema = import_zod_openapi26.z.object({
|
|
2338
|
+
error: import_zod_openapi26.z.enum(OAUTH_ERROR_CODES),
|
|
2339
|
+
error_description: import_zod_openapi26.z.string().optional()
|
|
2340
|
+
});
|
|
2341
|
+
var AuthorizeRequestSchema = import_zod_openapi26.z.object({
|
|
2342
|
+
client_id: import_zod_openapi26.z.string().min(1),
|
|
2343
|
+
redirect_uri: import_zod_openapi26.z.string().min(1),
|
|
2344
|
+
scope: import_zod_openapi26.z.string().min(1),
|
|
2345
|
+
code_challenge: import_zod_openapi26.z.string().min(1),
|
|
2346
|
+
code_challenge_method: import_zod_openapi26.z.literal("S256"),
|
|
2347
|
+
state: import_zod_openapi26.z.string().optional()
|
|
2348
|
+
});
|
|
2349
|
+
var AuthorizeResponseSchema = import_zod_openapi26.z.object({
|
|
2350
|
+
redirectUri: import_zod_openapi26.z.string()
|
|
2351
|
+
});
|
|
2352
|
+
var TokenRequestSchema = import_zod_openapi26.z.discriminatedUnion("grant_type", [
|
|
2353
|
+
import_zod_openapi26.z.object({
|
|
2354
|
+
grant_type: import_zod_openapi26.z.literal("authorization_code"),
|
|
2355
|
+
code: import_zod_openapi26.z.string().min(1),
|
|
2356
|
+
code_verifier: import_zod_openapi26.z.string().min(1),
|
|
2357
|
+
redirect_uri: import_zod_openapi26.z.string().min(1),
|
|
2358
|
+
client_id: import_zod_openapi26.z.string().min(1)
|
|
2328
2359
|
}),
|
|
2329
|
-
|
|
2330
|
-
grant_type:
|
|
2331
|
-
refresh_token:
|
|
2332
|
-
client_id:
|
|
2333
|
-
scope:
|
|
2360
|
+
import_zod_openapi26.z.object({
|
|
2361
|
+
grant_type: import_zod_openapi26.z.literal("refresh_token"),
|
|
2362
|
+
refresh_token: import_zod_openapi26.z.string().min(1),
|
|
2363
|
+
client_id: import_zod_openapi26.z.string().min(1),
|
|
2364
|
+
scope: import_zod_openapi26.z.string().optional()
|
|
2334
2365
|
}),
|
|
2335
2366
|
// RFC 8628 §3.4 — device authorization grant. The client polls with the
|
|
2336
2367
|
// opaque `device_code` returned by `/oauth/device/authorize`.
|
|
2337
|
-
|
|
2338
|
-
grant_type:
|
|
2339
|
-
device_code:
|
|
2340
|
-
client_id:
|
|
2368
|
+
import_zod_openapi26.z.object({
|
|
2369
|
+
grant_type: import_zod_openapi26.z.literal("urn:ietf:params:oauth:grant-type:device_code"),
|
|
2370
|
+
device_code: import_zod_openapi26.z.string().min(1),
|
|
2371
|
+
client_id: import_zod_openapi26.z.string().min(1)
|
|
2341
2372
|
})
|
|
2342
2373
|
]);
|
|
2343
2374
|
var DEVICE_CODE_GRANT_TYPE = "urn:ietf:params:oauth:grant-type:device_code";
|
|
2344
|
-
var TokenResponseSchema =
|
|
2345
|
-
access_token:
|
|
2346
|
-
token_type:
|
|
2347
|
-
expires_in:
|
|
2348
|
-
refresh_token:
|
|
2349
|
-
scope:
|
|
2350
|
-
});
|
|
2351
|
-
var RevokeRequestSchema =
|
|
2352
|
-
token:
|
|
2353
|
-
token_type_hint:
|
|
2354
|
-
});
|
|
2355
|
-
var RevokeResponseSchema =
|
|
2356
|
-
var DeviceAuthorizeRequestSchema =
|
|
2357
|
-
client_id:
|
|
2358
|
-
scope:
|
|
2359
|
-
});
|
|
2360
|
-
var DeviceAuthorizeResponseSchema =
|
|
2361
|
-
device_code:
|
|
2362
|
-
user_code:
|
|
2363
|
-
verification_uri:
|
|
2364
|
-
verification_uri_complete:
|
|
2365
|
-
expires_in:
|
|
2366
|
-
interval:
|
|
2367
|
-
});
|
|
2368
|
-
var DeviceVerifyRequestSchema =
|
|
2369
|
-
user_code:
|
|
2370
|
-
action:
|
|
2371
|
-
});
|
|
2372
|
-
var DeviceVerifyResponseSchema =
|
|
2373
|
-
status:
|
|
2374
|
-
});
|
|
2375
|
-
var DeviceInfoResponseSchema =
|
|
2376
|
-
client_id:
|
|
2377
|
-
scopes:
|
|
2375
|
+
var TokenResponseSchema = import_zod_openapi26.z.object({
|
|
2376
|
+
access_token: import_zod_openapi26.z.string(),
|
|
2377
|
+
token_type: import_zod_openapi26.z.literal("Bearer"),
|
|
2378
|
+
expires_in: import_zod_openapi26.z.number(),
|
|
2379
|
+
refresh_token: import_zod_openapi26.z.string(),
|
|
2380
|
+
scope: import_zod_openapi26.z.string()
|
|
2381
|
+
});
|
|
2382
|
+
var RevokeRequestSchema = import_zod_openapi26.z.object({
|
|
2383
|
+
token: import_zod_openapi26.z.string().min(1),
|
|
2384
|
+
token_type_hint: import_zod_openapi26.z.string().optional()
|
|
2385
|
+
});
|
|
2386
|
+
var RevokeResponseSchema = import_zod_openapi26.z.object({});
|
|
2387
|
+
var DeviceAuthorizeRequestSchema = import_zod_openapi26.z.object({
|
|
2388
|
+
client_id: import_zod_openapi26.z.string().min(1),
|
|
2389
|
+
scope: import_zod_openapi26.z.string().min(1)
|
|
2390
|
+
});
|
|
2391
|
+
var DeviceAuthorizeResponseSchema = import_zod_openapi26.z.object({
|
|
2392
|
+
device_code: import_zod_openapi26.z.string(),
|
|
2393
|
+
user_code: import_zod_openapi26.z.string(),
|
|
2394
|
+
verification_uri: import_zod_openapi26.z.string(),
|
|
2395
|
+
verification_uri_complete: import_zod_openapi26.z.string(),
|
|
2396
|
+
expires_in: import_zod_openapi26.z.number(),
|
|
2397
|
+
interval: import_zod_openapi26.z.number()
|
|
2398
|
+
});
|
|
2399
|
+
var DeviceVerifyRequestSchema = import_zod_openapi26.z.object({
|
|
2400
|
+
user_code: import_zod_openapi26.z.string().min(1),
|
|
2401
|
+
action: import_zod_openapi26.z.enum(["approve", "deny"])
|
|
2402
|
+
});
|
|
2403
|
+
var DeviceVerifyResponseSchema = import_zod_openapi26.z.object({
|
|
2404
|
+
status: import_zod_openapi26.z.enum(["approved", "denied"])
|
|
2405
|
+
});
|
|
2406
|
+
var DeviceInfoResponseSchema = import_zod_openapi26.z.object({
|
|
2407
|
+
client_id: import_zod_openapi26.z.string(),
|
|
2408
|
+
scopes: import_zod_openapi26.z.array(import_zod_openapi26.z.string())
|
|
2378
2409
|
});
|
|
2379
2410
|
var GRANT_TYPES_SUPPORTED = ["authorization_code", "refresh_token", DEVICE_CODE_GRANT_TYPE];
|
|
2380
|
-
var DiscoveryResponseSchema =
|
|
2381
|
-
issuer:
|
|
2382
|
-
authorization_endpoint:
|
|
2383
|
-
token_endpoint:
|
|
2384
|
-
revocation_endpoint:
|
|
2385
|
-
device_authorization_endpoint:
|
|
2386
|
-
scopes_supported:
|
|
2387
|
-
response_types_supported:
|
|
2388
|
-
grant_types_supported:
|
|
2389
|
-
code_challenge_methods_supported:
|
|
2390
|
-
token_endpoint_auth_methods_supported:
|
|
2411
|
+
var DiscoveryResponseSchema = import_zod_openapi26.z.object({
|
|
2412
|
+
issuer: import_zod_openapi26.z.string(),
|
|
2413
|
+
authorization_endpoint: import_zod_openapi26.z.string(),
|
|
2414
|
+
token_endpoint: import_zod_openapi26.z.string(),
|
|
2415
|
+
revocation_endpoint: import_zod_openapi26.z.string(),
|
|
2416
|
+
device_authorization_endpoint: import_zod_openapi26.z.string().optional(),
|
|
2417
|
+
scopes_supported: import_zod_openapi26.z.array(import_zod_openapi26.z.string()),
|
|
2418
|
+
response_types_supported: import_zod_openapi26.z.array(import_zod_openapi26.z.string()),
|
|
2419
|
+
grant_types_supported: import_zod_openapi26.z.array(import_zod_openapi26.z.string()),
|
|
2420
|
+
code_challenge_methods_supported: import_zod_openapi26.z.array(import_zod_openapi26.z.string()),
|
|
2421
|
+
token_endpoint_auth_methods_supported: import_zod_openapi26.z.array(import_zod_openapi26.z.string())
|
|
2391
2422
|
});
|
|
2392
2423
|
var DISCOVERY_SCOPES_SUPPORTED = ISSUABLE_SCOPES;
|
|
2393
2424
|
|
|
2394
2425
|
// src/contracts/oauth.ts
|
|
2395
|
-
var authorizeRoute = (0,
|
|
2426
|
+
var authorizeRoute = (0, import_zod_openapi27.createRoute)({
|
|
2396
2427
|
method: "post",
|
|
2397
2428
|
path: "/oauth/authorize",
|
|
2398
2429
|
tags: ["oauth"],
|
|
@@ -2422,7 +2453,7 @@ var authorizeRoute = (0, import_zod_openapi26.createRoute)({
|
|
|
2422
2453
|
}
|
|
2423
2454
|
}
|
|
2424
2455
|
});
|
|
2425
|
-
var tokenRoute = (0,
|
|
2456
|
+
var tokenRoute = (0, import_zod_openapi27.createRoute)({
|
|
2426
2457
|
method: "post",
|
|
2427
2458
|
path: "/oauth/token",
|
|
2428
2459
|
tags: ["oauth"],
|
|
@@ -2454,7 +2485,7 @@ var tokenRoute = (0, import_zod_openapi26.createRoute)({
|
|
|
2454
2485
|
}
|
|
2455
2486
|
}
|
|
2456
2487
|
});
|
|
2457
|
-
var revokeRoute = (0,
|
|
2488
|
+
var revokeRoute = (0, import_zod_openapi27.createRoute)({
|
|
2458
2489
|
method: "post",
|
|
2459
2490
|
path: "/oauth/revoke",
|
|
2460
2491
|
tags: ["oauth"],
|
|
@@ -2474,7 +2505,7 @@ var revokeRoute = (0, import_zod_openapi26.createRoute)({
|
|
|
2474
2505
|
}
|
|
2475
2506
|
}
|
|
2476
2507
|
});
|
|
2477
|
-
var discoveryRoute = (0,
|
|
2508
|
+
var discoveryRoute = (0, import_zod_openapi27.createRoute)({
|
|
2478
2509
|
method: "get",
|
|
2479
2510
|
path: "/.well-known/oauth-authorization-server",
|
|
2480
2511
|
tags: ["oauth"],
|
|
@@ -2486,7 +2517,7 @@ var discoveryRoute = (0, import_zod_openapi26.createRoute)({
|
|
|
2486
2517
|
}
|
|
2487
2518
|
}
|
|
2488
2519
|
});
|
|
2489
|
-
var deviceAuthorizeRoute = (0,
|
|
2520
|
+
var deviceAuthorizeRoute = (0, import_zod_openapi27.createRoute)({
|
|
2490
2521
|
method: "post",
|
|
2491
2522
|
path: "/oauth/device/authorize",
|
|
2492
2523
|
tags: ["oauth"],
|
|
@@ -2514,7 +2545,7 @@ var deviceAuthorizeRoute = (0, import_zod_openapi26.createRoute)({
|
|
|
2514
2545
|
}
|
|
2515
2546
|
}
|
|
2516
2547
|
});
|
|
2517
|
-
var deviceInfoRoute = (0,
|
|
2548
|
+
var deviceInfoRoute = (0, import_zod_openapi27.createRoute)({
|
|
2518
2549
|
method: "get",
|
|
2519
2550
|
path: "/oauth/device",
|
|
2520
2551
|
tags: ["oauth"],
|
|
@@ -2523,7 +2554,7 @@ var deviceInfoRoute = (0, import_zod_openapi26.createRoute)({
|
|
|
2523
2554
|
// scopes so the web consent screen can show them before approval. Reveals
|
|
2524
2555
|
// no secret. Unknown / expired / non-pending → 404 (PHASE4-Q9 option A).
|
|
2525
2556
|
request: {
|
|
2526
|
-
query:
|
|
2557
|
+
query: import_zod_openapi27.z.object({ user_code: import_zod_openapi27.z.string().min(1) })
|
|
2527
2558
|
},
|
|
2528
2559
|
responses: {
|
|
2529
2560
|
200: {
|
|
@@ -2536,7 +2567,7 @@ var deviceInfoRoute = (0, import_zod_openapi26.createRoute)({
|
|
|
2536
2567
|
}
|
|
2537
2568
|
}
|
|
2538
2569
|
});
|
|
2539
|
-
var deviceVerifyRoute = (0,
|
|
2570
|
+
var deviceVerifyRoute = (0, import_zod_openapi27.createRoute)({
|
|
2540
2571
|
method: "post",
|
|
2541
2572
|
path: "/oauth/device/verify",
|
|
2542
2573
|
tags: ["oauth"],
|
|
@@ -2577,95 +2608,95 @@ var oauthRoutes = {
|
|
|
2577
2608
|
};
|
|
2578
2609
|
|
|
2579
2610
|
// src/contracts/user.ts
|
|
2580
|
-
var
|
|
2611
|
+
var import_zod_openapi30 = require("@hono/zod-openapi");
|
|
2581
2612
|
|
|
2582
2613
|
// src/schemas/user.ts
|
|
2583
|
-
var
|
|
2614
|
+
var import_zod_openapi29 = require("@hono/zod-openapi");
|
|
2584
2615
|
|
|
2585
2616
|
// src/schemas/bookmark.ts
|
|
2586
|
-
var
|
|
2587
|
-
var BookmarkSchema =
|
|
2588
|
-
_id:
|
|
2617
|
+
var import_zod_openapi28 = require("@hono/zod-openapi");
|
|
2618
|
+
var BookmarkSchema = import_zod_openapi28.z.object({
|
|
2619
|
+
_id: import_zod_openapi28.z.string(),
|
|
2589
2620
|
page: PageSchema,
|
|
2590
|
-
user:
|
|
2591
|
-
createdAt:
|
|
2621
|
+
user: import_zod_openapi28.z.union([import_zod_openapi28.z.string(), UserPublicSchema]),
|
|
2622
|
+
createdAt: import_zod_openapi28.z.string()
|
|
2592
2623
|
});
|
|
2593
|
-
var GetBookmarkRequestSchema =
|
|
2594
|
-
page_id:
|
|
2624
|
+
var GetBookmarkRequestSchema = import_zod_openapi28.z.object({
|
|
2625
|
+
page_id: import_zod_openapi28.z.string()
|
|
2595
2626
|
});
|
|
2596
|
-
var BookmarkResponseSchema =
|
|
2627
|
+
var BookmarkResponseSchema = import_zod_openapi28.z.object({
|
|
2597
2628
|
bookmark: BookmarkSchema.nullable()
|
|
2598
2629
|
});
|
|
2599
|
-
var ListMyBookmarksResponseSchema =
|
|
2600
|
-
bookmarks:
|
|
2630
|
+
var ListMyBookmarksResponseSchema = import_zod_openapi28.z.object({
|
|
2631
|
+
bookmarks: import_zod_openapi28.z.array(BookmarkSchema),
|
|
2601
2632
|
pager: PagerSchema,
|
|
2602
|
-
total:
|
|
2633
|
+
total: import_zod_openapi28.z.number()
|
|
2603
2634
|
});
|
|
2604
|
-
var AddBookmarkRequestSchema =
|
|
2605
|
-
page_id:
|
|
2635
|
+
var AddBookmarkRequestSchema = import_zod_openapi28.z.object({
|
|
2636
|
+
page_id: import_zod_openapi28.z.string()
|
|
2606
2637
|
});
|
|
2607
|
-
var RemoveBookmarkRequestSchema =
|
|
2608
|
-
page_id:
|
|
2638
|
+
var RemoveBookmarkRequestSchema = import_zod_openapi28.z.object({
|
|
2639
|
+
page_id: import_zod_openapi28.z.string()
|
|
2609
2640
|
});
|
|
2610
|
-
var RemoveBookmarkResponseSchema =
|
|
2611
|
-
ok:
|
|
2641
|
+
var RemoveBookmarkResponseSchema = import_zod_openapi28.z.object({
|
|
2642
|
+
ok: import_zod_openapi28.z.literal(true)
|
|
2612
2643
|
});
|
|
2613
2644
|
|
|
2614
2645
|
// src/schemas/user.ts
|
|
2615
|
-
var UserStatusSchema =
|
|
2646
|
+
var UserStatusSchema = import_zod_openapi29.z.enum(["1", "2", "3", "4", "5"]).transform((val) => Number(val));
|
|
2616
2647
|
var UserStatusEnum = UserPublicStatus;
|
|
2617
|
-
var UserLanguageSchema =
|
|
2618
|
-
var PaginationRequestSchema =
|
|
2619
|
-
limit:
|
|
2620
|
-
offset:
|
|
2621
|
-
});
|
|
2622
|
-
var UserListItemSchema =
|
|
2623
|
-
_id:
|
|
2624
|
-
username:
|
|
2625
|
-
name:
|
|
2626
|
-
image:
|
|
2627
|
-
});
|
|
2628
|
-
var ListUsersRequestSchema =
|
|
2629
|
-
q:
|
|
2648
|
+
var UserLanguageSchema = import_zod_openapi29.z.enum(["en", "ja"]);
|
|
2649
|
+
var PaginationRequestSchema = import_zod_openapi29.z.object({
|
|
2650
|
+
limit: import_zod_openapi29.z.coerce.number().optional().default(50),
|
|
2651
|
+
offset: import_zod_openapi29.z.coerce.number().optional().default(0)
|
|
2652
|
+
});
|
|
2653
|
+
var UserListItemSchema = import_zod_openapi29.z.object({
|
|
2654
|
+
_id: import_zod_openapi29.z.string(),
|
|
2655
|
+
username: import_zod_openapi29.z.string(),
|
|
2656
|
+
name: import_zod_openapi29.z.string(),
|
|
2657
|
+
image: import_zod_openapi29.z.string().nullable().optional()
|
|
2658
|
+
});
|
|
2659
|
+
var ListUsersRequestSchema = import_zod_openapi29.z.object({
|
|
2660
|
+
q: import_zod_openapi29.z.string().optional(),
|
|
2630
2661
|
// Cap the page size so a client can't request the whole user table in one
|
|
2631
2662
|
// unbounded find+sort (mirrors the page-list `limit` guard).
|
|
2632
|
-
limit:
|
|
2633
|
-
offset:
|
|
2663
|
+
limit: import_zod_openapi29.z.coerce.number().int().min(1).max(100).optional().default(24),
|
|
2664
|
+
offset: import_zod_openapi29.z.coerce.number().int().min(0).optional().default(0)
|
|
2634
2665
|
});
|
|
2635
|
-
var ListUsersResponseSchema =
|
|
2636
|
-
users:
|
|
2666
|
+
var ListUsersResponseSchema = import_zod_openapi29.z.object({
|
|
2667
|
+
users: import_zod_openapi29.z.array(UserListItemSchema),
|
|
2637
2668
|
pager: PagerSchema,
|
|
2638
|
-
total:
|
|
2669
|
+
total: import_zod_openapi29.z.number()
|
|
2639
2670
|
});
|
|
2640
|
-
var UserPageResponseSchema =
|
|
2671
|
+
var UserPageResponseSchema = import_zod_openapi29.z.object({
|
|
2641
2672
|
user: UserPublicSchema,
|
|
2642
2673
|
// Page statistics
|
|
2643
|
-
createdPagesCount:
|
|
2644
|
-
bookmarksCount:
|
|
2674
|
+
createdPagesCount: import_zod_openapi29.z.number(),
|
|
2675
|
+
bookmarksCount: import_zod_openapi29.z.number(),
|
|
2645
2676
|
// Optionally include recent items for initial display
|
|
2646
|
-
recentPages:
|
|
2647
|
-
recentBookmarks:
|
|
2677
|
+
recentPages: import_zod_openapi29.z.array(PageSchema).optional(),
|
|
2678
|
+
recentBookmarks: import_zod_openapi29.z.array(BookmarkSchema).optional()
|
|
2648
2679
|
});
|
|
2649
|
-
var UserBookmarksResponseSchema =
|
|
2650
|
-
bookmarks:
|
|
2680
|
+
var UserBookmarksResponseSchema = import_zod_openapi29.z.object({
|
|
2681
|
+
bookmarks: import_zod_openapi29.z.array(BookmarkSchema),
|
|
2651
2682
|
pager: PagerSchema,
|
|
2652
|
-
total:
|
|
2683
|
+
total: import_zod_openapi29.z.number()
|
|
2653
2684
|
});
|
|
2654
|
-
var UserPagesResponseSchema =
|
|
2655
|
-
pages:
|
|
2685
|
+
var UserPagesResponseSchema = import_zod_openapi29.z.object({
|
|
2686
|
+
pages: import_zod_openapi29.z.array(PageSchema),
|
|
2656
2687
|
pager: PagerSchema,
|
|
2657
|
-
total:
|
|
2688
|
+
total: import_zod_openapi29.z.number()
|
|
2658
2689
|
});
|
|
2659
|
-
var UserNotFoundErrorSchema =
|
|
2660
|
-
error:
|
|
2661
|
-
code:
|
|
2662
|
-
message:
|
|
2690
|
+
var UserNotFoundErrorSchema = import_zod_openapi29.z.object({
|
|
2691
|
+
error: import_zod_openapi29.z.object({
|
|
2692
|
+
code: import_zod_openapi29.z.literal("USER_NOT_FOUND"),
|
|
2693
|
+
message: import_zod_openapi29.z.literal("User not found")
|
|
2663
2694
|
})
|
|
2664
2695
|
});
|
|
2665
2696
|
|
|
2666
2697
|
// src/contracts/user.ts
|
|
2667
|
-
var UsernameParamSchema =
|
|
2668
|
-
var getUserPageRoute = (0,
|
|
2698
|
+
var UsernameParamSchema = import_zod_openapi30.z.object({ username: import_zod_openapi30.z.string() });
|
|
2699
|
+
var getUserPageRoute = (0, import_zod_openapi30.createRoute)({
|
|
2669
2700
|
method: "get",
|
|
2670
2701
|
path: "/user/{username}",
|
|
2671
2702
|
tags: ["user"],
|
|
@@ -2693,7 +2724,7 @@ var getUserPageRoute = (0, import_zod_openapi29.createRoute)({
|
|
|
2693
2724
|
}
|
|
2694
2725
|
}
|
|
2695
2726
|
});
|
|
2696
|
-
var getUserBookmarksRoute = (0,
|
|
2727
|
+
var getUserBookmarksRoute = (0, import_zod_openapi30.createRoute)({
|
|
2697
2728
|
method: "get",
|
|
2698
2729
|
path: "/user/{username}/bookmarks",
|
|
2699
2730
|
tags: ["user"],
|
|
@@ -2722,7 +2753,7 @@ var getUserBookmarksRoute = (0, import_zod_openapi29.createRoute)({
|
|
|
2722
2753
|
}
|
|
2723
2754
|
}
|
|
2724
2755
|
});
|
|
2725
|
-
var getUserPagesRoute = (0,
|
|
2756
|
+
var getUserPagesRoute = (0, import_zod_openapi30.createRoute)({
|
|
2726
2757
|
method: "get",
|
|
2727
2758
|
path: "/user/{username}/pages",
|
|
2728
2759
|
tags: ["user"],
|
|
@@ -2751,7 +2782,7 @@ var getUserPagesRoute = (0, import_zod_openapi29.createRoute)({
|
|
|
2751
2782
|
}
|
|
2752
2783
|
}
|
|
2753
2784
|
});
|
|
2754
|
-
var listMembersRoute = (0,
|
|
2785
|
+
var listMembersRoute = (0, import_zod_openapi30.createRoute)({
|
|
2755
2786
|
method: "get",
|
|
2756
2787
|
path: "/users",
|
|
2757
2788
|
tags: ["user"],
|
|
@@ -2783,8 +2814,8 @@ var userRoutes = {
|
|
|
2783
2814
|
};
|
|
2784
2815
|
|
|
2785
2816
|
// src/contracts/bookmark.ts
|
|
2786
|
-
var
|
|
2787
|
-
var getBookmarkRoute = (0,
|
|
2817
|
+
var import_zod_openapi31 = require("@hono/zod-openapi");
|
|
2818
|
+
var getBookmarkRoute = (0, import_zod_openapi31.createRoute)({
|
|
2788
2819
|
method: "get",
|
|
2789
2820
|
path: "/bookmarks",
|
|
2790
2821
|
tags: ["bookmark"],
|
|
@@ -2812,7 +2843,7 @@ var getBookmarkRoute = (0, import_zod_openapi30.createRoute)({
|
|
|
2812
2843
|
}
|
|
2813
2844
|
}
|
|
2814
2845
|
});
|
|
2815
|
-
var listMyBookmarksRoute = (0,
|
|
2846
|
+
var listMyBookmarksRoute = (0, import_zod_openapi31.createRoute)({
|
|
2816
2847
|
method: "get",
|
|
2817
2848
|
path: "/bookmarks/me",
|
|
2818
2849
|
tags: ["bookmark"],
|
|
@@ -2836,7 +2867,7 @@ var listMyBookmarksRoute = (0, import_zod_openapi30.createRoute)({
|
|
|
2836
2867
|
}
|
|
2837
2868
|
}
|
|
2838
2869
|
});
|
|
2839
|
-
var addBookmarkRoute = (0,
|
|
2870
|
+
var addBookmarkRoute = (0, import_zod_openapi31.createRoute)({
|
|
2840
2871
|
method: "post",
|
|
2841
2872
|
path: "/bookmarks",
|
|
2842
2873
|
tags: ["bookmark"],
|
|
@@ -2866,7 +2897,7 @@ var addBookmarkRoute = (0, import_zod_openapi30.createRoute)({
|
|
|
2866
2897
|
}
|
|
2867
2898
|
}
|
|
2868
2899
|
});
|
|
2869
|
-
var removeBookmarkRoute = (0,
|
|
2900
|
+
var removeBookmarkRoute = (0, import_zod_openapi31.createRoute)({
|
|
2870
2901
|
method: "delete",
|
|
2871
2902
|
path: "/bookmarks",
|
|
2872
2903
|
tags: ["bookmark"],
|
|
@@ -2904,41 +2935,41 @@ var bookmarkRoutes = {
|
|
|
2904
2935
|
};
|
|
2905
2936
|
|
|
2906
2937
|
// src/contracts/backlink.ts
|
|
2907
|
-
var
|
|
2938
|
+
var import_zod_openapi33 = require("@hono/zod-openapi");
|
|
2908
2939
|
|
|
2909
2940
|
// src/schemas/backlink.ts
|
|
2910
|
-
var
|
|
2911
|
-
var ObjectIdString =
|
|
2912
|
-
var BacklinkFromPageSchema =
|
|
2913
|
-
_id:
|
|
2914
|
-
path:
|
|
2941
|
+
var import_zod_openapi32 = require("@hono/zod-openapi");
|
|
2942
|
+
var ObjectIdString = import_zod_openapi32.z.string().regex(/^[0-9a-f]{24}$/, "Invalid ObjectId");
|
|
2943
|
+
var BacklinkFromPageSchema = import_zod_openapi32.z.object({
|
|
2944
|
+
_id: import_zod_openapi32.z.string(),
|
|
2945
|
+
path: import_zod_openapi32.z.string()
|
|
2915
2946
|
});
|
|
2916
|
-
var BacklinkFromRevisionSchema =
|
|
2917
|
-
_id:
|
|
2947
|
+
var BacklinkFromRevisionSchema = import_zod_openapi32.z.object({
|
|
2948
|
+
_id: import_zod_openapi32.z.string(),
|
|
2918
2949
|
author: UserPublicSchema.nullable().optional()
|
|
2919
2950
|
});
|
|
2920
|
-
var BacklinkSchema =
|
|
2921
|
-
_id:
|
|
2951
|
+
var BacklinkSchema = import_zod_openapi32.z.object({
|
|
2952
|
+
_id: import_zod_openapi32.z.string(),
|
|
2922
2953
|
// The destination page's id (the page being linked TO). Always the
|
|
2923
2954
|
// page passed in the request, but echoed for cache-key parity with the
|
|
2924
2955
|
// legacy response.
|
|
2925
|
-
page:
|
|
2956
|
+
page: import_zod_openapi32.z.string(),
|
|
2926
2957
|
fromPage: BacklinkFromPageSchema,
|
|
2927
2958
|
fromRevision: BacklinkFromRevisionSchema,
|
|
2928
|
-
updatedAt:
|
|
2959
|
+
updatedAt: import_zod_openapi32.z.string()
|
|
2929
2960
|
});
|
|
2930
|
-
var GetBacklinksRequestSchema =
|
|
2961
|
+
var GetBacklinksRequestSchema = import_zod_openapi32.z.object({
|
|
2931
2962
|
page_id: ObjectIdString,
|
|
2932
|
-
limit:
|
|
2933
|
-
offset:
|
|
2963
|
+
limit: import_zod_openapi32.z.coerce.number().int().min(1).max(100).optional().default(20),
|
|
2964
|
+
offset: import_zod_openapi32.z.coerce.number().int().min(0).optional().default(0)
|
|
2934
2965
|
});
|
|
2935
|
-
var GetBacklinksResponseSchema =
|
|
2936
|
-
backlinks:
|
|
2937
|
-
hasNext:
|
|
2966
|
+
var GetBacklinksResponseSchema = import_zod_openapi32.z.object({
|
|
2967
|
+
backlinks: import_zod_openapi32.z.array(BacklinkSchema),
|
|
2968
|
+
hasNext: import_zod_openapi32.z.boolean()
|
|
2938
2969
|
});
|
|
2939
2970
|
|
|
2940
2971
|
// src/contracts/backlink.ts
|
|
2941
|
-
var getBacklinksRoute = (0,
|
|
2972
|
+
var getBacklinksRoute = (0, import_zod_openapi33.createRoute)({
|
|
2942
2973
|
method: "get",
|
|
2943
2974
|
path: "/backlinks",
|
|
2944
2975
|
tags: ["backlink"],
|
|
@@ -2959,6 +2990,10 @@ var getBacklinksRoute = (0, import_zod_openapi32.createRoute)({
|
|
|
2959
2990
|
401: {
|
|
2960
2991
|
description: "Authentication required",
|
|
2961
2992
|
content: { "application/json": { schema: AuthenticationRequiredErrorSchema } }
|
|
2993
|
+
},
|
|
2994
|
+
404: {
|
|
2995
|
+
description: "Page not found or not granted",
|
|
2996
|
+
content: { "application/json": { schema: PageNotFoundErrorSchema } }
|
|
2962
2997
|
}
|
|
2963
2998
|
}
|
|
2964
2999
|
});
|
|
@@ -2967,59 +3002,59 @@ var backlinkRoutes = {
|
|
|
2967
3002
|
};
|
|
2968
3003
|
|
|
2969
3004
|
// src/contracts/comment.ts
|
|
2970
|
-
var
|
|
3005
|
+
var import_zod_openapi35 = require("@hono/zod-openapi");
|
|
2971
3006
|
|
|
2972
3007
|
// src/schemas/comment.ts
|
|
2973
|
-
var
|
|
2974
|
-
var CommentSchema =
|
|
2975
|
-
_id:
|
|
2976
|
-
page:
|
|
3008
|
+
var import_zod_openapi34 = require("@hono/zod-openapi");
|
|
3009
|
+
var CommentSchema = import_zod_openapi34.z.object({
|
|
3010
|
+
_id: import_zod_openapi34.z.string(),
|
|
3011
|
+
page: import_zod_openapi34.z.string(),
|
|
2977
3012
|
// creator is populated to a user object on the API side; allow string fallback for safety
|
|
2978
|
-
creator:
|
|
2979
|
-
revision:
|
|
2980
|
-
comment:
|
|
2981
|
-
commentPosition:
|
|
2982
|
-
createdAt:
|
|
2983
|
-
});
|
|
2984
|
-
var ListCommentsRequestSchema =
|
|
2985
|
-
page_id:
|
|
2986
|
-
revision_id:
|
|
2987
|
-
});
|
|
2988
|
-
var ListCommentsResponseSchema =
|
|
2989
|
-
comments:
|
|
2990
|
-
});
|
|
2991
|
-
var AddCommentRequestSchema =
|
|
2992
|
-
page_id:
|
|
2993
|
-
revision_id:
|
|
2994
|
-
comment:
|
|
2995
|
-
comment_position:
|
|
2996
|
-
});
|
|
2997
|
-
var AddCommentResponseSchema =
|
|
3013
|
+
creator: import_zod_openapi34.z.union([import_zod_openapi34.z.string(), PageUserSchema]).nullable(),
|
|
3014
|
+
revision: import_zod_openapi34.z.string(),
|
|
3015
|
+
comment: import_zod_openapi34.z.string(),
|
|
3016
|
+
commentPosition: import_zod_openapi34.z.number().default(-1),
|
|
3017
|
+
createdAt: import_zod_openapi34.z.string()
|
|
3018
|
+
});
|
|
3019
|
+
var ListCommentsRequestSchema = import_zod_openapi34.z.object({
|
|
3020
|
+
page_id: import_zod_openapi34.z.string().optional(),
|
|
3021
|
+
revision_id: import_zod_openapi34.z.string().optional()
|
|
3022
|
+
});
|
|
3023
|
+
var ListCommentsResponseSchema = import_zod_openapi34.z.object({
|
|
3024
|
+
comments: import_zod_openapi34.z.array(CommentSchema)
|
|
3025
|
+
});
|
|
3026
|
+
var AddCommentRequestSchema = import_zod_openapi34.z.object({
|
|
3027
|
+
page_id: import_zod_openapi34.z.string().min(1, "page_id is required"),
|
|
3028
|
+
revision_id: import_zod_openapi34.z.string().min(1, "revision_id is required"),
|
|
3029
|
+
comment: import_zod_openapi34.z.string().min(1, "comment is required"),
|
|
3030
|
+
comment_position: import_zod_openapi34.z.number().int().optional()
|
|
3031
|
+
});
|
|
3032
|
+
var AddCommentResponseSchema = import_zod_openapi34.z.object({
|
|
2998
3033
|
comment: CommentSchema,
|
|
2999
|
-
newlyWatching:
|
|
3034
|
+
newlyWatching: import_zod_openapi34.z.boolean()
|
|
3000
3035
|
});
|
|
3001
|
-
var DeleteCommentRequestSchema =
|
|
3002
|
-
comment_id:
|
|
3003
|
-
page_id:
|
|
3036
|
+
var DeleteCommentRequestSchema = import_zod_openapi34.z.object({
|
|
3037
|
+
comment_id: import_zod_openapi34.z.string().min(1, "comment_id is required"),
|
|
3038
|
+
page_id: import_zod_openapi34.z.string().min(1, "page_id is required")
|
|
3004
3039
|
});
|
|
3005
|
-
var DeleteCommentResponseSchema =
|
|
3006
|
-
ok:
|
|
3040
|
+
var DeleteCommentResponseSchema = import_zod_openapi34.z.object({
|
|
3041
|
+
ok: import_zod_openapi34.z.literal(true)
|
|
3007
3042
|
});
|
|
3008
|
-
var CommentNotFoundErrorSchema =
|
|
3009
|
-
error:
|
|
3010
|
-
code:
|
|
3011
|
-
message:
|
|
3043
|
+
var CommentNotFoundErrorSchema = import_zod_openapi34.z.object({
|
|
3044
|
+
error: import_zod_openapi34.z.object({
|
|
3045
|
+
code: import_zod_openapi34.z.literal("COMMENT_NOT_FOUND"),
|
|
3046
|
+
message: import_zod_openapi34.z.literal("Comment not found")
|
|
3012
3047
|
})
|
|
3013
3048
|
});
|
|
3014
|
-
var CommentInvalidRequestErrorSchema =
|
|
3015
|
-
error:
|
|
3016
|
-
code:
|
|
3017
|
-
message:
|
|
3049
|
+
var CommentInvalidRequestErrorSchema = import_zod_openapi34.z.object({
|
|
3050
|
+
error: import_zod_openapi34.z.object({
|
|
3051
|
+
code: import_zod_openapi34.z.literal("INVALID_REQUEST"),
|
|
3052
|
+
message: import_zod_openapi34.z.string()
|
|
3018
3053
|
})
|
|
3019
3054
|
});
|
|
3020
3055
|
|
|
3021
3056
|
// src/contracts/comment.ts
|
|
3022
|
-
var listCommentsRoute = (0,
|
|
3057
|
+
var listCommentsRoute = (0, import_zod_openapi35.createRoute)({
|
|
3023
3058
|
method: "get",
|
|
3024
3059
|
path: "/comments",
|
|
3025
3060
|
tags: ["comment"],
|
|
@@ -3040,10 +3075,14 @@ var listCommentsRoute = (0, import_zod_openapi34.createRoute)({
|
|
|
3040
3075
|
401: {
|
|
3041
3076
|
description: "Authentication required",
|
|
3042
3077
|
content: { "application/json": { schema: AuthenticationRequiredErrorSchema } }
|
|
3078
|
+
},
|
|
3079
|
+
404: {
|
|
3080
|
+
description: "Page / revision not found, or the caller cannot access it (existence hidden)",
|
|
3081
|
+
content: { "application/json": { schema: PageNotFoundErrorSchema } }
|
|
3043
3082
|
}
|
|
3044
3083
|
}
|
|
3045
3084
|
});
|
|
3046
|
-
var addCommentRoute = (0,
|
|
3085
|
+
var addCommentRoute = (0, import_zod_openapi35.createRoute)({
|
|
3047
3086
|
method: "post",
|
|
3048
3087
|
path: "/comments",
|
|
3049
3088
|
tags: ["comment"],
|
|
@@ -3073,7 +3112,7 @@ var addCommentRoute = (0, import_zod_openapi34.createRoute)({
|
|
|
3073
3112
|
}
|
|
3074
3113
|
}
|
|
3075
3114
|
});
|
|
3076
|
-
var deleteCommentRoute = (0,
|
|
3115
|
+
var deleteCommentRoute = (0, import_zod_openapi35.createRoute)({
|
|
3077
3116
|
method: "delete",
|
|
3078
3117
|
path: "/comments",
|
|
3079
3118
|
tags: ["comment"],
|
|
@@ -3114,50 +3153,50 @@ var commentRoutes = {
|
|
|
3114
3153
|
};
|
|
3115
3154
|
|
|
3116
3155
|
// src/contracts/revision.ts
|
|
3117
|
-
var
|
|
3156
|
+
var import_zod_openapi37 = require("@hono/zod-openapi");
|
|
3118
3157
|
|
|
3119
3158
|
// src/schemas/revision.ts
|
|
3120
|
-
var
|
|
3121
|
-
var RevisionMetaSchema =
|
|
3122
|
-
_id:
|
|
3123
|
-
path:
|
|
3159
|
+
var import_zod_openapi36 = require("@hono/zod-openapi");
|
|
3160
|
+
var RevisionMetaSchema = import_zod_openapi36.z.object({
|
|
3161
|
+
_id: import_zod_openapi36.z.string(),
|
|
3162
|
+
path: import_zod_openapi36.z.string(),
|
|
3124
3163
|
author: PageUserSchema.nullable().optional(),
|
|
3125
3164
|
savedBy: PageUserSchema.nullable().optional(),
|
|
3126
|
-
contributors:
|
|
3165
|
+
contributors: import_zod_openapi36.z.array(PageUserSchema).optional(),
|
|
3127
3166
|
// RFC-0010 — edit channel. `web` (browser / collab editor) vs the API
|
|
3128
3167
|
// token paths (`oauth` / `pat`). Absent on pre-RFC-0010 revisions. The
|
|
3129
3168
|
// history UI shows an "app" chip for the token paths.
|
|
3130
|
-
editVia:
|
|
3131
|
-
createdAt:
|
|
3169
|
+
editVia: import_zod_openapi36.z.enum(["web", "oauth", "pat"]).optional(),
|
|
3170
|
+
createdAt: import_zod_openapi36.z.string()
|
|
3132
3171
|
});
|
|
3133
|
-
var ListRevisionsRequestSchema =
|
|
3134
|
-
limit:
|
|
3135
|
-
offset:
|
|
3172
|
+
var ListRevisionsRequestSchema = import_zod_openapi36.z.object({
|
|
3173
|
+
limit: import_zod_openapi36.z.coerce.number().int().positive().max(200).optional().default(50),
|
|
3174
|
+
offset: import_zod_openapi36.z.coerce.number().int().min(0).optional().default(0)
|
|
3136
3175
|
});
|
|
3137
|
-
var ListRevisionsResponseSchema =
|
|
3138
|
-
revisions:
|
|
3176
|
+
var ListRevisionsResponseSchema = import_zod_openapi36.z.object({
|
|
3177
|
+
revisions: import_zod_openapi36.z.array(RevisionMetaSchema),
|
|
3139
3178
|
pager: PagerSchema
|
|
3140
3179
|
});
|
|
3141
|
-
var GetRevisionResponseSchema =
|
|
3180
|
+
var GetRevisionResponseSchema = import_zod_openapi36.z.object({
|
|
3142
3181
|
revision: RevisionSchema
|
|
3143
3182
|
});
|
|
3144
|
-
var GetRevisionsRequestSchema =
|
|
3145
|
-
ids:
|
|
3183
|
+
var GetRevisionsRequestSchema = import_zod_openapi36.z.object({
|
|
3184
|
+
ids: import_zod_openapi36.z.string().min(1, "ids is required")
|
|
3146
3185
|
});
|
|
3147
|
-
var GetRevisionsResponseSchema =
|
|
3148
|
-
revisions:
|
|
3186
|
+
var GetRevisionsResponseSchema = import_zod_openapi36.z.object({
|
|
3187
|
+
revisions: import_zod_openapi36.z.array(RevisionSchema)
|
|
3149
3188
|
});
|
|
3150
|
-
var RevisionInvalidRequestErrorSchema =
|
|
3151
|
-
error:
|
|
3152
|
-
code:
|
|
3153
|
-
message:
|
|
3189
|
+
var RevisionInvalidRequestErrorSchema = import_zod_openapi36.z.object({
|
|
3190
|
+
error: import_zod_openapi36.z.object({
|
|
3191
|
+
code: import_zod_openapi36.z.literal("INVALID_REQUEST"),
|
|
3192
|
+
message: import_zod_openapi36.z.string()
|
|
3154
3193
|
})
|
|
3155
3194
|
});
|
|
3156
3195
|
|
|
3157
3196
|
// src/contracts/revision.ts
|
|
3158
|
-
var PageIdParamSchema =
|
|
3159
|
-
var RevisionIdParamSchema =
|
|
3160
|
-
var listRevisionsRoute = (0,
|
|
3197
|
+
var PageIdParamSchema = import_zod_openapi37.z.object({ page_id: import_zod_openapi37.z.string() });
|
|
3198
|
+
var RevisionIdParamSchema = import_zod_openapi37.z.object({ id: import_zod_openapi37.z.string() });
|
|
3199
|
+
var listRevisionsRoute = (0, import_zod_openapi37.createRoute)({
|
|
3161
3200
|
method: "get",
|
|
3162
3201
|
path: "/pages/{page_id}/revisions",
|
|
3163
3202
|
tags: ["revision"],
|
|
@@ -3186,7 +3225,7 @@ var listRevisionsRoute = (0, import_zod_openapi36.createRoute)({
|
|
|
3186
3225
|
}
|
|
3187
3226
|
}
|
|
3188
3227
|
});
|
|
3189
|
-
var getRevisionsRoute = (0,
|
|
3228
|
+
var getRevisionsRoute = (0, import_zod_openapi37.createRoute)({
|
|
3190
3229
|
method: "get",
|
|
3191
3230
|
path: "/pages/revisions",
|
|
3192
3231
|
tags: ["revision"],
|
|
@@ -3214,7 +3253,7 @@ var getRevisionsRoute = (0, import_zod_openapi36.createRoute)({
|
|
|
3214
3253
|
}
|
|
3215
3254
|
}
|
|
3216
3255
|
});
|
|
3217
|
-
var getRevisionRoute = (0,
|
|
3256
|
+
var getRevisionRoute = (0, import_zod_openapi37.createRoute)({
|
|
3218
3257
|
method: "get",
|
|
3219
3258
|
path: "/pages/revisions/{id}",
|
|
3220
3259
|
tags: ["revision"],
|
|
@@ -3252,24 +3291,24 @@ var revisionRoutes = {
|
|
|
3252
3291
|
};
|
|
3253
3292
|
|
|
3254
3293
|
// src/contracts/notification.ts
|
|
3255
|
-
var
|
|
3294
|
+
var import_zod_openapi39 = require("@hono/zod-openapi");
|
|
3256
3295
|
|
|
3257
3296
|
// src/schemas/notification.ts
|
|
3258
|
-
var
|
|
3259
|
-
var NotificationStatusSchema =
|
|
3297
|
+
var import_zod_openapi38 = require("@hono/zod-openapi");
|
|
3298
|
+
var NotificationStatusSchema = import_zod_openapi38.z.enum(["UNREAD", "UNOPENED", "OPENED"]);
|
|
3260
3299
|
var NotificationStatusEnum = {
|
|
3261
3300
|
UNREAD: "UNREAD",
|
|
3262
3301
|
UNOPENED: "UNOPENED",
|
|
3263
3302
|
OPENED: "OPENED"
|
|
3264
3303
|
};
|
|
3265
|
-
var NotificationActionSchema =
|
|
3304
|
+
var NotificationActionSchema = import_zod_openapi38.z.enum(["COMMENT", "LIKE", "MENTION", "UPDATE"]);
|
|
3266
3305
|
var NotificationActionEnum = {
|
|
3267
3306
|
COMMENT: "COMMENT",
|
|
3268
3307
|
LIKE: "LIKE",
|
|
3269
3308
|
MENTION: "MENTION",
|
|
3270
3309
|
UPDATE: "UPDATE"
|
|
3271
3310
|
};
|
|
3272
|
-
var NotificationTargetModelSchema =
|
|
3311
|
+
var NotificationTargetModelSchema = import_zod_openapi38.z.enum(["Page"]);
|
|
3273
3312
|
var NotificationTargetModelEnum = {
|
|
3274
3313
|
PAGE: "Page"
|
|
3275
3314
|
};
|
|
@@ -3278,71 +3317,71 @@ var PageRefSchema = PageSchema.pick({
|
|
|
3278
3317
|
path: true,
|
|
3279
3318
|
status: true
|
|
3280
3319
|
});
|
|
3281
|
-
var NotificationSchema =
|
|
3282
|
-
_id:
|
|
3283
|
-
user:
|
|
3320
|
+
var NotificationSchema = import_zod_openapi38.z.object({
|
|
3321
|
+
_id: import_zod_openapi38.z.string(),
|
|
3322
|
+
user: import_zod_openapi38.z.string(),
|
|
3284
3323
|
targetModel: NotificationTargetModelSchema,
|
|
3285
3324
|
target: PageRefSchema,
|
|
3286
3325
|
action: NotificationActionSchema,
|
|
3287
3326
|
status: NotificationStatusSchema,
|
|
3288
|
-
actionUsers:
|
|
3289
|
-
createdAt:
|
|
3327
|
+
actionUsers: import_zod_openapi38.z.array(UserPublicSchema),
|
|
3328
|
+
createdAt: import_zod_openapi38.z.string()
|
|
3290
3329
|
});
|
|
3291
|
-
var ListNotificationsRequestSchema =
|
|
3292
|
-
limit:
|
|
3293
|
-
offset:
|
|
3330
|
+
var ListNotificationsRequestSchema = import_zod_openapi38.z.object({
|
|
3331
|
+
limit: import_zod_openapi38.z.coerce.number().optional().default(10),
|
|
3332
|
+
offset: import_zod_openapi38.z.coerce.number().optional().default(0)
|
|
3294
3333
|
});
|
|
3295
|
-
var ListNotificationsResponseSchema =
|
|
3296
|
-
notifications:
|
|
3334
|
+
var ListNotificationsResponseSchema = import_zod_openapi38.z.object({
|
|
3335
|
+
notifications: import_zod_openapi38.z.array(NotificationSchema),
|
|
3297
3336
|
pager: PagerSchema
|
|
3298
3337
|
});
|
|
3299
|
-
var MarkAllAsReadResponseSchema =
|
|
3300
|
-
ok:
|
|
3338
|
+
var MarkAllAsReadResponseSchema = import_zod_openapi38.z.object({
|
|
3339
|
+
ok: import_zod_openapi38.z.literal(true)
|
|
3301
3340
|
});
|
|
3302
|
-
var OpenNotificationParamSchema =
|
|
3303
|
-
id:
|
|
3341
|
+
var OpenNotificationParamSchema = import_zod_openapi38.z.object({
|
|
3342
|
+
id: import_zod_openapi38.z.string()
|
|
3304
3343
|
});
|
|
3305
|
-
var OpenNotificationResponseSchema =
|
|
3344
|
+
var OpenNotificationResponseSchema = import_zod_openapi38.z.object({
|
|
3306
3345
|
notification: NotificationSchema
|
|
3307
3346
|
});
|
|
3308
|
-
var NotificationStatusResponseSchema =
|
|
3309
|
-
count:
|
|
3347
|
+
var NotificationStatusResponseSchema = import_zod_openapi38.z.object({
|
|
3348
|
+
count: import_zod_openapi38.z.number()
|
|
3310
3349
|
});
|
|
3311
|
-
var NotificationNotFoundErrorSchema =
|
|
3312
|
-
error:
|
|
3313
|
-
code:
|
|
3314
|
-
message:
|
|
3350
|
+
var NotificationNotFoundErrorSchema = import_zod_openapi38.z.object({
|
|
3351
|
+
error: import_zod_openapi38.z.object({
|
|
3352
|
+
code: import_zod_openapi38.z.literal("NOTIFICATION_NOT_FOUND"),
|
|
3353
|
+
message: import_zod_openapi38.z.literal("Notification not found")
|
|
3315
3354
|
})
|
|
3316
3355
|
});
|
|
3317
|
-
var NotificationsTokenResponseSchema =
|
|
3318
|
-
token:
|
|
3319
|
-
selfUserId:
|
|
3320
|
-
expiresAt:
|
|
3356
|
+
var NotificationsTokenResponseSchema = import_zod_openapi38.z.object({
|
|
3357
|
+
token: import_zod_openapi38.z.string(),
|
|
3358
|
+
selfUserId: import_zod_openapi38.z.string(),
|
|
3359
|
+
expiresAt: import_zod_openapi38.z.string()
|
|
3321
3360
|
});
|
|
3322
|
-
var NotificationsTokenPayloadSchema =
|
|
3323
|
-
selfUserId:
|
|
3361
|
+
var NotificationsTokenPayloadSchema = import_zod_openapi38.z.object({
|
|
3362
|
+
selfUserId: import_zod_openapi38.z.string(),
|
|
3324
3363
|
// Random UUID mixed into every signed token so two tokens minted
|
|
3325
3364
|
// within the same second still produce byte-different JWT strings.
|
|
3326
3365
|
// The browser uses the token as a React effect dependency to drive
|
|
3327
3366
|
// the WebSocket reconnect — without `jti`, the iat/exp pair is
|
|
3328
3367
|
// identical at second granularity and the dep stays stable.
|
|
3329
|
-
jti:
|
|
3330
|
-
iat:
|
|
3331
|
-
exp:
|
|
3368
|
+
jti: import_zod_openapi38.z.string().uuid(),
|
|
3369
|
+
iat: import_zod_openapi38.z.number().int(),
|
|
3370
|
+
exp: import_zod_openapi38.z.number().int()
|
|
3332
3371
|
});
|
|
3333
|
-
var NotificationsChangedMessageSchema =
|
|
3334
|
-
type:
|
|
3372
|
+
var NotificationsChangedMessageSchema = import_zod_openapi38.z.object({
|
|
3373
|
+
type: import_zod_openapi38.z.literal("changed")
|
|
3335
3374
|
});
|
|
3336
3375
|
var NotificationsServerMessageSchema = NotificationsChangedMessageSchema;
|
|
3337
3376
|
|
|
3338
3377
|
// src/contracts/notification.ts
|
|
3339
|
-
var NotificationInvalidRequestErrorSchema =
|
|
3340
|
-
error:
|
|
3341
|
-
code:
|
|
3342
|
-
message:
|
|
3378
|
+
var NotificationInvalidRequestErrorSchema = import_zod_openapi39.z.object({
|
|
3379
|
+
error: import_zod_openapi39.z.object({
|
|
3380
|
+
code: import_zod_openapi39.z.literal("INVALID_REQUEST"),
|
|
3381
|
+
message: import_zod_openapi39.z.string()
|
|
3343
3382
|
})
|
|
3344
3383
|
});
|
|
3345
|
-
var listNotificationsRoute = (0,
|
|
3384
|
+
var listNotificationsRoute = (0, import_zod_openapi39.createRoute)({
|
|
3346
3385
|
method: "get",
|
|
3347
3386
|
path: "/notifications",
|
|
3348
3387
|
tags: ["notification"],
|
|
@@ -3366,7 +3405,7 @@ var listNotificationsRoute = (0, import_zod_openapi38.createRoute)({
|
|
|
3366
3405
|
}
|
|
3367
3406
|
}
|
|
3368
3407
|
});
|
|
3369
|
-
var markAllAsReadRoute = (0,
|
|
3408
|
+
var markAllAsReadRoute = (0, import_zod_openapi39.createRoute)({
|
|
3370
3409
|
method: "post",
|
|
3371
3410
|
path: "/notifications/read",
|
|
3372
3411
|
tags: ["notification"],
|
|
@@ -3387,7 +3426,7 @@ var markAllAsReadRoute = (0, import_zod_openapi38.createRoute)({
|
|
|
3387
3426
|
}
|
|
3388
3427
|
}
|
|
3389
3428
|
});
|
|
3390
|
-
var getUnreadCountRoute = (0,
|
|
3429
|
+
var getUnreadCountRoute = (0, import_zod_openapi39.createRoute)({
|
|
3391
3430
|
method: "get",
|
|
3392
3431
|
path: "/notifications/status",
|
|
3393
3432
|
tags: ["notification"],
|
|
@@ -3408,7 +3447,7 @@ var getUnreadCountRoute = (0, import_zod_openapi38.createRoute)({
|
|
|
3408
3447
|
}
|
|
3409
3448
|
}
|
|
3410
3449
|
});
|
|
3411
|
-
var openNotificationRoute = (0,
|
|
3450
|
+
var openNotificationRoute = (0, import_zod_openapi39.createRoute)({
|
|
3412
3451
|
method: "post",
|
|
3413
3452
|
path: "/notifications/{id}/open",
|
|
3414
3453
|
tags: ["notification"],
|
|
@@ -3440,7 +3479,7 @@ var openNotificationRoute = (0, import_zod_openapi38.createRoute)({
|
|
|
3440
3479
|
}
|
|
3441
3480
|
}
|
|
3442
3481
|
});
|
|
3443
|
-
var getNotificationsTokenRoute = (0,
|
|
3482
|
+
var getNotificationsTokenRoute = (0, import_zod_openapi39.createRoute)({
|
|
3444
3483
|
method: "get",
|
|
3445
3484
|
path: "/notifications/token",
|
|
3446
3485
|
tags: ["notification"],
|
|
@@ -3475,26 +3514,60 @@ var notificationRoutes = {
|
|
|
3475
3514
|
};
|
|
3476
3515
|
|
|
3477
3516
|
// src/contracts/page.ts
|
|
3478
|
-
var
|
|
3479
|
-
|
|
3480
|
-
|
|
3481
|
-
|
|
3482
|
-
|
|
3517
|
+
var import_zod_openapi41 = require("@hono/zod-openapi");
|
|
3518
|
+
|
|
3519
|
+
// src/schemas/autocomplete.ts
|
|
3520
|
+
var import_zod_openapi40 = require("@hono/zod-openapi");
|
|
3521
|
+
var AutocompleteRequestSchema = import_zod_openapi40.z.object({
|
|
3522
|
+
q: import_zod_openapi40.z.string().min(1).max(128),
|
|
3523
|
+
limit: import_zod_openapi40.z.coerce.number().int().min(1).max(25).optional().default(10),
|
|
3524
|
+
/**
|
|
3525
|
+
* How `q` is matched against the candidate text. `'substring'` (the
|
|
3526
|
+
* default, used by the editor's `@mention` / `[[wikilink]]` pickers)
|
|
3527
|
+
* keeps the historical anywhere-in-string match. `'prefix'` anchors
|
|
3528
|
+
* the match at the start — used by the "create page" modal, where the
|
|
3529
|
+
* user is building a `/`-rooted path and only true prefixes are valid
|
|
3530
|
+
* completions of what they have typed so far.
|
|
3531
|
+
*/
|
|
3532
|
+
anchor: import_zod_openapi40.z.enum(["substring", "prefix"]).optional().default("substring")
|
|
3533
|
+
});
|
|
3534
|
+
var AutocompleteResultSchema = import_zod_openapi40.z.object({
|
|
3535
|
+
id: import_zod_openapi40.z.string(),
|
|
3536
|
+
label: import_zod_openapi40.z.string(),
|
|
3537
|
+
display: import_zod_openapi40.z.string(),
|
|
3538
|
+
avatar: import_zod_openapi40.z.string().nullable().optional(),
|
|
3539
|
+
modifiedAt: import_zod_openapi40.z.string().nullable().optional(),
|
|
3540
|
+
score: import_zod_openapi40.z.number()
|
|
3541
|
+
});
|
|
3542
|
+
var AutocompleteResponseSchema = import_zod_openapi40.z.object({
|
|
3543
|
+
results: import_zod_openapi40.z.array(AutocompleteResultSchema)
|
|
3544
|
+
});
|
|
3545
|
+
var AutocompleteRateLimitErrorSchema = import_zod_openapi40.z.object({
|
|
3546
|
+
error: import_zod_openapi40.z.literal("rate_limited"),
|
|
3547
|
+
message: import_zod_openapi40.z.string(),
|
|
3548
|
+
retryAfterSeconds: import_zod_openapi40.z.number()
|
|
3549
|
+
});
|
|
3550
|
+
|
|
3551
|
+
// src/contracts/page.ts
|
|
3552
|
+
var PageBadRequestErrorSchema = import_zod_openapi41.z.object({
|
|
3553
|
+
error: import_zod_openapi41.z.object({
|
|
3554
|
+
code: import_zod_openapi41.z.string(),
|
|
3555
|
+
message: import_zod_openapi41.z.string()
|
|
3483
3556
|
})
|
|
3484
3557
|
});
|
|
3485
|
-
var DeletePageRequestSchema =
|
|
3486
|
-
page_id:
|
|
3487
|
-
revision_id:
|
|
3488
|
-
completely:
|
|
3558
|
+
var DeletePageRequestSchema = import_zod_openapi41.z.object({
|
|
3559
|
+
page_id: import_zod_openapi41.z.string(),
|
|
3560
|
+
revision_id: import_zod_openapi41.z.string().optional(),
|
|
3561
|
+
completely: import_zod_openapi41.z.boolean().optional()
|
|
3489
3562
|
});
|
|
3490
|
-
var RevertDeletedPageRequestSchema =
|
|
3491
|
-
page_id:
|
|
3563
|
+
var RevertDeletedPageRequestSchema = import_zod_openapi41.z.object({
|
|
3564
|
+
page_id: import_zod_openapi41.z.string()
|
|
3492
3565
|
});
|
|
3493
|
-
var PageIdBodySchema =
|
|
3494
|
-
page_id:
|
|
3566
|
+
var PageIdBodySchema = import_zod_openapi41.z.object({
|
|
3567
|
+
page_id: import_zod_openapi41.z.string()
|
|
3495
3568
|
});
|
|
3496
|
-
var PageResponseSchema =
|
|
3497
|
-
var getPageRoute = (0,
|
|
3569
|
+
var PageResponseSchema = import_zod_openapi41.z.object({ page: PageSchema });
|
|
3570
|
+
var getPageRoute = (0, import_zod_openapi41.createRoute)({
|
|
3498
3571
|
method: "get",
|
|
3499
3572
|
path: "/pages",
|
|
3500
3573
|
tags: ["page"],
|
|
@@ -3519,10 +3592,19 @@ var getPageRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3519
3592
|
404: {
|
|
3520
3593
|
description: "Page not found",
|
|
3521
3594
|
content: { "application/json": { schema: PageNotFoundErrorSchema } }
|
|
3595
|
+
},
|
|
3596
|
+
// feature-live-page-sync-reconcile — separates a genuine unknown-error
|
|
3597
|
+
// 500 (e.g. a transient render-artifact / renderer failure) from the
|
|
3598
|
+
// not-found/not-granted 404/403 branches above, so a reconcile head-GET
|
|
3599
|
+
// can tell "page is really gone/forbidden" from "read failed, try
|
|
3600
|
+
// again later" (see `packages/api/src/hono/handlers/page.ts`'s split catch).
|
|
3601
|
+
500: {
|
|
3602
|
+
description: "Internal server error",
|
|
3603
|
+
content: { "application/json": { schema: InternalServerErrorSchema } }
|
|
3522
3604
|
}
|
|
3523
3605
|
}
|
|
3524
3606
|
});
|
|
3525
|
-
var listPagesRoute = (0,
|
|
3607
|
+
var listPagesRoute = (0, import_zod_openapi41.createRoute)({
|
|
3526
3608
|
method: "get",
|
|
3527
3609
|
path: "/pages/list",
|
|
3528
3610
|
tags: ["page"],
|
|
@@ -3542,7 +3624,7 @@ var listPagesRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3542
3624
|
}
|
|
3543
3625
|
}
|
|
3544
3626
|
});
|
|
3545
|
-
var listPageChildrenRoute = (0,
|
|
3627
|
+
var listPageChildrenRoute = (0, import_zod_openapi41.createRoute)({
|
|
3546
3628
|
method: "get",
|
|
3547
3629
|
path: "/pages/children",
|
|
3548
3630
|
tags: ["page"],
|
|
@@ -3562,7 +3644,7 @@ var listPageChildrenRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3562
3644
|
}
|
|
3563
3645
|
}
|
|
3564
3646
|
});
|
|
3565
|
-
var createPageRoute = (0,
|
|
3647
|
+
var createPageRoute = (0, import_zod_openapi41.createRoute)({
|
|
3566
3648
|
method: "post",
|
|
3567
3649
|
path: "/pages",
|
|
3568
3650
|
tags: ["page"],
|
|
@@ -3588,7 +3670,7 @@ var createPageRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3588
3670
|
}
|
|
3589
3671
|
}
|
|
3590
3672
|
});
|
|
3591
|
-
var updatePageRoute = (0,
|
|
3673
|
+
var updatePageRoute = (0, import_zod_openapi41.createRoute)({
|
|
3592
3674
|
method: "put",
|
|
3593
3675
|
path: "/pages",
|
|
3594
3676
|
tags: ["page"],
|
|
@@ -3622,7 +3704,7 @@ var updatePageRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3622
3704
|
}
|
|
3623
3705
|
}
|
|
3624
3706
|
});
|
|
3625
|
-
var setPageGrantRoute = (0,
|
|
3707
|
+
var setPageGrantRoute = (0, import_zod_openapi41.createRoute)({
|
|
3626
3708
|
method: "put",
|
|
3627
3709
|
path: "/pages/grant",
|
|
3628
3710
|
tags: ["page"],
|
|
@@ -3652,7 +3734,7 @@ var setPageGrantRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3652
3734
|
}
|
|
3653
3735
|
}
|
|
3654
3736
|
});
|
|
3655
|
-
var seenPageRoute = (0,
|
|
3737
|
+
var seenPageRoute = (0, import_zod_openapi41.createRoute)({
|
|
3656
3738
|
method: "post",
|
|
3657
3739
|
path: "/pages/seen",
|
|
3658
3740
|
tags: ["page"],
|
|
@@ -3682,7 +3764,7 @@ var seenPageRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3682
3764
|
}
|
|
3683
3765
|
}
|
|
3684
3766
|
});
|
|
3685
|
-
var getSeenUsersRoute = (0,
|
|
3767
|
+
var getSeenUsersRoute = (0, import_zod_openapi41.createRoute)({
|
|
3686
3768
|
method: "get",
|
|
3687
3769
|
path: "/pages/seen-users",
|
|
3688
3770
|
tags: ["page"],
|
|
@@ -3710,7 +3792,7 @@ var getSeenUsersRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3710
3792
|
}
|
|
3711
3793
|
}
|
|
3712
3794
|
});
|
|
3713
|
-
var likePageRoute = (0,
|
|
3795
|
+
var likePageRoute = (0, import_zod_openapi41.createRoute)({
|
|
3714
3796
|
method: "post",
|
|
3715
3797
|
path: "/pages/like",
|
|
3716
3798
|
tags: ["page"],
|
|
@@ -3740,7 +3822,7 @@ var likePageRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3740
3822
|
}
|
|
3741
3823
|
}
|
|
3742
3824
|
});
|
|
3743
|
-
var unlikePageRoute = (0,
|
|
3825
|
+
var unlikePageRoute = (0, import_zod_openapi41.createRoute)({
|
|
3744
3826
|
method: "post",
|
|
3745
3827
|
path: "/pages/unlike",
|
|
3746
3828
|
tags: ["page"],
|
|
@@ -3770,7 +3852,53 @@ var unlikePageRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3770
3852
|
}
|
|
3771
3853
|
}
|
|
3772
3854
|
});
|
|
3773
|
-
var
|
|
3855
|
+
var claimPageLinkAccessRoute = (0, import_zod_openapi41.createRoute)({
|
|
3856
|
+
method: "post",
|
|
3857
|
+
path: "/pages/link-access",
|
|
3858
|
+
tags: ["page"],
|
|
3859
|
+
security: [{ bearerAuth: [] }],
|
|
3860
|
+
summary: "Resolve a page by id, granting first-time link-share access to GRANT_RESTRICTED pages",
|
|
3861
|
+
request: {
|
|
3862
|
+
body: {
|
|
3863
|
+
content: { "application/json": { schema: PageIdBodySchema } }
|
|
3864
|
+
}
|
|
3865
|
+
},
|
|
3866
|
+
responses: {
|
|
3867
|
+
200: {
|
|
3868
|
+
description: "The resolved page, with `granted` telling whether this call just added the caller to grantedUsers",
|
|
3869
|
+
content: { "application/json": { schema: ClaimPageLinkAccessResponseSchema } }
|
|
3870
|
+
},
|
|
3871
|
+
400: {
|
|
3872
|
+
description: "Invalid page_id",
|
|
3873
|
+
content: { "application/json": { schema: InvalidPageIdErrorSchema } }
|
|
3874
|
+
},
|
|
3875
|
+
401: {
|
|
3876
|
+
description: "Authentication required",
|
|
3877
|
+
content: { "application/json": { schema: AuthenticationRequiredErrorSchema } }
|
|
3878
|
+
},
|
|
3879
|
+
403: {
|
|
3880
|
+
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",
|
|
3881
|
+
content: {
|
|
3882
|
+
"application/json": {
|
|
3883
|
+
schema: import_zod_openapi41.z.union([PageNotGrantedErrorSchema, InsufficientScopeErrorSchema])
|
|
3884
|
+
}
|
|
3885
|
+
}
|
|
3886
|
+
},
|
|
3887
|
+
404: {
|
|
3888
|
+
description: "Page not found",
|
|
3889
|
+
content: { "application/json": { schema: PageNotFoundErrorSchema } }
|
|
3890
|
+
},
|
|
3891
|
+
// Per-user rate limit (30 req/min) — same wire shape as autocomplete's
|
|
3892
|
+
// 429 (`{ error: 'rate_limited', message, retryAfterSeconds }`), reused
|
|
3893
|
+
// rather than duplicated (see the `AutocompleteRateLimitErrorSchema`
|
|
3894
|
+
// import above).
|
|
3895
|
+
429: {
|
|
3896
|
+
description: "Rate limit exceeded for POST /pages/link-access (per-user). Same wire shape as autocomplete rate limiting.",
|
|
3897
|
+
content: { "application/json": { schema: AutocompleteRateLimitErrorSchema } }
|
|
3898
|
+
}
|
|
3899
|
+
}
|
|
3900
|
+
});
|
|
3901
|
+
var getWatchStatusRoute = (0, import_zod_openapi41.createRoute)({
|
|
3774
3902
|
method: "get",
|
|
3775
3903
|
path: "/pages/watch",
|
|
3776
3904
|
tags: ["page"],
|
|
@@ -3798,7 +3926,7 @@ var getWatchStatusRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3798
3926
|
}
|
|
3799
3927
|
}
|
|
3800
3928
|
});
|
|
3801
|
-
var setWatchStatusRoute = (0,
|
|
3929
|
+
var setWatchStatusRoute = (0, import_zod_openapi41.createRoute)({
|
|
3802
3930
|
method: "put",
|
|
3803
3931
|
path: "/pages/watch",
|
|
3804
3932
|
tags: ["page"],
|
|
@@ -3828,7 +3956,7 @@ var setWatchStatusRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3828
3956
|
}
|
|
3829
3957
|
}
|
|
3830
3958
|
});
|
|
3831
|
-
var deletePageRoute = (0,
|
|
3959
|
+
var deletePageRoute = (0, import_zod_openapi41.createRoute)({
|
|
3832
3960
|
method: "delete",
|
|
3833
3961
|
path: "/pages",
|
|
3834
3962
|
tags: ["page"],
|
|
@@ -3862,7 +3990,7 @@ var deletePageRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3862
3990
|
}
|
|
3863
3991
|
}
|
|
3864
3992
|
});
|
|
3865
|
-
var revertDeletedPageRoute = (0,
|
|
3993
|
+
var revertDeletedPageRoute = (0, import_zod_openapi41.createRoute)({
|
|
3866
3994
|
method: "post",
|
|
3867
3995
|
path: "/pages/revert",
|
|
3868
3996
|
tags: ["page"],
|
|
@@ -3892,7 +4020,7 @@ var revertDeletedPageRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3892
4020
|
}
|
|
3893
4021
|
}
|
|
3894
4022
|
});
|
|
3895
|
-
var revertToRevisionRoute = (0,
|
|
4023
|
+
var revertToRevisionRoute = (0, import_zod_openapi41.createRoute)({
|
|
3896
4024
|
method: "post",
|
|
3897
4025
|
path: "/pages/revert-to-revision",
|
|
3898
4026
|
tags: ["page"],
|
|
@@ -3922,7 +4050,7 @@ var revertToRevisionRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3922
4050
|
}
|
|
3923
4051
|
}
|
|
3924
4052
|
});
|
|
3925
|
-
var renamePageRoute = (0,
|
|
4053
|
+
var renamePageRoute = (0, import_zod_openapi41.createRoute)({
|
|
3926
4054
|
method: "post",
|
|
3927
4055
|
path: "/pages/rename",
|
|
3928
4056
|
tags: ["page"],
|
|
@@ -3942,7 +4070,7 @@ var renamePageRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3942
4070
|
description: "PAGE_INVALID_NAME / PAGE_EXISTS / PAGE_RENAME_FAILED / PAGE_RENAME_TREE_FAILED",
|
|
3943
4071
|
content: {
|
|
3944
4072
|
"application/json": {
|
|
3945
|
-
schema:
|
|
4073
|
+
schema: import_zod_openapi41.z.union([PageBadRequestErrorSchema, RenameTreeErrorSchema])
|
|
3946
4074
|
}
|
|
3947
4075
|
}
|
|
3948
4076
|
},
|
|
@@ -3960,7 +4088,7 @@ var renamePageRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3960
4088
|
}
|
|
3961
4089
|
}
|
|
3962
4090
|
});
|
|
3963
|
-
var renameSubtreeRoute = (0,
|
|
4091
|
+
var renameSubtreeRoute = (0, import_zod_openapi41.createRoute)({
|
|
3964
4092
|
method: "post",
|
|
3965
4093
|
path: "/pages/rename-subtree",
|
|
3966
4094
|
tags: ["page"],
|
|
@@ -3980,7 +4108,7 @@ var renameSubtreeRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3980
4108
|
description: "PAGE_INVALID_NAME / PAGE_RENAME_TREE_FAILED (collisions, nothing to move, or partial failure)",
|
|
3981
4109
|
content: {
|
|
3982
4110
|
"application/json": {
|
|
3983
|
-
schema:
|
|
4111
|
+
schema: import_zod_openapi41.z.union([PageBadRequestErrorSchema, RenameTreeErrorSchema])
|
|
3984
4112
|
}
|
|
3985
4113
|
}
|
|
3986
4114
|
},
|
|
@@ -4011,6 +4139,8 @@ var pageRoutes = {
|
|
|
4011
4139
|
likePageRoute,
|
|
4012
4140
|
// POST /pages/unlike — unlikePage
|
|
4013
4141
|
unlikePageRoute,
|
|
4142
|
+
// POST /pages/link-access — claimPageLinkAccess (grant-on-first-access)
|
|
4143
|
+
claimPageLinkAccessRoute,
|
|
4014
4144
|
// GET /pages/watch — getWatchStatus
|
|
4015
4145
|
getWatchStatusRoute,
|
|
4016
4146
|
// PUT /pages/watch — setWatchStatus
|
|
@@ -4028,19 +4158,19 @@ var pageRoutes = {
|
|
|
4028
4158
|
};
|
|
4029
4159
|
|
|
4030
4160
|
// src/contracts/page-preview.ts
|
|
4031
|
-
var
|
|
4161
|
+
var import_zod_openapi43 = require("@hono/zod-openapi");
|
|
4032
4162
|
|
|
4033
4163
|
// src/schemas/page-preview.ts
|
|
4034
|
-
var
|
|
4035
|
-
var PreviewPageRequestSchema =
|
|
4036
|
-
body:
|
|
4164
|
+
var import_zod_openapi42 = require("@hono/zod-openapi");
|
|
4165
|
+
var PreviewPageRequestSchema = import_zod_openapi42.z.object({
|
|
4166
|
+
body: import_zod_openapi42.z.string()
|
|
4037
4167
|
});
|
|
4038
|
-
var PreviewPageResponseSchema =
|
|
4039
|
-
renderedAst:
|
|
4168
|
+
var PreviewPageResponseSchema = import_zod_openapi42.z.object({
|
|
4169
|
+
renderedAst: import_zod_openapi42.z.unknown()
|
|
4040
4170
|
});
|
|
4041
4171
|
|
|
4042
4172
|
// src/contracts/page-preview.ts
|
|
4043
|
-
var previewPageRoute = (0,
|
|
4173
|
+
var previewPageRoute = (0, import_zod_openapi43.createRoute)({
|
|
4044
4174
|
method: "post",
|
|
4045
4175
|
path: "/pages/preview",
|
|
4046
4176
|
tags: ["page-preview"],
|
|
@@ -4071,11 +4201,11 @@ var pagePreviewRoutes = {
|
|
|
4071
4201
|
};
|
|
4072
4202
|
|
|
4073
4203
|
// src/contracts/page-collab.ts
|
|
4074
|
-
var
|
|
4075
|
-
var PageIdPathParamsSchema =
|
|
4076
|
-
id:
|
|
4204
|
+
var import_zod_openapi44 = require("@hono/zod-openapi");
|
|
4205
|
+
var PageIdPathParamsSchema = import_zod_openapi44.z.object({
|
|
4206
|
+
id: import_zod_openapi44.z.string().openapi({ description: "Page id (24-char hex ObjectId)", example: "507f1f77bcf86cd799439011" })
|
|
4077
4207
|
});
|
|
4078
|
-
var getYjsTokenRoute = (0,
|
|
4208
|
+
var getYjsTokenRoute = (0, import_zod_openapi44.createRoute)({
|
|
4079
4209
|
method: "get",
|
|
4080
4210
|
path: "/pages/{id}/yjs-token",
|
|
4081
4211
|
tags: ["page-collab"],
|
|
@@ -4112,61 +4242,79 @@ var pageCollabRoutes = {
|
|
|
4112
4242
|
};
|
|
4113
4243
|
|
|
4114
4244
|
// src/contracts/presence.ts
|
|
4115
|
-
var
|
|
4245
|
+
var import_zod_openapi46 = require("@hono/zod-openapi");
|
|
4116
4246
|
|
|
4117
4247
|
// src/schemas/presence.ts
|
|
4118
|
-
var
|
|
4119
|
-
var PresenceTokenResponseSchema =
|
|
4120
|
-
token:
|
|
4121
|
-
pageId:
|
|
4122
|
-
selfUserId:
|
|
4123
|
-
expiresAt:
|
|
4124
|
-
});
|
|
4125
|
-
var PresenceTokenPayloadSchema =
|
|
4126
|
-
userId:
|
|
4127
|
-
pageId:
|
|
4128
|
-
iat:
|
|
4129
|
-
exp:
|
|
4130
|
-
});
|
|
4131
|
-
var PresenceViewerSchema =
|
|
4132
|
-
userId:
|
|
4133
|
-
username:
|
|
4134
|
-
displayName:
|
|
4135
|
-
avatarUrl:
|
|
4136
|
-
isEditing:
|
|
4137
|
-
joinedAt:
|
|
4138
|
-
});
|
|
4139
|
-
var PresenceHeartbeatMessageSchema =
|
|
4140
|
-
type:
|
|
4248
|
+
var import_zod_openapi45 = require("@hono/zod-openapi");
|
|
4249
|
+
var PresenceTokenResponseSchema = import_zod_openapi45.z.object({
|
|
4250
|
+
token: import_zod_openapi45.z.string(),
|
|
4251
|
+
pageId: import_zod_openapi45.z.string(),
|
|
4252
|
+
selfUserId: import_zod_openapi45.z.string(),
|
|
4253
|
+
expiresAt: import_zod_openapi45.z.string()
|
|
4254
|
+
});
|
|
4255
|
+
var PresenceTokenPayloadSchema = import_zod_openapi45.z.object({
|
|
4256
|
+
userId: import_zod_openapi45.z.string(),
|
|
4257
|
+
pageId: import_zod_openapi45.z.string(),
|
|
4258
|
+
iat: import_zod_openapi45.z.number().int(),
|
|
4259
|
+
exp: import_zod_openapi45.z.number().int()
|
|
4260
|
+
});
|
|
4261
|
+
var PresenceViewerSchema = import_zod_openapi45.z.object({
|
|
4262
|
+
userId: import_zod_openapi45.z.string(),
|
|
4263
|
+
username: import_zod_openapi45.z.string(),
|
|
4264
|
+
displayName: import_zod_openapi45.z.string(),
|
|
4265
|
+
avatarUrl: import_zod_openapi45.z.string().nullable(),
|
|
4266
|
+
isEditing: import_zod_openapi45.z.boolean(),
|
|
4267
|
+
joinedAt: import_zod_openapi45.z.number().int()
|
|
4268
|
+
});
|
|
4269
|
+
var PresenceHeartbeatMessageSchema = import_zod_openapi45.z.object({
|
|
4270
|
+
type: import_zod_openapi45.z.literal("heartbeat")
|
|
4141
4271
|
});
|
|
4142
4272
|
var PresenceClientMessageSchema = PresenceHeartbeatMessageSchema;
|
|
4143
|
-
var PresenceViewersMessageSchema =
|
|
4144
|
-
type:
|
|
4145
|
-
viewers:
|
|
4146
|
-
});
|
|
4147
|
-
var
|
|
4148
|
-
|
|
4149
|
-
|
|
4150
|
-
|
|
4151
|
-
|
|
4152
|
-
|
|
4153
|
-
|
|
4154
|
-
|
|
4155
|
-
|
|
4156
|
-
|
|
4157
|
-
|
|
4158
|
-
|
|
4159
|
-
|
|
4273
|
+
var PresenceViewersMessageSchema = import_zod_openapi45.z.object({
|
|
4274
|
+
type: import_zod_openapi45.z.literal("viewers"),
|
|
4275
|
+
viewers: import_zod_openapi45.z.array(PresenceViewerSchema)
|
|
4276
|
+
});
|
|
4277
|
+
var PresencePageUpdatedMessageSchema = import_zod_openapi45.z.object({
|
|
4278
|
+
type: import_zod_openapi45.z.literal("page-updated"),
|
|
4279
|
+
pageId: import_zod_openapi45.z.string(),
|
|
4280
|
+
revisionId: import_zod_openapi45.z.string(),
|
|
4281
|
+
editorUserId: import_zod_openapi45.z.string(),
|
|
4282
|
+
editorDisplayName: import_zod_openapi45.z.string()
|
|
4283
|
+
});
|
|
4284
|
+
var PresenceCommentChangedMessageSchema = import_zod_openapi45.z.object({
|
|
4285
|
+
type: import_zod_openapi45.z.literal("comment-changed"),
|
|
4286
|
+
pageId: import_zod_openapi45.z.string(),
|
|
4287
|
+
changeType: import_zod_openapi45.z.enum(["added", "removed"]),
|
|
4288
|
+
commentId: import_zod_openapi45.z.string(),
|
|
4289
|
+
actorUserId: import_zod_openapi45.z.string().optional()
|
|
4290
|
+
});
|
|
4291
|
+
var PresenceServerMessageSchema = import_zod_openapi45.z.discriminatedUnion("type", [
|
|
4292
|
+
PresenceViewersMessageSchema,
|
|
4293
|
+
PresencePageUpdatedMessageSchema,
|
|
4294
|
+
PresenceCommentChangedMessageSchema
|
|
4295
|
+
]);
|
|
4296
|
+
var LikerSchema = import_zod_openapi45.z.object({
|
|
4297
|
+
id: import_zod_openapi45.z.string(),
|
|
4298
|
+
username: import_zod_openapi45.z.string(),
|
|
4299
|
+
displayName: import_zod_openapi45.z.string(),
|
|
4300
|
+
avatarUrl: import_zod_openapi45.z.string().nullable(),
|
|
4301
|
+
likedAt: import_zod_openapi45.z.string().nullable()
|
|
4302
|
+
});
|
|
4303
|
+
var LikersResponseSchema = import_zod_openapi45.z.object({
|
|
4304
|
+
users: import_zod_openapi45.z.array(LikerSchema),
|
|
4305
|
+
totalCount: import_zod_openapi45.z.number().int().nonnegative()
|
|
4306
|
+
});
|
|
4307
|
+
var GetLikersRequestSchema = import_zod_openapi45.z.object({
|
|
4160
4308
|
// Optional cap on returned `users`. `totalCount` always reflects the
|
|
4161
4309
|
// full count regardless of `limit`. Omit for the full list.
|
|
4162
|
-
limit:
|
|
4310
|
+
limit: import_zod_openapi45.z.coerce.number().int().positive().optional()
|
|
4163
4311
|
});
|
|
4164
4312
|
|
|
4165
4313
|
// src/contracts/presence.ts
|
|
4166
|
-
var PageIdPathParamsSchema2 =
|
|
4167
|
-
id:
|
|
4314
|
+
var PageIdPathParamsSchema2 = import_zod_openapi46.z.object({
|
|
4315
|
+
id: import_zod_openapi46.z.string().openapi({ description: "Page id (24-char hex ObjectId)", example: "507f1f77bcf86cd799439011" })
|
|
4168
4316
|
});
|
|
4169
|
-
var getPresenceTokenRoute = (0,
|
|
4317
|
+
var getPresenceTokenRoute = (0, import_zod_openapi46.createRoute)({
|
|
4170
4318
|
method: "get",
|
|
4171
4319
|
path: "/pages/{id}/presence-token",
|
|
4172
4320
|
tags: ["presence"],
|
|
@@ -4198,7 +4346,7 @@ var getPresenceTokenRoute = (0, import_zod_openapi44.createRoute)({
|
|
|
4198
4346
|
}
|
|
4199
4347
|
}
|
|
4200
4348
|
});
|
|
4201
|
-
var getLikersRoute = (0,
|
|
4349
|
+
var getLikersRoute = (0, import_zod_openapi46.createRoute)({
|
|
4202
4350
|
method: "get",
|
|
4203
4351
|
path: "/pages/{id}/likers",
|
|
4204
4352
|
tags: ["presence"],
|
|
@@ -4237,50 +4385,50 @@ var presenceRoutes = {
|
|
|
4237
4385
|
};
|
|
4238
4386
|
|
|
4239
4387
|
// src/contracts/draft.ts
|
|
4240
|
-
var
|
|
4388
|
+
var import_zod_openapi48 = require("@hono/zod-openapi");
|
|
4241
4389
|
|
|
4242
4390
|
// src/schemas/draft.ts
|
|
4243
|
-
var
|
|
4244
|
-
var CreateDraftRequestSchema =
|
|
4245
|
-
path:
|
|
4246
|
-
initialBody:
|
|
4391
|
+
var import_zod_openapi47 = require("@hono/zod-openapi");
|
|
4392
|
+
var CreateDraftRequestSchema = import_zod_openapi47.z.object({
|
|
4393
|
+
path: import_zod_openapi47.z.string().min(1),
|
|
4394
|
+
initialBody: import_zod_openapi47.z.string().optional()
|
|
4247
4395
|
});
|
|
4248
|
-
var CreateDraftResponseSchema =
|
|
4249
|
-
pageId:
|
|
4396
|
+
var CreateDraftResponseSchema = import_zod_openapi47.z.object({
|
|
4397
|
+
pageId: import_zod_openapi47.z.string()
|
|
4250
4398
|
});
|
|
4251
|
-
var DraftConflictOwnerSchema =
|
|
4252
|
-
id:
|
|
4253
|
-
username:
|
|
4254
|
-
displayName:
|
|
4399
|
+
var DraftConflictOwnerSchema = import_zod_openapi47.z.object({
|
|
4400
|
+
id: import_zod_openapi47.z.string(),
|
|
4401
|
+
username: import_zod_openapi47.z.string(),
|
|
4402
|
+
displayName: import_zod_openapi47.z.string()
|
|
4255
4403
|
});
|
|
4256
|
-
var DraftPathConflictErrorSchema =
|
|
4257
|
-
error:
|
|
4404
|
+
var DraftPathConflictErrorSchema = import_zod_openapi47.z.object({
|
|
4405
|
+
error: import_zod_openapi47.z.literal("path_taken_by_draft"),
|
|
4258
4406
|
owner: DraftConflictOwnerSchema,
|
|
4259
|
-
message:
|
|
4407
|
+
message: import_zod_openapi47.z.string()
|
|
4260
4408
|
});
|
|
4261
|
-
var DraftBadRequestErrorSchema =
|
|
4262
|
-
error:
|
|
4263
|
-
message:
|
|
4409
|
+
var DraftBadRequestErrorSchema = import_zod_openapi47.z.object({
|
|
4410
|
+
error: import_zod_openapi47.z.enum(["invalid_path", "path_taken"]),
|
|
4411
|
+
message: import_zod_openapi47.z.string()
|
|
4264
4412
|
});
|
|
4265
|
-
var DraftNotFoundErrorSchema =
|
|
4266
|
-
error:
|
|
4267
|
-
message:
|
|
4413
|
+
var DraftNotFoundErrorSchema = import_zod_openapi47.z.object({
|
|
4414
|
+
error: import_zod_openapi47.z.literal("draft_not_found"),
|
|
4415
|
+
message: import_zod_openapi47.z.string()
|
|
4268
4416
|
});
|
|
4269
|
-
var DraftSummarySchema =
|
|
4270
|
-
pageId:
|
|
4271
|
-
path:
|
|
4272
|
-
createdAt:
|
|
4273
|
-
updatedAt:
|
|
4417
|
+
var DraftSummarySchema = import_zod_openapi47.z.object({
|
|
4418
|
+
pageId: import_zod_openapi47.z.string(),
|
|
4419
|
+
path: import_zod_openapi47.z.string(),
|
|
4420
|
+
createdAt: import_zod_openapi47.z.string(),
|
|
4421
|
+
updatedAt: import_zod_openapi47.z.string()
|
|
4274
4422
|
});
|
|
4275
|
-
var ListDraftsResponseSchema =
|
|
4276
|
-
drafts:
|
|
4423
|
+
var ListDraftsResponseSchema = import_zod_openapi47.z.object({
|
|
4424
|
+
drafts: import_zod_openapi47.z.array(DraftSummarySchema)
|
|
4277
4425
|
});
|
|
4278
4426
|
|
|
4279
4427
|
// src/contracts/draft.ts
|
|
4280
|
-
var DraftIdPathParamsSchema =
|
|
4281
|
-
id:
|
|
4428
|
+
var DraftIdPathParamsSchema = import_zod_openapi48.z.object({
|
|
4429
|
+
id: import_zod_openapi48.z.string().openapi({ description: "Draft page id (24-char hex ObjectId)", example: "507f1f77bcf86cd799439011" })
|
|
4282
4430
|
});
|
|
4283
|
-
var createDraftRoute = (0,
|
|
4431
|
+
var createDraftRoute = (0, import_zod_openapi48.createRoute)({
|
|
4284
4432
|
method: "post",
|
|
4285
4433
|
path: "/pages/drafts",
|
|
4286
4434
|
tags: ["draft"],
|
|
@@ -4310,7 +4458,7 @@ var createDraftRoute = (0, import_zod_openapi46.createRoute)({
|
|
|
4310
4458
|
}
|
|
4311
4459
|
}
|
|
4312
4460
|
});
|
|
4313
|
-
var listDraftsRoute = (0,
|
|
4461
|
+
var listDraftsRoute = (0, import_zod_openapi48.createRoute)({
|
|
4314
4462
|
method: "get",
|
|
4315
4463
|
path: "/pages/drafts",
|
|
4316
4464
|
tags: ["draft"],
|
|
@@ -4327,7 +4475,7 @@ var listDraftsRoute = (0, import_zod_openapi46.createRoute)({
|
|
|
4327
4475
|
}
|
|
4328
4476
|
}
|
|
4329
4477
|
});
|
|
4330
|
-
var cancelDraftRoute = (0,
|
|
4478
|
+
var cancelDraftRoute = (0, import_zod_openapi48.createRoute)({
|
|
4331
4479
|
method: "delete",
|
|
4332
4480
|
path: "/pages/drafts/{id}",
|
|
4333
4481
|
tags: ["draft"],
|
|
@@ -4358,42 +4506,8 @@ var draftRoutes = {
|
|
|
4358
4506
|
};
|
|
4359
4507
|
|
|
4360
4508
|
// src/contracts/autocomplete.ts
|
|
4361
|
-
var
|
|
4362
|
-
|
|
4363
|
-
// src/schemas/autocomplete.ts
|
|
4364
|
-
var import_zod_openapi47 = require("@hono/zod-openapi");
|
|
4365
|
-
var AutocompleteRequestSchema = import_zod_openapi47.z.object({
|
|
4366
|
-
q: import_zod_openapi47.z.string().min(1).max(128),
|
|
4367
|
-
limit: import_zod_openapi47.z.coerce.number().int().min(1).max(25).optional().default(10),
|
|
4368
|
-
/**
|
|
4369
|
-
* How `q` is matched against the candidate text. `'substring'` (the
|
|
4370
|
-
* default, used by the editor's `@mention` / `[[wikilink]]` pickers)
|
|
4371
|
-
* keeps the historical anywhere-in-string match. `'prefix'` anchors
|
|
4372
|
-
* the match at the start — used by the "create page" modal, where the
|
|
4373
|
-
* user is building a `/`-rooted path and only true prefixes are valid
|
|
4374
|
-
* completions of what they have typed so far.
|
|
4375
|
-
*/
|
|
4376
|
-
anchor: import_zod_openapi47.z.enum(["substring", "prefix"]).optional().default("substring")
|
|
4377
|
-
});
|
|
4378
|
-
var AutocompleteResultSchema = import_zod_openapi47.z.object({
|
|
4379
|
-
id: import_zod_openapi47.z.string(),
|
|
4380
|
-
label: import_zod_openapi47.z.string(),
|
|
4381
|
-
display: import_zod_openapi47.z.string(),
|
|
4382
|
-
avatar: import_zod_openapi47.z.string().nullable().optional(),
|
|
4383
|
-
modifiedAt: import_zod_openapi47.z.string().nullable().optional(),
|
|
4384
|
-
score: import_zod_openapi47.z.number()
|
|
4385
|
-
});
|
|
4386
|
-
var AutocompleteResponseSchema = import_zod_openapi47.z.object({
|
|
4387
|
-
results: import_zod_openapi47.z.array(AutocompleteResultSchema)
|
|
4388
|
-
});
|
|
4389
|
-
var AutocompleteRateLimitErrorSchema = import_zod_openapi47.z.object({
|
|
4390
|
-
error: import_zod_openapi47.z.literal("rate_limited"),
|
|
4391
|
-
message: import_zod_openapi47.z.string(),
|
|
4392
|
-
retryAfterSeconds: import_zod_openapi47.z.number()
|
|
4393
|
-
});
|
|
4394
|
-
|
|
4395
|
-
// src/contracts/autocomplete.ts
|
|
4396
|
-
var autocompleteUsersRoute = (0, import_zod_openapi48.createRoute)({
|
|
4509
|
+
var import_zod_openapi49 = require("@hono/zod-openapi");
|
|
4510
|
+
var autocompleteUsersRoute = (0, import_zod_openapi49.createRoute)({
|
|
4397
4511
|
method: "get",
|
|
4398
4512
|
path: "/users/autocomplete",
|
|
4399
4513
|
tags: ["autocomplete"],
|
|
@@ -4421,7 +4535,7 @@ var autocompleteUsersRoute = (0, import_zod_openapi48.createRoute)({
|
|
|
4421
4535
|
}
|
|
4422
4536
|
}
|
|
4423
4537
|
});
|
|
4424
|
-
var autocompletePagesRoute = (0,
|
|
4538
|
+
var autocompletePagesRoute = (0, import_zod_openapi49.createRoute)({
|
|
4425
4539
|
method: "get",
|
|
4426
4540
|
path: "/pages/autocomplete",
|
|
4427
4541
|
tags: ["autocomplete"],
|
|
@@ -4455,50 +4569,50 @@ var autocompleteRoutes = {
|
|
|
4455
4569
|
};
|
|
4456
4570
|
|
|
4457
4571
|
// src/contracts/attachment.ts
|
|
4458
|
-
var
|
|
4572
|
+
var import_zod_openapi51 = require("@hono/zod-openapi");
|
|
4459
4573
|
|
|
4460
4574
|
// src/schemas/attachment.ts
|
|
4461
|
-
var
|
|
4462
|
-
var AttachmentSchema =
|
|
4463
|
-
_id:
|
|
4464
|
-
page:
|
|
4575
|
+
var import_zod_openapi50 = require("@hono/zod-openapi");
|
|
4576
|
+
var AttachmentSchema = import_zod_openapi50.z.object({
|
|
4577
|
+
_id: import_zod_openapi50.z.string(),
|
|
4578
|
+
page: import_zod_openapi50.z.string(),
|
|
4465
4579
|
creator: UserPublicSchema,
|
|
4466
|
-
filePath:
|
|
4467
|
-
fileName:
|
|
4468
|
-
originalName:
|
|
4469
|
-
fileFormat:
|
|
4470
|
-
fileSize:
|
|
4471
|
-
createdAt:
|
|
4472
|
-
url:
|
|
4473
|
-
inUse:
|
|
4580
|
+
filePath: import_zod_openapi50.z.string(),
|
|
4581
|
+
fileName: import_zod_openapi50.z.string(),
|
|
4582
|
+
originalName: import_zod_openapi50.z.string(),
|
|
4583
|
+
fileFormat: import_zod_openapi50.z.string(),
|
|
4584
|
+
fileSize: import_zod_openapi50.z.number(),
|
|
4585
|
+
createdAt: import_zod_openapi50.z.string(),
|
|
4586
|
+
url: import_zod_openapi50.z.string(),
|
|
4587
|
+
inUse: import_zod_openapi50.z.boolean()
|
|
4474
4588
|
});
|
|
4475
4589
|
var AttachmentMetaSchema = AttachmentSchema.omit({ inUse: true });
|
|
4476
|
-
var ListAttachmentsResponseSchema =
|
|
4477
|
-
attachments:
|
|
4590
|
+
var ListAttachmentsResponseSchema = import_zod_openapi50.z.object({
|
|
4591
|
+
attachments: import_zod_openapi50.z.array(AttachmentSchema)
|
|
4478
4592
|
});
|
|
4479
|
-
var PastAttachmentUsageSchema =
|
|
4593
|
+
var PastAttachmentUsageSchema = import_zod_openapi50.z.object({
|
|
4480
4594
|
attachment: AttachmentSchema,
|
|
4481
|
-
referencingRevisions:
|
|
4482
|
-
|
|
4483
|
-
revisionId:
|
|
4484
|
-
createdAt:
|
|
4595
|
+
referencingRevisions: import_zod_openapi50.z.array(
|
|
4596
|
+
import_zod_openapi50.z.object({
|
|
4597
|
+
revisionId: import_zod_openapi50.z.string(),
|
|
4598
|
+
createdAt: import_zod_openapi50.z.string(),
|
|
4485
4599
|
author: UserPublicSchema
|
|
4486
4600
|
})
|
|
4487
4601
|
)
|
|
4488
4602
|
});
|
|
4489
|
-
var AttachmentUsageResponseSchema =
|
|
4490
|
-
pagePath:
|
|
4491
|
-
latest:
|
|
4492
|
-
past:
|
|
4603
|
+
var AttachmentUsageResponseSchema = import_zod_openapi50.z.object({
|
|
4604
|
+
pagePath: import_zod_openapi50.z.string(),
|
|
4605
|
+
latest: import_zod_openapi50.z.array(AttachmentSchema),
|
|
4606
|
+
past: import_zod_openapi50.z.array(PastAttachmentUsageSchema)
|
|
4493
4607
|
});
|
|
4494
|
-
var AddAttachmentResponseSchema =
|
|
4608
|
+
var AddAttachmentResponseSchema = import_zod_openapi50.z.object({
|
|
4495
4609
|
attachment: AttachmentSchema,
|
|
4496
|
-
url:
|
|
4610
|
+
url: import_zod_openapi50.z.string()
|
|
4497
4611
|
});
|
|
4498
|
-
var RemoveAttachmentResponseSchema =
|
|
4499
|
-
success:
|
|
4612
|
+
var RemoveAttachmentResponseSchema = import_zod_openapi50.z.object({
|
|
4613
|
+
success: import_zod_openapi50.z.literal(true)
|
|
4500
4614
|
});
|
|
4501
|
-
var AttachmentErrorCodeSchema =
|
|
4615
|
+
var AttachmentErrorCodeSchema = import_zod_openapi50.z.enum([
|
|
4502
4616
|
"INVALID_PAGE_ID",
|
|
4503
4617
|
"PAGE_NOT_FOUND",
|
|
4504
4618
|
"FILE_MISSING",
|
|
@@ -4510,43 +4624,43 @@ var AttachmentErrorCodeSchema = import_zod_openapi49.z.enum([
|
|
|
4510
4624
|
"UPLOAD_FAILED",
|
|
4511
4625
|
"REMOVE_FAILED"
|
|
4512
4626
|
]);
|
|
4513
|
-
var AttachmentErrorSchema =
|
|
4514
|
-
error:
|
|
4627
|
+
var AttachmentErrorSchema = import_zod_openapi50.z.object({
|
|
4628
|
+
error: import_zod_openapi50.z.object({
|
|
4515
4629
|
code: AttachmentErrorCodeSchema,
|
|
4516
|
-
message:
|
|
4630
|
+
message: import_zod_openapi50.z.string()
|
|
4517
4631
|
})
|
|
4518
4632
|
});
|
|
4519
|
-
var UploadAttachmentResponseSchema =
|
|
4520
|
-
url:
|
|
4521
|
-
filename:
|
|
4522
|
-
mimeType:
|
|
4523
|
-
sizeBytes:
|
|
4633
|
+
var UploadAttachmentResponseSchema = import_zod_openapi50.z.object({
|
|
4634
|
+
url: import_zod_openapi50.z.string(),
|
|
4635
|
+
filename: import_zod_openapi50.z.string(),
|
|
4636
|
+
mimeType: import_zod_openapi50.z.string(),
|
|
4637
|
+
sizeBytes: import_zod_openapi50.z.number()
|
|
4524
4638
|
});
|
|
4525
|
-
var UploadAttachmentErrorCodeSchema =
|
|
4526
|
-
var UploadAttachmentErrorSchema =
|
|
4639
|
+
var UploadAttachmentErrorCodeSchema = import_zod_openapi50.z.enum(["too_large", "disallowed_type", "rate_limited", "no_permission"]);
|
|
4640
|
+
var UploadAttachmentErrorSchema = import_zod_openapi50.z.object({
|
|
4527
4641
|
error: UploadAttachmentErrorCodeSchema,
|
|
4528
|
-
message:
|
|
4529
|
-
details:
|
|
4642
|
+
message: import_zod_openapi50.z.string(),
|
|
4643
|
+
details: import_zod_openapi50.z.record(import_zod_openapi50.z.string(), import_zod_openapi50.z.unknown()).optional()
|
|
4530
4644
|
});
|
|
4531
4645
|
var IMAGE_UPLOAD_MIME = ["image/png", "image/jpeg", "image/gif", "image/webp", "image/svg+xml"];
|
|
4532
4646
|
var DND_EXTRA_UPLOAD_MIME = ["application/pdf", "text/plain", "text/markdown", "text/csv", "application/zip"];
|
|
4533
4647
|
|
|
4534
4648
|
// src/contracts/attachment.ts
|
|
4535
|
-
var PageIdPathParamsSchema3 =
|
|
4536
|
-
pageId:
|
|
4649
|
+
var PageIdPathParamsSchema3 = import_zod_openapi51.z.object({
|
|
4650
|
+
pageId: import_zod_openapi51.z.string().openapi({ description: "Page id (24-char hex ObjectId)", example: "507f1f77bcf86cd799439011" })
|
|
4537
4651
|
});
|
|
4538
|
-
var AttachmentIdPathParamsSchema =
|
|
4539
|
-
id:
|
|
4652
|
+
var AttachmentIdPathParamsSchema = import_zod_openapi51.z.object({
|
|
4653
|
+
id: import_zod_openapi51.z.string().openapi({ description: "Attachment id (24-char hex ObjectId)", example: "507f1f77bcf86cd799439011" })
|
|
4540
4654
|
});
|
|
4541
|
-
var AddAttachmentBodySchema =
|
|
4542
|
-
file:
|
|
4655
|
+
var AddAttachmentBodySchema = import_zod_openapi51.z.object({
|
|
4656
|
+
file: import_zod_openapi51.z.any().openapi({ type: "string", format: "binary" }).optional()
|
|
4543
4657
|
});
|
|
4544
|
-
var UploadAttachmentBodySchema =
|
|
4545
|
-
file:
|
|
4546
|
-
pageId:
|
|
4547
|
-
intent:
|
|
4658
|
+
var UploadAttachmentBodySchema = import_zod_openapi51.z.object({
|
|
4659
|
+
file: import_zod_openapi51.z.any().openapi({ type: "string", format: "binary" }).optional(),
|
|
4660
|
+
pageId: import_zod_openapi51.z.string().optional(),
|
|
4661
|
+
intent: import_zod_openapi51.z.string().optional().openapi({ enum: ["paste", "dnd"] })
|
|
4548
4662
|
});
|
|
4549
|
-
var listAttachmentsRoute = (0,
|
|
4663
|
+
var listAttachmentsRoute = (0, import_zod_openapi51.createRoute)({
|
|
4550
4664
|
method: "get",
|
|
4551
4665
|
path: "/pages/{pageId}/attachments",
|
|
4552
4666
|
tags: ["attachment"],
|
|
@@ -4578,7 +4692,7 @@ var listAttachmentsRoute = (0, import_zod_openapi50.createRoute)({
|
|
|
4578
4692
|
}
|
|
4579
4693
|
}
|
|
4580
4694
|
});
|
|
4581
|
-
var addAttachmentRoute = (0,
|
|
4695
|
+
var addAttachmentRoute = (0, import_zod_openapi51.createRoute)({
|
|
4582
4696
|
method: "post",
|
|
4583
4697
|
path: "/pages/{pageId}/attachments",
|
|
4584
4698
|
tags: ["attachment"],
|
|
@@ -4617,7 +4731,7 @@ var addAttachmentRoute = (0, import_zod_openapi50.createRoute)({
|
|
|
4617
4731
|
}
|
|
4618
4732
|
}
|
|
4619
4733
|
});
|
|
4620
|
-
var getAttachmentUsageRoute = (0,
|
|
4734
|
+
var getAttachmentUsageRoute = (0, import_zod_openapi51.createRoute)({
|
|
4621
4735
|
method: "get",
|
|
4622
4736
|
path: "/pages/{pageId}/attachments/usage",
|
|
4623
4737
|
tags: ["attachment"],
|
|
@@ -4649,7 +4763,7 @@ var getAttachmentUsageRoute = (0, import_zod_openapi50.createRoute)({
|
|
|
4649
4763
|
}
|
|
4650
4764
|
}
|
|
4651
4765
|
});
|
|
4652
|
-
var getAttachmentMetaRoute = (0,
|
|
4766
|
+
var getAttachmentMetaRoute = (0, import_zod_openapi51.createRoute)({
|
|
4653
4767
|
method: "get",
|
|
4654
4768
|
path: "/attachments/{id}/meta",
|
|
4655
4769
|
tags: ["attachment"],
|
|
@@ -4681,7 +4795,7 @@ var getAttachmentMetaRoute = (0, import_zod_openapi50.createRoute)({
|
|
|
4681
4795
|
}
|
|
4682
4796
|
}
|
|
4683
4797
|
});
|
|
4684
|
-
var uploadAttachmentRoute = (0,
|
|
4798
|
+
var uploadAttachmentRoute = (0, import_zod_openapi51.createRoute)({
|
|
4685
4799
|
method: "post",
|
|
4686
4800
|
path: "/attachments/upload",
|
|
4687
4801
|
tags: ["attachment"],
|
|
@@ -4727,7 +4841,7 @@ var uploadAttachmentRoute = (0, import_zod_openapi50.createRoute)({
|
|
|
4727
4841
|
}
|
|
4728
4842
|
}
|
|
4729
4843
|
});
|
|
4730
|
-
var removeAttachmentRoute = (0,
|
|
4844
|
+
var removeAttachmentRoute = (0, import_zod_openapi51.createRoute)({
|
|
4731
4845
|
method: "delete",
|
|
4732
4846
|
path: "/attachments/{id}",
|
|
4733
4847
|
tags: ["attachment"],
|
|
@@ -4778,37 +4892,37 @@ var attachmentRoutes = {
|
|
|
4778
4892
|
};
|
|
4779
4893
|
|
|
4780
4894
|
// src/contracts/search.ts
|
|
4781
|
-
var
|
|
4895
|
+
var import_zod_openapi53 = require("@hono/zod-openapi");
|
|
4782
4896
|
|
|
4783
4897
|
// src/schemas/search.ts
|
|
4784
|
-
var
|
|
4785
|
-
var SearchPageTypeSchema =
|
|
4786
|
-
var SearchPagesRequestSchema =
|
|
4787
|
-
q:
|
|
4788
|
-
tree:
|
|
4898
|
+
var import_zod_openapi52 = require("@hono/zod-openapi");
|
|
4899
|
+
var SearchPageTypeSchema = import_zod_openapi52.z.enum(["portal", "public", "user"]);
|
|
4900
|
+
var SearchPagesRequestSchema = import_zod_openapi52.z.object({
|
|
4901
|
+
q: import_zod_openapi52.z.string().min(1),
|
|
4902
|
+
tree: import_zod_openapi52.z.string().optional(),
|
|
4789
4903
|
type: SearchPageTypeSchema.optional(),
|
|
4790
|
-
page:
|
|
4791
|
-
limit:
|
|
4792
|
-
});
|
|
4793
|
-
var SearchHitSchema =
|
|
4794
|
-
pageId:
|
|
4795
|
-
path:
|
|
4796
|
-
score:
|
|
4797
|
-
snippet:
|
|
4798
|
-
bookmarkCount:
|
|
4904
|
+
page: import_zod_openapi52.z.coerce.number().int().min(1).default(1),
|
|
4905
|
+
limit: import_zod_openapi52.z.coerce.number().int().min(1).max(100).default(50)
|
|
4906
|
+
});
|
|
4907
|
+
var SearchHitSchema = import_zod_openapi52.z.object({
|
|
4908
|
+
pageId: import_zod_openapi52.z.string(),
|
|
4909
|
+
path: import_zod_openapi52.z.string(),
|
|
4910
|
+
score: import_zod_openapi52.z.number().optional(),
|
|
4911
|
+
snippet: import_zod_openapi52.z.string().optional(),
|
|
4912
|
+
bookmarkCount: import_zod_openapi52.z.number(),
|
|
4799
4913
|
page: PageSchema
|
|
4800
4914
|
});
|
|
4801
|
-
var SearchPagesResponseSchema =
|
|
4802
|
-
meta:
|
|
4803
|
-
took:
|
|
4804
|
-
total:
|
|
4805
|
-
results:
|
|
4915
|
+
var SearchPagesResponseSchema = import_zod_openapi52.z.object({
|
|
4916
|
+
meta: import_zod_openapi52.z.object({
|
|
4917
|
+
took: import_zod_openapi52.z.number().optional(),
|
|
4918
|
+
total: import_zod_openapi52.z.number(),
|
|
4919
|
+
results: import_zod_openapi52.z.number()
|
|
4806
4920
|
}),
|
|
4807
|
-
data:
|
|
4921
|
+
data: import_zod_openapi52.z.array(SearchHitSchema)
|
|
4808
4922
|
});
|
|
4809
4923
|
|
|
4810
4924
|
// src/contracts/search.ts
|
|
4811
|
-
var searchPagesRoute = (0,
|
|
4925
|
+
var searchPagesRoute = (0, import_zod_openapi53.createRoute)({
|
|
4812
4926
|
method: "get",
|
|
4813
4927
|
path: "/search",
|
|
4814
4928
|
tags: ["search"],
|
|
@@ -4845,39 +4959,39 @@ var searchRoutes = {
|
|
|
4845
4959
|
};
|
|
4846
4960
|
|
|
4847
4961
|
// src/contracts/adminCrypto.ts
|
|
4848
|
-
var
|
|
4962
|
+
var import_zod_openapi55 = require("@hono/zod-openapi");
|
|
4849
4963
|
|
|
4850
4964
|
// src/schemas/adminCrypto.ts
|
|
4851
|
-
var
|
|
4852
|
-
var SensitiveConfigEntrySchema =
|
|
4853
|
-
ns:
|
|
4854
|
-
key:
|
|
4855
|
-
present:
|
|
4856
|
-
encrypted:
|
|
4965
|
+
var import_zod_openapi54 = require("@hono/zod-openapi");
|
|
4966
|
+
var SensitiveConfigEntrySchema = import_zod_openapi54.z.object({
|
|
4967
|
+
ns: import_zod_openapi54.z.string(),
|
|
4968
|
+
key: import_zod_openapi54.z.string(),
|
|
4969
|
+
present: import_zod_openapi54.z.boolean(),
|
|
4970
|
+
encrypted: import_zod_openapi54.z.boolean()
|
|
4857
4971
|
});
|
|
4858
|
-
var CryptoStatusResponseSchema =
|
|
4972
|
+
var CryptoStatusResponseSchema = import_zod_openapi54.z.object({
|
|
4859
4973
|
/** False when CROWI_ENCRYPTION_KEY is not configured — UI shows a setup hint. */
|
|
4860
|
-
encryptionConfigured:
|
|
4861
|
-
unencryptedCount:
|
|
4862
|
-
encryptedCount:
|
|
4863
|
-
entries:
|
|
4974
|
+
encryptionConfigured: import_zod_openapi54.z.boolean(),
|
|
4975
|
+
unencryptedCount: import_zod_openapi54.z.number().int().min(0),
|
|
4976
|
+
encryptedCount: import_zod_openapi54.z.number().int().min(0),
|
|
4977
|
+
entries: import_zod_openapi54.z.array(SensitiveConfigEntrySchema)
|
|
4864
4978
|
});
|
|
4865
|
-
var ReencryptResponseSchema =
|
|
4866
|
-
rewritten:
|
|
4979
|
+
var ReencryptResponseSchema = import_zod_openapi54.z.object({
|
|
4980
|
+
rewritten: import_zod_openapi54.z.number().int().min(0),
|
|
4867
4981
|
/** Already encrypted, skipped on this run. */
|
|
4868
|
-
alreadyEncrypted:
|
|
4982
|
+
alreadyEncrypted: import_zod_openapi54.z.number().int().min(0),
|
|
4869
4983
|
/** Sensitive registry entries that had no row in the DB at all. */
|
|
4870
|
-
missing:
|
|
4984
|
+
missing: import_zod_openapi54.z.number().int().min(0)
|
|
4871
4985
|
});
|
|
4872
|
-
var EncryptionNotConfiguredErrorSchema =
|
|
4873
|
-
error:
|
|
4874
|
-
code:
|
|
4875
|
-
message:
|
|
4986
|
+
var EncryptionNotConfiguredErrorSchema = import_zod_openapi54.z.object({
|
|
4987
|
+
error: import_zod_openapi54.z.object({
|
|
4988
|
+
code: import_zod_openapi54.z.literal("ENCRYPTION_NOT_CONFIGURED"),
|
|
4989
|
+
message: import_zod_openapi54.z.string()
|
|
4876
4990
|
})
|
|
4877
4991
|
});
|
|
4878
4992
|
|
|
4879
4993
|
// src/contracts/adminCrypto.ts
|
|
4880
|
-
var getCryptoStatusRoute = (0,
|
|
4994
|
+
var getCryptoStatusRoute = (0, import_zod_openapi55.createRoute)({
|
|
4881
4995
|
method: "get",
|
|
4882
4996
|
path: "/admin/crypto/status",
|
|
4883
4997
|
tags: ["adminCrypto"],
|
|
@@ -4902,7 +5016,7 @@ var getCryptoStatusRoute = (0, import_zod_openapi54.createRoute)({
|
|
|
4902
5016
|
}
|
|
4903
5017
|
}
|
|
4904
5018
|
});
|
|
4905
|
-
var reencryptAllRoute = (0,
|
|
5019
|
+
var reencryptAllRoute = (0, import_zod_openapi55.createRoute)({
|
|
4906
5020
|
method: "post",
|
|
4907
5021
|
path: "/admin/crypto/reencrypt",
|
|
4908
5022
|
tags: ["adminCrypto"],
|
|
@@ -4937,56 +5051,56 @@ var adminCryptoRoutes = {
|
|
|
4937
5051
|
};
|
|
4938
5052
|
|
|
4939
5053
|
// src/contracts/admin/app.ts
|
|
4940
|
-
var
|
|
5054
|
+
var import_zod_openapi57 = require("@hono/zod-openapi");
|
|
4941
5055
|
|
|
4942
5056
|
// src/schemas/admin/app.ts
|
|
4943
|
-
var
|
|
4944
|
-
var GetAppSettingsResponseSchema =
|
|
4945
|
-
app:
|
|
4946
|
-
title:
|
|
4947
|
-
confidential:
|
|
5057
|
+
var import_zod_openapi56 = require("@hono/zod-openapi");
|
|
5058
|
+
var GetAppSettingsResponseSchema = import_zod_openapi56.z.object({
|
|
5059
|
+
app: import_zod_openapi56.z.object({
|
|
5060
|
+
title: import_zod_openapi56.z.string(),
|
|
5061
|
+
confidential: import_zod_openapi56.z.string()
|
|
4948
5062
|
}),
|
|
4949
5063
|
/**
|
|
4950
5064
|
* Whether a storage driver is registered (i.e. uploads are wired up).
|
|
4951
5065
|
* Sourced from `Config.isUploadable()` which now consults PluginManager.
|
|
4952
5066
|
*/
|
|
4953
|
-
isUploadable:
|
|
5067
|
+
isUploadable: import_zod_openapi56.z.boolean(),
|
|
4954
5068
|
/**
|
|
4955
5069
|
* The Open / Restricted / Closed → open / restricted / closed mapping the
|
|
4956
5070
|
* legacy admin controller exposed. Useful for the UI to render the current
|
|
4957
5071
|
* registration mode label without knowing the internal capitalisation.
|
|
4958
5072
|
*/
|
|
4959
|
-
registrationMode:
|
|
5073
|
+
registrationMode: import_zod_openapi56.z.record(import_zod_openapi56.z.string(), import_zod_openapi56.z.string()),
|
|
4960
5074
|
/**
|
|
4961
5075
|
* Whether the admin has dismissed the initial-setup checklist on the
|
|
4962
5076
|
* dashboard. Persisted server-side (`app:setupChecklistDismissed`) so the
|
|
4963
5077
|
* dismissal holds across browsers and devices, not just one localStorage.
|
|
4964
5078
|
*/
|
|
4965
|
-
setupChecklistDismissed:
|
|
5079
|
+
setupChecklistDismissed: import_zod_openapi56.z.boolean()
|
|
4966
5080
|
});
|
|
4967
|
-
var UpdateAppSettingsRequestSchema =
|
|
4968
|
-
app:
|
|
4969
|
-
title:
|
|
4970
|
-
confidential:
|
|
5081
|
+
var UpdateAppSettingsRequestSchema = import_zod_openapi56.z.object({
|
|
5082
|
+
app: import_zod_openapi56.z.object({
|
|
5083
|
+
title: import_zod_openapi56.z.string().trim().min(1).max(100).optional(),
|
|
5084
|
+
confidential: import_zod_openapi56.z.string().max(500).optional()
|
|
4971
5085
|
}).optional(),
|
|
4972
5086
|
/**
|
|
4973
5087
|
* Toggle the dashboard initial-setup checklist's dismissed state. Sent on
|
|
4974
5088
|
* its own (without the `app` block) when the admin clicks "mark as done".
|
|
4975
5089
|
*/
|
|
4976
|
-
setupChecklistDismissed:
|
|
5090
|
+
setupChecklistDismissed: import_zod_openapi56.z.boolean().optional()
|
|
4977
5091
|
}).strict();
|
|
4978
|
-
var UpdateAppSettingsResponseSchema =
|
|
4979
|
-
ok:
|
|
4980
|
-
});
|
|
4981
|
-
var AppSettingsValidationErrorSchema =
|
|
4982
|
-
bodyResult:
|
|
4983
|
-
issues:
|
|
4984
|
-
|
|
4985
|
-
path:
|
|
4986
|
-
message:
|
|
5092
|
+
var UpdateAppSettingsResponseSchema = import_zod_openapi56.z.object({
|
|
5093
|
+
ok: import_zod_openapi56.z.literal(true)
|
|
5094
|
+
});
|
|
5095
|
+
var AppSettingsValidationErrorSchema = import_zod_openapi56.z.object({
|
|
5096
|
+
bodyResult: import_zod_openapi56.z.object({
|
|
5097
|
+
issues: import_zod_openapi56.z.array(
|
|
5098
|
+
import_zod_openapi56.z.object({
|
|
5099
|
+
path: import_zod_openapi56.z.array(import_zod_openapi56.z.union([import_zod_openapi56.z.string(), import_zod_openapi56.z.number()])),
|
|
5100
|
+
message: import_zod_openapi56.z.string()
|
|
4987
5101
|
})
|
|
4988
5102
|
),
|
|
4989
|
-
name:
|
|
5103
|
+
name: import_zod_openapi56.z.string().optional()
|
|
4990
5104
|
})
|
|
4991
5105
|
});
|
|
4992
5106
|
|
|
@@ -5007,7 +5121,7 @@ var appSettingsValidationHook = (result, c) => {
|
|
|
5007
5121
|
400
|
|
5008
5122
|
);
|
|
5009
5123
|
};
|
|
5010
|
-
var getAppSettingsRoute = (0,
|
|
5124
|
+
var getAppSettingsRoute = (0, import_zod_openapi57.createRoute)({
|
|
5011
5125
|
method: "get",
|
|
5012
5126
|
path: "/admin/app",
|
|
5013
5127
|
tags: ["admin.app"],
|
|
@@ -5028,7 +5142,7 @@ var getAppSettingsRoute = (0, import_zod_openapi56.createRoute)({
|
|
|
5028
5142
|
}
|
|
5029
5143
|
}
|
|
5030
5144
|
});
|
|
5031
|
-
var updateAppSettingsRoute = (0,
|
|
5145
|
+
var updateAppSettingsRoute = (0, import_zod_openapi57.createRoute)({
|
|
5032
5146
|
method: "put",
|
|
5033
5147
|
path: "/admin/app",
|
|
5034
5148
|
tags: ["admin.app"],
|
|
@@ -5065,26 +5179,26 @@ var adminAppRoutes = {
|
|
|
5065
5179
|
};
|
|
5066
5180
|
|
|
5067
5181
|
// src/contracts/admin/auth.ts
|
|
5068
|
-
var
|
|
5182
|
+
var import_zod_openapi59 = require("@hono/zod-openapi");
|
|
5069
5183
|
|
|
5070
5184
|
// src/schemas/admin/auth.ts
|
|
5071
|
-
var
|
|
5072
|
-
var AuthSettingsSchema =
|
|
5073
|
-
requireThirdPartyAuth:
|
|
5074
|
-
disablePasswordAuth:
|
|
5185
|
+
var import_zod_openapi58 = require("@hono/zod-openapi");
|
|
5186
|
+
var AuthSettingsSchema = import_zod_openapi58.z.object({
|
|
5187
|
+
requireThirdPartyAuth: import_zod_openapi58.z.boolean(),
|
|
5188
|
+
disablePasswordAuth: import_zod_openapi58.z.boolean()
|
|
5075
5189
|
});
|
|
5076
5190
|
var UpdateAuthSettingsRequestSchema = AuthSettingsSchema;
|
|
5077
5191
|
var GetAuthSettingsResponseSchema = AuthSettingsSchema;
|
|
5078
5192
|
var UpdateAuthSettingsResponseSchema = AuthSettingsSchema;
|
|
5079
|
-
var ThirdPartyAuthUnavailableErrorSchema =
|
|
5080
|
-
error:
|
|
5081
|
-
code:
|
|
5082
|
-
message:
|
|
5193
|
+
var ThirdPartyAuthUnavailableErrorSchema = import_zod_openapi58.z.object({
|
|
5194
|
+
error: import_zod_openapi58.z.object({
|
|
5195
|
+
code: import_zod_openapi58.z.literal("THIRD_PARTY_AUTH_UNAVAILABLE"),
|
|
5196
|
+
message: import_zod_openapi58.z.string()
|
|
5083
5197
|
})
|
|
5084
5198
|
});
|
|
5085
5199
|
|
|
5086
5200
|
// src/contracts/admin/auth.ts
|
|
5087
|
-
var getAuthSettingsRoute = (0,
|
|
5201
|
+
var getAuthSettingsRoute = (0, import_zod_openapi59.createRoute)({
|
|
5088
5202
|
method: "get",
|
|
5089
5203
|
path: "/admin/auth",
|
|
5090
5204
|
tags: ["admin.auth"],
|
|
@@ -5109,7 +5223,7 @@ var getAuthSettingsRoute = (0, import_zod_openapi58.createRoute)({
|
|
|
5109
5223
|
}
|
|
5110
5224
|
}
|
|
5111
5225
|
});
|
|
5112
|
-
var updateAuthSettingsRoute = (0,
|
|
5226
|
+
var updateAuthSettingsRoute = (0, import_zod_openapi59.createRoute)({
|
|
5113
5227
|
method: "put",
|
|
5114
5228
|
path: "/admin/auth",
|
|
5115
5229
|
tags: ["admin.auth"],
|
|
@@ -5149,44 +5263,44 @@ var adminAuthRoutes = {
|
|
|
5149
5263
|
};
|
|
5150
5264
|
|
|
5151
5265
|
// src/contracts/admin/mail.ts
|
|
5152
|
-
var
|
|
5266
|
+
var import_zod_openapi61 = require("@hono/zod-openapi");
|
|
5153
5267
|
|
|
5154
5268
|
// src/schemas/admin/mail.ts
|
|
5155
|
-
var
|
|
5156
|
-
var GetMailSettingsResponseSchema =
|
|
5157
|
-
from:
|
|
5158
|
-
activeDriver:
|
|
5269
|
+
var import_zod_openapi60 = require("@hono/zod-openapi");
|
|
5270
|
+
var GetMailSettingsResponseSchema = import_zod_openapi60.z.object({
|
|
5271
|
+
from: import_zod_openapi60.z.string(),
|
|
5272
|
+
activeDriver: import_zod_openapi60.z.string(),
|
|
5159
5273
|
/** npm name of the plugin that registered the active driver, for
|
|
5160
5274
|
* linking to its config page. Empty when no sender is active. */
|
|
5161
|
-
activePlugin:
|
|
5275
|
+
activePlugin: import_zod_openapi60.z.string()
|
|
5162
5276
|
});
|
|
5163
|
-
var UpdateMailSettingsRequestSchema =
|
|
5164
|
-
from:
|
|
5277
|
+
var UpdateMailSettingsRequestSchema = import_zod_openapi60.z.object({
|
|
5278
|
+
from: import_zod_openapi60.z.string().trim().max(254).optional()
|
|
5165
5279
|
});
|
|
5166
|
-
var UpdateMailSettingsResponseSchema =
|
|
5167
|
-
ok:
|
|
5280
|
+
var UpdateMailSettingsResponseSchema = import_zod_openapi60.z.object({
|
|
5281
|
+
ok: import_zod_openapi60.z.literal(true)
|
|
5168
5282
|
});
|
|
5169
|
-
var SendTestMailRequestSchema =
|
|
5170
|
-
var SendTestMailResponseSchema =
|
|
5171
|
-
ok:
|
|
5283
|
+
var SendTestMailRequestSchema = import_zod_openapi60.z.object({}).optional();
|
|
5284
|
+
var SendTestMailResponseSchema = import_zod_openapi60.z.object({
|
|
5285
|
+
ok: import_zod_openapi60.z.literal(true),
|
|
5172
5286
|
/** Address the test mail was dispatched to (= the calling admin's email). */
|
|
5173
|
-
to:
|
|
5287
|
+
to: import_zod_openapi60.z.string()
|
|
5174
5288
|
});
|
|
5175
|
-
var SendTestMailErrorSchema =
|
|
5176
|
-
error:
|
|
5177
|
-
code:
|
|
5178
|
-
message:
|
|
5289
|
+
var SendTestMailErrorSchema = import_zod_openapi60.z.object({
|
|
5290
|
+
error: import_zod_openapi60.z.object({
|
|
5291
|
+
code: import_zod_openapi60.z.literal("MAIL_TEST_FAILED"),
|
|
5292
|
+
message: import_zod_openapi60.z.string()
|
|
5179
5293
|
})
|
|
5180
5294
|
});
|
|
5181
|
-
var MailSettingsValidationErrorSchema =
|
|
5182
|
-
bodyResult:
|
|
5183
|
-
issues:
|
|
5184
|
-
|
|
5185
|
-
path:
|
|
5186
|
-
message:
|
|
5295
|
+
var MailSettingsValidationErrorSchema = import_zod_openapi60.z.object({
|
|
5296
|
+
bodyResult: import_zod_openapi60.z.object({
|
|
5297
|
+
issues: import_zod_openapi60.z.array(
|
|
5298
|
+
import_zod_openapi60.z.object({
|
|
5299
|
+
path: import_zod_openapi60.z.array(import_zod_openapi60.z.union([import_zod_openapi60.z.string(), import_zod_openapi60.z.number()])),
|
|
5300
|
+
message: import_zod_openapi60.z.string()
|
|
5187
5301
|
})
|
|
5188
5302
|
),
|
|
5189
|
-
name:
|
|
5303
|
+
name: import_zod_openapi60.z.string().optional()
|
|
5190
5304
|
})
|
|
5191
5305
|
});
|
|
5192
5306
|
|
|
@@ -5207,7 +5321,7 @@ var mailSettingsValidationHook = (result, c) => {
|
|
|
5207
5321
|
400
|
|
5208
5322
|
);
|
|
5209
5323
|
};
|
|
5210
|
-
var getMailSettingsRoute = (0,
|
|
5324
|
+
var getMailSettingsRoute = (0, import_zod_openapi61.createRoute)({
|
|
5211
5325
|
method: "get",
|
|
5212
5326
|
path: "/admin/mail",
|
|
5213
5327
|
tags: ["admin.mail"],
|
|
@@ -5228,7 +5342,7 @@ var getMailSettingsRoute = (0, import_zod_openapi60.createRoute)({
|
|
|
5228
5342
|
}
|
|
5229
5343
|
}
|
|
5230
5344
|
});
|
|
5231
|
-
var updateMailSettingsRoute = (0,
|
|
5345
|
+
var updateMailSettingsRoute = (0, import_zod_openapi61.createRoute)({
|
|
5232
5346
|
method: "put",
|
|
5233
5347
|
path: "/admin/mail",
|
|
5234
5348
|
tags: ["admin.mail"],
|
|
@@ -5259,7 +5373,7 @@ var updateMailSettingsRoute = (0, import_zod_openapi60.createRoute)({
|
|
|
5259
5373
|
}
|
|
5260
5374
|
}
|
|
5261
5375
|
});
|
|
5262
|
-
var sendTestMailRoute = (0,
|
|
5376
|
+
var sendTestMailRoute = (0, import_zod_openapi61.createRoute)({
|
|
5263
5377
|
method: "post",
|
|
5264
5378
|
path: "/admin/mail/test",
|
|
5265
5379
|
tags: ["admin.mail"],
|
|
@@ -5301,30 +5415,30 @@ var adminMailRoutes = {
|
|
|
5301
5415
|
};
|
|
5302
5416
|
|
|
5303
5417
|
// src/contracts/admin/plugins.ts
|
|
5304
|
-
var
|
|
5418
|
+
var import_zod_openapi63 = require("@hono/zod-openapi");
|
|
5305
5419
|
|
|
5306
5420
|
// src/schemas/admin/plugins.ts
|
|
5307
|
-
var
|
|
5308
|
-
var PluginFieldSchema =
|
|
5309
|
-
name:
|
|
5421
|
+
var import_zod_openapi62 = require("@hono/zod-openapi");
|
|
5422
|
+
var PluginFieldSchema = import_zod_openapi62.z.object({
|
|
5423
|
+
name: import_zod_openapi62.z.string(),
|
|
5310
5424
|
/**
|
|
5311
5425
|
* Localized display label. Falls back to `name` in the form when absent.
|
|
5312
5426
|
* Filled from the plugin's `configI18n[locale]` overlay by the admin API.
|
|
5313
5427
|
*/
|
|
5314
|
-
label:
|
|
5315
|
-
kind:
|
|
5316
|
-
description:
|
|
5317
|
-
defaultValue:
|
|
5318
|
-
options:
|
|
5319
|
-
action:
|
|
5320
|
-
label:
|
|
5321
|
-
method:
|
|
5322
|
-
path:
|
|
5428
|
+
label: import_zod_openapi62.z.string().optional(),
|
|
5429
|
+
kind: import_zod_openapi62.z.enum(["string", "secret", "number", "boolean", "enum", "string-array"]),
|
|
5430
|
+
description: import_zod_openapi62.z.string().optional(),
|
|
5431
|
+
defaultValue: import_zod_openapi62.z.unknown().optional(),
|
|
5432
|
+
options: import_zod_openapi62.z.array(import_zod_openapi62.z.string()).optional(),
|
|
5433
|
+
action: import_zod_openapi62.z.object({
|
|
5434
|
+
label: import_zod_openapi62.z.string(),
|
|
5435
|
+
method: import_zod_openapi62.z.string(),
|
|
5436
|
+
path: import_zod_openapi62.z.string()
|
|
5323
5437
|
}).optional(),
|
|
5324
|
-
optional:
|
|
5438
|
+
optional: import_zod_openapi62.z.boolean()
|
|
5325
5439
|
});
|
|
5326
|
-
var AdminSidebarSection =
|
|
5327
|
-
var PluginAdminPlacementSchema =
|
|
5440
|
+
var AdminSidebarSection = import_zod_openapi62.z.enum(["settings", "shared", "storage", "mail", "notification", "auth", "search", "renderer", "platform"]);
|
|
5441
|
+
var PluginAdminPlacementSchema = import_zod_openapi62.z.object({
|
|
5328
5442
|
/**
|
|
5329
5443
|
* Sidebar section to surface this plugin under. The runtime fills
|
|
5330
5444
|
* this in — it's either declared by the plugin via `adminPlacement`
|
|
@@ -5333,21 +5447,28 @@ var PluginAdminPlacementSchema = import_zod_openapi61.z.object({
|
|
|
5333
5447
|
*/
|
|
5334
5448
|
section: AdminSidebarSection,
|
|
5335
5449
|
/** Display label (defaults to the plugin's npm name). */
|
|
5336
|
-
label:
|
|
5450
|
+
label: import_zod_openapi62.z.string(),
|
|
5337
5451
|
/** Lucide icon name from a fixed allow-list. */
|
|
5338
|
-
icon:
|
|
5452
|
+
icon: import_zod_openapi62.z.string().optional()
|
|
5339
5453
|
});
|
|
5340
|
-
var PluginInfoSchema =
|
|
5341
|
-
name:
|
|
5342
|
-
version:
|
|
5343
|
-
requires:
|
|
5454
|
+
var PluginInfoSchema = import_zod_openapi62.z.object({
|
|
5455
|
+
name: import_zod_openapi62.z.string(),
|
|
5456
|
+
version: import_zod_openapi62.z.string(),
|
|
5457
|
+
requires: import_zod_openapi62.z.array(import_zod_openapi62.z.string()).optional(),
|
|
5458
|
+
/**
|
|
5459
|
+
* Core Mongoose model names this plugin declared in its
|
|
5460
|
+
* `CrowiPlugin.modelAccess` allow-list — the only models it may
|
|
5461
|
+
* reach via `ctx.model(name)`. Surfaced so an admin can audit which
|
|
5462
|
+
* plugins touch which core collections.
|
|
5463
|
+
*/
|
|
5464
|
+
modelAccess: import_zod_openapi62.z.array(import_zod_openapi62.z.string()).optional(),
|
|
5344
5465
|
/** Has a configSchema (= showable config form). */
|
|
5345
|
-
hasConfig:
|
|
5466
|
+
hasConfig: import_zod_openapi62.z.boolean(),
|
|
5346
5467
|
/**
|
|
5347
5468
|
* Driver-registry slots this plugin currently fills. Useful for the
|
|
5348
5469
|
* admin "this plugin is the active storage driver" badge.
|
|
5349
5470
|
*/
|
|
5350
|
-
registers:
|
|
5471
|
+
registers: import_zod_openapi62.z.array(import_zod_openapi62.z.string()),
|
|
5351
5472
|
/**
|
|
5352
5473
|
* Where the plugin appears in the admin sidebar. The server always
|
|
5353
5474
|
* populates this even when the plugin didn't declare its own
|
|
@@ -5360,21 +5481,32 @@ var PluginInfoSchema = import_zod_openapi61.z.object({
|
|
|
5360
5481
|
* still apply their config on the next server restart; plugins with
|
|
5361
5482
|
* it apply config changes live.
|
|
5362
5483
|
*/
|
|
5363
|
-
supportsHotReload:
|
|
5484
|
+
supportsHotReload: import_zod_openapi62.z.boolean(),
|
|
5485
|
+
/**
|
|
5486
|
+
* `'failed'` means the plugin's `activate()` call threw during boot
|
|
5487
|
+
* (see `PluginManager.getFailedPlugins()`) — it is not in the loaded
|
|
5488
|
+
* set, has no live driver registration, and its config form is not
|
|
5489
|
+
* reachable. `'active'` (the default) is every plugin that activated
|
|
5490
|
+
* successfully. Defaults to `'active'` for wire back-compat with
|
|
5491
|
+
* responses that predate this field.
|
|
5492
|
+
*/
|
|
5493
|
+
status: import_zod_openapi62.z.enum(["active", "failed"]).default("active"),
|
|
5494
|
+
/** Present only when `status: 'failed'` — the activation error message. */
|
|
5495
|
+
error: import_zod_openapi62.z.string().optional()
|
|
5364
5496
|
});
|
|
5365
|
-
var ListPluginsResponseSchema =
|
|
5366
|
-
plugins:
|
|
5497
|
+
var ListPluginsResponseSchema = import_zod_openapi62.z.object({
|
|
5498
|
+
plugins: import_zod_openapi62.z.array(PluginInfoSchema)
|
|
5367
5499
|
});
|
|
5368
|
-
var PluginConfigResponseSchema =
|
|
5369
|
-
name:
|
|
5370
|
-
fields:
|
|
5371
|
-
values:
|
|
5500
|
+
var PluginConfigResponseSchema = import_zod_openapi62.z.object({
|
|
5501
|
+
name: import_zod_openapi62.z.string(),
|
|
5502
|
+
fields: import_zod_openapi62.z.array(PluginFieldSchema),
|
|
5503
|
+
values: import_zod_openapi62.z.record(import_zod_openapi62.z.string(), import_zod_openapi62.z.unknown())
|
|
5372
5504
|
});
|
|
5373
|
-
var UpdatePluginConfigRequestSchema =
|
|
5374
|
-
values:
|
|
5505
|
+
var UpdatePluginConfigRequestSchema = import_zod_openapi62.z.object({
|
|
5506
|
+
values: import_zod_openapi62.z.record(import_zod_openapi62.z.string(), import_zod_openapi62.z.unknown())
|
|
5375
5507
|
});
|
|
5376
|
-
var UpdatePluginConfigResponseSchema =
|
|
5377
|
-
ok:
|
|
5508
|
+
var UpdatePluginConfigResponseSchema = import_zod_openapi62.z.object({
|
|
5509
|
+
ok: import_zod_openapi62.z.literal(true),
|
|
5378
5510
|
/**
|
|
5379
5511
|
* Whether at least one plugin's `reconfigure` hook ran successfully
|
|
5380
5512
|
* for this save. `true` means the new values are already live on
|
|
@@ -5384,44 +5516,44 @@ var UpdatePluginConfigResponseSchema = import_zod_openapi61.z.object({
|
|
|
5384
5516
|
* "saved, but apply failed" warning in that case via the response
|
|
5385
5517
|
* `reconfigureFailed` flag.
|
|
5386
5518
|
*/
|
|
5387
|
-
hotReloaded:
|
|
5519
|
+
hotReloaded: import_zod_openapi62.z.boolean(),
|
|
5388
5520
|
/**
|
|
5389
5521
|
* True when at least one plugin's `reconfigure` was attempted and
|
|
5390
5522
|
* threw. The save itself succeeded (Mongo + cache are updated) so
|
|
5391
5523
|
* the next process boot will see the new values, but the *running*
|
|
5392
5524
|
* process couldn't apply them. UI surfaces a warning toast.
|
|
5393
5525
|
*/
|
|
5394
|
-
reconfigureFailed:
|
|
5526
|
+
reconfigureFailed: import_zod_openapi62.z.boolean()
|
|
5395
5527
|
});
|
|
5396
|
-
var PluginNotFoundErrorSchema =
|
|
5397
|
-
error:
|
|
5398
|
-
code:
|
|
5399
|
-
message:
|
|
5528
|
+
var PluginNotFoundErrorSchema = import_zod_openapi62.z.object({
|
|
5529
|
+
error: import_zod_openapi62.z.object({
|
|
5530
|
+
code: import_zod_openapi62.z.literal("PLUGIN_NOT_FOUND"),
|
|
5531
|
+
message: import_zod_openapi62.z.string()
|
|
5400
5532
|
})
|
|
5401
5533
|
});
|
|
5402
|
-
var PluginConfigValidationErrorSchema =
|
|
5403
|
-
error:
|
|
5404
|
-
code:
|
|
5405
|
-
message:
|
|
5406
|
-
issues:
|
|
5407
|
-
|
|
5408
|
-
path:
|
|
5409
|
-
message:
|
|
5534
|
+
var PluginConfigValidationErrorSchema = import_zod_openapi62.z.object({
|
|
5535
|
+
error: import_zod_openapi62.z.object({
|
|
5536
|
+
code: import_zod_openapi62.z.literal("PLUGIN_CONFIG_VALIDATION_FAILED"),
|
|
5537
|
+
message: import_zod_openapi62.z.string(),
|
|
5538
|
+
issues: import_zod_openapi62.z.array(
|
|
5539
|
+
import_zod_openapi62.z.object({
|
|
5540
|
+
path: import_zod_openapi62.z.array(import_zod_openapi62.z.union([import_zod_openapi62.z.string(), import_zod_openapi62.z.number()])),
|
|
5541
|
+
message: import_zod_openapi62.z.string()
|
|
5410
5542
|
})
|
|
5411
5543
|
)
|
|
5412
5544
|
})
|
|
5413
5545
|
});
|
|
5414
|
-
var ClearRenderCacheResponseSchema =
|
|
5415
|
-
ok:
|
|
5416
|
-
clearedAt:
|
|
5546
|
+
var ClearRenderCacheResponseSchema = import_zod_openapi62.z.object({
|
|
5547
|
+
ok: import_zod_openapi62.z.literal(true),
|
|
5548
|
+
clearedAt: import_zod_openapi62.z.string(),
|
|
5417
5549
|
/** Number of cache rows removed. */
|
|
5418
|
-
removedCount:
|
|
5550
|
+
removedCount: import_zod_openapi62.z.number().int().min(0)
|
|
5419
5551
|
});
|
|
5420
5552
|
|
|
5421
5553
|
// src/contracts/admin/plugins.ts
|
|
5422
|
-
var PluginNameQuerySchema =
|
|
5423
|
-
var PluginConfigQuerySchema =
|
|
5424
|
-
var listPluginsRoute = (0,
|
|
5554
|
+
var PluginNameQuerySchema = import_zod_openapi63.z.object({ name: import_zod_openapi63.z.string() });
|
|
5555
|
+
var PluginConfigQuerySchema = import_zod_openapi63.z.object({ name: import_zod_openapi63.z.string(), locale: import_zod_openapi63.z.string().optional() });
|
|
5556
|
+
var listPluginsRoute = (0, import_zod_openapi63.createRoute)({
|
|
5425
5557
|
method: "get",
|
|
5426
5558
|
path: "/admin/plugins",
|
|
5427
5559
|
tags: ["admin.plugins"],
|
|
@@ -5446,7 +5578,7 @@ var listPluginsRoute = (0, import_zod_openapi62.createRoute)({
|
|
|
5446
5578
|
}
|
|
5447
5579
|
}
|
|
5448
5580
|
});
|
|
5449
|
-
var getPluginConfigRoute = (0,
|
|
5581
|
+
var getPluginConfigRoute = (0, import_zod_openapi63.createRoute)({
|
|
5450
5582
|
method: "get",
|
|
5451
5583
|
path: "/admin/plugins/config",
|
|
5452
5584
|
tags: ["admin.plugins"],
|
|
@@ -5478,7 +5610,7 @@ var getPluginConfigRoute = (0, import_zod_openapi62.createRoute)({
|
|
|
5478
5610
|
}
|
|
5479
5611
|
}
|
|
5480
5612
|
});
|
|
5481
|
-
var updatePluginConfigRoute = (0,
|
|
5613
|
+
var updatePluginConfigRoute = (0, import_zod_openapi63.createRoute)({
|
|
5482
5614
|
method: "put",
|
|
5483
5615
|
path: "/admin/plugins/config",
|
|
5484
5616
|
tags: ["admin.plugins"],
|
|
@@ -5517,8 +5649,8 @@ var updatePluginConfigRoute = (0, import_zod_openapi62.createRoute)({
|
|
|
5517
5649
|
}
|
|
5518
5650
|
}
|
|
5519
5651
|
});
|
|
5520
|
-
var ClearRenderCacheBodySchema =
|
|
5521
|
-
var clearRenderCacheAllRoute = (0,
|
|
5652
|
+
var ClearRenderCacheBodySchema = import_zod_openapi63.z.object({}).optional();
|
|
5653
|
+
var clearRenderCacheAllRoute = (0, import_zod_openapi63.createRoute)({
|
|
5522
5654
|
method: "post",
|
|
5523
5655
|
path: "/admin/plugins/render-cache/clear-all",
|
|
5524
5656
|
tags: ["admin.plugins"],
|
|
@@ -5548,7 +5680,7 @@ var clearRenderCacheAllRoute = (0, import_zod_openapi62.createRoute)({
|
|
|
5548
5680
|
}
|
|
5549
5681
|
}
|
|
5550
5682
|
});
|
|
5551
|
-
var clearRenderCachePluginRoute = (0,
|
|
5683
|
+
var clearRenderCachePluginRoute = (0, import_zod_openapi63.createRoute)({
|
|
5552
5684
|
method: "post",
|
|
5553
5685
|
path: "/admin/plugins/render-cache/clear-plugin",
|
|
5554
5686
|
tags: ["admin.plugins"],
|
|
@@ -5592,28 +5724,28 @@ var adminPluginsRoutes = {
|
|
|
5592
5724
|
};
|
|
5593
5725
|
|
|
5594
5726
|
// src/contracts/admin/search.ts
|
|
5595
|
-
var
|
|
5727
|
+
var import_zod_openapi65 = require("@hono/zod-openapi");
|
|
5596
5728
|
|
|
5597
5729
|
// src/schemas/admin/search.ts
|
|
5598
|
-
var
|
|
5599
|
-
var SearchDriverEntrySchema =
|
|
5600
|
-
driverName:
|
|
5601
|
-
pluginName:
|
|
5602
|
-
isActive:
|
|
5603
|
-
supportsRebuild:
|
|
5604
|
-
});
|
|
5605
|
-
var ActiveSearchDriverSchema =
|
|
5606
|
-
driverName:
|
|
5607
|
-
pluginName:
|
|
5608
|
-
supportsRebuild:
|
|
5609
|
-
});
|
|
5610
|
-
var GetSearchStatusResponseSchema =
|
|
5730
|
+
var import_zod_openapi64 = require("@hono/zod-openapi");
|
|
5731
|
+
var SearchDriverEntrySchema = import_zod_openapi64.z.object({
|
|
5732
|
+
driverName: import_zod_openapi64.z.string(),
|
|
5733
|
+
pluginName: import_zod_openapi64.z.string(),
|
|
5734
|
+
isActive: import_zod_openapi64.z.boolean(),
|
|
5735
|
+
supportsRebuild: import_zod_openapi64.z.boolean()
|
|
5736
|
+
});
|
|
5737
|
+
var ActiveSearchDriverSchema = import_zod_openapi64.z.object({
|
|
5738
|
+
driverName: import_zod_openapi64.z.string(),
|
|
5739
|
+
pluginName: import_zod_openapi64.z.string(),
|
|
5740
|
+
supportsRebuild: import_zod_openapi64.z.boolean()
|
|
5741
|
+
});
|
|
5742
|
+
var GetSearchStatusResponseSchema = import_zod_openapi64.z.object({
|
|
5611
5743
|
active: ActiveSearchDriverSchema.nullable(),
|
|
5612
|
-
drivers:
|
|
5744
|
+
drivers: import_zod_openapi64.z.array(SearchDriverEntrySchema)
|
|
5613
5745
|
});
|
|
5614
5746
|
|
|
5615
5747
|
// src/contracts/admin/search.ts
|
|
5616
|
-
var getSearchStatusRoute = (0,
|
|
5748
|
+
var getSearchStatusRoute = (0, import_zod_openapi65.createRoute)({
|
|
5617
5749
|
method: "get",
|
|
5618
5750
|
path: "/admin/search",
|
|
5619
5751
|
tags: ["admin.search"],
|
|
@@ -5643,21 +5775,21 @@ var adminSearchRoutes = {
|
|
|
5643
5775
|
};
|
|
5644
5776
|
|
|
5645
5777
|
// src/contracts/admin/security.ts
|
|
5646
|
-
var
|
|
5778
|
+
var import_zod_openapi67 = require("@hono/zod-openapi");
|
|
5647
5779
|
|
|
5648
5780
|
// src/schemas/admin/security.ts
|
|
5649
|
-
var
|
|
5650
|
-
var RegistrationModeSchema =
|
|
5651
|
-
var SecuritySettingsSchema =
|
|
5781
|
+
var import_zod_openapi66 = require("@hono/zod-openapi");
|
|
5782
|
+
var RegistrationModeSchema = import_zod_openapi66.z.enum(["Open", "Resricted", "Closed"]);
|
|
5783
|
+
var SecuritySettingsSchema = import_zod_openapi66.z.object({
|
|
5652
5784
|
registrationMode: RegistrationModeSchema,
|
|
5653
|
-
registrationWhiteList:
|
|
5785
|
+
registrationWhiteList: import_zod_openapi66.z.array(import_zod_openapi66.z.string())
|
|
5654
5786
|
});
|
|
5655
5787
|
var UpdateSecuritySettingsRequestSchema = SecuritySettingsSchema;
|
|
5656
5788
|
var GetSecuritySettingsResponseSchema = SecuritySettingsSchema;
|
|
5657
5789
|
var UpdateSecuritySettingsResponseSchema = SecuritySettingsSchema;
|
|
5658
5790
|
|
|
5659
5791
|
// src/contracts/admin/security.ts
|
|
5660
|
-
var getSecuritySettingsRoute = (0,
|
|
5792
|
+
var getSecuritySettingsRoute = (0, import_zod_openapi67.createRoute)({
|
|
5661
5793
|
method: "get",
|
|
5662
5794
|
path: "/admin/security",
|
|
5663
5795
|
tags: ["admin.security"],
|
|
@@ -5682,7 +5814,7 @@ var getSecuritySettingsRoute = (0, import_zod_openapi66.createRoute)({
|
|
|
5682
5814
|
}
|
|
5683
5815
|
}
|
|
5684
5816
|
});
|
|
5685
|
-
var updateSecuritySettingsRoute = (0,
|
|
5817
|
+
var updateSecuritySettingsRoute = (0, import_zod_openapi67.createRoute)({
|
|
5686
5818
|
method: "put",
|
|
5687
5819
|
path: "/admin/security",
|
|
5688
5820
|
tags: ["admin.security"],
|
|
@@ -5718,26 +5850,26 @@ var adminSecurityRoutes = {
|
|
|
5718
5850
|
};
|
|
5719
5851
|
|
|
5720
5852
|
// src/contracts/admin/storage.ts
|
|
5721
|
-
var
|
|
5853
|
+
var import_zod_openapi69 = require("@hono/zod-openapi");
|
|
5722
5854
|
|
|
5723
5855
|
// src/schemas/admin/storage.ts
|
|
5724
|
-
var
|
|
5725
|
-
var StorageDriverEntrySchema =
|
|
5726
|
-
driverName:
|
|
5727
|
-
pluginName:
|
|
5728
|
-
isActive:
|
|
5856
|
+
var import_zod_openapi68 = require("@hono/zod-openapi");
|
|
5857
|
+
var StorageDriverEntrySchema = import_zod_openapi68.z.object({
|
|
5858
|
+
driverName: import_zod_openapi68.z.string(),
|
|
5859
|
+
pluginName: import_zod_openapi68.z.string(),
|
|
5860
|
+
isActive: import_zod_openapi68.z.boolean()
|
|
5729
5861
|
});
|
|
5730
|
-
var ActiveStorageDriverSchema =
|
|
5731
|
-
driverName:
|
|
5732
|
-
pluginName:
|
|
5862
|
+
var ActiveStorageDriverSchema = import_zod_openapi68.z.object({
|
|
5863
|
+
driverName: import_zod_openapi68.z.string(),
|
|
5864
|
+
pluginName: import_zod_openapi68.z.string()
|
|
5733
5865
|
});
|
|
5734
|
-
var GetStorageStatusResponseSchema =
|
|
5866
|
+
var GetStorageStatusResponseSchema = import_zod_openapi68.z.object({
|
|
5735
5867
|
active: ActiveStorageDriverSchema.nullable(),
|
|
5736
|
-
drivers:
|
|
5868
|
+
drivers: import_zod_openapi68.z.array(StorageDriverEntrySchema)
|
|
5737
5869
|
});
|
|
5738
5870
|
|
|
5739
5871
|
// src/contracts/admin/storage.ts
|
|
5740
|
-
var getStorageStatusRoute = (0,
|
|
5872
|
+
var getStorageStatusRoute = (0, import_zod_openapi69.createRoute)({
|
|
5741
5873
|
method: "get",
|
|
5742
5874
|
path: "/admin/storage",
|
|
5743
5875
|
tags: ["admin.storage"],
|
|
@@ -5767,94 +5899,94 @@ var adminStorageRoutes = {
|
|
|
5767
5899
|
};
|
|
5768
5900
|
|
|
5769
5901
|
// src/contracts/admin/users.ts
|
|
5770
|
-
var
|
|
5902
|
+
var import_zod_openapi72 = require("@hono/zod-openapi");
|
|
5771
5903
|
|
|
5772
5904
|
// src/schemas/admin/users.ts
|
|
5773
|
-
var
|
|
5905
|
+
var import_zod_openapi71 = require("@hono/zod-openapi");
|
|
5774
5906
|
|
|
5775
5907
|
// src/schemas/admin/_pager.ts
|
|
5776
|
-
var
|
|
5777
|
-
var AdminPagerSchema =
|
|
5778
|
-
page:
|
|
5779
|
-
pagesCount:
|
|
5780
|
-
pages:
|
|
5781
|
-
total:
|
|
5782
|
-
previous:
|
|
5783
|
-
previousDots:
|
|
5784
|
-
next:
|
|
5785
|
-
nextDots:
|
|
5908
|
+
var import_zod_openapi70 = require("@hono/zod-openapi");
|
|
5909
|
+
var AdminPagerSchema = import_zod_openapi70.z.object({
|
|
5910
|
+
page: import_zod_openapi70.z.number(),
|
|
5911
|
+
pagesCount: import_zod_openapi70.z.number(),
|
|
5912
|
+
pages: import_zod_openapi70.z.array(import_zod_openapi70.z.number()),
|
|
5913
|
+
total: import_zod_openapi70.z.number(),
|
|
5914
|
+
previous: import_zod_openapi70.z.number().nullable(),
|
|
5915
|
+
previousDots: import_zod_openapi70.z.boolean(),
|
|
5916
|
+
next: import_zod_openapi70.z.number().nullable(),
|
|
5917
|
+
nextDots: import_zod_openapi70.z.boolean()
|
|
5786
5918
|
});
|
|
5787
5919
|
|
|
5788
5920
|
// src/schemas/admin/users.ts
|
|
5789
|
-
var ListAdminUsersRequestSchema =
|
|
5790
|
-
q:
|
|
5921
|
+
var ListAdminUsersRequestSchema = import_zod_openapi71.z.object({
|
|
5922
|
+
q: import_zod_openapi71.z.string().optional(),
|
|
5791
5923
|
/**
|
|
5792
5924
|
* Optional numeric user-status filter (see `UserStatusEnum`). When set, only
|
|
5793
5925
|
* users in that status are returned — used by the "user approval" queue
|
|
5794
5926
|
* screen to list `REGISTERED` (= awaiting admin approval) users.
|
|
5795
5927
|
*/
|
|
5796
|
-
status:
|
|
5797
|
-
page:
|
|
5798
|
-
limit:
|
|
5928
|
+
status: import_zod_openapi71.z.coerce.number().int().optional(),
|
|
5929
|
+
page: import_zod_openapi71.z.coerce.number().int().min(1).optional().default(1),
|
|
5930
|
+
limit: import_zod_openapi71.z.coerce.number().int().min(1).max(100).optional().default(50)
|
|
5799
5931
|
});
|
|
5800
|
-
var ListAdminUsersResponseSchema =
|
|
5801
|
-
users:
|
|
5932
|
+
var ListAdminUsersResponseSchema = import_zod_openapi71.z.object({
|
|
5933
|
+
users: import_zod_openapi71.z.array(UserPublicSchema),
|
|
5802
5934
|
pager: AdminPagerSchema
|
|
5803
5935
|
});
|
|
5804
|
-
var SearchAdminUsersByEmailRequestSchema =
|
|
5805
|
-
email:
|
|
5936
|
+
var SearchAdminUsersByEmailRequestSchema = import_zod_openapi71.z.object({
|
|
5937
|
+
email: import_zod_openapi71.z.string().min(1)
|
|
5806
5938
|
});
|
|
5807
|
-
var SearchAdminUsersByEmailResponseSchema =
|
|
5808
|
-
users:
|
|
5939
|
+
var SearchAdminUsersByEmailResponseSchema = import_zod_openapi71.z.object({
|
|
5940
|
+
users: import_zod_openapi71.z.array(UserPublicSchema)
|
|
5809
5941
|
});
|
|
5810
|
-
var AdminUserIdParamSchema =
|
|
5811
|
-
id:
|
|
5942
|
+
var AdminUserIdParamSchema = import_zod_openapi71.z.object({
|
|
5943
|
+
id: import_zod_openapi71.z.string()
|
|
5812
5944
|
});
|
|
5813
|
-
var InviteUsersRequestSchema =
|
|
5814
|
-
emailList:
|
|
5815
|
-
sendEmail:
|
|
5945
|
+
var InviteUsersRequestSchema = import_zod_openapi71.z.object({
|
|
5946
|
+
emailList: import_zod_openapi71.z.array(import_zod_openapi71.z.string().email()).min(1),
|
|
5947
|
+
sendEmail: import_zod_openapi71.z.boolean().optional().default(false)
|
|
5816
5948
|
});
|
|
5817
|
-
var InvitedUserResultSchema =
|
|
5818
|
-
|
|
5819
|
-
email:
|
|
5820
|
-
status:
|
|
5821
|
-
userId:
|
|
5949
|
+
var InvitedUserResultSchema = import_zod_openapi71.z.discriminatedUnion("status", [
|
|
5950
|
+
import_zod_openapi71.z.object({
|
|
5951
|
+
email: import_zod_openapi71.z.string(),
|
|
5952
|
+
status: import_zod_openapi71.z.literal("created"),
|
|
5953
|
+
userId: import_zod_openapi71.z.string()
|
|
5822
5954
|
}),
|
|
5823
|
-
|
|
5824
|
-
email:
|
|
5825
|
-
status:
|
|
5955
|
+
import_zod_openapi71.z.object({
|
|
5956
|
+
email: import_zod_openapi71.z.string(),
|
|
5957
|
+
status: import_zod_openapi71.z.literal("exists")
|
|
5826
5958
|
}),
|
|
5827
|
-
|
|
5828
|
-
email:
|
|
5829
|
-
status:
|
|
5959
|
+
import_zod_openapi71.z.object({
|
|
5960
|
+
email: import_zod_openapi71.z.string(),
|
|
5961
|
+
status: import_zod_openapi71.z.literal("failed")
|
|
5830
5962
|
})
|
|
5831
5963
|
]);
|
|
5832
|
-
var InviteUsersResponseSchema =
|
|
5833
|
-
results:
|
|
5964
|
+
var InviteUsersResponseSchema = import_zod_openapi71.z.object({
|
|
5965
|
+
results: import_zod_openapi71.z.array(InvitedUserResultSchema)
|
|
5834
5966
|
});
|
|
5835
|
-
var EditAdminUserRequestSchema =
|
|
5836
|
-
name:
|
|
5837
|
-
email:
|
|
5967
|
+
var EditAdminUserRequestSchema = import_zod_openapi71.z.object({
|
|
5968
|
+
name: import_zod_openapi71.z.string().min(1),
|
|
5969
|
+
email: import_zod_openapi71.z.string().email()
|
|
5838
5970
|
});
|
|
5839
|
-
var AdminUserMutationResponseSchema =
|
|
5971
|
+
var AdminUserMutationResponseSchema = import_zod_openapi71.z.object({
|
|
5840
5972
|
user: UserPublicSchema
|
|
5841
5973
|
});
|
|
5842
|
-
var ResetPasswordResponseSchema =
|
|
5974
|
+
var ResetPasswordResponseSchema = import_zod_openapi71.z.object({
|
|
5843
5975
|
user: UserPublicSchema,
|
|
5844
|
-
newPassword:
|
|
5976
|
+
newPassword: import_zod_openapi71.z.string()
|
|
5845
5977
|
});
|
|
5846
|
-
var UpdateAdminUserEmailRequestSchema =
|
|
5847
|
-
email:
|
|
5978
|
+
var UpdateAdminUserEmailRequestSchema = import_zod_openapi71.z.object({
|
|
5979
|
+
email: import_zod_openapi71.z.string().email()
|
|
5848
5980
|
});
|
|
5849
|
-
var DeleteAdminUserResponseSchema =
|
|
5850
|
-
deletedId:
|
|
5981
|
+
var DeleteAdminUserResponseSchema = import_zod_openapi71.z.object({
|
|
5982
|
+
deletedId: import_zod_openapi71.z.string()
|
|
5851
5983
|
});
|
|
5852
|
-
var PendingUsersCountResponseSchema =
|
|
5853
|
-
count:
|
|
5984
|
+
var PendingUsersCountResponseSchema = import_zod_openapi71.z.object({
|
|
5985
|
+
count: import_zod_openapi71.z.number().int().nonnegative()
|
|
5854
5986
|
});
|
|
5855
5987
|
|
|
5856
5988
|
// src/contracts/admin/users.ts
|
|
5857
|
-
var listUsersRoute = (0,
|
|
5989
|
+
var listUsersRoute = (0, import_zod_openapi72.createRoute)({
|
|
5858
5990
|
method: "get",
|
|
5859
5991
|
path: "/admin/users",
|
|
5860
5992
|
tags: ["admin.users"],
|
|
@@ -5882,7 +6014,7 @@ var listUsersRoute = (0, import_zod_openapi71.createRoute)({
|
|
|
5882
6014
|
}
|
|
5883
6015
|
}
|
|
5884
6016
|
});
|
|
5885
|
-
var searchUsersByEmailRoute = (0,
|
|
6017
|
+
var searchUsersByEmailRoute = (0, import_zod_openapi72.createRoute)({
|
|
5886
6018
|
method: "get",
|
|
5887
6019
|
path: "/admin/users/search",
|
|
5888
6020
|
tags: ["admin.users"],
|
|
@@ -5910,7 +6042,7 @@ var searchUsersByEmailRoute = (0, import_zod_openapi71.createRoute)({
|
|
|
5910
6042
|
}
|
|
5911
6043
|
}
|
|
5912
6044
|
});
|
|
5913
|
-
var inviteUsersRoute = (0,
|
|
6045
|
+
var inviteUsersRoute = (0, import_zod_openapi72.createRoute)({
|
|
5914
6046
|
method: "post",
|
|
5915
6047
|
path: "/admin/users/invite",
|
|
5916
6048
|
tags: ["admin.users"],
|
|
@@ -5944,7 +6076,7 @@ var inviteUsersRoute = (0, import_zod_openapi71.createRoute)({
|
|
|
5944
6076
|
}
|
|
5945
6077
|
}
|
|
5946
6078
|
});
|
|
5947
|
-
var editUserRoute = (0,
|
|
6079
|
+
var editUserRoute = (0, import_zod_openapi72.createRoute)({
|
|
5948
6080
|
method: "patch",
|
|
5949
6081
|
path: "/admin/users/{id}",
|
|
5950
6082
|
tags: ["admin.users"],
|
|
@@ -5987,7 +6119,7 @@ var editUserRoute = (0, import_zod_openapi71.createRoute)({
|
|
|
5987
6119
|
}
|
|
5988
6120
|
}
|
|
5989
6121
|
});
|
|
5990
|
-
var makeAdminRoute = (0,
|
|
6122
|
+
var makeAdminRoute = (0, import_zod_openapi72.createRoute)({
|
|
5991
6123
|
method: "put",
|
|
5992
6124
|
path: "/admin/users/{id}/admin",
|
|
5993
6125
|
tags: ["admin.users"],
|
|
@@ -6023,7 +6155,7 @@ var makeAdminRoute = (0, import_zod_openapi71.createRoute)({
|
|
|
6023
6155
|
}
|
|
6024
6156
|
}
|
|
6025
6157
|
});
|
|
6026
|
-
var removeFromAdminRoute = (0,
|
|
6158
|
+
var removeFromAdminRoute = (0, import_zod_openapi72.createRoute)({
|
|
6027
6159
|
method: "delete",
|
|
6028
6160
|
path: "/admin/users/{id}/admin",
|
|
6029
6161
|
tags: ["admin.users"],
|
|
@@ -6059,7 +6191,7 @@ var removeFromAdminRoute = (0, import_zod_openapi71.createRoute)({
|
|
|
6059
6191
|
}
|
|
6060
6192
|
}
|
|
6061
6193
|
});
|
|
6062
|
-
var activateUserRoute = (0,
|
|
6194
|
+
var activateUserRoute = (0, import_zod_openapi72.createRoute)({
|
|
6063
6195
|
method: "put",
|
|
6064
6196
|
path: "/admin/users/{id}/status/active",
|
|
6065
6197
|
tags: ["admin.users"],
|
|
@@ -6095,7 +6227,7 @@ var activateUserRoute = (0, import_zod_openapi71.createRoute)({
|
|
|
6095
6227
|
}
|
|
6096
6228
|
}
|
|
6097
6229
|
});
|
|
6098
|
-
var suspendUserRoute = (0,
|
|
6230
|
+
var suspendUserRoute = (0, import_zod_openapi72.createRoute)({
|
|
6099
6231
|
method: "put",
|
|
6100
6232
|
path: "/admin/users/{id}/status/suspended",
|
|
6101
6233
|
tags: ["admin.users"],
|
|
@@ -6131,7 +6263,7 @@ var suspendUserRoute = (0, import_zod_openapi71.createRoute)({
|
|
|
6131
6263
|
}
|
|
6132
6264
|
}
|
|
6133
6265
|
});
|
|
6134
|
-
var resetPasswordRoute = (0,
|
|
6266
|
+
var resetPasswordRoute = (0, import_zod_openapi72.createRoute)({
|
|
6135
6267
|
method: "post",
|
|
6136
6268
|
path: "/admin/users/{id}/reset-password",
|
|
6137
6269
|
tags: ["admin.users"],
|
|
@@ -6167,7 +6299,7 @@ var resetPasswordRoute = (0, import_zod_openapi71.createRoute)({
|
|
|
6167
6299
|
}
|
|
6168
6300
|
}
|
|
6169
6301
|
});
|
|
6170
|
-
var resendInviteRoute = (0,
|
|
6302
|
+
var resendInviteRoute = (0, import_zod_openapi72.createRoute)({
|
|
6171
6303
|
method: "post",
|
|
6172
6304
|
path: "/admin/users/{id}/resend-invite",
|
|
6173
6305
|
tags: ["admin.users"],
|
|
@@ -6207,7 +6339,7 @@ var resendInviteRoute = (0, import_zod_openapi71.createRoute)({
|
|
|
6207
6339
|
}
|
|
6208
6340
|
}
|
|
6209
6341
|
});
|
|
6210
|
-
var updateUserEmailRoute = (0,
|
|
6342
|
+
var updateUserEmailRoute = (0, import_zod_openapi72.createRoute)({
|
|
6211
6343
|
method: "put",
|
|
6212
6344
|
path: "/admin/users/{id}/email",
|
|
6213
6345
|
tags: ["admin.users"],
|
|
@@ -6250,7 +6382,7 @@ var updateUserEmailRoute = (0, import_zod_openapi71.createRoute)({
|
|
|
6250
6382
|
}
|
|
6251
6383
|
}
|
|
6252
6384
|
});
|
|
6253
|
-
var pendingUsersCountRoute = (0,
|
|
6385
|
+
var pendingUsersCountRoute = (0, import_zod_openapi72.createRoute)({
|
|
6254
6386
|
method: "get",
|
|
6255
6387
|
path: "/admin/users/pending-count",
|
|
6256
6388
|
tags: ["admin.users"],
|
|
@@ -6275,7 +6407,7 @@ var pendingUsersCountRoute = (0, import_zod_openapi71.createRoute)({
|
|
|
6275
6407
|
}
|
|
6276
6408
|
}
|
|
6277
6409
|
});
|
|
6278
|
-
var deleteUserRoute = (0,
|
|
6410
|
+
var deleteUserRoute = (0, import_zod_openapi72.createRoute)({
|
|
6279
6411
|
method: "delete",
|
|
6280
6412
|
path: "/admin/users/{id}",
|
|
6281
6413
|
tags: ["admin.users"],
|
|
@@ -6332,7 +6464,7 @@ var adminUsersRoutes = {
|
|
|
6332
6464
|
};
|
|
6333
6465
|
|
|
6334
6466
|
// src/client.ts
|
|
6335
|
-
var
|
|
6467
|
+
var import_zod_openapi73 = require("@hono/zod-openapi");
|
|
6336
6468
|
var import_client = require("hono/client");
|
|
6337
6469
|
var stubUser = {
|
|
6338
6470
|
id: "",
|
|
@@ -6591,7 +6723,7 @@ var stubListPlugins = { plugins: [] };
|
|
|
6591
6723
|
var stubPluginConfig = { name: "", fields: [], values: {} };
|
|
6592
6724
|
var stubUpdatePluginConfig = { ok: true, hotReloaded: false, reconfigureFailed: false };
|
|
6593
6725
|
var stubClearRenderCache = { ok: true, clearedAt: "", removedCount: 0 };
|
|
6594
|
-
var appAuthMeUserChain = new
|
|
6726
|
+
var appAuthMeUserChain = new import_zod_openapi73.OpenAPIHono().openapi(
|
|
6595
6727
|
appRoutes.getAppInfoRoute,
|
|
6596
6728
|
(c) => c.json({ title: null, confidential: null, version: "", apiVersion: "v2", capabilities: [], canSelfRegister: true }, 200)
|
|
6597
6729
|
).openapi(installerRoutes.getInstallerStatusRoute, (c) => c.json({ status: "installer_required" }, 200)).openapi(installerRoutes.createAdminRoute, (c) => c.json({ status: "ok" }, 200)).openapi(tokenAuthRoutes.tokenLoginRoute, (c) => c.json(stubTokens, 200)).openapi(tokenAuthRoutes.tokenRegisterRoute, (c) => c.json({ status: "confirmation_required" }, 200)).openapi(inviteAcceptRoutes.invitePreviewRoute, (c) => c.json({ email: "stub@example.com" }, 200)).openapi(inviteAcceptRoutes.acceptInviteRoute, (c) => c.json(stubTokens, 200)).openapi(passwordResetRoutes.forgotPasswordRoute, (c) => c.json({ ok: true }, 200)).openapi(passwordResetRoutes.validateResetTokenRoute, (c) => c.json({ ok: true }, 200)).openapi(passwordResetRoutes.selfResetPasswordRoute, (c) => c.json(stubTokens, 200)).openapi(activationRoutes.validateActivationTokenRoute, (c) => c.json({ ok: true }, 200)).openapi(activationRoutes.activateAccountRoute, (c) => c.json(stubTokens, 200)).openapi(emailChangeRoutes.validateEmailChangeTokenRoute, (c) => c.json({ ok: true, email: "stub@example.com" }, 200)).openapi(emailChangeRoutes.confirmEmailChangeRoute, (c) => c.json({ ok: true, email: "stub@example.com" }, 200)).openapi(tokenAuthRoutes.tokenRefreshRoute, (c) => c.json(stubTokens, 200)).openapi(tokenAuthRoutes.tokenLogoutRoute, (c) => c.json({ message: "" }, 200)).openapi(
|
|
@@ -6611,54 +6743,38 @@ var appAuthMeUserChain = new import_zod_openapi72.OpenAPIHono().openapi(
|
|
|
6611
6743
|
200
|
|
6612
6744
|
)
|
|
6613
6745
|
).openapi(meRoutes.getProfileRoute, (c) => c.json(stubProfile, 200)).openapi(meRoutes.updateProfileRoute, (c) => c.json(stubProfile, 200)).openapi(meRoutes.updateThemeRoute, (c) => c.json({ status: "ok", theme: "system" }, 200)).openapi(meRoutes.uploadPictureRoute, (c) => c.json({ status: true }, 200)).openapi(meRoutes.deletePictureRoute, (c) => c.json({ status: "ok" }, 200)).openapi(meRoutes.updatePasswordRoute, (c) => c.json({ status: "ok", message: "" }, 200)).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.listMembersRoute, (c) => c.json(stubListUsers, 200));
|
|
6614
|
-
var bookmarkBacklinkCommentRevisionChain = new
|
|
6615
|
-
var pageChain = new
|
|
6616
|
-
var lateContractApp = new
|
|
6617
|
-
var adminSettingsContractApp = new
|
|
6618
|
-
var adminUsersPluginsContractApp = new
|
|
6619
|
-
var oauthContractApp = new
|
|
6746
|
+
var bookmarkBacklinkCommentRevisionChain = new import_zod_openapi73.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));
|
|
6747
|
+
var pageChain = new import_zod_openapi73.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));
|
|
6748
|
+
var lateContractApp = new import_zod_openapi73.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));
|
|
6749
|
+
var adminSettingsContractApp = new import_zod_openapi73.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));
|
|
6750
|
+
var adminUsersPluginsContractApp = new import_zod_openapi73.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.clearRenderCacheAllRoute, (c) => c.json(stubClearRenderCache, 200)).openapi(adminPluginsRoutes.clearRenderCachePluginRoute, (c) => c.json(stubClearRenderCache, 200));
|
|
6751
|
+
var oauthContractApp = new import_zod_openapi73.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));
|
|
6620
6752
|
var createClient = (baseUrl, options = {}) => (0, import_client.hc)(baseUrl, {
|
|
6621
6753
|
headers: options.headers,
|
|
6622
6754
|
fetch: options.fetch
|
|
6623
6755
|
});
|
|
6624
6756
|
|
|
6625
|
-
// src/schemas/app-capabilities.ts
|
|
6626
|
-
var STATIC_CAPABILITIES = [
|
|
6627
|
-
"oauth",
|
|
6628
|
-
// The oauth:* tags mirror GRANT_TYPES_SUPPORTED + the S256 PKCE method
|
|
6629
|
-
// (schemas/oauth-endpoints.ts / the RFC 8414 discovery doc). Keep in sync.
|
|
6630
|
-
"oauth:auth-code",
|
|
6631
|
-
"oauth:device",
|
|
6632
|
-
"oauth:pkce",
|
|
6633
|
-
"pat",
|
|
6634
|
-
"pages",
|
|
6635
|
-
"comments",
|
|
6636
|
-
"bookmarks",
|
|
6637
|
-
"attachments",
|
|
6638
|
-
"notifications"
|
|
6639
|
-
];
|
|
6640
|
-
var API_SURFACE_VERSION = "v2";
|
|
6641
|
-
|
|
6642
6757
|
// src/schemas/mail-token.ts
|
|
6643
|
-
var
|
|
6644
|
-
var MailTokenPurposeSchema =
|
|
6645
|
-
var MailTokenPayloadSchema =
|
|
6758
|
+
var import_zod_openapi74 = require("@hono/zod-openapi");
|
|
6759
|
+
var MailTokenPurposeSchema = import_zod_openapi74.z.enum(["invite", "activate", "reset", "email-change"]);
|
|
6760
|
+
var MailTokenPayloadSchema = import_zod_openapi74.z.object({
|
|
6646
6761
|
purpose: MailTokenPurposeSchema,
|
|
6647
|
-
userId:
|
|
6762
|
+
userId: import_zod_openapi74.z.string(),
|
|
6648
6763
|
/** Target address. For `email-change` this is the NEW address. */
|
|
6649
|
-
email:
|
|
6764
|
+
email: import_zod_openapi74.z.string().email(),
|
|
6650
6765
|
/**
|
|
6651
6766
|
* For `email-change`: the account's email at issue time. The confirm
|
|
6652
6767
|
* endpoint rejects the token unless it still matches, making the token
|
|
6653
6768
|
* single-use (a stale token cannot revert a later change).
|
|
6654
6769
|
*/
|
|
6655
|
-
fromEmail:
|
|
6770
|
+
fromEmail: import_zod_openapi74.z.string().email().optional(),
|
|
6656
6771
|
// iat / exp are injected and verified by the JWT layer.
|
|
6657
|
-
iat:
|
|
6658
|
-
exp:
|
|
6772
|
+
iat: import_zod_openapi74.z.number().optional(),
|
|
6773
|
+
exp: import_zod_openapi74.z.number().optional()
|
|
6659
6774
|
});
|
|
6660
6775
|
// Annotate the CommonJS export names for ESM import in node:
|
|
6661
6776
|
0 && (module.exports = {
|
|
6777
|
+
ALL_CAPABILITIES,
|
|
6662
6778
|
ALL_SCOPES,
|
|
6663
6779
|
API_SURFACE_VERSION,
|
|
6664
6780
|
AccessTokenSchema,
|
|
@@ -6697,6 +6813,8 @@ var MailTokenPayloadSchema = import_zod_openapi73.z.object({
|
|
|
6697
6813
|
BacklinkSchema,
|
|
6698
6814
|
BookmarkResponseSchema,
|
|
6699
6815
|
BookmarkSchema,
|
|
6816
|
+
CapabilitySchema,
|
|
6817
|
+
ClaimPageLinkAccessResponseSchema,
|
|
6700
6818
|
ClearRenderCacheResponseSchema,
|
|
6701
6819
|
CollabForceReloadMessageSchema,
|
|
6702
6820
|
CollabSaveErrorSchema,
|
|
@@ -6720,6 +6838,7 @@ var MailTokenPayloadSchema = import_zod_openapi73.z.object({
|
|
|
6720
6838
|
DEVICE_CODE_GRANT_TYPE,
|
|
6721
6839
|
DISCOVERY_SCOPES_SUPPORTED,
|
|
6722
6840
|
DND_EXTRA_UPLOAD_MIME,
|
|
6841
|
+
DYNAMIC_CAPABILITIES,
|
|
6723
6842
|
DeleteAdminUserResponseSchema,
|
|
6724
6843
|
DeleteCommentRequestSchema,
|
|
6725
6844
|
DeleteCommentResponseSchema,
|
|
@@ -6846,7 +6965,9 @@ var MailTokenPayloadSchema = import_zod_openapi73.z.object({
|
|
|
6846
6965
|
PluginInfoSchema,
|
|
6847
6966
|
PluginNotFoundErrorSchema,
|
|
6848
6967
|
PresenceClientMessageSchema,
|
|
6968
|
+
PresenceCommentChangedMessageSchema,
|
|
6849
6969
|
PresenceHeartbeatMessageSchema,
|
|
6970
|
+
PresencePageUpdatedMessageSchema,
|
|
6850
6971
|
PresenceServerMessageSchema,
|
|
6851
6972
|
PresenceTokenPayloadSchema,
|
|
6852
6973
|
PresenceTokenResponseSchema,
|
|
@@ -6971,6 +7092,7 @@ var MailTokenPayloadSchema = import_zod_openapi73.z.object({
|
|
|
6971
7092
|
backlinkRoutes,
|
|
6972
7093
|
bookmarkRoutes,
|
|
6973
7094
|
cancelDraftRoute,
|
|
7095
|
+
claimPageLinkAccessRoute,
|
|
6974
7096
|
clearRenderCacheAllRoute,
|
|
6975
7097
|
clearRenderCachePluginRoute,
|
|
6976
7098
|
commentRoutes,
|