@mx-space/api-client 1.20.0 → 1.21.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,33 @@
1
+ ** Mix Space Open Source License**
2
+
3
+ This project is dual-licensed under different terms for different parts of the project. It is important for users and contributors to understand the licensing terms applicable to each part of the project.
4
+
5
+ ### For the `apps/` Directory
6
+
7
+ **License:** GNU Affero General Public License v3.0 (AGPLv3) with Additional Terms (ADDITIONAL_TERMS).
8
+
9
+ **Scope:** This license applies exclusively to all files within the `apps/` directory of this project.
10
+
11
+ **Summary:**
12
+ - The AGPLv3 is a free, copyleft license suitable for software that will be distributed over a network. It allows users to use, modify, and distribute the software and any modifications under the same terms.
13
+ - The "Additional Terms" (ADDITIONAL_TERMS) are specific conditions that are added to the AGPLv3 license. These terms must be reviewed in the accompanying LICENSE file or documentation to understand any additional restrictions or permissions that apply to the software.
14
+
15
+ ### For Other Parts of the Project
16
+
17
+ **License:** MIT License.
18
+
19
+ **Scope:** This license applies to all parts of the project that are not included within the `apps/` directory.
20
+
21
+ **Summary:**
22
+ - The MIT License is a permissive open-source license that allows users considerable freedom. It permits use, copying, modification, merging, publishing, distribution, sublicensing, and/or selling copies of the software.
23
+ - It also protects the authors by including a limitation of liability and a disclaimer of warranty.
24
+
25
+ **General Conditions:**
26
+ - Redistribution and use in source and binary forms, with or without modification, are permitted provided that the above license notices and this permission notice appear in all copies of the software.
27
+ - The software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and noninfringement.
28
+
29
+ **Contribution:**
30
+ - Contributions to this project are accepted under the terms of the same license as the part of the project to which the contribution is made.
31
+
32
+ **Notice:**
33
+ - This summary is not the license itself and is not a substitute for reading the licenses in their entirety. All users and contributors are encouraged to read the full text of the licenses for a comprehensive understanding.
@@ -1,5 +1,5 @@
1
- Object.defineProperty(exports, '__esModule', { value: true });
2
- //#region rolldown:runtime
1
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
2
+ //#region \0rolldown/runtime.js
3
3
  var __create = Object.create;
4
4
  var __defProp = Object.defineProperty;
5
5
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -1,3 +1,4 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
1
2
 
2
3
  //#region adaptors/fetch.ts
3
4
  const jsonDataAttachResponse = async (response) => {
@@ -1,4 +1,4 @@
1
- Object.defineProperty(exports, '__esModule', { value: true });
1
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
2
2
  const require_adaptors_axios = require('./axios.cjs');
3
3
  let umi_request = require("umi-request");
4
4
 
package/dist/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- Object.defineProperty(exports, '__esModule', { value: true });
1
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
2
2
 
3
3
  //#region utils/index.ts
4
4
  const isPlainObject = (obj) => isObject(obj) && Object.prototype.toString.call(obj) === "[object Object]" && Object.getPrototypeOf(obj) === Object.prototype;
@@ -455,17 +455,30 @@ var NoteController = class {
455
455
  }
456
456
  /**
457
457
  * 获取当前日记的上下各 n / 2 篇日记
458
+ * @param id 当前日记 ID
459
+ * @param size 返回数量,默认 5
460
+ * @param options 可选参数,包含 lang 用于获取翻译版本
458
461
  */
459
- getMiddleList(id, size = 5) {
460
- return this.proxy.list(id).get({ params: { size } });
462
+ getMiddleList(id, size = 5, options) {
463
+ const { lang } = options || {};
464
+ return this.proxy.list(id).get({ params: {
465
+ size,
466
+ lang
467
+ } });
461
468
  }
462
469
  /**
463
470
  * 获取专栏内的所有日记
471
+ * @param topicId 专栏 ID
472
+ * @param page 页码,默认 1
473
+ * @param size 每页数量,默认 10
474
+ * @param options 可选参数,包含排序选项和 lang 用于获取翻译版本
464
475
  */
465
- getNoteByTopicId(topicId, page = 1, size = 10, sortOptions = {}) {
476
+ getNoteByTopicId(topicId, page = 1, size = 10, options = {}) {
477
+ const { lang, ...sortOptions } = options;
466
478
  return this.proxy.topics(topicId).get({ params: {
467
479
  page,
468
480
  size,
481
+ lang,
469
482
  ...sortOptions
470
483
  } });
471
484
  }
@@ -528,10 +541,11 @@ var PostController = class {
528
541
  * 获取文章列表分页
529
542
  * @param page
530
543
  * @param perPage
531
- * @returns
544
+ * @param options 可选参数,包含 lang 用于获取翻译版本
545
+ * @returns 当传入 lang 时,返回的文章可能包含 isTranslated 和 translationMeta 字段
532
546
  */
533
547
  getList(page = 1, perPage = 10, options = {}) {
534
- const { select, sortBy, sortOrder, year, truncate } = options;
548
+ const { select, sortBy, sortOrder, year, truncate, lang } = options;
535
549
  return this.proxy.get({ params: {
536
550
  page,
537
551
  size: perPage,
@@ -539,7 +553,8 @@ var PostController = class {
539
553
  sortBy,
540
554
  sortOrder,
541
555
  year,
542
- truncate
556
+ truncate,
557
+ lang
543
558
  } });
544
559
  }
545
560
  getPost(idOrCategoryName, slug, options) {
package/dist/index.d.cts CHANGED
@@ -100,7 +100,7 @@ declare class RequestError extends Error {
100
100
  }
101
101
  //#endregion
102
102
  //#region controllers/ack.d.ts
103
- declare module '@mx-space/api-client' {
103
+ declare module '../core/client' {
104
104
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
105
105
  ack: AckController<ResponseWrapper>;
106
106
  }
@@ -182,6 +182,7 @@ interface TranslationMeta {
182
182
  type ModelWithTranslation<T> = T & {
183
183
  isTranslated: boolean;
184
184
  translationMeta?: TranslationMeta;
185
+ availableTranslations?: string[];
185
186
  };
186
187
  //#endregion
187
188
  //#region models/post.d.ts
@@ -739,7 +740,7 @@ declare const SubscribeTypeToBitMap: {
739
740
  type SubscribeType = keyof typeof SubscribeTypeToBitMap;
740
741
  //#endregion
741
742
  //#region controllers/activity.d.ts
742
- declare module '@mx-space/api-client' {
743
+ declare module '../core/client' {
743
744
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
744
745
  activity: ActivityController<ResponseWrapper>;
745
746
  }
@@ -892,7 +893,7 @@ declare class ActivityController<ResponseWrapper> implements IController {
892
893
  type SortOrder = 'asc' | 'desc';
893
894
  //#endregion
894
895
  //#region controllers/aggregate.d.ts
895
- declare module '@mx-space/api-client' {
896
+ declare module '../core/client' {
896
897
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
897
898
  aggregate: AggregateController<ResponseWrapper>;
898
899
  }
@@ -952,7 +953,7 @@ declare class AggregateController<ResponseWrapper> implements IController {
952
953
  }
953
954
  //#endregion
954
955
  //#region controllers/ai.d.ts
955
- declare module '@mx-space/api-client' {
956
+ declare module '../core/client' {
956
957
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
957
958
  ai: AIController<ResponseWrapper>;
958
959
  }
@@ -1086,7 +1087,7 @@ declare class AIController<ResponseWrapper> implements IController {
1086
1087
  }
1087
1088
  //#endregion
1088
1089
  //#region controllers/category.d.ts
1089
- declare module '@mx-space/api-client' {
1090
+ declare module '../core/client' {
1090
1091
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1091
1092
  category: CategoryController<ResponseWrapper>;
1092
1093
  }
@@ -1133,7 +1134,7 @@ declare class CategoryController<ResponseWrapper> implements IController {
1133
1134
  name: string;
1134
1135
  created: string;
1135
1136
  id: string;
1136
- children: Pick<PostModel, "id" | "title" | "slug" | "modified" | "created">[];
1137
+ children: Pick<PostModel, "id" | "created" | "title" | "slug" | "modified">[];
1137
1138
  } : T_1 : never : never;
1138
1139
  } : ResponseWrapper;
1139
1140
  $request: {
@@ -1185,7 +1186,7 @@ declare class CategoryController<ResponseWrapper> implements IController {
1185
1186
  };
1186
1187
  }) ? T_1 extends unknown ? {
1187
1188
  tag: string;
1188
- data: Pick<PostModel, "category" | "id" | "title" | "slug" | "created">[];
1189
+ data: Pick<PostModel, "category" | "id" | "created" | "title" | "slug">[];
1189
1190
  } : T_1 : never : never;
1190
1191
  } : ResponseWrapper;
1191
1192
  $request: {
@@ -1217,7 +1218,7 @@ interface CommentDto {
1217
1218
  }
1218
1219
  //#endregion
1219
1220
  //#region controllers/comment.d.ts
1220
- declare module '@mx-space/api-client' {
1221
+ declare module '../core/client' {
1221
1222
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1222
1223
  comment: CommentController<ResponseWrapper>;
1223
1224
  }
@@ -1342,7 +1343,7 @@ declare abstract class BaseCrudController<T, ResponseWrapper> {
1342
1343
  }
1343
1344
  //#endregion
1344
1345
  //#region controllers/link.d.ts
1345
- declare module '@mx-space/api-client' {
1346
+ declare module '../core/client' {
1346
1347
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1347
1348
  link: LinkController<ResponseWrapper>;
1348
1349
  friend: LinkController<ResponseWrapper>;
@@ -1360,7 +1361,7 @@ declare class LinkController<ResponseWrapper> extends BaseCrudController<LinkMod
1360
1361
  }
1361
1362
  //#endregion
1362
1363
  //#region controllers/note.d.ts
1363
- declare module '@mx-space/api-client' {
1364
+ declare module '../core/client' {
1364
1365
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1365
1366
  note: NoteController<ResponseWrapper>;
1366
1367
  }
@@ -1376,6 +1377,20 @@ type NoteByNidOptions = {
1376
1377
  single?: boolean;
1377
1378
  lang?: string;
1378
1379
  };
1380
+ type NoteMiddleListOptions = {
1381
+ lang?: string;
1382
+ };
1383
+ type NoteTopicListOptions = SortOptions & {
1384
+ lang?: string;
1385
+ };
1386
+ type NoteTimelineItem = Pick<NoteModel, 'id' | 'title' | 'nid' | 'created' | 'isPublished'> & {
1387
+ isTranslated?: boolean;
1388
+ translationMeta?: TranslationMeta;
1389
+ };
1390
+ type NoteTopicListItem = NoteModel & {
1391
+ isTranslated?: boolean;
1392
+ translationMeta?: TranslationMeta;
1393
+ };
1379
1394
  declare class NoteController<ResponseWrapper> implements IController {
1380
1395
  private client;
1381
1396
  base: string;
@@ -1422,42 +1437,49 @@ declare class NoteController<ResponseWrapper> implements IController {
1422
1437
  }>;
1423
1438
  /**
1424
1439
  * 获取当前日记的上下各 n / 2 篇日记
1440
+ * @param id 当前日记 ID
1441
+ * @param size 返回数量,默认 5
1442
+ * @param options 可选参数,包含 lang 用于获取翻译版本
1425
1443
  */
1426
- getMiddleList(id: string, size?: number): RequestProxyResult<{
1427
- data: Pick<NoteModel, "id" | "title" | "nid" | "created" | "isPublished">[];
1444
+ getMiddleList(id: string, size?: number, options?: NoteMiddleListOptions): RequestProxyResult<{
1445
+ data: NoteTimelineItem[];
1428
1446
  size: number;
1429
1447
  }, ResponseWrapper, ResponseWrapper extends unknown ? {
1430
1448
  [key: string]: any;
1431
1449
  data: {
1432
- data: Pick<NoteModel, "id" | "title" | "nid" | "created" | "isPublished">[];
1450
+ data: NoteTimelineItem[];
1433
1451
  size: number;
1434
1452
  };
1435
1453
  } : ResponseWrapper extends {
1436
1454
  data: {
1437
- data: Pick<NoteModel, "id" | "title" | "nid" | "created" | "isPublished">[];
1455
+ data: NoteTimelineItem[];
1438
1456
  size: number;
1439
1457
  };
1440
1458
  } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1441
1459
  data: {
1442
- data: Pick<NoteModel, "id" | "title" | "nid" | "created" | "isPublished">[];
1460
+ data: NoteTimelineItem[];
1443
1461
  size: number;
1444
1462
  };
1445
1463
  }>;
1446
1464
  /**
1447
1465
  * 获取专栏内的所有日记
1466
+ * @param topicId 专栏 ID
1467
+ * @param page 页码,默认 1
1468
+ * @param size 每页数量,默认 10
1469
+ * @param options 可选参数,包含排序选项和 lang 用于获取翻译版本
1448
1470
  */
1449
- getNoteByTopicId(topicId: string, page?: number, size?: number, sortOptions?: SortOptions): RequestProxyResult<PaginateResult<NoteModel>, ResponseWrapper, ResponseWrapper extends unknown ? {
1471
+ getNoteByTopicId(topicId: string, page?: number, size?: number, options?: NoteTopicListOptions): RequestProxyResult<PaginateResult<NoteTopicListItem>, ResponseWrapper, ResponseWrapper extends unknown ? {
1450
1472
  [key: string]: any;
1451
- data: PaginateResult<NoteModel>;
1473
+ data: PaginateResult<NoteTopicListItem>;
1452
1474
  } : ResponseWrapper extends {
1453
- data: PaginateResult<NoteModel>;
1475
+ data: PaginateResult<NoteTopicListItem>;
1454
1476
  } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1455
- data: PaginateResult<NoteModel>;
1477
+ data: PaginateResult<NoteTopicListItem>;
1456
1478
  }>;
1457
1479
  }
1458
1480
  //#endregion
1459
1481
  //#region controllers/page.d.ts
1460
- declare module '@mx-space/api-client' {
1482
+ declare module '../core/client' {
1461
1483
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1462
1484
  page: PageController<ResponseWrapper>;
1463
1485
  }
@@ -1511,7 +1533,7 @@ declare class PageController<ResponseWrapper> implements IController {
1511
1533
  }
1512
1534
  //#endregion
1513
1535
  //#region controllers/post.d.ts
1514
- declare module '@mx-space/api-client' {
1536
+ declare module '../core/client' {
1515
1537
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1516
1538
  post: PostController<ResponseWrapper>;
1517
1539
  }
@@ -1521,7 +1543,13 @@ type PostListOptions = {
1521
1543
  year?: number;
1522
1544
  sortBy?: 'categoryId' | 'title' | 'created' | 'modified';
1523
1545
  sortOrder?: 1 | -1;
1524
- truncate?: number;
1546
+ truncate?: number; /** 语言代码,用于获取翻译版本 */
1547
+ lang?: string;
1548
+ };
1549
+ /** 文章列表项,可能包含翻译信息 */
1550
+ type PostListItem = PostModel & {
1551
+ isTranslated?: boolean;
1552
+ translationMeta?: TranslationMeta;
1525
1553
  };
1526
1554
  declare class PostController<ResponseWrapper> implements IController {
1527
1555
  private client;
@@ -1533,15 +1561,16 @@ declare class PostController<ResponseWrapper> implements IController {
1533
1561
  * 获取文章列表分页
1534
1562
  * @param page
1535
1563
  * @param perPage
1536
- * @returns
1564
+ * @param options 可选参数,包含 lang 用于获取翻译版本
1565
+ * @returns 当传入 lang 时,返回的文章可能包含 isTranslated 和 translationMeta 字段
1537
1566
  */
1538
- getList(page?: number, perPage?: number, options?: PostListOptions): RequestProxyResult<PaginateResult<PostModel>, ResponseWrapper, ResponseWrapper extends unknown ? {
1567
+ getList(page?: number, perPage?: number, options?: PostListOptions): RequestProxyResult<PaginateResult<PostListItem>, ResponseWrapper, ResponseWrapper extends unknown ? {
1539
1568
  [key: string]: any;
1540
- data: PaginateResult<PostModel>;
1569
+ data: PaginateResult<PostListItem>;
1541
1570
  } : ResponseWrapper extends {
1542
- data: PaginateResult<PostModel>;
1571
+ data: PaginateResult<PostListItem>;
1543
1572
  } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1544
- data: PaginateResult<PostModel>;
1573
+ data: PaginateResult<PostListItem>;
1545
1574
  }>;
1546
1575
  /**
1547
1576
  * 根据分类和路径查找文章
@@ -1587,7 +1616,7 @@ declare class PostController<ResponseWrapper> implements IController {
1587
1616
  }
1588
1617
  //#endregion
1589
1618
  //#region controllers/project.d.ts
1590
- declare module '@mx-space/api-client' {
1619
+ declare module '../core/client' {
1591
1620
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1592
1621
  project: ProjectController<ResponseWrapper>;
1593
1622
  }
@@ -1600,7 +1629,7 @@ declare class ProjectController<ResponseWrapper> extends BaseCrudController<Proj
1600
1629
  }
1601
1630
  //#endregion
1602
1631
  //#region controllers/recently.d.ts
1603
- declare module '@mx-space/api-client' {
1632
+ declare module '../core/client' {
1604
1633
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1605
1634
  recently: RecentlyController<ResponseWrapper>;
1606
1635
  shorthand: RecentlyController<ResponseWrapper>;
@@ -1731,7 +1760,7 @@ declare class RecentlyController<ResponseWrapper> implements IController {
1731
1760
  }
1732
1761
  //#endregion
1733
1762
  //#region controllers/say.d.ts
1734
- declare module '@mx-space/api-client' {
1763
+ declare module '../core/client' {
1735
1764
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1736
1765
  say: SayController<ResponseWrapper>;
1737
1766
  }
@@ -1764,7 +1793,7 @@ declare class SayController<ResponseWrapper> extends BaseCrudController<SayModel
1764
1793
  }
1765
1794
  //#endregion
1766
1795
  //#region controllers/search.d.ts
1767
- declare module '@mx-space/api-client' {
1796
+ declare module '../core/client' {
1768
1797
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1769
1798
  search: SearchController<ResponseWrapper>;
1770
1799
  }
@@ -1789,11 +1818,11 @@ declare class SearchController<ResponseWrapper> implements IController {
1789
1818
  * @param options
1790
1819
  * @returns
1791
1820
  */
1792
- searchByAlgolia(keyword: string, options?: SearchOption): RequestProxyResult<RequestProxyResult<PaginateResult<(Pick<PostModel, "category" | "id" | "title" | "slug" | "modified" | "created"> & {
1821
+ searchByAlgolia(keyword: string, options?: SearchOption): RequestProxyResult<RequestProxyResult<PaginateResult<(Pick<PostModel, "category" | "id" | "created" | "title" | "slug" | "modified"> & {
1793
1822
  type: "post";
1794
- }) | (Pick<NoteModel, "id" | "title" | "modified" | "created" | "nid"> & {
1823
+ }) | (Pick<NoteModel, "id" | "created" | "title" | "modified" | "nid"> & {
1795
1824
  type: "note";
1796
- }) | (Pick<PageModel, "id" | "title" | "slug" | "modified" | "created"> & {
1825
+ }) | (Pick<PageModel, "id" | "created" | "title" | "slug" | "modified"> & {
1797
1826
  type: "page";
1798
1827
  })> & {
1799
1828
  /**
@@ -1802,11 +1831,11 @@ declare class SearchController<ResponseWrapper> implements IController {
1802
1831
  raw?: any;
1803
1832
  }, ResponseWrapper>, ResponseWrapper, ResponseWrapper extends unknown ? {
1804
1833
  [key: string]: any;
1805
- data: RequestProxyResult<PaginateResult<(Pick<PostModel, "category" | "id" | "title" | "slug" | "modified" | "created"> & {
1834
+ data: RequestProxyResult<PaginateResult<(Pick<PostModel, "category" | "id" | "created" | "title" | "slug" | "modified"> & {
1806
1835
  type: "post";
1807
- }) | (Pick<NoteModel, "id" | "title" | "modified" | "created" | "nid"> & {
1836
+ }) | (Pick<NoteModel, "id" | "created" | "title" | "modified" | "nid"> & {
1808
1837
  type: "note";
1809
- }) | (Pick<PageModel, "id" | "title" | "slug" | "modified" | "created"> & {
1838
+ }) | (Pick<PageModel, "id" | "created" | "title" | "slug" | "modified"> & {
1810
1839
  type: "page";
1811
1840
  })> & {
1812
1841
  /**
@@ -1815,11 +1844,11 @@ declare class SearchController<ResponseWrapper> implements IController {
1815
1844
  raw?: any;
1816
1845
  }, ResponseWrapper>;
1817
1846
  } : ResponseWrapper extends {
1818
- data: RequestProxyResult<PaginateResult<(Pick<PostModel, "category" | "id" | "title" | "slug" | "modified" | "created"> & {
1847
+ data: RequestProxyResult<PaginateResult<(Pick<PostModel, "category" | "id" | "created" | "title" | "slug" | "modified"> & {
1819
1848
  type: "post";
1820
- }) | (Pick<NoteModel, "id" | "title" | "modified" | "created" | "nid"> & {
1849
+ }) | (Pick<NoteModel, "id" | "created" | "title" | "modified" | "nid"> & {
1821
1850
  type: "note";
1822
- }) | (Pick<PageModel, "id" | "title" | "slug" | "modified" | "created"> & {
1851
+ }) | (Pick<PageModel, "id" | "created" | "title" | "slug" | "modified"> & {
1823
1852
  type: "page";
1824
1853
  })> & {
1825
1854
  /**
@@ -1828,11 +1857,11 @@ declare class SearchController<ResponseWrapper> implements IController {
1828
1857
  raw?: any;
1829
1858
  }, ResponseWrapper>;
1830
1859
  } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1831
- data: RequestProxyResult<PaginateResult<(Pick<PostModel, "category" | "id" | "title" | "slug" | "modified" | "created"> & {
1860
+ data: RequestProxyResult<PaginateResult<(Pick<PostModel, "category" | "id" | "created" | "title" | "slug" | "modified"> & {
1832
1861
  type: "post";
1833
- }) | (Pick<NoteModel, "id" | "title" | "modified" | "created" | "nid"> & {
1862
+ }) | (Pick<NoteModel, "id" | "created" | "title" | "modified" | "nid"> & {
1834
1863
  type: "note";
1835
- }) | (Pick<PageModel, "id" | "title" | "slug" | "modified" | "created"> & {
1864
+ }) | (Pick<PageModel, "id" | "created" | "title" | "slug" | "modified"> & {
1836
1865
  type: "page";
1837
1866
  })> & {
1838
1867
  /**
@@ -1844,7 +1873,7 @@ declare class SearchController<ResponseWrapper> implements IController {
1844
1873
  }
1845
1874
  //#endregion
1846
1875
  //#region controllers/severless.d.ts
1847
- declare module '@mx-space/api-client' {
1876
+ declare module '../core/client' {
1848
1877
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1849
1878
  serverless: ServerlessController<ResponseWrapper>;
1850
1879
  }
@@ -1866,7 +1895,7 @@ declare class ServerlessController<ResponseWrapper> implements IController {
1866
1895
  }
1867
1896
  //#endregion
1868
1897
  //#region controllers/snippet.d.ts
1869
- declare module '@mx-space/api-client' {
1898
+ declare module '../core/client' {
1870
1899
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1871
1900
  snippet: SnippetController<ResponseWrapper>;
1872
1901
  }
@@ -1888,7 +1917,7 @@ declare class SnippetController<ResponseWrapper> implements IController {
1888
1917
  }
1889
1918
  //#endregion
1890
1919
  //#region controllers/subscribe.d.ts
1891
- declare module '@mx-space/api-client' {
1920
+ declare module '../core/client' {
1892
1921
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1893
1922
  subscribe: SubscribeController<ResponseWrapper>;
1894
1923
  }
@@ -1949,7 +1978,7 @@ declare class SubscribeController<ResponseWrapper> implements IController {
1949
1978
  }
1950
1979
  //#endregion
1951
1980
  //#region controllers/topic.d.ts
1952
- declare module '@mx-space/api-client' {
1981
+ declare module '../core/client' {
1953
1982
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1954
1983
  topic: TopicController<ResponseWrapper>;
1955
1984
  }
@@ -1971,7 +2000,7 @@ declare class TopicController<ResponseWrapper> extends BaseCrudController<TopicM
1971
2000
  }
1972
2001
  //#endregion
1973
2002
  //#region controllers/user.d.ts
1974
- declare module '@mx-space/api-client' {
2003
+ declare module '../core/client' {
1975
2004
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1976
2005
  user: UserController<ResponseWrapper>;
1977
2006
  master: UserController<ResponseWrapper>;
@@ -2048,4 +2077,4 @@ declare const allControllerNames: readonly ["ai", "ack", "activity", "aggregate"
2048
2077
  */
2049
2078
  declare const camelcaseKeys: <T = any>(obj: any) => T;
2050
2079
  //#endregion
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 };
2080
+ 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, type NoteMiddleListOptions, NoteModel, type NoteTimelineItem, type NoteTopicListItem, type NoteTopicListOptions, NoteWrappedPayload, NoteWrappedWithLikedAndTranslationPayload, NoteWrappedWithLikedPayload, PageController, PageModel, Pager, PaginateResult, PostController, type PostListItem, type PostListOptions, 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-DLzJOGbI.cjs";
1
+ import { n as IRequestAdapter, r as RequestOptions, t as IAdaptorRequestResponseType } from "./adapter-D1g1obyM.mjs";
2
2
 
3
3
  //#region interfaces/controller.d.ts
4
4
  interface IController {
@@ -100,7 +100,7 @@ declare class RequestError extends Error {
100
100
  }
101
101
  //#endregion
102
102
  //#region controllers/ack.d.ts
103
- declare module '@mx-space/api-client' {
103
+ declare module '../core/client' {
104
104
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
105
105
  ack: AckController<ResponseWrapper>;
106
106
  }
@@ -182,6 +182,7 @@ interface TranslationMeta {
182
182
  type ModelWithTranslation<T> = T & {
183
183
  isTranslated: boolean;
184
184
  translationMeta?: TranslationMeta;
185
+ availableTranslations?: string[];
185
186
  };
186
187
  //#endregion
187
188
  //#region models/post.d.ts
@@ -739,7 +740,7 @@ declare const SubscribeTypeToBitMap: {
739
740
  type SubscribeType = keyof typeof SubscribeTypeToBitMap;
740
741
  //#endregion
741
742
  //#region controllers/activity.d.ts
742
- declare module '@mx-space/api-client' {
743
+ declare module '../core/client' {
743
744
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
744
745
  activity: ActivityController<ResponseWrapper>;
745
746
  }
@@ -892,7 +893,7 @@ declare class ActivityController<ResponseWrapper> implements IController {
892
893
  type SortOrder = 'asc' | 'desc';
893
894
  //#endregion
894
895
  //#region controllers/aggregate.d.ts
895
- declare module '@mx-space/api-client' {
896
+ declare module '../core/client' {
896
897
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
897
898
  aggregate: AggregateController<ResponseWrapper>;
898
899
  }
@@ -952,7 +953,7 @@ declare class AggregateController<ResponseWrapper> implements IController {
952
953
  }
953
954
  //#endregion
954
955
  //#region controllers/ai.d.ts
955
- declare module '@mx-space/api-client' {
956
+ declare module '../core/client' {
956
957
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
957
958
  ai: AIController<ResponseWrapper>;
958
959
  }
@@ -1086,7 +1087,7 @@ declare class AIController<ResponseWrapper> implements IController {
1086
1087
  }
1087
1088
  //#endregion
1088
1089
  //#region controllers/category.d.ts
1089
- declare module '@mx-space/api-client' {
1090
+ declare module '../core/client' {
1090
1091
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1091
1092
  category: CategoryController<ResponseWrapper>;
1092
1093
  }
@@ -1133,7 +1134,7 @@ declare class CategoryController<ResponseWrapper> implements IController {
1133
1134
  name: string;
1134
1135
  created: string;
1135
1136
  id: string;
1136
- children: Pick<PostModel, "id" | "title" | "slug" | "modified" | "created">[];
1137
+ children: Pick<PostModel, "id" | "created" | "title" | "slug" | "modified">[];
1137
1138
  } : T_1 : never : never;
1138
1139
  } : ResponseWrapper;
1139
1140
  $request: {
@@ -1185,7 +1186,7 @@ declare class CategoryController<ResponseWrapper> implements IController {
1185
1186
  };
1186
1187
  }) ? T_1 extends unknown ? {
1187
1188
  tag: string;
1188
- data: Pick<PostModel, "category" | "id" | "title" | "slug" | "created">[];
1189
+ data: Pick<PostModel, "category" | "id" | "created" | "title" | "slug">[];
1189
1190
  } : T_1 : never : never;
1190
1191
  } : ResponseWrapper;
1191
1192
  $request: {
@@ -1217,7 +1218,7 @@ interface CommentDto {
1217
1218
  }
1218
1219
  //#endregion
1219
1220
  //#region controllers/comment.d.ts
1220
- declare module '@mx-space/api-client' {
1221
+ declare module '../core/client' {
1221
1222
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1222
1223
  comment: CommentController<ResponseWrapper>;
1223
1224
  }
@@ -1342,7 +1343,7 @@ declare abstract class BaseCrudController<T, ResponseWrapper> {
1342
1343
  }
1343
1344
  //#endregion
1344
1345
  //#region controllers/link.d.ts
1345
- declare module '@mx-space/api-client' {
1346
+ declare module '../core/client' {
1346
1347
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1347
1348
  link: LinkController<ResponseWrapper>;
1348
1349
  friend: LinkController<ResponseWrapper>;
@@ -1360,7 +1361,7 @@ declare class LinkController<ResponseWrapper> extends BaseCrudController<LinkMod
1360
1361
  }
1361
1362
  //#endregion
1362
1363
  //#region controllers/note.d.ts
1363
- declare module '@mx-space/api-client' {
1364
+ declare module '../core/client' {
1364
1365
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1365
1366
  note: NoteController<ResponseWrapper>;
1366
1367
  }
@@ -1376,6 +1377,20 @@ type NoteByNidOptions = {
1376
1377
  single?: boolean;
1377
1378
  lang?: string;
1378
1379
  };
1380
+ type NoteMiddleListOptions = {
1381
+ lang?: string;
1382
+ };
1383
+ type NoteTopicListOptions = SortOptions & {
1384
+ lang?: string;
1385
+ };
1386
+ type NoteTimelineItem = Pick<NoteModel, 'id' | 'title' | 'nid' | 'created' | 'isPublished'> & {
1387
+ isTranslated?: boolean;
1388
+ translationMeta?: TranslationMeta;
1389
+ };
1390
+ type NoteTopicListItem = NoteModel & {
1391
+ isTranslated?: boolean;
1392
+ translationMeta?: TranslationMeta;
1393
+ };
1379
1394
  declare class NoteController<ResponseWrapper> implements IController {
1380
1395
  private client;
1381
1396
  base: string;
@@ -1422,42 +1437,49 @@ declare class NoteController<ResponseWrapper> implements IController {
1422
1437
  }>;
1423
1438
  /**
1424
1439
  * 获取当前日记的上下各 n / 2 篇日记
1440
+ * @param id 当前日记 ID
1441
+ * @param size 返回数量,默认 5
1442
+ * @param options 可选参数,包含 lang 用于获取翻译版本
1425
1443
  */
1426
- getMiddleList(id: string, size?: number): RequestProxyResult<{
1427
- data: Pick<NoteModel, "id" | "title" | "nid" | "created" | "isPublished">[];
1444
+ getMiddleList(id: string, size?: number, options?: NoteMiddleListOptions): RequestProxyResult<{
1445
+ data: NoteTimelineItem[];
1428
1446
  size: number;
1429
1447
  }, ResponseWrapper, ResponseWrapper extends unknown ? {
1430
1448
  [key: string]: any;
1431
1449
  data: {
1432
- data: Pick<NoteModel, "id" | "title" | "nid" | "created" | "isPublished">[];
1450
+ data: NoteTimelineItem[];
1433
1451
  size: number;
1434
1452
  };
1435
1453
  } : ResponseWrapper extends {
1436
1454
  data: {
1437
- data: Pick<NoteModel, "id" | "title" | "nid" | "created" | "isPublished">[];
1455
+ data: NoteTimelineItem[];
1438
1456
  size: number;
1439
1457
  };
1440
1458
  } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1441
1459
  data: {
1442
- data: Pick<NoteModel, "id" | "title" | "nid" | "created" | "isPublished">[];
1460
+ data: NoteTimelineItem[];
1443
1461
  size: number;
1444
1462
  };
1445
1463
  }>;
1446
1464
  /**
1447
1465
  * 获取专栏内的所有日记
1466
+ * @param topicId 专栏 ID
1467
+ * @param page 页码,默认 1
1468
+ * @param size 每页数量,默认 10
1469
+ * @param options 可选参数,包含排序选项和 lang 用于获取翻译版本
1448
1470
  */
1449
- getNoteByTopicId(topicId: string, page?: number, size?: number, sortOptions?: SortOptions): RequestProxyResult<PaginateResult<NoteModel>, ResponseWrapper, ResponseWrapper extends unknown ? {
1471
+ getNoteByTopicId(topicId: string, page?: number, size?: number, options?: NoteTopicListOptions): RequestProxyResult<PaginateResult<NoteTopicListItem>, ResponseWrapper, ResponseWrapper extends unknown ? {
1450
1472
  [key: string]: any;
1451
- data: PaginateResult<NoteModel>;
1473
+ data: PaginateResult<NoteTopicListItem>;
1452
1474
  } : ResponseWrapper extends {
1453
- data: PaginateResult<NoteModel>;
1475
+ data: PaginateResult<NoteTopicListItem>;
1454
1476
  } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1455
- data: PaginateResult<NoteModel>;
1477
+ data: PaginateResult<NoteTopicListItem>;
1456
1478
  }>;
1457
1479
  }
1458
1480
  //#endregion
1459
1481
  //#region controllers/page.d.ts
1460
- declare module '@mx-space/api-client' {
1482
+ declare module '../core/client' {
1461
1483
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1462
1484
  page: PageController<ResponseWrapper>;
1463
1485
  }
@@ -1511,7 +1533,7 @@ declare class PageController<ResponseWrapper> implements IController {
1511
1533
  }
1512
1534
  //#endregion
1513
1535
  //#region controllers/post.d.ts
1514
- declare module '@mx-space/api-client' {
1536
+ declare module '../core/client' {
1515
1537
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1516
1538
  post: PostController<ResponseWrapper>;
1517
1539
  }
@@ -1521,7 +1543,13 @@ type PostListOptions = {
1521
1543
  year?: number;
1522
1544
  sortBy?: 'categoryId' | 'title' | 'created' | 'modified';
1523
1545
  sortOrder?: 1 | -1;
1524
- truncate?: number;
1546
+ truncate?: number; /** 语言代码,用于获取翻译版本 */
1547
+ lang?: string;
1548
+ };
1549
+ /** 文章列表项,可能包含翻译信息 */
1550
+ type PostListItem = PostModel & {
1551
+ isTranslated?: boolean;
1552
+ translationMeta?: TranslationMeta;
1525
1553
  };
1526
1554
  declare class PostController<ResponseWrapper> implements IController {
1527
1555
  private client;
@@ -1533,15 +1561,16 @@ declare class PostController<ResponseWrapper> implements IController {
1533
1561
  * 获取文章列表分页
1534
1562
  * @param page
1535
1563
  * @param perPage
1536
- * @returns
1564
+ * @param options 可选参数,包含 lang 用于获取翻译版本
1565
+ * @returns 当传入 lang 时,返回的文章可能包含 isTranslated 和 translationMeta 字段
1537
1566
  */
1538
- getList(page?: number, perPage?: number, options?: PostListOptions): RequestProxyResult<PaginateResult<PostModel>, ResponseWrapper, ResponseWrapper extends unknown ? {
1567
+ getList(page?: number, perPage?: number, options?: PostListOptions): RequestProxyResult<PaginateResult<PostListItem>, ResponseWrapper, ResponseWrapper extends unknown ? {
1539
1568
  [key: string]: any;
1540
- data: PaginateResult<PostModel>;
1569
+ data: PaginateResult<PostListItem>;
1541
1570
  } : ResponseWrapper extends {
1542
- data: PaginateResult<PostModel>;
1571
+ data: PaginateResult<PostListItem>;
1543
1572
  } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1544
- data: PaginateResult<PostModel>;
1573
+ data: PaginateResult<PostListItem>;
1545
1574
  }>;
1546
1575
  /**
1547
1576
  * 根据分类和路径查找文章
@@ -1587,7 +1616,7 @@ declare class PostController<ResponseWrapper> implements IController {
1587
1616
  }
1588
1617
  //#endregion
1589
1618
  //#region controllers/project.d.ts
1590
- declare module '@mx-space/api-client' {
1619
+ declare module '../core/client' {
1591
1620
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1592
1621
  project: ProjectController<ResponseWrapper>;
1593
1622
  }
@@ -1600,7 +1629,7 @@ declare class ProjectController<ResponseWrapper> extends BaseCrudController<Proj
1600
1629
  }
1601
1630
  //#endregion
1602
1631
  //#region controllers/recently.d.ts
1603
- declare module '@mx-space/api-client' {
1632
+ declare module '../core/client' {
1604
1633
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1605
1634
  recently: RecentlyController<ResponseWrapper>;
1606
1635
  shorthand: RecentlyController<ResponseWrapper>;
@@ -1731,7 +1760,7 @@ declare class RecentlyController<ResponseWrapper> implements IController {
1731
1760
  }
1732
1761
  //#endregion
1733
1762
  //#region controllers/say.d.ts
1734
- declare module '@mx-space/api-client' {
1763
+ declare module '../core/client' {
1735
1764
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1736
1765
  say: SayController<ResponseWrapper>;
1737
1766
  }
@@ -1764,7 +1793,7 @@ declare class SayController<ResponseWrapper> extends BaseCrudController<SayModel
1764
1793
  }
1765
1794
  //#endregion
1766
1795
  //#region controllers/search.d.ts
1767
- declare module '@mx-space/api-client' {
1796
+ declare module '../core/client' {
1768
1797
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1769
1798
  search: SearchController<ResponseWrapper>;
1770
1799
  }
@@ -1789,11 +1818,11 @@ declare class SearchController<ResponseWrapper> implements IController {
1789
1818
  * @param options
1790
1819
  * @returns
1791
1820
  */
1792
- searchByAlgolia(keyword: string, options?: SearchOption): RequestProxyResult<RequestProxyResult<PaginateResult<(Pick<PostModel, "category" | "id" | "title" | "slug" | "modified" | "created"> & {
1821
+ searchByAlgolia(keyword: string, options?: SearchOption): RequestProxyResult<RequestProxyResult<PaginateResult<(Pick<PostModel, "category" | "id" | "created" | "title" | "slug" | "modified"> & {
1793
1822
  type: "post";
1794
- }) | (Pick<NoteModel, "id" | "title" | "modified" | "created" | "nid"> & {
1823
+ }) | (Pick<NoteModel, "id" | "created" | "title" | "modified" | "nid"> & {
1795
1824
  type: "note";
1796
- }) | (Pick<PageModel, "id" | "title" | "slug" | "modified" | "created"> & {
1825
+ }) | (Pick<PageModel, "id" | "created" | "title" | "slug" | "modified"> & {
1797
1826
  type: "page";
1798
1827
  })> & {
1799
1828
  /**
@@ -1802,11 +1831,11 @@ declare class SearchController<ResponseWrapper> implements IController {
1802
1831
  raw?: any;
1803
1832
  }, ResponseWrapper>, ResponseWrapper, ResponseWrapper extends unknown ? {
1804
1833
  [key: string]: any;
1805
- data: RequestProxyResult<PaginateResult<(Pick<PostModel, "category" | "id" | "title" | "slug" | "modified" | "created"> & {
1834
+ data: RequestProxyResult<PaginateResult<(Pick<PostModel, "category" | "id" | "created" | "title" | "slug" | "modified"> & {
1806
1835
  type: "post";
1807
- }) | (Pick<NoteModel, "id" | "title" | "modified" | "created" | "nid"> & {
1836
+ }) | (Pick<NoteModel, "id" | "created" | "title" | "modified" | "nid"> & {
1808
1837
  type: "note";
1809
- }) | (Pick<PageModel, "id" | "title" | "slug" | "modified" | "created"> & {
1838
+ }) | (Pick<PageModel, "id" | "created" | "title" | "slug" | "modified"> & {
1810
1839
  type: "page";
1811
1840
  })> & {
1812
1841
  /**
@@ -1815,11 +1844,11 @@ declare class SearchController<ResponseWrapper> implements IController {
1815
1844
  raw?: any;
1816
1845
  }, ResponseWrapper>;
1817
1846
  } : ResponseWrapper extends {
1818
- data: RequestProxyResult<PaginateResult<(Pick<PostModel, "category" | "id" | "title" | "slug" | "modified" | "created"> & {
1847
+ data: RequestProxyResult<PaginateResult<(Pick<PostModel, "category" | "id" | "created" | "title" | "slug" | "modified"> & {
1819
1848
  type: "post";
1820
- }) | (Pick<NoteModel, "id" | "title" | "modified" | "created" | "nid"> & {
1849
+ }) | (Pick<NoteModel, "id" | "created" | "title" | "modified" | "nid"> & {
1821
1850
  type: "note";
1822
- }) | (Pick<PageModel, "id" | "title" | "slug" | "modified" | "created"> & {
1851
+ }) | (Pick<PageModel, "id" | "created" | "title" | "slug" | "modified"> & {
1823
1852
  type: "page";
1824
1853
  })> & {
1825
1854
  /**
@@ -1828,11 +1857,11 @@ declare class SearchController<ResponseWrapper> implements IController {
1828
1857
  raw?: any;
1829
1858
  }, ResponseWrapper>;
1830
1859
  } ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
1831
- data: RequestProxyResult<PaginateResult<(Pick<PostModel, "category" | "id" | "title" | "slug" | "modified" | "created"> & {
1860
+ data: RequestProxyResult<PaginateResult<(Pick<PostModel, "category" | "id" | "created" | "title" | "slug" | "modified"> & {
1832
1861
  type: "post";
1833
- }) | (Pick<NoteModel, "id" | "title" | "modified" | "created" | "nid"> & {
1862
+ }) | (Pick<NoteModel, "id" | "created" | "title" | "modified" | "nid"> & {
1834
1863
  type: "note";
1835
- }) | (Pick<PageModel, "id" | "title" | "slug" | "modified" | "created"> & {
1864
+ }) | (Pick<PageModel, "id" | "created" | "title" | "slug" | "modified"> & {
1836
1865
  type: "page";
1837
1866
  })> & {
1838
1867
  /**
@@ -1844,7 +1873,7 @@ declare class SearchController<ResponseWrapper> implements IController {
1844
1873
  }
1845
1874
  //#endregion
1846
1875
  //#region controllers/severless.d.ts
1847
- declare module '@mx-space/api-client' {
1876
+ declare module '../core/client' {
1848
1877
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1849
1878
  serverless: ServerlessController<ResponseWrapper>;
1850
1879
  }
@@ -1866,7 +1895,7 @@ declare class ServerlessController<ResponseWrapper> implements IController {
1866
1895
  }
1867
1896
  //#endregion
1868
1897
  //#region controllers/snippet.d.ts
1869
- declare module '@mx-space/api-client' {
1898
+ declare module '../core/client' {
1870
1899
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1871
1900
  snippet: SnippetController<ResponseWrapper>;
1872
1901
  }
@@ -1888,7 +1917,7 @@ declare class SnippetController<ResponseWrapper> implements IController {
1888
1917
  }
1889
1918
  //#endregion
1890
1919
  //#region controllers/subscribe.d.ts
1891
- declare module '@mx-space/api-client' {
1920
+ declare module '../core/client' {
1892
1921
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1893
1922
  subscribe: SubscribeController<ResponseWrapper>;
1894
1923
  }
@@ -1949,7 +1978,7 @@ declare class SubscribeController<ResponseWrapper> implements IController {
1949
1978
  }
1950
1979
  //#endregion
1951
1980
  //#region controllers/topic.d.ts
1952
- declare module '@mx-space/api-client' {
1981
+ declare module '../core/client' {
1953
1982
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1954
1983
  topic: TopicController<ResponseWrapper>;
1955
1984
  }
@@ -1971,7 +2000,7 @@ declare class TopicController<ResponseWrapper> extends BaseCrudController<TopicM
1971
2000
  }
1972
2001
  //#endregion
1973
2002
  //#region controllers/user.d.ts
1974
- declare module '@mx-space/api-client' {
2003
+ declare module '../core/client' {
1975
2004
  interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
1976
2005
  user: UserController<ResponseWrapper>;
1977
2006
  master: UserController<ResponseWrapper>;
@@ -2048,4 +2077,4 @@ declare const allControllerNames: readonly ["ai", "ack", "activity", "aggregate"
2048
2077
  */
2049
2078
  declare const camelcaseKeys: <T = any>(obj: any) => T;
2050
2079
  //#endregion
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 };
2080
+ 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, type NoteMiddleListOptions, NoteModel, type NoteTimelineItem, type NoteTopicListItem, type NoteTopicListOptions, NoteWrappedPayload, NoteWrappedWithLikedAndTranslationPayload, NoteWrappedWithLikedPayload, PageController, PageModel, Pager, PaginateResult, PostController, type PostListItem, type PostListOptions, 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
@@ -453,17 +453,30 @@ var NoteController = class {
453
453
  }
454
454
  /**
455
455
  * 获取当前日记的上下各 n / 2 篇日记
456
+ * @param id 当前日记 ID
457
+ * @param size 返回数量,默认 5
458
+ * @param options 可选参数,包含 lang 用于获取翻译版本
456
459
  */
457
- getMiddleList(id, size = 5) {
458
- return this.proxy.list(id).get({ params: { size } });
460
+ getMiddleList(id, size = 5, options) {
461
+ const { lang } = options || {};
462
+ return this.proxy.list(id).get({ params: {
463
+ size,
464
+ lang
465
+ } });
459
466
  }
460
467
  /**
461
468
  * 获取专栏内的所有日记
469
+ * @param topicId 专栏 ID
470
+ * @param page 页码,默认 1
471
+ * @param size 每页数量,默认 10
472
+ * @param options 可选参数,包含排序选项和 lang 用于获取翻译版本
462
473
  */
463
- getNoteByTopicId(topicId, page = 1, size = 10, sortOptions = {}) {
474
+ getNoteByTopicId(topicId, page = 1, size = 10, options = {}) {
475
+ const { lang, ...sortOptions } = options;
464
476
  return this.proxy.topics(topicId).get({ params: {
465
477
  page,
466
478
  size,
479
+ lang,
467
480
  ...sortOptions
468
481
  } });
469
482
  }
@@ -526,10 +539,11 @@ var PostController = class {
526
539
  * 获取文章列表分页
527
540
  * @param page
528
541
  * @param perPage
529
- * @returns
542
+ * @param options 可选参数,包含 lang 用于获取翻译版本
543
+ * @returns 当传入 lang 时,返回的文章可能包含 isTranslated 和 translationMeta 字段
530
544
  */
531
545
  getList(page = 1, perPage = 10, options = {}) {
532
- const { select, sortBy, sortOrder, year, truncate } = options;
546
+ const { select, sortBy, sortOrder, year, truncate, lang } = options;
533
547
  return this.proxy.get({ params: {
534
548
  page,
535
549
  size: perPage,
@@ -537,7 +551,8 @@ var PostController = class {
537
551
  sortBy,
538
552
  sortOrder,
539
553
  year,
540
- truncate
554
+ truncate,
555
+ lang
541
556
  } });
542
557
  }
543
558
  getPost(idOrCategoryName, slug, options) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mx-space/api-client",
3
- "version": "1.20.0",
3
+ "version": "1.21.1",
4
4
  "description": "A api client for mx-space server@next",
5
5
  "type": "module",
6
6
  "engines": {
@@ -42,13 +42,6 @@
42
42
  "tag": false,
43
43
  "commit_message": "chore(release): bump @mx-space/api-client to v${NEW_VERSION}"
44
44
  },
45
- "scripts": {
46
- "package": "rm -rf dist && tsdown && node mod-dts.mjs",
47
- "build": "npm run package",
48
- "prepackage": "rm -rf dist",
49
- "test": "vitest",
50
- "dev": "vitest"
51
- },
52
45
  "devDependencies": {
53
46
  "@types/cors": "2.8.19",
54
47
  "@types/express": "5.0.6",
@@ -63,5 +56,12 @@
63
56
  "umi-request": "1.4.0",
64
57
  "vite": "^7.3.1",
65
58
  "vitest": "4.0.18"
59
+ },
60
+ "scripts": {
61
+ "package": "rm -rf dist && tsdown && node mod-dts.mjs",
62
+ "build": "npm run package",
63
+ "prepackage": "rm -rf dist",
64
+ "test": "vitest",
65
+ "dev": "vitest"
66
66
  }
67
- }
67
+ }