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