@mx-space/api-client 1.16.1 → 1.18.0

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.
Files changed (295) hide show
  1. package/controllers/ack.ts +1 -2
  2. package/controllers/activity.ts +1 -2
  3. package/controllers/aggregate.ts +1 -2
  4. package/controllers/ai.ts +12 -3
  5. package/controllers/base.ts +1 -2
  6. package/controllers/category.ts +4 -6
  7. package/controllers/comment.ts +1 -2
  8. package/controllers/link.ts +1 -3
  9. package/controllers/note.ts +5 -3
  10. package/controllers/page.ts +1 -2
  11. package/controllers/post.ts +1 -2
  12. package/controllers/project.ts +1 -3
  13. package/controllers/recently.ts +1 -2
  14. package/controllers/say.ts +1 -3
  15. package/controllers/search.ts +2 -3
  16. package/controllers/severless.ts +1 -2
  17. package/controllers/snippet.ts +1 -2
  18. package/controllers/subscribe.ts +1 -2
  19. package/controllers/topic.ts +1 -3
  20. package/controllers/user.ts +1 -2
  21. package/dist/adapter-B1dtiutp.d.cts +25 -0
  22. package/dist/adapter-CRsPadpS.d.mts +25 -0
  23. package/dist/adaptors/axios.cjs +53 -57
  24. package/dist/adaptors/axios.d.cts +5 -4
  25. package/dist/adaptors/axios.d.mts +7 -0
  26. package/dist/adaptors/axios.mjs +33 -0
  27. package/dist/adaptors/fetch.cjs +72 -108
  28. package/dist/adaptors/fetch.d.cts +4 -3
  29. package/dist/adaptors/fetch.d.mts +6 -0
  30. package/dist/adaptors/fetch.mjs +75 -0
  31. package/dist/adaptors/umi-request.cjs +32 -54
  32. package/dist/adaptors/umi-request.d.cts +5 -4
  33. package/dist/adaptors/umi-request.d.mts +7 -0
  34. package/dist/adaptors/umi-request.mjs +33 -0
  35. package/dist/index.cjs +1042 -1199
  36. package/dist/index.d.cts +1758 -1643
  37. package/dist/index.d.mts +2016 -0
  38. package/dist/index.mjs +1101 -0
  39. package/index.ts +0 -1
  40. package/interfaces/request.ts +3 -1
  41. package/mod-dts.mjs +15 -12
  42. package/models/aggregate.ts +0 -2
  43. package/models/ai.ts +9 -0
  44. package/models/comment.ts +1 -2
  45. package/models/note.ts +1 -1
  46. package/models/recently.ts +2 -0
  47. package/models/setting.ts +5 -0
  48. package/package.json +20 -20
  49. package/readme.md +3 -3
  50. package/tsconfig.json +11 -11
  51. package/{tsup.config.ts → tsdown.config.ts} +2 -2
  52. package/vitest.config.ts +0 -1
  53. package/.eslintcache +0 -1
  54. package/coverage/clover.xml +0 -591
  55. package/coverage/coverage-final.json +0 -5944
  56. package/coverage/lcov-report/adaptors/axios.ts.html +0 -201
  57. package/coverage/lcov-report/adaptors/index.html +0 -196
  58. package/coverage/lcov-report/adaptors/umi-request.ts.html +0 -186
  59. package/coverage/lcov-report/auto-bind.ts.html +0 -228
  60. package/coverage/lcov-report/base.css +0 -354
  61. package/coverage/lcov-report/block-navigation.js +0 -85
  62. package/coverage/lcov-report/controllers/aggregate.ts.html +0 -294
  63. package/coverage/lcov-report/controllers/base.ts.html +0 -183
  64. package/coverage/lcov-report/controllers/category.ts.html +0 -441
  65. package/coverage/lcov-report/controllers/comment.ts.html +0 -291
  66. package/coverage/lcov-report/controllers/index.html +0 -476
  67. package/coverage/lcov-report/controllers/index.ts.html +0 -297
  68. package/coverage/lcov-report/controllers/link.ts.html +0 -216
  69. package/coverage/lcov-report/controllers/note.ts.html +0 -375
  70. package/coverage/lcov-report/controllers/page.ts.html +0 -279
  71. package/coverage/lcov-report/controllers/post.ts.html +0 -369
  72. package/coverage/lcov-report/controllers/project.ts.html +0 -168
  73. package/coverage/lcov-report/controllers/recently.ts.html +0 -246
  74. package/coverage/lcov-report/controllers/say.ts.html +0 -207
  75. package/coverage/lcov-report/controllers/search.ts.html +0 -411
  76. package/coverage/lcov-report/controllers/severless.ts.html +0 -180
  77. package/coverage/lcov-report/controllers/snippet.ts.html +0 -195
  78. package/coverage/lcov-report/controllers/user.ts.html +0 -240
  79. package/coverage/lcov-report/core/attach-request.ts.html +0 -216
  80. package/coverage/lcov-report/core/client.ts.html +0 -786
  81. package/coverage/lcov-report/core/error.ts.html +0 -117
  82. package/coverage/lcov-report/core/index.html +0 -236
  83. package/coverage/lcov-report/core/index.ts.html +0 -93
  84. package/coverage/lcov-report/favicon.png +0 -0
  85. package/coverage/lcov-report/index.html +0 -276
  86. package/coverage/lcov-report/index.ts.html +0 -243
  87. package/coverage/lcov-report/models/aggregate.ts.html +0 -300
  88. package/coverage/lcov-report/models/category.ts.html +0 -162
  89. package/coverage/lcov-report/models/index.html +0 -196
  90. package/coverage/lcov-report/prettify.css +0 -101
  91. package/coverage/lcov-report/prettify.js +0 -1004
  92. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  93. package/coverage/lcov-report/sorter.js +0 -191
  94. package/coverage/lcov-report/utils/auto-bind.ts.html +0 -231
  95. package/coverage/lcov-report/utils/index.html +0 -216
  96. package/coverage/lcov-report/utils/index.ts.html +0 -246
  97. package/coverage/lcov-report/utils/path.ts.html +0 -105
  98. package/coverage/lcov.info +0 -1209
  99. package/dist/adapter-B8tKfr1O.d.cts +0 -23
  100. package/dist/adapter-B8tKfr1O.d.ts +0 -23
  101. package/dist/adaptors/axios.d.ts +0 -6
  102. package/dist/adaptors/axios.global.js +0 -14151
  103. package/dist/adaptors/axios.js +0 -33
  104. package/dist/adaptors/fetch.d.ts +0 -5
  105. package/dist/adaptors/fetch.global.js +0 -87
  106. package/dist/adaptors/fetch.js +0 -87
  107. package/dist/adaptors/umi-request.d.ts +0 -6
  108. package/dist/adaptors/umi-request.global.js +0 -7379
  109. package/dist/adaptors/umi-request.js +0 -33
  110. package/dist/index.d.ts +0 -1901
  111. package/dist/index.global.js +0 -1193
  112. package/dist/index.js +0 -1234
  113. package/esm/apps/core/src/modules/subscribe/subscribe.constant.d.ts +0 -12
  114. package/esm/apps/core/src/modules/subscribe/subscribe.constant.js +0 -16
  115. package/esm/apps/core/src/modules/subscribe/subscribe.constant.js.map +0 -1
  116. package/esm/packages/api-client/adaptors/axios.d.ts +0 -4
  117. package/esm/packages/api-client/adaptors/axios.js +0 -37
  118. package/esm/packages/api-client/adaptors/axios.js.map +0 -1
  119. package/esm/packages/api-client/adaptors/fetch.d.ts +0 -2
  120. package/esm/packages/api-client/adaptors/fetch.js +0 -95
  121. package/esm/packages/api-client/adaptors/fetch.js.map +0 -1
  122. package/esm/packages/api-client/adaptors/ky.d.ts +0 -23
  123. package/esm/packages/api-client/adaptors/ky.js +0 -62
  124. package/esm/packages/api-client/adaptors/ky.js.map +0 -1
  125. package/esm/packages/api-client/adaptors/umi-request.d.ts +0 -4
  126. package/esm/packages/api-client/adaptors/umi-request.js +0 -31
  127. package/esm/packages/api-client/adaptors/umi-request.js.map +0 -1
  128. package/esm/packages/api-client/controllers/aggregate.d.ts +0 -64
  129. package/esm/packages/api-client/controllers/aggregate.js +0 -46
  130. package/esm/packages/api-client/controllers/aggregate.js.map +0 -1
  131. package/esm/packages/api-client/controllers/base.d.ts +0 -43
  132. package/esm/packages/api-client/controllers/base.js +0 -27
  133. package/esm/packages/api-client/controllers/base.js.map +0 -1
  134. package/esm/packages/api-client/controllers/category.d.ts +0 -120
  135. package/esm/packages/api-client/controllers/category.js +0 -68
  136. package/esm/packages/api-client/controllers/category.js.map +0 -1
  137. package/esm/packages/api-client/controllers/comment.d.ts +0 -81
  138. package/esm/packages/api-client/controllers/comment.js +0 -47
  139. package/esm/packages/api-client/controllers/comment.js.map +0 -1
  140. package/esm/packages/api-client/controllers/index.d.ts +0 -19
  141. package/esm/packages/api-client/controllers/index.js +0 -60
  142. package/esm/packages/api-client/controllers/index.js.map +0 -1
  143. package/esm/packages/api-client/controllers/link.d.ts +0 -20
  144. package/esm/packages/api-client/controllers/link.js +0 -21
  145. package/esm/packages/api-client/controllers/link.js.map +0 -1
  146. package/esm/packages/api-client/controllers/note.d.ts +0 -103
  147. package/esm/packages/api-client/controllers/note.js +0 -68
  148. package/esm/packages/api-client/controllers/note.js.map +0 -1
  149. package/esm/packages/api-client/controllers/page.d.ts +0 -59
  150. package/esm/packages/api-client/controllers/page.js +0 -42
  151. package/esm/packages/api-client/controllers/page.js.map +0 -1
  152. package/esm/packages/api-client/controllers/post.d.ts +0 -72
  153. package/esm/packages/api-client/controllers/post.js +0 -52
  154. package/esm/packages/api-client/controllers/post.js.map +0 -1
  155. package/esm/packages/api-client/controllers/project.d.ts +0 -15
  156. package/esm/packages/api-client/controllers/project.js +0 -12
  157. package/esm/packages/api-client/controllers/project.js.map +0 -1
  158. package/esm/packages/api-client/controllers/recently.d.ts +0 -110
  159. package/esm/packages/api-client/controllers/recently.js +0 -49
  160. package/esm/packages/api-client/controllers/recently.js.map +0 -1
  161. package/esm/packages/api-client/controllers/say.d.ts +0 -37
  162. package/esm/packages/api-client/controllers/say.js +0 -21
  163. package/esm/packages/api-client/controllers/say.js.map +0 -1
  164. package/esm/packages/api-client/controllers/search.d.ts +0 -87
  165. package/esm/packages/api-client/controllers/search.js +0 -28
  166. package/esm/packages/api-client/controllers/search.js.map +0 -1
  167. package/esm/packages/api-client/controllers/severless.d.ts +0 -24
  168. package/esm/packages/api-client/controllers/severless.js +0 -16
  169. package/esm/packages/api-client/controllers/severless.js.map +0 -1
  170. package/esm/packages/api-client/controllers/snippet.d.ts +0 -24
  171. package/esm/packages/api-client/controllers/snippet.js +0 -19
  172. package/esm/packages/api-client/controllers/snippet.js.map +0 -1
  173. package/esm/packages/api-client/controllers/subscribe.d.ts +0 -64
  174. package/esm/packages/api-client/controllers/subscribe.js +0 -35
  175. package/esm/packages/api-client/controllers/subscribe.js.map +0 -1
  176. package/esm/packages/api-client/controllers/topic.d.ts +0 -26
  177. package/esm/packages/api-client/controllers/topic.js +0 -18
  178. package/esm/packages/api-client/controllers/topic.js.map +0 -1
  179. package/esm/packages/api-client/controllers/user.d.ts +0 -70
  180. package/esm/packages/api-client/controllers/user.js +0 -40
  181. package/esm/packages/api-client/controllers/user.js.map +0 -1
  182. package/esm/packages/api-client/core/attach-request.d.ts +0 -2
  183. package/esm/packages/api-client/core/attach-request.js +0 -36
  184. package/esm/packages/api-client/core/attach-request.js.map +0 -1
  185. package/esm/packages/api-client/core/client.d.ts +0 -29
  186. package/esm/packages/api-client/core/client.js +0 -193
  187. package/esm/packages/api-client/core/client.js.map +0 -1
  188. package/esm/packages/api-client/core/error.d.ts +0 -6
  189. package/esm/packages/api-client/core/error.js +0 -9
  190. package/esm/packages/api-client/core/error.js.map +0 -1
  191. package/esm/packages/api-client/core/index.d.ts +0 -2
  192. package/esm/packages/api-client/core/index.js +0 -3
  193. package/esm/packages/api-client/core/index.js.map +0 -1
  194. package/esm/packages/api-client/dtos/comment.d.ts +0 -8
  195. package/esm/packages/api-client/dtos/comment.js +0 -2
  196. package/esm/packages/api-client/dtos/comment.js.map +0 -1
  197. package/esm/packages/api-client/dtos/index.d.ts +0 -1
  198. package/esm/packages/api-client/dtos/index.js +0 -2
  199. package/esm/packages/api-client/dtos/index.js.map +0 -1
  200. package/esm/packages/api-client/index.d.ts +0 -8
  201. package/esm/packages/api-client/index.js +0 -9
  202. package/esm/packages/api-client/index.js.map +0 -1
  203. package/esm/packages/api-client/interfaces/adapter.d.ts +0 -14
  204. package/esm/packages/api-client/interfaces/adapter.js +0 -2
  205. package/esm/packages/api-client/interfaces/adapter.js.map +0 -1
  206. package/esm/packages/api-client/interfaces/client.d.ts +0 -13
  207. package/esm/packages/api-client/interfaces/client.js +0 -2
  208. package/esm/packages/api-client/interfaces/client.js.map +0 -1
  209. package/esm/packages/api-client/interfaces/controller.d.ts +0 -4
  210. package/esm/packages/api-client/interfaces/controller.js +0 -2
  211. package/esm/packages/api-client/interfaces/controller.js.map +0 -1
  212. package/esm/packages/api-client/interfaces/instance.d.ts +0 -7
  213. package/esm/packages/api-client/interfaces/instance.js +0 -2
  214. package/esm/packages/api-client/interfaces/instance.js.map +0 -1
  215. package/esm/packages/api-client/interfaces/options.d.ts +0 -1
  216. package/esm/packages/api-client/interfaces/options.js +0 -2
  217. package/esm/packages/api-client/interfaces/options.js.map +0 -1
  218. package/esm/packages/api-client/interfaces/params.d.ts +0 -4
  219. package/esm/packages/api-client/interfaces/params.js +0 -2
  220. package/esm/packages/api-client/interfaces/params.js.map +0 -1
  221. package/esm/packages/api-client/interfaces/request.d.ts +0 -44
  222. package/esm/packages/api-client/interfaces/request.js +0 -2
  223. package/esm/packages/api-client/interfaces/request.js.map +0 -1
  224. package/esm/packages/api-client/interfaces/types.d.ts +0 -2
  225. package/esm/packages/api-client/interfaces/types.js +0 -2
  226. package/esm/packages/api-client/interfaces/types.js.map +0 -1
  227. package/esm/packages/api-client/models/aggregate.d.ts +0 -67
  228. package/esm/packages/api-client/models/aggregate.js +0 -6
  229. package/esm/packages/api-client/models/aggregate.js.map +0 -1
  230. package/esm/packages/api-client/models/base.d.ts +0 -40
  231. package/esm/packages/api-client/models/base.js +0 -2
  232. package/esm/packages/api-client/models/base.js.map +0 -1
  233. package/esm/packages/api-client/models/category.d.ts +0 -22
  234. package/esm/packages/api-client/models/category.js +0 -6
  235. package/esm/packages/api-client/models/category.js.map +0 -1
  236. package/esm/packages/api-client/models/comment.d.ts +0 -39
  237. package/esm/packages/api-client/models/comment.js +0 -13
  238. package/esm/packages/api-client/models/comment.js.map +0 -1
  239. package/esm/packages/api-client/models/index.d.ts +0 -16
  240. package/esm/packages/api-client/models/index.js +0 -17
  241. package/esm/packages/api-client/models/index.js.map +0 -1
  242. package/esm/packages/api-client/models/link.d.ts +0 -22
  243. package/esm/packages/api-client/models/link.js +0 -14
  244. package/esm/packages/api-client/models/link.js.map +0 -1
  245. package/esm/packages/api-client/models/note.d.ts +0 -38
  246. package/esm/packages/api-client/models/note.js +0 -2
  247. package/esm/packages/api-client/models/note.js.map +0 -1
  248. package/esm/packages/api-client/models/page.d.ts +0 -14
  249. package/esm/packages/api-client/models/page.js +0 -7
  250. package/esm/packages/api-client/models/page.js.map +0 -1
  251. package/esm/packages/api-client/models/post.d.ts +0 -17
  252. package/esm/packages/api-client/models/post.js +0 -2
  253. package/esm/packages/api-client/models/post.js.map +0 -1
  254. package/esm/packages/api-client/models/project.d.ts +0 -11
  255. package/esm/packages/api-client/models/project.js +0 -2
  256. package/esm/packages/api-client/models/project.js.map +0 -1
  257. package/esm/packages/api-client/models/recently.d.ts +0 -20
  258. package/esm/packages/api-client/models/recently.js +0 -7
  259. package/esm/packages/api-client/models/recently.js.map +0 -1
  260. package/esm/packages/api-client/models/say.d.ts +0 -6
  261. package/esm/packages/api-client/models/say.js +0 -2
  262. package/esm/packages/api-client/models/say.js.map +0 -1
  263. package/esm/packages/api-client/models/setting.d.ts +0 -66
  264. package/esm/packages/api-client/models/setting.js +0 -2
  265. package/esm/packages/api-client/models/setting.js.map +0 -1
  266. package/esm/packages/api-client/models/snippet.d.ts +0 -18
  267. package/esm/packages/api-client/models/snippet.js +0 -8
  268. package/esm/packages/api-client/models/snippet.js.map +0 -1
  269. package/esm/packages/api-client/models/subscribe.d.ts +0 -3
  270. package/esm/packages/api-client/models/subscribe.js +0 -2
  271. package/esm/packages/api-client/models/subscribe.js.map +0 -1
  272. package/esm/packages/api-client/models/topic.d.ts +0 -8
  273. package/esm/packages/api-client/models/topic.js +0 -2
  274. package/esm/packages/api-client/models/topic.js.map +0 -1
  275. package/esm/packages/api-client/models/user.d.ts +0 -21
  276. package/esm/packages/api-client/models/user.js +0 -2
  277. package/esm/packages/api-client/models/user.js.map +0 -1
  278. package/esm/packages/api-client/tsup.config.d.ts +0 -2
  279. package/esm/packages/api-client/tsup.config.js +0 -14
  280. package/esm/packages/api-client/tsup.config.js.map +0 -1
  281. package/esm/packages/api-client/utils/auto-bind.d.ts +0 -4
  282. package/esm/packages/api-client/utils/auto-bind.js +0 -36
  283. package/esm/packages/api-client/utils/auto-bind.js.map +0 -1
  284. package/esm/packages/api-client/utils/camelcase-keys.d.ts +0 -6
  285. package/esm/packages/api-client/utils/camelcase-keys.js +0 -23
  286. package/esm/packages/api-client/utils/camelcase-keys.js.map +0 -1
  287. package/esm/packages/api-client/utils/index.d.ts +0 -5
  288. package/esm/packages/api-client/utils/index.js +0 -43
  289. package/esm/packages/api-client/utils/index.js.map +0 -1
  290. package/esm/packages/api-client/utils/path.d.ts +0 -1
  291. package/esm/packages/api-client/utils/path.js +0 -7
  292. package/esm/packages/api-client/utils/path.js.map +0 -1
  293. package/esm/packages/api-client/vitest.config.d.ts +0 -2
  294. package/esm/packages/api-client/vitest.config.js +0 -15
  295. package/esm/packages/api-client/vitest.config.js.map +0 -1
package/dist/index.d.ts DELETED
@@ -1,1901 +0,0 @@
1
- import { R as RequestOptions, I as IRequestAdapter, a as IAdaptorRequestResponseType } from './adapter-B8tKfr1O.js';
2
-
3
- interface IController {
4
- base: string;
5
- name: string | string[];
6
- }
7
-
8
- type Class<T> = new (...args: any[]) => T;
9
- type SelectFields<T extends string> = `${'+' | '-' | ''}${T}`[];
10
-
11
- interface IClientOptions {
12
- controllers: Class<IController>[];
13
- getCodeMessageFromException: <T = Error>(error: T) => {
14
- message?: string | undefined | null;
15
- code?: number | undefined | null;
16
- };
17
- customThrowResponseError: <T extends Error = Error>(err: any) => T;
18
- transformResponse: <T = any>(data: any) => T;
19
- /**
20
- *
21
- * @default (res) => res.data
22
- */
23
- getDataFromResponse: <T = any>(response: unknown) => T;
24
- }
25
- type ClientOptions = Partial<IClientOptions>;
26
-
27
- type NoStringIndex<T> = {
28
- [K in keyof T as string extends K ? never : K]: T[K];
29
- };
30
- interface IRequestHandler<ResponseWrapper> {
31
- (path?: string | number): IRequestHandler<ResponseWrapper>;
32
- get: <P = unknown>(options?: Omit<NoStringIndex<RequestOptions>, 'data'>) => RequestProxyResult<P, ResponseWrapper>;
33
- post: <P = unknown>(options?: RequestOptions) => RequestProxyResult<P, ResponseWrapper>;
34
- patch: <P = unknown>(options?: RequestOptions) => RequestProxyResult<P, ResponseWrapper>;
35
- delete: <P = unknown>(options?: Omit<NoStringIndex<RequestOptions>, 'data'>) => RequestProxyResult<P, ResponseWrapper>;
36
- put: <P = unknown>(options?: RequestOptions) => RequestProxyResult<P, ResponseWrapper>;
37
- toString: (withBase?: boolean) => string;
38
- valueOf: (withBase?: boolean) => string;
39
- [key: string]: IRequestHandler<ResponseWrapper>;
40
- }
41
- type RequestProxyResult<T, ResponseWrapper, R = ResponseWrapper extends unknown ? {
42
- data: T;
43
- [key: string]: any;
44
- } : ResponseWrapper extends {
45
- data: T;
46
- } ? ResponseWrapper : Omit<ResponseWrapper, 'data'> & {
47
- data: T;
48
- }> = Promise<ResponseProxyExtraRaw<T, R, ResponseWrapper>>;
49
- type CamelToSnake<T extends string, P extends string = ''> = string extends T ? string : T extends `${infer C0}${infer R}` ? CamelToSnake<R, `${P}${C0 extends Lowercase<C0> ? '' : '_'}${Lowercase<C0>}`> : P;
50
- type CamelKeysToSnake<T> = {
51
- [K in keyof T as CamelToSnake<Extract<K, string>>]: T[K];
52
- };
53
- type ResponseWrapperType<Response, RawData, T> = {
54
- $raw: Response extends {
55
- data: infer T;
56
- } ? Response : Response extends unknown ? {
57
- [i: string]: any;
58
- data: RawData extends unknown ? CamelKeysToSnake<T> : RawData;
59
- } : Response;
60
- $request: {
61
- path: string;
62
- method: string;
63
- [k: string]: string;
64
- };
65
- $serialized: T;
66
- };
67
- type ResponseProxyExtraRaw<T, RawData = unknown, Response = unknown> = T extends object ? T & ResponseWrapperType<Response, RawData, T> : T extends unknown ? T & ResponseWrapperType<Response, RawData, T> : unknown;
68
-
69
- declare class HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
70
- private readonly _endpoint;
71
- private _adaptor;
72
- private options;
73
- private readonly _proxy;
74
- constructor(_endpoint: string, _adaptor: T, options?: Omit<ClientOptions, 'controllers'>);
75
- private initGetClient;
76
- injectControllers(...Controller: Class<IController>[]): void;
77
- injectControllers(Controller: Class<IController>[]): void;
78
- get endpoint(): string;
79
- get instance(): T;
80
- request(options: {
81
- url: string;
82
- method?: string;
83
- data?: any;
84
- params?: any;
85
- }): Promise<IAdaptorRequestResponseType<any>>;
86
- get proxy(): IRequestHandler<ResponseWrapper>;
87
- private buildRoute;
88
- }
89
- declare function createClient<T extends IRequestAdapter>(adapter: T): <ResponseWrapper = T extends {
90
- responseWrapper: infer Type;
91
- } ? Type extends undefined ? unknown : Type : unknown>(endpoint: string, options?: ClientOptions) => HTTPClient<T, ResponseWrapper>;
92
-
93
- declare class RequestError extends Error {
94
- status: number;
95
- path: string;
96
- raw: any;
97
- constructor(message: string, status: number, path: string, raw: any);
98
- }
99
-
100
- declare module '@mx-space/api-client' {
101
- interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
102
- ack: AckController<ResponseWrapper>;
103
- }
104
- }
105
- /**
106
- * @support core >= 4.4.0
107
- */
108
- declare class AckController<ResponseWrapper> implements IController {
109
- private client;
110
- base: string;
111
- name: string;
112
- constructor(client: HTTPClient);
113
- get proxy(): IRequestHandler<ResponseWrapper>;
114
- read(type: 'post' | 'note', id: string): RequestProxyResult<never, ResponseWrapper, ResponseWrapper extends unknown ? {
115
- [key: string]: any;
116
- data: never;
117
- } : ResponseWrapper extends {
118
- data: never;
119
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
120
- data: never;
121
- }>;
122
- }
123
-
124
- declare enum CollectionRefTypes {
125
- Post = "posts",
126
- Note = "notes",
127
- Page = "pages",
128
- Recently = "recentlies"
129
- }
130
-
131
- interface Count {
132
- read: number;
133
- like: number;
134
- }
135
- interface Image {
136
- height: number;
137
- width: number;
138
- type: string;
139
- accent?: string;
140
- src: string;
141
- blurHash?: string;
142
- }
143
- interface Pager {
144
- total: number;
145
- size: number;
146
- currentPage: number;
147
- totalPage: number;
148
- hasPrevPage: boolean;
149
- hasNextPage: boolean;
150
- }
151
- interface PaginateResult<T> {
152
- data: T[];
153
- pagination: Pager;
154
- }
155
- interface BaseModel {
156
- created: string;
157
- id: string;
158
- }
159
- interface BaseCommentIndexModel extends BaseModel {
160
- commentsIndex?: number;
161
- allowComment: boolean;
162
- }
163
- interface TextBaseModel extends BaseCommentIndexModel {
164
- title: string;
165
- text: string;
166
- images?: Image[];
167
- modified: string | null;
168
- }
169
- type ModelWithLiked<T> = T & {
170
- liked: boolean;
171
- };
172
-
173
- interface PostModel extends TextBaseModel {
174
- summary?: string | null;
175
- copyright: boolean;
176
- tags: string[];
177
- count: Count;
178
- text: string;
179
- title: string;
180
- slug: string;
181
- categoryId: string;
182
- images: Image[];
183
- category: CategoryModel;
184
- pin?: string | null;
185
- pinOrder?: number;
186
- related?: Pick<PostModel, 'id' | 'category' | 'categoryId' | 'created' | 'modified' | 'title' | 'slug' | 'summary'>[];
187
- }
188
-
189
- declare enum CategoryType {
190
- Category = 0,
191
- Tag = 1
192
- }
193
- interface CategoryModel extends BaseModel {
194
- type: CategoryType;
195
- count: number;
196
- slug: string;
197
- name: string;
198
- }
199
- type CategoryWithChildrenModel = CategoryModel & {
200
- children: Pick<PostModel, 'id' | 'title' | 'slug' | 'modified' | 'created'>[];
201
- };
202
- type CategoryEntries = {
203
- entries: Record<string, CategoryWithChildrenModel>;
204
- };
205
- interface TagModel {
206
- count: number;
207
- name: string;
208
- }
209
-
210
- interface ActivityPresence {
211
- operationTime: number;
212
- identity: string;
213
- roomName: string;
214
- position: number;
215
- joinedAt: number;
216
- connectedAt: number;
217
- updatedAt: number;
218
- readerId?: string;
219
- displayName?: string;
220
- }
221
- interface RoomOmittedNote {
222
- title: string;
223
- nid: number;
224
- id: string;
225
- created: string;
226
- }
227
- interface RoomOmittedPage {
228
- title: string;
229
- slug: string;
230
- id: string;
231
- created: string;
232
- }
233
- interface RoomOmittedPost {
234
- slug: string;
235
- title: string;
236
- categoryId: string;
237
- category: CategoryModel;
238
- id: string;
239
- created: string;
240
- }
241
- interface RoomsData {
242
- rooms: string[];
243
- roomCount: {
244
- [key: string]: number;
245
- };
246
- objects: {
247
- posts: RoomOmittedPost[];
248
- notes: RoomOmittedNote[];
249
- pages: RoomOmittedPage[];
250
- };
251
- }
252
- interface RecentActivities {
253
- like: RecentLike[];
254
- comment: RecentComment[];
255
- recent: RecentRecent[];
256
- post: RecentPost[];
257
- note: RecentNote[];
258
- }
259
- interface RecentComment {
260
- created: string;
261
- author: string;
262
- text: string;
263
- id: string;
264
- title: string;
265
- slug?: string;
266
- type: string;
267
- avatar: string;
268
- nid?: string;
269
- }
270
- interface RecentLike {
271
- created: string;
272
- id: string;
273
- type: CollectionRefTypes.Post | CollectionRefTypes.Note;
274
- nid?: number;
275
- slug?: string;
276
- title: string;
277
- }
278
- interface RecentNote {
279
- id: string;
280
- created: string;
281
- title: string;
282
- modified: string;
283
- nid: number;
284
- }
285
- interface RecentPost {
286
- id: string;
287
- created: string;
288
- title: string;
289
- modified: string;
290
- slug: string;
291
- }
292
- interface RecentRecent {
293
- id: string;
294
- content: string;
295
- up: number;
296
- down: number;
297
- created: string;
298
- }
299
- interface LastYearPublication {
300
- posts: PostsItem[];
301
- notes: NotesItem[];
302
- }
303
- interface PostsItem {
304
- id: string;
305
- created: string;
306
- title: string;
307
- slug: string;
308
- categoryId: string;
309
- category: Category;
310
- }
311
- interface Category {
312
- id: string;
313
- type: number;
314
- name: string;
315
- slug: string;
316
- created: string;
317
- }
318
- interface NotesItem {
319
- id: string;
320
- created: string;
321
- title: string;
322
- mood: string;
323
- weather: string;
324
- nid: number;
325
- bookmark: boolean;
326
- }
327
-
328
- interface TopicModel extends BaseModel {
329
- description?: string;
330
- introduce: string;
331
- name: string;
332
- slug: string;
333
- icon?: string;
334
- }
335
-
336
- interface NoteModel extends TextBaseModel {
337
- hide: boolean;
338
- count: {
339
- read: number;
340
- like: number;
341
- };
342
- mood?: string;
343
- weather?: string;
344
- bookmark?: boolean;
345
- publicAt?: Date;
346
- password?: string | null;
347
- nid: number;
348
- location?: string;
349
- coordinates?: Coordinate;
350
- topic?: TopicModel;
351
- topicId?: string;
352
- }
353
- interface Coordinate {
354
- latitude: number;
355
- longitude: number;
356
- }
357
- interface NoteWrappedPayload {
358
- data: NoteModel;
359
- next?: Partial<NoteModel>;
360
- prev?: Partial<NoteModel>;
361
- }
362
- interface NoteWrappedWithLikedPayload {
363
- data: ModelWithLiked<NoteModel>;
364
- next?: Partial<NoteModel>;
365
- prev?: Partial<NoteModel>;
366
- }
367
-
368
- declare enum EnumPageType {
369
- 'md' = "md",
370
- 'html' = "html",
371
- 'frame' = "frame"
372
- }
373
- interface PageModel extends TextBaseModel {
374
- created: string;
375
- slug: string;
376
- subtitle?: string;
377
- order?: number;
378
- type?: EnumPageType;
379
- options?: object;
380
- }
381
-
382
- interface SayModel extends BaseModel {
383
- text: string;
384
- source?: string;
385
- author?: string;
386
- }
387
-
388
- declare class SeoOptionModel {
389
- title: string;
390
- description: string;
391
- icon?: string;
392
- keywords?: string[];
393
- }
394
- declare class UrlOptionModel {
395
- webUrl: string;
396
- adminUrl: string;
397
- serverUrl: string;
398
- wsUrl: string;
399
- }
400
- declare class MailOptionModel {
401
- port: number;
402
- host: string;
403
- }
404
- declare class MailOptionsModel {
405
- enable: boolean;
406
- user: string;
407
- pass: string;
408
- options?: MailOptionModel;
409
- }
410
- declare class CommentOptionsModel {
411
- antiSpam: boolean;
412
- spamKeywords?: string[];
413
- blockIps?: string[];
414
- disableNoChinese?: boolean;
415
- }
416
- declare class BackupOptionsModel {
417
- enable: boolean;
418
- secretId?: string;
419
- secretKey?: string;
420
- bucket?: string;
421
- region: string;
422
- }
423
- declare class BaiduSearchOptionsModel {
424
- enable: boolean;
425
- token?: string;
426
- }
427
- declare class AlgoliaSearchOptionsModel {
428
- enable: boolean;
429
- apiKey?: string;
430
- appId?: string;
431
- indexName?: string;
432
- }
433
- declare class AdminExtraModel {
434
- background?: string;
435
- gaodemapKey?: string;
436
- title?: string;
437
- /**
438
- * 是否开启后台反代访问
439
- */
440
- enableAdminProxy?: boolean;
441
- }
442
- interface IConfig {
443
- seo: SeoOptionModel;
444
- url: UrlOptionModel;
445
- mailOptions: MailOptionsModel;
446
- commentOptions: CommentOptionsModel;
447
- backupOptions: BackupOptionsModel;
448
- baiduSearchOptions: BaiduSearchOptionsModel;
449
- algoliaSearchOptions: AlgoliaSearchOptionsModel;
450
- adminExtra: AdminExtraModel;
451
- }
452
- declare type IConfigKeys = keyof IConfig;
453
-
454
- interface UserModel extends BaseModel {
455
- introduce: string;
456
- mail: string;
457
- url: string;
458
- name: string;
459
- socialIds: Record<string, string>;
460
- username: string;
461
- modified: string;
462
- v: number;
463
- lastLoginTime: string;
464
- lastLoginIp?: string;
465
- avatar: string;
466
- postID: string;
467
- }
468
- type TLogin = {
469
- token: string;
470
- expiresIn: number;
471
- lastLoginTime: null | string;
472
- lastLoginIp?: null | string;
473
- } & Pick<UserModel, 'name' | 'username' | 'created' | 'url' | 'mail' | 'avatar' | 'id'>;
474
-
475
- interface AggregateRoot {
476
- user: UserModel;
477
- seo: SeoOptionModel;
478
- url: Url;
479
- categories: CategoryModel[];
480
- pageMeta: Pick<PageModel, 'title' | 'id' | 'slug' | 'order'>[] | null;
481
- /**
482
- * @available 4.2.2
483
- */
484
- latestNoteId: {
485
- id: string;
486
- nid: number;
487
- };
488
- }
489
- interface AggregateRootWithTheme<Theme = unknown> extends AggregateRoot {
490
- theme?: Theme;
491
- }
492
- interface Url {
493
- wsUrl: string;
494
- serverUrl: string;
495
- webUrl: string;
496
- }
497
- interface AggregateTopNote extends Pick<NoteModel, 'id' | 'title' | 'created' | 'nid' | 'images'> {
498
- }
499
- interface AggregateTopPost extends Pick<PostModel, 'id' | 'slug' | 'created' | 'title' | 'category' | 'images'> {
500
- }
501
- interface AggregateTop {
502
- notes: AggregateTopNote[];
503
- posts: AggregateTopPost[];
504
- says: SayModel[];
505
- }
506
- declare enum TimelineType {
507
- Post = 0,
508
- Note = 1
509
- }
510
- interface TimelineData {
511
- notes?: Pick<NoteModel, 'id' | 'nid' | 'title' | 'weather' | 'mood' | 'created' | 'modified' | 'bookmark'>[];
512
- posts?: (Pick<PostModel, 'id' | 'title' | 'slug' | 'created' | 'modified' | 'category'> & {
513
- url: string;
514
- })[];
515
- }
516
- interface AggregateStat {
517
- allComments: number;
518
- categories: number;
519
- comments: number;
520
- linkApply: number;
521
- links: number;
522
- notes: number;
523
- pages: number;
524
- posts: number;
525
- says: number;
526
- recently: number;
527
- unreadComments: number;
528
- online: number;
529
- todayMaxOnline: string;
530
- todayOnlineTotal: string;
531
- callTime: number;
532
- uv: number;
533
- todayIpAccessCount: number;
534
- }
535
-
536
- interface AISummaryModel {
537
- id: string;
538
- created: string;
539
- summary: string;
540
- hash: string;
541
- refId: string;
542
- lang: string;
543
- }
544
-
545
- interface AuthUser {
546
- id: string;
547
- email: string;
548
- isOwner: boolean;
549
- image: string;
550
- name: string;
551
- provider: string;
552
- handle: string;
553
- }
554
-
555
- interface CommentModel extends BaseModel {
556
- refType: CollectionRefTypes;
557
- ref: string;
558
- state: number;
559
- commentsIndex: number;
560
- author: string;
561
- text: string;
562
- mail?: string;
563
- url?: string;
564
- ip?: string;
565
- agent?: string;
566
- key: string;
567
- pin?: boolean;
568
- avatar: string;
569
- parent?: CommentModel | string;
570
- children: CommentModel[];
571
- isWhispers?: boolean;
572
- location?: string;
573
- source?: string;
574
- readerId?: string;
575
- editedAt?: string;
576
- }
577
- interface CommentRef {
578
- id: string;
579
- categoryId?: string;
580
- slug: string;
581
- title: string;
582
- category?: CategoryModel;
583
- }
584
- declare enum CommentState {
585
- Unread = 0,
586
- Read = 1,
587
- Junk = 2
588
- }
589
-
590
- declare enum LinkType {
591
- Friend = 0,
592
- Collection = 1
593
- }
594
- declare enum LinkState {
595
- Pass = 0,
596
- Audit = 1,
597
- Outdate = 2,
598
- Banned = 3,
599
- Reject = 4
600
- }
601
- interface LinkModel extends BaseModel {
602
- name: string;
603
- url: string;
604
- avatar: string;
605
- description?: string;
606
- type: LinkType;
607
- state: LinkState;
608
- hide: boolean;
609
- email: string;
610
- }
611
-
612
- interface ProjectModel extends BaseModel {
613
- name: string;
614
- previewUrl?: string;
615
- docUrl?: string;
616
- projectUrl?: string;
617
- images?: string[];
618
- description: string;
619
- avatar?: string;
620
- text: string;
621
- }
622
-
623
- interface ReaderModel {
624
- email: string;
625
- name: string;
626
- handle: string;
627
- image: string;
628
- isOwner: boolean;
629
- }
630
-
631
- declare enum RecentlyRefTypes {
632
- Post = "Post",
633
- Note = "Note",
634
- Page = "Page"
635
- }
636
- type RecentlyRefType = {
637
- title: string;
638
- url: string;
639
- };
640
- interface RecentlyModel extends BaseCommentIndexModel {
641
- content: string;
642
- ref?: RecentlyRefType & {
643
- [key: string]: any;
644
- };
645
- refId?: string;
646
- refType?: RecentlyRefTypes;
647
- up: number;
648
- down: number;
649
- }
650
-
651
- declare enum SnippetType {
652
- JSON = "json",
653
- Function = "function",
654
- Text = "text",
655
- YAML = "yaml"
656
- }
657
- interface SnippetModel<T = unknown> extends BaseModel {
658
- type: SnippetType;
659
- private: boolean;
660
- raw: string;
661
- name: string;
662
- reference: string;
663
- comment?: string;
664
- metatype?: string;
665
- schema?: string;
666
- data: T;
667
- }
668
-
669
- declare const SubscribePostCreateBit: number;
670
- declare const SubscribeNoteCreateBit: number;
671
- declare const SubscribeSayCreateBit: number;
672
- declare const SubscribeRecentCreateBit: number;
673
- declare const SubscribeAllBit: number;
674
- declare const SubscribeTypeToBitMap: {
675
- post_c: number;
676
- note_c: number;
677
- say_c: number;
678
- recently_c: number;
679
- all: number;
680
- };
681
-
682
- type SubscribeType = keyof typeof SubscribeTypeToBitMap;
683
-
684
- declare module '@mx-space/api-client' {
685
- interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
686
- activity: ActivityController<ResponseWrapper>;
687
- }
688
- }
689
- /**
690
- * @support core >= 4.3.0
691
- */
692
- declare class ActivityController<ResponseWrapper> implements IController {
693
- private client;
694
- base: string;
695
- name: string;
696
- constructor(client: HTTPClient);
697
- get proxy(): IRequestHandler<ResponseWrapper>;
698
- likeIt(type: 'Post' | 'Note', id: string): RequestProxyResult<never, ResponseWrapper, ResponseWrapper extends unknown ? {
699
- [key: string]: any;
700
- data: never;
701
- } : ResponseWrapper extends {
702
- data: never;
703
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
704
- data: never;
705
- }>;
706
- /**
707
- *
708
- * @support core >= 5.0.0
709
- */
710
- getPresence(roomName: string): RequestProxyResult<{
711
- data: Record<string, ActivityPresence>;
712
- readers: Record<string, AuthUser>;
713
- }, ResponseWrapper, ResponseWrapper extends unknown ? {
714
- [key: string]: any;
715
- data: {
716
- data: Record<string, ActivityPresence>;
717
- readers: Record<string, AuthUser>;
718
- };
719
- } : ResponseWrapper extends {
720
- data: {
721
- data: Record<string, ActivityPresence>;
722
- readers: Record<string, AuthUser>;
723
- };
724
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
725
- data: {
726
- data: Record<string, ActivityPresence>;
727
- readers: Record<string, AuthUser>;
728
- };
729
- }>;
730
- /**
731
- *
732
- * @support core >= 5.0.0
733
- */
734
- updatePresence({ identity, position, roomName, sid, ts, displayName, readerId, }: {
735
- roomName: string;
736
- position: number;
737
- identity: string;
738
- sid: string;
739
- displayName?: string;
740
- ts?: number;
741
- readerId?: string;
742
- }): RequestProxyResult<unknown, ResponseWrapper, ResponseWrapper extends unknown ? {
743
- [key: string]: any;
744
- data: unknown;
745
- } : ResponseWrapper extends {
746
- data: unknown;
747
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
748
- data: unknown;
749
- }>;
750
- getRoomsInfo(): Promise<RoomsData & {
751
- $raw: ResponseWrapper extends {
752
- data: infer T;
753
- } ? ResponseWrapper : ResponseWrapper extends unknown ? {
754
- [i: string]: any;
755
- data: (ResponseWrapper extends unknown ? {
756
- [key: string]: any;
757
- data: RoomsData;
758
- } : ResponseWrapper extends {
759
- data: RoomsData;
760
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
761
- data: RoomsData;
762
- }) extends infer T_1 ? T_1 extends (ResponseWrapper extends unknown ? {
763
- [key: string]: any;
764
- data: RoomsData;
765
- } : ResponseWrapper extends {
766
- data: RoomsData;
767
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
768
- data: RoomsData;
769
- }) ? T_1 extends unknown ? {
770
- rooms: string[];
771
- room_count: {
772
- [key: string]: number;
773
- };
774
- objects: {
775
- posts: RoomOmittedPost[];
776
- notes: RoomOmittedNote[];
777
- pages: RoomOmittedPage[];
778
- };
779
- } : T_1 : never : never;
780
- } : ResponseWrapper;
781
- $request: {
782
- path: string;
783
- method: string;
784
- [k: string]: string;
785
- };
786
- $serialized: RoomsData;
787
- }>;
788
- getRecentActivities(): Promise<RecentActivities & {
789
- $raw: ResponseWrapper extends {
790
- data: infer T;
791
- } ? ResponseWrapper : ResponseWrapper extends unknown ? {
792
- [i: string]: any;
793
- data: (ResponseWrapper extends unknown ? {
794
- [key: string]: any;
795
- data: RecentActivities;
796
- } : ResponseWrapper extends {
797
- data: RecentActivities;
798
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
799
- data: RecentActivities;
800
- }) extends infer T_1 ? T_1 extends (ResponseWrapper extends unknown ? {
801
- [key: string]: any;
802
- data: RecentActivities;
803
- } : ResponseWrapper extends {
804
- data: RecentActivities;
805
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
806
- data: RecentActivities;
807
- }) ? T_1 extends unknown ? {
808
- like: RecentLike[];
809
- comment: RecentComment[];
810
- recent: RecentRecent[];
811
- post: RecentPost[];
812
- note: RecentNote[];
813
- } : T_1 : never : never;
814
- } : ResponseWrapper;
815
- $request: {
816
- path: string;
817
- method: string;
818
- [k: string]: string;
819
- };
820
- $serialized: RecentActivities;
821
- }>;
822
- getLastYearPublication(): Promise<LastYearPublication>;
823
- }
824
-
825
- type SortOrder = 'asc' | 'desc';
826
-
827
- declare module '@mx-space/api-client' {
828
- interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
829
- aggregate: AggregateController<ResponseWrapper>;
830
- }
831
- }
832
- declare class AggregateController<ResponseWrapper> implements IController {
833
- private client;
834
- base: string;
835
- name: string;
836
- constructor(client: HTTPClient);
837
- get proxy(): IRequestHandler<ResponseWrapper>;
838
- /**
839
- * 获取聚合数据
840
- */
841
- getAggregateData<Theme>(theme?: string): RequestProxyResult<AggregateRootWithTheme<Theme>, ResponseWrapper>;
842
- /**
843
- * 获取最新发布的内容
844
- */
845
- getTop(size?: number): RequestProxyResult<AggregateTop, ResponseWrapper, ResponseWrapper extends unknown ? {
846
- [key: string]: any;
847
- data: AggregateTop;
848
- } : ResponseWrapper extends {
849
- data: AggregateTop;
850
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
851
- data: AggregateTop;
852
- }>;
853
- getTimeline(options?: {
854
- sort?: SortOrder;
855
- type?: TimelineType;
856
- year?: number;
857
- }): RequestProxyResult<{
858
- data: TimelineData;
859
- }, ResponseWrapper, ResponseWrapper extends unknown ? {
860
- [key: string]: any;
861
- data: {
862
- data: TimelineData;
863
- };
864
- } : ResponseWrapper extends {
865
- data: {
866
- data: TimelineData;
867
- };
868
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
869
- data: {
870
- data: TimelineData;
871
- };
872
- }>;
873
- /**
874
- * 获取聚合数据统计
875
- */
876
- getStat(): RequestProxyResult<AggregateStat, ResponseWrapper, ResponseWrapper extends unknown ? {
877
- [key: string]: any;
878
- data: AggregateStat;
879
- } : ResponseWrapper extends {
880
- data: AggregateStat;
881
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
882
- data: AggregateStat;
883
- }>;
884
- }
885
-
886
- declare module '@mx-space/api-client' {
887
- interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
888
- ai: AIController<ResponseWrapper>;
889
- }
890
- }
891
- /**
892
- * @support core >= 5.6.0
893
- */
894
- declare class AIController<ResponseWrapper> implements IController {
895
- private client;
896
- base: string;
897
- name: string;
898
- constructor(client: HTTPClient);
899
- get proxy(): IRequestHandler<ResponseWrapper>;
900
- getSummary({ articleId, lang, onlyDb, }: {
901
- articleId: string;
902
- lang?: string;
903
- onlyDb?: boolean;
904
- }): Promise<AISummaryModel & {
905
- $raw: ResponseWrapper extends {
906
- data: infer T;
907
- } ? ResponseWrapper : ResponseWrapper extends unknown ? {
908
- [i: string]: any;
909
- data: (ResponseWrapper extends unknown ? {
910
- [key: string]: any;
911
- data: AISummaryModel;
912
- } : ResponseWrapper extends {
913
- data: AISummaryModel;
914
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
915
- data: AISummaryModel;
916
- }) extends infer T_1 ? T_1 extends (ResponseWrapper extends unknown ? {
917
- [key: string]: any;
918
- data: AISummaryModel;
919
- } : ResponseWrapper extends {
920
- data: AISummaryModel;
921
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
922
- data: AISummaryModel;
923
- }) ? T_1 extends unknown ? {
924
- id: string;
925
- created: string;
926
- summary: string;
927
- hash: string;
928
- ref_id: string;
929
- lang: string;
930
- } : T_1 : never : never;
931
- } : ResponseWrapper;
932
- $request: {
933
- path: string;
934
- method: string;
935
- [k: string]: string;
936
- };
937
- $serialized: AISummaryModel;
938
- }>;
939
- generateSummary(articleId: string, lang?: string, token?: string): Promise<AISummaryModel & {
940
- $raw: ResponseWrapper extends {
941
- data: infer T;
942
- } ? ResponseWrapper : ResponseWrapper extends unknown ? {
943
- [i: string]: any;
944
- data: (ResponseWrapper extends unknown ? {
945
- [key: string]: any;
946
- data: AISummaryModel;
947
- } : ResponseWrapper extends {
948
- data: AISummaryModel;
949
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
950
- data: AISummaryModel;
951
- }) extends infer T_1 ? T_1 extends (ResponseWrapper extends unknown ? {
952
- [key: string]: any;
953
- data: AISummaryModel;
954
- } : ResponseWrapper extends {
955
- data: AISummaryModel;
956
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
957
- data: AISummaryModel;
958
- }) ? T_1 extends unknown ? {
959
- id: string;
960
- created: string;
961
- summary: string;
962
- hash: string;
963
- ref_id: string;
964
- lang: string;
965
- } : T_1 : never : never;
966
- } : ResponseWrapper;
967
- $request: {
968
- path: string;
969
- method: string;
970
- [k: string]: string;
971
- };
972
- $serialized: AISummaryModel;
973
- }>;
974
- }
975
-
976
- declare module '@mx-space/api-client' {
977
- interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
978
- category: CategoryController<ResponseWrapper>;
979
- }
980
- }
981
- declare class CategoryController<ResponseWrapper> implements IController {
982
- private client;
983
- name: string;
984
- base: string;
985
- constructor(client: HTTPClient);
986
- get proxy(): IRequestHandler<ResponseWrapper>;
987
- getAllCategories(): RequestProxyResult<{
988
- data: CategoryModel[];
989
- }, ResponseWrapper>;
990
- getAllTags(): RequestProxyResult<{
991
- data: TagModel[];
992
- }, ResponseWrapper>;
993
- getCategoryDetail(id: string): Promise<ResponseProxyExtraRaw<CategoryWithChildrenModel>>;
994
- getCategoryDetail(ids: string[]): Promise<ResponseProxyExtraRaw<Map<string, CategoryWithChildrenModel>>>;
995
- getCategoryByIdOrSlug(idOrSlug: string): Promise<CategoryModel & {
996
- children: Pick<PostModel, "id" | "title" | "slug" | "modified" | "created">[];
997
- } & {
998
- $raw: ResponseWrapper extends {
999
- data: infer T;
1000
- } ? ResponseWrapper : ResponseWrapper extends unknown ? {
1001
- [i: string]: any;
1002
- data: (ResponseWrapper extends unknown ? {
1003
- [key: string]: any;
1004
- data: CategoryWithChildrenModel;
1005
- } : ResponseWrapper extends {
1006
- data: CategoryWithChildrenModel;
1007
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1008
- data: CategoryWithChildrenModel;
1009
- }) extends infer T_1 ? T_1 extends (ResponseWrapper extends unknown ? {
1010
- [key: string]: any;
1011
- data: CategoryWithChildrenModel;
1012
- } : ResponseWrapper extends {
1013
- data: CategoryWithChildrenModel;
1014
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1015
- data: CategoryWithChildrenModel;
1016
- }) ? T_1 extends unknown ? {
1017
- type: CategoryType;
1018
- count: number;
1019
- slug: string;
1020
- name: string;
1021
- created: string;
1022
- id: string;
1023
- children: Pick<PostModel, "id" | "created" | "modified" | "title" | "slug">[];
1024
- } : T_1 : never : never;
1025
- } : ResponseWrapper;
1026
- $request: {
1027
- path: string;
1028
- method: string;
1029
- [k: string]: string;
1030
- };
1031
- $serialized: CategoryWithChildrenModel;
1032
- }>;
1033
- getTagByName(name: string): Promise<{
1034
- tag: string;
1035
- data: Pick<PostModel, "id" | "title" | "slug" | "category" | "created">[];
1036
- } & {
1037
- $raw: ResponseWrapper extends {
1038
- data: infer T;
1039
- } ? ResponseWrapper : ResponseWrapper extends unknown ? {
1040
- [i: string]: any;
1041
- data: (ResponseWrapper extends unknown ? {
1042
- [key: string]: any;
1043
- data: {
1044
- tag: string;
1045
- data: Pick<PostModel, "id" | "title" | "slug" | "category" | "created">[];
1046
- };
1047
- } : ResponseWrapper extends {
1048
- data: {
1049
- tag: string;
1050
- data: Pick<PostModel, "id" | "title" | "slug" | "category" | "created">[];
1051
- };
1052
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1053
- data: {
1054
- tag: string;
1055
- data: Pick<PostModel, "id" | "title" | "slug" | "category" | "created">[];
1056
- };
1057
- }) extends infer T_1 ? T_1 extends (ResponseWrapper extends unknown ? {
1058
- [key: string]: any;
1059
- data: {
1060
- tag: string;
1061
- data: Pick<PostModel, "id" | "title" | "slug" | "category" | "created">[];
1062
- };
1063
- } : ResponseWrapper extends {
1064
- data: {
1065
- tag: string;
1066
- data: Pick<PostModel, "id" | "title" | "slug" | "category" | "created">[];
1067
- };
1068
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1069
- data: {
1070
- tag: string;
1071
- data: Pick<PostModel, "id" | "title" | "slug" | "category" | "created">[];
1072
- };
1073
- }) ? T_1 extends unknown ? {
1074
- tag: string;
1075
- data: Pick<PostModel, "id" | "category" | "created" | "title" | "slug">[];
1076
- } : T_1 : never : never;
1077
- } : ResponseWrapper;
1078
- $request: {
1079
- path: string;
1080
- method: string;
1081
- [k: string]: string;
1082
- };
1083
- $serialized: {
1084
- tag: string;
1085
- data: Pick<PostModel, "id" | "title" | "slug" | "category" | "created">[];
1086
- };
1087
- }>;
1088
- }
1089
-
1090
- interface PaginationParams {
1091
- size?: number;
1092
- page?: number;
1093
- }
1094
-
1095
- interface CommentDto {
1096
- author: string;
1097
- text: string;
1098
- mail: string;
1099
- url?: string;
1100
- source?: 'github' | 'google';
1101
- avatar?: string;
1102
- }
1103
-
1104
- declare module '@mx-space/api-client' {
1105
- interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1106
- comment: CommentController<ResponseWrapper>;
1107
- }
1108
- }
1109
- declare class CommentController<ResponseWrapper> implements IController {
1110
- private readonly client;
1111
- base: string;
1112
- name: string;
1113
- constructor(client: HTTPClient);
1114
- get proxy(): IRequestHandler<ResponseWrapper>;
1115
- /**
1116
- * 根据 comment id 获取评论,包括子评论
1117
- */
1118
- getById(id: string): RequestProxyResult<CommentModel & {
1119
- ref: string;
1120
- }, ResponseWrapper, ResponseWrapper extends unknown ? {
1121
- [key: string]: any;
1122
- data: CommentModel & {
1123
- ref: string;
1124
- };
1125
- } : ResponseWrapper extends {
1126
- data: CommentModel & {
1127
- ref: string;
1128
- };
1129
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1130
- data: CommentModel & {
1131
- ref: string;
1132
- };
1133
- }>;
1134
- /**
1135
- * 获取文章的评论列表
1136
- * @param refId 文章 Id
1137
- */
1138
- getByRefId(refId: string, pagination?: PaginationParams): RequestProxyResult<PaginateResult<CommentModel & {
1139
- ref: string;
1140
- }> & {
1141
- readers: Record<string, ReaderModel>;
1142
- }, ResponseWrapper, ResponseWrapper extends unknown ? {
1143
- [key: string]: any;
1144
- data: PaginateResult<CommentModel & {
1145
- ref: string;
1146
- }> & {
1147
- readers: Record<string, ReaderModel>;
1148
- };
1149
- } : ResponseWrapper extends {
1150
- data: PaginateResult<CommentModel & {
1151
- ref: string;
1152
- }> & {
1153
- readers: Record<string, ReaderModel>;
1154
- };
1155
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1156
- data: PaginateResult<CommentModel & {
1157
- ref: string;
1158
- }> & {
1159
- readers: Record<string, ReaderModel>;
1160
- };
1161
- }>;
1162
- /**
1163
- * 评论
1164
- */
1165
- comment(refId: string, data: CommentDto): RequestProxyResult<CommentModel, ResponseWrapper, ResponseWrapper extends unknown ? {
1166
- [key: string]: any;
1167
- data: CommentModel;
1168
- } : ResponseWrapper extends {
1169
- data: CommentModel;
1170
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1171
- data: CommentModel;
1172
- }>;
1173
- /**
1174
- * 回复评论
1175
- */
1176
- reply(commentId: string, data: CommentDto): RequestProxyResult<CommentModel, ResponseWrapper, ResponseWrapper extends unknown ? {
1177
- [key: string]: any;
1178
- data: CommentModel;
1179
- } : ResponseWrapper extends {
1180
- data: CommentModel;
1181
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1182
- data: CommentModel;
1183
- }>;
1184
- }
1185
-
1186
- type SortOptions = {
1187
- sortBy?: string;
1188
- sortOrder?: 1 | -1 | 'asc' | 'desc';
1189
- };
1190
- declare abstract class BaseCrudController<T, ResponseWrapper> {
1191
- protected client: HTTPClient;
1192
- base: string;
1193
- constructor(client: HTTPClient);
1194
- get proxy(): IRequestHandler<ResponseWrapper>;
1195
- getById(id: string): RequestProxyResult<T, ResponseWrapper>;
1196
- getAll(): RequestProxyResult<{
1197
- data: T[];
1198
- }, ResponseWrapper, ResponseWrapper extends unknown ? {
1199
- [key: string]: any;
1200
- data: {
1201
- data: T[];
1202
- };
1203
- } : ResponseWrapper extends {
1204
- data: {
1205
- data: T[];
1206
- };
1207
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1208
- data: {
1209
- data: T[];
1210
- };
1211
- }>;
1212
- /**
1213
- * 带分页的查询
1214
- * @param page
1215
- * @param perPage
1216
- */
1217
- getAllPaginated(page?: number, perPage?: number, sortOption?: SortOptions): RequestProxyResult<PaginateResult<T>, ResponseWrapper, ResponseWrapper extends unknown ? {
1218
- [key: string]: any;
1219
- data: PaginateResult<T>;
1220
- } : ResponseWrapper extends {
1221
- data: PaginateResult<T>;
1222
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1223
- data: PaginateResult<T>;
1224
- }>;
1225
- }
1226
-
1227
- declare module '@mx-space/api-client' {
1228
- interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1229
- link: LinkController<ResponseWrapper>;
1230
- friend: LinkController<ResponseWrapper>;
1231
- }
1232
- }
1233
- declare class LinkController<ResponseWrapper> extends BaseCrudController<LinkModel, ResponseWrapper> {
1234
- protected readonly client: HTTPClient;
1235
- constructor(client: HTTPClient);
1236
- canApplyLink(): Promise<boolean>;
1237
- applyLink(data: Pick<LinkModel, 'avatar' | 'name' | 'description' | 'url' | 'email'> & {
1238
- author: string;
1239
- }): Promise<never>;
1240
- name: string[];
1241
- base: string;
1242
- }
1243
-
1244
- declare module '@mx-space/api-client' {
1245
- interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1246
- note: NoteController<ResponseWrapper>;
1247
- }
1248
- }
1249
- type NoteListOptions = {
1250
- select?: SelectFields<keyof NoteModel>;
1251
- year?: number;
1252
- sortBy?: 'weather' | 'mood' | 'title' | 'created' | 'modified';
1253
- sortOrder?: 1 | -1;
1254
- };
1255
- declare class NoteController<ResponseWrapper> implements IController {
1256
- private client;
1257
- base: string;
1258
- name: string;
1259
- constructor(client: HTTPClient);
1260
- get proxy(): IRequestHandler<ResponseWrapper>;
1261
- /**
1262
- * 最新日记
1263
- */
1264
- getLatest(): RequestProxyResult<NoteWrappedWithLikedPayload, ResponseWrapper, ResponseWrapper extends unknown ? {
1265
- [key: string]: any;
1266
- data: NoteWrappedWithLikedPayload;
1267
- } : ResponseWrapper extends {
1268
- data: NoteWrappedWithLikedPayload;
1269
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1270
- data: NoteWrappedWithLikedPayload;
1271
- }>;
1272
- /**
1273
- * 获取一篇日记,根据 Id 查询需要鉴权
1274
- * @param id id | nid
1275
- * @param password 访问密码
1276
- */
1277
- getNoteById(id: string): Promise<RequestProxyResult<NoteModel, ResponseWrapper>>;
1278
- getNoteById(id: number): Promise<NoteWrappedPayload>;
1279
- getNoteById(id: number, password: string): Promise<NoteWrappedPayload>;
1280
- getNoteById(id: number, password: undefined, singleResult: true): Promise<RequestProxyResult<NoteModel, ResponseWrapper>>;
1281
- getNoteById(id: number, password: string, singleResult: true): Promise<RequestProxyResult<NoteModel, ResponseWrapper>>;
1282
- /**
1283
- * 日记列表分页
1284
- */
1285
- getList(page?: number, perPage?: number, options?: NoteListOptions): RequestProxyResult<PaginateResult<NoteModel>, ResponseWrapper, ResponseWrapper extends unknown ? {
1286
- [key: string]: any;
1287
- data: PaginateResult<NoteModel>;
1288
- } : ResponseWrapper extends {
1289
- data: PaginateResult<NoteModel>;
1290
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1291
- data: PaginateResult<NoteModel>;
1292
- }>;
1293
- /**
1294
- * 获取当前日记的上下各 n / 2 篇日记
1295
- */
1296
- getMiddleList(id: string, size?: number): RequestProxyResult<{
1297
- data: Pick<NoteModel, "id" | "title" | "nid" | "created" | "hide">[];
1298
- size: number;
1299
- }, ResponseWrapper, ResponseWrapper extends unknown ? {
1300
- [key: string]: any;
1301
- data: {
1302
- data: Pick<NoteModel, "id" | "title" | "nid" | "created" | "hide">[];
1303
- size: number;
1304
- };
1305
- } : ResponseWrapper extends {
1306
- data: {
1307
- data: Pick<NoteModel, "id" | "title" | "nid" | "created" | "hide">[];
1308
- size: number;
1309
- };
1310
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1311
- data: {
1312
- data: Pick<NoteModel, "id" | "title" | "nid" | "created" | "hide">[];
1313
- size: number;
1314
- };
1315
- }>;
1316
- /**
1317
- * 获取专栏内的所有日记
1318
- */
1319
- getNoteByTopicId(topicId: string, page?: number, size?: number, sortOptions?: SortOptions): RequestProxyResult<PaginateResult<NoteModel>, ResponseWrapper, ResponseWrapper extends unknown ? {
1320
- [key: string]: any;
1321
- data: PaginateResult<NoteModel>;
1322
- } : ResponseWrapper extends {
1323
- data: PaginateResult<NoteModel>;
1324
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1325
- data: PaginateResult<NoteModel>;
1326
- }>;
1327
- }
1328
-
1329
- declare module '@mx-space/api-client' {
1330
- interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1331
- page: PageController<ResponseWrapper>;
1332
- }
1333
- }
1334
- type PageListOptions = {
1335
- select?: SelectFields<keyof PageModel>;
1336
- sortBy?: 'order' | 'subtitle' | 'title' | 'created' | 'modified';
1337
- sortOrder?: 1 | -1;
1338
- };
1339
- declare class PageController<ResponseWrapper> implements IController {
1340
- private readonly client;
1341
- constructor(client: HTTPClient);
1342
- base: string;
1343
- name: string;
1344
- get proxy(): IRequestHandler<ResponseWrapper>;
1345
- /**
1346
- * 页面列表
1347
- */
1348
- getList(page?: number, perPage?: number, options?: PageListOptions): RequestProxyResult<PaginateResult<PageModel>, ResponseWrapper, ResponseWrapper extends unknown ? {
1349
- [key: string]: any;
1350
- data: PaginateResult<PageModel>;
1351
- } : ResponseWrapper extends {
1352
- data: PaginateResult<PageModel>;
1353
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1354
- data: PaginateResult<PageModel>;
1355
- }>;
1356
- /**
1357
- * 页面详情
1358
- */
1359
- getById(id: string): RequestProxyResult<PageModel, ResponseWrapper, ResponseWrapper extends unknown ? {
1360
- [key: string]: any;
1361
- data: PageModel;
1362
- } : ResponseWrapper extends {
1363
- data: PageModel;
1364
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1365
- data: PageModel;
1366
- }>;
1367
- /**
1368
- * 根据路径获取页面
1369
- * @param slug 路径
1370
- * @returns
1371
- */
1372
- getBySlug(slug: string): RequestProxyResult<PageModel, ResponseWrapper, ResponseWrapper extends unknown ? {
1373
- [key: string]: any;
1374
- data: PageModel;
1375
- } : ResponseWrapper extends {
1376
- data: PageModel;
1377
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1378
- data: PageModel;
1379
- }>;
1380
- }
1381
-
1382
- declare module '@mx-space/api-client' {
1383
- interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1384
- post: PostController<ResponseWrapper>;
1385
- }
1386
- }
1387
- type PostListOptions = {
1388
- select?: SelectFields<keyof PostModel>;
1389
- year?: number;
1390
- sortBy?: 'categoryId' | 'title' | 'created' | 'modified';
1391
- sortOrder?: 1 | -1;
1392
- truncate?: number;
1393
- };
1394
- declare class PostController<ResponseWrapper> implements IController {
1395
- private client;
1396
- constructor(client: HTTPClient);
1397
- base: string;
1398
- name: string;
1399
- get proxy(): IRequestHandler<ResponseWrapper>;
1400
- /**
1401
- * 获取文章列表分页
1402
- * @param page
1403
- * @param perPage
1404
- * @returns
1405
- */
1406
- getList(page?: number, perPage?: number, options?: PostListOptions): RequestProxyResult<PaginateResult<PostModel>, ResponseWrapper, ResponseWrapper extends unknown ? {
1407
- [key: string]: any;
1408
- data: PaginateResult<PostModel>;
1409
- } : ResponseWrapper extends {
1410
- data: PaginateResult<PostModel>;
1411
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1412
- data: PaginateResult<PostModel>;
1413
- }>;
1414
- /**
1415
- * 根据分类和路径查找文章
1416
- * @param categoryName
1417
- * @param slug
1418
- */
1419
- getPost(categoryName: string, slug: string): RequestProxyResult<ModelWithLiked<PostModel>, ResponseWrapper>;
1420
- /**
1421
- * 根据 ID 查找文章
1422
- * @param id
1423
- */
1424
- getPost(id: string): RequestProxyResult<PostModel, ResponseWrapper>;
1425
- /**
1426
- * 获取最新的文章
1427
- */
1428
- getLatest(): RequestProxyResult<ModelWithLiked<PostModel>, ResponseWrapper, ResponseWrapper extends unknown ? {
1429
- [key: string]: any;
1430
- data: ModelWithLiked<PostModel>;
1431
- } : ResponseWrapper extends {
1432
- data: ModelWithLiked<PostModel>;
1433
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1434
- data: ModelWithLiked<PostModel>;
1435
- }>;
1436
- getFullUrl(slug: string): RequestProxyResult<{
1437
- path: string;
1438
- }, ResponseWrapper, ResponseWrapper extends unknown ? {
1439
- [key: string]: any;
1440
- data: {
1441
- path: string;
1442
- };
1443
- } : ResponseWrapper extends {
1444
- data: {
1445
- path: string;
1446
- };
1447
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1448
- data: {
1449
- path: string;
1450
- };
1451
- }>;
1452
- }
1453
-
1454
- declare module '@mx-space/api-client' {
1455
- interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1456
- project: ProjectController<ResponseWrapper>;
1457
- }
1458
- }
1459
- declare class ProjectController<ResponseWrapper> extends BaseCrudController<ProjectModel, ResponseWrapper> {
1460
- protected readonly client: HTTPClient;
1461
- constructor(client: HTTPClient);
1462
- base: string;
1463
- name: string;
1464
- }
1465
-
1466
- declare module '@mx-space/api-client' {
1467
- interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1468
- recently: RecentlyController<ResponseWrapper>;
1469
- shorthand: RecentlyController<ResponseWrapper>;
1470
- }
1471
- }
1472
- declare enum RecentlyAttitudeResultEnum {
1473
- Inc = 1,
1474
- Dec = -1
1475
- }
1476
- declare enum RecentlyAttitudeEnum {
1477
- Up = 0,
1478
- Down = 1
1479
- }
1480
- declare class RecentlyController<ResponseWrapper> implements IController {
1481
- private readonly client;
1482
- base: string;
1483
- name: string[];
1484
- constructor(client: HTTPClient);
1485
- get proxy(): IRequestHandler<ResponseWrapper>;
1486
- /**
1487
- * 获取最新一条
1488
- */
1489
- getLatestOne(): RequestProxyResult<RecentlyModel & {
1490
- comments: number;
1491
- }, ResponseWrapper, ResponseWrapper extends unknown ? {
1492
- [key: string]: any;
1493
- data: RecentlyModel & {
1494
- comments: number;
1495
- };
1496
- } : ResponseWrapper extends {
1497
- data: RecentlyModel & {
1498
- comments: number;
1499
- };
1500
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1501
- data: RecentlyModel & {
1502
- comments: number;
1503
- };
1504
- }>;
1505
- getAll(): RequestProxyResult<{
1506
- data: RecentlyModel[] & {
1507
- comments: number;
1508
- };
1509
- }, ResponseWrapper, ResponseWrapper extends unknown ? {
1510
- [key: string]: any;
1511
- data: {
1512
- data: RecentlyModel[] & {
1513
- comments: number;
1514
- };
1515
- };
1516
- } : ResponseWrapper extends {
1517
- data: {
1518
- data: RecentlyModel[] & {
1519
- comments: number;
1520
- };
1521
- };
1522
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1523
- data: {
1524
- data: RecentlyModel[] & {
1525
- comments: number;
1526
- };
1527
- };
1528
- }>;
1529
- getList({ before, after, size, }?: {
1530
- before?: string | undefined;
1531
- after?: string | undefined;
1532
- size?: number | number;
1533
- }): RequestProxyResult<{
1534
- data: RecentlyModel[] & {
1535
- comments: number;
1536
- };
1537
- }, ResponseWrapper, ResponseWrapper extends unknown ? {
1538
- [key: string]: any;
1539
- data: {
1540
- data: RecentlyModel[] & {
1541
- comments: number;
1542
- };
1543
- };
1544
- } : ResponseWrapper extends {
1545
- data: {
1546
- data: RecentlyModel[] & {
1547
- comments: number;
1548
- };
1549
- };
1550
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1551
- data: {
1552
- data: RecentlyModel[] & {
1553
- comments: number;
1554
- };
1555
- };
1556
- }>;
1557
- getById(id: string): RequestProxyResult<RecentlyModel & {
1558
- comments: number;
1559
- }, ResponseWrapper, ResponseWrapper extends unknown ? {
1560
- [key: string]: any;
1561
- data: RecentlyModel & {
1562
- comments: number;
1563
- };
1564
- } : ResponseWrapper extends {
1565
- data: RecentlyModel & {
1566
- comments: number;
1567
- };
1568
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1569
- data: RecentlyModel & {
1570
- comments: number;
1571
- };
1572
- }>;
1573
- /** 表态:点赞,点踩 */
1574
- attitude(id: string, attitude: RecentlyAttitudeEnum): RequestProxyResult<{
1575
- code: RecentlyAttitudeResultEnum;
1576
- }, ResponseWrapper, ResponseWrapper extends unknown ? {
1577
- [key: string]: any;
1578
- data: {
1579
- code: RecentlyAttitudeResultEnum;
1580
- };
1581
- } : ResponseWrapper extends {
1582
- data: {
1583
- code: RecentlyAttitudeResultEnum;
1584
- };
1585
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1586
- data: {
1587
- code: RecentlyAttitudeResultEnum;
1588
- };
1589
- }>;
1590
- }
1591
-
1592
- declare module '@mx-space/api-client' {
1593
- interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1594
- say: SayController<ResponseWrapper>;
1595
- }
1596
- }
1597
- declare class SayController<ResponseWrapper> extends BaseCrudController<SayModel, ResponseWrapper> implements IController {
1598
- protected client: HTTPClient;
1599
- base: string;
1600
- name: string;
1601
- constructor(client: HTTPClient);
1602
- get proxy(): IRequestHandler<ResponseWrapper>;
1603
- /**
1604
- * 获取随机一条
1605
- */
1606
- getRandom(): RequestProxyResult<{
1607
- data: SayModel | null;
1608
- }, ResponseWrapper, ResponseWrapper extends unknown ? {
1609
- [key: string]: any;
1610
- data: {
1611
- data: SayModel | null;
1612
- };
1613
- } : ResponseWrapper extends {
1614
- data: {
1615
- data: SayModel | null;
1616
- };
1617
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1618
- data: {
1619
- data: SayModel | null;
1620
- };
1621
- }>;
1622
- }
1623
-
1624
- declare module '@mx-space/api-client' {
1625
- interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1626
- search: SearchController<ResponseWrapper>;
1627
- }
1628
- }
1629
- type SearchOption = {
1630
- orderBy?: string;
1631
- order?: number;
1632
- rawAlgolia?: boolean;
1633
- };
1634
- declare class SearchController<ResponseWrapper> implements IController {
1635
- private readonly client;
1636
- base: string;
1637
- name: string;
1638
- constructor(client: HTTPClient);
1639
- get proxy(): IRequestHandler<ResponseWrapper>;
1640
- search(type: 'note', keyword: string, options?: Omit<SearchOption, 'rawAlgolia'>): Promise<RequestProxyResult<PaginateResult<Pick<NoteModel, 'modified' | 'id' | 'title' | 'created' | 'nid'>>, ResponseWrapper>>;
1641
- search(type: 'post', keyword: string, options?: Omit<SearchOption, 'rawAlgolia'>): Promise<RequestProxyResult<PaginateResult<Pick<PostModel, 'modified' | 'id' | 'title' | 'created' | 'slug' | 'category'>>, ResponseWrapper>>;
1642
- /**
1643
- * 从 algolya 搜索
1644
- * https://www.algolia.com/doc/api-reference/api-methods/search/
1645
- * @param keyword
1646
- * @param options
1647
- * @returns
1648
- */
1649
- searchByAlgolia(keyword: string, options?: SearchOption): RequestProxyResult<RequestProxyResult<PaginateResult<(Pick<PostModel, "id" | "category" | "created" | "modified" | "title" | "slug"> & {
1650
- type: "post";
1651
- }) | (Pick<NoteModel, "id" | "created" | "modified" | "title" | "nid"> & {
1652
- type: "note";
1653
- }) | (Pick<PageModel, "id" | "created" | "modified" | "title" | "slug"> & {
1654
- type: "page";
1655
- })> & {
1656
- /**
1657
- * @see: algoliasearch <https://www.algolia.com/doc/api-reference/api-methods/search/>
1658
- */
1659
- raw?: any;
1660
- }, ResponseWrapper>, ResponseWrapper, ResponseWrapper extends unknown ? {
1661
- [key: string]: any;
1662
- data: RequestProxyResult<PaginateResult<(Pick<PostModel, "id" | "category" | "created" | "modified" | "title" | "slug"> & {
1663
- type: "post";
1664
- }) | (Pick<NoteModel, "id" | "created" | "modified" | "title" | "nid"> & {
1665
- type: "note";
1666
- }) | (Pick<PageModel, "id" | "created" | "modified" | "title" | "slug"> & {
1667
- type: "page";
1668
- })> & {
1669
- /**
1670
- * @see: algoliasearch <https://www.algolia.com/doc/api-reference/api-methods/search/>
1671
- */
1672
- raw?: any;
1673
- }, ResponseWrapper>;
1674
- } : ResponseWrapper extends {
1675
- data: RequestProxyResult<PaginateResult<(Pick<PostModel, "id" | "category" | "created" | "modified" | "title" | "slug"> & {
1676
- type: "post";
1677
- }) | (Pick<NoteModel, "id" | "created" | "modified" | "title" | "nid"> & {
1678
- type: "note";
1679
- }) | (Pick<PageModel, "id" | "created" | "modified" | "title" | "slug"> & {
1680
- type: "page";
1681
- })> & {
1682
- /**
1683
- * @see: algoliasearch <https://www.algolia.com/doc/api-reference/api-methods/search/>
1684
- */
1685
- raw?: any;
1686
- }, ResponseWrapper>;
1687
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1688
- data: RequestProxyResult<PaginateResult<(Pick<PostModel, "id" | "category" | "created" | "modified" | "title" | "slug"> & {
1689
- type: "post";
1690
- }) | (Pick<NoteModel, "id" | "created" | "modified" | "title" | "nid"> & {
1691
- type: "note";
1692
- }) | (Pick<PageModel, "id" | "created" | "modified" | "title" | "slug"> & {
1693
- type: "page";
1694
- })> & {
1695
- /**
1696
- * @see: algoliasearch <https://www.algolia.com/doc/api-reference/api-methods/search/>
1697
- */
1698
- raw?: any;
1699
- }, ResponseWrapper>;
1700
- }>;
1701
- }
1702
-
1703
- declare module '@mx-space/api-client' {
1704
- interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1705
- serverless: ServerlessController<ResponseWrapper>;
1706
- }
1707
- }
1708
- declare class ServerlessController<ResponseWrapper> implements IController {
1709
- protected client: HTTPClient;
1710
- base: string;
1711
- name: string;
1712
- constructor(client: HTTPClient);
1713
- get proxy(): IRequestHandler<ResponseWrapper>;
1714
- getByReferenceAndName<T = unknown>(reference: string, name: string): RequestProxyResult<T, ResponseWrapper, ResponseWrapper extends unknown ? {
1715
- [key: string]: any;
1716
- data: T;
1717
- } : ResponseWrapper extends {
1718
- data: T;
1719
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1720
- data: T;
1721
- }>;
1722
- }
1723
-
1724
- declare module '@mx-space/api-client' {
1725
- interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1726
- snippet: SnippetController<ResponseWrapper>;
1727
- }
1728
- }
1729
- declare class SnippetController<ResponseWrapper> implements IController {
1730
- protected client: HTTPClient;
1731
- base: string;
1732
- name: string;
1733
- constructor(client: HTTPClient);
1734
- get proxy(): IRequestHandler<ResponseWrapper>;
1735
- getByReferenceAndName<T = unknown>(reference: string, name: string): RequestProxyResult<T, ResponseWrapper, ResponseWrapper extends unknown ? {
1736
- [key: string]: any;
1737
- data: T;
1738
- } : ResponseWrapper extends {
1739
- data: T;
1740
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1741
- data: T;
1742
- }>;
1743
- }
1744
-
1745
- declare module '@mx-space/api-client' {
1746
- interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1747
- subscribe: SubscribeController<ResponseWrapper>;
1748
- }
1749
- }
1750
- declare class SubscribeController<ResponseWrapper> implements IController {
1751
- protected client: HTTPClient;
1752
- base: string;
1753
- name: string;
1754
- constructor(client: HTTPClient);
1755
- get proxy(): IRequestHandler<ResponseWrapper>;
1756
- /**
1757
- * 检查开启状态
1758
- */
1759
- check(): RequestProxyResult<{
1760
- enable: boolean;
1761
- bitMap: Record<SubscribeType, number>;
1762
- allowBits: number[];
1763
- allowTypes: SubscribeType[];
1764
- }, ResponseWrapper, ResponseWrapper extends unknown ? {
1765
- [key: string]: any;
1766
- data: {
1767
- enable: boolean;
1768
- bitMap: Record<SubscribeType, number>;
1769
- allowBits: number[];
1770
- allowTypes: SubscribeType[];
1771
- };
1772
- } : ResponseWrapper extends {
1773
- data: {
1774
- enable: boolean;
1775
- bitMap: Record<SubscribeType, number>;
1776
- allowBits: number[];
1777
- allowTypes: SubscribeType[];
1778
- };
1779
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1780
- data: {
1781
- enable: boolean;
1782
- bitMap: Record<SubscribeType, number>;
1783
- allowBits: number[];
1784
- allowTypes: SubscribeType[];
1785
- };
1786
- }>;
1787
- subscribe(email: string, types: SubscribeType[]): RequestProxyResult<never, ResponseWrapper, ResponseWrapper extends unknown ? {
1788
- [key: string]: any;
1789
- data: never;
1790
- } : ResponseWrapper extends {
1791
- data: never;
1792
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1793
- data: never;
1794
- }>;
1795
- unsubscribe(email: string, cancelToken: string): RequestProxyResult<string, ResponseWrapper, ResponseWrapper extends unknown ? {
1796
- [key: string]: any;
1797
- data: string;
1798
- } : ResponseWrapper extends {
1799
- data: string;
1800
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1801
- data: string;
1802
- }>;
1803
- }
1804
-
1805
- declare module '@mx-space/api-client' {
1806
- interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1807
- topic: TopicController<ResponseWrapper>;
1808
- }
1809
- }
1810
- declare class TopicController<ResponseWrapper> extends BaseCrudController<TopicModel, ResponseWrapper> implements IController {
1811
- protected client: HTTPClient;
1812
- base: string;
1813
- name: string;
1814
- constructor(client: HTTPClient);
1815
- get proxy(): IRequestHandler<ResponseWrapper>;
1816
- getTopicBySlug(slug: string): RequestProxyResult<TopicModel, ResponseWrapper, ResponseWrapper extends unknown ? {
1817
- [key: string]: any;
1818
- data: TopicModel;
1819
- } : ResponseWrapper extends {
1820
- data: TopicModel;
1821
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1822
- data: TopicModel;
1823
- }>;
1824
- }
1825
-
1826
- declare module '@mx-space/api-client' {
1827
- interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1828
- user: UserController<ResponseWrapper>;
1829
- master: UserController<ResponseWrapper>;
1830
- }
1831
- }
1832
- declare class UserController<ResponseWrapper> implements IController {
1833
- private readonly client;
1834
- constructor(client: HTTPClient);
1835
- base: string;
1836
- name: string[];
1837
- get proxy(): IRequestHandler<ResponseWrapper>;
1838
- getMasterInfo(): RequestProxyResult<UserModel, ResponseWrapper, ResponseWrapper extends unknown ? {
1839
- [key: string]: any;
1840
- data: UserModel;
1841
- } : ResponseWrapper extends {
1842
- data: UserModel;
1843
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1844
- data: UserModel;
1845
- }>;
1846
- login(username: string, password: string): RequestProxyResult<TLogin, ResponseWrapper, ResponseWrapper extends unknown ? {
1847
- [key: string]: any;
1848
- data: TLogin;
1849
- } : ResponseWrapper extends {
1850
- data: TLogin;
1851
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1852
- data: TLogin;
1853
- }>;
1854
- loginWithToken(token?: string): RequestProxyResult<{
1855
- token: string;
1856
- }, ResponseWrapper, ResponseWrapper extends unknown ? {
1857
- [key: string]: any;
1858
- data: {
1859
- token: string;
1860
- };
1861
- } : ResponseWrapper extends {
1862
- data: {
1863
- token: string;
1864
- };
1865
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1866
- data: {
1867
- token: string;
1868
- };
1869
- }>;
1870
- checkTokenValid(token: string): RequestProxyResult<{
1871
- ok: number;
1872
- isGuest: boolean;
1873
- }, ResponseWrapper, ResponseWrapper extends unknown ? {
1874
- [key: string]: any;
1875
- data: {
1876
- ok: number;
1877
- isGuest: boolean;
1878
- };
1879
- } : ResponseWrapper extends {
1880
- data: {
1881
- ok: number;
1882
- isGuest: boolean;
1883
- };
1884
- } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1885
- data: {
1886
- ok: number;
1887
- isGuest: boolean;
1888
- };
1889
- }>;
1890
- }
1891
-
1892
- declare const allControllers: (typeof AckController | typeof ActivityController | typeof AggregateController | typeof AIController | typeof CategoryController | typeof CommentController | typeof LinkController | typeof NoteController | typeof PageController | typeof PostController | typeof ProjectController | typeof RecentlyController | typeof SayController | typeof SearchController | typeof ServerlessController | typeof SnippetController | typeof SubscribeController | typeof TopicController | typeof UserController)[];
1893
- declare const allControllerNames: readonly ["ai", "ack", "activity", "aggregate", "category", "comment", "link", "note", "page", "post", "project", "topic", "recently", "say", "search", "snippet", "serverless", "subscribe", "user", "friend", "master", "shorthand"];
1894
-
1895
- /**
1896
- * A simple camelCase function that only handles strings, but not handling symbol, date, or other complex case.
1897
- * If you need to handle more complex cases, please use camelcase-keys package.
1898
- */
1899
- declare const camelcaseKeys: <T = any>(obj: any) => T;
1900
-
1901
- export { AIController, type AISummaryModel, AckController, ActivityController, type ActivityPresence, AdminExtraModel, AggregateController, type AggregateRoot, type AggregateRootWithTheme, type AggregateStat, type AggregateTop, type AggregateTopNote, type AggregateTopPost, AlgoliaSearchOptionsModel, type AuthUser, BackupOptionsModel, BaiduSearchOptionsModel, type BaseCommentIndexModel, type BaseModel, CategoryController, type CategoryEntries, type CategoryModel, CategoryType, type CategoryWithChildrenModel, CollectionRefTypes, CommentController, type CommentDto, type CommentModel, CommentOptionsModel, type CommentRef, CommentState, type Coordinate, type Count, EnumPageType, HTTPClient, type IConfig, type IConfigKeys, IRequestAdapter, type Image, type LastYearPublication, LinkController, type LinkModel, LinkState, LinkType, MailOptionsModel, type ModelWithLiked, NoteController, type NoteModel, type NoteWrappedPayload, type NoteWrappedWithLikedPayload, PageController, type PageModel, type Pager, type PaginateResult, PostController, type PostModel, ProjectController, type ProjectModel, type ReaderModel, type RecentActivities, type RecentComment, type RecentLike, type RecentNote, type RecentPost, type RecentRecent, RecentlyAttitudeEnum, RecentlyAttitudeResultEnum, RecentlyController, type RecentlyModel, type RecentlyRefType, RecentlyRefTypes, RequestError, type RoomOmittedNote, type RoomOmittedPage, type RoomOmittedPost, type RoomsData, SayController, type SayModel, SearchController, SeoOptionModel, ServerlessController, SnippetController, type SnippetModel, SnippetType, SubscribeAllBit, SubscribeController, SubscribeNoteCreateBit, SubscribePostCreateBit, SubscribeRecentCreateBit, SubscribeSayCreateBit, type SubscribeType, SubscribeTypeToBitMap, type TLogin, type TagModel, type TextBaseModel, type TimelineData, TimelineType, TopicController, type TopicModel, type Url, UrlOptionModel, UserController, type UserModel, allControllerNames, allControllers, createClient, createClient as default, camelcaseKeys as simpleCamelcaseKeys };