@mx-space/api-client 1.0.0 → 1.0.1

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 (432) hide show
  1. package/LICENSE +661 -0
  2. package/esm/adaptors/axios.d.ts +4 -0
  3. package/esm/adaptors/axios.js +37 -0
  4. package/esm/adaptors/axios.js.map +1 -0
  5. package/esm/adaptors/ky.d.ts +23 -0
  6. package/esm/adaptors/ky.js +62 -0
  7. package/esm/adaptors/ky.js.map +1 -0
  8. package/esm/adaptors/umi-request.d.ts +4 -0
  9. package/esm/adaptors/umi-request.js +31 -0
  10. package/esm/adaptors/umi-request.js.map +1 -0
  11. package/esm/controllers/aggregate.d.ts +64 -0
  12. package/esm/controllers/aggregate.js +42 -0
  13. package/esm/controllers/aggregate.js.map +1 -0
  14. package/esm/controllers/base.d.ts +43 -0
  15. package/esm/controllers/base.js +27 -0
  16. package/esm/controllers/base.js.map +1 -0
  17. package/esm/controllers/category.d.ts +114 -0
  18. package/esm/controllers/category.js +68 -0
  19. package/esm/controllers/category.js.map +1 -0
  20. package/esm/controllers/comment.d.ts +81 -0
  21. package/esm/controllers/comment.js +47 -0
  22. package/esm/controllers/comment.js.map +1 -0
  23. package/esm/controllers/index.d.ts +18 -0
  24. package/esm/controllers/index.js +55 -0
  25. package/esm/controllers/index.js.map +1 -0
  26. package/esm/controllers/link.d.ts +20 -0
  27. package/esm/controllers/link.js +21 -0
  28. package/esm/controllers/link.js.map +1 -0
  29. package/esm/controllers/note.d.ts +123 -0
  30. package/esm/controllers/note.js +68 -0
  31. package/esm/controllers/note.js.map +1 -0
  32. package/esm/controllers/page.d.ts +59 -0
  33. package/esm/controllers/page.js +42 -0
  34. package/esm/controllers/page.js.map +1 -0
  35. package/esm/controllers/post.d.ts +72 -0
  36. package/esm/controllers/post.js +52 -0
  37. package/esm/controllers/post.js.map +1 -0
  38. package/esm/controllers/project.d.ts +15 -0
  39. package/esm/controllers/project.js +12 -0
  40. package/esm/controllers/project.js.map +1 -0
  41. package/esm/controllers/recently.d.ts +61 -0
  42. package/esm/controllers/recently.js +31 -0
  43. package/esm/controllers/recently.js.map +1 -0
  44. package/esm/controllers/say.d.ts +37 -0
  45. package/esm/controllers/say.js +21 -0
  46. package/esm/controllers/say.js.map +1 -0
  47. package/esm/controllers/search.d.ts +247 -0
  48. package/esm/controllers/search.js +28 -0
  49. package/esm/controllers/search.js.map +1 -0
  50. package/esm/controllers/severless.d.ts +24 -0
  51. package/esm/controllers/severless.js +16 -0
  52. package/esm/controllers/severless.js.map +1 -0
  53. package/esm/controllers/snippet.d.ts +24 -0
  54. package/esm/controllers/snippet.js +19 -0
  55. package/esm/controllers/snippet.js.map +1 -0
  56. package/esm/controllers/topic.d.ts +26 -0
  57. package/esm/controllers/topic.js +18 -0
  58. package/esm/controllers/topic.js.map +1 -0
  59. package/esm/controllers/user.d.ts +70 -0
  60. package/esm/controllers/user.js +40 -0
  61. package/esm/controllers/user.js.map +1 -0
  62. package/esm/core/attach-request.d.ts +2 -0
  63. package/esm/core/attach-request.js +36 -0
  64. package/esm/core/attach-request.js.map +1 -0
  65. package/esm/core/client.d.ts +29 -0
  66. package/esm/core/client.js +186 -0
  67. package/esm/core/client.js.map +1 -0
  68. package/esm/core/error.d.ts +6 -0
  69. package/esm/core/error.js +9 -0
  70. package/esm/core/error.js.map +1 -0
  71. package/esm/core/index.d.ts +2 -0
  72. package/esm/core/index.js +3 -0
  73. package/esm/core/index.js.map +1 -0
  74. package/esm/dtos/comment.d.ts +6 -0
  75. package/esm/dtos/comment.js +3 -0
  76. package/esm/dtos/comment.js.map +1 -0
  77. package/esm/index.d.ts +7 -0
  78. package/esm/index.js +8 -0
  79. package/esm/index.js.map +1 -0
  80. package/esm/interfaces/adapter.d.ts +14 -0
  81. package/esm/interfaces/adapter.js +2 -0
  82. package/esm/interfaces/adapter.js.map +1 -0
  83. package/esm/interfaces/client.d.ts +13 -0
  84. package/esm/interfaces/client.js +2 -0
  85. package/esm/interfaces/client.js.map +1 -0
  86. package/esm/interfaces/controller.d.ts +4 -0
  87. package/esm/interfaces/controller.js +2 -0
  88. package/esm/interfaces/controller.js.map +1 -0
  89. package/esm/interfaces/instance.d.ts +7 -0
  90. package/esm/interfaces/instance.js +2 -0
  91. package/esm/interfaces/instance.js.map +1 -0
  92. package/esm/interfaces/options.d.ts +1 -0
  93. package/esm/interfaces/options.js +2 -0
  94. package/esm/interfaces/options.js.map +1 -0
  95. package/esm/interfaces/params.d.ts +4 -0
  96. package/esm/interfaces/params.js +2 -0
  97. package/esm/interfaces/params.js.map +1 -0
  98. package/esm/interfaces/request.d.ts +43 -0
  99. package/esm/interfaces/request.js +2 -0
  100. package/esm/interfaces/request.js.map +1 -0
  101. package/esm/interfaces/types.d.ts +2 -0
  102. package/esm/interfaces/types.js +2 -0
  103. package/esm/interfaces/types.js.map +1 -0
  104. package/esm/models/aggregate.d.ts +53 -0
  105. package/esm/models/aggregate.js +6 -0
  106. package/esm/models/aggregate.js.map +1 -0
  107. package/esm/models/base.d.ts +41 -0
  108. package/esm/models/base.js +2 -0
  109. package/esm/models/base.js.map +1 -0
  110. package/esm/models/category.d.ts +22 -0
  111. package/esm/models/category.js +6 -0
  112. package/esm/models/category.js.map +1 -0
  113. package/esm/models/comment.d.ts +37 -0
  114. package/esm/models/comment.js +13 -0
  115. package/esm/models/comment.js.map +1 -0
  116. package/esm/models/index.d.ts +14 -0
  117. package/esm/models/index.js +15 -0
  118. package/esm/models/index.js.map +1 -0
  119. package/esm/models/link.d.ts +22 -0
  120. package/esm/models/link.js +14 -0
  121. package/esm/models/link.js.map +1 -0
  122. package/esm/models/note.d.ts +38 -0
  123. package/esm/models/note.js +2 -0
  124. package/esm/models/note.js.map +1 -0
  125. package/esm/models/page.d.ts +14 -0
  126. package/esm/models/page.js +7 -0
  127. package/esm/models/page.js.map +1 -0
  128. package/esm/models/post.d.ts +17 -0
  129. package/esm/models/post.js +2 -0
  130. package/esm/models/post.js.map +1 -0
  131. package/esm/models/project.d.ts +11 -0
  132. package/esm/models/project.js +2 -0
  133. package/esm/models/project.js.map +1 -0
  134. package/esm/models/recently.d.ts +20 -0
  135. package/esm/models/recently.js +7 -0
  136. package/esm/models/recently.js.map +1 -0
  137. package/esm/models/say.d.ts +6 -0
  138. package/esm/models/say.js +2 -0
  139. package/esm/models/say.js.map +1 -0
  140. package/esm/models/setting.d.ts +66 -0
  141. package/esm/models/setting.js +2 -0
  142. package/esm/models/setting.js.map +1 -0
  143. package/esm/models/snippet.d.ts +18 -0
  144. package/esm/models/snippet.js +8 -0
  145. package/esm/models/snippet.js.map +1 -0
  146. package/esm/models/topic.d.ts +8 -0
  147. package/esm/models/topic.js +2 -0
  148. package/esm/models/topic.js.map +1 -0
  149. package/esm/models/user.d.ts +21 -0
  150. package/esm/models/user.js +2 -0
  151. package/esm/models/user.js.map +1 -0
  152. package/esm/utils/auto-bind.d.ts +4 -0
  153. package/esm/utils/auto-bind.js +36 -0
  154. package/esm/utils/auto-bind.js.map +1 -0
  155. package/esm/utils/camelcase-keys.d.ts +6 -0
  156. package/esm/utils/camelcase-keys.js +23 -0
  157. package/esm/utils/camelcase-keys.js.map +1 -0
  158. package/esm/utils/index.d.ts +5 -0
  159. package/esm/utils/index.js +43 -0
  160. package/esm/utils/index.js.map +1 -0
  161. package/esm/utils/path.d.ts +1 -0
  162. package/esm/utils/path.js +7 -0
  163. package/esm/utils/path.js.map +1 -0
  164. package/esm/vitest.config.d.ts +2 -0
  165. package/esm/vitest.config.js +12 -0
  166. package/esm/vitest.config.js.map +1 -0
  167. package/lib/adaptors/axios.d.ts +4 -0
  168. package/lib/adaptors/axios.js +43 -0
  169. package/lib/adaptors/axios.js.map +1 -0
  170. package/lib/adaptors/ky.d.ts +23 -0
  171. package/lib/adaptors/ky.js +69 -0
  172. package/lib/adaptors/ky.js.map +1 -0
  173. package/lib/adaptors/umi-request.d.ts +4 -0
  174. package/lib/adaptors/umi-request.js +34 -0
  175. package/lib/adaptors/umi-request.js.map +1 -0
  176. package/lib/controllers/aggregate.d.ts +64 -0
  177. package/lib/controllers/aggregate.js +46 -0
  178. package/lib/controllers/aggregate.js.map +1 -0
  179. package/lib/controllers/base.d.ts +43 -0
  180. package/lib/controllers/base.js +31 -0
  181. package/lib/controllers/base.js.map +1 -0
  182. package/lib/controllers/category.d.ts +114 -0
  183. package/lib/controllers/category.js +72 -0
  184. package/lib/controllers/category.js.map +1 -0
  185. package/lib/controllers/comment.d.ts +81 -0
  186. package/lib/controllers/comment.js +51 -0
  187. package/lib/controllers/comment.js.map +1 -0
  188. package/lib/controllers/index.d.ts +18 -0
  189. package/lib/controllers/index.js +72 -0
  190. package/lib/controllers/index.js.map +1 -0
  191. package/lib/controllers/link.d.ts +20 -0
  192. package/lib/controllers/link.js +25 -0
  193. package/lib/controllers/link.js.map +1 -0
  194. package/lib/controllers/note.d.ts +123 -0
  195. package/lib/controllers/note.js +72 -0
  196. package/lib/controllers/note.js.map +1 -0
  197. package/lib/controllers/page.d.ts +59 -0
  198. package/lib/controllers/page.js +46 -0
  199. package/lib/controllers/page.js.map +1 -0
  200. package/lib/controllers/post.d.ts +72 -0
  201. package/lib/controllers/post.js +56 -0
  202. package/lib/controllers/post.js.map +1 -0
  203. package/lib/controllers/project.d.ts +15 -0
  204. package/lib/controllers/project.js +16 -0
  205. package/lib/controllers/project.js.map +1 -0
  206. package/lib/controllers/recently.d.ts +61 -0
  207. package/lib/controllers/recently.js +35 -0
  208. package/lib/controllers/recently.js.map +1 -0
  209. package/lib/controllers/say.d.ts +37 -0
  210. package/lib/controllers/say.js +25 -0
  211. package/lib/controllers/say.js.map +1 -0
  212. package/lib/controllers/search.d.ts +247 -0
  213. package/lib/controllers/search.js +32 -0
  214. package/lib/controllers/search.js.map +1 -0
  215. package/lib/controllers/severless.d.ts +24 -0
  216. package/lib/controllers/severless.js +20 -0
  217. package/lib/controllers/severless.js.map +1 -0
  218. package/lib/controllers/snippet.d.ts +24 -0
  219. package/lib/controllers/snippet.js +23 -0
  220. package/lib/controllers/snippet.js.map +1 -0
  221. package/lib/controllers/topic.d.ts +26 -0
  222. package/lib/controllers/topic.js +22 -0
  223. package/lib/controllers/topic.js.map +1 -0
  224. package/lib/controllers/user.d.ts +70 -0
  225. package/lib/controllers/user.js +44 -0
  226. package/lib/controllers/user.js.map +1 -0
  227. package/lib/core/attach-request.d.ts +2 -0
  228. package/lib/core/attach-request.js +40 -0
  229. package/lib/core/attach-request.js.map +1 -0
  230. package/lib/core/client.d.ts +29 -0
  231. package/lib/core/client.js +190 -0
  232. package/lib/core/client.js.map +1 -0
  233. package/lib/core/error.d.ts +6 -0
  234. package/lib/core/error.js +13 -0
  235. package/lib/core/error.js.map +1 -0
  236. package/lib/core/index.d.ts +2 -0
  237. package/lib/core/index.js +19 -0
  238. package/lib/core/index.js.map +1 -0
  239. package/lib/dtos/comment.d.ts +6 -0
  240. package/lib/dtos/comment.js +7 -0
  241. package/lib/dtos/comment.js.map +1 -0
  242. package/lib/index.d.ts +7 -0
  243. package/lib/index.js +28 -0
  244. package/lib/index.js.map +1 -0
  245. package/lib/interfaces/adapter.d.ts +14 -0
  246. package/lib/interfaces/adapter.js +3 -0
  247. package/lib/interfaces/adapter.js.map +1 -0
  248. package/lib/interfaces/client.d.ts +13 -0
  249. package/lib/interfaces/client.js +3 -0
  250. package/lib/interfaces/client.js.map +1 -0
  251. package/lib/interfaces/controller.d.ts +4 -0
  252. package/lib/interfaces/controller.js +3 -0
  253. package/lib/interfaces/controller.js.map +1 -0
  254. package/lib/interfaces/instance.d.ts +7 -0
  255. package/lib/interfaces/instance.js +3 -0
  256. package/lib/interfaces/instance.js.map +1 -0
  257. package/lib/interfaces/options.d.ts +1 -0
  258. package/lib/interfaces/options.js +3 -0
  259. package/lib/interfaces/options.js.map +1 -0
  260. package/lib/interfaces/params.d.ts +4 -0
  261. package/lib/interfaces/params.js +3 -0
  262. package/lib/interfaces/params.js.map +1 -0
  263. package/lib/interfaces/request.d.ts +43 -0
  264. package/lib/interfaces/request.js +3 -0
  265. package/lib/interfaces/request.js.map +1 -0
  266. package/lib/interfaces/types.d.ts +2 -0
  267. package/lib/interfaces/types.js +3 -0
  268. package/lib/interfaces/types.js.map +1 -0
  269. package/lib/models/aggregate.d.ts +53 -0
  270. package/lib/models/aggregate.js +9 -0
  271. package/lib/models/aggregate.js.map +1 -0
  272. package/lib/models/base.d.ts +41 -0
  273. package/lib/models/base.js +3 -0
  274. package/lib/models/base.js.map +1 -0
  275. package/lib/models/category.d.ts +22 -0
  276. package/lib/models/category.js +9 -0
  277. package/lib/models/category.js.map +1 -0
  278. package/lib/models/comment.d.ts +37 -0
  279. package/lib/models/comment.js +16 -0
  280. package/lib/models/comment.js.map +1 -0
  281. package/lib/models/index.d.ts +14 -0
  282. package/lib/models/index.js +31 -0
  283. package/lib/models/index.js.map +1 -0
  284. package/lib/models/link.d.ts +22 -0
  285. package/lib/models/link.js +17 -0
  286. package/lib/models/link.js.map +1 -0
  287. package/lib/models/note.d.ts +38 -0
  288. package/lib/models/note.js +3 -0
  289. package/lib/models/note.js.map +1 -0
  290. package/lib/models/page.d.ts +14 -0
  291. package/lib/models/page.js +10 -0
  292. package/lib/models/page.js.map +1 -0
  293. package/lib/models/post.d.ts +17 -0
  294. package/lib/models/post.js +3 -0
  295. package/lib/models/post.js.map +1 -0
  296. package/lib/models/project.d.ts +11 -0
  297. package/lib/models/project.js +3 -0
  298. package/lib/models/project.js.map +1 -0
  299. package/lib/models/recently.d.ts +20 -0
  300. package/lib/models/recently.js +10 -0
  301. package/lib/models/recently.js.map +1 -0
  302. package/lib/models/say.d.ts +6 -0
  303. package/lib/models/say.js +3 -0
  304. package/lib/models/say.js.map +1 -0
  305. package/lib/models/setting.d.ts +66 -0
  306. package/lib/models/setting.js +3 -0
  307. package/lib/models/setting.js.map +1 -0
  308. package/lib/models/snippet.d.ts +18 -0
  309. package/lib/models/snippet.js +11 -0
  310. package/lib/models/snippet.js.map +1 -0
  311. package/lib/models/topic.d.ts +8 -0
  312. package/lib/models/topic.js +3 -0
  313. package/lib/models/topic.js.map +1 -0
  314. package/lib/models/user.d.ts +21 -0
  315. package/lib/models/user.js +3 -0
  316. package/lib/models/user.js.map +1 -0
  317. package/lib/utils/auto-bind.d.ts +4 -0
  318. package/lib/utils/auto-bind.js +40 -0
  319. package/lib/utils/auto-bind.js.map +1 -0
  320. package/lib/utils/camelcase-keys.d.ts +6 -0
  321. package/lib/utils/camelcase-keys.js +28 -0
  322. package/lib/utils/camelcase-keys.js.map +1 -0
  323. package/lib/utils/index.d.ts +5 -0
  324. package/lib/utils/index.js +50 -0
  325. package/lib/utils/index.js.map +1 -0
  326. package/lib/utils/path.d.ts +1 -0
  327. package/lib/utils/path.js +11 -0
  328. package/lib/utils/path.js.map +1 -0
  329. package/lib/vitest.config.d.ts +2 -0
  330. package/lib/vitest.config.js +17 -0
  331. package/lib/vitest.config.js.map +1 -0
  332. package/package.json +25 -12
  333. package/types/adaptors/axios.d.ts +4 -0
  334. package/types/adaptors/ky.d.ts +23 -0
  335. package/types/adaptors/umi-request.d.ts +4 -0
  336. package/types/controllers/aggregate.d.ts +64 -0
  337. package/types/controllers/base.d.ts +43 -0
  338. package/types/controllers/category.d.ts +114 -0
  339. package/types/controllers/comment.d.ts +81 -0
  340. package/types/controllers/index.d.ts +18 -0
  341. package/types/controllers/link.d.ts +20 -0
  342. package/types/controllers/note.d.ts +123 -0
  343. package/types/controllers/page.d.ts +59 -0
  344. package/types/controllers/post.d.ts +72 -0
  345. package/types/controllers/project.d.ts +15 -0
  346. package/types/controllers/recently.d.ts +61 -0
  347. package/types/controllers/say.d.ts +37 -0
  348. package/types/controllers/search.d.ts +247 -0
  349. package/types/controllers/severless.d.ts +24 -0
  350. package/types/controllers/snippet.d.ts +24 -0
  351. package/types/controllers/topic.d.ts +26 -0
  352. package/types/controllers/user.d.ts +70 -0
  353. package/types/core/attach-request.d.ts +2 -0
  354. package/types/core/client.d.ts +29 -0
  355. package/types/core/error.d.ts +6 -0
  356. package/types/core/index.d.ts +2 -0
  357. package/types/dtos/comment.d.ts +6 -0
  358. package/types/index.d.ts +7 -0
  359. package/types/interfaces/adapter.d.ts +14 -0
  360. package/types/interfaces/client.d.ts +13 -0
  361. package/types/interfaces/controller.d.ts +4 -0
  362. package/types/interfaces/instance.d.ts +7 -0
  363. package/types/interfaces/options.d.ts +1 -0
  364. package/types/interfaces/params.d.ts +4 -0
  365. package/types/interfaces/request.d.ts +43 -0
  366. package/types/interfaces/types.d.ts +2 -0
  367. package/types/models/aggregate.d.ts +53 -0
  368. package/types/models/base.d.ts +41 -0
  369. package/types/models/category.d.ts +22 -0
  370. package/types/models/comment.d.ts +37 -0
  371. package/types/models/index.d.ts +14 -0
  372. package/types/models/link.d.ts +22 -0
  373. package/types/models/note.d.ts +38 -0
  374. package/types/models/page.d.ts +14 -0
  375. package/types/models/post.d.ts +17 -0
  376. package/types/models/project.d.ts +11 -0
  377. package/types/models/recently.d.ts +20 -0
  378. package/types/models/say.d.ts +6 -0
  379. package/types/models/setting.d.ts +66 -0
  380. package/types/models/snippet.d.ts +18 -0
  381. package/types/models/topic.d.ts +8 -0
  382. package/types/models/user.d.ts +21 -0
  383. package/types/utils/auto-bind.d.ts +4 -0
  384. package/types/utils/camelcase-keys.d.ts +6 -0
  385. package/types/utils/index.d.ts +5 -0
  386. package/types/utils/path.d.ts +1 -0
  387. package/types/vitest.config.d.ts +2 -0
  388. package/__tests__/adaptors/axios.spec.ts +0 -7
  389. package/__tests__/adaptors/ky.spec.ts +0 -9
  390. package/__tests__/adaptors/umi-request.spec.ts +0 -7
  391. package/__tests__/contronllers/aggregate.test.ts +0 -389
  392. package/__tests__/contronllers/category.test.ts +0 -284
  393. package/__tests__/contronllers/comment.test.ts +0 -113
  394. package/__tests__/contronllers/link.test.ts +0 -95
  395. package/__tests__/contronllers/note.test.ts +0 -120
  396. package/__tests__/contronllers/page.test.ts +0 -49
  397. package/__tests__/contronllers/post.test.ts +0 -77
  398. package/__tests__/contronllers/recently.test.ts +0 -49
  399. package/__tests__/contronllers/say.test.ts +0 -106
  400. package/__tests__/contronllers/search.test.ts +0 -81
  401. package/__tests__/contronllers/serverless.test.ts +0 -19
  402. package/__tests__/contronllers/snippet.test.ts +0 -38
  403. package/__tests__/contronllers/topic.test.ts +0 -17
  404. package/__tests__/contronllers/user.test.ts +0 -59
  405. package/__tests__/core/client.test.ts +0 -293
  406. package/__tests__/helpers/adaptor-test.ts +0 -108
  407. package/__tests__/helpers/e2e-mock-server.ts +0 -22
  408. package/__tests__/helpers/global-fetch.ts +0 -39
  409. package/__tests__/helpers/instance.ts +0 -11
  410. package/__tests__/helpers/response.ts +0 -76
  411. package/__tests__/mock/algolia.json +0 -446
  412. package/__tests__/utils/auto-bind.spec.ts +0 -27
  413. package/__tests__/utils/camelcase-keys.spec.ts +0 -86
  414. package/__tests__/utils/index.test.ts +0 -33
  415. package/__tests__/utils/path.spec.ts +0 -8
  416. package/adaptors/axios.ts +0 -44
  417. package/adaptors/ky.ts +0 -76
  418. package/adaptors/umi-request.ts +0 -38
  419. package/core/attach-request.ts +0 -43
  420. package/core/client.ts +0 -252
  421. package/core/error.ts +0 -10
  422. package/core/index.ts +0 -2
  423. package/coverage/lcov-report/__tests__/helpers/adaptor-test.ts.html +0 -405
  424. package/coverage/lcov-report/__tests__/helpers/e2e-mock-server.ts.html +0 -150
  425. package/coverage/lcov-report/__tests__/helpers/index.html +0 -236
  426. package/coverage/lcov-report/__tests__/helpers/instance.ts.html +0 -120
  427. package/coverage/lcov-report/__tests__/helpers/response.ts.html +0 -231
  428. package/rollup.config.js +0 -150
  429. package/utils/auto-bind.ts +0 -48
  430. package/utils/camelcase-keys.ts +0 -26
  431. package/utils/index.ts +0 -53
  432. package/utils/path.ts +0 -6
@@ -0,0 +1,43 @@
1
+ import { IRequestHandler, RequestProxyResult } from '../interfaces/request';
2
+ import { PaginateResult } from '../models/base';
3
+ import { HTTPClient } from '../core';
4
+ export type SortOptions = {
5
+ sortBy?: string;
6
+ sortOrder?: 1 | -1 | 'asc' | 'desc';
7
+ };
8
+ export declare abstract class BaseCrudController<T, ResponseWrapper> {
9
+ protected client: HTTPClient;
10
+ base: string;
11
+ constructor(client: HTTPClient);
12
+ get proxy(): IRequestHandler<ResponseWrapper>;
13
+ getById(id: string): RequestProxyResult<T, ResponseWrapper>;
14
+ getAll(): RequestProxyResult<{
15
+ data: T[];
16
+ }, ResponseWrapper, ResponseWrapper extends unknown ? {
17
+ [key: string]: any;
18
+ data: {
19
+ data: T[];
20
+ };
21
+ } : ResponseWrapper extends {
22
+ data: {
23
+ data: T[];
24
+ };
25
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
26
+ data: {
27
+ data: T[];
28
+ };
29
+ }>;
30
+ /**
31
+ * 带分页的查询
32
+ * @param page
33
+ * @param perPage
34
+ */
35
+ getAllPaginated(page?: number, perPage?: number, sortOption?: SortOptions): RequestProxyResult<PaginateResult<T>, ResponseWrapper, ResponseWrapper extends unknown ? {
36
+ [key: string]: any;
37
+ data: PaginateResult<T>;
38
+ } : ResponseWrapper extends {
39
+ data: PaginateResult<T>;
40
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
41
+ data: PaginateResult<T>;
42
+ }>;
43
+ }
@@ -0,0 +1,114 @@
1
+ import { IRequestAdapter } from '../interfaces/adapter';
2
+ import { IController } from '../interfaces/controller';
3
+ import { IRequestHandler, RequestProxyResult, ResponseProxyExtraRaw } from '../interfaces/request';
4
+ import { HTTPClient } from '../core/client';
5
+ import { CategoryModel, CategoryType, CategoryWithChildrenModel, TagModel } from '../models/category';
6
+ import { PostModel } from '../models/post';
7
+ declare module '../core/client' {
8
+ interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
9
+ category: CategoryController<ResponseWrapper>;
10
+ }
11
+ }
12
+ export declare class CategoryController<ResponseWrapper> implements IController {
13
+ private client;
14
+ name: string;
15
+ base: string;
16
+ constructor(client: HTTPClient);
17
+ get proxy(): IRequestHandler<ResponseWrapper>;
18
+ getAllCategories(): RequestProxyResult<{
19
+ data: CategoryModel[];
20
+ }, ResponseWrapper>;
21
+ getAllTags(): RequestProxyResult<{
22
+ data: TagModel[];
23
+ }, ResponseWrapper>;
24
+ getCategoryDetail(id: string): Promise<ResponseProxyExtraRaw<CategoryWithChildrenModel>>;
25
+ getCategoryDetail(ids: string[]): Promise<ResponseProxyExtraRaw<Map<string, CategoryWithChildrenModel>>>;
26
+ getCategoryByIdOrSlug(idOrSlug: string): Promise<CategoryModel & {
27
+ children: Pick<PostModel, "id" | "created" | "modified" | "title" | "slug">[];
28
+ } & {
29
+ $raw: ResponseWrapper extends {
30
+ data: infer T;
31
+ } ? ResponseWrapper : ResponseWrapper extends unknown ? {
32
+ [i: string]: any;
33
+ data: (ResponseWrapper extends unknown ? {
34
+ [key: string]: any;
35
+ data: CategoryWithChildrenModel;
36
+ } : ResponseWrapper extends {
37
+ data: CategoryWithChildrenModel;
38
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
39
+ data: CategoryWithChildrenModel;
40
+ }) extends infer T_1 ? T_1 extends (ResponseWrapper extends unknown ? {
41
+ [key: string]: any;
42
+ data: CategoryWithChildrenModel;
43
+ } : ResponseWrapper extends {
44
+ data: CategoryWithChildrenModel;
45
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
46
+ data: CategoryWithChildrenModel;
47
+ }) ? T_1 extends unknown ? {
48
+ type: CategoryType;
49
+ count: number;
50
+ slug: string;
51
+ name: string;
52
+ created: string;
53
+ id: string;
54
+ children: Pick<PostModel, "id" | "created" | "modified" | "title" | "slug">[];
55
+ } : T_1 : never : never;
56
+ } : ResponseWrapper;
57
+ $request: {
58
+ [k: string]: string;
59
+ path: string;
60
+ method: string;
61
+ };
62
+ }>;
63
+ getTagByName(name: string): Promise<{
64
+ tag: string;
65
+ data: Pick<PostModel, 'id' | 'title' | 'slug' | 'category' | 'created'>[];
66
+ } & {
67
+ $raw: ResponseWrapper extends {
68
+ data: infer T;
69
+ } ? ResponseWrapper : ResponseWrapper extends unknown ? {
70
+ [i: string]: any;
71
+ data: (ResponseWrapper extends unknown ? {
72
+ [key: string]: any;
73
+ data: {
74
+ tag: string;
75
+ data: Pick<PostModel, 'id' | 'title' | 'slug' | 'category' | 'created'>[];
76
+ };
77
+ } : ResponseWrapper extends {
78
+ data: {
79
+ tag: string;
80
+ data: Pick<PostModel, 'id' | 'title' | 'slug' | 'category' | 'created'>[];
81
+ };
82
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
83
+ data: {
84
+ tag: string;
85
+ data: Pick<PostModel, 'id' | 'title' | 'slug' | 'category' | 'created'>[];
86
+ };
87
+ }) extends infer T_1 ? T_1 extends (ResponseWrapper extends unknown ? {
88
+ [key: string]: any;
89
+ data: {
90
+ tag: string;
91
+ data: Pick<PostModel, 'id' | 'title' | 'slug' | 'category' | 'created'>[];
92
+ };
93
+ } : ResponseWrapper extends {
94
+ data: {
95
+ tag: string;
96
+ data: Pick<PostModel, 'id' | 'title' | 'slug' | 'category' | 'created'>[];
97
+ };
98
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
99
+ data: {
100
+ tag: string;
101
+ data: Pick<PostModel, 'id' | 'title' | 'slug' | 'category' | 'created'>[];
102
+ };
103
+ }) ? T_1 extends unknown ? {
104
+ tag: string;
105
+ data: Pick<PostModel, "id" | "category" | "created" | "title" | "slug">[];
106
+ } : T_1 : never : never;
107
+ } : ResponseWrapper;
108
+ $request: {
109
+ [k: string]: string;
110
+ path: string;
111
+ method: string;
112
+ };
113
+ }>;
114
+ }
@@ -0,0 +1,81 @@
1
+ import { IRequestAdapter } from '../interfaces/adapter';
2
+ import { IController } from '../interfaces/controller';
3
+ import { PaginationParams } from '../interfaces/params';
4
+ import { IRequestHandler } from '../interfaces/request';
5
+ import { PaginateResult } from '../models/base';
6
+ import { CommentModel } from '../models/comment';
7
+ import { HTTPClient } from '../core';
8
+ import { CommentDto } from '../dtos/comment';
9
+ declare module '../core/client' {
10
+ interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
11
+ comment: CommentController<ResponseWrapper>;
12
+ }
13
+ }
14
+ export declare class CommentController<ResponseWrapper> implements IController {
15
+ private readonly client;
16
+ base: string;
17
+ name: string;
18
+ constructor(client: HTTPClient);
19
+ get proxy(): IRequestHandler<ResponseWrapper>;
20
+ /**
21
+ * 根据 comment id 获取评论, 包括子评论
22
+ */
23
+ getById(id: string): import("../interfaces/request").RequestProxyResult<CommentModel & {
24
+ ref: string;
25
+ }, ResponseWrapper, ResponseWrapper extends unknown ? {
26
+ [key: string]: any;
27
+ data: CommentModel & {
28
+ ref: string;
29
+ };
30
+ } : ResponseWrapper extends {
31
+ data: CommentModel & {
32
+ ref: string;
33
+ };
34
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
35
+ data: CommentModel & {
36
+ ref: string;
37
+ };
38
+ }>;
39
+ /**
40
+ * 获取文章的评论列表
41
+ * @param refId 文章 Id
42
+ */
43
+ getByRefId(refId: string, pagination?: PaginationParams): import("../interfaces/request").RequestProxyResult<PaginateResult<CommentModel & {
44
+ ref: string;
45
+ }>, ResponseWrapper, ResponseWrapper extends unknown ? {
46
+ [key: string]: any;
47
+ data: PaginateResult<CommentModel & {
48
+ ref: string;
49
+ }>;
50
+ } : ResponseWrapper extends {
51
+ data: PaginateResult<CommentModel & {
52
+ ref: string;
53
+ }>;
54
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
55
+ data: PaginateResult<CommentModel & {
56
+ ref: string;
57
+ }>;
58
+ }>;
59
+ /**
60
+ * 评论
61
+ */
62
+ comment(refId: string, data: CommentDto): import("../interfaces/request").RequestProxyResult<CommentModel, ResponseWrapper, ResponseWrapper extends unknown ? {
63
+ [key: string]: any;
64
+ data: CommentModel;
65
+ } : ResponseWrapper extends {
66
+ data: CommentModel;
67
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
68
+ data: CommentModel;
69
+ }>;
70
+ /**
71
+ * 回复评论
72
+ */
73
+ reply(commentId: string, data: CommentDto): import("../interfaces/request").RequestProxyResult<CommentModel, ResponseWrapper, ResponseWrapper extends unknown ? {
74
+ [key: string]: any;
75
+ data: CommentModel;
76
+ } : ResponseWrapper extends {
77
+ data: CommentModel;
78
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
79
+ data: CommentModel;
80
+ }>;
81
+ }
@@ -0,0 +1,18 @@
1
+ import { AggregateController } from './aggregate';
2
+ import { CategoryController } from './category';
3
+ import { CommentController } from './comment';
4
+ import { LinkController } from './link';
5
+ import { NoteController } from './note';
6
+ import { PageController } from './page';
7
+ import { PostController } from './post';
8
+ import { ProjectController } from './project';
9
+ import { RecentlyController } from './recently';
10
+ import { SayController } from './say';
11
+ import { SearchController } from './search';
12
+ import { ServerlessController } from './severless';
13
+ import { SnippetController } from './snippet';
14
+ import { TopicController } from './topic';
15
+ import { UserController } from './user';
16
+ export 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)[];
17
+ export declare const allContollerNames: readonly ["aggregate", "category", "comment", "link", "note", "page", "post", "project", "topic", "recently", "say", "search", "snippet", "serverless", "user", "friend", "master", "shorthand"];
18
+ export { AggregateController, CategoryController, CommentController, LinkController, NoteController, PageController, PostController, ProjectController, RecentlyController, SayController, SearchController, SnippetController, ServerlessController, UserController, TopicController, };
@@ -0,0 +1,20 @@
1
+ import { IRequestAdapter } from '../interfaces/adapter';
2
+ import { LinkModel } from '../models/link';
3
+ import { HTTPClient } from '../core';
4
+ import { BaseCrudController } from './base';
5
+ declare module '../core/client' {
6
+ interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
7
+ link: LinkController<ResponseWrapper>;
8
+ friend: LinkController<ResponseWrapper>;
9
+ }
10
+ }
11
+ export declare class LinkController<ResponseWrapper> extends BaseCrudController<LinkModel, ResponseWrapper> {
12
+ protected readonly client: HTTPClient;
13
+ constructor(client: HTTPClient);
14
+ canApplyLink(): Promise<boolean>;
15
+ applyLink(data: Pick<LinkModel, 'avatar' | 'name' | 'description' | 'url' | 'email'> & {
16
+ author: string;
17
+ }): Promise<never>;
18
+ name: string[];
19
+ base: string;
20
+ }
@@ -0,0 +1,123 @@
1
+ import { IRequestAdapter } from '../interfaces/adapter';
2
+ import { IController } from '../interfaces/controller';
3
+ import { IRequestHandler, RequestProxyResult } from '../interfaces/request';
4
+ import { SelectFields } from '../interfaces/types';
5
+ import { PaginateResult } from '../models/base';
6
+ import { NoteModel, NoteWrappedPayload, NoteWrappedWithLikedPayload } from '../models/note';
7
+ import { HTTPClient } from '../core/client';
8
+ import { SortOptions } from './base';
9
+ declare module '../core/client' {
10
+ interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
11
+ note: NoteController<ResponseWrapper>;
12
+ }
13
+ }
14
+ export type NoteListOptions = {
15
+ select?: SelectFields<keyof NoteModel>;
16
+ year?: number;
17
+ sortBy?: 'weather' | 'mood' | 'title' | 'created' | 'modified';
18
+ sortOrder?: 1 | -1;
19
+ };
20
+ export declare class NoteController<ResponseWrapper> implements IController {
21
+ private client;
22
+ base: string;
23
+ name: string;
24
+ constructor(client: HTTPClient);
25
+ get proxy(): IRequestHandler<ResponseWrapper>;
26
+ /**
27
+ * 最新日记
28
+ */
29
+ getLatest(): RequestProxyResult<NoteWrappedWithLikedPayload, ResponseWrapper, ResponseWrapper extends unknown ? {
30
+ [key: string]: any;
31
+ data: NoteWrappedWithLikedPayload;
32
+ } : ResponseWrapper extends {
33
+ data: NoteWrappedWithLikedPayload; /**
34
+ * 获取一篇日记,根据 Id 查询需要鉴权
35
+ * @param id id | nid
36
+ * @param password 访问密码
37
+ */
38
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
39
+ data: NoteWrappedWithLikedPayload;
40
+ }>;
41
+ /**
42
+ * 获取一篇日记,根据 Id 查询需要鉴权
43
+ * @param id id | nid
44
+ * @param password 访问密码
45
+ */
46
+ getNoteById(id: string): Promise<RequestProxyResult<NoteModel, ResponseWrapper>>;
47
+ getNoteById(id: number): Promise<NoteWrappedPayload>;
48
+ getNoteById(id: number, password: string): Promise<NoteWrappedPayload>;
49
+ getNoteById(id: number, password: undefined, singleResult: true): Promise<RequestProxyResult<NoteModel, ResponseWrapper>>;
50
+ getNoteById(id: number, password: string, singleResult: true): Promise<RequestProxyResult<NoteModel, ResponseWrapper>>;
51
+ /**
52
+ * 日记列表分页
53
+ */
54
+ getList(page?: number, perPage?: number, options?: NoteListOptions): RequestProxyResult<PaginateResult<NoteModel>, ResponseWrapper, ResponseWrapper extends unknown ? {
55
+ [key: string]: any;
56
+ data: PaginateResult<NoteModel>;
57
+ } : ResponseWrapper extends {
58
+ data: PaginateResult<NoteModel>; /**
59
+ * 获取一篇日记,根据 Id 查询需要鉴权
60
+ * @param id id | nid
61
+ * @param password 访问密码
62
+ */
63
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
64
+ data: PaginateResult<NoteModel>;
65
+ }>;
66
+ /**
67
+ * 获取当前日记的上下各 n / 2 篇日记
68
+ */
69
+ getMiddleList(id: string, size?: number): RequestProxyResult<{
70
+ data: Pick<NoteModel, 'id' | 'title' | 'nid' | 'created'>[];
71
+ size: number;
72
+ }, ResponseWrapper, ResponseWrapper extends unknown ? {
73
+ [key: string]: any;
74
+ data: {
75
+ data: Pick<NoteModel, 'id' | 'title' | 'nid' | 'created'>[];
76
+ size: number;
77
+ };
78
+ } : ResponseWrapper extends {
79
+ data: {
80
+ data: Pick<NoteModel, 'id' | 'title' | 'nid' | 'created'>[];
81
+ size: number;
82
+ }; /**
83
+ * 获取一篇日记,根据 Id 查询需要鉴权
84
+ * @param id id | nid
85
+ * @param password 访问密码
86
+ */
87
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
88
+ data: {
89
+ data: Pick<NoteModel, 'id' | 'title' | 'nid' | 'created'>[];
90
+ size: number;
91
+ };
92
+ }>;
93
+ /**
94
+ * 喜欢这篇日记
95
+ */
96
+ likeIt(id: string | number): RequestProxyResult<never, ResponseWrapper, ResponseWrapper extends unknown ? {
97
+ [key: string]: any;
98
+ data: never;
99
+ } : ResponseWrapper extends {
100
+ data: never; /**
101
+ * 获取一篇日记,根据 Id 查询需要鉴权
102
+ * @param id id | nid
103
+ * @param password 访问密码
104
+ */
105
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
106
+ data: never;
107
+ }>;
108
+ /**
109
+ * 获取专栏内的所有日记
110
+ */
111
+ getNoteByTopicId(topicId: string, page?: number, size?: number, sortOptions?: SortOptions): RequestProxyResult<PaginateResult<NoteModel>, ResponseWrapper, ResponseWrapper extends unknown ? {
112
+ [key: string]: any;
113
+ data: PaginateResult<NoteModel>;
114
+ } : ResponseWrapper extends {
115
+ data: PaginateResult<NoteModel>; /**
116
+ * 获取一篇日记,根据 Id 查询需要鉴权
117
+ * @param id id | nid
118
+ * @param password 访问密码
119
+ */
120
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
121
+ data: PaginateResult<NoteModel>;
122
+ }>;
123
+ }
@@ -0,0 +1,59 @@
1
+ import { IRequestAdapter } from '../interfaces/adapter';
2
+ import { IController } from '../interfaces/controller';
3
+ import { IRequestHandler } from '../interfaces/request';
4
+ import { SelectFields } from '../interfaces/types';
5
+ import { PaginateResult } from '../models/base';
6
+ import { PageModel } from '../models/page';
7
+ import { HTTPClient } from '../core';
8
+ declare module '../core/client' {
9
+ interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
10
+ page: PageController<ResponseWrapper>;
11
+ }
12
+ }
13
+ export type PageListOptions = {
14
+ select?: SelectFields<keyof PageModel>;
15
+ sortBy?: 'order' | 'subtitle' | 'title' | 'created' | 'modified';
16
+ sortOrder?: 1 | -1;
17
+ };
18
+ export declare class PageController<ResponseWrapper> implements IController {
19
+ private readonly client;
20
+ constructor(client: HTTPClient);
21
+ base: string;
22
+ name: string;
23
+ get proxy(): IRequestHandler<ResponseWrapper>;
24
+ /**
25
+ * 页面列表
26
+ */
27
+ getList(page?: number, perPage?: number, options?: PageListOptions): import("../interfaces/request").RequestProxyResult<PaginateResult<PageModel>, ResponseWrapper, ResponseWrapper extends unknown ? {
28
+ [key: string]: any;
29
+ data: PaginateResult<PageModel>;
30
+ } : ResponseWrapper extends {
31
+ data: PaginateResult<PageModel>;
32
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
33
+ data: PaginateResult<PageModel>;
34
+ }>;
35
+ /**
36
+ * 页面详情
37
+ */
38
+ getById(id: string): import("../interfaces/request").RequestProxyResult<PageModel, ResponseWrapper, ResponseWrapper extends unknown ? {
39
+ [key: string]: any;
40
+ data: PageModel;
41
+ } : ResponseWrapper extends {
42
+ data: PageModel;
43
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
44
+ data: PageModel;
45
+ }>;
46
+ /**
47
+ * 根据路径获取页面
48
+ * @param slug 路径
49
+ * @returns
50
+ */
51
+ getBySlug(slug: string): import("../interfaces/request").RequestProxyResult<PageModel, ResponseWrapper, ResponseWrapper extends unknown ? {
52
+ [key: string]: any;
53
+ data: PageModel;
54
+ } : ResponseWrapper extends {
55
+ data: PageModel;
56
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
57
+ data: PageModel;
58
+ }>;
59
+ }
@@ -0,0 +1,72 @@
1
+ import { IRequestAdapter } from '../interfaces/adapter';
2
+ import { IController } from '../interfaces/controller';
3
+ import { IRequestHandler, RequestProxyResult } from '../interfaces/request';
4
+ import { SelectFields } from '../interfaces/types';
5
+ import { ModelWithLiked, PaginateResult } from '../models/base';
6
+ import { PostModel } from '../models/post';
7
+ import { HTTPClient } from '../core/client';
8
+ declare module '../core/client' {
9
+ interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
10
+ post: PostController<ResponseWrapper>;
11
+ }
12
+ }
13
+ export type PostListOptions = {
14
+ select?: SelectFields<keyof PostModel>;
15
+ year?: number;
16
+ sortBy?: 'categoryId' | 'title' | 'created' | 'modified';
17
+ sortOrder?: 1 | -1;
18
+ };
19
+ export declare class PostController<ResponseWrapper> implements IController {
20
+ private client;
21
+ constructor(client: HTTPClient);
22
+ base: string;
23
+ name: string;
24
+ get proxy(): IRequestHandler<ResponseWrapper>;
25
+ /**
26
+ * 获取文章列表分页
27
+ * @param page
28
+ * @param perPage
29
+ * @returns
30
+ */
31
+ getList(page?: number, perPage?: number, options?: PostListOptions): RequestProxyResult<PaginateResult<PostModel>, ResponseWrapper, ResponseWrapper extends unknown ? {
32
+ [key: string]: any;
33
+ data: PaginateResult<PostModel>;
34
+ } : ResponseWrapper extends {
35
+ data: PaginateResult<PostModel>;
36
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
37
+ data: PaginateResult<PostModel>;
38
+ }>;
39
+ /**
40
+ * 根据分类和路径查找文章
41
+ * @param categoryName
42
+ * @param slug
43
+ */
44
+ getPost(categoryName: string, slug: string): RequestProxyResult<ModelWithLiked<PostModel>, ResponseWrapper>;
45
+ /**
46
+ * 根据 ID 查找文章
47
+ * @param id
48
+ */
49
+ getPost(id: string): RequestProxyResult<PostModel, ResponseWrapper>;
50
+ /**
51
+ * 获取最新的文章
52
+ */
53
+ getLatest(): RequestProxyResult<ModelWithLiked<PostModel>, ResponseWrapper, ResponseWrapper extends unknown ? {
54
+ [key: string]: any;
55
+ data: ModelWithLiked<PostModel>;
56
+ } : ResponseWrapper extends {
57
+ data: ModelWithLiked<PostModel>;
58
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
59
+ data: ModelWithLiked<PostModel>;
60
+ }>;
61
+ /**
62
+ * 点赞
63
+ */
64
+ thumbsUp(id: string): RequestProxyResult<void, ResponseWrapper, ResponseWrapper extends unknown ? {
65
+ [key: string]: any;
66
+ data: void;
67
+ } : ResponseWrapper extends {
68
+ data: void;
69
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
70
+ data: void;
71
+ }>;
72
+ }
@@ -0,0 +1,15 @@
1
+ import { IRequestAdapter } from '../interfaces/adapter';
2
+ import { ProjectModel } from '../models/project';
3
+ import { HTTPClient } from '../core';
4
+ import { BaseCrudController } from './base';
5
+ declare module '../core/client' {
6
+ interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
7
+ project: ProjectController<ResponseWrapper>;
8
+ }
9
+ }
10
+ export declare class ProjectController<ResponseWrapper> extends BaseCrudController<ProjectModel, ResponseWrapper> {
11
+ protected readonly client: HTTPClient;
12
+ constructor(client: HTTPClient);
13
+ base: string;
14
+ name: string;
15
+ }
@@ -0,0 +1,61 @@
1
+ import { IRequestAdapter } from '../interfaces/adapter';
2
+ import { IController } from '../interfaces/controller';
3
+ import { IRequestHandler } from '../interfaces/request';
4
+ import { RecentlyModel } from '../models/recently';
5
+ import { HTTPClient } from '../core';
6
+ declare module '../core/client' {
7
+ interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
8
+ recently: RecentlyController<ResponseWrapper>;
9
+ shorthand: RecentlyController<ResponseWrapper>;
10
+ }
11
+ }
12
+ export declare class RecentlyController<ResponseWrapper> implements IController {
13
+ private readonly client;
14
+ base: string;
15
+ name: string[];
16
+ constructor(client: HTTPClient);
17
+ get proxy(): IRequestHandler<ResponseWrapper>;
18
+ /**
19
+ * 获取最新一条
20
+ */
21
+ getLatestOne(): import("../interfaces/request").RequestProxyResult<RecentlyModel, ResponseWrapper, ResponseWrapper extends unknown ? {
22
+ [key: string]: any;
23
+ data: RecentlyModel;
24
+ } : ResponseWrapper extends {
25
+ data: RecentlyModel;
26
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
27
+ data: RecentlyModel;
28
+ }>;
29
+ getAll(): import("../interfaces/request").RequestProxyResult<{
30
+ data: RecentlyModel[];
31
+ }, ResponseWrapper, ResponseWrapper extends unknown ? {
32
+ [key: string]: any;
33
+ data: {
34
+ data: RecentlyModel[];
35
+ };
36
+ } : ResponseWrapper extends {
37
+ data: {
38
+ data: RecentlyModel[];
39
+ };
40
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
41
+ data: {
42
+ data: RecentlyModel[];
43
+ };
44
+ }>;
45
+ getList(before?: string | undefined, after?: string | undefined, size?: number | number): import("../interfaces/request").RequestProxyResult<{
46
+ data: RecentlyModel[];
47
+ }, ResponseWrapper, ResponseWrapper extends unknown ? {
48
+ [key: string]: any;
49
+ data: {
50
+ data: RecentlyModel[];
51
+ };
52
+ } : ResponseWrapper extends {
53
+ data: {
54
+ data: RecentlyModel[];
55
+ };
56
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
57
+ data: {
58
+ data: RecentlyModel[];
59
+ };
60
+ }>;
61
+ }
@@ -0,0 +1,37 @@
1
+ import { IRequestAdapter } from '../interfaces/adapter';
2
+ import { IController } from '../interfaces/controller';
3
+ import { IRequestHandler } from '../interfaces/request';
4
+ import { SayModel } from '../models/say';
5
+ import { HTTPClient } from '../core';
6
+ import { BaseCrudController } from './base';
7
+ declare module '../core/client' {
8
+ interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
9
+ say: SayController<ResponseWrapper>;
10
+ }
11
+ }
12
+ export declare class SayController<ResponseWrapper> extends BaseCrudController<SayModel, ResponseWrapper> implements IController {
13
+ protected client: HTTPClient;
14
+ base: string;
15
+ name: string;
16
+ constructor(client: HTTPClient);
17
+ get proxy(): IRequestHandler<ResponseWrapper>;
18
+ /**
19
+ * 获取随机一条
20
+ */
21
+ getRandom(): import("../interfaces/request").RequestProxyResult<{
22
+ data: SayModel | null;
23
+ }, ResponseWrapper, ResponseWrapper extends unknown ? {
24
+ [key: string]: any;
25
+ data: {
26
+ data: SayModel | null;
27
+ };
28
+ } : ResponseWrapper extends {
29
+ data: {
30
+ data: SayModel | null;
31
+ };
32
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
33
+ data: {
34
+ data: SayModel | null;
35
+ };
36
+ }>;
37
+ }