@crowi/api-contract 2.0.0-alpha.6 → 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 +291 -1
- package/dist/generated/openapi.d.ts +291 -1
- package/dist/generated/openapi.js.map +1 -1
- package/dist/index.d.mts +1551 -643
- package/dist/index.d.ts +1551 -643
- package/dist/index.js +1319 -1223
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1171 -1080
- 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,
|
|
@@ -334,6 +338,7 @@ __export(index_exports, {
|
|
|
334
338
|
backlinkRoutes: () => backlinkRoutes,
|
|
335
339
|
bookmarkRoutes: () => bookmarkRoutes,
|
|
336
340
|
cancelDraftRoute: () => cancelDraftRoute,
|
|
341
|
+
claimPageLinkAccessRoute: () => claimPageLinkAccessRoute,
|
|
337
342
|
clearRenderCacheAllRoute: () => clearRenderCacheAllRoute,
|
|
338
343
|
clearRenderCachePluginRoute: () => clearRenderCachePluginRoute,
|
|
339
344
|
commentRoutes: () => commentRoutes,
|
|
@@ -669,7 +674,7 @@ function stripKnownHtmlTags(text) {
|
|
|
669
674
|
}
|
|
670
675
|
|
|
671
676
|
// src/contracts/app.ts
|
|
672
|
-
var
|
|
677
|
+
var import_zod_openapi5 = require("@hono/zod-openapi");
|
|
673
678
|
|
|
674
679
|
// src/schemas/common.ts
|
|
675
680
|
var import_zod_openapi2 = require("@hono/zod-openapi");
|
|
@@ -764,18 +769,41 @@ var ForbiddenErrorSchema = ApiErrorSchema.extend({
|
|
|
764
769
|
});
|
|
765
770
|
|
|
766
771
|
// src/schemas/app.ts
|
|
772
|
+
var import_zod_openapi4 = require("@hono/zod-openapi");
|
|
773
|
+
|
|
774
|
+
// src/schemas/app-capabilities.ts
|
|
767
775
|
var import_zod_openapi3 = require("@hono/zod-openapi");
|
|
768
|
-
var
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
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()
|
|
775
803
|
});
|
|
776
804
|
|
|
777
805
|
// src/contracts/app.ts
|
|
778
|
-
var getAppInfoRoute = (0,
|
|
806
|
+
var getAppInfoRoute = (0, import_zod_openapi5.createRoute)({
|
|
779
807
|
method: "get",
|
|
780
808
|
path: "/app/info",
|
|
781
809
|
tags: ["app"],
|
|
@@ -802,29 +830,29 @@ var getAppInfoRoute = (0, import_zod_openapi4.createRoute)({
|
|
|
802
830
|
var appRoutes = { getAppInfoRoute };
|
|
803
831
|
|
|
804
832
|
// src/contracts/installer.ts
|
|
805
|
-
var
|
|
833
|
+
var import_zod_openapi7 = require("@hono/zod-openapi");
|
|
806
834
|
|
|
807
835
|
// src/schemas/installer.ts
|
|
808
|
-
var
|
|
809
|
-
var InstallerStatusResponseSchema =
|
|
810
|
-
status:
|
|
811
|
-
});
|
|
812
|
-
var CreateAdminRequestSchema =
|
|
813
|
-
registerForm:
|
|
814
|
-
username:
|
|
815
|
-
name:
|
|
816
|
-
email:
|
|
817
|
-
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")
|
|
818
846
|
})
|
|
819
847
|
});
|
|
820
|
-
var CreateAdminResponseSchema =
|
|
821
|
-
status:
|
|
822
|
-
message:
|
|
823
|
-
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()
|
|
824
852
|
});
|
|
825
853
|
|
|
826
854
|
// src/contracts/installer.ts
|
|
827
|
-
var getInstallerStatusRoute = (0,
|
|
855
|
+
var getInstallerStatusRoute = (0, import_zod_openapi7.createRoute)({
|
|
828
856
|
method: "get",
|
|
829
857
|
path: "/installer",
|
|
830
858
|
tags: ["installer"],
|
|
@@ -848,7 +876,7 @@ var getInstallerStatusRoute = (0, import_zod_openapi6.createRoute)({
|
|
|
848
876
|
}
|
|
849
877
|
}
|
|
850
878
|
});
|
|
851
|
-
var createAdminRoute = (0,
|
|
879
|
+
var createAdminRoute = (0, import_zod_openapi7.createRoute)({
|
|
852
880
|
method: "post",
|
|
853
881
|
path: "/installer/createAdmin",
|
|
854
882
|
tags: ["installer"],
|
|
@@ -892,56 +920,56 @@ var createAdminRoute = (0, import_zod_openapi6.createRoute)({
|
|
|
892
920
|
var installerRoutes = { getInstallerStatusRoute, createAdminRoute };
|
|
893
921
|
|
|
894
922
|
// src/contracts/tokenAuth.ts
|
|
895
|
-
var
|
|
923
|
+
var import_zod_openapi9 = require("@hono/zod-openapi");
|
|
896
924
|
|
|
897
925
|
// src/schemas/auth.ts
|
|
898
|
-
var
|
|
899
|
-
var TokenAuthLoginRequestSchema =
|
|
900
|
-
email:
|
|
901
|
-
password:
|
|
902
|
-
});
|
|
903
|
-
var TokenAuthResponseSchema =
|
|
904
|
-
accessToken:
|
|
905
|
-
refreshToken:
|
|
906
|
-
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(),
|
|
907
935
|
// seconds until expiration
|
|
908
|
-
user:
|
|
909
|
-
id:
|
|
910
|
-
username:
|
|
911
|
-
email:
|
|
912
|
-
name:
|
|
913
|
-
image:
|
|
914
|
-
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()
|
|
915
943
|
})
|
|
916
944
|
});
|
|
917
|
-
var RefreshTokenRequestSchema =
|
|
918
|
-
refreshToken:
|
|
945
|
+
var RefreshTokenRequestSchema = import_zod_openapi8.z.object({
|
|
946
|
+
refreshToken: import_zod_openapi8.z.string()
|
|
919
947
|
});
|
|
920
|
-
var TokenAuthRegisterRequestSchema =
|
|
921
|
-
username:
|
|
922
|
-
name:
|
|
923
|
-
email:
|
|
924
|
-
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)
|
|
925
953
|
});
|
|
926
|
-
var RegisterPendingResponseSchema =
|
|
927
|
-
status:
|
|
954
|
+
var RegisterPendingResponseSchema = import_zod_openapi8.z.object({
|
|
955
|
+
status: import_zod_openapi8.z.enum(["confirmation_required", "approval_required"])
|
|
928
956
|
});
|
|
929
957
|
|
|
930
958
|
// src/contracts/tokenAuth.ts
|
|
931
|
-
var TokenLogoutResponseSchema =
|
|
932
|
-
var TokenMeResponseSchema =
|
|
933
|
-
user:
|
|
934
|
-
id:
|
|
935
|
-
username:
|
|
936
|
-
email:
|
|
937
|
-
name:
|
|
938
|
-
image:
|
|
939
|
-
status:
|
|
940
|
-
admin:
|
|
941
|
-
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()
|
|
942
970
|
})
|
|
943
971
|
});
|
|
944
|
-
var tokenLoginRoute = (0,
|
|
972
|
+
var tokenLoginRoute = (0, import_zod_openapi9.createRoute)({
|
|
945
973
|
method: "post",
|
|
946
974
|
path: "/auth/login",
|
|
947
975
|
tags: ["tokenAuth"],
|
|
@@ -978,7 +1006,7 @@ var tokenLoginRoute = (0, import_zod_openapi8.createRoute)({
|
|
|
978
1006
|
}
|
|
979
1007
|
}
|
|
980
1008
|
});
|
|
981
|
-
var tokenRegisterRoute = (0,
|
|
1009
|
+
var tokenRegisterRoute = (0, import_zod_openapi9.createRoute)({
|
|
982
1010
|
method: "post",
|
|
983
1011
|
path: "/auth/register",
|
|
984
1012
|
tags: ["tokenAuth"],
|
|
@@ -1019,7 +1047,7 @@ var tokenRegisterRoute = (0, import_zod_openapi8.createRoute)({
|
|
|
1019
1047
|
}
|
|
1020
1048
|
}
|
|
1021
1049
|
});
|
|
1022
|
-
var tokenRefreshRoute = (0,
|
|
1050
|
+
var tokenRefreshRoute = (0, import_zod_openapi9.createRoute)({
|
|
1023
1051
|
method: "post",
|
|
1024
1052
|
path: "/auth/refresh",
|
|
1025
1053
|
tags: ["tokenAuth"],
|
|
@@ -1056,7 +1084,7 @@ var tokenRefreshRoute = (0, import_zod_openapi8.createRoute)({
|
|
|
1056
1084
|
}
|
|
1057
1085
|
}
|
|
1058
1086
|
});
|
|
1059
|
-
var tokenLogoutRoute = (0,
|
|
1087
|
+
var tokenLogoutRoute = (0, import_zod_openapi9.createRoute)({
|
|
1060
1088
|
method: "post",
|
|
1061
1089
|
path: "/auth/logout",
|
|
1062
1090
|
tags: ["tokenAuth"],
|
|
@@ -1066,7 +1094,7 @@ var tokenLogoutRoute = (0, import_zod_openapi8.createRoute)({
|
|
|
1066
1094
|
body: {
|
|
1067
1095
|
content: {
|
|
1068
1096
|
"application/json": {
|
|
1069
|
-
schema:
|
|
1097
|
+
schema: import_zod_openapi9.z.object({ refreshToken: import_zod_openapi9.z.string().optional() })
|
|
1070
1098
|
}
|
|
1071
1099
|
}
|
|
1072
1100
|
}
|
|
@@ -1086,7 +1114,7 @@ var tokenLogoutRoute = (0, import_zod_openapi8.createRoute)({
|
|
|
1086
1114
|
}
|
|
1087
1115
|
}
|
|
1088
1116
|
});
|
|
1089
|
-
var tokenMeRoute = (0,
|
|
1117
|
+
var tokenMeRoute = (0, import_zod_openapi9.createRoute)({
|
|
1090
1118
|
method: "get",
|
|
1091
1119
|
path: "/auth/me",
|
|
1092
1120
|
tags: ["tokenAuth"],
|
|
@@ -1116,22 +1144,22 @@ var tokenAuthRoutes = {
|
|
|
1116
1144
|
};
|
|
1117
1145
|
|
|
1118
1146
|
// src/contracts/inviteAccept.ts
|
|
1119
|
-
var
|
|
1147
|
+
var import_zod_openapi11 = require("@hono/zod-openapi");
|
|
1120
1148
|
|
|
1121
1149
|
// src/schemas/inviteAccept.ts
|
|
1122
|
-
var
|
|
1123
|
-
var InviteAcceptRequestSchema =
|
|
1124
|
-
token:
|
|
1125
|
-
username:
|
|
1126
|
-
name:
|
|
1127
|
-
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)
|
|
1128
1156
|
});
|
|
1129
|
-
var InvitePreviewResponseSchema =
|
|
1130
|
-
email:
|
|
1157
|
+
var InvitePreviewResponseSchema = import_zod_openapi10.z.object({
|
|
1158
|
+
email: import_zod_openapi10.z.string().email()
|
|
1131
1159
|
});
|
|
1132
1160
|
|
|
1133
1161
|
// src/contracts/inviteAccept.ts
|
|
1134
|
-
var invitePreviewRoute = (0,
|
|
1162
|
+
var invitePreviewRoute = (0, import_zod_openapi11.createRoute)({
|
|
1135
1163
|
method: "get",
|
|
1136
1164
|
path: "/invite/accept",
|
|
1137
1165
|
tags: ["inviteAccept"],
|
|
@@ -1158,7 +1186,7 @@ var invitePreviewRoute = (0, import_zod_openapi10.createRoute)({
|
|
|
1158
1186
|
}
|
|
1159
1187
|
}
|
|
1160
1188
|
});
|
|
1161
|
-
var acceptInviteRoute = (0,
|
|
1189
|
+
var acceptInviteRoute = (0, import_zod_openapi11.createRoute)({
|
|
1162
1190
|
method: "post",
|
|
1163
1191
|
path: "/invite/accept",
|
|
1164
1192
|
tags: ["inviteAccept"],
|
|
@@ -1201,23 +1229,23 @@ var inviteAcceptRoutes = {
|
|
|
1201
1229
|
};
|
|
1202
1230
|
|
|
1203
1231
|
// src/contracts/passwordReset.ts
|
|
1204
|
-
var
|
|
1232
|
+
var import_zod_openapi13 = require("@hono/zod-openapi");
|
|
1205
1233
|
|
|
1206
1234
|
// src/schemas/passwordReset.ts
|
|
1207
|
-
var
|
|
1208
|
-
var ForgotPasswordRequestSchema =
|
|
1209
|
-
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()
|
|
1210
1238
|
});
|
|
1211
|
-
var ForgotPasswordResponseSchema =
|
|
1212
|
-
ok:
|
|
1239
|
+
var ForgotPasswordResponseSchema = import_zod_openapi12.z.object({
|
|
1240
|
+
ok: import_zod_openapi12.z.literal(true)
|
|
1213
1241
|
});
|
|
1214
|
-
var ResetPasswordRequestSchema =
|
|
1215
|
-
token:
|
|
1216
|
-
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)
|
|
1217
1245
|
});
|
|
1218
1246
|
|
|
1219
1247
|
// src/contracts/passwordReset.ts
|
|
1220
|
-
var forgotPasswordRoute = (0,
|
|
1248
|
+
var forgotPasswordRoute = (0, import_zod_openapi13.createRoute)({
|
|
1221
1249
|
method: "post",
|
|
1222
1250
|
path: "/auth/forgot-password",
|
|
1223
1251
|
tags: ["passwordReset"],
|
|
@@ -1242,7 +1270,7 @@ var forgotPasswordRoute = (0, import_zod_openapi12.createRoute)({
|
|
|
1242
1270
|
}
|
|
1243
1271
|
}
|
|
1244
1272
|
});
|
|
1245
|
-
var validateResetTokenRoute = (0,
|
|
1273
|
+
var validateResetTokenRoute = (0, import_zod_openapi13.createRoute)({
|
|
1246
1274
|
method: "get",
|
|
1247
1275
|
path: "/auth/reset-password",
|
|
1248
1276
|
tags: ["passwordReset"],
|
|
@@ -1265,7 +1293,7 @@ var validateResetTokenRoute = (0, import_zod_openapi12.createRoute)({
|
|
|
1265
1293
|
}
|
|
1266
1294
|
}
|
|
1267
1295
|
});
|
|
1268
|
-
var selfResetPasswordRoute = (0,
|
|
1296
|
+
var selfResetPasswordRoute = (0, import_zod_openapi13.createRoute)({
|
|
1269
1297
|
method: "post",
|
|
1270
1298
|
path: "/auth/reset-password",
|
|
1271
1299
|
tags: ["passwordReset"],
|
|
@@ -1305,19 +1333,19 @@ var passwordResetRoutes = {
|
|
|
1305
1333
|
};
|
|
1306
1334
|
|
|
1307
1335
|
// src/contracts/activation.ts
|
|
1308
|
-
var
|
|
1336
|
+
var import_zod_openapi15 = require("@hono/zod-openapi");
|
|
1309
1337
|
|
|
1310
1338
|
// src/schemas/activation.ts
|
|
1311
|
-
var
|
|
1312
|
-
var ActivateRequestSchema =
|
|
1313
|
-
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()
|
|
1314
1342
|
});
|
|
1315
|
-
var ActivateValidationResponseSchema =
|
|
1316
|
-
ok:
|
|
1343
|
+
var ActivateValidationResponseSchema = import_zod_openapi14.z.object({
|
|
1344
|
+
ok: import_zod_openapi14.z.literal(true)
|
|
1317
1345
|
});
|
|
1318
1346
|
|
|
1319
1347
|
// src/contracts/activation.ts
|
|
1320
|
-
var validateActivationTokenRoute = (0,
|
|
1348
|
+
var validateActivationTokenRoute = (0, import_zod_openapi15.createRoute)({
|
|
1321
1349
|
method: "get",
|
|
1322
1350
|
path: "/auth/activate",
|
|
1323
1351
|
tags: ["activation"],
|
|
@@ -1340,7 +1368,7 @@ var validateActivationTokenRoute = (0, import_zod_openapi14.createRoute)({
|
|
|
1340
1368
|
}
|
|
1341
1369
|
}
|
|
1342
1370
|
});
|
|
1343
|
-
var activateAccountRoute = (0,
|
|
1371
|
+
var activateAccountRoute = (0, import_zod_openapi15.createRoute)({
|
|
1344
1372
|
method: "post",
|
|
1345
1373
|
path: "/auth/activate",
|
|
1346
1374
|
tags: ["activation"],
|
|
@@ -1375,21 +1403,21 @@ var activationRoutes = {
|
|
|
1375
1403
|
};
|
|
1376
1404
|
|
|
1377
1405
|
// src/contracts/emailChange.ts
|
|
1378
|
-
var
|
|
1406
|
+
var import_zod_openapi17 = require("@hono/zod-openapi");
|
|
1379
1407
|
|
|
1380
1408
|
// src/schemas/emailChange.ts
|
|
1381
|
-
var
|
|
1382
|
-
var ConfirmEmailChangeRequestSchema =
|
|
1383
|
-
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()
|
|
1384
1412
|
});
|
|
1385
|
-
var ConfirmEmailChangeResponseSchema =
|
|
1386
|
-
ok:
|
|
1413
|
+
var ConfirmEmailChangeResponseSchema = import_zod_openapi16.z.object({
|
|
1414
|
+
ok: import_zod_openapi16.z.literal(true),
|
|
1387
1415
|
/** The newly-confirmed email address. */
|
|
1388
|
-
email:
|
|
1416
|
+
email: import_zod_openapi16.z.string().email()
|
|
1389
1417
|
});
|
|
1390
1418
|
|
|
1391
1419
|
// src/contracts/emailChange.ts
|
|
1392
|
-
var validateEmailChangeTokenRoute = (0,
|
|
1420
|
+
var validateEmailChangeTokenRoute = (0, import_zod_openapi17.createRoute)({
|
|
1393
1421
|
method: "get",
|
|
1394
1422
|
path: "/auth/confirm-email-change",
|
|
1395
1423
|
tags: ["emailChange"],
|
|
@@ -1412,7 +1440,7 @@ var validateEmailChangeTokenRoute = (0, import_zod_openapi16.createRoute)({
|
|
|
1412
1440
|
}
|
|
1413
1441
|
}
|
|
1414
1442
|
});
|
|
1415
|
-
var confirmEmailChangeRoute = (0,
|
|
1443
|
+
var confirmEmailChangeRoute = (0, import_zod_openapi17.createRoute)({
|
|
1416
1444
|
method: "post",
|
|
1417
1445
|
path: "/auth/confirm-email-change",
|
|
1418
1446
|
tags: ["emailChange"],
|
|
@@ -1451,19 +1479,19 @@ var emailChangeRoutes = {
|
|
|
1451
1479
|
};
|
|
1452
1480
|
|
|
1453
1481
|
// src/contracts/me.ts
|
|
1454
|
-
var
|
|
1482
|
+
var import_zod_openapi22 = require("@hono/zod-openapi");
|
|
1455
1483
|
|
|
1456
1484
|
// src/schemas/me.ts
|
|
1457
|
-
var
|
|
1485
|
+
var import_zod_openapi21 = require("@hono/zod-openapi");
|
|
1458
1486
|
|
|
1459
1487
|
// src/schemas/page.ts
|
|
1460
|
-
var
|
|
1488
|
+
var import_zod_openapi20 = require("@hono/zod-openapi");
|
|
1461
1489
|
|
|
1462
1490
|
// src/schemas/collab.ts
|
|
1463
|
-
var
|
|
1491
|
+
var import_zod_openapi19 = require("@hono/zod-openapi");
|
|
1464
1492
|
|
|
1465
1493
|
// src/schemas/userPublic.ts
|
|
1466
|
-
var
|
|
1494
|
+
var import_zod_openapi18 = require("@hono/zod-openapi");
|
|
1467
1495
|
var UserPublicStatus = {
|
|
1468
1496
|
REGISTERED: 1,
|
|
1469
1497
|
ACTIVE: 2,
|
|
@@ -1471,64 +1499,64 @@ var UserPublicStatus = {
|
|
|
1471
1499
|
DELETED: 4,
|
|
1472
1500
|
INVITED: 5
|
|
1473
1501
|
};
|
|
1474
|
-
var UserPublicStatusSchema =
|
|
1475
|
-
var UserPublicSchema =
|
|
1476
|
-
_id:
|
|
1477
|
-
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(),
|
|
1478
1506
|
// for compatibility (virtual field)
|
|
1479
|
-
username:
|
|
1480
|
-
name:
|
|
1481
|
-
email:
|
|
1482
|
-
image:
|
|
1483
|
-
introduction:
|
|
1484
|
-
createdAt:
|
|
1485
|
-
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(),
|
|
1486
1514
|
status: UserPublicStatusSchema.optional()
|
|
1487
1515
|
});
|
|
1488
1516
|
|
|
1489
1517
|
// src/schemas/collab.ts
|
|
1490
1518
|
var ContributorRefSchema = UserPublicSchema;
|
|
1491
|
-
var RevisionTypeSchema =
|
|
1492
|
-
var WsTokenResponseSchema =
|
|
1493
|
-
wsToken:
|
|
1494
|
-
pageId:
|
|
1495
|
-
expiresAt:
|
|
1496
|
-
readonly:
|
|
1497
|
-
});
|
|
1498
|
-
var WsTokenPayloadSchema =
|
|
1499
|
-
userId:
|
|
1500
|
-
pageId:
|
|
1501
|
-
readonly:
|
|
1502
|
-
iat:
|
|
1503
|
-
exp:
|
|
1504
|
-
});
|
|
1505
|
-
var CollabSaveMessageSchema =
|
|
1506
|
-
kind:
|
|
1507
|
-
message:
|
|
1508
|
-
});
|
|
1509
|
-
var CollabSaveOkSchema =
|
|
1510
|
-
kind:
|
|
1511
|
-
revisionId:
|
|
1512
|
-
});
|
|
1513
|
-
var CollabSaveErrorSchema =
|
|
1514
|
-
kind:
|
|
1515
|
-
code:
|
|
1516
|
-
message:
|
|
1517
|
-
});
|
|
1518
|
-
var CollabForceReloadMessageSchema =
|
|
1519
|
-
kind:
|
|
1520
|
-
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()
|
|
1521
1549
|
});
|
|
1522
1550
|
|
|
1523
1551
|
// src/schemas/page.ts
|
|
1524
|
-
var PageGrantSchema =
|
|
1552
|
+
var PageGrantSchema = import_zod_openapi20.z.enum(["1", "2", "3", "4"]).transform((val) => Number(val));
|
|
1525
1553
|
var PageGrantEnum = {
|
|
1526
1554
|
PUBLIC: 1,
|
|
1527
1555
|
RESTRICTED: 2,
|
|
1528
1556
|
SPECIFIED: 3,
|
|
1529
1557
|
OWNER: 4
|
|
1530
1558
|
};
|
|
1531
|
-
var PageStatusSchema =
|
|
1559
|
+
var PageStatusSchema = import_zod_openapi20.z.enum(["wip", "published", "deleted", "deprecated", "draft"]);
|
|
1532
1560
|
var PageStatusEnum = {
|
|
1533
1561
|
WIP: "wip",
|
|
1534
1562
|
PUBLISHED: "published",
|
|
@@ -1536,51 +1564,51 @@ var PageStatusEnum = {
|
|
|
1536
1564
|
DEPRECATED: "deprecated",
|
|
1537
1565
|
DRAFT: "draft"
|
|
1538
1566
|
};
|
|
1539
|
-
var PageTypeSchema =
|
|
1567
|
+
var PageTypeSchema = import_zod_openapi20.z.enum(["portal", "user", "public"]);
|
|
1540
1568
|
var PageTypeEnum = {
|
|
1541
1569
|
PORTAL: "portal",
|
|
1542
1570
|
USER: "user",
|
|
1543
1571
|
PUBLIC: "public"
|
|
1544
1572
|
};
|
|
1545
|
-
var PageUserSchema =
|
|
1546
|
-
_id:
|
|
1547
|
-
id:
|
|
1573
|
+
var PageUserSchema = import_zod_openapi20.z.object({
|
|
1574
|
+
_id: import_zod_openapi20.z.string(),
|
|
1575
|
+
id: import_zod_openapi20.z.string().optional(),
|
|
1548
1576
|
// for compatibility
|
|
1549
|
-
username:
|
|
1550
|
-
name:
|
|
1551
|
-
email:
|
|
1552
|
-
image:
|
|
1553
|
-
createdAt:
|
|
1554
|
-
});
|
|
1555
|
-
var TocEntrySchema =
|
|
1556
|
-
level:
|
|
1557
|
-
text:
|
|
1558
|
-
anchorId:
|
|
1559
|
-
});
|
|
1560
|
-
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({
|
|
1561
1589
|
/** Verbatim source between the `[[` `]]` (no surrounding brackets). */
|
|
1562
|
-
raw:
|
|
1590
|
+
raw: import_zod_openapi20.z.string(),
|
|
1563
1591
|
/** Normalised target (left of the `|`, fragment trimmed for resolution). */
|
|
1564
|
-
target:
|
|
1592
|
+
target: import_zod_openapi20.z.string(),
|
|
1565
1593
|
/** Optional pipe-aliased display text (right of the `|`). */
|
|
1566
|
-
displayText:
|
|
1567
|
-
});
|
|
1568
|
-
var MentionSchema =
|
|
1569
|
-
username:
|
|
1570
|
-
});
|
|
1571
|
-
var RevisionMetaSchemaShape =
|
|
1572
|
-
toc:
|
|
1573
|
-
wikiLinks:
|
|
1574
|
-
mentions:
|
|
1575
|
-
codeBlockLanguages:
|
|
1576
|
-
});
|
|
1577
|
-
var RevisionSchema =
|
|
1578
|
-
_id:
|
|
1579
|
-
path:
|
|
1580
|
-
body:
|
|
1581
|
-
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"),
|
|
1582
1610
|
author: PageUserSchema.nullable().optional(),
|
|
1583
|
-
createdAt:
|
|
1611
|
+
createdAt: import_zod_openapi20.z.string(),
|
|
1584
1612
|
meta: RevisionMetaSchemaShape.optional(),
|
|
1585
1613
|
// RFC-0002 Phase 3: transformed mdast (parse + core plugins +
|
|
1586
1614
|
// shiki) for the web client to render without re-parsing the body.
|
|
@@ -1588,42 +1616,42 @@ var RevisionSchema = import_zod_openapi19.z.object({
|
|
|
1588
1616
|
// spec to maintain a strict Zod schema for. Only single-page detail
|
|
1589
1617
|
// (`getPage`) and single-revision detail (`getRevision`) emit it;
|
|
1590
1618
|
// list endpoints skip it for payload weight.
|
|
1591
|
-
renderedAst:
|
|
1619
|
+
renderedAst: import_zod_openapi20.z.unknown().optional(),
|
|
1592
1620
|
// RFC-0002 round 3.1: semver of the renderer pipeline that produced
|
|
1593
1621
|
// `renderedAst`. The read path uses this to detect stale entries
|
|
1594
1622
|
// (rebuilt by `renderer:rebuild` once RFC-0008 lands). Absent on
|
|
1595
1623
|
// revisions saved before this field was introduced.
|
|
1596
|
-
rendererVersion:
|
|
1624
|
+
rendererVersion: import_zod_openapi20.z.string().optional(),
|
|
1597
1625
|
// RFC-0003 collaborative-save fields. All optional; v1.x revisions
|
|
1598
1626
|
// emit none of them. See `packages/api/src/models/revision.ts` for
|
|
1599
1627
|
// semantics. The list-page endpoint currently does not surface
|
|
1600
1628
|
// these — they only appear on the Phase 5+ checkpoint Revisions
|
|
1601
1629
|
// produced by Hocuspocus and on the single-revision detail route.
|
|
1602
|
-
parentRevisionId:
|
|
1630
|
+
parentRevisionId: import_zod_openapi20.z.string().nullable().optional(),
|
|
1603
1631
|
type: RevisionTypeSchema.optional(),
|
|
1604
|
-
savedBy:
|
|
1605
|
-
contributors:
|
|
1606
|
-
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(),
|
|
1607
1635
|
// RFC-0010 — edit channel ('web' | 'oauth' | 'pat'); absent on
|
|
1608
1636
|
// pre-RFC-0010 / collaborative / browser revisions.
|
|
1609
|
-
editVia:
|
|
1610
|
-
});
|
|
1611
|
-
var PageExtendedSchema =
|
|
1612
|
-
var PageSchema =
|
|
1613
|
-
_id:
|
|
1614
|
-
path:
|
|
1615
|
-
revision:
|
|
1616
|
-
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(),
|
|
1617
1645
|
status: PageStatusSchema.nullable().optional(),
|
|
1618
|
-
grant:
|
|
1619
|
-
grantedUsers:
|
|
1620
|
-
creator:
|
|
1621
|
-
lastUpdateUser:
|
|
1622
|
-
liker:
|
|
1623
|
-
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),
|
|
1624
1652
|
extended: PageExtendedSchema,
|
|
1625
|
-
createdAt:
|
|
1626
|
-
updatedAt:
|
|
1653
|
+
createdAt: import_zod_openapi20.z.string(),
|
|
1654
|
+
updatedAt: import_zod_openapi20.z.string().optional(),
|
|
1627
1655
|
// RFC-0003 collaborative-edit fields. All optional; `null` is the
|
|
1628
1656
|
// "no live state yet" value. Existing read endpoints (list /
|
|
1629
1657
|
// detail) do not currently emit these — the contract is widened
|
|
@@ -1631,31 +1659,32 @@ var PageSchema = import_zod_openapi19.z.object({
|
|
|
1631
1659
|
// bump. `yjsState` is intentionally omitted from the contract:
|
|
1632
1660
|
// the binary blob lives only inside Hocuspocus and never crosses
|
|
1633
1661
|
// the HTTP API.
|
|
1634
|
-
currentRevision:
|
|
1635
|
-
yjsCheckpointAt:
|
|
1662
|
+
currentRevision: import_zod_openapi20.z.string().nullable().optional(),
|
|
1663
|
+
yjsCheckpointAt: import_zod_openapi20.z.string().nullable().optional(),
|
|
1636
1664
|
// dynamic fields
|
|
1637
|
-
latestRevision:
|
|
1638
|
-
likerCount:
|
|
1639
|
-
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()
|
|
1640
1668
|
});
|
|
1641
1669
|
var PageWithRevisionSchema = PageSchema.extend({
|
|
1642
1670
|
revision: RevisionSchema,
|
|
1643
1671
|
creator: PageUserSchema.nullable().optional(),
|
|
1644
1672
|
lastUpdateUser: PageUserSchema.nullable().optional()
|
|
1645
1673
|
});
|
|
1646
|
-
var GetPageRequestSchema =
|
|
1647
|
-
path:
|
|
1648
|
-
page_id:
|
|
1649
|
-
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()
|
|
1650
1678
|
});
|
|
1651
|
-
var GetPageResponseSchema =
|
|
1679
|
+
var GetPageResponseSchema = import_zod_openapi20.z.object({
|
|
1652
1680
|
page: PageWithRevisionSchema
|
|
1653
1681
|
});
|
|
1654
|
-
var
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
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),
|
|
1659
1688
|
// NOT `z.coerce.boolean()`: that uses JS `Boolean(v)`, so the string
|
|
1660
1689
|
// `"false"` (which is how the web client serialises `false` on the
|
|
1661
1690
|
// query string) coerces to `true`. That silently flipped
|
|
@@ -1663,25 +1692,25 @@ var ListPagesRequestSchema = import_zod_openapi19.z.object({
|
|
|
1663
1692
|
// filter and leak other users' drafts. Parse the string explicitly so
|
|
1664
1693
|
// only `"true"` / `true` is truthy; anything else (incl. `"false"`,
|
|
1665
1694
|
// absent) is `false`.
|
|
1666
|
-
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),
|
|
1667
1696
|
// Sort field + direction for the listing. Defaults preserve the legacy
|
|
1668
1697
|
// "newest-updated first" order so existing callers are unaffected.
|
|
1669
1698
|
// `path` sorts alphabetically by full page path (≈ name order).
|
|
1670
|
-
sort:
|
|
1671
|
-
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"),
|
|
1672
1701
|
// When listing a portal path (`/foo/`), open the portal document at this
|
|
1673
1702
|
// past revision so the catch-all can mirror `?revision_id=` on portals.
|
|
1674
1703
|
// Only the `portalPage` is rewound — the child rows always reflect the
|
|
1675
1704
|
// latest. Absent for normal listings.
|
|
1676
|
-
revision_id:
|
|
1705
|
+
revision_id: import_zod_openapi20.z.string().optional()
|
|
1677
1706
|
});
|
|
1678
|
-
var PagerSchema =
|
|
1679
|
-
prev:
|
|
1680
|
-
next:
|
|
1681
|
-
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()
|
|
1682
1711
|
});
|
|
1683
|
-
var ListPagesResponseSchema =
|
|
1684
|
-
pages:
|
|
1712
|
+
var ListPagesResponseSchema = import_zod_openapi20.z.object({
|
|
1713
|
+
pages: import_zod_openapi20.z.array(PageSchema),
|
|
1685
1714
|
pager: PagerSchema,
|
|
1686
1715
|
portalPage: PageSchema.nullable().optional(),
|
|
1687
1716
|
// When listing a portal path (`/foo/`) that has NO portal document of
|
|
@@ -1693,208 +1722,208 @@ var ListPagesResponseSchema = import_zod_openapi19.z.object({
|
|
|
1693
1722
|
// listings.
|
|
1694
1723
|
contentPage: PageSchema.nullable().optional()
|
|
1695
1724
|
});
|
|
1696
|
-
var PageChildSegmentSchema =
|
|
1725
|
+
var PageChildSegmentSchema = import_zod_openapi20.z.object({
|
|
1697
1726
|
// The bare segment name immediately under the queried path
|
|
1698
1727
|
// (e.g. 'rfc' for /crowi/rfc/... when querying /crowi/).
|
|
1699
|
-
segment:
|
|
1728
|
+
segment: import_zod_openapi20.z.string(),
|
|
1700
1729
|
// Portal-style path for this segment (always trailing-slashed),
|
|
1701
1730
|
// e.g. '/crowi/rfc/'. Drop the trailing slash for the page path when
|
|
1702
1731
|
// the segment is a leaf page (see `isPage`).
|
|
1703
|
-
path:
|
|
1732
|
+
path: import_zod_openapi20.z.string(),
|
|
1704
1733
|
// True when a real page is saved at the segment path itself
|
|
1705
1734
|
// (e.g. `/crowi/rfc`, no trailing slash) — i.e. the segment is a
|
|
1706
1735
|
// navigable page, not only an inferred directory.
|
|
1707
|
-
isPage:
|
|
1736
|
+
isPage: import_zod_openapi20.z.boolean(),
|
|
1708
1737
|
// True when a real portal page is saved at `path` (→ compass icon).
|
|
1709
|
-
hasPortal:
|
|
1738
|
+
hasPortal: import_zod_openapi20.z.boolean(),
|
|
1710
1739
|
// Number of descendant content pages strictly under this segment
|
|
1711
1740
|
// (excludes the segment's own page / portal docs). A rough "how much
|
|
1712
1741
|
// lives here" hint; > 0 means the segment is an expandable directory.
|
|
1713
|
-
count:
|
|
1742
|
+
count: import_zod_openapi20.z.number()
|
|
1714
1743
|
});
|
|
1715
|
-
var ListPageChildrenRequestSchema =
|
|
1744
|
+
var ListPageChildrenRequestSchema = import_zod_openapi20.z.object({
|
|
1716
1745
|
// Portal path to list children of. Trailing slash optional — the
|
|
1717
1746
|
// handler normalises it. '/' lists the top-level segments.
|
|
1718
|
-
path:
|
|
1747
|
+
path: import_zod_openapi20.z.string()
|
|
1719
1748
|
});
|
|
1720
|
-
var ListPageChildrenResponseSchema =
|
|
1749
|
+
var ListPageChildrenResponseSchema = import_zod_openapi20.z.object({
|
|
1721
1750
|
// Sorted alphabetically by segment.
|
|
1722
|
-
children:
|
|
1723
|
-
});
|
|
1724
|
-
var CreatePageRequestSchema =
|
|
1725
|
-
path:
|
|
1726
|
-
body:
|
|
1727
|
-
grant:
|
|
1728
|
-
});
|
|
1729
|
-
var UpdatePageRequestSchema =
|
|
1730
|
-
page_id:
|
|
1731
|
-
body:
|
|
1732
|
-
revision_id:
|
|
1733
|
-
grant:
|
|
1734
|
-
});
|
|
1735
|
-
var RevertToRevisionRequestSchema =
|
|
1736
|
-
page_id:
|
|
1737
|
-
revision_id:
|
|
1738
|
-
});
|
|
1739
|
-
var SetPageGrantRequestSchema =
|
|
1740
|
-
page_id:
|
|
1741
|
-
grant:
|
|
1742
|
-
});
|
|
1743
|
-
var RenamePageRequestSchema =
|
|
1744
|
-
page_id:
|
|
1745
|
-
new_path:
|
|
1746
|
-
revision_id:
|
|
1747
|
-
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(),
|
|
1748
1777
|
// When true, rename the page together with its whole (grant-visible)
|
|
1749
1778
|
// descendant subtree (renameTree) instead of just the single page.
|
|
1750
1779
|
// Defaults to false — the single-page rename behaviour.
|
|
1751
|
-
include_descendants:
|
|
1780
|
+
include_descendants: import_zod_openapi20.z.boolean().optional()
|
|
1752
1781
|
});
|
|
1753
|
-
var RenamePageResponseSchema =
|
|
1782
|
+
var RenamePageResponseSchema = import_zod_openapi20.z.object({
|
|
1754
1783
|
page: PageSchema,
|
|
1755
|
-
renamed_count:
|
|
1756
|
-
});
|
|
1757
|
-
var RenameTreeErrorSchema =
|
|
1758
|
-
error:
|
|
1759
|
-
code:
|
|
1760
|
-
message:
|
|
1761
|
-
conflicts:
|
|
1762
|
-
|
|
1763
|
-
path:
|
|
1764
|
-
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())
|
|
1765
1794
|
})
|
|
1766
1795
|
),
|
|
1767
1796
|
// True when the failure happened after some pages were already moved
|
|
1768
1797
|
// (non-transactional best-effort). When omitted/false the failure was
|
|
1769
1798
|
// detected up-front and nothing was moved.
|
|
1770
|
-
partial:
|
|
1799
|
+
partial: import_zod_openapi20.z.boolean().optional()
|
|
1771
1800
|
})
|
|
1772
1801
|
});
|
|
1773
|
-
var RenameSubtreeRequestSchema =
|
|
1774
|
-
old_path:
|
|
1775
|
-
new_path:
|
|
1776
|
-
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()
|
|
1777
1806
|
});
|
|
1778
|
-
var RenameSubtreeResponseSchema =
|
|
1779
|
-
renamed_count:
|
|
1807
|
+
var RenameSubtreeResponseSchema = import_zod_openapi20.z.object({
|
|
1808
|
+
renamed_count: import_zod_openapi20.z.number()
|
|
1780
1809
|
});
|
|
1781
|
-
var PageNotFoundErrorSchema =
|
|
1782
|
-
error:
|
|
1783
|
-
code:
|
|
1784
|
-
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")
|
|
1785
1814
|
})
|
|
1786
1815
|
});
|
|
1787
|
-
var PageNotGrantedErrorSchema =
|
|
1788
|
-
error:
|
|
1789
|
-
code:
|
|
1790
|
-
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")
|
|
1791
1820
|
})
|
|
1792
1821
|
});
|
|
1793
|
-
var PageRevisionErrorSchema =
|
|
1794
|
-
error:
|
|
1795
|
-
code:
|
|
1796
|
-
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()
|
|
1797
1826
|
})
|
|
1798
1827
|
});
|
|
1799
|
-
var SeenPageRequestSchema =
|
|
1800
|
-
page_id:
|
|
1828
|
+
var SeenPageRequestSchema = import_zod_openapi20.z.object({
|
|
1829
|
+
page_id: import_zod_openapi20.z.string()
|
|
1801
1830
|
});
|
|
1802
|
-
var SeenUsersResponseSchema =
|
|
1803
|
-
seenUsers:
|
|
1804
|
-
seenUsersCount:
|
|
1831
|
+
var SeenUsersResponseSchema = import_zod_openapi20.z.object({
|
|
1832
|
+
seenUsers: import_zod_openapi20.z.array(UserPublicSchema),
|
|
1833
|
+
seenUsersCount: import_zod_openapi20.z.number()
|
|
1805
1834
|
});
|
|
1806
|
-
var GetSeenUsersRequestSchema =
|
|
1807
|
-
page_id:
|
|
1835
|
+
var GetSeenUsersRequestSchema = import_zod_openapi20.z.object({
|
|
1836
|
+
page_id: import_zod_openapi20.z.string(),
|
|
1808
1837
|
// Optional cap on returned `seenUsers`. `seenUsersCount` always reflects
|
|
1809
1838
|
// the full count regardless of `limit`. Omit for the full list.
|
|
1810
|
-
limit:
|
|
1839
|
+
limit: import_zod_openapi20.z.coerce.number().int().positive().optional()
|
|
1811
1840
|
});
|
|
1812
|
-
var GetWatchStatusRequestSchema =
|
|
1813
|
-
page_id:
|
|
1841
|
+
var GetWatchStatusRequestSchema = import_zod_openapi20.z.object({
|
|
1842
|
+
page_id: import_zod_openapi20.z.string()
|
|
1814
1843
|
});
|
|
1815
|
-
var WatchStatusResponseSchema =
|
|
1816
|
-
watching:
|
|
1844
|
+
var WatchStatusResponseSchema = import_zod_openapi20.z.object({
|
|
1845
|
+
watching: import_zod_openapi20.z.boolean()
|
|
1817
1846
|
});
|
|
1818
|
-
var SetWatchStatusRequestSchema =
|
|
1819
|
-
page_id:
|
|
1820
|
-
watching:
|
|
1847
|
+
var SetWatchStatusRequestSchema = import_zod_openapi20.z.object({
|
|
1848
|
+
page_id: import_zod_openapi20.z.string(),
|
|
1849
|
+
watching: import_zod_openapi20.z.boolean()
|
|
1821
1850
|
});
|
|
1822
1851
|
|
|
1823
1852
|
// src/schemas/me.ts
|
|
1824
|
-
var LanguageSchema =
|
|
1825
|
-
var ThemeSchema =
|
|
1826
|
-
var UserProfileResponseSchema =
|
|
1827
|
-
id:
|
|
1828
|
-
username:
|
|
1829
|
-
name:
|
|
1830
|
-
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(),
|
|
1831
1860
|
lang: LanguageSchema,
|
|
1832
1861
|
theme: ThemeSchema,
|
|
1833
|
-
image:
|
|
1834
|
-
introduction:
|
|
1835
|
-
hasPassword:
|
|
1836
|
-
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(),
|
|
1837
1866
|
/**
|
|
1838
1867
|
* True when the profile update requested a new email that is awaiting
|
|
1839
1868
|
* confirmation: the stored `email` is unchanged and a confirmation
|
|
1840
1869
|
* link was sent to the new address.
|
|
1841
1870
|
*/
|
|
1842
|
-
emailChangePending:
|
|
1871
|
+
emailChangePending: import_zod_openapi21.z.boolean().optional()
|
|
1843
1872
|
});
|
|
1844
|
-
var UpdateProfileRequestSchema =
|
|
1845
|
-
userForm:
|
|
1846
|
-
name:
|
|
1847
|
-
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"),
|
|
1848
1877
|
lang: LanguageSchema
|
|
1849
1878
|
})
|
|
1850
1879
|
});
|
|
1851
|
-
var UpdateThemeRequestSchema =
|
|
1880
|
+
var UpdateThemeRequestSchema = import_zod_openapi21.z.object({
|
|
1852
1881
|
theme: ThemeSchema
|
|
1853
1882
|
});
|
|
1854
|
-
var ThemeUpdateResponseSchema =
|
|
1855
|
-
status:
|
|
1883
|
+
var ThemeUpdateResponseSchema = import_zod_openapi21.z.object({
|
|
1884
|
+
status: import_zod_openapi21.z.literal("ok"),
|
|
1856
1885
|
theme: ThemeSchema
|
|
1857
1886
|
});
|
|
1858
|
-
var PictureUploadResponseSchema =
|
|
1859
|
-
status:
|
|
1860
|
-
url:
|
|
1861
|
-
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()
|
|
1862
1891
|
});
|
|
1863
|
-
var SuccessResponseSchema =
|
|
1864
|
-
status:
|
|
1865
|
-
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()
|
|
1866
1895
|
});
|
|
1867
|
-
var ProfileErrorResponseSchema =
|
|
1868
|
-
status:
|
|
1896
|
+
var ProfileErrorResponseSchema = import_zod_openapi21.z.object({
|
|
1897
|
+
status: import_zod_openapi21.z.literal("error"),
|
|
1869
1898
|
/** Stable code so the web can localize the message (e.g. EMAIL_TAKEN). */
|
|
1870
|
-
code:
|
|
1871
|
-
message:
|
|
1872
|
-
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()
|
|
1873
1902
|
});
|
|
1874
1903
|
var PASSWORD_REGEX = /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?`~])[a-zA-Z\d!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?`~]+$/;
|
|
1875
|
-
var UpdatePasswordRequestSchema =
|
|
1876
|
-
oldPassword:
|
|
1877
|
-
newPassword:
|
|
1878
|
-
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()
|
|
1879
1908
|
}).refine((data) => data.newPassword === data.newPasswordConfirm, {
|
|
1880
1909
|
message: "Passwords do not match",
|
|
1881
1910
|
path: ["newPasswordConfirm"]
|
|
1882
1911
|
});
|
|
1883
|
-
var PasswordUpdateSuccessSchema =
|
|
1884
|
-
status:
|
|
1885
|
-
message:
|
|
1912
|
+
var PasswordUpdateSuccessSchema = import_zod_openapi21.z.object({
|
|
1913
|
+
status: import_zod_openapi21.z.literal("ok"),
|
|
1914
|
+
message: import_zod_openapi21.z.string()
|
|
1886
1915
|
});
|
|
1887
|
-
var PasswordErrorResponseSchema =
|
|
1888
|
-
status:
|
|
1889
|
-
message:
|
|
1890
|
-
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()
|
|
1891
1920
|
});
|
|
1892
|
-
var RecentlyViewedPagesResponseSchema =
|
|
1893
|
-
pages:
|
|
1921
|
+
var RecentlyViewedPagesResponseSchema = import_zod_openapi21.z.object({
|
|
1922
|
+
pages: import_zod_openapi21.z.array(PageSchema)
|
|
1894
1923
|
});
|
|
1895
1924
|
|
|
1896
1925
|
// src/contracts/me.ts
|
|
1897
|
-
var getProfileRoute = (0,
|
|
1926
|
+
var getProfileRoute = (0, import_zod_openapi22.createRoute)({
|
|
1898
1927
|
method: "get",
|
|
1899
1928
|
path: "/me",
|
|
1900
1929
|
tags: ["me"],
|
|
@@ -1911,7 +1940,7 @@ var getProfileRoute = (0, import_zod_openapi21.createRoute)({
|
|
|
1911
1940
|
}
|
|
1912
1941
|
}
|
|
1913
1942
|
});
|
|
1914
|
-
var updateProfileRoute = (0,
|
|
1943
|
+
var updateProfileRoute = (0, import_zod_openapi22.createRoute)({
|
|
1915
1944
|
method: "put",
|
|
1916
1945
|
path: "/me",
|
|
1917
1946
|
tags: ["me"],
|
|
@@ -1937,7 +1966,7 @@ var updateProfileRoute = (0, import_zod_openapi21.createRoute)({
|
|
|
1937
1966
|
}
|
|
1938
1967
|
}
|
|
1939
1968
|
});
|
|
1940
|
-
var updateThemeRoute = (0,
|
|
1969
|
+
var updateThemeRoute = (0, import_zod_openapi22.createRoute)({
|
|
1941
1970
|
method: "patch",
|
|
1942
1971
|
path: "/me/theme",
|
|
1943
1972
|
tags: ["me"],
|
|
@@ -1963,7 +1992,7 @@ var updateThemeRoute = (0, import_zod_openapi21.createRoute)({
|
|
|
1963
1992
|
}
|
|
1964
1993
|
}
|
|
1965
1994
|
});
|
|
1966
|
-
var uploadPictureRoute = (0,
|
|
1995
|
+
var uploadPictureRoute = (0, import_zod_openapi22.createRoute)({
|
|
1967
1996
|
method: "post",
|
|
1968
1997
|
path: "/me/picture",
|
|
1969
1998
|
tags: ["me"],
|
|
@@ -1973,8 +2002,8 @@ var uploadPictureRoute = (0, import_zod_openapi21.createRoute)({
|
|
|
1973
2002
|
body: {
|
|
1974
2003
|
content: {
|
|
1975
2004
|
"multipart/form-data": {
|
|
1976
|
-
schema:
|
|
1977
|
-
file:
|
|
2005
|
+
schema: import_zod_openapi22.z.object({
|
|
2006
|
+
file: import_zod_openapi22.z.any().optional().describe("Profile picture file")
|
|
1978
2007
|
})
|
|
1979
2008
|
}
|
|
1980
2009
|
}
|
|
@@ -1995,7 +2024,7 @@ var uploadPictureRoute = (0, import_zod_openapi21.createRoute)({
|
|
|
1995
2024
|
}
|
|
1996
2025
|
}
|
|
1997
2026
|
});
|
|
1998
|
-
var deletePictureRoute = (0,
|
|
2027
|
+
var deletePictureRoute = (0, import_zod_openapi22.createRoute)({
|
|
1999
2028
|
method: "delete",
|
|
2000
2029
|
path: "/me/picture",
|
|
2001
2030
|
tags: ["me"],
|
|
@@ -2016,7 +2045,7 @@ var deletePictureRoute = (0, import_zod_openapi21.createRoute)({
|
|
|
2016
2045
|
}
|
|
2017
2046
|
}
|
|
2018
2047
|
});
|
|
2019
|
-
var updatePasswordRoute = (0,
|
|
2048
|
+
var updatePasswordRoute = (0, import_zod_openapi22.createRoute)({
|
|
2020
2049
|
method: "put",
|
|
2021
2050
|
path: "/me/password",
|
|
2022
2051
|
tags: ["me"],
|
|
@@ -2042,7 +2071,7 @@ var updatePasswordRoute = (0, import_zod_openapi21.createRoute)({
|
|
|
2042
2071
|
}
|
|
2043
2072
|
}
|
|
2044
2073
|
});
|
|
2045
|
-
var recentlyViewedPagesRoute = (0,
|
|
2074
|
+
var recentlyViewedPagesRoute = (0, import_zod_openapi22.createRoute)({
|
|
2046
2075
|
method: "get",
|
|
2047
2076
|
path: "/me/recently-viewed-pages",
|
|
2048
2077
|
tags: ["me"],
|
|
@@ -2074,43 +2103,43 @@ var meRoutes = {
|
|
|
2074
2103
|
};
|
|
2075
2104
|
|
|
2076
2105
|
// src/contracts/access-token.ts
|
|
2077
|
-
var
|
|
2106
|
+
var import_zod_openapi24 = require("@hono/zod-openapi");
|
|
2078
2107
|
|
|
2079
2108
|
// src/schemas/access-token.ts
|
|
2080
|
-
var
|
|
2081
|
-
var AccessTokenSchema =
|
|
2082
|
-
id:
|
|
2083
|
-
name:
|
|
2084
|
-
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()),
|
|
2085
2114
|
/** ISO-8601 expiry, or `null` for a non-expiring token. */
|
|
2086
|
-
expiresAt:
|
|
2115
|
+
expiresAt: import_zod_openapi23.z.string().nullable(),
|
|
2087
2116
|
/** ISO-8601 of last successful use, or `null` if never used. */
|
|
2088
|
-
lastUsedAt:
|
|
2089
|
-
createdAt:
|
|
2117
|
+
lastUsedAt: import_zod_openapi23.z.string().nullable(),
|
|
2118
|
+
createdAt: import_zod_openapi23.z.string()
|
|
2090
2119
|
});
|
|
2091
|
-
var ListAccessTokensResponseSchema =
|
|
2092
|
-
accessTokens:
|
|
2120
|
+
var ListAccessTokensResponseSchema = import_zod_openapi23.z.object({
|
|
2121
|
+
accessTokens: import_zod_openapi23.z.array(AccessTokenSchema)
|
|
2093
2122
|
});
|
|
2094
|
-
var CreateAccessTokenRequestSchema =
|
|
2095
|
-
name:
|
|
2096
|
-
scopes:
|
|
2097
|
-
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()
|
|
2098
2127
|
});
|
|
2099
2128
|
var CreateAccessTokenResponseSchema = AccessTokenSchema.extend({
|
|
2100
|
-
token:
|
|
2101
|
-
});
|
|
2102
|
-
var InvalidScopeErrorSchema =
|
|
2103
|
-
error:
|
|
2104
|
-
code:
|
|
2105
|
-
message:
|
|
2106
|
-
details:
|
|
2107
|
-
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())
|
|
2108
2137
|
}).optional()
|
|
2109
2138
|
})
|
|
2110
2139
|
});
|
|
2111
2140
|
|
|
2112
2141
|
// src/contracts/access-token.ts
|
|
2113
|
-
var listAccessTokensRoute = (0,
|
|
2142
|
+
var listAccessTokensRoute = (0, import_zod_openapi24.createRoute)({
|
|
2114
2143
|
method: "get",
|
|
2115
2144
|
path: "/me/access-tokens",
|
|
2116
2145
|
tags: ["me"],
|
|
@@ -2135,7 +2164,7 @@ var listAccessTokensRoute = (0, import_zod_openapi23.createRoute)({
|
|
|
2135
2164
|
}
|
|
2136
2165
|
}
|
|
2137
2166
|
});
|
|
2138
|
-
var createAccessTokenRoute = (0,
|
|
2167
|
+
var createAccessTokenRoute = (0, import_zod_openapi24.createRoute)({
|
|
2139
2168
|
method: "post",
|
|
2140
2169
|
path: "/me/access-tokens",
|
|
2141
2170
|
tags: ["me"],
|
|
@@ -2169,14 +2198,14 @@ var createAccessTokenRoute = (0, import_zod_openapi23.createRoute)({
|
|
|
2169
2198
|
}
|
|
2170
2199
|
}
|
|
2171
2200
|
});
|
|
2172
|
-
var deleteAccessTokenRoute = (0,
|
|
2201
|
+
var deleteAccessTokenRoute = (0, import_zod_openapi24.createRoute)({
|
|
2173
2202
|
method: "delete",
|
|
2174
2203
|
path: "/me/access-tokens/{id}",
|
|
2175
2204
|
tags: ["me"],
|
|
2176
2205
|
security: [{ bearerAuth: [] }],
|
|
2177
2206
|
summary: "Revoke a personal access token",
|
|
2178
2207
|
request: {
|
|
2179
|
-
params:
|
|
2208
|
+
params: import_zod_openapi24.z.object({ id: import_zod_openapi24.z.string() })
|
|
2180
2209
|
},
|
|
2181
2210
|
responses: {
|
|
2182
2211
|
200: {
|
|
@@ -2208,13 +2237,13 @@ var accessTokenRoutes = {
|
|
|
2208
2237
|
};
|
|
2209
2238
|
|
|
2210
2239
|
// src/contracts/oauth.ts
|
|
2211
|
-
var
|
|
2240
|
+
var import_zod_openapi27 = require("@hono/zod-openapi");
|
|
2212
2241
|
|
|
2213
2242
|
// src/schemas/oauth-endpoints.ts
|
|
2214
|
-
var
|
|
2243
|
+
var import_zod_openapi26 = require("@hono/zod-openapi");
|
|
2215
2244
|
|
|
2216
2245
|
// src/schemas/oauth.ts
|
|
2217
|
-
var
|
|
2246
|
+
var import_zod_openapi25 = require("@hono/zod-openapi");
|
|
2218
2247
|
var SCOPES = [
|
|
2219
2248
|
// umbrella
|
|
2220
2249
|
"read",
|
|
@@ -2282,11 +2311,11 @@ function scopeSatisfies(required, granted) {
|
|
|
2282
2311
|
return false;
|
|
2283
2312
|
}
|
|
2284
2313
|
var InsufficientScopeErrorSchema = ApiErrorSchema.extend({
|
|
2285
|
-
error:
|
|
2286
|
-
code:
|
|
2287
|
-
message:
|
|
2288
|
-
details:
|
|
2289
|
-
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()
|
|
2290
2319
|
}).optional()
|
|
2291
2320
|
})
|
|
2292
2321
|
});
|
|
@@ -2305,96 +2334,96 @@ var OAUTH_ERROR_CODES = [
|
|
|
2305
2334
|
"slow_down",
|
|
2306
2335
|
"expired_token"
|
|
2307
2336
|
];
|
|
2308
|
-
var OAuthErrorSchema =
|
|
2309
|
-
error:
|
|
2310
|
-
error_description:
|
|
2311
|
-
});
|
|
2312
|
-
var AuthorizeRequestSchema =
|
|
2313
|
-
client_id:
|
|
2314
|
-
redirect_uri:
|
|
2315
|
-
scope:
|
|
2316
|
-
code_challenge:
|
|
2317
|
-
code_challenge_method:
|
|
2318
|
-
state:
|
|
2319
|
-
});
|
|
2320
|
-
var AuthorizeResponseSchema =
|
|
2321
|
-
redirectUri:
|
|
2322
|
-
});
|
|
2323
|
-
var TokenRequestSchema =
|
|
2324
|
-
|
|
2325
|
-
grant_type:
|
|
2326
|
-
code:
|
|
2327
|
-
code_verifier:
|
|
2328
|
-
redirect_uri:
|
|
2329
|
-
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)
|
|
2330
2359
|
}),
|
|
2331
|
-
|
|
2332
|
-
grant_type:
|
|
2333
|
-
refresh_token:
|
|
2334
|
-
client_id:
|
|
2335
|
-
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()
|
|
2336
2365
|
}),
|
|
2337
2366
|
// RFC 8628 §3.4 — device authorization grant. The client polls with the
|
|
2338
2367
|
// opaque `device_code` returned by `/oauth/device/authorize`.
|
|
2339
|
-
|
|
2340
|
-
grant_type:
|
|
2341
|
-
device_code:
|
|
2342
|
-
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)
|
|
2343
2372
|
})
|
|
2344
2373
|
]);
|
|
2345
2374
|
var DEVICE_CODE_GRANT_TYPE = "urn:ietf:params:oauth:grant-type:device_code";
|
|
2346
|
-
var TokenResponseSchema =
|
|
2347
|
-
access_token:
|
|
2348
|
-
token_type:
|
|
2349
|
-
expires_in:
|
|
2350
|
-
refresh_token:
|
|
2351
|
-
scope:
|
|
2352
|
-
});
|
|
2353
|
-
var RevokeRequestSchema =
|
|
2354
|
-
token:
|
|
2355
|
-
token_type_hint:
|
|
2356
|
-
});
|
|
2357
|
-
var RevokeResponseSchema =
|
|
2358
|
-
var DeviceAuthorizeRequestSchema =
|
|
2359
|
-
client_id:
|
|
2360
|
-
scope:
|
|
2361
|
-
});
|
|
2362
|
-
var DeviceAuthorizeResponseSchema =
|
|
2363
|
-
device_code:
|
|
2364
|
-
user_code:
|
|
2365
|
-
verification_uri:
|
|
2366
|
-
verification_uri_complete:
|
|
2367
|
-
expires_in:
|
|
2368
|
-
interval:
|
|
2369
|
-
});
|
|
2370
|
-
var DeviceVerifyRequestSchema =
|
|
2371
|
-
user_code:
|
|
2372
|
-
action:
|
|
2373
|
-
});
|
|
2374
|
-
var DeviceVerifyResponseSchema =
|
|
2375
|
-
status:
|
|
2376
|
-
});
|
|
2377
|
-
var DeviceInfoResponseSchema =
|
|
2378
|
-
client_id:
|
|
2379
|
-
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())
|
|
2380
2409
|
});
|
|
2381
2410
|
var GRANT_TYPES_SUPPORTED = ["authorization_code", "refresh_token", DEVICE_CODE_GRANT_TYPE];
|
|
2382
|
-
var DiscoveryResponseSchema =
|
|
2383
|
-
issuer:
|
|
2384
|
-
authorization_endpoint:
|
|
2385
|
-
token_endpoint:
|
|
2386
|
-
revocation_endpoint:
|
|
2387
|
-
device_authorization_endpoint:
|
|
2388
|
-
scopes_supported:
|
|
2389
|
-
response_types_supported:
|
|
2390
|
-
grant_types_supported:
|
|
2391
|
-
code_challenge_methods_supported:
|
|
2392
|
-
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())
|
|
2393
2422
|
});
|
|
2394
2423
|
var DISCOVERY_SCOPES_SUPPORTED = ISSUABLE_SCOPES;
|
|
2395
2424
|
|
|
2396
2425
|
// src/contracts/oauth.ts
|
|
2397
|
-
var authorizeRoute = (0,
|
|
2426
|
+
var authorizeRoute = (0, import_zod_openapi27.createRoute)({
|
|
2398
2427
|
method: "post",
|
|
2399
2428
|
path: "/oauth/authorize",
|
|
2400
2429
|
tags: ["oauth"],
|
|
@@ -2424,7 +2453,7 @@ var authorizeRoute = (0, import_zod_openapi26.createRoute)({
|
|
|
2424
2453
|
}
|
|
2425
2454
|
}
|
|
2426
2455
|
});
|
|
2427
|
-
var tokenRoute = (0,
|
|
2456
|
+
var tokenRoute = (0, import_zod_openapi27.createRoute)({
|
|
2428
2457
|
method: "post",
|
|
2429
2458
|
path: "/oauth/token",
|
|
2430
2459
|
tags: ["oauth"],
|
|
@@ -2456,7 +2485,7 @@ var tokenRoute = (0, import_zod_openapi26.createRoute)({
|
|
|
2456
2485
|
}
|
|
2457
2486
|
}
|
|
2458
2487
|
});
|
|
2459
|
-
var revokeRoute = (0,
|
|
2488
|
+
var revokeRoute = (0, import_zod_openapi27.createRoute)({
|
|
2460
2489
|
method: "post",
|
|
2461
2490
|
path: "/oauth/revoke",
|
|
2462
2491
|
tags: ["oauth"],
|
|
@@ -2476,7 +2505,7 @@ var revokeRoute = (0, import_zod_openapi26.createRoute)({
|
|
|
2476
2505
|
}
|
|
2477
2506
|
}
|
|
2478
2507
|
});
|
|
2479
|
-
var discoveryRoute = (0,
|
|
2508
|
+
var discoveryRoute = (0, import_zod_openapi27.createRoute)({
|
|
2480
2509
|
method: "get",
|
|
2481
2510
|
path: "/.well-known/oauth-authorization-server",
|
|
2482
2511
|
tags: ["oauth"],
|
|
@@ -2488,7 +2517,7 @@ var discoveryRoute = (0, import_zod_openapi26.createRoute)({
|
|
|
2488
2517
|
}
|
|
2489
2518
|
}
|
|
2490
2519
|
});
|
|
2491
|
-
var deviceAuthorizeRoute = (0,
|
|
2520
|
+
var deviceAuthorizeRoute = (0, import_zod_openapi27.createRoute)({
|
|
2492
2521
|
method: "post",
|
|
2493
2522
|
path: "/oauth/device/authorize",
|
|
2494
2523
|
tags: ["oauth"],
|
|
@@ -2516,7 +2545,7 @@ var deviceAuthorizeRoute = (0, import_zod_openapi26.createRoute)({
|
|
|
2516
2545
|
}
|
|
2517
2546
|
}
|
|
2518
2547
|
});
|
|
2519
|
-
var deviceInfoRoute = (0,
|
|
2548
|
+
var deviceInfoRoute = (0, import_zod_openapi27.createRoute)({
|
|
2520
2549
|
method: "get",
|
|
2521
2550
|
path: "/oauth/device",
|
|
2522
2551
|
tags: ["oauth"],
|
|
@@ -2525,7 +2554,7 @@ var deviceInfoRoute = (0, import_zod_openapi26.createRoute)({
|
|
|
2525
2554
|
// scopes so the web consent screen can show them before approval. Reveals
|
|
2526
2555
|
// no secret. Unknown / expired / non-pending → 404 (PHASE4-Q9 option A).
|
|
2527
2556
|
request: {
|
|
2528
|
-
query:
|
|
2557
|
+
query: import_zod_openapi27.z.object({ user_code: import_zod_openapi27.z.string().min(1) })
|
|
2529
2558
|
},
|
|
2530
2559
|
responses: {
|
|
2531
2560
|
200: {
|
|
@@ -2538,7 +2567,7 @@ var deviceInfoRoute = (0, import_zod_openapi26.createRoute)({
|
|
|
2538
2567
|
}
|
|
2539
2568
|
}
|
|
2540
2569
|
});
|
|
2541
|
-
var deviceVerifyRoute = (0,
|
|
2570
|
+
var deviceVerifyRoute = (0, import_zod_openapi27.createRoute)({
|
|
2542
2571
|
method: "post",
|
|
2543
2572
|
path: "/oauth/device/verify",
|
|
2544
2573
|
tags: ["oauth"],
|
|
@@ -2579,95 +2608,95 @@ var oauthRoutes = {
|
|
|
2579
2608
|
};
|
|
2580
2609
|
|
|
2581
2610
|
// src/contracts/user.ts
|
|
2582
|
-
var
|
|
2611
|
+
var import_zod_openapi30 = require("@hono/zod-openapi");
|
|
2583
2612
|
|
|
2584
2613
|
// src/schemas/user.ts
|
|
2585
|
-
var
|
|
2614
|
+
var import_zod_openapi29 = require("@hono/zod-openapi");
|
|
2586
2615
|
|
|
2587
2616
|
// src/schemas/bookmark.ts
|
|
2588
|
-
var
|
|
2589
|
-
var BookmarkSchema =
|
|
2590
|
-
_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(),
|
|
2591
2620
|
page: PageSchema,
|
|
2592
|
-
user:
|
|
2593
|
-
createdAt:
|
|
2621
|
+
user: import_zod_openapi28.z.union([import_zod_openapi28.z.string(), UserPublicSchema]),
|
|
2622
|
+
createdAt: import_zod_openapi28.z.string()
|
|
2594
2623
|
});
|
|
2595
|
-
var GetBookmarkRequestSchema =
|
|
2596
|
-
page_id:
|
|
2624
|
+
var GetBookmarkRequestSchema = import_zod_openapi28.z.object({
|
|
2625
|
+
page_id: import_zod_openapi28.z.string()
|
|
2597
2626
|
});
|
|
2598
|
-
var BookmarkResponseSchema =
|
|
2627
|
+
var BookmarkResponseSchema = import_zod_openapi28.z.object({
|
|
2599
2628
|
bookmark: BookmarkSchema.nullable()
|
|
2600
2629
|
});
|
|
2601
|
-
var ListMyBookmarksResponseSchema =
|
|
2602
|
-
bookmarks:
|
|
2630
|
+
var ListMyBookmarksResponseSchema = import_zod_openapi28.z.object({
|
|
2631
|
+
bookmarks: import_zod_openapi28.z.array(BookmarkSchema),
|
|
2603
2632
|
pager: PagerSchema,
|
|
2604
|
-
total:
|
|
2633
|
+
total: import_zod_openapi28.z.number()
|
|
2605
2634
|
});
|
|
2606
|
-
var AddBookmarkRequestSchema =
|
|
2607
|
-
page_id:
|
|
2635
|
+
var AddBookmarkRequestSchema = import_zod_openapi28.z.object({
|
|
2636
|
+
page_id: import_zod_openapi28.z.string()
|
|
2608
2637
|
});
|
|
2609
|
-
var RemoveBookmarkRequestSchema =
|
|
2610
|
-
page_id:
|
|
2638
|
+
var RemoveBookmarkRequestSchema = import_zod_openapi28.z.object({
|
|
2639
|
+
page_id: import_zod_openapi28.z.string()
|
|
2611
2640
|
});
|
|
2612
|
-
var RemoveBookmarkResponseSchema =
|
|
2613
|
-
ok:
|
|
2641
|
+
var RemoveBookmarkResponseSchema = import_zod_openapi28.z.object({
|
|
2642
|
+
ok: import_zod_openapi28.z.literal(true)
|
|
2614
2643
|
});
|
|
2615
2644
|
|
|
2616
2645
|
// src/schemas/user.ts
|
|
2617
|
-
var UserStatusSchema =
|
|
2646
|
+
var UserStatusSchema = import_zod_openapi29.z.enum(["1", "2", "3", "4", "5"]).transform((val) => Number(val));
|
|
2618
2647
|
var UserStatusEnum = UserPublicStatus;
|
|
2619
|
-
var UserLanguageSchema =
|
|
2620
|
-
var PaginationRequestSchema =
|
|
2621
|
-
limit:
|
|
2622
|
-
offset:
|
|
2623
|
-
});
|
|
2624
|
-
var UserListItemSchema =
|
|
2625
|
-
_id:
|
|
2626
|
-
username:
|
|
2627
|
-
name:
|
|
2628
|
-
image:
|
|
2629
|
-
});
|
|
2630
|
-
var ListUsersRequestSchema =
|
|
2631
|
-
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(),
|
|
2632
2661
|
// Cap the page size so a client can't request the whole user table in one
|
|
2633
2662
|
// unbounded find+sort (mirrors the page-list `limit` guard).
|
|
2634
|
-
limit:
|
|
2635
|
-
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)
|
|
2636
2665
|
});
|
|
2637
|
-
var ListUsersResponseSchema =
|
|
2638
|
-
users:
|
|
2666
|
+
var ListUsersResponseSchema = import_zod_openapi29.z.object({
|
|
2667
|
+
users: import_zod_openapi29.z.array(UserListItemSchema),
|
|
2639
2668
|
pager: PagerSchema,
|
|
2640
|
-
total:
|
|
2669
|
+
total: import_zod_openapi29.z.number()
|
|
2641
2670
|
});
|
|
2642
|
-
var UserPageResponseSchema =
|
|
2671
|
+
var UserPageResponseSchema = import_zod_openapi29.z.object({
|
|
2643
2672
|
user: UserPublicSchema,
|
|
2644
2673
|
// Page statistics
|
|
2645
|
-
createdPagesCount:
|
|
2646
|
-
bookmarksCount:
|
|
2674
|
+
createdPagesCount: import_zod_openapi29.z.number(),
|
|
2675
|
+
bookmarksCount: import_zod_openapi29.z.number(),
|
|
2647
2676
|
// Optionally include recent items for initial display
|
|
2648
|
-
recentPages:
|
|
2649
|
-
recentBookmarks:
|
|
2677
|
+
recentPages: import_zod_openapi29.z.array(PageSchema).optional(),
|
|
2678
|
+
recentBookmarks: import_zod_openapi29.z.array(BookmarkSchema).optional()
|
|
2650
2679
|
});
|
|
2651
|
-
var UserBookmarksResponseSchema =
|
|
2652
|
-
bookmarks:
|
|
2680
|
+
var UserBookmarksResponseSchema = import_zod_openapi29.z.object({
|
|
2681
|
+
bookmarks: import_zod_openapi29.z.array(BookmarkSchema),
|
|
2653
2682
|
pager: PagerSchema,
|
|
2654
|
-
total:
|
|
2683
|
+
total: import_zod_openapi29.z.number()
|
|
2655
2684
|
});
|
|
2656
|
-
var UserPagesResponseSchema =
|
|
2657
|
-
pages:
|
|
2685
|
+
var UserPagesResponseSchema = import_zod_openapi29.z.object({
|
|
2686
|
+
pages: import_zod_openapi29.z.array(PageSchema),
|
|
2658
2687
|
pager: PagerSchema,
|
|
2659
|
-
total:
|
|
2688
|
+
total: import_zod_openapi29.z.number()
|
|
2660
2689
|
});
|
|
2661
|
-
var UserNotFoundErrorSchema =
|
|
2662
|
-
error:
|
|
2663
|
-
code:
|
|
2664
|
-
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")
|
|
2665
2694
|
})
|
|
2666
2695
|
});
|
|
2667
2696
|
|
|
2668
2697
|
// src/contracts/user.ts
|
|
2669
|
-
var UsernameParamSchema =
|
|
2670
|
-
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)({
|
|
2671
2700
|
method: "get",
|
|
2672
2701
|
path: "/user/{username}",
|
|
2673
2702
|
tags: ["user"],
|
|
@@ -2695,7 +2724,7 @@ var getUserPageRoute = (0, import_zod_openapi29.createRoute)({
|
|
|
2695
2724
|
}
|
|
2696
2725
|
}
|
|
2697
2726
|
});
|
|
2698
|
-
var getUserBookmarksRoute = (0,
|
|
2727
|
+
var getUserBookmarksRoute = (0, import_zod_openapi30.createRoute)({
|
|
2699
2728
|
method: "get",
|
|
2700
2729
|
path: "/user/{username}/bookmarks",
|
|
2701
2730
|
tags: ["user"],
|
|
@@ -2724,7 +2753,7 @@ var getUserBookmarksRoute = (0, import_zod_openapi29.createRoute)({
|
|
|
2724
2753
|
}
|
|
2725
2754
|
}
|
|
2726
2755
|
});
|
|
2727
|
-
var getUserPagesRoute = (0,
|
|
2756
|
+
var getUserPagesRoute = (0, import_zod_openapi30.createRoute)({
|
|
2728
2757
|
method: "get",
|
|
2729
2758
|
path: "/user/{username}/pages",
|
|
2730
2759
|
tags: ["user"],
|
|
@@ -2753,7 +2782,7 @@ var getUserPagesRoute = (0, import_zod_openapi29.createRoute)({
|
|
|
2753
2782
|
}
|
|
2754
2783
|
}
|
|
2755
2784
|
});
|
|
2756
|
-
var listMembersRoute = (0,
|
|
2785
|
+
var listMembersRoute = (0, import_zod_openapi30.createRoute)({
|
|
2757
2786
|
method: "get",
|
|
2758
2787
|
path: "/users",
|
|
2759
2788
|
tags: ["user"],
|
|
@@ -2785,8 +2814,8 @@ var userRoutes = {
|
|
|
2785
2814
|
};
|
|
2786
2815
|
|
|
2787
2816
|
// src/contracts/bookmark.ts
|
|
2788
|
-
var
|
|
2789
|
-
var getBookmarkRoute = (0,
|
|
2817
|
+
var import_zod_openapi31 = require("@hono/zod-openapi");
|
|
2818
|
+
var getBookmarkRoute = (0, import_zod_openapi31.createRoute)({
|
|
2790
2819
|
method: "get",
|
|
2791
2820
|
path: "/bookmarks",
|
|
2792
2821
|
tags: ["bookmark"],
|
|
@@ -2814,7 +2843,7 @@ var getBookmarkRoute = (0, import_zod_openapi30.createRoute)({
|
|
|
2814
2843
|
}
|
|
2815
2844
|
}
|
|
2816
2845
|
});
|
|
2817
|
-
var listMyBookmarksRoute = (0,
|
|
2846
|
+
var listMyBookmarksRoute = (0, import_zod_openapi31.createRoute)({
|
|
2818
2847
|
method: "get",
|
|
2819
2848
|
path: "/bookmarks/me",
|
|
2820
2849
|
tags: ["bookmark"],
|
|
@@ -2838,7 +2867,7 @@ var listMyBookmarksRoute = (0, import_zod_openapi30.createRoute)({
|
|
|
2838
2867
|
}
|
|
2839
2868
|
}
|
|
2840
2869
|
});
|
|
2841
|
-
var addBookmarkRoute = (0,
|
|
2870
|
+
var addBookmarkRoute = (0, import_zod_openapi31.createRoute)({
|
|
2842
2871
|
method: "post",
|
|
2843
2872
|
path: "/bookmarks",
|
|
2844
2873
|
tags: ["bookmark"],
|
|
@@ -2868,7 +2897,7 @@ var addBookmarkRoute = (0, import_zod_openapi30.createRoute)({
|
|
|
2868
2897
|
}
|
|
2869
2898
|
}
|
|
2870
2899
|
});
|
|
2871
|
-
var removeBookmarkRoute = (0,
|
|
2900
|
+
var removeBookmarkRoute = (0, import_zod_openapi31.createRoute)({
|
|
2872
2901
|
method: "delete",
|
|
2873
2902
|
path: "/bookmarks",
|
|
2874
2903
|
tags: ["bookmark"],
|
|
@@ -2906,41 +2935,41 @@ var bookmarkRoutes = {
|
|
|
2906
2935
|
};
|
|
2907
2936
|
|
|
2908
2937
|
// src/contracts/backlink.ts
|
|
2909
|
-
var
|
|
2938
|
+
var import_zod_openapi33 = require("@hono/zod-openapi");
|
|
2910
2939
|
|
|
2911
2940
|
// src/schemas/backlink.ts
|
|
2912
|
-
var
|
|
2913
|
-
var ObjectIdString =
|
|
2914
|
-
var BacklinkFromPageSchema =
|
|
2915
|
-
_id:
|
|
2916
|
-
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()
|
|
2917
2946
|
});
|
|
2918
|
-
var BacklinkFromRevisionSchema =
|
|
2919
|
-
_id:
|
|
2947
|
+
var BacklinkFromRevisionSchema = import_zod_openapi32.z.object({
|
|
2948
|
+
_id: import_zod_openapi32.z.string(),
|
|
2920
2949
|
author: UserPublicSchema.nullable().optional()
|
|
2921
2950
|
});
|
|
2922
|
-
var BacklinkSchema =
|
|
2923
|
-
_id:
|
|
2951
|
+
var BacklinkSchema = import_zod_openapi32.z.object({
|
|
2952
|
+
_id: import_zod_openapi32.z.string(),
|
|
2924
2953
|
// The destination page's id (the page being linked TO). Always the
|
|
2925
2954
|
// page passed in the request, but echoed for cache-key parity with the
|
|
2926
2955
|
// legacy response.
|
|
2927
|
-
page:
|
|
2956
|
+
page: import_zod_openapi32.z.string(),
|
|
2928
2957
|
fromPage: BacklinkFromPageSchema,
|
|
2929
2958
|
fromRevision: BacklinkFromRevisionSchema,
|
|
2930
|
-
updatedAt:
|
|
2959
|
+
updatedAt: import_zod_openapi32.z.string()
|
|
2931
2960
|
});
|
|
2932
|
-
var GetBacklinksRequestSchema =
|
|
2961
|
+
var GetBacklinksRequestSchema = import_zod_openapi32.z.object({
|
|
2933
2962
|
page_id: ObjectIdString,
|
|
2934
|
-
limit:
|
|
2935
|
-
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)
|
|
2936
2965
|
});
|
|
2937
|
-
var GetBacklinksResponseSchema =
|
|
2938
|
-
backlinks:
|
|
2939
|
-
hasNext:
|
|
2966
|
+
var GetBacklinksResponseSchema = import_zod_openapi32.z.object({
|
|
2967
|
+
backlinks: import_zod_openapi32.z.array(BacklinkSchema),
|
|
2968
|
+
hasNext: import_zod_openapi32.z.boolean()
|
|
2940
2969
|
});
|
|
2941
2970
|
|
|
2942
2971
|
// src/contracts/backlink.ts
|
|
2943
|
-
var getBacklinksRoute = (0,
|
|
2972
|
+
var getBacklinksRoute = (0, import_zod_openapi33.createRoute)({
|
|
2944
2973
|
method: "get",
|
|
2945
2974
|
path: "/backlinks",
|
|
2946
2975
|
tags: ["backlink"],
|
|
@@ -2961,6 +2990,10 @@ var getBacklinksRoute = (0, import_zod_openapi32.createRoute)({
|
|
|
2961
2990
|
401: {
|
|
2962
2991
|
description: "Authentication required",
|
|
2963
2992
|
content: { "application/json": { schema: AuthenticationRequiredErrorSchema } }
|
|
2993
|
+
},
|
|
2994
|
+
404: {
|
|
2995
|
+
description: "Page not found or not granted",
|
|
2996
|
+
content: { "application/json": { schema: PageNotFoundErrorSchema } }
|
|
2964
2997
|
}
|
|
2965
2998
|
}
|
|
2966
2999
|
});
|
|
@@ -2969,59 +3002,59 @@ var backlinkRoutes = {
|
|
|
2969
3002
|
};
|
|
2970
3003
|
|
|
2971
3004
|
// src/contracts/comment.ts
|
|
2972
|
-
var
|
|
3005
|
+
var import_zod_openapi35 = require("@hono/zod-openapi");
|
|
2973
3006
|
|
|
2974
3007
|
// src/schemas/comment.ts
|
|
2975
|
-
var
|
|
2976
|
-
var CommentSchema =
|
|
2977
|
-
_id:
|
|
2978
|
-
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(),
|
|
2979
3012
|
// creator is populated to a user object on the API side; allow string fallback for safety
|
|
2980
|
-
creator:
|
|
2981
|
-
revision:
|
|
2982
|
-
comment:
|
|
2983
|
-
commentPosition:
|
|
2984
|
-
createdAt:
|
|
2985
|
-
});
|
|
2986
|
-
var ListCommentsRequestSchema =
|
|
2987
|
-
page_id:
|
|
2988
|
-
revision_id:
|
|
2989
|
-
});
|
|
2990
|
-
var ListCommentsResponseSchema =
|
|
2991
|
-
comments:
|
|
2992
|
-
});
|
|
2993
|
-
var AddCommentRequestSchema =
|
|
2994
|
-
page_id:
|
|
2995
|
-
revision_id:
|
|
2996
|
-
comment:
|
|
2997
|
-
comment_position:
|
|
2998
|
-
});
|
|
2999
|
-
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({
|
|
3000
3033
|
comment: CommentSchema,
|
|
3001
|
-
newlyWatching:
|
|
3034
|
+
newlyWatching: import_zod_openapi34.z.boolean()
|
|
3002
3035
|
});
|
|
3003
|
-
var DeleteCommentRequestSchema =
|
|
3004
|
-
comment_id:
|
|
3005
|
-
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")
|
|
3006
3039
|
});
|
|
3007
|
-
var DeleteCommentResponseSchema =
|
|
3008
|
-
ok:
|
|
3040
|
+
var DeleteCommentResponseSchema = import_zod_openapi34.z.object({
|
|
3041
|
+
ok: import_zod_openapi34.z.literal(true)
|
|
3009
3042
|
});
|
|
3010
|
-
var CommentNotFoundErrorSchema =
|
|
3011
|
-
error:
|
|
3012
|
-
code:
|
|
3013
|
-
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")
|
|
3014
3047
|
})
|
|
3015
3048
|
});
|
|
3016
|
-
var CommentInvalidRequestErrorSchema =
|
|
3017
|
-
error:
|
|
3018
|
-
code:
|
|
3019
|
-
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()
|
|
3020
3053
|
})
|
|
3021
3054
|
});
|
|
3022
3055
|
|
|
3023
3056
|
// src/contracts/comment.ts
|
|
3024
|
-
var listCommentsRoute = (0,
|
|
3057
|
+
var listCommentsRoute = (0, import_zod_openapi35.createRoute)({
|
|
3025
3058
|
method: "get",
|
|
3026
3059
|
path: "/comments",
|
|
3027
3060
|
tags: ["comment"],
|
|
@@ -3049,7 +3082,7 @@ var listCommentsRoute = (0, import_zod_openapi34.createRoute)({
|
|
|
3049
3082
|
}
|
|
3050
3083
|
}
|
|
3051
3084
|
});
|
|
3052
|
-
var addCommentRoute = (0,
|
|
3085
|
+
var addCommentRoute = (0, import_zod_openapi35.createRoute)({
|
|
3053
3086
|
method: "post",
|
|
3054
3087
|
path: "/comments",
|
|
3055
3088
|
tags: ["comment"],
|
|
@@ -3079,7 +3112,7 @@ var addCommentRoute = (0, import_zod_openapi34.createRoute)({
|
|
|
3079
3112
|
}
|
|
3080
3113
|
}
|
|
3081
3114
|
});
|
|
3082
|
-
var deleteCommentRoute = (0,
|
|
3115
|
+
var deleteCommentRoute = (0, import_zod_openapi35.createRoute)({
|
|
3083
3116
|
method: "delete",
|
|
3084
3117
|
path: "/comments",
|
|
3085
3118
|
tags: ["comment"],
|
|
@@ -3120,50 +3153,50 @@ var commentRoutes = {
|
|
|
3120
3153
|
};
|
|
3121
3154
|
|
|
3122
3155
|
// src/contracts/revision.ts
|
|
3123
|
-
var
|
|
3156
|
+
var import_zod_openapi37 = require("@hono/zod-openapi");
|
|
3124
3157
|
|
|
3125
3158
|
// src/schemas/revision.ts
|
|
3126
|
-
var
|
|
3127
|
-
var RevisionMetaSchema =
|
|
3128
|
-
_id:
|
|
3129
|
-
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(),
|
|
3130
3163
|
author: PageUserSchema.nullable().optional(),
|
|
3131
3164
|
savedBy: PageUserSchema.nullable().optional(),
|
|
3132
|
-
contributors:
|
|
3165
|
+
contributors: import_zod_openapi36.z.array(PageUserSchema).optional(),
|
|
3133
3166
|
// RFC-0010 — edit channel. `web` (browser / collab editor) vs the API
|
|
3134
3167
|
// token paths (`oauth` / `pat`). Absent on pre-RFC-0010 revisions. The
|
|
3135
3168
|
// history UI shows an "app" chip for the token paths.
|
|
3136
|
-
editVia:
|
|
3137
|
-
createdAt:
|
|
3169
|
+
editVia: import_zod_openapi36.z.enum(["web", "oauth", "pat"]).optional(),
|
|
3170
|
+
createdAt: import_zod_openapi36.z.string()
|
|
3138
3171
|
});
|
|
3139
|
-
var ListRevisionsRequestSchema =
|
|
3140
|
-
limit:
|
|
3141
|
-
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)
|
|
3142
3175
|
});
|
|
3143
|
-
var ListRevisionsResponseSchema =
|
|
3144
|
-
revisions:
|
|
3176
|
+
var ListRevisionsResponseSchema = import_zod_openapi36.z.object({
|
|
3177
|
+
revisions: import_zod_openapi36.z.array(RevisionMetaSchema),
|
|
3145
3178
|
pager: PagerSchema
|
|
3146
3179
|
});
|
|
3147
|
-
var GetRevisionResponseSchema =
|
|
3180
|
+
var GetRevisionResponseSchema = import_zod_openapi36.z.object({
|
|
3148
3181
|
revision: RevisionSchema
|
|
3149
3182
|
});
|
|
3150
|
-
var GetRevisionsRequestSchema =
|
|
3151
|
-
ids:
|
|
3183
|
+
var GetRevisionsRequestSchema = import_zod_openapi36.z.object({
|
|
3184
|
+
ids: import_zod_openapi36.z.string().min(1, "ids is required")
|
|
3152
3185
|
});
|
|
3153
|
-
var GetRevisionsResponseSchema =
|
|
3154
|
-
revisions:
|
|
3186
|
+
var GetRevisionsResponseSchema = import_zod_openapi36.z.object({
|
|
3187
|
+
revisions: import_zod_openapi36.z.array(RevisionSchema)
|
|
3155
3188
|
});
|
|
3156
|
-
var RevisionInvalidRequestErrorSchema =
|
|
3157
|
-
error:
|
|
3158
|
-
code:
|
|
3159
|
-
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()
|
|
3160
3193
|
})
|
|
3161
3194
|
});
|
|
3162
3195
|
|
|
3163
3196
|
// src/contracts/revision.ts
|
|
3164
|
-
var PageIdParamSchema =
|
|
3165
|
-
var RevisionIdParamSchema =
|
|
3166
|
-
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)({
|
|
3167
3200
|
method: "get",
|
|
3168
3201
|
path: "/pages/{page_id}/revisions",
|
|
3169
3202
|
tags: ["revision"],
|
|
@@ -3192,7 +3225,7 @@ var listRevisionsRoute = (0, import_zod_openapi36.createRoute)({
|
|
|
3192
3225
|
}
|
|
3193
3226
|
}
|
|
3194
3227
|
});
|
|
3195
|
-
var getRevisionsRoute = (0,
|
|
3228
|
+
var getRevisionsRoute = (0, import_zod_openapi37.createRoute)({
|
|
3196
3229
|
method: "get",
|
|
3197
3230
|
path: "/pages/revisions",
|
|
3198
3231
|
tags: ["revision"],
|
|
@@ -3220,7 +3253,7 @@ var getRevisionsRoute = (0, import_zod_openapi36.createRoute)({
|
|
|
3220
3253
|
}
|
|
3221
3254
|
}
|
|
3222
3255
|
});
|
|
3223
|
-
var getRevisionRoute = (0,
|
|
3256
|
+
var getRevisionRoute = (0, import_zod_openapi37.createRoute)({
|
|
3224
3257
|
method: "get",
|
|
3225
3258
|
path: "/pages/revisions/{id}",
|
|
3226
3259
|
tags: ["revision"],
|
|
@@ -3258,24 +3291,24 @@ var revisionRoutes = {
|
|
|
3258
3291
|
};
|
|
3259
3292
|
|
|
3260
3293
|
// src/contracts/notification.ts
|
|
3261
|
-
var
|
|
3294
|
+
var import_zod_openapi39 = require("@hono/zod-openapi");
|
|
3262
3295
|
|
|
3263
3296
|
// src/schemas/notification.ts
|
|
3264
|
-
var
|
|
3265
|
-
var NotificationStatusSchema =
|
|
3297
|
+
var import_zod_openapi38 = require("@hono/zod-openapi");
|
|
3298
|
+
var NotificationStatusSchema = import_zod_openapi38.z.enum(["UNREAD", "UNOPENED", "OPENED"]);
|
|
3266
3299
|
var NotificationStatusEnum = {
|
|
3267
3300
|
UNREAD: "UNREAD",
|
|
3268
3301
|
UNOPENED: "UNOPENED",
|
|
3269
3302
|
OPENED: "OPENED"
|
|
3270
3303
|
};
|
|
3271
|
-
var NotificationActionSchema =
|
|
3304
|
+
var NotificationActionSchema = import_zod_openapi38.z.enum(["COMMENT", "LIKE", "MENTION", "UPDATE"]);
|
|
3272
3305
|
var NotificationActionEnum = {
|
|
3273
3306
|
COMMENT: "COMMENT",
|
|
3274
3307
|
LIKE: "LIKE",
|
|
3275
3308
|
MENTION: "MENTION",
|
|
3276
3309
|
UPDATE: "UPDATE"
|
|
3277
3310
|
};
|
|
3278
|
-
var NotificationTargetModelSchema =
|
|
3311
|
+
var NotificationTargetModelSchema = import_zod_openapi38.z.enum(["Page"]);
|
|
3279
3312
|
var NotificationTargetModelEnum = {
|
|
3280
3313
|
PAGE: "Page"
|
|
3281
3314
|
};
|
|
@@ -3284,71 +3317,71 @@ var PageRefSchema = PageSchema.pick({
|
|
|
3284
3317
|
path: true,
|
|
3285
3318
|
status: true
|
|
3286
3319
|
});
|
|
3287
|
-
var NotificationSchema =
|
|
3288
|
-
_id:
|
|
3289
|
-
user:
|
|
3320
|
+
var NotificationSchema = import_zod_openapi38.z.object({
|
|
3321
|
+
_id: import_zod_openapi38.z.string(),
|
|
3322
|
+
user: import_zod_openapi38.z.string(),
|
|
3290
3323
|
targetModel: NotificationTargetModelSchema,
|
|
3291
3324
|
target: PageRefSchema,
|
|
3292
3325
|
action: NotificationActionSchema,
|
|
3293
3326
|
status: NotificationStatusSchema,
|
|
3294
|
-
actionUsers:
|
|
3295
|
-
createdAt:
|
|
3327
|
+
actionUsers: import_zod_openapi38.z.array(UserPublicSchema),
|
|
3328
|
+
createdAt: import_zod_openapi38.z.string()
|
|
3296
3329
|
});
|
|
3297
|
-
var ListNotificationsRequestSchema =
|
|
3298
|
-
limit:
|
|
3299
|
-
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)
|
|
3300
3333
|
});
|
|
3301
|
-
var ListNotificationsResponseSchema =
|
|
3302
|
-
notifications:
|
|
3334
|
+
var ListNotificationsResponseSchema = import_zod_openapi38.z.object({
|
|
3335
|
+
notifications: import_zod_openapi38.z.array(NotificationSchema),
|
|
3303
3336
|
pager: PagerSchema
|
|
3304
3337
|
});
|
|
3305
|
-
var MarkAllAsReadResponseSchema =
|
|
3306
|
-
ok:
|
|
3338
|
+
var MarkAllAsReadResponseSchema = import_zod_openapi38.z.object({
|
|
3339
|
+
ok: import_zod_openapi38.z.literal(true)
|
|
3307
3340
|
});
|
|
3308
|
-
var OpenNotificationParamSchema =
|
|
3309
|
-
id:
|
|
3341
|
+
var OpenNotificationParamSchema = import_zod_openapi38.z.object({
|
|
3342
|
+
id: import_zod_openapi38.z.string()
|
|
3310
3343
|
});
|
|
3311
|
-
var OpenNotificationResponseSchema =
|
|
3344
|
+
var OpenNotificationResponseSchema = import_zod_openapi38.z.object({
|
|
3312
3345
|
notification: NotificationSchema
|
|
3313
3346
|
});
|
|
3314
|
-
var NotificationStatusResponseSchema =
|
|
3315
|
-
count:
|
|
3347
|
+
var NotificationStatusResponseSchema = import_zod_openapi38.z.object({
|
|
3348
|
+
count: import_zod_openapi38.z.number()
|
|
3316
3349
|
});
|
|
3317
|
-
var NotificationNotFoundErrorSchema =
|
|
3318
|
-
error:
|
|
3319
|
-
code:
|
|
3320
|
-
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")
|
|
3321
3354
|
})
|
|
3322
3355
|
});
|
|
3323
|
-
var NotificationsTokenResponseSchema =
|
|
3324
|
-
token:
|
|
3325
|
-
selfUserId:
|
|
3326
|
-
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()
|
|
3327
3360
|
});
|
|
3328
|
-
var NotificationsTokenPayloadSchema =
|
|
3329
|
-
selfUserId:
|
|
3361
|
+
var NotificationsTokenPayloadSchema = import_zod_openapi38.z.object({
|
|
3362
|
+
selfUserId: import_zod_openapi38.z.string(),
|
|
3330
3363
|
// Random UUID mixed into every signed token so two tokens minted
|
|
3331
3364
|
// within the same second still produce byte-different JWT strings.
|
|
3332
3365
|
// The browser uses the token as a React effect dependency to drive
|
|
3333
3366
|
// the WebSocket reconnect — without `jti`, the iat/exp pair is
|
|
3334
3367
|
// identical at second granularity and the dep stays stable.
|
|
3335
|
-
jti:
|
|
3336
|
-
iat:
|
|
3337
|
-
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()
|
|
3338
3371
|
});
|
|
3339
|
-
var NotificationsChangedMessageSchema =
|
|
3340
|
-
type:
|
|
3372
|
+
var NotificationsChangedMessageSchema = import_zod_openapi38.z.object({
|
|
3373
|
+
type: import_zod_openapi38.z.literal("changed")
|
|
3341
3374
|
});
|
|
3342
3375
|
var NotificationsServerMessageSchema = NotificationsChangedMessageSchema;
|
|
3343
3376
|
|
|
3344
3377
|
// src/contracts/notification.ts
|
|
3345
|
-
var NotificationInvalidRequestErrorSchema =
|
|
3346
|
-
error:
|
|
3347
|
-
code:
|
|
3348
|
-
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()
|
|
3349
3382
|
})
|
|
3350
3383
|
});
|
|
3351
|
-
var listNotificationsRoute = (0,
|
|
3384
|
+
var listNotificationsRoute = (0, import_zod_openapi39.createRoute)({
|
|
3352
3385
|
method: "get",
|
|
3353
3386
|
path: "/notifications",
|
|
3354
3387
|
tags: ["notification"],
|
|
@@ -3372,7 +3405,7 @@ var listNotificationsRoute = (0, import_zod_openapi38.createRoute)({
|
|
|
3372
3405
|
}
|
|
3373
3406
|
}
|
|
3374
3407
|
});
|
|
3375
|
-
var markAllAsReadRoute = (0,
|
|
3408
|
+
var markAllAsReadRoute = (0, import_zod_openapi39.createRoute)({
|
|
3376
3409
|
method: "post",
|
|
3377
3410
|
path: "/notifications/read",
|
|
3378
3411
|
tags: ["notification"],
|
|
@@ -3393,7 +3426,7 @@ var markAllAsReadRoute = (0, import_zod_openapi38.createRoute)({
|
|
|
3393
3426
|
}
|
|
3394
3427
|
}
|
|
3395
3428
|
});
|
|
3396
|
-
var getUnreadCountRoute = (0,
|
|
3429
|
+
var getUnreadCountRoute = (0, import_zod_openapi39.createRoute)({
|
|
3397
3430
|
method: "get",
|
|
3398
3431
|
path: "/notifications/status",
|
|
3399
3432
|
tags: ["notification"],
|
|
@@ -3414,7 +3447,7 @@ var getUnreadCountRoute = (0, import_zod_openapi38.createRoute)({
|
|
|
3414
3447
|
}
|
|
3415
3448
|
}
|
|
3416
3449
|
});
|
|
3417
|
-
var openNotificationRoute = (0,
|
|
3450
|
+
var openNotificationRoute = (0, import_zod_openapi39.createRoute)({
|
|
3418
3451
|
method: "post",
|
|
3419
3452
|
path: "/notifications/{id}/open",
|
|
3420
3453
|
tags: ["notification"],
|
|
@@ -3446,7 +3479,7 @@ var openNotificationRoute = (0, import_zod_openapi38.createRoute)({
|
|
|
3446
3479
|
}
|
|
3447
3480
|
}
|
|
3448
3481
|
});
|
|
3449
|
-
var getNotificationsTokenRoute = (0,
|
|
3482
|
+
var getNotificationsTokenRoute = (0, import_zod_openapi39.createRoute)({
|
|
3450
3483
|
method: "get",
|
|
3451
3484
|
path: "/notifications/token",
|
|
3452
3485
|
tags: ["notification"],
|
|
@@ -3481,26 +3514,60 @@ var notificationRoutes = {
|
|
|
3481
3514
|
};
|
|
3482
3515
|
|
|
3483
3516
|
// src/contracts/page.ts
|
|
3484
|
-
var
|
|
3485
|
-
|
|
3486
|
-
|
|
3487
|
-
|
|
3488
|
-
|
|
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()
|
|
3489
3556
|
})
|
|
3490
3557
|
});
|
|
3491
|
-
var DeletePageRequestSchema =
|
|
3492
|
-
page_id:
|
|
3493
|
-
revision_id:
|
|
3494
|
-
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()
|
|
3495
3562
|
});
|
|
3496
|
-
var RevertDeletedPageRequestSchema =
|
|
3497
|
-
page_id:
|
|
3563
|
+
var RevertDeletedPageRequestSchema = import_zod_openapi41.z.object({
|
|
3564
|
+
page_id: import_zod_openapi41.z.string()
|
|
3498
3565
|
});
|
|
3499
|
-
var PageIdBodySchema =
|
|
3500
|
-
page_id:
|
|
3566
|
+
var PageIdBodySchema = import_zod_openapi41.z.object({
|
|
3567
|
+
page_id: import_zod_openapi41.z.string()
|
|
3501
3568
|
});
|
|
3502
|
-
var PageResponseSchema =
|
|
3503
|
-
var getPageRoute = (0,
|
|
3569
|
+
var PageResponseSchema = import_zod_openapi41.z.object({ page: PageSchema });
|
|
3570
|
+
var getPageRoute = (0, import_zod_openapi41.createRoute)({
|
|
3504
3571
|
method: "get",
|
|
3505
3572
|
path: "/pages",
|
|
3506
3573
|
tags: ["page"],
|
|
@@ -3525,10 +3592,19 @@ var getPageRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3525
3592
|
404: {
|
|
3526
3593
|
description: "Page not found",
|
|
3527
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 } }
|
|
3528
3604
|
}
|
|
3529
3605
|
}
|
|
3530
3606
|
});
|
|
3531
|
-
var listPagesRoute = (0,
|
|
3607
|
+
var listPagesRoute = (0, import_zod_openapi41.createRoute)({
|
|
3532
3608
|
method: "get",
|
|
3533
3609
|
path: "/pages/list",
|
|
3534
3610
|
tags: ["page"],
|
|
@@ -3548,7 +3624,7 @@ var listPagesRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3548
3624
|
}
|
|
3549
3625
|
}
|
|
3550
3626
|
});
|
|
3551
|
-
var listPageChildrenRoute = (0,
|
|
3627
|
+
var listPageChildrenRoute = (0, import_zod_openapi41.createRoute)({
|
|
3552
3628
|
method: "get",
|
|
3553
3629
|
path: "/pages/children",
|
|
3554
3630
|
tags: ["page"],
|
|
@@ -3568,7 +3644,7 @@ var listPageChildrenRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3568
3644
|
}
|
|
3569
3645
|
}
|
|
3570
3646
|
});
|
|
3571
|
-
var createPageRoute = (0,
|
|
3647
|
+
var createPageRoute = (0, import_zod_openapi41.createRoute)({
|
|
3572
3648
|
method: "post",
|
|
3573
3649
|
path: "/pages",
|
|
3574
3650
|
tags: ["page"],
|
|
@@ -3594,7 +3670,7 @@ var createPageRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3594
3670
|
}
|
|
3595
3671
|
}
|
|
3596
3672
|
});
|
|
3597
|
-
var updatePageRoute = (0,
|
|
3673
|
+
var updatePageRoute = (0, import_zod_openapi41.createRoute)({
|
|
3598
3674
|
method: "put",
|
|
3599
3675
|
path: "/pages",
|
|
3600
3676
|
tags: ["page"],
|
|
@@ -3628,7 +3704,7 @@ var updatePageRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3628
3704
|
}
|
|
3629
3705
|
}
|
|
3630
3706
|
});
|
|
3631
|
-
var setPageGrantRoute = (0,
|
|
3707
|
+
var setPageGrantRoute = (0, import_zod_openapi41.createRoute)({
|
|
3632
3708
|
method: "put",
|
|
3633
3709
|
path: "/pages/grant",
|
|
3634
3710
|
tags: ["page"],
|
|
@@ -3658,7 +3734,7 @@ var setPageGrantRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3658
3734
|
}
|
|
3659
3735
|
}
|
|
3660
3736
|
});
|
|
3661
|
-
var seenPageRoute = (0,
|
|
3737
|
+
var seenPageRoute = (0, import_zod_openapi41.createRoute)({
|
|
3662
3738
|
method: "post",
|
|
3663
3739
|
path: "/pages/seen",
|
|
3664
3740
|
tags: ["page"],
|
|
@@ -3688,7 +3764,7 @@ var seenPageRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3688
3764
|
}
|
|
3689
3765
|
}
|
|
3690
3766
|
});
|
|
3691
|
-
var getSeenUsersRoute = (0,
|
|
3767
|
+
var getSeenUsersRoute = (0, import_zod_openapi41.createRoute)({
|
|
3692
3768
|
method: "get",
|
|
3693
3769
|
path: "/pages/seen-users",
|
|
3694
3770
|
tags: ["page"],
|
|
@@ -3716,7 +3792,7 @@ var getSeenUsersRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3716
3792
|
}
|
|
3717
3793
|
}
|
|
3718
3794
|
});
|
|
3719
|
-
var likePageRoute = (0,
|
|
3795
|
+
var likePageRoute = (0, import_zod_openapi41.createRoute)({
|
|
3720
3796
|
method: "post",
|
|
3721
3797
|
path: "/pages/like",
|
|
3722
3798
|
tags: ["page"],
|
|
@@ -3746,7 +3822,7 @@ var likePageRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3746
3822
|
}
|
|
3747
3823
|
}
|
|
3748
3824
|
});
|
|
3749
|
-
var unlikePageRoute = (0,
|
|
3825
|
+
var unlikePageRoute = (0, import_zod_openapi41.createRoute)({
|
|
3750
3826
|
method: "post",
|
|
3751
3827
|
path: "/pages/unlike",
|
|
3752
3828
|
tags: ["page"],
|
|
@@ -3776,7 +3852,53 @@ var unlikePageRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3776
3852
|
}
|
|
3777
3853
|
}
|
|
3778
3854
|
});
|
|
3779
|
-
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)({
|
|
3780
3902
|
method: "get",
|
|
3781
3903
|
path: "/pages/watch",
|
|
3782
3904
|
tags: ["page"],
|
|
@@ -3804,7 +3926,7 @@ var getWatchStatusRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3804
3926
|
}
|
|
3805
3927
|
}
|
|
3806
3928
|
});
|
|
3807
|
-
var setWatchStatusRoute = (0,
|
|
3929
|
+
var setWatchStatusRoute = (0, import_zod_openapi41.createRoute)({
|
|
3808
3930
|
method: "put",
|
|
3809
3931
|
path: "/pages/watch",
|
|
3810
3932
|
tags: ["page"],
|
|
@@ -3834,7 +3956,7 @@ var setWatchStatusRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3834
3956
|
}
|
|
3835
3957
|
}
|
|
3836
3958
|
});
|
|
3837
|
-
var deletePageRoute = (0,
|
|
3959
|
+
var deletePageRoute = (0, import_zod_openapi41.createRoute)({
|
|
3838
3960
|
method: "delete",
|
|
3839
3961
|
path: "/pages",
|
|
3840
3962
|
tags: ["page"],
|
|
@@ -3868,7 +3990,7 @@ var deletePageRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3868
3990
|
}
|
|
3869
3991
|
}
|
|
3870
3992
|
});
|
|
3871
|
-
var revertDeletedPageRoute = (0,
|
|
3993
|
+
var revertDeletedPageRoute = (0, import_zod_openapi41.createRoute)({
|
|
3872
3994
|
method: "post",
|
|
3873
3995
|
path: "/pages/revert",
|
|
3874
3996
|
tags: ["page"],
|
|
@@ -3898,7 +4020,7 @@ var revertDeletedPageRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3898
4020
|
}
|
|
3899
4021
|
}
|
|
3900
4022
|
});
|
|
3901
|
-
var revertToRevisionRoute = (0,
|
|
4023
|
+
var revertToRevisionRoute = (0, import_zod_openapi41.createRoute)({
|
|
3902
4024
|
method: "post",
|
|
3903
4025
|
path: "/pages/revert-to-revision",
|
|
3904
4026
|
tags: ["page"],
|
|
@@ -3928,7 +4050,7 @@ var revertToRevisionRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3928
4050
|
}
|
|
3929
4051
|
}
|
|
3930
4052
|
});
|
|
3931
|
-
var renamePageRoute = (0,
|
|
4053
|
+
var renamePageRoute = (0, import_zod_openapi41.createRoute)({
|
|
3932
4054
|
method: "post",
|
|
3933
4055
|
path: "/pages/rename",
|
|
3934
4056
|
tags: ["page"],
|
|
@@ -3948,7 +4070,7 @@ var renamePageRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3948
4070
|
description: "PAGE_INVALID_NAME / PAGE_EXISTS / PAGE_RENAME_FAILED / PAGE_RENAME_TREE_FAILED",
|
|
3949
4071
|
content: {
|
|
3950
4072
|
"application/json": {
|
|
3951
|
-
schema:
|
|
4073
|
+
schema: import_zod_openapi41.z.union([PageBadRequestErrorSchema, RenameTreeErrorSchema])
|
|
3952
4074
|
}
|
|
3953
4075
|
}
|
|
3954
4076
|
},
|
|
@@ -3966,7 +4088,7 @@ var renamePageRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3966
4088
|
}
|
|
3967
4089
|
}
|
|
3968
4090
|
});
|
|
3969
|
-
var renameSubtreeRoute = (0,
|
|
4091
|
+
var renameSubtreeRoute = (0, import_zod_openapi41.createRoute)({
|
|
3970
4092
|
method: "post",
|
|
3971
4093
|
path: "/pages/rename-subtree",
|
|
3972
4094
|
tags: ["page"],
|
|
@@ -3986,7 +4108,7 @@ var renameSubtreeRoute = (0, import_zod_openapi39.createRoute)({
|
|
|
3986
4108
|
description: "PAGE_INVALID_NAME / PAGE_RENAME_TREE_FAILED (collisions, nothing to move, or partial failure)",
|
|
3987
4109
|
content: {
|
|
3988
4110
|
"application/json": {
|
|
3989
|
-
schema:
|
|
4111
|
+
schema: import_zod_openapi41.z.union([PageBadRequestErrorSchema, RenameTreeErrorSchema])
|
|
3990
4112
|
}
|
|
3991
4113
|
}
|
|
3992
4114
|
},
|
|
@@ -4017,6 +4139,8 @@ var pageRoutes = {
|
|
|
4017
4139
|
likePageRoute,
|
|
4018
4140
|
// POST /pages/unlike — unlikePage
|
|
4019
4141
|
unlikePageRoute,
|
|
4142
|
+
// POST /pages/link-access — claimPageLinkAccess (grant-on-first-access)
|
|
4143
|
+
claimPageLinkAccessRoute,
|
|
4020
4144
|
// GET /pages/watch — getWatchStatus
|
|
4021
4145
|
getWatchStatusRoute,
|
|
4022
4146
|
// PUT /pages/watch — setWatchStatus
|
|
@@ -4034,19 +4158,19 @@ var pageRoutes = {
|
|
|
4034
4158
|
};
|
|
4035
4159
|
|
|
4036
4160
|
// src/contracts/page-preview.ts
|
|
4037
|
-
var
|
|
4161
|
+
var import_zod_openapi43 = require("@hono/zod-openapi");
|
|
4038
4162
|
|
|
4039
4163
|
// src/schemas/page-preview.ts
|
|
4040
|
-
var
|
|
4041
|
-
var PreviewPageRequestSchema =
|
|
4042
|
-
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()
|
|
4043
4167
|
});
|
|
4044
|
-
var PreviewPageResponseSchema =
|
|
4045
|
-
renderedAst:
|
|
4168
|
+
var PreviewPageResponseSchema = import_zod_openapi42.z.object({
|
|
4169
|
+
renderedAst: import_zod_openapi42.z.unknown()
|
|
4046
4170
|
});
|
|
4047
4171
|
|
|
4048
4172
|
// src/contracts/page-preview.ts
|
|
4049
|
-
var previewPageRoute = (0,
|
|
4173
|
+
var previewPageRoute = (0, import_zod_openapi43.createRoute)({
|
|
4050
4174
|
method: "post",
|
|
4051
4175
|
path: "/pages/preview",
|
|
4052
4176
|
tags: ["page-preview"],
|
|
@@ -4077,11 +4201,11 @@ var pagePreviewRoutes = {
|
|
|
4077
4201
|
};
|
|
4078
4202
|
|
|
4079
4203
|
// src/contracts/page-collab.ts
|
|
4080
|
-
var
|
|
4081
|
-
var PageIdPathParamsSchema =
|
|
4082
|
-
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" })
|
|
4083
4207
|
});
|
|
4084
|
-
var getYjsTokenRoute = (0,
|
|
4208
|
+
var getYjsTokenRoute = (0, import_zod_openapi44.createRoute)({
|
|
4085
4209
|
method: "get",
|
|
4086
4210
|
path: "/pages/{id}/yjs-token",
|
|
4087
4211
|
tags: ["page-collab"],
|
|
@@ -4118,79 +4242,79 @@ var pageCollabRoutes = {
|
|
|
4118
4242
|
};
|
|
4119
4243
|
|
|
4120
4244
|
// src/contracts/presence.ts
|
|
4121
|
-
var
|
|
4245
|
+
var import_zod_openapi46 = require("@hono/zod-openapi");
|
|
4122
4246
|
|
|
4123
4247
|
// src/schemas/presence.ts
|
|
4124
|
-
var
|
|
4125
|
-
var PresenceTokenResponseSchema =
|
|
4126
|
-
token:
|
|
4127
|
-
pageId:
|
|
4128
|
-
selfUserId:
|
|
4129
|
-
expiresAt:
|
|
4130
|
-
});
|
|
4131
|
-
var PresenceTokenPayloadSchema =
|
|
4132
|
-
userId:
|
|
4133
|
-
pageId:
|
|
4134
|
-
iat:
|
|
4135
|
-
exp:
|
|
4136
|
-
});
|
|
4137
|
-
var PresenceViewerSchema =
|
|
4138
|
-
userId:
|
|
4139
|
-
username:
|
|
4140
|
-
displayName:
|
|
4141
|
-
avatarUrl:
|
|
4142
|
-
isEditing:
|
|
4143
|
-
joinedAt:
|
|
4144
|
-
});
|
|
4145
|
-
var PresenceHeartbeatMessageSchema =
|
|
4146
|
-
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")
|
|
4147
4271
|
});
|
|
4148
4272
|
var PresenceClientMessageSchema = PresenceHeartbeatMessageSchema;
|
|
4149
|
-
var PresenceViewersMessageSchema =
|
|
4150
|
-
type:
|
|
4151
|
-
viewers:
|
|
4152
|
-
});
|
|
4153
|
-
var PresencePageUpdatedMessageSchema =
|
|
4154
|
-
type:
|
|
4155
|
-
pageId:
|
|
4156
|
-
revisionId:
|
|
4157
|
-
editorUserId:
|
|
4158
|
-
editorDisplayName:
|
|
4159
|
-
});
|
|
4160
|
-
var PresenceCommentChangedMessageSchema =
|
|
4161
|
-
type:
|
|
4162
|
-
pageId:
|
|
4163
|
-
changeType:
|
|
4164
|
-
commentId:
|
|
4165
|
-
actorUserId:
|
|
4166
|
-
});
|
|
4167
|
-
var PresenceServerMessageSchema =
|
|
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", [
|
|
4168
4292
|
PresenceViewersMessageSchema,
|
|
4169
4293
|
PresencePageUpdatedMessageSchema,
|
|
4170
4294
|
PresenceCommentChangedMessageSchema
|
|
4171
4295
|
]);
|
|
4172
|
-
var LikerSchema =
|
|
4173
|
-
id:
|
|
4174
|
-
username:
|
|
4175
|
-
displayName:
|
|
4176
|
-
avatarUrl:
|
|
4177
|
-
likedAt:
|
|
4178
|
-
});
|
|
4179
|
-
var LikersResponseSchema =
|
|
4180
|
-
users:
|
|
4181
|
-
totalCount:
|
|
4182
|
-
});
|
|
4183
|
-
var GetLikersRequestSchema =
|
|
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({
|
|
4184
4308
|
// Optional cap on returned `users`. `totalCount` always reflects the
|
|
4185
4309
|
// full count regardless of `limit`. Omit for the full list.
|
|
4186
|
-
limit:
|
|
4310
|
+
limit: import_zod_openapi45.z.coerce.number().int().positive().optional()
|
|
4187
4311
|
});
|
|
4188
4312
|
|
|
4189
4313
|
// src/contracts/presence.ts
|
|
4190
|
-
var PageIdPathParamsSchema2 =
|
|
4191
|
-
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" })
|
|
4192
4316
|
});
|
|
4193
|
-
var getPresenceTokenRoute = (0,
|
|
4317
|
+
var getPresenceTokenRoute = (0, import_zod_openapi46.createRoute)({
|
|
4194
4318
|
method: "get",
|
|
4195
4319
|
path: "/pages/{id}/presence-token",
|
|
4196
4320
|
tags: ["presence"],
|
|
@@ -4222,7 +4346,7 @@ var getPresenceTokenRoute = (0, import_zod_openapi44.createRoute)({
|
|
|
4222
4346
|
}
|
|
4223
4347
|
}
|
|
4224
4348
|
});
|
|
4225
|
-
var getLikersRoute = (0,
|
|
4349
|
+
var getLikersRoute = (0, import_zod_openapi46.createRoute)({
|
|
4226
4350
|
method: "get",
|
|
4227
4351
|
path: "/pages/{id}/likers",
|
|
4228
4352
|
tags: ["presence"],
|
|
@@ -4261,50 +4385,50 @@ var presenceRoutes = {
|
|
|
4261
4385
|
};
|
|
4262
4386
|
|
|
4263
4387
|
// src/contracts/draft.ts
|
|
4264
|
-
var
|
|
4388
|
+
var import_zod_openapi48 = require("@hono/zod-openapi");
|
|
4265
4389
|
|
|
4266
4390
|
// src/schemas/draft.ts
|
|
4267
|
-
var
|
|
4268
|
-
var CreateDraftRequestSchema =
|
|
4269
|
-
path:
|
|
4270
|
-
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()
|
|
4271
4395
|
});
|
|
4272
|
-
var CreateDraftResponseSchema =
|
|
4273
|
-
pageId:
|
|
4396
|
+
var CreateDraftResponseSchema = import_zod_openapi47.z.object({
|
|
4397
|
+
pageId: import_zod_openapi47.z.string()
|
|
4274
4398
|
});
|
|
4275
|
-
var DraftConflictOwnerSchema =
|
|
4276
|
-
id:
|
|
4277
|
-
username:
|
|
4278
|
-
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()
|
|
4279
4403
|
});
|
|
4280
|
-
var DraftPathConflictErrorSchema =
|
|
4281
|
-
error:
|
|
4404
|
+
var DraftPathConflictErrorSchema = import_zod_openapi47.z.object({
|
|
4405
|
+
error: import_zod_openapi47.z.literal("path_taken_by_draft"),
|
|
4282
4406
|
owner: DraftConflictOwnerSchema,
|
|
4283
|
-
message:
|
|
4407
|
+
message: import_zod_openapi47.z.string()
|
|
4284
4408
|
});
|
|
4285
|
-
var DraftBadRequestErrorSchema =
|
|
4286
|
-
error:
|
|
4287
|
-
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()
|
|
4288
4412
|
});
|
|
4289
|
-
var DraftNotFoundErrorSchema =
|
|
4290
|
-
error:
|
|
4291
|
-
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()
|
|
4292
4416
|
});
|
|
4293
|
-
var DraftSummarySchema =
|
|
4294
|
-
pageId:
|
|
4295
|
-
path:
|
|
4296
|
-
createdAt:
|
|
4297
|
-
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()
|
|
4298
4422
|
});
|
|
4299
|
-
var ListDraftsResponseSchema =
|
|
4300
|
-
drafts:
|
|
4423
|
+
var ListDraftsResponseSchema = import_zod_openapi47.z.object({
|
|
4424
|
+
drafts: import_zod_openapi47.z.array(DraftSummarySchema)
|
|
4301
4425
|
});
|
|
4302
4426
|
|
|
4303
4427
|
// src/contracts/draft.ts
|
|
4304
|
-
var DraftIdPathParamsSchema =
|
|
4305
|
-
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" })
|
|
4306
4430
|
});
|
|
4307
|
-
var createDraftRoute = (0,
|
|
4431
|
+
var createDraftRoute = (0, import_zod_openapi48.createRoute)({
|
|
4308
4432
|
method: "post",
|
|
4309
4433
|
path: "/pages/drafts",
|
|
4310
4434
|
tags: ["draft"],
|
|
@@ -4334,7 +4458,7 @@ var createDraftRoute = (0, import_zod_openapi46.createRoute)({
|
|
|
4334
4458
|
}
|
|
4335
4459
|
}
|
|
4336
4460
|
});
|
|
4337
|
-
var listDraftsRoute = (0,
|
|
4461
|
+
var listDraftsRoute = (0, import_zod_openapi48.createRoute)({
|
|
4338
4462
|
method: "get",
|
|
4339
4463
|
path: "/pages/drafts",
|
|
4340
4464
|
tags: ["draft"],
|
|
@@ -4351,7 +4475,7 @@ var listDraftsRoute = (0, import_zod_openapi46.createRoute)({
|
|
|
4351
4475
|
}
|
|
4352
4476
|
}
|
|
4353
4477
|
});
|
|
4354
|
-
var cancelDraftRoute = (0,
|
|
4478
|
+
var cancelDraftRoute = (0, import_zod_openapi48.createRoute)({
|
|
4355
4479
|
method: "delete",
|
|
4356
4480
|
path: "/pages/drafts/{id}",
|
|
4357
4481
|
tags: ["draft"],
|
|
@@ -4382,42 +4506,8 @@ var draftRoutes = {
|
|
|
4382
4506
|
};
|
|
4383
4507
|
|
|
4384
4508
|
// src/contracts/autocomplete.ts
|
|
4385
|
-
var
|
|
4386
|
-
|
|
4387
|
-
// src/schemas/autocomplete.ts
|
|
4388
|
-
var import_zod_openapi47 = require("@hono/zod-openapi");
|
|
4389
|
-
var AutocompleteRequestSchema = import_zod_openapi47.z.object({
|
|
4390
|
-
q: import_zod_openapi47.z.string().min(1).max(128),
|
|
4391
|
-
limit: import_zod_openapi47.z.coerce.number().int().min(1).max(25).optional().default(10),
|
|
4392
|
-
/**
|
|
4393
|
-
* How `q` is matched against the candidate text. `'substring'` (the
|
|
4394
|
-
* default, used by the editor's `@mention` / `[[wikilink]]` pickers)
|
|
4395
|
-
* keeps the historical anywhere-in-string match. `'prefix'` anchors
|
|
4396
|
-
* the match at the start — used by the "create page" modal, where the
|
|
4397
|
-
* user is building a `/`-rooted path and only true prefixes are valid
|
|
4398
|
-
* completions of what they have typed so far.
|
|
4399
|
-
*/
|
|
4400
|
-
anchor: import_zod_openapi47.z.enum(["substring", "prefix"]).optional().default("substring")
|
|
4401
|
-
});
|
|
4402
|
-
var AutocompleteResultSchema = import_zod_openapi47.z.object({
|
|
4403
|
-
id: import_zod_openapi47.z.string(),
|
|
4404
|
-
label: import_zod_openapi47.z.string(),
|
|
4405
|
-
display: import_zod_openapi47.z.string(),
|
|
4406
|
-
avatar: import_zod_openapi47.z.string().nullable().optional(),
|
|
4407
|
-
modifiedAt: import_zod_openapi47.z.string().nullable().optional(),
|
|
4408
|
-
score: import_zod_openapi47.z.number()
|
|
4409
|
-
});
|
|
4410
|
-
var AutocompleteResponseSchema = import_zod_openapi47.z.object({
|
|
4411
|
-
results: import_zod_openapi47.z.array(AutocompleteResultSchema)
|
|
4412
|
-
});
|
|
4413
|
-
var AutocompleteRateLimitErrorSchema = import_zod_openapi47.z.object({
|
|
4414
|
-
error: import_zod_openapi47.z.literal("rate_limited"),
|
|
4415
|
-
message: import_zod_openapi47.z.string(),
|
|
4416
|
-
retryAfterSeconds: import_zod_openapi47.z.number()
|
|
4417
|
-
});
|
|
4418
|
-
|
|
4419
|
-
// src/contracts/autocomplete.ts
|
|
4420
|
-
var autocompleteUsersRoute = (0, import_zod_openapi48.createRoute)({
|
|
4509
|
+
var import_zod_openapi49 = require("@hono/zod-openapi");
|
|
4510
|
+
var autocompleteUsersRoute = (0, import_zod_openapi49.createRoute)({
|
|
4421
4511
|
method: "get",
|
|
4422
4512
|
path: "/users/autocomplete",
|
|
4423
4513
|
tags: ["autocomplete"],
|
|
@@ -4445,7 +4535,7 @@ var autocompleteUsersRoute = (0, import_zod_openapi48.createRoute)({
|
|
|
4445
4535
|
}
|
|
4446
4536
|
}
|
|
4447
4537
|
});
|
|
4448
|
-
var autocompletePagesRoute = (0,
|
|
4538
|
+
var autocompletePagesRoute = (0, import_zod_openapi49.createRoute)({
|
|
4449
4539
|
method: "get",
|
|
4450
4540
|
path: "/pages/autocomplete",
|
|
4451
4541
|
tags: ["autocomplete"],
|
|
@@ -4479,50 +4569,50 @@ var autocompleteRoutes = {
|
|
|
4479
4569
|
};
|
|
4480
4570
|
|
|
4481
4571
|
// src/contracts/attachment.ts
|
|
4482
|
-
var
|
|
4572
|
+
var import_zod_openapi51 = require("@hono/zod-openapi");
|
|
4483
4573
|
|
|
4484
4574
|
// src/schemas/attachment.ts
|
|
4485
|
-
var
|
|
4486
|
-
var AttachmentSchema =
|
|
4487
|
-
_id:
|
|
4488
|
-
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(),
|
|
4489
4579
|
creator: UserPublicSchema,
|
|
4490
|
-
filePath:
|
|
4491
|
-
fileName:
|
|
4492
|
-
originalName:
|
|
4493
|
-
fileFormat:
|
|
4494
|
-
fileSize:
|
|
4495
|
-
createdAt:
|
|
4496
|
-
url:
|
|
4497
|
-
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()
|
|
4498
4588
|
});
|
|
4499
4589
|
var AttachmentMetaSchema = AttachmentSchema.omit({ inUse: true });
|
|
4500
|
-
var ListAttachmentsResponseSchema =
|
|
4501
|
-
attachments:
|
|
4590
|
+
var ListAttachmentsResponseSchema = import_zod_openapi50.z.object({
|
|
4591
|
+
attachments: import_zod_openapi50.z.array(AttachmentSchema)
|
|
4502
4592
|
});
|
|
4503
|
-
var PastAttachmentUsageSchema =
|
|
4593
|
+
var PastAttachmentUsageSchema = import_zod_openapi50.z.object({
|
|
4504
4594
|
attachment: AttachmentSchema,
|
|
4505
|
-
referencingRevisions:
|
|
4506
|
-
|
|
4507
|
-
revisionId:
|
|
4508
|
-
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(),
|
|
4509
4599
|
author: UserPublicSchema
|
|
4510
4600
|
})
|
|
4511
4601
|
)
|
|
4512
4602
|
});
|
|
4513
|
-
var AttachmentUsageResponseSchema =
|
|
4514
|
-
pagePath:
|
|
4515
|
-
latest:
|
|
4516
|
-
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)
|
|
4517
4607
|
});
|
|
4518
|
-
var AddAttachmentResponseSchema =
|
|
4608
|
+
var AddAttachmentResponseSchema = import_zod_openapi50.z.object({
|
|
4519
4609
|
attachment: AttachmentSchema,
|
|
4520
|
-
url:
|
|
4610
|
+
url: import_zod_openapi50.z.string()
|
|
4521
4611
|
});
|
|
4522
|
-
var RemoveAttachmentResponseSchema =
|
|
4523
|
-
success:
|
|
4612
|
+
var RemoveAttachmentResponseSchema = import_zod_openapi50.z.object({
|
|
4613
|
+
success: import_zod_openapi50.z.literal(true)
|
|
4524
4614
|
});
|
|
4525
|
-
var AttachmentErrorCodeSchema =
|
|
4615
|
+
var AttachmentErrorCodeSchema = import_zod_openapi50.z.enum([
|
|
4526
4616
|
"INVALID_PAGE_ID",
|
|
4527
4617
|
"PAGE_NOT_FOUND",
|
|
4528
4618
|
"FILE_MISSING",
|
|
@@ -4534,43 +4624,43 @@ var AttachmentErrorCodeSchema = import_zod_openapi49.z.enum([
|
|
|
4534
4624
|
"UPLOAD_FAILED",
|
|
4535
4625
|
"REMOVE_FAILED"
|
|
4536
4626
|
]);
|
|
4537
|
-
var AttachmentErrorSchema =
|
|
4538
|
-
error:
|
|
4627
|
+
var AttachmentErrorSchema = import_zod_openapi50.z.object({
|
|
4628
|
+
error: import_zod_openapi50.z.object({
|
|
4539
4629
|
code: AttachmentErrorCodeSchema,
|
|
4540
|
-
message:
|
|
4630
|
+
message: import_zod_openapi50.z.string()
|
|
4541
4631
|
})
|
|
4542
4632
|
});
|
|
4543
|
-
var UploadAttachmentResponseSchema =
|
|
4544
|
-
url:
|
|
4545
|
-
filename:
|
|
4546
|
-
mimeType:
|
|
4547
|
-
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()
|
|
4548
4638
|
});
|
|
4549
|
-
var UploadAttachmentErrorCodeSchema =
|
|
4550
|
-
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({
|
|
4551
4641
|
error: UploadAttachmentErrorCodeSchema,
|
|
4552
|
-
message:
|
|
4553
|
-
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()
|
|
4554
4644
|
});
|
|
4555
4645
|
var IMAGE_UPLOAD_MIME = ["image/png", "image/jpeg", "image/gif", "image/webp", "image/svg+xml"];
|
|
4556
4646
|
var DND_EXTRA_UPLOAD_MIME = ["application/pdf", "text/plain", "text/markdown", "text/csv", "application/zip"];
|
|
4557
4647
|
|
|
4558
4648
|
// src/contracts/attachment.ts
|
|
4559
|
-
var PageIdPathParamsSchema3 =
|
|
4560
|
-
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" })
|
|
4561
4651
|
});
|
|
4562
|
-
var AttachmentIdPathParamsSchema =
|
|
4563
|
-
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" })
|
|
4564
4654
|
});
|
|
4565
|
-
var AddAttachmentBodySchema =
|
|
4566
|
-
file:
|
|
4655
|
+
var AddAttachmentBodySchema = import_zod_openapi51.z.object({
|
|
4656
|
+
file: import_zod_openapi51.z.any().openapi({ type: "string", format: "binary" }).optional()
|
|
4567
4657
|
});
|
|
4568
|
-
var UploadAttachmentBodySchema =
|
|
4569
|
-
file:
|
|
4570
|
-
pageId:
|
|
4571
|
-
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"] })
|
|
4572
4662
|
});
|
|
4573
|
-
var listAttachmentsRoute = (0,
|
|
4663
|
+
var listAttachmentsRoute = (0, import_zod_openapi51.createRoute)({
|
|
4574
4664
|
method: "get",
|
|
4575
4665
|
path: "/pages/{pageId}/attachments",
|
|
4576
4666
|
tags: ["attachment"],
|
|
@@ -4602,7 +4692,7 @@ var listAttachmentsRoute = (0, import_zod_openapi50.createRoute)({
|
|
|
4602
4692
|
}
|
|
4603
4693
|
}
|
|
4604
4694
|
});
|
|
4605
|
-
var addAttachmentRoute = (0,
|
|
4695
|
+
var addAttachmentRoute = (0, import_zod_openapi51.createRoute)({
|
|
4606
4696
|
method: "post",
|
|
4607
4697
|
path: "/pages/{pageId}/attachments",
|
|
4608
4698
|
tags: ["attachment"],
|
|
@@ -4641,7 +4731,7 @@ var addAttachmentRoute = (0, import_zod_openapi50.createRoute)({
|
|
|
4641
4731
|
}
|
|
4642
4732
|
}
|
|
4643
4733
|
});
|
|
4644
|
-
var getAttachmentUsageRoute = (0,
|
|
4734
|
+
var getAttachmentUsageRoute = (0, import_zod_openapi51.createRoute)({
|
|
4645
4735
|
method: "get",
|
|
4646
4736
|
path: "/pages/{pageId}/attachments/usage",
|
|
4647
4737
|
tags: ["attachment"],
|
|
@@ -4673,7 +4763,7 @@ var getAttachmentUsageRoute = (0, import_zod_openapi50.createRoute)({
|
|
|
4673
4763
|
}
|
|
4674
4764
|
}
|
|
4675
4765
|
});
|
|
4676
|
-
var getAttachmentMetaRoute = (0,
|
|
4766
|
+
var getAttachmentMetaRoute = (0, import_zod_openapi51.createRoute)({
|
|
4677
4767
|
method: "get",
|
|
4678
4768
|
path: "/attachments/{id}/meta",
|
|
4679
4769
|
tags: ["attachment"],
|
|
@@ -4705,7 +4795,7 @@ var getAttachmentMetaRoute = (0, import_zod_openapi50.createRoute)({
|
|
|
4705
4795
|
}
|
|
4706
4796
|
}
|
|
4707
4797
|
});
|
|
4708
|
-
var uploadAttachmentRoute = (0,
|
|
4798
|
+
var uploadAttachmentRoute = (0, import_zod_openapi51.createRoute)({
|
|
4709
4799
|
method: "post",
|
|
4710
4800
|
path: "/attachments/upload",
|
|
4711
4801
|
tags: ["attachment"],
|
|
@@ -4751,7 +4841,7 @@ var uploadAttachmentRoute = (0, import_zod_openapi50.createRoute)({
|
|
|
4751
4841
|
}
|
|
4752
4842
|
}
|
|
4753
4843
|
});
|
|
4754
|
-
var removeAttachmentRoute = (0,
|
|
4844
|
+
var removeAttachmentRoute = (0, import_zod_openapi51.createRoute)({
|
|
4755
4845
|
method: "delete",
|
|
4756
4846
|
path: "/attachments/{id}",
|
|
4757
4847
|
tags: ["attachment"],
|
|
@@ -4802,37 +4892,37 @@ var attachmentRoutes = {
|
|
|
4802
4892
|
};
|
|
4803
4893
|
|
|
4804
4894
|
// src/contracts/search.ts
|
|
4805
|
-
var
|
|
4895
|
+
var import_zod_openapi53 = require("@hono/zod-openapi");
|
|
4806
4896
|
|
|
4807
4897
|
// src/schemas/search.ts
|
|
4808
|
-
var
|
|
4809
|
-
var SearchPageTypeSchema =
|
|
4810
|
-
var SearchPagesRequestSchema =
|
|
4811
|
-
q:
|
|
4812
|
-
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(),
|
|
4813
4903
|
type: SearchPageTypeSchema.optional(),
|
|
4814
|
-
page:
|
|
4815
|
-
limit:
|
|
4816
|
-
});
|
|
4817
|
-
var SearchHitSchema =
|
|
4818
|
-
pageId:
|
|
4819
|
-
path:
|
|
4820
|
-
score:
|
|
4821
|
-
snippet:
|
|
4822
|
-
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(),
|
|
4823
4913
|
page: PageSchema
|
|
4824
4914
|
});
|
|
4825
|
-
var SearchPagesResponseSchema =
|
|
4826
|
-
meta:
|
|
4827
|
-
took:
|
|
4828
|
-
total:
|
|
4829
|
-
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()
|
|
4830
4920
|
}),
|
|
4831
|
-
data:
|
|
4921
|
+
data: import_zod_openapi52.z.array(SearchHitSchema)
|
|
4832
4922
|
});
|
|
4833
4923
|
|
|
4834
4924
|
// src/contracts/search.ts
|
|
4835
|
-
var searchPagesRoute = (0,
|
|
4925
|
+
var searchPagesRoute = (0, import_zod_openapi53.createRoute)({
|
|
4836
4926
|
method: "get",
|
|
4837
4927
|
path: "/search",
|
|
4838
4928
|
tags: ["search"],
|
|
@@ -4869,39 +4959,39 @@ var searchRoutes = {
|
|
|
4869
4959
|
};
|
|
4870
4960
|
|
|
4871
4961
|
// src/contracts/adminCrypto.ts
|
|
4872
|
-
var
|
|
4962
|
+
var import_zod_openapi55 = require("@hono/zod-openapi");
|
|
4873
4963
|
|
|
4874
4964
|
// src/schemas/adminCrypto.ts
|
|
4875
|
-
var
|
|
4876
|
-
var SensitiveConfigEntrySchema =
|
|
4877
|
-
ns:
|
|
4878
|
-
key:
|
|
4879
|
-
present:
|
|
4880
|
-
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()
|
|
4881
4971
|
});
|
|
4882
|
-
var CryptoStatusResponseSchema =
|
|
4972
|
+
var CryptoStatusResponseSchema = import_zod_openapi54.z.object({
|
|
4883
4973
|
/** False when CROWI_ENCRYPTION_KEY is not configured — UI shows a setup hint. */
|
|
4884
|
-
encryptionConfigured:
|
|
4885
|
-
unencryptedCount:
|
|
4886
|
-
encryptedCount:
|
|
4887
|
-
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)
|
|
4888
4978
|
});
|
|
4889
|
-
var ReencryptResponseSchema =
|
|
4890
|
-
rewritten:
|
|
4979
|
+
var ReencryptResponseSchema = import_zod_openapi54.z.object({
|
|
4980
|
+
rewritten: import_zod_openapi54.z.number().int().min(0),
|
|
4891
4981
|
/** Already encrypted, skipped on this run. */
|
|
4892
|
-
alreadyEncrypted:
|
|
4982
|
+
alreadyEncrypted: import_zod_openapi54.z.number().int().min(0),
|
|
4893
4983
|
/** Sensitive registry entries that had no row in the DB at all. */
|
|
4894
|
-
missing:
|
|
4984
|
+
missing: import_zod_openapi54.z.number().int().min(0)
|
|
4895
4985
|
});
|
|
4896
|
-
var EncryptionNotConfiguredErrorSchema =
|
|
4897
|
-
error:
|
|
4898
|
-
code:
|
|
4899
|
-
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()
|
|
4900
4990
|
})
|
|
4901
4991
|
});
|
|
4902
4992
|
|
|
4903
4993
|
// src/contracts/adminCrypto.ts
|
|
4904
|
-
var getCryptoStatusRoute = (0,
|
|
4994
|
+
var getCryptoStatusRoute = (0, import_zod_openapi55.createRoute)({
|
|
4905
4995
|
method: "get",
|
|
4906
4996
|
path: "/admin/crypto/status",
|
|
4907
4997
|
tags: ["adminCrypto"],
|
|
@@ -4926,7 +5016,7 @@ var getCryptoStatusRoute = (0, import_zod_openapi54.createRoute)({
|
|
|
4926
5016
|
}
|
|
4927
5017
|
}
|
|
4928
5018
|
});
|
|
4929
|
-
var reencryptAllRoute = (0,
|
|
5019
|
+
var reencryptAllRoute = (0, import_zod_openapi55.createRoute)({
|
|
4930
5020
|
method: "post",
|
|
4931
5021
|
path: "/admin/crypto/reencrypt",
|
|
4932
5022
|
tags: ["adminCrypto"],
|
|
@@ -4961,56 +5051,56 @@ var adminCryptoRoutes = {
|
|
|
4961
5051
|
};
|
|
4962
5052
|
|
|
4963
5053
|
// src/contracts/admin/app.ts
|
|
4964
|
-
var
|
|
5054
|
+
var import_zod_openapi57 = require("@hono/zod-openapi");
|
|
4965
5055
|
|
|
4966
5056
|
// src/schemas/admin/app.ts
|
|
4967
|
-
var
|
|
4968
|
-
var GetAppSettingsResponseSchema =
|
|
4969
|
-
app:
|
|
4970
|
-
title:
|
|
4971
|
-
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()
|
|
4972
5062
|
}),
|
|
4973
5063
|
/**
|
|
4974
5064
|
* Whether a storage driver is registered (i.e. uploads are wired up).
|
|
4975
5065
|
* Sourced from `Config.isUploadable()` which now consults PluginManager.
|
|
4976
5066
|
*/
|
|
4977
|
-
isUploadable:
|
|
5067
|
+
isUploadable: import_zod_openapi56.z.boolean(),
|
|
4978
5068
|
/**
|
|
4979
5069
|
* The Open / Restricted / Closed → open / restricted / closed mapping the
|
|
4980
5070
|
* legacy admin controller exposed. Useful for the UI to render the current
|
|
4981
5071
|
* registration mode label without knowing the internal capitalisation.
|
|
4982
5072
|
*/
|
|
4983
|
-
registrationMode:
|
|
5073
|
+
registrationMode: import_zod_openapi56.z.record(import_zod_openapi56.z.string(), import_zod_openapi56.z.string()),
|
|
4984
5074
|
/**
|
|
4985
5075
|
* Whether the admin has dismissed the initial-setup checklist on the
|
|
4986
5076
|
* dashboard. Persisted server-side (`app:setupChecklistDismissed`) so the
|
|
4987
5077
|
* dismissal holds across browsers and devices, not just one localStorage.
|
|
4988
5078
|
*/
|
|
4989
|
-
setupChecklistDismissed:
|
|
5079
|
+
setupChecklistDismissed: import_zod_openapi56.z.boolean()
|
|
4990
5080
|
});
|
|
4991
|
-
var UpdateAppSettingsRequestSchema =
|
|
4992
|
-
app:
|
|
4993
|
-
title:
|
|
4994
|
-
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()
|
|
4995
5085
|
}).optional(),
|
|
4996
5086
|
/**
|
|
4997
5087
|
* Toggle the dashboard initial-setup checklist's dismissed state. Sent on
|
|
4998
5088
|
* its own (without the `app` block) when the admin clicks "mark as done".
|
|
4999
5089
|
*/
|
|
5000
|
-
setupChecklistDismissed:
|
|
5090
|
+
setupChecklistDismissed: import_zod_openapi56.z.boolean().optional()
|
|
5001
5091
|
}).strict();
|
|
5002
|
-
var UpdateAppSettingsResponseSchema =
|
|
5003
|
-
ok:
|
|
5004
|
-
});
|
|
5005
|
-
var AppSettingsValidationErrorSchema =
|
|
5006
|
-
bodyResult:
|
|
5007
|
-
issues:
|
|
5008
|
-
|
|
5009
|
-
path:
|
|
5010
|
-
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()
|
|
5011
5101
|
})
|
|
5012
5102
|
),
|
|
5013
|
-
name:
|
|
5103
|
+
name: import_zod_openapi56.z.string().optional()
|
|
5014
5104
|
})
|
|
5015
5105
|
});
|
|
5016
5106
|
|
|
@@ -5031,7 +5121,7 @@ var appSettingsValidationHook = (result, c) => {
|
|
|
5031
5121
|
400
|
|
5032
5122
|
);
|
|
5033
5123
|
};
|
|
5034
|
-
var getAppSettingsRoute = (0,
|
|
5124
|
+
var getAppSettingsRoute = (0, import_zod_openapi57.createRoute)({
|
|
5035
5125
|
method: "get",
|
|
5036
5126
|
path: "/admin/app",
|
|
5037
5127
|
tags: ["admin.app"],
|
|
@@ -5052,7 +5142,7 @@ var getAppSettingsRoute = (0, import_zod_openapi56.createRoute)({
|
|
|
5052
5142
|
}
|
|
5053
5143
|
}
|
|
5054
5144
|
});
|
|
5055
|
-
var updateAppSettingsRoute = (0,
|
|
5145
|
+
var updateAppSettingsRoute = (0, import_zod_openapi57.createRoute)({
|
|
5056
5146
|
method: "put",
|
|
5057
5147
|
path: "/admin/app",
|
|
5058
5148
|
tags: ["admin.app"],
|
|
@@ -5089,26 +5179,26 @@ var adminAppRoutes = {
|
|
|
5089
5179
|
};
|
|
5090
5180
|
|
|
5091
5181
|
// src/contracts/admin/auth.ts
|
|
5092
|
-
var
|
|
5182
|
+
var import_zod_openapi59 = require("@hono/zod-openapi");
|
|
5093
5183
|
|
|
5094
5184
|
// src/schemas/admin/auth.ts
|
|
5095
|
-
var
|
|
5096
|
-
var AuthSettingsSchema =
|
|
5097
|
-
requireThirdPartyAuth:
|
|
5098
|
-
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()
|
|
5099
5189
|
});
|
|
5100
5190
|
var UpdateAuthSettingsRequestSchema = AuthSettingsSchema;
|
|
5101
5191
|
var GetAuthSettingsResponseSchema = AuthSettingsSchema;
|
|
5102
5192
|
var UpdateAuthSettingsResponseSchema = AuthSettingsSchema;
|
|
5103
|
-
var ThirdPartyAuthUnavailableErrorSchema =
|
|
5104
|
-
error:
|
|
5105
|
-
code:
|
|
5106
|
-
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()
|
|
5107
5197
|
})
|
|
5108
5198
|
});
|
|
5109
5199
|
|
|
5110
5200
|
// src/contracts/admin/auth.ts
|
|
5111
|
-
var getAuthSettingsRoute = (0,
|
|
5201
|
+
var getAuthSettingsRoute = (0, import_zod_openapi59.createRoute)({
|
|
5112
5202
|
method: "get",
|
|
5113
5203
|
path: "/admin/auth",
|
|
5114
5204
|
tags: ["admin.auth"],
|
|
@@ -5133,7 +5223,7 @@ var getAuthSettingsRoute = (0, import_zod_openapi58.createRoute)({
|
|
|
5133
5223
|
}
|
|
5134
5224
|
}
|
|
5135
5225
|
});
|
|
5136
|
-
var updateAuthSettingsRoute = (0,
|
|
5226
|
+
var updateAuthSettingsRoute = (0, import_zod_openapi59.createRoute)({
|
|
5137
5227
|
method: "put",
|
|
5138
5228
|
path: "/admin/auth",
|
|
5139
5229
|
tags: ["admin.auth"],
|
|
@@ -5173,44 +5263,44 @@ var adminAuthRoutes = {
|
|
|
5173
5263
|
};
|
|
5174
5264
|
|
|
5175
5265
|
// src/contracts/admin/mail.ts
|
|
5176
|
-
var
|
|
5266
|
+
var import_zod_openapi61 = require("@hono/zod-openapi");
|
|
5177
5267
|
|
|
5178
5268
|
// src/schemas/admin/mail.ts
|
|
5179
|
-
var
|
|
5180
|
-
var GetMailSettingsResponseSchema =
|
|
5181
|
-
from:
|
|
5182
|
-
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(),
|
|
5183
5273
|
/** npm name of the plugin that registered the active driver, for
|
|
5184
5274
|
* linking to its config page. Empty when no sender is active. */
|
|
5185
|
-
activePlugin:
|
|
5275
|
+
activePlugin: import_zod_openapi60.z.string()
|
|
5186
5276
|
});
|
|
5187
|
-
var UpdateMailSettingsRequestSchema =
|
|
5188
|
-
from:
|
|
5277
|
+
var UpdateMailSettingsRequestSchema = import_zod_openapi60.z.object({
|
|
5278
|
+
from: import_zod_openapi60.z.string().trim().max(254).optional()
|
|
5189
5279
|
});
|
|
5190
|
-
var UpdateMailSettingsResponseSchema =
|
|
5191
|
-
ok:
|
|
5280
|
+
var UpdateMailSettingsResponseSchema = import_zod_openapi60.z.object({
|
|
5281
|
+
ok: import_zod_openapi60.z.literal(true)
|
|
5192
5282
|
});
|
|
5193
|
-
var SendTestMailRequestSchema =
|
|
5194
|
-
var SendTestMailResponseSchema =
|
|
5195
|
-
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),
|
|
5196
5286
|
/** Address the test mail was dispatched to (= the calling admin's email). */
|
|
5197
|
-
to:
|
|
5287
|
+
to: import_zod_openapi60.z.string()
|
|
5198
5288
|
});
|
|
5199
|
-
var SendTestMailErrorSchema =
|
|
5200
|
-
error:
|
|
5201
|
-
code:
|
|
5202
|
-
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()
|
|
5203
5293
|
})
|
|
5204
5294
|
});
|
|
5205
|
-
var MailSettingsValidationErrorSchema =
|
|
5206
|
-
bodyResult:
|
|
5207
|
-
issues:
|
|
5208
|
-
|
|
5209
|
-
path:
|
|
5210
|
-
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()
|
|
5211
5301
|
})
|
|
5212
5302
|
),
|
|
5213
|
-
name:
|
|
5303
|
+
name: import_zod_openapi60.z.string().optional()
|
|
5214
5304
|
})
|
|
5215
5305
|
});
|
|
5216
5306
|
|
|
@@ -5231,7 +5321,7 @@ var mailSettingsValidationHook = (result, c) => {
|
|
|
5231
5321
|
400
|
|
5232
5322
|
);
|
|
5233
5323
|
};
|
|
5234
|
-
var getMailSettingsRoute = (0,
|
|
5324
|
+
var getMailSettingsRoute = (0, import_zod_openapi61.createRoute)({
|
|
5235
5325
|
method: "get",
|
|
5236
5326
|
path: "/admin/mail",
|
|
5237
5327
|
tags: ["admin.mail"],
|
|
@@ -5252,7 +5342,7 @@ var getMailSettingsRoute = (0, import_zod_openapi60.createRoute)({
|
|
|
5252
5342
|
}
|
|
5253
5343
|
}
|
|
5254
5344
|
});
|
|
5255
|
-
var updateMailSettingsRoute = (0,
|
|
5345
|
+
var updateMailSettingsRoute = (0, import_zod_openapi61.createRoute)({
|
|
5256
5346
|
method: "put",
|
|
5257
5347
|
path: "/admin/mail",
|
|
5258
5348
|
tags: ["admin.mail"],
|
|
@@ -5283,7 +5373,7 @@ var updateMailSettingsRoute = (0, import_zod_openapi60.createRoute)({
|
|
|
5283
5373
|
}
|
|
5284
5374
|
}
|
|
5285
5375
|
});
|
|
5286
|
-
var sendTestMailRoute = (0,
|
|
5376
|
+
var sendTestMailRoute = (0, import_zod_openapi61.createRoute)({
|
|
5287
5377
|
method: "post",
|
|
5288
5378
|
path: "/admin/mail/test",
|
|
5289
5379
|
tags: ["admin.mail"],
|
|
@@ -5325,30 +5415,30 @@ var adminMailRoutes = {
|
|
|
5325
5415
|
};
|
|
5326
5416
|
|
|
5327
5417
|
// src/contracts/admin/plugins.ts
|
|
5328
|
-
var
|
|
5418
|
+
var import_zod_openapi63 = require("@hono/zod-openapi");
|
|
5329
5419
|
|
|
5330
5420
|
// src/schemas/admin/plugins.ts
|
|
5331
|
-
var
|
|
5332
|
-
var PluginFieldSchema =
|
|
5333
|
-
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(),
|
|
5334
5424
|
/**
|
|
5335
5425
|
* Localized display label. Falls back to `name` in the form when absent.
|
|
5336
5426
|
* Filled from the plugin's `configI18n[locale]` overlay by the admin API.
|
|
5337
5427
|
*/
|
|
5338
|
-
label:
|
|
5339
|
-
kind:
|
|
5340
|
-
description:
|
|
5341
|
-
defaultValue:
|
|
5342
|
-
options:
|
|
5343
|
-
action:
|
|
5344
|
-
label:
|
|
5345
|
-
method:
|
|
5346
|
-
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()
|
|
5347
5437
|
}).optional(),
|
|
5348
|
-
optional:
|
|
5438
|
+
optional: import_zod_openapi62.z.boolean()
|
|
5349
5439
|
});
|
|
5350
|
-
var AdminSidebarSection =
|
|
5351
|
-
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({
|
|
5352
5442
|
/**
|
|
5353
5443
|
* Sidebar section to surface this plugin under. The runtime fills
|
|
5354
5444
|
* this in — it's either declared by the plugin via `adminPlacement`
|
|
@@ -5357,21 +5447,28 @@ var PluginAdminPlacementSchema = import_zod_openapi61.z.object({
|
|
|
5357
5447
|
*/
|
|
5358
5448
|
section: AdminSidebarSection,
|
|
5359
5449
|
/** Display label (defaults to the plugin's npm name). */
|
|
5360
|
-
label:
|
|
5450
|
+
label: import_zod_openapi62.z.string(),
|
|
5361
5451
|
/** Lucide icon name from a fixed allow-list. */
|
|
5362
|
-
icon:
|
|
5452
|
+
icon: import_zod_openapi62.z.string().optional()
|
|
5363
5453
|
});
|
|
5364
|
-
var PluginInfoSchema =
|
|
5365
|
-
name:
|
|
5366
|
-
version:
|
|
5367
|
-
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(),
|
|
5368
5465
|
/** Has a configSchema (= showable config form). */
|
|
5369
|
-
hasConfig:
|
|
5466
|
+
hasConfig: import_zod_openapi62.z.boolean(),
|
|
5370
5467
|
/**
|
|
5371
5468
|
* Driver-registry slots this plugin currently fills. Useful for the
|
|
5372
5469
|
* admin "this plugin is the active storage driver" badge.
|
|
5373
5470
|
*/
|
|
5374
|
-
registers:
|
|
5471
|
+
registers: import_zod_openapi62.z.array(import_zod_openapi62.z.string()),
|
|
5375
5472
|
/**
|
|
5376
5473
|
* Where the plugin appears in the admin sidebar. The server always
|
|
5377
5474
|
* populates this even when the plugin didn't declare its own
|
|
@@ -5384,21 +5481,32 @@ var PluginInfoSchema = import_zod_openapi61.z.object({
|
|
|
5384
5481
|
* still apply their config on the next server restart; plugins with
|
|
5385
5482
|
* it apply config changes live.
|
|
5386
5483
|
*/
|
|
5387
|
-
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()
|
|
5388
5496
|
});
|
|
5389
|
-
var ListPluginsResponseSchema =
|
|
5390
|
-
plugins:
|
|
5497
|
+
var ListPluginsResponseSchema = import_zod_openapi62.z.object({
|
|
5498
|
+
plugins: import_zod_openapi62.z.array(PluginInfoSchema)
|
|
5391
5499
|
});
|
|
5392
|
-
var PluginConfigResponseSchema =
|
|
5393
|
-
name:
|
|
5394
|
-
fields:
|
|
5395
|
-
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())
|
|
5396
5504
|
});
|
|
5397
|
-
var UpdatePluginConfigRequestSchema =
|
|
5398
|
-
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())
|
|
5399
5507
|
});
|
|
5400
|
-
var UpdatePluginConfigResponseSchema =
|
|
5401
|
-
ok:
|
|
5508
|
+
var UpdatePluginConfigResponseSchema = import_zod_openapi62.z.object({
|
|
5509
|
+
ok: import_zod_openapi62.z.literal(true),
|
|
5402
5510
|
/**
|
|
5403
5511
|
* Whether at least one plugin's `reconfigure` hook ran successfully
|
|
5404
5512
|
* for this save. `true` means the new values are already live on
|
|
@@ -5408,44 +5516,44 @@ var UpdatePluginConfigResponseSchema = import_zod_openapi61.z.object({
|
|
|
5408
5516
|
* "saved, but apply failed" warning in that case via the response
|
|
5409
5517
|
* `reconfigureFailed` flag.
|
|
5410
5518
|
*/
|
|
5411
|
-
hotReloaded:
|
|
5519
|
+
hotReloaded: import_zod_openapi62.z.boolean(),
|
|
5412
5520
|
/**
|
|
5413
5521
|
* True when at least one plugin's `reconfigure` was attempted and
|
|
5414
5522
|
* threw. The save itself succeeded (Mongo + cache are updated) so
|
|
5415
5523
|
* the next process boot will see the new values, but the *running*
|
|
5416
5524
|
* process couldn't apply them. UI surfaces a warning toast.
|
|
5417
5525
|
*/
|
|
5418
|
-
reconfigureFailed:
|
|
5526
|
+
reconfigureFailed: import_zod_openapi62.z.boolean()
|
|
5419
5527
|
});
|
|
5420
|
-
var PluginNotFoundErrorSchema =
|
|
5421
|
-
error:
|
|
5422
|
-
code:
|
|
5423
|
-
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()
|
|
5424
5532
|
})
|
|
5425
5533
|
});
|
|
5426
|
-
var PluginConfigValidationErrorSchema =
|
|
5427
|
-
error:
|
|
5428
|
-
code:
|
|
5429
|
-
message:
|
|
5430
|
-
issues:
|
|
5431
|
-
|
|
5432
|
-
path:
|
|
5433
|
-
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()
|
|
5434
5542
|
})
|
|
5435
5543
|
)
|
|
5436
5544
|
})
|
|
5437
5545
|
});
|
|
5438
|
-
var ClearRenderCacheResponseSchema =
|
|
5439
|
-
ok:
|
|
5440
|
-
clearedAt:
|
|
5546
|
+
var ClearRenderCacheResponseSchema = import_zod_openapi62.z.object({
|
|
5547
|
+
ok: import_zod_openapi62.z.literal(true),
|
|
5548
|
+
clearedAt: import_zod_openapi62.z.string(),
|
|
5441
5549
|
/** Number of cache rows removed. */
|
|
5442
|
-
removedCount:
|
|
5550
|
+
removedCount: import_zod_openapi62.z.number().int().min(0)
|
|
5443
5551
|
});
|
|
5444
5552
|
|
|
5445
5553
|
// src/contracts/admin/plugins.ts
|
|
5446
|
-
var PluginNameQuerySchema =
|
|
5447
|
-
var PluginConfigQuerySchema =
|
|
5448
|
-
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)({
|
|
5449
5557
|
method: "get",
|
|
5450
5558
|
path: "/admin/plugins",
|
|
5451
5559
|
tags: ["admin.plugins"],
|
|
@@ -5470,7 +5578,7 @@ var listPluginsRoute = (0, import_zod_openapi62.createRoute)({
|
|
|
5470
5578
|
}
|
|
5471
5579
|
}
|
|
5472
5580
|
});
|
|
5473
|
-
var getPluginConfigRoute = (0,
|
|
5581
|
+
var getPluginConfigRoute = (0, import_zod_openapi63.createRoute)({
|
|
5474
5582
|
method: "get",
|
|
5475
5583
|
path: "/admin/plugins/config",
|
|
5476
5584
|
tags: ["admin.plugins"],
|
|
@@ -5502,7 +5610,7 @@ var getPluginConfigRoute = (0, import_zod_openapi62.createRoute)({
|
|
|
5502
5610
|
}
|
|
5503
5611
|
}
|
|
5504
5612
|
});
|
|
5505
|
-
var updatePluginConfigRoute = (0,
|
|
5613
|
+
var updatePluginConfigRoute = (0, import_zod_openapi63.createRoute)({
|
|
5506
5614
|
method: "put",
|
|
5507
5615
|
path: "/admin/plugins/config",
|
|
5508
5616
|
tags: ["admin.plugins"],
|
|
@@ -5541,8 +5649,8 @@ var updatePluginConfigRoute = (0, import_zod_openapi62.createRoute)({
|
|
|
5541
5649
|
}
|
|
5542
5650
|
}
|
|
5543
5651
|
});
|
|
5544
|
-
var ClearRenderCacheBodySchema =
|
|
5545
|
-
var clearRenderCacheAllRoute = (0,
|
|
5652
|
+
var ClearRenderCacheBodySchema = import_zod_openapi63.z.object({}).optional();
|
|
5653
|
+
var clearRenderCacheAllRoute = (0, import_zod_openapi63.createRoute)({
|
|
5546
5654
|
method: "post",
|
|
5547
5655
|
path: "/admin/plugins/render-cache/clear-all",
|
|
5548
5656
|
tags: ["admin.plugins"],
|
|
@@ -5572,7 +5680,7 @@ var clearRenderCacheAllRoute = (0, import_zod_openapi62.createRoute)({
|
|
|
5572
5680
|
}
|
|
5573
5681
|
}
|
|
5574
5682
|
});
|
|
5575
|
-
var clearRenderCachePluginRoute = (0,
|
|
5683
|
+
var clearRenderCachePluginRoute = (0, import_zod_openapi63.createRoute)({
|
|
5576
5684
|
method: "post",
|
|
5577
5685
|
path: "/admin/plugins/render-cache/clear-plugin",
|
|
5578
5686
|
tags: ["admin.plugins"],
|
|
@@ -5616,28 +5724,28 @@ var adminPluginsRoutes = {
|
|
|
5616
5724
|
};
|
|
5617
5725
|
|
|
5618
5726
|
// src/contracts/admin/search.ts
|
|
5619
|
-
var
|
|
5727
|
+
var import_zod_openapi65 = require("@hono/zod-openapi");
|
|
5620
5728
|
|
|
5621
5729
|
// src/schemas/admin/search.ts
|
|
5622
|
-
var
|
|
5623
|
-
var SearchDriverEntrySchema =
|
|
5624
|
-
driverName:
|
|
5625
|
-
pluginName:
|
|
5626
|
-
isActive:
|
|
5627
|
-
supportsRebuild:
|
|
5628
|
-
});
|
|
5629
|
-
var ActiveSearchDriverSchema =
|
|
5630
|
-
driverName:
|
|
5631
|
-
pluginName:
|
|
5632
|
-
supportsRebuild:
|
|
5633
|
-
});
|
|
5634
|
-
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({
|
|
5635
5743
|
active: ActiveSearchDriverSchema.nullable(),
|
|
5636
|
-
drivers:
|
|
5744
|
+
drivers: import_zod_openapi64.z.array(SearchDriverEntrySchema)
|
|
5637
5745
|
});
|
|
5638
5746
|
|
|
5639
5747
|
// src/contracts/admin/search.ts
|
|
5640
|
-
var getSearchStatusRoute = (0,
|
|
5748
|
+
var getSearchStatusRoute = (0, import_zod_openapi65.createRoute)({
|
|
5641
5749
|
method: "get",
|
|
5642
5750
|
path: "/admin/search",
|
|
5643
5751
|
tags: ["admin.search"],
|
|
@@ -5667,21 +5775,21 @@ var adminSearchRoutes = {
|
|
|
5667
5775
|
};
|
|
5668
5776
|
|
|
5669
5777
|
// src/contracts/admin/security.ts
|
|
5670
|
-
var
|
|
5778
|
+
var import_zod_openapi67 = require("@hono/zod-openapi");
|
|
5671
5779
|
|
|
5672
5780
|
// src/schemas/admin/security.ts
|
|
5673
|
-
var
|
|
5674
|
-
var RegistrationModeSchema =
|
|
5675
|
-
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({
|
|
5676
5784
|
registrationMode: RegistrationModeSchema,
|
|
5677
|
-
registrationWhiteList:
|
|
5785
|
+
registrationWhiteList: import_zod_openapi66.z.array(import_zod_openapi66.z.string())
|
|
5678
5786
|
});
|
|
5679
5787
|
var UpdateSecuritySettingsRequestSchema = SecuritySettingsSchema;
|
|
5680
5788
|
var GetSecuritySettingsResponseSchema = SecuritySettingsSchema;
|
|
5681
5789
|
var UpdateSecuritySettingsResponseSchema = SecuritySettingsSchema;
|
|
5682
5790
|
|
|
5683
5791
|
// src/contracts/admin/security.ts
|
|
5684
|
-
var getSecuritySettingsRoute = (0,
|
|
5792
|
+
var getSecuritySettingsRoute = (0, import_zod_openapi67.createRoute)({
|
|
5685
5793
|
method: "get",
|
|
5686
5794
|
path: "/admin/security",
|
|
5687
5795
|
tags: ["admin.security"],
|
|
@@ -5706,7 +5814,7 @@ var getSecuritySettingsRoute = (0, import_zod_openapi66.createRoute)({
|
|
|
5706
5814
|
}
|
|
5707
5815
|
}
|
|
5708
5816
|
});
|
|
5709
|
-
var updateSecuritySettingsRoute = (0,
|
|
5817
|
+
var updateSecuritySettingsRoute = (0, import_zod_openapi67.createRoute)({
|
|
5710
5818
|
method: "put",
|
|
5711
5819
|
path: "/admin/security",
|
|
5712
5820
|
tags: ["admin.security"],
|
|
@@ -5742,26 +5850,26 @@ var adminSecurityRoutes = {
|
|
|
5742
5850
|
};
|
|
5743
5851
|
|
|
5744
5852
|
// src/contracts/admin/storage.ts
|
|
5745
|
-
var
|
|
5853
|
+
var import_zod_openapi69 = require("@hono/zod-openapi");
|
|
5746
5854
|
|
|
5747
5855
|
// src/schemas/admin/storage.ts
|
|
5748
|
-
var
|
|
5749
|
-
var StorageDriverEntrySchema =
|
|
5750
|
-
driverName:
|
|
5751
|
-
pluginName:
|
|
5752
|
-
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()
|
|
5753
5861
|
});
|
|
5754
|
-
var ActiveStorageDriverSchema =
|
|
5755
|
-
driverName:
|
|
5756
|
-
pluginName:
|
|
5862
|
+
var ActiveStorageDriverSchema = import_zod_openapi68.z.object({
|
|
5863
|
+
driverName: import_zod_openapi68.z.string(),
|
|
5864
|
+
pluginName: import_zod_openapi68.z.string()
|
|
5757
5865
|
});
|
|
5758
|
-
var GetStorageStatusResponseSchema =
|
|
5866
|
+
var GetStorageStatusResponseSchema = import_zod_openapi68.z.object({
|
|
5759
5867
|
active: ActiveStorageDriverSchema.nullable(),
|
|
5760
|
-
drivers:
|
|
5868
|
+
drivers: import_zod_openapi68.z.array(StorageDriverEntrySchema)
|
|
5761
5869
|
});
|
|
5762
5870
|
|
|
5763
5871
|
// src/contracts/admin/storage.ts
|
|
5764
|
-
var getStorageStatusRoute = (0,
|
|
5872
|
+
var getStorageStatusRoute = (0, import_zod_openapi69.createRoute)({
|
|
5765
5873
|
method: "get",
|
|
5766
5874
|
path: "/admin/storage",
|
|
5767
5875
|
tags: ["admin.storage"],
|
|
@@ -5791,94 +5899,94 @@ var adminStorageRoutes = {
|
|
|
5791
5899
|
};
|
|
5792
5900
|
|
|
5793
5901
|
// src/contracts/admin/users.ts
|
|
5794
|
-
var
|
|
5902
|
+
var import_zod_openapi72 = require("@hono/zod-openapi");
|
|
5795
5903
|
|
|
5796
5904
|
// src/schemas/admin/users.ts
|
|
5797
|
-
var
|
|
5905
|
+
var import_zod_openapi71 = require("@hono/zod-openapi");
|
|
5798
5906
|
|
|
5799
5907
|
// src/schemas/admin/_pager.ts
|
|
5800
|
-
var
|
|
5801
|
-
var AdminPagerSchema =
|
|
5802
|
-
page:
|
|
5803
|
-
pagesCount:
|
|
5804
|
-
pages:
|
|
5805
|
-
total:
|
|
5806
|
-
previous:
|
|
5807
|
-
previousDots:
|
|
5808
|
-
next:
|
|
5809
|
-
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()
|
|
5810
5918
|
});
|
|
5811
5919
|
|
|
5812
5920
|
// src/schemas/admin/users.ts
|
|
5813
|
-
var ListAdminUsersRequestSchema =
|
|
5814
|
-
q:
|
|
5921
|
+
var ListAdminUsersRequestSchema = import_zod_openapi71.z.object({
|
|
5922
|
+
q: import_zod_openapi71.z.string().optional(),
|
|
5815
5923
|
/**
|
|
5816
5924
|
* Optional numeric user-status filter (see `UserStatusEnum`). When set, only
|
|
5817
5925
|
* users in that status are returned — used by the "user approval" queue
|
|
5818
5926
|
* screen to list `REGISTERED` (= awaiting admin approval) users.
|
|
5819
5927
|
*/
|
|
5820
|
-
status:
|
|
5821
|
-
page:
|
|
5822
|
-
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)
|
|
5823
5931
|
});
|
|
5824
|
-
var ListAdminUsersResponseSchema =
|
|
5825
|
-
users:
|
|
5932
|
+
var ListAdminUsersResponseSchema = import_zod_openapi71.z.object({
|
|
5933
|
+
users: import_zod_openapi71.z.array(UserPublicSchema),
|
|
5826
5934
|
pager: AdminPagerSchema
|
|
5827
5935
|
});
|
|
5828
|
-
var SearchAdminUsersByEmailRequestSchema =
|
|
5829
|
-
email:
|
|
5936
|
+
var SearchAdminUsersByEmailRequestSchema = import_zod_openapi71.z.object({
|
|
5937
|
+
email: import_zod_openapi71.z.string().min(1)
|
|
5830
5938
|
});
|
|
5831
|
-
var SearchAdminUsersByEmailResponseSchema =
|
|
5832
|
-
users:
|
|
5939
|
+
var SearchAdminUsersByEmailResponseSchema = import_zod_openapi71.z.object({
|
|
5940
|
+
users: import_zod_openapi71.z.array(UserPublicSchema)
|
|
5833
5941
|
});
|
|
5834
|
-
var AdminUserIdParamSchema =
|
|
5835
|
-
id:
|
|
5942
|
+
var AdminUserIdParamSchema = import_zod_openapi71.z.object({
|
|
5943
|
+
id: import_zod_openapi71.z.string()
|
|
5836
5944
|
});
|
|
5837
|
-
var InviteUsersRequestSchema =
|
|
5838
|
-
emailList:
|
|
5839
|
-
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)
|
|
5840
5948
|
});
|
|
5841
|
-
var InvitedUserResultSchema =
|
|
5842
|
-
|
|
5843
|
-
email:
|
|
5844
|
-
status:
|
|
5845
|
-
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()
|
|
5846
5954
|
}),
|
|
5847
|
-
|
|
5848
|
-
email:
|
|
5849
|
-
status:
|
|
5955
|
+
import_zod_openapi71.z.object({
|
|
5956
|
+
email: import_zod_openapi71.z.string(),
|
|
5957
|
+
status: import_zod_openapi71.z.literal("exists")
|
|
5850
5958
|
}),
|
|
5851
|
-
|
|
5852
|
-
email:
|
|
5853
|
-
status:
|
|
5959
|
+
import_zod_openapi71.z.object({
|
|
5960
|
+
email: import_zod_openapi71.z.string(),
|
|
5961
|
+
status: import_zod_openapi71.z.literal("failed")
|
|
5854
5962
|
})
|
|
5855
5963
|
]);
|
|
5856
|
-
var InviteUsersResponseSchema =
|
|
5857
|
-
results:
|
|
5964
|
+
var InviteUsersResponseSchema = import_zod_openapi71.z.object({
|
|
5965
|
+
results: import_zod_openapi71.z.array(InvitedUserResultSchema)
|
|
5858
5966
|
});
|
|
5859
|
-
var EditAdminUserRequestSchema =
|
|
5860
|
-
name:
|
|
5861
|
-
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()
|
|
5862
5970
|
});
|
|
5863
|
-
var AdminUserMutationResponseSchema =
|
|
5971
|
+
var AdminUserMutationResponseSchema = import_zod_openapi71.z.object({
|
|
5864
5972
|
user: UserPublicSchema
|
|
5865
5973
|
});
|
|
5866
|
-
var ResetPasswordResponseSchema =
|
|
5974
|
+
var ResetPasswordResponseSchema = import_zod_openapi71.z.object({
|
|
5867
5975
|
user: UserPublicSchema,
|
|
5868
|
-
newPassword:
|
|
5976
|
+
newPassword: import_zod_openapi71.z.string()
|
|
5869
5977
|
});
|
|
5870
|
-
var UpdateAdminUserEmailRequestSchema =
|
|
5871
|
-
email:
|
|
5978
|
+
var UpdateAdminUserEmailRequestSchema = import_zod_openapi71.z.object({
|
|
5979
|
+
email: import_zod_openapi71.z.string().email()
|
|
5872
5980
|
});
|
|
5873
|
-
var DeleteAdminUserResponseSchema =
|
|
5874
|
-
deletedId:
|
|
5981
|
+
var DeleteAdminUserResponseSchema = import_zod_openapi71.z.object({
|
|
5982
|
+
deletedId: import_zod_openapi71.z.string()
|
|
5875
5983
|
});
|
|
5876
|
-
var PendingUsersCountResponseSchema =
|
|
5877
|
-
count:
|
|
5984
|
+
var PendingUsersCountResponseSchema = import_zod_openapi71.z.object({
|
|
5985
|
+
count: import_zod_openapi71.z.number().int().nonnegative()
|
|
5878
5986
|
});
|
|
5879
5987
|
|
|
5880
5988
|
// src/contracts/admin/users.ts
|
|
5881
|
-
var listUsersRoute = (0,
|
|
5989
|
+
var listUsersRoute = (0, import_zod_openapi72.createRoute)({
|
|
5882
5990
|
method: "get",
|
|
5883
5991
|
path: "/admin/users",
|
|
5884
5992
|
tags: ["admin.users"],
|
|
@@ -5906,7 +6014,7 @@ var listUsersRoute = (0, import_zod_openapi71.createRoute)({
|
|
|
5906
6014
|
}
|
|
5907
6015
|
}
|
|
5908
6016
|
});
|
|
5909
|
-
var searchUsersByEmailRoute = (0,
|
|
6017
|
+
var searchUsersByEmailRoute = (0, import_zod_openapi72.createRoute)({
|
|
5910
6018
|
method: "get",
|
|
5911
6019
|
path: "/admin/users/search",
|
|
5912
6020
|
tags: ["admin.users"],
|
|
@@ -5934,7 +6042,7 @@ var searchUsersByEmailRoute = (0, import_zod_openapi71.createRoute)({
|
|
|
5934
6042
|
}
|
|
5935
6043
|
}
|
|
5936
6044
|
});
|
|
5937
|
-
var inviteUsersRoute = (0,
|
|
6045
|
+
var inviteUsersRoute = (0, import_zod_openapi72.createRoute)({
|
|
5938
6046
|
method: "post",
|
|
5939
6047
|
path: "/admin/users/invite",
|
|
5940
6048
|
tags: ["admin.users"],
|
|
@@ -5968,7 +6076,7 @@ var inviteUsersRoute = (0, import_zod_openapi71.createRoute)({
|
|
|
5968
6076
|
}
|
|
5969
6077
|
}
|
|
5970
6078
|
});
|
|
5971
|
-
var editUserRoute = (0,
|
|
6079
|
+
var editUserRoute = (0, import_zod_openapi72.createRoute)({
|
|
5972
6080
|
method: "patch",
|
|
5973
6081
|
path: "/admin/users/{id}",
|
|
5974
6082
|
tags: ["admin.users"],
|
|
@@ -6011,7 +6119,7 @@ var editUserRoute = (0, import_zod_openapi71.createRoute)({
|
|
|
6011
6119
|
}
|
|
6012
6120
|
}
|
|
6013
6121
|
});
|
|
6014
|
-
var makeAdminRoute = (0,
|
|
6122
|
+
var makeAdminRoute = (0, import_zod_openapi72.createRoute)({
|
|
6015
6123
|
method: "put",
|
|
6016
6124
|
path: "/admin/users/{id}/admin",
|
|
6017
6125
|
tags: ["admin.users"],
|
|
@@ -6047,7 +6155,7 @@ var makeAdminRoute = (0, import_zod_openapi71.createRoute)({
|
|
|
6047
6155
|
}
|
|
6048
6156
|
}
|
|
6049
6157
|
});
|
|
6050
|
-
var removeFromAdminRoute = (0,
|
|
6158
|
+
var removeFromAdminRoute = (0, import_zod_openapi72.createRoute)({
|
|
6051
6159
|
method: "delete",
|
|
6052
6160
|
path: "/admin/users/{id}/admin",
|
|
6053
6161
|
tags: ["admin.users"],
|
|
@@ -6083,7 +6191,7 @@ var removeFromAdminRoute = (0, import_zod_openapi71.createRoute)({
|
|
|
6083
6191
|
}
|
|
6084
6192
|
}
|
|
6085
6193
|
});
|
|
6086
|
-
var activateUserRoute = (0,
|
|
6194
|
+
var activateUserRoute = (0, import_zod_openapi72.createRoute)({
|
|
6087
6195
|
method: "put",
|
|
6088
6196
|
path: "/admin/users/{id}/status/active",
|
|
6089
6197
|
tags: ["admin.users"],
|
|
@@ -6119,7 +6227,7 @@ var activateUserRoute = (0, import_zod_openapi71.createRoute)({
|
|
|
6119
6227
|
}
|
|
6120
6228
|
}
|
|
6121
6229
|
});
|
|
6122
|
-
var suspendUserRoute = (0,
|
|
6230
|
+
var suspendUserRoute = (0, import_zod_openapi72.createRoute)({
|
|
6123
6231
|
method: "put",
|
|
6124
6232
|
path: "/admin/users/{id}/status/suspended",
|
|
6125
6233
|
tags: ["admin.users"],
|
|
@@ -6155,7 +6263,7 @@ var suspendUserRoute = (0, import_zod_openapi71.createRoute)({
|
|
|
6155
6263
|
}
|
|
6156
6264
|
}
|
|
6157
6265
|
});
|
|
6158
|
-
var resetPasswordRoute = (0,
|
|
6266
|
+
var resetPasswordRoute = (0, import_zod_openapi72.createRoute)({
|
|
6159
6267
|
method: "post",
|
|
6160
6268
|
path: "/admin/users/{id}/reset-password",
|
|
6161
6269
|
tags: ["admin.users"],
|
|
@@ -6191,7 +6299,7 @@ var resetPasswordRoute = (0, import_zod_openapi71.createRoute)({
|
|
|
6191
6299
|
}
|
|
6192
6300
|
}
|
|
6193
6301
|
});
|
|
6194
|
-
var resendInviteRoute = (0,
|
|
6302
|
+
var resendInviteRoute = (0, import_zod_openapi72.createRoute)({
|
|
6195
6303
|
method: "post",
|
|
6196
6304
|
path: "/admin/users/{id}/resend-invite",
|
|
6197
6305
|
tags: ["admin.users"],
|
|
@@ -6231,7 +6339,7 @@ var resendInviteRoute = (0, import_zod_openapi71.createRoute)({
|
|
|
6231
6339
|
}
|
|
6232
6340
|
}
|
|
6233
6341
|
});
|
|
6234
|
-
var updateUserEmailRoute = (0,
|
|
6342
|
+
var updateUserEmailRoute = (0, import_zod_openapi72.createRoute)({
|
|
6235
6343
|
method: "put",
|
|
6236
6344
|
path: "/admin/users/{id}/email",
|
|
6237
6345
|
tags: ["admin.users"],
|
|
@@ -6274,7 +6382,7 @@ var updateUserEmailRoute = (0, import_zod_openapi71.createRoute)({
|
|
|
6274
6382
|
}
|
|
6275
6383
|
}
|
|
6276
6384
|
});
|
|
6277
|
-
var pendingUsersCountRoute = (0,
|
|
6385
|
+
var pendingUsersCountRoute = (0, import_zod_openapi72.createRoute)({
|
|
6278
6386
|
method: "get",
|
|
6279
6387
|
path: "/admin/users/pending-count",
|
|
6280
6388
|
tags: ["admin.users"],
|
|
@@ -6299,7 +6407,7 @@ var pendingUsersCountRoute = (0, import_zod_openapi71.createRoute)({
|
|
|
6299
6407
|
}
|
|
6300
6408
|
}
|
|
6301
6409
|
});
|
|
6302
|
-
var deleteUserRoute = (0,
|
|
6410
|
+
var deleteUserRoute = (0, import_zod_openapi72.createRoute)({
|
|
6303
6411
|
method: "delete",
|
|
6304
6412
|
path: "/admin/users/{id}",
|
|
6305
6413
|
tags: ["admin.users"],
|
|
@@ -6356,7 +6464,7 @@ var adminUsersRoutes = {
|
|
|
6356
6464
|
};
|
|
6357
6465
|
|
|
6358
6466
|
// src/client.ts
|
|
6359
|
-
var
|
|
6467
|
+
var import_zod_openapi73 = require("@hono/zod-openapi");
|
|
6360
6468
|
var import_client = require("hono/client");
|
|
6361
6469
|
var stubUser = {
|
|
6362
6470
|
id: "",
|
|
@@ -6615,7 +6723,7 @@ var stubListPlugins = { plugins: [] };
|
|
|
6615
6723
|
var stubPluginConfig = { name: "", fields: [], values: {} };
|
|
6616
6724
|
var stubUpdatePluginConfig = { ok: true, hotReloaded: false, reconfigureFailed: false };
|
|
6617
6725
|
var stubClearRenderCache = { ok: true, clearedAt: "", removedCount: 0 };
|
|
6618
|
-
var appAuthMeUserChain = new
|
|
6726
|
+
var appAuthMeUserChain = new import_zod_openapi73.OpenAPIHono().openapi(
|
|
6619
6727
|
appRoutes.getAppInfoRoute,
|
|
6620
6728
|
(c) => c.json({ title: null, confidential: null, version: "", apiVersion: "v2", capabilities: [], canSelfRegister: true }, 200)
|
|
6621
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(
|
|
@@ -6635,54 +6743,38 @@ var appAuthMeUserChain = new import_zod_openapi72.OpenAPIHono().openapi(
|
|
|
6635
6743
|
200
|
|
6636
6744
|
)
|
|
6637
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));
|
|
6638
|
-
var bookmarkBacklinkCommentRevisionChain = new
|
|
6639
|
-
var pageChain = new
|
|
6640
|
-
var lateContractApp = new
|
|
6641
|
-
var adminSettingsContractApp = new
|
|
6642
|
-
var adminUsersPluginsContractApp = new
|
|
6643
|
-
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));
|
|
6644
6752
|
var createClient = (baseUrl, options = {}) => (0, import_client.hc)(baseUrl, {
|
|
6645
6753
|
headers: options.headers,
|
|
6646
6754
|
fetch: options.fetch
|
|
6647
6755
|
});
|
|
6648
6756
|
|
|
6649
|
-
// src/schemas/app-capabilities.ts
|
|
6650
|
-
var STATIC_CAPABILITIES = [
|
|
6651
|
-
"oauth",
|
|
6652
|
-
// The oauth:* tags mirror GRANT_TYPES_SUPPORTED + the S256 PKCE method
|
|
6653
|
-
// (schemas/oauth-endpoints.ts / the RFC 8414 discovery doc). Keep in sync.
|
|
6654
|
-
"oauth:auth-code",
|
|
6655
|
-
"oauth:device",
|
|
6656
|
-
"oauth:pkce",
|
|
6657
|
-
"pat",
|
|
6658
|
-
"pages",
|
|
6659
|
-
"comments",
|
|
6660
|
-
"bookmarks",
|
|
6661
|
-
"attachments",
|
|
6662
|
-
"notifications"
|
|
6663
|
-
];
|
|
6664
|
-
var API_SURFACE_VERSION = "v2";
|
|
6665
|
-
|
|
6666
6757
|
// src/schemas/mail-token.ts
|
|
6667
|
-
var
|
|
6668
|
-
var MailTokenPurposeSchema =
|
|
6669
|
-
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({
|
|
6670
6761
|
purpose: MailTokenPurposeSchema,
|
|
6671
|
-
userId:
|
|
6762
|
+
userId: import_zod_openapi74.z.string(),
|
|
6672
6763
|
/** Target address. For `email-change` this is the NEW address. */
|
|
6673
|
-
email:
|
|
6764
|
+
email: import_zod_openapi74.z.string().email(),
|
|
6674
6765
|
/**
|
|
6675
6766
|
* For `email-change`: the account's email at issue time. The confirm
|
|
6676
6767
|
* endpoint rejects the token unless it still matches, making the token
|
|
6677
6768
|
* single-use (a stale token cannot revert a later change).
|
|
6678
6769
|
*/
|
|
6679
|
-
fromEmail:
|
|
6770
|
+
fromEmail: import_zod_openapi74.z.string().email().optional(),
|
|
6680
6771
|
// iat / exp are injected and verified by the JWT layer.
|
|
6681
|
-
iat:
|
|
6682
|
-
exp:
|
|
6772
|
+
iat: import_zod_openapi74.z.number().optional(),
|
|
6773
|
+
exp: import_zod_openapi74.z.number().optional()
|
|
6683
6774
|
});
|
|
6684
6775
|
// Annotate the CommonJS export names for ESM import in node:
|
|
6685
6776
|
0 && (module.exports = {
|
|
6777
|
+
ALL_CAPABILITIES,
|
|
6686
6778
|
ALL_SCOPES,
|
|
6687
6779
|
API_SURFACE_VERSION,
|
|
6688
6780
|
AccessTokenSchema,
|
|
@@ -6721,6 +6813,8 @@ var MailTokenPayloadSchema = import_zod_openapi73.z.object({
|
|
|
6721
6813
|
BacklinkSchema,
|
|
6722
6814
|
BookmarkResponseSchema,
|
|
6723
6815
|
BookmarkSchema,
|
|
6816
|
+
CapabilitySchema,
|
|
6817
|
+
ClaimPageLinkAccessResponseSchema,
|
|
6724
6818
|
ClearRenderCacheResponseSchema,
|
|
6725
6819
|
CollabForceReloadMessageSchema,
|
|
6726
6820
|
CollabSaveErrorSchema,
|
|
@@ -6744,6 +6838,7 @@ var MailTokenPayloadSchema = import_zod_openapi73.z.object({
|
|
|
6744
6838
|
DEVICE_CODE_GRANT_TYPE,
|
|
6745
6839
|
DISCOVERY_SCOPES_SUPPORTED,
|
|
6746
6840
|
DND_EXTRA_UPLOAD_MIME,
|
|
6841
|
+
DYNAMIC_CAPABILITIES,
|
|
6747
6842
|
DeleteAdminUserResponseSchema,
|
|
6748
6843
|
DeleteCommentRequestSchema,
|
|
6749
6844
|
DeleteCommentResponseSchema,
|
|
@@ -6997,6 +7092,7 @@ var MailTokenPayloadSchema = import_zod_openapi73.z.object({
|
|
|
6997
7092
|
backlinkRoutes,
|
|
6998
7093
|
bookmarkRoutes,
|
|
6999
7094
|
cancelDraftRoute,
|
|
7095
|
+
claimPageLinkAccessRoute,
|
|
7000
7096
|
clearRenderCacheAllRoute,
|
|
7001
7097
|
clearRenderCachePluginRoute,
|
|
7002
7098
|
commentRoutes,
|