@mx-space/api-client 0.9.4 → 0.10.2

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 (184) hide show
  1. package/adaptors/axios.ts +3 -2
  2. package/adaptors/umi-request.ts +3 -2
  3. package/build/index.cjs.js +38 -4
  4. package/build/index.cjs.js.map +1 -1
  5. package/build/index.cjs.min.js +1 -1
  6. package/build/index.cjs.min.js.map +1 -1
  7. package/build/index.esm.js +38 -5
  8. package/build/index.esm.js.map +1 -1
  9. package/build/index.esm.min.js +1 -1
  10. package/build/index.esm.min.js.map +1 -1
  11. package/build/index.umd.js +38 -4
  12. package/build/index.umd.js.map +1 -1
  13. package/build/index.umd.min.js +1 -1
  14. package/build/index.umd.min.js.map +1 -1
  15. package/controllers/aggregate.ts +6 -6
  16. package/controllers/base.ts +3 -3
  17. package/controllers/category.ts +7 -7
  18. package/controllers/comment.ts +8 -8
  19. package/controllers/index.ts +3 -0
  20. package/controllers/link.ts +3 -3
  21. package/controllers/note.ts +9 -0
  22. package/controllers/page.ts +7 -7
  23. package/controllers/post.ts +7 -7
  24. package/controllers/project.ts +3 -3
  25. package/controllers/recently.ts +5 -5
  26. package/controllers/say.ts +5 -5
  27. package/controllers/search.ts +8 -8
  28. package/controllers/severless.ts +4 -4
  29. package/controllers/snippet.ts +4 -4
  30. package/controllers/topic.ts +39 -0
  31. package/controllers/user.ts +5 -5
  32. package/core/client.ts +32 -19
  33. package/esm/adaptors/axios.d.ts +2 -2
  34. package/esm/adaptors/axios.js.map +1 -1
  35. package/esm/adaptors/umi-request.d.ts +2 -2
  36. package/esm/adaptors/umi-request.js.map +1 -1
  37. package/esm/controllers/aggregate.d.ts +6 -6
  38. package/esm/controllers/base.d.ts +3 -3
  39. package/esm/controllers/category.d.ts +7 -6
  40. package/esm/controllers/category.js +1 -1
  41. package/esm/controllers/category.js.map +1 -1
  42. package/esm/controllers/comment.d.ts +8 -8
  43. package/esm/controllers/index.d.ts +3 -2
  44. package/esm/controllers/index.js +3 -1
  45. package/esm/controllers/index.js.map +1 -1
  46. package/esm/controllers/link.d.ts +3 -3
  47. package/esm/controllers/note.d.ts +11 -0
  48. package/esm/controllers/note.js +8 -0
  49. package/esm/controllers/note.js.map +1 -1
  50. package/esm/controllers/page.d.ts +7 -7
  51. package/esm/controllers/post.d.ts +7 -7
  52. package/esm/controllers/project.d.ts +3 -3
  53. package/esm/controllers/recently.d.ts +5 -5
  54. package/esm/controllers/say.d.ts +5 -5
  55. package/esm/controllers/search.d.ts +8 -8
  56. package/esm/controllers/severless.d.ts +4 -4
  57. package/esm/controllers/snippet.d.ts +4 -4
  58. package/esm/controllers/topic.d.ts +27 -0
  59. package/esm/controllers/topic.js +18 -0
  60. package/esm/controllers/topic.js.map +1 -0
  61. package/esm/controllers/user.d.ts +5 -5
  62. package/esm/core/client.d.ts +7 -6
  63. package/esm/core/client.js +12 -4
  64. package/esm/core/client.js.map +1 -1
  65. package/esm/interfaces/adapter.d.ts +1 -1
  66. package/esm/interfaces/client.d.ts +6 -2
  67. package/esm/models/aggregate.d.ts +7 -7
  68. package/esm/models/category.d.ts +2 -2
  69. package/esm/models/comment.d.ts +2 -2
  70. package/esm/models/link.d.ts +1 -1
  71. package/esm/models/note.d.ts +4 -1
  72. package/esm/models/page.d.ts +1 -1
  73. package/esm/models/post.d.ts +2 -2
  74. package/esm/models/project.d.ts +1 -1
  75. package/esm/models/recently.d.ts +1 -1
  76. package/esm/models/say.d.ts +1 -1
  77. package/esm/models/snippet.d.ts +1 -1
  78. package/esm/models/topic.d.ts +8 -0
  79. package/esm/models/topic.js +2 -0
  80. package/esm/models/topic.js.map +1 -0
  81. package/esm/models/user.d.ts +1 -1
  82. package/esm/utils/index.d.ts +1 -1
  83. package/interfaces/adapter.ts +1 -1
  84. package/interfaces/client.ts +8 -2
  85. package/lib/adaptors/axios.d.ts +2 -2
  86. package/lib/adaptors/axios.js.map +1 -1
  87. package/lib/adaptors/umi-request.d.ts +2 -2
  88. package/lib/adaptors/umi-request.js.map +1 -1
  89. package/lib/controllers/aggregate.d.ts +6 -6
  90. package/lib/controllers/base.d.ts +3 -3
  91. package/lib/controllers/category.d.ts +7 -6
  92. package/lib/controllers/category.js.map +1 -1
  93. package/lib/controllers/comment.d.ts +8 -8
  94. package/lib/controllers/index.d.ts +3 -2
  95. package/lib/controllers/index.js +4 -1
  96. package/lib/controllers/index.js.map +1 -1
  97. package/lib/controllers/link.d.ts +3 -3
  98. package/lib/controllers/note.d.ts +11 -0
  99. package/lib/controllers/note.js +8 -0
  100. package/lib/controllers/note.js.map +1 -1
  101. package/lib/controllers/page.d.ts +7 -7
  102. package/lib/controllers/post.d.ts +7 -7
  103. package/lib/controllers/project.d.ts +3 -3
  104. package/lib/controllers/recently.d.ts +5 -5
  105. package/lib/controllers/say.d.ts +5 -5
  106. package/lib/controllers/search.d.ts +8 -8
  107. package/lib/controllers/severless.d.ts +4 -4
  108. package/lib/controllers/snippet.d.ts +4 -4
  109. package/lib/controllers/topic.d.ts +27 -0
  110. package/lib/controllers/topic.js +22 -0
  111. package/lib/controllers/topic.js.map +1 -0
  112. package/lib/controllers/user.d.ts +5 -5
  113. package/lib/core/client.d.ts +7 -6
  114. package/lib/core/client.js +12 -4
  115. package/lib/core/client.js.map +1 -1
  116. package/lib/interfaces/adapter.d.ts +1 -1
  117. package/lib/interfaces/client.d.ts +6 -2
  118. package/lib/models/aggregate.d.ts +7 -7
  119. package/lib/models/category.d.ts +2 -2
  120. package/lib/models/comment.d.ts +2 -2
  121. package/lib/models/link.d.ts +1 -1
  122. package/lib/models/note.d.ts +4 -1
  123. package/lib/models/page.d.ts +1 -1
  124. package/lib/models/post.d.ts +2 -2
  125. package/lib/models/project.d.ts +1 -1
  126. package/lib/models/recently.d.ts +1 -1
  127. package/lib/models/say.d.ts +1 -1
  128. package/lib/models/snippet.d.ts +1 -1
  129. package/lib/models/topic.d.ts +8 -0
  130. package/lib/models/topic.js +3 -0
  131. package/lib/models/topic.js.map +1 -0
  132. package/lib/models/user.d.ts +1 -1
  133. package/lib/utils/index.d.ts +1 -1
  134. package/models/aggregate.ts +7 -7
  135. package/models/category.ts +2 -2
  136. package/models/comment.ts +2 -2
  137. package/models/link.ts +1 -1
  138. package/models/note.ts +4 -1
  139. package/models/page.ts +1 -1
  140. package/models/post.ts +2 -2
  141. package/models/project.ts +1 -1
  142. package/models/recently.ts +1 -1
  143. package/models/say.ts +1 -1
  144. package/models/snippet.ts +1 -1
  145. package/models/topic.ts +9 -0
  146. package/models/user.ts +1 -1
  147. package/package.json +6 -6
  148. package/types/adaptors/axios.d.ts +2 -2
  149. package/types/adaptors/umi-request.d.ts +2 -2
  150. package/types/controllers/aggregate.d.ts +6 -6
  151. package/types/controllers/base.d.ts +3 -3
  152. package/types/controllers/category.d.ts +7 -6
  153. package/types/controllers/comment.d.ts +8 -8
  154. package/types/controllers/index.d.ts +3 -2
  155. package/types/controllers/link.d.ts +3 -3
  156. package/types/controllers/note.d.ts +11 -0
  157. package/types/controllers/page.d.ts +7 -7
  158. package/types/controllers/post.d.ts +7 -7
  159. package/types/controllers/project.d.ts +3 -3
  160. package/types/controllers/recently.d.ts +5 -5
  161. package/types/controllers/say.d.ts +5 -5
  162. package/types/controllers/search.d.ts +8 -8
  163. package/types/controllers/severless.d.ts +4 -4
  164. package/types/controllers/snippet.d.ts +4 -4
  165. package/types/controllers/topic.d.ts +27 -0
  166. package/types/controllers/user.d.ts +5 -5
  167. package/types/core/client.d.ts +7 -6
  168. package/types/interfaces/adapter.d.ts +1 -1
  169. package/types/interfaces/client.d.ts +6 -2
  170. package/types/models/aggregate.d.ts +7 -7
  171. package/types/models/category.d.ts +2 -2
  172. package/types/models/comment.d.ts +2 -2
  173. package/types/models/link.d.ts +1 -1
  174. package/types/models/note.d.ts +4 -1
  175. package/types/models/page.d.ts +1 -1
  176. package/types/models/post.d.ts +2 -2
  177. package/types/models/project.d.ts +1 -1
  178. package/types/models/recently.d.ts +1 -1
  179. package/types/models/say.d.ts +1 -1
  180. package/types/models/snippet.d.ts +1 -1
  181. package/types/models/topic.d.ts +8 -0
  182. package/types/models/user.d.ts +1 -1
  183. package/types/utils/index.d.ts +1 -1
  184. package/utils/index.ts +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mx-space/api-client",
3
- "version": "0.9.4",
3
+ "version": "0.10.2",
4
4
  "description": "A api client for mx-space server@next",
5
5
  "author": "Innei",
6
6
  "license": "MIT",
@@ -44,16 +44,16 @@
44
44
  "version": "vv"
45
45
  },
46
46
  "devDependencies": {
47
- "@rollup/plugin-commonjs": "21.0.3",
48
- "@rollup/plugin-node-resolve": "13.2.1",
47
+ "@rollup/plugin-commonjs": "22.0.0",
48
+ "@rollup/plugin-node-resolve": "13.2.2",
49
49
  "@rollup/plugin-typescript": "8.3.2",
50
50
  "@types/cors": "2.8.12",
51
51
  "@types/lodash": "4.14.182",
52
- "@types/node": "16.11.29",
53
- "axios": "0.26.1",
52
+ "@types/node": "16.11.36",
53
+ "axios": "0.27.2",
54
54
  "gh-pages": "3.2.3",
55
55
  "lodash": "4.17.21",
56
- "rollup": "2.70.2",
56
+ "rollup": "2.72.1",
57
57
  "rollup-plugin-peer-deps-external": "2.2.4",
58
58
  "rollup-plugin-terser": "7.0.2",
59
59
  "tsconfig-replace-paths": "0.0.11",
@@ -1,3 +1,3 @@
1
- import { AxiosInstance, AxiosResponse } from 'axios';
2
- import { IRequestAdapter } from '../interfaces/adapter';
1
+ import type { AxiosInstance, AxiosResponse } from 'axios';
2
+ import type { IRequestAdapter } from '../interfaces/adapter';
3
3
  export declare const axiosAdaptor: IRequestAdapter<AxiosInstance, AxiosResponse<unknown>>;
@@ -1,3 +1,3 @@
1
- import { RequestMethod, RequestResponse } from 'umi-request';
2
- import { IRequestAdapter } from '../interfaces/adapter';
1
+ import type { RequestMethod, RequestResponse } from 'umi-request';
2
+ import type { IRequestAdapter } from '../interfaces/adapter';
3
3
  export declare const umiAdaptor: IRequestAdapter<RequestMethod<true>, RequestResponse>;
@@ -1,9 +1,9 @@
1
- import { IRequestAdapter } from '../interfaces/adapter';
2
- import { IController } from '../interfaces/controller';
3
- import { SortOrder } from '../interfaces/options';
4
- import { IRequestHandler, RequestProxyResult } from '../interfaces/request';
5
- import { AggregateRoot, AggregateStat, AggregateTop, TimelineData, TimelineType } from '../models/aggregate';
6
- import { HTTPClient } from '../core';
1
+ import type { IRequestAdapter } from '../interfaces/adapter';
2
+ import type { IController } from '../interfaces/controller';
3
+ import type { SortOrder } from '../interfaces/options';
4
+ import type { IRequestHandler, RequestProxyResult } from '../interfaces/request';
5
+ import type { AggregateRoot, AggregateStat, AggregateTop, TimelineData, TimelineType } from '../models/aggregate';
6
+ import type { HTTPClient } from '../core';
7
7
  declare module '../core/client' {
8
8
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
9
9
  aggregate: AggregateController<ResponseWrapper>;
@@ -1,6 +1,6 @@
1
- import { IRequestHandler, RequestProxyResult } from '../interfaces/request';
2
- import { PaginateResult } from '../models/base';
3
- import { HTTPClient } from '../core';
1
+ import type { IRequestHandler, RequestProxyResult } from '../interfaces/request';
2
+ import type { PaginateResult } from '../models/base';
3
+ import type { HTTPClient } from '../core';
4
4
  export declare abstract class BaseCrudController<T, ResponseWrapper> {
5
5
  protected client: HTTPClient;
6
6
  base: string;
@@ -1,9 +1,10 @@
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';
1
+ import type { IRequestAdapter } from '../interfaces/adapter';
2
+ import type { IController } from '../interfaces/controller';
3
+ import type { IRequestHandler, RequestProxyResult, ResponseProxyExtraRaw } from '../interfaces/request';
4
+ import type { HTTPClient } from '../core/client';
5
+ import type { CategoryModel, CategoryWithChildrenModel, TagModel } from '../models/category';
6
+ import { CategoryType } from '../models/category';
7
+ import type { PostModel } from '../models/post';
7
8
  declare module '../core/client' {
8
9
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
9
10
  category: CategoryController<ResponseWrapper>;
@@ -1,11 +1,11 @@
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';
1
+ import type { IRequestAdapter } from '../interfaces/adapter';
2
+ import type { IController } from '../interfaces/controller';
3
+ import type { PaginationParams } from '../interfaces/params';
4
+ import type { IRequestHandler } from '../interfaces/request';
5
+ import type { PaginateResult } from '../models/base';
6
+ import type { CommentModel } from '../models/comment';
7
+ import type { HTTPClient } from '../core';
8
+ import type { CommentDto } from '../dtos/comment';
9
9
  declare module '../core/client' {
10
10
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
11
11
  comment: CommentController<ResponseWrapper>;
@@ -11,7 +11,8 @@ import { SayController } from './say';
11
11
  import { SearchController } from './search';
12
12
  import { ServerlessController } from './severless';
13
13
  import { SnippetController } from './snippet';
14
+ import { TopicController } from './topic';
14
15
  import { UserController } from './user';
15
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 UserController)[];
16
- export declare const allContollerNames: readonly ["aggregate", "category", "comment", "link", "note", "page", "post", "project", "recently", "say", "search", "snippet", "serverless", "user", "friend", "master", "shorthand"];
17
- export { AggregateController, CategoryController, CommentController, LinkController, NoteController, PageController, PostController, ProjectController, RecentlyController, SayController, SearchController, SnippetController, ServerlessController, 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, };
@@ -1,6 +1,6 @@
1
- import { IRequestAdapter } from '../interfaces/adapter';
2
- import { LinkModel } from '../models/link';
3
- import { HTTPClient } from '../core';
1
+ import type { IRequestAdapter } from '../interfaces/adapter';
2
+ import type { LinkModel } from '../models/link';
3
+ import type { HTTPClient } from '../core';
4
4
  import { BaseCrudController } from './base';
5
5
  declare module '../core/client' {
6
6
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
@@ -88,4 +88,15 @@ export declare class NoteController<ResponseWrapper> implements IController {
88
88
  } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
89
89
  data: never;
90
90
  }>;
91
+ /**
92
+ * 获取专栏内的所有日记
93
+ */
94
+ getNoteByTopicId(topicId: string, page?: number, size?: number): RequestProxyResult<PaginateResult<NoteModel>, ResponseWrapper, ResponseWrapper extends unknown ? {
95
+ [key: string]: any;
96
+ data: PaginateResult<NoteModel>;
97
+ } : ResponseWrapper extends {
98
+ data: PaginateResult<NoteModel>;
99
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
100
+ data: PaginateResult<NoteModel>;
101
+ }>;
91
102
  }
@@ -1,10 +1,10 @@
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';
1
+ import type { IRequestAdapter } from '../interfaces/adapter';
2
+ import type { IController } from '../interfaces/controller';
3
+ import type { IRequestHandler } from '../interfaces/request';
4
+ import type { SelectFields } from '../interfaces/types';
5
+ import type { PaginateResult } from '../models/base';
6
+ import type { PageModel } from '../models/page';
7
+ import type { HTTPClient } from '../core';
8
8
  declare module '../core/client' {
9
9
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
10
10
  page: PageController<ResponseWrapper>;
@@ -1,10 +1,10 @@
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 { PostModel } from '../models/post';
7
- import { HTTPClient } from '../core/client';
1
+ import type { IRequestAdapter } from '../interfaces/adapter';
2
+ import type { IController } from '../interfaces/controller';
3
+ import type { IRequestHandler, RequestProxyResult } from '../interfaces/request';
4
+ import type { SelectFields } from '../interfaces/types';
5
+ import type { PaginateResult } from '../models/base';
6
+ import type { PostModel } from '../models/post';
7
+ import type { HTTPClient } from '../core/client';
8
8
  declare module '../core/client' {
9
9
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
10
10
  post: PostController<ResponseWrapper>;
@@ -1,6 +1,6 @@
1
- import { IRequestAdapter } from '../interfaces/adapter';
2
- import { ProjectModel } from '../models/project';
3
- import { HTTPClient } from '../core';
1
+ import type { IRequestAdapter } from '../interfaces/adapter';
2
+ import type { ProjectModel } from '../models/project';
3
+ import type { HTTPClient } from '../core';
4
4
  import { BaseCrudController } from './base';
5
5
  declare module '../core/client' {
6
6
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
@@ -1,8 +1,8 @@
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';
1
+ import type { IRequestAdapter } from '../interfaces/adapter';
2
+ import type { IController } from '../interfaces/controller';
3
+ import type { IRequestHandler } from '../interfaces/request';
4
+ import type { RecentlyModel } from '../models/recently';
5
+ import type { HTTPClient } from '../core';
6
6
  declare module '../core/client' {
7
7
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
8
8
  recently: RecentlyController<ResponseWrapper>;
@@ -1,8 +1,8 @@
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';
1
+ import type { IRequestAdapter } from '../interfaces/adapter';
2
+ import type { IController } from '../interfaces/controller';
3
+ import type { IRequestHandler } from '../interfaces/request';
4
+ import type { SayModel } from '../models/say';
5
+ import type { HTTPClient } from '../core';
6
6
  import { BaseCrudController } from './base';
7
7
  declare module '../core/client' {
8
8
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
@@ -1,11 +1,11 @@
1
- import { IRequestAdapter } from '../interfaces/adapter';
2
- import { IController } from '../interfaces/controller';
3
- import { IRequestHandler, RequestProxyResult } from '../interfaces/request';
4
- import { PaginateResult } from '../models/base';
5
- import { NoteModel } from '../models/note';
6
- import { PostModel } from '../models/post';
7
- import { PageModel } from '..';
8
- import { HTTPClient } from '../core';
1
+ import type { IRequestAdapter } from '../interfaces/adapter';
2
+ import type { IController } from '../interfaces/controller';
3
+ import type { IRequestHandler, RequestProxyResult } from '../interfaces/request';
4
+ import type { PaginateResult } from '../models/base';
5
+ import type { NoteModel } from '../models/note';
6
+ import type { PostModel } from '../models/post';
7
+ import type { PageModel } from '..';
8
+ import type { HTTPClient } from '../core';
9
9
  declare module '../core/client' {
10
10
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
11
11
  search: SearchController<ResponseWrapper>;
@@ -1,7 +1,7 @@
1
- import { IRequestAdapter } from '../interfaces/adapter';
2
- import { IController } from '../interfaces/controller';
3
- import { IRequestHandler } from '../interfaces/request';
4
- import { HTTPClient } from '../core';
1
+ import type { IRequestAdapter } from '../interfaces/adapter';
2
+ import type { IController } from '../interfaces/controller';
3
+ import type { IRequestHandler } from '../interfaces/request';
4
+ import type { HTTPClient } from '../core';
5
5
  declare module '../core/client' {
6
6
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
7
7
  serverless: ServerlessController<ResponseWrapper>;
@@ -1,7 +1,7 @@
1
- import { IRequestAdapter } from '../interfaces/adapter';
2
- import { IController } from '../interfaces/controller';
3
- import { IRequestHandler } from '../interfaces/request';
4
- import { HTTPClient } from '../core';
1
+ import type { IRequestAdapter } from '../interfaces/adapter';
2
+ import type { IController } from '../interfaces/controller';
3
+ import type { IRequestHandler } from '../interfaces/request';
4
+ import type { HTTPClient } from '../core';
5
5
  declare module '../core/client' {
6
6
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
7
7
  snippet: SnippetController<ResponseWrapper>;
@@ -0,0 +1,27 @@
1
+ import type { IRequestAdapter } from '../interfaces/adapter';
2
+ import type { IController } from '../interfaces/controller';
3
+ import type { IRequestHandler } from '../interfaces/request';
4
+ import type { SayModel } from '../models/say';
5
+ import type { TopicModel } from '../models/topic';
6
+ import type { HTTPClient } from '../core';
7
+ import { BaseCrudController } from './base';
8
+ declare module '../core/client' {
9
+ interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
10
+ topic: TopicController<ResponseWrapper>;
11
+ }
12
+ }
13
+ export declare class TopicController<ResponseWrapper> extends BaseCrudController<SayModel, ResponseWrapper> implements IController {
14
+ protected client: HTTPClient;
15
+ base: string;
16
+ name: string;
17
+ constructor(client: HTTPClient);
18
+ get proxy(): IRequestHandler<ResponseWrapper>;
19
+ getTopicBySlug(slug: string): import("../interfaces/request").RequestProxyResult<TopicModel, ResponseWrapper, ResponseWrapper extends unknown ? {
20
+ [key: string]: any;
21
+ data: TopicModel;
22
+ } : ResponseWrapper extends {
23
+ data: TopicModel;
24
+ } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
25
+ data: TopicModel;
26
+ }>;
27
+ }
@@ -1,8 +1,8 @@
1
- import { IRequestAdapter } from '../interfaces/adapter';
2
- import { IController } from '../interfaces/controller';
3
- import { IRequestHandler } from '../interfaces/request';
4
- import { TLogin, UserModel } from '../models/user';
5
- import { HTTPClient } from '../core';
1
+ import type { IRequestAdapter } from '../interfaces/adapter';
2
+ import type { IController } from '../interfaces/controller';
3
+ import type { IRequestHandler } from '../interfaces/request';
4
+ import type { TLogin, UserModel } from '../models/user';
5
+ import type { HTTPClient } from '../core';
6
6
  declare module '../core/client' {
7
7
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
8
8
  user: UserController<ResponseWrapper>;
@@ -1,14 +1,15 @@
1
- import { IAdaptorRequestResponseType, IRequestAdapter } from '../interfaces/adapter';
2
- import { ClientOptions } from '../interfaces/client';
3
- import { IController } from '../interfaces/controller';
4
- import { IRequestHandler } from '../interfaces/request';
5
- import { Class } from '../interfaces/types';
1
+ import type { IAdaptorRequestResponseType, IRequestAdapter } from '../interfaces/adapter';
2
+ import type { ClientOptions } from '../interfaces/client';
3
+ import type { IController } from '../interfaces/controller';
4
+ import type { IRequestHandler } from '../interfaces/request';
5
+ import type { Class } from '../interfaces/types';
6
6
  export type { HTTPClient };
7
7
  declare class HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
8
8
  private readonly _endpoint;
9
9
  private _adaptor;
10
+ private options;
10
11
  private readonly _proxy;
11
- constructor(_endpoint: string, _adaptor: T);
12
+ constructor(_endpoint: string, _adaptor: T, options?: Omit<ClientOptions, 'controllers'>);
12
13
  private initGetClient;
13
14
  injectControllers(...Controller: Class<IController>[]): void;
14
15
  injectControllers(Controller: Class<IController>[]): void;
@@ -1,4 +1,4 @@
1
- import { RequestOptions } from './instance';
1
+ import type { RequestOptions } from './instance';
2
2
  export declare type IAdaptorRequestResponseType<P> = Promise<Record<string, any> & {
3
3
  data: P;
4
4
  }>;
@@ -1,5 +1,9 @@
1
- import { IController } from './controller';
2
- import { Class } from './types';
1
+ import type { IController } from './controller';
2
+ import type { Class } from './types';
3
3
  export declare type ClientOptions = {
4
4
  controllers?: Class<IController>[];
5
+ getCodeMessageFromException?: <T = Error>(error: T) => {
6
+ message?: string | undefined | null;
7
+ code?: number | undefined | null;
8
+ };
5
9
  };
@@ -1,10 +1,10 @@
1
- import { CategoryModel } from './category';
2
- import { NoteModel } from './note';
3
- import { PageModel } from './page';
4
- import { PostModel } from './post';
5
- import { SayModel } from './say';
6
- import { SeoOptionModel } from './setting';
7
- import { UserModel } from './user';
1
+ import type { CategoryModel } from './category';
2
+ import type { NoteModel } from './note';
3
+ import type { PageModel } from './page';
4
+ import type { PostModel } from './post';
5
+ import type { SayModel } from './say';
6
+ import type { SeoOptionModel } from './setting';
7
+ import type { UserModel } from './user';
8
8
  export interface AggregateRoot {
9
9
  user: UserModel;
10
10
  seo: SeoOptionModel;
@@ -1,5 +1,5 @@
1
- import { BaseModel } from './base';
2
- import { PostModel } from './post';
1
+ import type { BaseModel } from './base';
2
+ import type { PostModel } from './post';
3
3
  export declare enum CategoryType {
4
4
  Category = 0,
5
5
  Tag = 1
@@ -1,5 +1,5 @@
1
- import { BaseModel } from './base';
2
- import { CategoryModel } from './category';
1
+ import type { BaseModel } from './base';
2
+ import type { CategoryModel } from './category';
3
3
  export declare enum RefType {
4
4
  Page = "Page",
5
5
  Post = "Post",
@@ -1,4 +1,4 @@
1
- import { BaseModel } from './base';
1
+ import type { BaseModel } from './base';
2
2
  export declare enum LinkType {
3
3
  Friend = 0,
4
4
  Collection = 1
@@ -1,4 +1,5 @@
1
- import { TextBaseModel } from './base';
1
+ import type { TextBaseModel } from './base';
2
+ import type { TopicModel } from './topic';
2
3
  export interface NoteModel extends TextBaseModel {
3
4
  hide: boolean;
4
5
  count: {
@@ -14,6 +15,8 @@ export interface NoteModel extends TextBaseModel {
14
15
  music?: NoteMusicRecord[];
15
16
  location?: string;
16
17
  coordinates?: Coordinate;
18
+ topic?: TopicModel;
19
+ topicId?: string;
17
20
  }
18
21
  export interface NoteMusicRecord {
19
22
  type: string;
@@ -1,4 +1,4 @@
1
- import { TextBaseModel } from './base';
1
+ import type { TextBaseModel } from './base';
2
2
  export declare enum EnumPageType {
3
3
  'md' = "md",
4
4
  'html' = "html",
@@ -1,5 +1,5 @@
1
- import { Count, Image, TextBaseModel } from './base';
2
- import { CategoryModel } from './category';
1
+ import type { Count, Image, TextBaseModel } from './base';
2
+ import type { CategoryModel } from './category';
3
3
  export interface PostModel extends TextBaseModel {
4
4
  summary?: string;
5
5
  copyright: boolean;
@@ -1,4 +1,4 @@
1
- import { BaseModel } from './base';
1
+ import type { BaseModel } from './base';
2
2
  export interface ProjectModel extends BaseModel {
3
3
  name: string;
4
4
  previewUrl?: string;
@@ -1,4 +1,4 @@
1
- import { BaseModel } from './base';
1
+ import type { BaseModel } from './base';
2
2
  export interface RecentlyModel extends BaseModel {
3
3
  content: string;
4
4
  project?: string;
@@ -1,4 +1,4 @@
1
- import { BaseModel } from './base';
1
+ import type { BaseModel } from './base';
2
2
  export interface SayModel extends BaseModel {
3
3
  text: string;
4
4
  source?: string;
@@ -1,4 +1,4 @@
1
- import { BaseModel } from './base';
1
+ import type { BaseModel } from './base';
2
2
  export declare enum SnippetType {
3
3
  JSON = "json",
4
4
  Function = "function",
@@ -0,0 +1,8 @@
1
+ import type { BaseModel } from './base';
2
+ export interface TopicModel extends BaseModel {
3
+ description?: string;
4
+ introduce: string;
5
+ name: string;
6
+ slug: string;
7
+ icon?: string;
8
+ }
@@ -1,4 +1,4 @@
1
- import { BaseModel } from './base';
1
+ import type { BaseModel } from './base';
2
2
  export interface UserModel extends BaseModel {
3
3
  introduce: string;
4
4
  mail: string;
@@ -1,4 +1,4 @@
1
- import { SortOrder } from '../interfaces/options';
1
+ import type { SortOrder } from '../interfaces/options';
2
2
  export declare const isPlainObject: (obj: any) => any;
3
3
  export declare const sortOrderToNumber: (order: SortOrder) => number;
4
4
  export declare const destructureData: (payload: any) => any;
package/utils/index.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { SortOrder } from '~/interfaces/options'
1
+ import type { SortOrder } from '~/interfaces/options'
2
2
 
3
3
  export const isPlainObject = (obj: any) =>
4
4
  isObject(obj) &&