@mx-space/api-client 1.19.0 → 1.20.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 (71) hide show
  1. package/dist/adaptors/axios.d.cts +1 -1
  2. package/dist/adaptors/axios.d.mts +1 -1
  3. package/dist/adaptors/fetch.d.cts +1 -1
  4. package/dist/adaptors/fetch.d.mts +1 -1
  5. package/dist/adaptors/umi-request.d.cts +1 -1
  6. package/dist/adaptors/umi-request.d.mts +1 -1
  7. package/dist/index.cjs +15 -2
  8. package/dist/index.d.cts +31 -3
  9. package/dist/index.d.mts +31 -3
  10. package/dist/index.mjs +15 -2
  11. package/package.json +5 -2
  12. package/controllers/ack.ts +0 -42
  13. package/controllers/activity.ts +0 -108
  14. package/controllers/aggregate.ts +0 -75
  15. package/controllers/ai.ts +0 -70
  16. package/controllers/base.ts +0 -36
  17. package/controllers/category.ts +0 -118
  18. package/controllers/comment.ts +0 -71
  19. package/controllers/index.ts +0 -97
  20. package/controllers/link.ts +0 -46
  21. package/controllers/note.ts +0 -128
  22. package/controllers/page.ts +0 -64
  23. package/controllers/post.ts +0 -93
  24. package/controllers/project.ts +0 -27
  25. package/controllers/recently.ts +0 -82
  26. package/controllers/say.ts +0 -40
  27. package/controllers/search.ts +0 -108
  28. package/controllers/severless.ts +0 -31
  29. package/controllers/snippet.ts +0 -35
  30. package/controllers/subscribe.ts +0 -58
  31. package/controllers/topic.ts +0 -37
  32. package/controllers/user.ts +0 -61
  33. package/dtos/comment.ts +0 -12
  34. package/dtos/index.ts +0 -1
  35. package/index.ts +0 -12
  36. package/interfaces/adapter.ts +0 -36
  37. package/interfaces/client.ts +0 -20
  38. package/interfaces/controller.ts +0 -5
  39. package/interfaces/instance.ts +0 -8
  40. package/interfaces/options.ts +0 -1
  41. package/interfaces/params.ts +0 -4
  42. package/interfaces/request.ts +0 -87
  43. package/interfaces/types.ts +0 -3
  44. package/mod-dts.mjs +0 -21
  45. package/models/activity.ts +0 -133
  46. package/models/aggregate.ts +0 -97
  47. package/models/ai.ts +0 -17
  48. package/models/auth.ts +0 -9
  49. package/models/base.ts +0 -48
  50. package/models/category.ts +0 -25
  51. package/models/comment.ts +0 -44
  52. package/models/index.ts +0 -20
  53. package/models/link.ts +0 -25
  54. package/models/note.ts +0 -41
  55. package/models/page.ts +0 -20
  56. package/models/post.ts +0 -28
  57. package/models/project.ts +0 -12
  58. package/models/reader.ts +0 -9
  59. package/models/recently.ts +0 -24
  60. package/models/say.ts +0 -7
  61. package/models/setting.ts +0 -73
  62. package/models/snippet.ts +0 -19
  63. package/models/subscribe.ts +0 -5
  64. package/models/topic.ts +0 -9
  65. package/models/user.ts +0 -27
  66. package/test.d.ts +0 -3
  67. package/tsconfig.json +0 -37
  68. package/tsdown.config.ts +0 -18
  69. package/vitest.config.ts +0 -13
  70. /package/dist/{adapter-B1dtiutp.d.cts → adapter-D1g1obyM.d.mts} +0 -0
  71. /package/dist/{adapter-CRsPadpS.d.mts → adapter-DLzJOGbI.d.cts} +0 -0
@@ -1,4 +1,4 @@
1
- import { n as IRequestAdapter } from "../adapter-B1dtiutp.cjs";
1
+ import { n as IRequestAdapter } from "../adapter-DLzJOGbI.cjs";
2
2
  import { AxiosInstance, AxiosResponse } from "axios";
3
3
 
4
4
  //#region adaptors/axios.d.ts
@@ -1,4 +1,4 @@
1
- import { n as IRequestAdapter } from "../adapter-CRsPadpS.mjs";
1
+ import { n as IRequestAdapter } from "../adapter-D1g1obyM.mjs";
2
2
  import { AxiosInstance, AxiosResponse } from "axios";
3
3
 
4
4
  //#region adaptors/axios.d.ts
@@ -1,4 +1,4 @@
1
- import { n as IRequestAdapter } from "../adapter-B1dtiutp.cjs";
1
+ import { n as IRequestAdapter } from "../adapter-DLzJOGbI.cjs";
2
2
 
3
3
  //#region adaptors/fetch.d.ts
4
4
  declare const fetchAdaptor: IRequestAdapter<typeof fetch>;
@@ -1,4 +1,4 @@
1
- import { n as IRequestAdapter } from "../adapter-CRsPadpS.mjs";
1
+ import { n as IRequestAdapter } from "../adapter-D1g1obyM.mjs";
2
2
 
3
3
  //#region adaptors/fetch.d.ts
4
4
  declare const fetchAdaptor: IRequestAdapter<typeof fetch>;
@@ -1,4 +1,4 @@
1
- import { n as IRequestAdapter } from "../adapter-B1dtiutp.cjs";
1
+ import { n as IRequestAdapter } from "../adapter-DLzJOGbI.cjs";
2
2
  import { RequestMethod, RequestResponse } from "umi-request";
3
3
 
4
4
  //#region adaptors/umi-request.d.ts
@@ -1,4 +1,4 @@
1
- import { n as IRequestAdapter } from "../adapter-CRsPadpS.mjs";
1
+ import { n as IRequestAdapter } from "../adapter-D1g1obyM.mjs";
2
2
  import { RequestMethod, RequestResponse } from "umi-request";
3
3
 
4
4
  //#region adaptors/umi-request.d.ts
package/dist/index.cjs CHANGED
@@ -427,6 +427,19 @@ var NoteController = class {
427
427
  else return this.proxy(id).get();
428
428
  }
429
429
  /**
430
+ * 根据 nid 获取日记,支持翻译参数
431
+ * @param nid 日记编号
432
+ * @param options 可选参数:password, single, lang
433
+ */
434
+ getNoteByNid(nid, options) {
435
+ const { password, single, lang } = options || {};
436
+ return this.proxy.nid(nid.toString()).get({ params: {
437
+ password,
438
+ single: single ? "1" : void 0,
439
+ lang
440
+ } });
441
+ }
442
+ /**
430
443
  * 日记列表分页
431
444
  */
432
445
  getList(page = 1, perPage = 10, options = {}) {
@@ -529,9 +542,9 @@ var PostController = class {
529
542
  truncate
530
543
  } });
531
544
  }
532
- getPost(idOrCategoryName, slug) {
545
+ getPost(idOrCategoryName, slug, options) {
533
546
  if (arguments.length == 1) return this.proxy(idOrCategoryName).get();
534
- else return this.proxy(idOrCategoryName)(slug).get();
547
+ else return this.proxy(idOrCategoryName)(slug).get({ params: options?.lang ? { lang: options.lang } : void 0 });
535
548
  }
536
549
  /**
537
550
  * 获取最新的文章
package/dist/index.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { n as IRequestAdapter, r as RequestOptions, t as IAdaptorRequestResponseType } from "./adapter-B1dtiutp.cjs";
1
+ import { n as IRequestAdapter, r as RequestOptions, t as IAdaptorRequestResponseType } from "./adapter-DLzJOGbI.cjs";
2
2
 
3
3
  //#region interfaces/controller.d.ts
4
4
  interface IController {
@@ -174,6 +174,15 @@ interface TextBaseModel extends BaseCommentIndexModel {
174
174
  type ModelWithLiked<T> = T & {
175
175
  liked: boolean;
176
176
  };
177
+ interface TranslationMeta {
178
+ sourceLang: string;
179
+ targetLang: string;
180
+ translatedAt: string;
181
+ }
182
+ type ModelWithTranslation<T> = T & {
183
+ isTranslated: boolean;
184
+ translationMeta?: TranslationMeta;
185
+ };
177
186
  //#endregion
178
187
  //#region models/post.d.ts
179
188
  interface PostModel extends TextBaseModel {
@@ -374,6 +383,11 @@ interface NoteWrappedWithLikedPayload {
374
383
  next?: Partial<NoteModel>;
375
384
  prev?: Partial<NoteModel>;
376
385
  }
386
+ interface NoteWrappedWithLikedAndTranslationPayload {
387
+ data: ModelWithLiked<ModelWithTranslation<NoteModel>>;
388
+ next?: Partial<NoteModel>;
389
+ prev?: Partial<NoteModel>;
390
+ }
377
391
  //#endregion
378
392
  //#region models/page.d.ts
379
393
  declare enum EnumPageType {
@@ -1357,6 +1371,11 @@ type NoteListOptions = {
1357
1371
  sortBy?: 'weather' | 'mood' | 'title' | 'created' | 'modified';
1358
1372
  sortOrder?: 1 | -1;
1359
1373
  };
1374
+ type NoteByNidOptions = {
1375
+ password?: string;
1376
+ single?: boolean;
1377
+ lang?: string;
1378
+ };
1360
1379
  declare class NoteController<ResponseWrapper> implements IController {
1361
1380
  private client;
1362
1381
  base: string;
@@ -1384,6 +1403,12 @@ declare class NoteController<ResponseWrapper> implements IController {
1384
1403
  getNoteById(id: number, password: string): Promise<NoteWrappedPayload>;
1385
1404
  getNoteById(id: number, password: undefined, singleResult: true): Promise<RequestProxyResult<NoteModel, ResponseWrapper>>;
1386
1405
  getNoteById(id: number, password: string, singleResult: true): Promise<RequestProxyResult<NoteModel, ResponseWrapper>>;
1406
+ /**
1407
+ * 根据 nid 获取日记,支持翻译参数
1408
+ * @param nid 日记编号
1409
+ * @param options 可选参数:password, single, lang
1410
+ */
1411
+ getNoteByNid(nid: number, options?: NoteByNidOptions): RequestProxyResult<NoteWrappedWithLikedAndTranslationPayload, ResponseWrapper>;
1387
1412
  /**
1388
1413
  * 日记列表分页
1389
1414
  */
@@ -1522,8 +1547,11 @@ declare class PostController<ResponseWrapper> implements IController {
1522
1547
  * 根据分类和路径查找文章
1523
1548
  * @param categoryName
1524
1549
  * @param slug
1550
+ * @param options 可选参数,包含 lang 用于获取翻译版本
1525
1551
  */
1526
- getPost(categoryName: string, slug: string): RequestProxyResult<ModelWithLiked<PostModel>, ResponseWrapper>;
1552
+ getPost(categoryName: string, slug: string, options?: {
1553
+ lang?: string;
1554
+ }): RequestProxyResult<ModelWithLiked<ModelWithTranslation<PostModel>>, ResponseWrapper>;
1527
1555
  /**
1528
1556
  * 根据 ID 查找文章
1529
1557
  * @param id
@@ -2020,4 +2048,4 @@ declare const allControllerNames: readonly ["ai", "ack", "activity", "aggregate"
2020
2048
  */
2021
2049
  declare const camelcaseKeys: <T = any>(obj: any) => T;
2022
2050
  //#endregion
2023
- export { AIController, AIDeepReadingModel, AISummaryModel, AckController, ActivityController, ActivityPresence, AdminExtraModel, AggregateAIConfig, AggregateController, AggregateRoot, AggregateRootWithTheme, AggregateStat, AggregateTop, AggregateTopNote, AggregateTopPost, AlgoliaSearchOptionsModel, AuthUser, BackupOptionsModel, BaiduSearchOptionsModel, BaseCommentIndexModel, BaseModel, BingSearchOptionsModel, CategoryController, CategoryEntries, CategoryModel, CategoryType, CategoryWithChildrenModel, CollectionRefTypes, CommentController, CommentDto, CommentModel, CommentOptionsModel, CommentRef, CommentState, Coordinate, Count, EnumPageType, type HTTPClient, IConfig, IConfigKeys, type IRequestAdapter, Image, LastYearPublication, LinkController, LinkModel, LinkState, LinkType, MailOptionsModel, ModelWithLiked, NoteController, NoteModel, NoteWrappedPayload, NoteWrappedWithLikedPayload, PageController, PageModel, Pager, PaginateResult, PostController, PostModel, ProjectController, ProjectModel, ReaderModel, RecentActivities, RecentComment, RecentLike, RecentNote, RecentPost, RecentRecent, RecentlyAttitudeEnum, RecentlyAttitudeResultEnum, RecentlyController, RecentlyModel, RecentlyRefType, RecentlyRefTypes, RequestError, RoomOmittedNote, RoomOmittedPage, RoomOmittedPost, RoomsData, SayController, SayModel, SearchController, SeoOptionModel, ServerlessController, SnippetController, SnippetModel, SnippetType, SubscribeAllBit, SubscribeController, SubscribeNoteCreateBit, SubscribePostCreateBit, SubscribeRecentCreateBit, SubscribeSayCreateBit, SubscribeType, SubscribeTypeToBitMap, TLogin, TagModel, TextBaseModel, TimelineData, TimelineType, TopicController, TopicModel, Url, UrlOptionModel, UserController, UserModel, allControllerNames, allControllers, createClient, createClient as default, camelcaseKeys as simpleCamelcaseKeys };
2051
+ export { AIController, AIDeepReadingModel, AISummaryModel, AckController, ActivityController, ActivityPresence, AdminExtraModel, AggregateAIConfig, AggregateController, AggregateRoot, AggregateRootWithTheme, AggregateStat, AggregateTop, AggregateTopNote, AggregateTopPost, AlgoliaSearchOptionsModel, AuthUser, BackupOptionsModel, BaiduSearchOptionsModel, BaseCommentIndexModel, BaseModel, BingSearchOptionsModel, CategoryController, CategoryEntries, CategoryModel, CategoryType, CategoryWithChildrenModel, CollectionRefTypes, CommentController, CommentDto, CommentModel, CommentOptionsModel, CommentRef, CommentState, Coordinate, Count, EnumPageType, type HTTPClient, IConfig, IConfigKeys, type IRequestAdapter, Image, LastYearPublication, LinkController, LinkModel, LinkState, LinkType, MailOptionsModel, ModelWithLiked, ModelWithTranslation, NoteController, NoteModel, NoteWrappedPayload, NoteWrappedWithLikedAndTranslationPayload, NoteWrappedWithLikedPayload, PageController, PageModel, Pager, PaginateResult, PostController, PostModel, ProjectController, ProjectModel, ReaderModel, RecentActivities, RecentComment, RecentLike, RecentNote, RecentPost, RecentRecent, RecentlyAttitudeEnum, RecentlyAttitudeResultEnum, RecentlyController, RecentlyModel, RecentlyRefType, RecentlyRefTypes, RequestError, RoomOmittedNote, RoomOmittedPage, RoomOmittedPost, RoomsData, SayController, SayModel, SearchController, SeoOptionModel, ServerlessController, SnippetController, SnippetModel, SnippetType, SubscribeAllBit, SubscribeController, SubscribeNoteCreateBit, SubscribePostCreateBit, SubscribeRecentCreateBit, SubscribeSayCreateBit, SubscribeType, SubscribeTypeToBitMap, TLogin, TagModel, TextBaseModel, TimelineData, TimelineType, TopicController, TopicModel, TranslationMeta, Url, UrlOptionModel, UserController, UserModel, allControllerNames, allControllers, createClient, createClient as default, camelcaseKeys as simpleCamelcaseKeys };
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { n as IRequestAdapter, r as RequestOptions, t as IAdaptorRequestResponseType } from "./adapter-B1dtiutp.cjs";
1
+ import { n as IRequestAdapter, r as RequestOptions, t as IAdaptorRequestResponseType } from "./adapter-DLzJOGbI.cjs";
2
2
 
3
3
  //#region interfaces/controller.d.ts
4
4
  interface IController {
@@ -174,6 +174,15 @@ interface TextBaseModel extends BaseCommentIndexModel {
174
174
  type ModelWithLiked<T> = T & {
175
175
  liked: boolean;
176
176
  };
177
+ interface TranslationMeta {
178
+ sourceLang: string;
179
+ targetLang: string;
180
+ translatedAt: string;
181
+ }
182
+ type ModelWithTranslation<T> = T & {
183
+ isTranslated: boolean;
184
+ translationMeta?: TranslationMeta;
185
+ };
177
186
  //#endregion
178
187
  //#region models/post.d.ts
179
188
  interface PostModel extends TextBaseModel {
@@ -374,6 +383,11 @@ interface NoteWrappedWithLikedPayload {
374
383
  next?: Partial<NoteModel>;
375
384
  prev?: Partial<NoteModel>;
376
385
  }
386
+ interface NoteWrappedWithLikedAndTranslationPayload {
387
+ data: ModelWithLiked<ModelWithTranslation<NoteModel>>;
388
+ next?: Partial<NoteModel>;
389
+ prev?: Partial<NoteModel>;
390
+ }
377
391
  //#endregion
378
392
  //#region models/page.d.ts
379
393
  declare enum EnumPageType {
@@ -1357,6 +1371,11 @@ type NoteListOptions = {
1357
1371
  sortBy?: 'weather' | 'mood' | 'title' | 'created' | 'modified';
1358
1372
  sortOrder?: 1 | -1;
1359
1373
  };
1374
+ type NoteByNidOptions = {
1375
+ password?: string;
1376
+ single?: boolean;
1377
+ lang?: string;
1378
+ };
1360
1379
  declare class NoteController<ResponseWrapper> implements IController {
1361
1380
  private client;
1362
1381
  base: string;
@@ -1384,6 +1403,12 @@ declare class NoteController<ResponseWrapper> implements IController {
1384
1403
  getNoteById(id: number, password: string): Promise<NoteWrappedPayload>;
1385
1404
  getNoteById(id: number, password: undefined, singleResult: true): Promise<RequestProxyResult<NoteModel, ResponseWrapper>>;
1386
1405
  getNoteById(id: number, password: string, singleResult: true): Promise<RequestProxyResult<NoteModel, ResponseWrapper>>;
1406
+ /**
1407
+ * 根据 nid 获取日记,支持翻译参数
1408
+ * @param nid 日记编号
1409
+ * @param options 可选参数:password, single, lang
1410
+ */
1411
+ getNoteByNid(nid: number, options?: NoteByNidOptions): RequestProxyResult<NoteWrappedWithLikedAndTranslationPayload, ResponseWrapper>;
1387
1412
  /**
1388
1413
  * 日记列表分页
1389
1414
  */
@@ -1522,8 +1547,11 @@ declare class PostController<ResponseWrapper> implements IController {
1522
1547
  * 根据分类和路径查找文章
1523
1548
  * @param categoryName
1524
1549
  * @param slug
1550
+ * @param options 可选参数,包含 lang 用于获取翻译版本
1525
1551
  */
1526
- getPost(categoryName: string, slug: string): RequestProxyResult<ModelWithLiked<PostModel>, ResponseWrapper>;
1552
+ getPost(categoryName: string, slug: string, options?: {
1553
+ lang?: string;
1554
+ }): RequestProxyResult<ModelWithLiked<ModelWithTranslation<PostModel>>, ResponseWrapper>;
1527
1555
  /**
1528
1556
  * 根据 ID 查找文章
1529
1557
  * @param id
@@ -2020,4 +2048,4 @@ declare const allControllerNames: readonly ["ai", "ack", "activity", "aggregate"
2020
2048
  */
2021
2049
  declare const camelcaseKeys: <T = any>(obj: any) => T;
2022
2050
  //#endregion
2023
- export { AIController, AIDeepReadingModel, AISummaryModel, AckController, ActivityController, ActivityPresence, AdminExtraModel, AggregateAIConfig, AggregateController, AggregateRoot, AggregateRootWithTheme, AggregateStat, AggregateTop, AggregateTopNote, AggregateTopPost, AlgoliaSearchOptionsModel, AuthUser, BackupOptionsModel, BaiduSearchOptionsModel, BaseCommentIndexModel, BaseModel, BingSearchOptionsModel, CategoryController, CategoryEntries, CategoryModel, CategoryType, CategoryWithChildrenModel, CollectionRefTypes, CommentController, CommentDto, CommentModel, CommentOptionsModel, CommentRef, CommentState, Coordinate, Count, EnumPageType, type HTTPClient, IConfig, IConfigKeys, type IRequestAdapter, Image, LastYearPublication, LinkController, LinkModel, LinkState, LinkType, MailOptionsModel, ModelWithLiked, NoteController, NoteModel, NoteWrappedPayload, NoteWrappedWithLikedPayload, PageController, PageModel, Pager, PaginateResult, PostController, PostModel, ProjectController, ProjectModel, ReaderModel, RecentActivities, RecentComment, RecentLike, RecentNote, RecentPost, RecentRecent, RecentlyAttitudeEnum, RecentlyAttitudeResultEnum, RecentlyController, RecentlyModel, RecentlyRefType, RecentlyRefTypes, RequestError, RoomOmittedNote, RoomOmittedPage, RoomOmittedPost, RoomsData, SayController, SayModel, SearchController, SeoOptionModel, ServerlessController, SnippetController, SnippetModel, SnippetType, SubscribeAllBit, SubscribeController, SubscribeNoteCreateBit, SubscribePostCreateBit, SubscribeRecentCreateBit, SubscribeSayCreateBit, SubscribeType, SubscribeTypeToBitMap, TLogin, TagModel, TextBaseModel, TimelineData, TimelineType, TopicController, TopicModel, Url, UrlOptionModel, UserController, UserModel, allControllerNames, allControllers, createClient, createClient as default, camelcaseKeys as simpleCamelcaseKeys };
2051
+ export { AIController, AIDeepReadingModel, AISummaryModel, AckController, ActivityController, ActivityPresence, AdminExtraModel, AggregateAIConfig, AggregateController, AggregateRoot, AggregateRootWithTheme, AggregateStat, AggregateTop, AggregateTopNote, AggregateTopPost, AlgoliaSearchOptionsModel, AuthUser, BackupOptionsModel, BaiduSearchOptionsModel, BaseCommentIndexModel, BaseModel, BingSearchOptionsModel, CategoryController, CategoryEntries, CategoryModel, CategoryType, CategoryWithChildrenModel, CollectionRefTypes, CommentController, CommentDto, CommentModel, CommentOptionsModel, CommentRef, CommentState, Coordinate, Count, EnumPageType, type HTTPClient, IConfig, IConfigKeys, type IRequestAdapter, Image, LastYearPublication, LinkController, LinkModel, LinkState, LinkType, MailOptionsModel, ModelWithLiked, ModelWithTranslation, NoteController, NoteModel, NoteWrappedPayload, NoteWrappedWithLikedAndTranslationPayload, NoteWrappedWithLikedPayload, PageController, PageModel, Pager, PaginateResult, PostController, PostModel, ProjectController, ProjectModel, ReaderModel, RecentActivities, RecentComment, RecentLike, RecentNote, RecentPost, RecentRecent, RecentlyAttitudeEnum, RecentlyAttitudeResultEnum, RecentlyController, RecentlyModel, RecentlyRefType, RecentlyRefTypes, RequestError, RoomOmittedNote, RoomOmittedPage, RoomOmittedPost, RoomsData, SayController, SayModel, SearchController, SeoOptionModel, ServerlessController, SnippetController, SnippetModel, SnippetType, SubscribeAllBit, SubscribeController, SubscribeNoteCreateBit, SubscribePostCreateBit, SubscribeRecentCreateBit, SubscribeSayCreateBit, SubscribeType, SubscribeTypeToBitMap, TLogin, TagModel, TextBaseModel, TimelineData, TimelineType, TopicController, TopicModel, TranslationMeta, Url, UrlOptionModel, UserController, UserModel, allControllerNames, allControllers, createClient, createClient as default, camelcaseKeys as simpleCamelcaseKeys };
package/dist/index.mjs CHANGED
@@ -425,6 +425,19 @@ var NoteController = class {
425
425
  else return this.proxy(id).get();
426
426
  }
427
427
  /**
428
+ * 根据 nid 获取日记,支持翻译参数
429
+ * @param nid 日记编号
430
+ * @param options 可选参数:password, single, lang
431
+ */
432
+ getNoteByNid(nid, options) {
433
+ const { password, single, lang } = options || {};
434
+ return this.proxy.nid(nid.toString()).get({ params: {
435
+ password,
436
+ single: single ? "1" : void 0,
437
+ lang
438
+ } });
439
+ }
440
+ /**
428
441
  * 日记列表分页
429
442
  */
430
443
  getList(page = 1, perPage = 10, options = {}) {
@@ -527,9 +540,9 @@ var PostController = class {
527
540
  truncate
528
541
  } });
529
542
  }
530
- getPost(idOrCategoryName, slug) {
543
+ getPost(idOrCategoryName, slug, options) {
531
544
  if (arguments.length == 1) return this.proxy(idOrCategoryName).get();
532
- else return this.proxy(idOrCategoryName)(slug).get();
545
+ else return this.proxy(idOrCategoryName)(slug).get({ params: options?.lang ? { lang: options.lang } : void 0 });
533
546
  }
534
547
  /**
535
548
  * 获取最新的文章
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mx-space/api-client",
3
- "version": "1.19.0",
3
+ "version": "1.20.0",
4
4
  "description": "A api client for mx-space server@next",
5
5
  "type": "module",
6
6
  "engines": {
@@ -8,9 +8,12 @@
8
8
  },
9
9
  "license": "MIT",
10
10
  "author": "Innei",
11
+ "files": [
12
+ "dist"
13
+ ],
11
14
  "main": "dist/index.cjs",
12
15
  "module": "dist/index.js",
13
- "types": "dist/index.d.ts",
16
+ "types": "dist/index.d.mts",
14
17
  "exports": {
15
18
  ".": {
16
19
  "types": "./dist/index.d.mts",
@@ -1,42 +0,0 @@
1
- import type { IRequestAdapter } from '~/interfaces/adapter'
2
- import type { IController } from '~/interfaces/controller'
3
- import type { IRequestHandler } from '~/interfaces/request'
4
- import { autoBind } from '~/utils/auto-bind'
5
- import type { HTTPClient } from '../core'
6
-
7
- declare module '../core/client' {
8
- interface HTTPClient<
9
- T extends IRequestAdapter = IRequestAdapter,
10
- ResponseWrapper = unknown,
11
- > {
12
- ack: AckController<ResponseWrapper>
13
- }
14
- }
15
-
16
- /**
17
- * @support core >= 4.4.0
18
- */
19
- export class AckController<ResponseWrapper> implements IController {
20
- base = 'ack'
21
- name = 'ack'
22
-
23
- constructor(private client: HTTPClient) {
24
- autoBind(this)
25
- }
26
-
27
- public get proxy(): IRequestHandler<ResponseWrapper> {
28
- return this.client.proxy(this.base)
29
- }
30
-
31
- read(type: 'post' | 'note', id: string) {
32
- return this.proxy.post<never>({
33
- data: {
34
- type: 'read',
35
- payload: {
36
- type,
37
- id,
38
- },
39
- },
40
- })
41
- }
42
- }
@@ -1,108 +0,0 @@
1
- import type { IRequestAdapter } from '~/interfaces/adapter'
2
- import type { IController } from '~/interfaces/controller'
3
- import type { IRequestHandler } from '~/interfaces/request'
4
- import type { AuthUser } from '~/models'
5
- import type {
6
- ActivityPresence,
7
- LastYearPublication,
8
- RecentActivities,
9
- RoomsData,
10
- } from '~/models/activity'
11
- import { autoBind } from '~/utils/auto-bind'
12
- import type { HTTPClient } from '../core'
13
-
14
- declare module '../core/client' {
15
- interface HTTPClient<
16
- T extends IRequestAdapter = IRequestAdapter,
17
- ResponseWrapper = unknown,
18
- > {
19
- activity: ActivityController<ResponseWrapper>
20
- }
21
- }
22
-
23
- /**
24
- * @support core >= 4.3.0
25
- */
26
- export class ActivityController<ResponseWrapper> implements IController {
27
- base = 'activity'
28
- name = 'activity'
29
-
30
- constructor(private client: HTTPClient) {
31
- autoBind(this)
32
- }
33
-
34
- public get proxy(): IRequestHandler<ResponseWrapper> {
35
- return this.client.proxy(this.base)
36
- }
37
-
38
- likeIt(type: 'Post' | 'Note', id: string) {
39
- return this.proxy.like.post<never>({
40
- data: {
41
- type: type.toLowerCase(),
42
- id,
43
- },
44
- })
45
- }
46
-
47
- /**
48
- *
49
- * @support core >= 5.0.0
50
- */
51
- getPresence(roomName: string) {
52
- return this.proxy.presence.get<{
53
- data: Record<string, ActivityPresence>
54
- readers: Record<string, AuthUser>
55
- }>({
56
- params: {
57
- room_name: roomName,
58
- },
59
- })
60
- }
61
-
62
- /**
63
- *
64
- * @support core >= 5.0.0
65
- */
66
- updatePresence({
67
- identity,
68
- position,
69
- roomName,
70
- sid,
71
- ts,
72
- displayName,
73
- readerId,
74
- }: {
75
- roomName: string
76
- position: number
77
- identity: string
78
- sid: string
79
-
80
- displayName?: string
81
- ts?: number
82
- readerId?: string
83
- }) {
84
- return this.proxy.presence.update.post({
85
- data: {
86
- identity,
87
- position,
88
- ts: ts || Date.now(),
89
- roomName,
90
- sid,
91
- readerId,
92
- displayName,
93
- },
94
- })
95
- }
96
-
97
- async getRoomsInfo() {
98
- return this.proxy.rooms.get<RoomsData>()
99
- }
100
-
101
- async getRecentActivities() {
102
- return this.proxy.recent.get<RecentActivities>()
103
- }
104
-
105
- async getLastYearPublication(): Promise<LastYearPublication> {
106
- return this.proxy(`last-year`).publication.get<LastYearPublication>()
107
- }
108
- }
@@ -1,75 +0,0 @@
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 {
6
- AggregateRootWithTheme,
7
- AggregateStat,
8
- AggregateTop,
9
- TimelineData,
10
- TimelineType,
11
- } from '~/models/aggregate'
12
- import { sortOrderToNumber } from '~/utils'
13
- import { autoBind } from '~/utils/auto-bind'
14
- import type { HTTPClient } from '../core'
15
-
16
- declare module '../core/client' {
17
- interface HTTPClient<
18
- T extends IRequestAdapter = IRequestAdapter,
19
- ResponseWrapper = unknown,
20
- > {
21
- aggregate: AggregateController<ResponseWrapper>
22
- }
23
- }
24
-
25
- export class AggregateController<ResponseWrapper> implements IController {
26
- base = 'aggregate'
27
- name = 'aggregate'
28
- constructor(private client: HTTPClient) {
29
- autoBind(this)
30
- }
31
- public get proxy(): IRequestHandler<ResponseWrapper> {
32
- return this.client.proxy(this.base)
33
- }
34
-
35
- /**
36
- * 获取聚合数据
37
- */
38
- getAggregateData<Theme>(
39
- theme?: string,
40
- ): RequestProxyResult<AggregateRootWithTheme<Theme>, ResponseWrapper> {
41
- return this.proxy.get<AggregateRootWithTheme<Theme>>({
42
- params: {
43
- theme,
44
- },
45
- })
46
- }
47
-
48
- /**
49
- * 获取最新发布的内容
50
- */
51
- getTop(size = 5) {
52
- return this.proxy.top.get<AggregateTop>({ params: { size } })
53
- }
54
-
55
- getTimeline(options?: {
56
- sort?: SortOrder
57
- type?: TimelineType
58
- year?: number
59
- }) {
60
- const { sort, type, year } = options || {}
61
- return this.proxy.timeline.get<{ data: TimelineData }>({
62
- params: {
63
- sort: sort && sortOrderToNumber(sort),
64
- type,
65
- year,
66
- },
67
- })
68
- }
69
- /**
70
- * 获取聚合数据统计
71
- */
72
- getStat() {
73
- return this.proxy.stat.get<AggregateStat>()
74
- }
75
- }
package/controllers/ai.ts DELETED
@@ -1,70 +0,0 @@
1
- import type { IRequestAdapter } from '~/interfaces/adapter'
2
- import type { IController } from '~/interfaces/controller'
3
- import type { IRequestHandler } from '~/interfaces/request'
4
- import { autoBind } from '~/utils/auto-bind'
5
- import type { HTTPClient } from '../core'
6
- import type { AIDeepReadingModel, AISummaryModel } from '../models/ai'
7
-
8
- declare module '../core/client' {
9
- interface HTTPClient<
10
- T extends IRequestAdapter = IRequestAdapter,
11
- ResponseWrapper = unknown,
12
- > {
13
- ai: AIController<ResponseWrapper>
14
- }
15
- }
16
-
17
- /**
18
- * @support core >= 5.6.0
19
- */
20
- export class AIController<ResponseWrapper> implements IController {
21
- base = 'ai'
22
- name = 'ai'
23
-
24
- constructor(private client: HTTPClient) {
25
- autoBind(this)
26
- }
27
-
28
- public get proxy(): IRequestHandler<ResponseWrapper> {
29
- return this.client.proxy(this.base)
30
- }
31
-
32
- async getSummary({
33
- articleId,
34
- lang = 'zh-CN',
35
- onlyDb,
36
- }: {
37
- articleId: string
38
- lang?: string
39
- onlyDb?: boolean
40
- }) {
41
- return this.proxy.summaries.article(articleId).get<AISummaryModel>({
42
- params: {
43
- lang,
44
- onlyDb,
45
- },
46
- })
47
- }
48
-
49
- async generateSummary(articleId: string, lang = 'zh-CN', token = '') {
50
- return this.proxy.summaries.generate.post<AISummaryModel>({
51
- params: {
52
- token,
53
- },
54
- data: {
55
- lang,
56
- refId: articleId,
57
- },
58
- })
59
- }
60
-
61
- /**
62
- * Core >= 8.3.0
63
- * @param articleId
64
- */
65
- async getDeepReading(articleId: string) {
66
- return this.proxy('deep-readings')
67
- .article(articleId)
68
- .get<AIDeepReadingModel>()
69
- }
70
- }
@@ -1,36 +0,0 @@
1
- import type { IRequestHandler, RequestProxyResult } from '~/interfaces/request'
2
- import type { PaginateResult } from '~/models/base'
3
- import { autoBind } from '~/utils/auto-bind'
4
- import type { HTTPClient } from '../core'
5
-
6
- export type SortOptions = {
7
- sortBy?: string
8
- sortOrder?: 1 | -1 | 'asc' | 'desc'
9
- }
10
- export abstract class BaseCrudController<T, ResponseWrapper> {
11
- base!: string
12
- constructor(protected client: HTTPClient) {
13
- autoBind(this)
14
- }
15
- public get proxy(): IRequestHandler<ResponseWrapper> {
16
- return this.client.proxy(this.base)
17
- }
18
-
19
- getById(id: string): RequestProxyResult<T, ResponseWrapper> {
20
- return this.proxy(id).get<T>()
21
- }
22
-
23
- getAll() {
24
- return this.proxy.all.get<{ data: T[] }>()
25
- }
26
- /**
27
- * 带分页的查询
28
- * @param page
29
- * @param perPage
30
- */
31
- getAllPaginated(page?: number, perPage?: number, sortOption?: SortOptions) {
32
- return this.proxy.get<PaginateResult<T>>({
33
- params: { page, size: perPage, ...sortOption },
34
- })
35
- }
36
- }