@mx-space/api-client 0.0.4 → 0.3.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 (250) hide show
  1. package/build/index.cjs.js +526 -33
  2. package/build/index.cjs.js.map +1 -1
  3. package/build/index.cjs.min.js +1 -1
  4. package/build/index.cjs.min.js.map +1 -1
  5. package/build/index.d.ts +542 -34
  6. package/build/index.esm.js +523 -30
  7. package/build/index.esm.js.map +1 -1
  8. package/build/index.esm.min.js +1 -1
  9. package/build/index.esm.min.js.map +1 -1
  10. package/build/index.umd.js +526 -33
  11. package/build/index.umd.js.map +1 -1
  12. package/build/index.umd.min.js +1 -1
  13. package/build/index.umd.min.js.map +1 -1
  14. package/esm/core/attachRequest.js +29 -6
  15. package/esm/core/attachRequest.js.map +1 -1
  16. package/esm/core/client.d.ts +12 -15
  17. package/esm/core/client.js +21 -8
  18. package/esm/core/client.js.map +1 -1
  19. package/esm/core/controllers/aggregate.d.ts +44 -0
  20. package/esm/core/controllers/aggregate.js +40 -0
  21. package/esm/core/controllers/aggregate.js.map +1 -0
  22. package/esm/core/controllers/all.d.ts +14 -0
  23. package/esm/core/controllers/all.js +39 -0
  24. package/esm/core/controllers/all.js.map +1 -0
  25. package/esm/core/controllers/base.d.ts +29 -0
  26. package/esm/core/controllers/base.js +25 -0
  27. package/esm/core/controllers/base.js.map +1 -0
  28. package/esm/core/controllers/category.d.ts +44 -0
  29. package/esm/core/controllers/category.js +66 -0
  30. package/esm/core/controllers/category.js.map +1 -0
  31. package/esm/core/controllers/comment.d.ts +42 -0
  32. package/esm/core/controllers/comment.js +43 -0
  33. package/esm/core/controllers/comment.js.map +1 -0
  34. package/esm/core/controllers/index.d.ts +1 -0
  35. package/esm/core/controllers/index.js +2 -0
  36. package/esm/core/controllers/index.js.map +1 -0
  37. package/esm/core/controllers/link.d.ts +9 -0
  38. package/esm/core/controllers/link.js +10 -0
  39. package/esm/core/controllers/link.js.map +1 -0
  40. package/esm/core/controllers/note.d.ts +54 -0
  41. package/esm/core/controllers/note.js +54 -0
  42. package/esm/core/controllers/note.js.map +1 -0
  43. package/esm/core/controllers/page.d.ts +34 -0
  44. package/esm/core/controllers/page.js +33 -0
  45. package/esm/core/controllers/page.js.map +1 -0
  46. package/esm/core/controllers/post.d.ts +47 -0
  47. package/esm/core/controllers/post.js +42 -0
  48. package/esm/core/controllers/post.js.map +1 -0
  49. package/esm/core/controllers/recently.d.ts +33 -0
  50. package/esm/core/controllers/recently.js +32 -0
  51. package/esm/core/controllers/recently.js.map +1 -0
  52. package/esm/core/controllers/say.d.ts +22 -0
  53. package/esm/core/controllers/say.js +19 -0
  54. package/esm/core/controllers/say.js.map +1 -0
  55. package/esm/core/controllers/search.d.ts +58 -0
  56. package/esm/core/controllers/search.js +26 -0
  57. package/esm/core/controllers/search.js.map +1 -0
  58. package/esm/core/controllers/user.d.ts +28 -0
  59. package/esm/core/controllers/user.js +29 -0
  60. package/esm/core/controllers/user.js.map +1 -0
  61. package/esm/core/define.d.ts +17 -0
  62. package/esm/core/define.js +12 -0
  63. package/esm/core/define.js.map +1 -0
  64. package/esm/core/dtos/comment.d.ts +6 -0
  65. package/esm/core/dtos/comment.js +3 -0
  66. package/esm/core/dtos/comment.js.map +1 -0
  67. package/esm/core/index.d.ts +1 -1
  68. package/esm/core/index.js +1 -1
  69. package/esm/core/index.js.map +1 -1
  70. package/esm/index.d.ts +1 -1
  71. package/esm/index.js +1 -1
  72. package/esm/index.js.map +1 -1
  73. package/esm/interfaces/{client.d.ts → controller.d.ts} +1 -1
  74. package/esm/interfaces/controller.js +2 -0
  75. package/esm/interfaces/controller.js.map +1 -0
  76. package/esm/interfaces/instance.d.ts +3 -2
  77. package/esm/interfaces/options.d.ts +1 -0
  78. package/esm/interfaces/options.js +2 -0
  79. package/esm/interfaces/options.js.map +1 -0
  80. package/esm/interfaces/params.d.ts +4 -0
  81. package/esm/interfaces/params.js +2 -0
  82. package/esm/interfaces/params.js.map +1 -0
  83. package/esm/interfaces/request.d.ts +19 -9
  84. package/esm/models/aggregate.d.ts +47 -0
  85. package/esm/models/aggregate.js +6 -0
  86. package/esm/models/aggregate.js.map +1 -0
  87. package/esm/models/base.d.ts +1 -1
  88. package/esm/models/category.d.ts +24 -0
  89. package/esm/models/category.js +6 -0
  90. package/esm/models/category.js.map +1 -0
  91. package/esm/models/comment.d.ts +28 -0
  92. package/esm/models/comment.js +7 -0
  93. package/esm/models/comment.js.map +1 -0
  94. package/esm/models/link.d.ts +17 -0
  95. package/esm/models/link.js +11 -0
  96. package/esm/models/link.js.map +1 -0
  97. package/esm/models/note.d.ts +34 -0
  98. package/esm/models/note.js +2 -0
  99. package/esm/models/note.js.map +1 -0
  100. package/esm/models/page.d.ts +24 -0
  101. package/esm/models/page.js +7 -0
  102. package/esm/models/page.js.map +1 -0
  103. package/esm/models/post.d.ts +2 -7
  104. package/esm/models/recently.d.ts +5 -0
  105. package/esm/models/recently.js +2 -0
  106. package/esm/models/recently.js.map +1 -0
  107. package/esm/models/say.d.ts +6 -0
  108. package/esm/models/say.js +2 -0
  109. package/esm/models/say.js.map +1 -0
  110. package/esm/models/setting.d.ts +66 -0
  111. package/esm/models/setting.js +2 -0
  112. package/esm/models/setting.js.map +1 -0
  113. package/esm/models/user.d.ts +29 -0
  114. package/esm/models/user.js +2 -0
  115. package/esm/models/user.js.map +1 -0
  116. package/esm/utils/index.d.ts +4 -0
  117. package/esm/utils/index.js +38 -0
  118. package/esm/utils/index.js.map +1 -1
  119. package/lib/core/attachRequest.js +29 -6
  120. package/lib/core/attachRequest.js.map +1 -1
  121. package/lib/core/client.d.ts +12 -15
  122. package/lib/core/client.js +21 -8
  123. package/lib/core/client.js.map +1 -1
  124. package/lib/core/controllers/aggregate.d.ts +44 -0
  125. package/lib/core/controllers/aggregate.js +44 -0
  126. package/lib/core/controllers/aggregate.js.map +1 -0
  127. package/lib/core/controllers/all.d.ts +14 -0
  128. package/lib/core/controllers/all.js +52 -0
  129. package/lib/core/controllers/all.js.map +1 -0
  130. package/lib/core/controllers/base.d.ts +29 -0
  131. package/lib/core/controllers/base.js +29 -0
  132. package/lib/core/controllers/base.js.map +1 -0
  133. package/lib/core/controllers/category.d.ts +44 -0
  134. package/lib/core/controllers/category.js +70 -0
  135. package/lib/core/controllers/category.js.map +1 -0
  136. package/lib/core/controllers/comment.d.ts +42 -0
  137. package/lib/core/controllers/comment.js +47 -0
  138. package/lib/core/controllers/comment.js.map +1 -0
  139. package/lib/core/controllers/index.d.ts +1 -0
  140. package/lib/core/{clients → controllers}/index.js +0 -3
  141. package/lib/core/controllers/index.js.map +1 -0
  142. package/lib/core/controllers/link.d.ts +9 -0
  143. package/lib/core/controllers/link.js +14 -0
  144. package/lib/core/controllers/link.js.map +1 -0
  145. package/lib/core/controllers/note.d.ts +54 -0
  146. package/lib/core/controllers/note.js +58 -0
  147. package/lib/core/controllers/note.js.map +1 -0
  148. package/lib/core/controllers/page.d.ts +34 -0
  149. package/lib/core/controllers/page.js +37 -0
  150. package/lib/core/controllers/page.js.map +1 -0
  151. package/lib/core/controllers/post.d.ts +47 -0
  152. package/lib/core/controllers/post.js +46 -0
  153. package/lib/core/controllers/post.js.map +1 -0
  154. package/lib/core/controllers/recently.d.ts +33 -0
  155. package/lib/core/controllers/recently.js +36 -0
  156. package/lib/core/controllers/recently.js.map +1 -0
  157. package/lib/core/controllers/say.d.ts +22 -0
  158. package/lib/core/controllers/say.js +23 -0
  159. package/lib/core/controllers/say.js.map +1 -0
  160. package/lib/core/controllers/search.d.ts +58 -0
  161. package/lib/core/controllers/search.js +30 -0
  162. package/lib/core/controllers/search.js.map +1 -0
  163. package/lib/core/controllers/user.d.ts +28 -0
  164. package/lib/core/controllers/user.js +33 -0
  165. package/lib/core/controllers/user.js.map +1 -0
  166. package/lib/core/define.d.ts +17 -0
  167. package/lib/core/define.js +16 -0
  168. package/lib/core/define.js.map +1 -0
  169. package/lib/core/dtos/comment.d.ts +6 -0
  170. package/lib/core/dtos/comment.js +7 -0
  171. package/lib/core/dtos/comment.js.map +1 -0
  172. package/lib/core/index.d.ts +1 -1
  173. package/lib/core/index.js +1 -1
  174. package/lib/core/index.js.map +1 -1
  175. package/lib/index.d.ts +1 -1
  176. package/lib/index.js +4 -4
  177. package/lib/index.js.map +1 -1
  178. package/lib/interfaces/{client.d.ts → controller.d.ts} +1 -1
  179. package/lib/interfaces/controller.js +3 -0
  180. package/lib/interfaces/controller.js.map +1 -0
  181. package/lib/interfaces/instance.d.ts +3 -2
  182. package/lib/interfaces/options.d.ts +1 -0
  183. package/lib/interfaces/options.js +3 -0
  184. package/lib/interfaces/options.js.map +1 -0
  185. package/lib/interfaces/params.d.ts +4 -0
  186. package/lib/interfaces/{client.js → params.js} +1 -1
  187. package/lib/interfaces/params.js.map +1 -0
  188. package/lib/interfaces/request.d.ts +19 -9
  189. package/lib/models/aggregate.d.ts +47 -0
  190. package/lib/models/aggregate.js +9 -0
  191. package/lib/models/aggregate.js.map +1 -0
  192. package/lib/models/base.d.ts +1 -1
  193. package/lib/models/category.d.ts +24 -0
  194. package/lib/models/category.js +9 -0
  195. package/lib/models/category.js.map +1 -0
  196. package/lib/models/comment.d.ts +28 -0
  197. package/lib/models/comment.js +10 -0
  198. package/lib/models/comment.js.map +1 -0
  199. package/lib/models/link.d.ts +17 -0
  200. package/lib/models/link.js +14 -0
  201. package/lib/models/link.js.map +1 -0
  202. package/lib/models/note.d.ts +34 -0
  203. package/lib/models/note.js +3 -0
  204. package/lib/models/note.js.map +1 -0
  205. package/lib/models/page.d.ts +24 -0
  206. package/lib/models/page.js +10 -0
  207. package/lib/models/page.js.map +1 -0
  208. package/lib/models/post.d.ts +2 -7
  209. package/lib/models/recently.d.ts +5 -0
  210. package/lib/models/recently.js +3 -0
  211. package/lib/models/recently.js.map +1 -0
  212. package/lib/models/say.d.ts +6 -0
  213. package/lib/models/say.js +3 -0
  214. package/lib/models/say.js.map +1 -0
  215. package/lib/models/setting.d.ts +66 -0
  216. package/lib/models/setting.js +3 -0
  217. package/lib/models/setting.js.map +1 -0
  218. package/lib/models/user.d.ts +29 -0
  219. package/lib/models/user.js +3 -0
  220. package/lib/models/user.js.map +1 -0
  221. package/lib/utils/index.d.ts +4 -0
  222. package/lib/utils/index.js +42 -1
  223. package/lib/utils/index.js.map +1 -1
  224. package/package.json +12 -11
  225. package/esm/core/clients/all.d.ts +0 -3
  226. package/esm/core/clients/all.js +0 -9
  227. package/esm/core/clients/all.js.map +0 -1
  228. package/esm/core/clients/index.d.ts +0 -3
  229. package/esm/core/clients/index.js +0 -5
  230. package/esm/core/clients/index.js.map +0 -1
  231. package/esm/core/clients/note.d.ts +0 -5
  232. package/esm/core/clients/note.js +0 -7
  233. package/esm/core/clients/note.js.map +0 -1
  234. package/esm/core/clients/post.d.ts +0 -16
  235. package/esm/core/clients/post.js +0 -23
  236. package/esm/core/clients/post.js.map +0 -1
  237. package/esm/interfaces/client.js +0 -2
  238. package/esm/interfaces/client.js.map +0 -1
  239. package/lib/core/clients/all.d.ts +0 -3
  240. package/lib/core/clients/all.js +0 -12
  241. package/lib/core/clients/all.js.map +0 -1
  242. package/lib/core/clients/index.d.ts +0 -3
  243. package/lib/core/clients/index.js.map +0 -1
  244. package/lib/core/clients/note.d.ts +0 -5
  245. package/lib/core/clients/note.js +0 -11
  246. package/lib/core/clients/note.js.map +0 -1
  247. package/lib/core/clients/post.d.ts +0 -16
  248. package/lib/core/clients/post.js +0 -27
  249. package/lib/core/clients/post.js.map +0 -1
  250. package/lib/interfaces/client.js.map +0 -1
@@ -0,0 +1,14 @@
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 { RecentlyController } from './recently';
9
+ import { SayController } from './say';
10
+ import { SearchController } from './search';
11
+ import { UserController } from './user';
12
+ export declare const allControllers: (typeof AggregateController | typeof CategoryController | typeof CommentController | typeof LinkController | typeof NoteController | typeof PageController | typeof PostController | typeof RecentlyController | typeof SayController | typeof SearchController | typeof UserController)[];
13
+ export declare const allContollerNames: string[];
14
+ export { AggregateController, CategoryController, CommentController, LinkController, NoteController, PageController, PostController, RecentlyController, SayController, SearchController, UserController, };
@@ -0,0 +1,39 @@
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 { RecentlyController } from './recently';
9
+ import { SayController } from './say';
10
+ import { SearchController } from './search';
11
+ import { UserController } from './user';
12
+ export const allControllers = [
13
+ AggregateController,
14
+ CategoryController,
15
+ CommentController,
16
+ LinkController,
17
+ NoteController,
18
+ PageController,
19
+ PostController,
20
+ RecentlyController,
21
+ SayController,
22
+ SearchController,
23
+ UserController,
24
+ ];
25
+ export const allContollerNames = [
26
+ 'aggregate',
27
+ 'category',
28
+ 'comment',
29
+ 'link',
30
+ 'note',
31
+ 'page',
32
+ 'post',
33
+ 'recently',
34
+ 'say',
35
+ 'search',
36
+ 'user',
37
+ ];
38
+ export { AggregateController, CategoryController, CommentController, LinkController, NoteController, PageController, PostController, RecentlyController, SayController, SearchController, UserController, };
39
+ //# sourceMappingURL=all.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"all.js","sourceRoot":"","sources":["../../../src/core/controllers/all.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAEvC,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,mBAAmB;IACnB,kBAAkB;IAClB,iBAAiB;IACjB,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,kBAAkB;IAClB,aAAa;IACb,gBAAgB;IAChB,cAAc;CACf,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,WAAW;IACX,UAAU;IACV,SAAS;IACT,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,UAAU;IACV,KAAK;IACL,QAAQ;IACR,MAAM;CACP,CAAA;AAED,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,cAAc,GACf,CAAA"}
@@ -0,0 +1,29 @@
1
+ import { PaginateResult } from "../../models/base";
2
+ import { HTTPClient } from '..';
3
+ export declare abstract class BaseCrudController<T> {
4
+ protected client: HTTPClient;
5
+ base: string;
6
+ constructor(client: HTTPClient);
7
+ protected get proxy(): import("../../interfaces/request").IRequestHandler;
8
+ getById(id: string): import("../../interfaces/request").RequestProxyResult<T, {
9
+ [key: string]: any;
10
+ data: T;
11
+ }>;
12
+ getAll(): import("../../interfaces/request").RequestProxyResult<{
13
+ data: T[];
14
+ }, {
15
+ [key: string]: any;
16
+ data: {
17
+ data: T[];
18
+ };
19
+ }>;
20
+ /**
21
+ * 带分页的查询
22
+ * @param page
23
+ * @param perPage
24
+ */
25
+ getAllPaginated(page?: number, perPage?: number): import("../../interfaces/request").RequestProxyResult<PaginateResult<T>, {
26
+ [key: string]: any;
27
+ data: PaginateResult<T>;
28
+ }>;
29
+ }
@@ -0,0 +1,25 @@
1
+ export class BaseCrudController {
2
+ constructor(client) {
3
+ this.client = client;
4
+ }
5
+ get proxy() {
6
+ return this.client.proxy(this.base);
7
+ }
8
+ getById(id) {
9
+ return this.proxy(id).get();
10
+ }
11
+ getAll() {
12
+ return this.proxy.all.get();
13
+ }
14
+ /**
15
+ * 带分页的查询
16
+ * @param page
17
+ * @param perPage
18
+ */
19
+ getAllPaginated(page, perPage) {
20
+ return this.proxy.get({
21
+ params: { page, size: perPage },
22
+ });
23
+ }
24
+ }
25
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/core/controllers/base.ts"],"names":[],"mappings":"AAGA,MAAM,OAAgB,kBAAkB;IAEtC,YAAsB,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;IAAG,CAAC;IAC5C,IAAc,KAAK;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IAED,OAAO,CAAC,EAAU;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,EAAK,CAAA;IAChC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAiB,CAAA;IAC5C,CAAC;IACD;;;;OAIG;IACH,eAAe,CAAC,IAAa,EAAE,OAAgB;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoB;YACvC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;SAChC,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -0,0 +1,44 @@
1
+ import { IController } from "../../interfaces/controller";
2
+ import { ResponseProxyExtraRaw } from "../../interfaces/request";
3
+ import { CategoryWithChildrenModel, TagModel } from "../../models/category";
4
+ import { CategoryModel, PostModel } from "../../models/post";
5
+ import { HTTPClient } from '..';
6
+ export declare class CategoryController implements IController {
7
+ private client;
8
+ name: string;
9
+ base: string;
10
+ constructor(client: HTTPClient);
11
+ private get proxy();
12
+ getAllCategories(): import("../../interfaces/request").RequestProxyResult<{
13
+ data: CategoryModel[];
14
+ }, {
15
+ [key: string]: any;
16
+ data: {
17
+ data: CategoryModel[];
18
+ };
19
+ }>;
20
+ getAllTags(): import("../../interfaces/request").RequestProxyResult<{
21
+ data: TagModel[];
22
+ }, {
23
+ [key: string]: any;
24
+ data: {
25
+ data: TagModel[];
26
+ };
27
+ }>;
28
+ getCategoryDetail(id: string): Promise<ResponseProxyExtraRaw<CategoryWithChildrenModel>>;
29
+ getCategoryDetail(ids: string[]): Promise<ResponseProxyExtraRaw<Map<string, CategoryWithChildrenModel>>>;
30
+ getCategoryByIdOrSlug(idOrSlug: string): Promise<ResponseProxyExtraRaw<CategoryWithChildrenModel, {
31
+ [key: string]: any;
32
+ data: CategoryWithChildrenModel;
33
+ }>>;
34
+ getTagByName(name: string): Promise<ResponseProxyExtraRaw<{
35
+ tag: string;
36
+ data: Pick<PostModel, 'id' | 'title' | 'slug' | 'category' | 'created'>[];
37
+ }, {
38
+ [key: string]: any;
39
+ data: {
40
+ tag: string;
41
+ data: Pick<PostModel, 'id' | 'title' | 'slug' | 'category' | 'created'>[];
42
+ };
43
+ }>>;
44
+ }
@@ -0,0 +1,66 @@
1
+ import { CategoryType, } from "../../models/category";
2
+ import { attachRawFromOneToAnthor, destructureData } from "../../utils";
3
+ import { RequestError } from '..';
4
+ export class CategoryController {
5
+ constructor(client) {
6
+ this.client = client;
7
+ this.name = 'category';
8
+ this.base = 'categories';
9
+ }
10
+ get proxy() {
11
+ return this.client.proxy(this.base);
12
+ }
13
+ getAllCategories() {
14
+ return this.proxy.get({
15
+ params: {
16
+ type: CategoryType.Category,
17
+ },
18
+ });
19
+ }
20
+ getAllTags() {
21
+ return this.proxy.get({
22
+ params: {
23
+ type: CategoryType.Tag,
24
+ },
25
+ });
26
+ }
27
+ async getCategoryDetail(ids) {
28
+ if (typeof ids === 'string') {
29
+ const data = await this.proxy.get({
30
+ params: {
31
+ ids: ids,
32
+ },
33
+ });
34
+ const result = Object.values(data.entries)[0];
35
+ attachRawFromOneToAnthor(data, result);
36
+ return result;
37
+ }
38
+ else if (Array.isArray(ids)) {
39
+ const data = await this.proxy.get({
40
+ params: {
41
+ ids: ids.join(','),
42
+ },
43
+ });
44
+ const entries = data === null || data === void 0 ? void 0 : data.entries;
45
+ if (!entries) {
46
+ throw new RequestError('data structure error', 500, data.request.path, data);
47
+ }
48
+ const map = new Map(Object.entries(entries).map(([id, value]) => [id.toLowerCase(), value]));
49
+ attachRawFromOneToAnthor(data, map);
50
+ return map;
51
+ }
52
+ }
53
+ async getCategoryByIdOrSlug(idOrSlug) {
54
+ const res = await this.proxy(idOrSlug).get();
55
+ return destructureData(res);
56
+ }
57
+ async getTagByName(name) {
58
+ const res = await this.proxy(name).get({
59
+ params: {
60
+ tag: 1,
61
+ },
62
+ });
63
+ return res;
64
+ }
65
+ }
66
+ //# sourceMappingURL=category.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"category.js","sourceRoot":"","sources":["../../../src/core/controllers/category.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,YAAY,GAGb,8BAAyB;AAE1B,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,oBAAe;AACnE,OAAO,EAAc,YAAY,EAAE,MAAM,IAAI,CAAA;AAE7C,MAAM,OAAO,kBAAkB;IAG7B,YAAoB,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QAFtC,SAAI,GAAG,UAAU,CAAA;QACjB,SAAI,GAAG,YAAY,CAAA;IACsB,CAAC;IAE1C,IAAY,KAAK;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B;YAC/C,MAAM,EAAE;gBACN,IAAI,EAAE,YAAY,CAAC,QAAQ;aAC5B;SACF,CAAC,CAAA;IACJ,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAuB;YAC1C,MAAM,EAAE;gBACN,IAAI,EAAE,YAAY,CAAC,GAAG;aACvB;SACF,CAAC,CAAA;IACJ,CAAC;IAQD,KAAK,CAAC,iBAAiB,CAAC,GAAsB;QAC5C,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAC3B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAkB;gBACjD,MAAM,EAAE;oBACN,GAAG,EAAE,GAAG;iBACT;aACF,CAAC,CAAA;YACF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;YAC7C,wBAAwB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YACtC,OAAO,MAAM,CAAA;SACd;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC7B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAkB;gBACjD,MAAM,EAAE;oBACN,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;iBACnB;aACF,CAAC,CAAA;YACF,MAAM,OAAO,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAA;YAC7B,IAAI,CAAC,OAAO,EAAE;gBACZ,MAAM,IAAI,YAAY,CACpB,sBAAsB,EACtB,GAAG,EACH,IAAI,CAAC,OAAO,CAAC,IAAI,EACjB,IAAI,CACL,CAAA;aACF;YAED,MAAM,GAAG,GAAG,IAAI,GAAG,CACjB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC,CACxE,CAAA;YAED,wBAAwB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;YACnC,OAAO,GAAG,CAAA;SACX;IACH,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,QAAgB;QAC1C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAA6B,CAAA;QACvE,OAAO,eAAe,CAAC,GAAG,CAAe,CAAA;IAC3C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAY;QAC7B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAGnC;YACD,MAAM,EAAE;gBACN,GAAG,EAAE,CAAC;aACP;SACF,CAAC,CAAA;QAEF,OAAO,GAAG,CAAA;IACZ,CAAC;CACF"}
@@ -0,0 +1,42 @@
1
+ import { IController } from "../../interfaces/controller";
2
+ import { PaginationParams } from "../../interfaces/params";
3
+ import { PaginateResult } from "../../models/base";
4
+ import { CommentModel } from "../../models/comment";
5
+ import { HTTPClient } from '..';
6
+ import { CommentDto } from '../dtos/comment';
7
+ export declare class CommentController implements IController {
8
+ private readonly client;
9
+ base: string;
10
+ name: string;
11
+ constructor(client: HTTPClient);
12
+ get proxy(): import("../../interfaces/request").IRequestHandler;
13
+ /**
14
+ * 根据 comment id 获取评论, 包括子评论
15
+ */
16
+ getById(id: string): import("../../interfaces/request").RequestProxyResult<CommentModel, {
17
+ [key: string]: any;
18
+ data: CommentModel;
19
+ }>;
20
+ /**
21
+ * 获取文章的评论列表
22
+ * @param refId 文章 Id
23
+ */
24
+ getByRefId(refId: string, pagination?: PaginationParams): import("../../interfaces/request").RequestProxyResult<PaginateResult<CommentModel>, {
25
+ [key: string]: any;
26
+ data: PaginateResult<CommentModel>;
27
+ }>;
28
+ /**
29
+ * 评论
30
+ */
31
+ comment(refId: string, data: CommentDto): import("../../interfaces/request").RequestProxyResult<CommentModel, {
32
+ [key: string]: any;
33
+ data: CommentModel;
34
+ }>;
35
+ /**
36
+ * 回复评论
37
+ */
38
+ reply(commentId: string, data: CommentDto): import("../../interfaces/request").RequestProxyResult<CommentModel, {
39
+ [key: string]: any;
40
+ data: CommentModel;
41
+ }>;
42
+ }
@@ -0,0 +1,43 @@
1
+ export class CommentController {
2
+ constructor(client) {
3
+ this.client = client;
4
+ this.base = 'comments';
5
+ this.name = 'comment';
6
+ }
7
+ get proxy() {
8
+ return this.client.proxy(this.base);
9
+ }
10
+ /**
11
+ * 根据 comment id 获取评论, 包括子评论
12
+ */
13
+ getById(id) {
14
+ return this.proxy(id).get();
15
+ }
16
+ /**
17
+ * 获取文章的评论列表
18
+ * @param refId 文章 Id
19
+ */
20
+ getByRefId(refId, pagination = {}) {
21
+ const { page, size } = pagination;
22
+ return this.proxy.ref(refId).get({
23
+ params: { page: page || 1, size: size || 10 },
24
+ });
25
+ }
26
+ /**
27
+ * 评论
28
+ */
29
+ comment(refId, data) {
30
+ return this.proxy(refId).post({
31
+ data,
32
+ });
33
+ }
34
+ /**
35
+ * 回复评论
36
+ */
37
+ reply(commentId, data) {
38
+ return this.proxy.reply(commentId).post({
39
+ data,
40
+ });
41
+ }
42
+ }
43
+ //# sourceMappingURL=comment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comment.js","sourceRoot":"","sources":["../../../src/core/controllers/comment.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,iBAAiB;IAI5B,YAA6B,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QAH/C,SAAI,GAAG,UAAU,CAAA;QACjB,SAAI,GAAG,SAAS,CAAA;IAEkC,CAAC;IAEnD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,EAAU;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,EAAgB,CAAA;IAC3C,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,KAAa,EAAE,aAA+B,EAAE;QACzD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,UAAU,CAAA;QACjC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAA+B;YAC7D,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE;SAC9C,CAAC,CAAA;IACJ,CAAC;IACD;;OAEG;IACH,OAAO,CAAC,KAAa,EAAE,IAAgB;QACrC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAe;YAC1C,IAAI;SACL,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAiB,EAAE,IAAgB;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAe;YACpD,IAAI;SACL,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -0,0 +1 @@
1
+ export * from './all';
@@ -0,0 +1,2 @@
1
+ export * from './all';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/controllers/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { LinkModel } from "../../models/link";
2
+ import { HTTPClient } from '..';
3
+ import { BaseCrudController } from './base';
4
+ export declare class LinkController extends BaseCrudController<LinkModel> {
5
+ protected readonly client: HTTPClient;
6
+ constructor(client: HTTPClient);
7
+ name: string;
8
+ base: string;
9
+ }
@@ -0,0 +1,10 @@
1
+ import { BaseCrudController } from './base';
2
+ export class LinkController extends BaseCrudController {
3
+ constructor(client) {
4
+ super(client);
5
+ this.client = client;
6
+ this.name = 'link';
7
+ this.base = 'links';
8
+ }
9
+ }
10
+ //# sourceMappingURL=link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link.js","sourceRoot":"","sources":["../../../src/core/controllers/link.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AAE3C,MAAM,OAAO,cAAe,SAAQ,kBAA6B;IAC/D,YAA+B,MAAkB;QAC/C,KAAK,CAAC,MAAM,CAAC,CAAA;QADgB,WAAM,GAAN,MAAM,CAAY;QAIjD,SAAI,GAAG,MAAM,CAAA;QACb,SAAI,GAAG,OAAO,CAAA;IAHd,CAAC;CAIF"}
@@ -0,0 +1,54 @@
1
+ import { IController } from "../../interfaces/controller";
2
+ import { PaginateResult } from "../../models/base";
3
+ import { NoteModel, NoteWrappedPayload } from "../../models/note";
4
+ import { HTTPClient } from '..';
5
+ export declare class NoteController implements IController {
6
+ private client;
7
+ base: string;
8
+ name: string;
9
+ constructor(client: HTTPClient);
10
+ get proxy(): import("../../interfaces/request").IRequestHandler;
11
+ /**
12
+ * 最新日记
13
+ */
14
+ getLatest(): import("../../interfaces/request").RequestProxyResult<NoteWrappedPayload, {
15
+ [key: string]: any;
16
+ data: NoteWrappedPayload;
17
+ }>;
18
+ /**
19
+ * 获取一篇日记
20
+ * @param id id | nid
21
+ * @param password 访问密码
22
+ */
23
+ getNoteById(id: string | number, password?: string): import("../../interfaces/request").RequestProxyResult<NoteWrappedPayload, {
24
+ [key: string]: any;
25
+ data: NoteWrappedPayload;
26
+ }>;
27
+ /**
28
+ * 日记列表分页
29
+ */
30
+ getList(page?: number, perPage?: number): import("../../interfaces/request").RequestProxyResult<PaginateResult<NoteModel>, {
31
+ [key: string]: any;
32
+ data: PaginateResult<NoteModel>;
33
+ }>;
34
+ /**
35
+ * 获取当前日记的上下各 n / 2 篇日记
36
+ */
37
+ getMiddleList(id: string, size?: number): import("../../interfaces/request").RequestProxyResult<{
38
+ data: Pick<NoteModel, 'id' | 'title' | 'nid' | 'created'>[];
39
+ size: number;
40
+ }, {
41
+ [key: string]: any;
42
+ data: {
43
+ data: Pick<NoteModel, 'id' | 'title' | 'nid' | 'created'>[];
44
+ size: number;
45
+ };
46
+ }>;
47
+ /**
48
+ * 喜欢这篇日记
49
+ */
50
+ likeIt(id: string): import("../../interfaces/request").RequestProxyResult<never, {
51
+ [key: string]: any;
52
+ data: never;
53
+ }>;
54
+ }
@@ -0,0 +1,54 @@
1
+ export class NoteController {
2
+ constructor(client) {
3
+ this.client = client;
4
+ this.base = 'notes';
5
+ this.name = 'note';
6
+ }
7
+ get proxy() {
8
+ return this.client.proxy(this.base);
9
+ }
10
+ /**
11
+ * 最新日记
12
+ */
13
+ getLatest() {
14
+ return this.proxy.latest.get();
15
+ }
16
+ /**
17
+ * 获取一篇日记
18
+ * @param id id | nid
19
+ * @param password 访问密码
20
+ */
21
+ getNoteById(id, password) {
22
+ if (typeof id === 'number') {
23
+ return this.proxy.nid(id.toString()).get({
24
+ params: { password },
25
+ });
26
+ }
27
+ else {
28
+ return this.proxy(id).get({ params: { password } });
29
+ }
30
+ }
31
+ /**
32
+ * 日记列表分页
33
+ */
34
+ getList(page = 1, perPage = 10) {
35
+ return this.proxy.get({
36
+ params: { page, size: perPage },
37
+ });
38
+ }
39
+ /**
40
+ * 获取当前日记的上下各 n / 2 篇日记
41
+ */
42
+ getMiddleList(id, size = 5) {
43
+ return this.proxy.list(id).get({
44
+ params: { size },
45
+ });
46
+ }
47
+ /**
48
+ * 喜欢这篇日记
49
+ */
50
+ likeIt(id) {
51
+ return this.proxy.like(id).get();
52
+ }
53
+ }
54
+ //# sourceMappingURL=note.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"note.js","sourceRoot":"","sources":["../../../src/core/controllers/note.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,cAAc;IAIzB,YAAoB,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QAHtC,SAAI,GAAG,OAAO,CAAA;QACd,SAAI,GAAG,MAAM,CAAA;IAE4B,CAAC;IAC1C,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAsB,CAAA;IACpD,CAAC;IAED;;;;OAIG;IAEH,WAAW,CAAC,EAAmB,EAAE,QAAiB;QAChD,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;YAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAqB;gBAC3D,MAAM,EAAE,EAAE,QAAQ,EAAE;aACrB,CAAC,CAAA;SACH;aAAM;YACL,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAqB,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAA;SACxE;IACH,CAAC;IAED;;OAEG;IAEH,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,OAAO,GAAG,EAAE;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B;YAC/C,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;SAChC,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,EAAU,EAAE,IAAI,GAAG,CAAC;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAG3B;YACD,MAAM,EAAE,EAAE,IAAI,EAAE;SACjB,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,EAAU;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAS,CAAA;IACzC,CAAC;CACF"}
@@ -0,0 +1,34 @@
1
+ import { IController } from "../../interfaces/controller";
2
+ import { PaginateResult } from "../../models/base";
3
+ import { PageModel } from "../../models/page";
4
+ import { HTTPClient } from '..';
5
+ export declare class PageController implements IController {
6
+ private readonly client;
7
+ constructor(client: HTTPClient);
8
+ base: string;
9
+ name: string;
10
+ get proxy(): import("../../interfaces/request").IRequestHandler;
11
+ /**
12
+ * 页面列表
13
+ */
14
+ getList(page?: number, perPage?: number): import("../../interfaces/request").RequestProxyResult<PaginateResult<PageModel>, {
15
+ [key: string]: any;
16
+ data: PaginateResult<PageModel>;
17
+ }>;
18
+ /**
19
+ * 页面详情
20
+ */
21
+ getById(id: string): import("../../interfaces/request").RequestProxyResult<PageModel, {
22
+ [key: string]: any;
23
+ data: PageModel;
24
+ }>;
25
+ /**
26
+ * 根据路径获取页面
27
+ * @param slug 路径
28
+ * @returns
29
+ */
30
+ getBySlug(slug: string): import("../../interfaces/request").RequestProxyResult<PageModel, {
31
+ [key: string]: any;
32
+ data: PageModel;
33
+ }>;
34
+ }
@@ -0,0 +1,33 @@
1
+ export class PageController {
2
+ constructor(client) {
3
+ this.client = client;
4
+ this.base = 'pages';
5
+ this.name = 'page';
6
+ }
7
+ get proxy() {
8
+ return this.client.proxy(this.base);
9
+ }
10
+ /**
11
+ * 页面列表
12
+ */
13
+ getList(page = 1, perPage = 10) {
14
+ return this.proxy.get({
15
+ params: { page, size: perPage },
16
+ });
17
+ }
18
+ /**
19
+ * 页面详情
20
+ */
21
+ getById(id) {
22
+ return this.proxy(id).get();
23
+ }
24
+ /**
25
+ * 根据路径获取页面
26
+ * @param slug 路径
27
+ * @returns
28
+ */
29
+ getBySlug(slug) {
30
+ return this.proxy.slug(slug).get({});
31
+ }
32
+ }
33
+ //# sourceMappingURL=page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../src/core/controllers/page.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,cAAc;IACzB,YAA6B,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QAC/C,SAAI,GAAG,OAAO,CAAA;QACd,SAAI,GAAG,MAAM,CAAA;IAFqC,CAAC;IAGnD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IACD;;OAEG;IACH,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,OAAO,GAAG,EAAE;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B;YAC/C,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;SAChC,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,EAAU;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,EAAa,CAAA;IACxC,CAAC;IACD;;;;OAIG;IACH,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAY,EAAE,CAAC,CAAA;IACjD,CAAC;CACF"}
@@ -0,0 +1,47 @@
1
+ import { IController } from "../../interfaces/controller";
2
+ import { RequestProxyResult } from "../../interfaces/request";
3
+ import { PaginateResult } from "../../models/base";
4
+ import { PostModel } from "../../models/post";
5
+ import { HTTPClient } from '../client';
6
+ export declare class PostController implements IController {
7
+ private client;
8
+ constructor(client: HTTPClient);
9
+ base: string;
10
+ name: string;
11
+ private get proxy();
12
+ /**
13
+ * 获取文章列表分页
14
+ * @param page
15
+ * @param perPage
16
+ * @returns
17
+ */
18
+ getList(page?: number, perPage?: number): RequestProxyResult<PaginateResult<PostModel>, {
19
+ [key: string]: any;
20
+ data: PaginateResult<PostModel>;
21
+ }>;
22
+ /**
23
+ * 根据分类和路径查找文章
24
+ * @param categoryName
25
+ * @param slug
26
+ */
27
+ getPost(categoryName: string, slug: string): RequestProxyResult<PostModel>;
28
+ /**
29
+ * 根据 ID 查找文章
30
+ * @param id
31
+ */
32
+ getPost(id: string): RequestProxyResult<PostModel>;
33
+ /**
34
+ * 获取最新的文章
35
+ */
36
+ getLatest(): RequestProxyResult<PostModel, {
37
+ [key: string]: any;
38
+ data: PostModel;
39
+ }>;
40
+ /**
41
+ * 点赞
42
+ */
43
+ thumbsUp(id: string): RequestProxyResult<void, {
44
+ [key: string]: any;
45
+ data: void;
46
+ }>;
47
+ }
@@ -0,0 +1,42 @@
1
+ export class PostController {
2
+ constructor(client) {
3
+ this.client = client;
4
+ this.base = 'posts';
5
+ this.name = 'post';
6
+ }
7
+ get proxy() {
8
+ return this.client.proxy(this.base);
9
+ }
10
+ /**
11
+ * 获取文章列表分页
12
+ * @param page
13
+ * @param perPage
14
+ * @returns
15
+ */
16
+ getList(page = 1, perPage = 10) {
17
+ return this.proxy.get({
18
+ params: { page, size: perPage },
19
+ });
20
+ }
21
+ getPost(idOrCategoryName, slug) {
22
+ if (arguments.length == 1) {
23
+ return this.proxy(idOrCategoryName).get();
24
+ }
25
+ else {
26
+ return this.proxy(idOrCategoryName)(slug).get();
27
+ }
28
+ }
29
+ /**
30
+ * 获取最新的文章
31
+ */
32
+ getLatest() {
33
+ return this.proxy.latest.get();
34
+ }
35
+ /**
36
+ * 点赞
37
+ */
38
+ thumbsUp(id) {
39
+ return this.proxy('_thumbs-up').get({ params: { id } });
40
+ }
41
+ }
42
+ //# sourceMappingURL=post.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post.js","sourceRoot":"","sources":["../../../src/core/controllers/post.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,cAAc;IACzB,YAAoB,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QAEtC,SAAI,GAAG,OAAO,CAAA;QAEd,SAAI,GAAG,MAAM,CAAA;IAJ4B,CAAC;IAM1C,IAAY,KAAK;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,OAAO,GAAG,EAAE;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B;YAC/C,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;SAChC,CAAC,CAAA;IACJ,CAAC;IAaD,OAAO,CAAC,gBAAwB,EAAE,IAAa;QAC7C,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;YACzB,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAa,CAAA;SACrD;aAAM;YACL,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAa,CAAA;SAC3D;IACH,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAa,CAAA;IAC3C,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,EAAU;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,CAAO,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;IAC/D,CAAC;CACF"}