@mx-space/api-client 0.7.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/adaptors/axios.ts +34 -32
  2. package/adaptors/umi-request.ts +25 -22
  3. package/build/index.cjs.js +12 -32
  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 +13 -32
  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 +12 -32
  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 +9 -5
  16. package/controllers/base.ts +3 -3
  17. package/controllers/category.ts +18 -7
  18. package/controllers/comment.ts +10 -6
  19. package/controllers/link.ts +11 -4
  20. package/controllers/note.ts +11 -7
  21. package/controllers/page.ts +10 -5
  22. package/controllers/post.ts +15 -8
  23. package/controllers/project.ts +10 -3
  24. package/controllers/recently.ts +10 -5
  25. package/controllers/say.ts +10 -5
  26. package/controllers/search.ts +14 -7
  27. package/controllers/snippet.ts +9 -4
  28. package/controllers/user.ts +10 -5
  29. package/core/attach-request.ts +1 -1
  30. package/core/client.ts +37 -47
  31. package/coverage/clover.xml +281 -274
  32. package/coverage/coverage-final.json +20 -20
  33. package/coverage/lcov-report/adaptors/axios.ts.html +48 -42
  34. package/coverage/lcov-report/adaptors/index.html +24 -24
  35. package/coverage/lcov-report/adaptors/umi-request.ts.html +42 -33
  36. package/coverage/lcov-report/auto-bind.ts.html +229 -0
  37. package/coverage/lcov-report/controllers/aggregate.ts.html +20 -8
  38. package/coverage/lcov-report/controllers/base.ts.html +4 -4
  39. package/coverage/lcov-report/controllers/category.ts.html +43 -10
  40. package/coverage/lcov-report/controllers/comment.ts.html +21 -9
  41. package/coverage/lcov-report/controllers/index.html +1 -1
  42. package/coverage/lcov-report/controllers/index.ts.html +2 -2
  43. package/coverage/lcov-report/controllers/link.ts.html +28 -7
  44. package/coverage/lcov-report/controllers/note.ts.html +21 -9
  45. package/coverage/lcov-report/controllers/page.ts.html +22 -7
  46. package/coverage/lcov-report/controllers/post.ts.html +37 -16
  47. package/coverage/lcov-report/controllers/project.ts.html +27 -6
  48. package/coverage/lcov-report/controllers/recently.ts.html +23 -8
  49. package/coverage/lcov-report/controllers/say.ts.html +23 -8
  50. package/coverage/lcov-report/controllers/search.ts.html +31 -10
  51. package/coverage/lcov-report/controllers/snippet.ts.html +22 -7
  52. package/coverage/lcov-report/controllers/user.ts.html +23 -8
  53. package/coverage/lcov-report/core/attach-request.ts.html +13 -13
  54. package/coverage/lcov-report/core/client.ts.html +120 -150
  55. package/coverage/lcov-report/core/error.ts.html +1 -1
  56. package/coverage/lcov-report/core/index.html +18 -18
  57. package/coverage/lcov-report/core/index.ts.html +1 -1
  58. package/coverage/lcov-report/index.html +26 -26
  59. package/coverage/lcov-report/index.ts.html +244 -0
  60. package/coverage/lcov-report/models/aggregate.ts.html +1 -1
  61. package/coverage/lcov-report/models/category.ts.html +1 -1
  62. package/coverage/lcov-report/models/index.html +1 -1
  63. package/coverage/lcov-report/utils/auto-bind.ts.html +18 -18
  64. package/coverage/lcov-report/utils/index.html +1 -1
  65. package/coverage/lcov-report/utils/index.ts.html +3 -3
  66. package/coverage/lcov.info +496 -485
  67. package/esm/adaptors/axios.d.ts +2 -2
  68. package/esm/adaptors/axios.js +1 -0
  69. package/esm/adaptors/axios.js.map +1 -1
  70. package/esm/adaptors/umi-request.d.ts +2 -2
  71. package/esm/adaptors/umi-request.js +1 -0
  72. package/esm/adaptors/umi-request.js.map +1 -1
  73. package/esm/controllers/aggregate.d.ts +25 -8
  74. package/esm/controllers/aggregate.js.map +1 -1
  75. package/esm/controllers/base.d.ts +17 -5
  76. package/esm/controllers/category.d.ts +64 -13
  77. package/esm/controllers/category.js.map +1 -1
  78. package/esm/controllers/comment.d.ts +42 -10
  79. package/esm/controllers/comment.js.map +1 -1
  80. package/esm/controllers/link.d.ts +5 -4
  81. package/esm/controllers/link.js.map +1 -1
  82. package/esm/controllers/note.d.ts +42 -12
  83. package/esm/controllers/note.js.map +1 -1
  84. package/esm/controllers/page.d.ts +22 -8
  85. package/esm/controllers/page.js.map +1 -1
  86. package/esm/controllers/post.d.ts +24 -11
  87. package/esm/controllers/post.js.map +1 -1
  88. package/esm/controllers/project.d.ts +4 -3
  89. package/esm/controllers/project.js.map +1 -1
  90. package/esm/controllers/recently.d.ts +30 -8
  91. package/esm/controllers/recently.js.map +1 -1
  92. package/esm/controllers/say.d.ts +15 -5
  93. package/esm/controllers/say.js.map +1 -1
  94. package/esm/controllers/search.d.ts +168 -9
  95. package/esm/controllers/search.js.map +1 -1
  96. package/esm/controllers/snippet.d.ts +16 -6
  97. package/esm/controllers/snippet.js.map +1 -1
  98. package/esm/controllers/user.d.ts +28 -8
  99. package/esm/controllers/user.js.map +1 -1
  100. package/esm/core/attach-request.d.ts +1 -1
  101. package/esm/core/attach-request.js.map +1 -1
  102. package/esm/core/client.d.ts +9 -6
  103. package/esm/core/client.js +13 -32
  104. package/esm/core/client.js.map +1 -1
  105. package/esm/index.d.ts +2 -1
  106. package/esm/index.js +1 -1
  107. package/esm/index.js.map +1 -1
  108. package/esm/interfaces/adapter.d.ts +9 -8
  109. package/esm/interfaces/client.d.ts +1 -1
  110. package/esm/interfaces/request.d.ts +22 -13
  111. package/esm/interfaces/types.d.ts +2 -0
  112. package/esm/interfaces/types.js +2 -0
  113. package/esm/interfaces/types.js.map +1 -0
  114. package/index.ts +2 -1
  115. package/interfaces/adapter.ts +29 -24
  116. package/interfaces/client.ts +1 -1
  117. package/interfaces/request.ts +45 -20
  118. package/{types/helper.d.ts → interfaces/types.ts} +0 -0
  119. package/lib/adaptors/axios.d.ts +2 -2
  120. package/lib/adaptors/axios.js +1 -0
  121. package/lib/adaptors/axios.js.map +1 -1
  122. package/lib/adaptors/umi-request.d.ts +2 -2
  123. package/lib/adaptors/umi-request.js +1 -0
  124. package/lib/adaptors/umi-request.js.map +1 -1
  125. package/lib/controllers/aggregate.d.ts +25 -8
  126. package/lib/controllers/aggregate.js.map +1 -1
  127. package/lib/controllers/base.d.ts +17 -5
  128. package/lib/controllers/category.d.ts +64 -13
  129. package/lib/controllers/category.js.map +1 -1
  130. package/lib/controllers/comment.d.ts +42 -10
  131. package/lib/controllers/comment.js.map +1 -1
  132. package/lib/controllers/link.d.ts +5 -4
  133. package/lib/controllers/link.js.map +1 -1
  134. package/lib/controllers/note.d.ts +42 -12
  135. package/lib/controllers/note.js.map +1 -1
  136. package/lib/controllers/page.d.ts +22 -8
  137. package/lib/controllers/page.js.map +1 -1
  138. package/lib/controllers/post.d.ts +24 -11
  139. package/lib/controllers/post.js.map +1 -1
  140. package/lib/controllers/project.d.ts +4 -3
  141. package/lib/controllers/project.js.map +1 -1
  142. package/lib/controllers/recently.d.ts +30 -8
  143. package/lib/controllers/recently.js.map +1 -1
  144. package/lib/controllers/say.d.ts +15 -5
  145. package/lib/controllers/say.js.map +1 -1
  146. package/lib/controllers/search.d.ts +168 -9
  147. package/lib/controllers/search.js.map +1 -1
  148. package/lib/controllers/snippet.d.ts +16 -6
  149. package/lib/controllers/snippet.js.map +1 -1
  150. package/lib/controllers/user.d.ts +28 -8
  151. package/lib/controllers/user.js.map +1 -1
  152. package/lib/core/attach-request.d.ts +1 -1
  153. package/lib/core/attach-request.js.map +1 -1
  154. package/lib/core/client.d.ts +9 -6
  155. package/lib/core/client.js +13 -33
  156. package/lib/core/client.js.map +1 -1
  157. package/lib/index.d.ts +2 -1
  158. package/lib/index.js +1 -2
  159. package/lib/index.js.map +1 -1
  160. package/lib/interfaces/adapter.d.ts +9 -8
  161. package/lib/interfaces/client.d.ts +1 -1
  162. package/lib/interfaces/request.d.ts +22 -13
  163. package/lib/interfaces/types.d.ts +2 -0
  164. package/lib/interfaces/types.js +3 -0
  165. package/lib/interfaces/types.js.map +1 -0
  166. package/package.json +5 -5
  167. package/tsconfig.json +25 -4
  168. package/tsconfig.types.json +18 -0
  169. package/types/adaptors/axios.d.ts +3 -0
  170. package/types/adaptors/umi-request.d.ts +3 -0
  171. package/types/controllers/aggregate.d.ts +64 -0
  172. package/types/controllers/base.d.ts +39 -0
  173. package/types/controllers/category.d.ts +114 -0
  174. package/types/controllers/comment.d.ts +81 -0
  175. package/types/controllers/index.d.ts +16 -0
  176. package/types/controllers/link.d.ts +16 -0
  177. package/types/controllers/note.d.ts +94 -0
  178. package/types/controllers/page.d.ts +59 -0
  179. package/types/controllers/post.d.ts +72 -0
  180. package/types/controllers/project.d.ts +15 -0
  181. package/types/controllers/recently.d.ts +61 -0
  182. package/types/controllers/say.d.ts +37 -0
  183. package/types/controllers/search.d.ts +247 -0
  184. package/types/controllers/snippet.d.ts +33 -0
  185. package/types/controllers/user.d.ts +54 -0
  186. package/types/core/attach-request.d.ts +2 -0
  187. package/types/core/client.d.ts +29 -0
  188. package/types/core/error.d.ts +6 -0
  189. package/types/core/index.d.ts +2 -0
  190. package/types/dtos/comment.d.ts +6 -0
  191. package/types/index.d.ts +7 -0
  192. package/types/interfaces/adapter.d.ts +14 -0
  193. package/types/interfaces/client.d.ts +5 -0
  194. package/types/interfaces/controller.d.ts +4 -0
  195. package/types/interfaces/instance.d.ts +7 -0
  196. package/types/interfaces/options.d.ts +1 -0
  197. package/types/interfaces/params.d.ts +4 -0
  198. package/types/interfaces/request.d.ts +43 -0
  199. package/types/interfaces/types.d.ts +2 -0
  200. package/types/models/aggregate.d.ts +53 -0
  201. package/types/models/base.d.ts +37 -0
  202. package/types/models/category.d.ts +22 -0
  203. package/types/models/comment.d.ts +34 -0
  204. package/types/models/index.d.ts +14 -0
  205. package/types/models/link.d.ts +20 -0
  206. package/types/models/note.d.ts +30 -0
  207. package/types/models/page.d.ts +14 -0
  208. package/types/models/post.d.ts +15 -0
  209. package/types/models/project.d.ts +11 -0
  210. package/types/models/recently.d.ts +6 -0
  211. package/types/models/say.d.ts +6 -0
  212. package/types/models/setting.d.ts +66 -0
  213. package/types/models/snippet.d.ts +16 -0
  214. package/types/models/user.d.ts +21 -0
  215. package/types/utils/auto-bind.d.ts +4 -0
  216. package/types/utils/index.d.ts +5 -0
@@ -0,0 +1,43 @@
1
+ import type { RequestOptions } from './instance';
2
+ declare type NoStringIndex<T> = {
3
+ [K in keyof T as string extends K ? never : K]: T[K];
4
+ };
5
+ export declare type Method = 'get' | 'delete' | 'post' | 'put' | 'patch';
6
+ export interface IRequestHandler<ResponseWrapper> {
7
+ (path?: string | number): IRequestHandler<ResponseWrapper>;
8
+ get<P = unknown>(options?: Omit<NoStringIndex<RequestOptions>, 'data'>): RequestProxyResult<P, ResponseWrapper>;
9
+ post<P = unknown>(options?: RequestOptions): RequestProxyResult<P, ResponseWrapper>;
10
+ patch<P = unknown>(options?: RequestOptions): RequestProxyResult<P, ResponseWrapper>;
11
+ delete<P = unknown>(options?: Omit<NoStringIndex<RequestOptions>, 'data'>): RequestProxyResult<P, ResponseWrapper>;
12
+ put<P = unknown>(options?: RequestOptions): RequestProxyResult<P, ResponseWrapper>;
13
+ toString(withBase?: boolean): string;
14
+ valueOf(withBase?: boolean): string;
15
+ [key: string]: IRequestHandler<ResponseWrapper>;
16
+ }
17
+ export declare type RequestProxyResult<T, ResponseWrapper, R = ResponseWrapper extends unknown ? {
18
+ data: T;
19
+ [key: string]: any;
20
+ } : ResponseWrapper extends {
21
+ data: T;
22
+ } ? ResponseWrapper : Omit<ResponseWrapper, 'data'> & {
23
+ data: T;
24
+ }> = Promise<ResponseProxyExtraRaw<T, R, ResponseWrapper>>;
25
+ declare type CamelToSnake<T extends string, P extends string = ''> = string extends T ? string : T extends `${infer C0}${infer R}` ? CamelToSnake<R, `${P}${C0 extends Lowercase<C0> ? '' : '_'}${Lowercase<C0>}`> : P;
26
+ declare type CamelKeysToSnake<T> = {
27
+ [K in keyof T as CamelToSnake<Extract<K, string>>]: T[K];
28
+ };
29
+ declare type ResponseWrapperType<Response, RawData, T> = {
30
+ $raw: Response extends {
31
+ data: infer T;
32
+ } ? Response : Response extends unknown ? {
33
+ [i: string]: any;
34
+ data: RawData extends unknown ? CamelKeysToSnake<T> : RawData;
35
+ } : Response;
36
+ $request: {
37
+ path: string;
38
+ method: string;
39
+ [k: string]: string;
40
+ };
41
+ };
42
+ export declare type ResponseProxyExtraRaw<T, RawData = unknown, Response = unknown> = T extends object ? T & ResponseWrapperType<Response, RawData, T> : T extends unknown ? T & ResponseWrapperType<Response, RawData, T> : unknown;
43
+ export {};
@@ -0,0 +1,2 @@
1
+ export declare type Class<T> = new (...args: any[]) => T;
2
+ export declare type SelectFields<T extends string> = `${'+' | '-' | ''}${T}`[];
@@ -0,0 +1,53 @@
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';
8
+ export interface AggregateRoot {
9
+ user: UserModel;
10
+ seo: SeoOptionModel;
11
+ url: Url;
12
+ categories: CategoryModel[];
13
+ pageMeta: Pick<PageModel, 'title' | 'id' | 'slug' | 'order'>[] | null;
14
+ }
15
+ export interface Url {
16
+ wsUrl: string;
17
+ serverUrl: string;
18
+ webUrl: string;
19
+ }
20
+ export interface AggregateTop {
21
+ notes: Pick<NoteModel, 'id' | 'title' | 'created' | 'nid'>[];
22
+ posts: Pick<PostModel, 'id' | 'slug' | 'created' | 'title' | 'category'>[];
23
+ says: SayModel[];
24
+ }
25
+ export declare enum TimelineType {
26
+ Post = 0,
27
+ Note = 1
28
+ }
29
+ export interface TimelineData {
30
+ notes?: Pick<NoteModel, 'id' | 'nid' | 'title' | 'weather' | 'mood' | 'created' | 'modified' | 'hasMemory'>[];
31
+ posts?: (Pick<PostModel, 'id' | 'title' | 'slug' | 'created' | 'modified' | 'category'> & {
32
+ url: string;
33
+ })[];
34
+ }
35
+ export interface AggregateStat {
36
+ allComments: number;
37
+ categories: number;
38
+ comments: number;
39
+ linkApply: number;
40
+ links: number;
41
+ notes: number;
42
+ pages: number;
43
+ posts: number;
44
+ says: number;
45
+ recently: number;
46
+ unreadComments: number;
47
+ online: number;
48
+ todayMaxOnline: string;
49
+ todayOnlineTotal: string;
50
+ callTime: number;
51
+ uv: number;
52
+ todayIPAccessCount: number;
53
+ }
@@ -0,0 +1,37 @@
1
+ export interface Count {
2
+ read: number;
3
+ like: number;
4
+ }
5
+ export interface Image {
6
+ height: number;
7
+ width: number;
8
+ type: string;
9
+ accent?: string;
10
+ src: string;
11
+ }
12
+ export interface Pager {
13
+ total: number;
14
+ size: number;
15
+ currentPage: number;
16
+ totalPage: number;
17
+ hasPrevPage: boolean;
18
+ hasNextPage: boolean;
19
+ }
20
+ export interface PaginateResult<T> {
21
+ data: T[];
22
+ pagination: Pager;
23
+ }
24
+ export interface BaseModel {
25
+ created: string;
26
+ id: string;
27
+ }
28
+ export interface BaseCommentIndexModel extends BaseModel {
29
+ commentsIndex?: number;
30
+ allowComment: boolean;
31
+ }
32
+ export interface TextBaseModel extends BaseCommentIndexModel {
33
+ title: string;
34
+ text: string;
35
+ images?: Image[];
36
+ modified: string | null;
37
+ }
@@ -0,0 +1,22 @@
1
+ import { BaseModel } from './base';
2
+ import { PostModel } from './post';
3
+ export declare enum CategoryType {
4
+ Category = 0,
5
+ Tag = 1
6
+ }
7
+ export interface CategoryModel extends BaseModel {
8
+ type: CategoryType;
9
+ count: number;
10
+ slug: string;
11
+ name: string;
12
+ }
13
+ export declare type CategoryWithChildrenModel = CategoryModel & {
14
+ children: Pick<PostModel, 'id' | 'title' | 'slug' | 'modified' | 'created'>[];
15
+ };
16
+ export declare type CategoryEntries = {
17
+ entries: Record<string, CategoryWithChildrenModel>;
18
+ };
19
+ export interface TagModel {
20
+ count: number;
21
+ name: string;
22
+ }
@@ -0,0 +1,34 @@
1
+ import { BaseModel } from './base';
2
+ import { CategoryModel } from './category';
3
+ export declare enum RefType {
4
+ Page = "Page",
5
+ Post = "Post",
6
+ Note = "Note"
7
+ }
8
+ export interface CommentModel extends BaseModel {
9
+ refType: RefType;
10
+ state: number;
11
+ comments_index: number;
12
+ author: string;
13
+ text: string;
14
+ mail?: string;
15
+ url?: string;
16
+ ip?: string;
17
+ agent?: string;
18
+ key: string;
19
+ avatar: string;
20
+ parent?: CommentModel | string;
21
+ children: CommentModel[];
22
+ }
23
+ export interface CommentRef {
24
+ id: string;
25
+ categoryId?: string;
26
+ slug: string;
27
+ title: string;
28
+ category?: CategoryModel;
29
+ }
30
+ export declare enum CommentState {
31
+ Unread = 0,
32
+ Read = 1,
33
+ Junk = 2
34
+ }
@@ -0,0 +1,14 @@
1
+ export * from './aggregate';
2
+ export * from './base';
3
+ export * from './category';
4
+ export * from './comment';
5
+ export * from './link';
6
+ export * from './note';
7
+ export * from './page';
8
+ export * from './post';
9
+ export * from './project';
10
+ export * from './recently';
11
+ export * from './say';
12
+ export * from './setting';
13
+ export * from './snippet';
14
+ export * from './user';
@@ -0,0 +1,20 @@
1
+ import { BaseModel } from './base';
2
+ export declare enum LinkType {
3
+ Friend = 0,
4
+ Collection = 1
5
+ }
6
+ export declare enum LinkState {
7
+ Pass = 0,
8
+ Audit = 1,
9
+ Outdate = 2,
10
+ Banned = 3
11
+ }
12
+ export interface LinkModel extends BaseModel {
13
+ name: string;
14
+ url: string;
15
+ avatar: string;
16
+ description?: string;
17
+ type: LinkType;
18
+ state: LinkState;
19
+ hide: boolean;
20
+ }
@@ -0,0 +1,30 @@
1
+ import { TextBaseModel } from './base';
2
+ export interface NoteModel extends TextBaseModel {
3
+ hide: boolean;
4
+ count: {
5
+ read: number;
6
+ like: number;
7
+ };
8
+ mood?: string;
9
+ weather?: string;
10
+ hasMemory?: boolean;
11
+ secret?: Date;
12
+ password?: string | null;
13
+ nid: number;
14
+ music?: NoteMusicRecord[];
15
+ location?: string;
16
+ coordinates?: Coordinate;
17
+ }
18
+ export interface NoteMusicRecord {
19
+ type: string;
20
+ id: string;
21
+ }
22
+ export interface Coordinate {
23
+ latitude: number;
24
+ longitude: number;
25
+ }
26
+ export interface NoteWrappedPayload {
27
+ data: NoteModel;
28
+ next?: Partial<NoteModel>;
29
+ prev?: Partial<NoteModel>;
30
+ }
@@ -0,0 +1,14 @@
1
+ import { TextBaseModel } from './base';
2
+ export declare enum EnumPageType {
3
+ 'md' = "md",
4
+ 'html' = "html",
5
+ 'frame' = "frame"
6
+ }
7
+ export interface PageModel extends TextBaseModel {
8
+ created: string;
9
+ slug: string;
10
+ subtitle?: string;
11
+ order?: number;
12
+ type?: EnumPageType;
13
+ options?: object;
14
+ }
@@ -0,0 +1,15 @@
1
+ import { Count, Image, TextBaseModel } from './base';
2
+ import { CategoryModel } from './category';
3
+ export interface PostModel extends TextBaseModel {
4
+ summary?: string;
5
+ hide: boolean;
6
+ copyright: boolean;
7
+ tags: string[];
8
+ count: Count;
9
+ text: string;
10
+ title: string;
11
+ slug: string;
12
+ categoryId: string;
13
+ images: Image[];
14
+ category: CategoryModel;
15
+ }
@@ -0,0 +1,11 @@
1
+ import { BaseModel } from './base';
2
+ export interface ProjectModel extends BaseModel {
3
+ name: string;
4
+ previewUrl?: string;
5
+ docUrl?: string;
6
+ projectUrl?: string;
7
+ images?: string[];
8
+ description: string;
9
+ avatar?: string;
10
+ text: string;
11
+ }
@@ -0,0 +1,6 @@
1
+ import { BaseModel } from './base';
2
+ export interface RecentlyModel extends BaseModel {
3
+ content: string;
4
+ project?: string;
5
+ language?: string;
6
+ }
@@ -0,0 +1,6 @@
1
+ import { BaseModel } from './base';
2
+ export interface SayModel extends BaseModel {
3
+ text: string;
4
+ source?: string;
5
+ author?: string;
6
+ }
@@ -0,0 +1,66 @@
1
+ export declare class SeoOptionModel {
2
+ title: string;
3
+ description: string;
4
+ icon?: string;
5
+ keywords?: string[];
6
+ }
7
+ export declare class UrlOptionModel {
8
+ webUrl: string;
9
+ adminUrl: string;
10
+ serverUrl: string;
11
+ wsUrl: string;
12
+ }
13
+ declare class MailOptionModel {
14
+ port: number;
15
+ host: string;
16
+ }
17
+ export declare class MailOptionsModel {
18
+ enable: boolean;
19
+ user: string;
20
+ pass: string;
21
+ options?: MailOptionModel;
22
+ }
23
+ export declare class CommentOptionsModel {
24
+ antiSpam: boolean;
25
+ spamKeywords?: string[];
26
+ blockIps?: string[];
27
+ disableNoChinese?: boolean;
28
+ }
29
+ export declare class BackupOptionsModel {
30
+ enable: boolean;
31
+ secretId?: string;
32
+ secretKey?: string;
33
+ bucket?: string;
34
+ region: string;
35
+ }
36
+ export declare class BaiduSearchOptionsModel {
37
+ enable: boolean;
38
+ token?: string;
39
+ }
40
+ export declare class AlgoliaSearchOptionsModel {
41
+ enable: boolean;
42
+ apiKey?: string;
43
+ appId?: string;
44
+ indexName?: string;
45
+ }
46
+ export declare class AdminExtraModel {
47
+ background?: string;
48
+ gaodemapKey?: string;
49
+ title?: string;
50
+ /**
51
+ * 是否开启后台反代访问
52
+ */
53
+ enableAdminProxy?: boolean;
54
+ }
55
+ export interface IConfig {
56
+ seo: SeoOptionModel;
57
+ url: UrlOptionModel;
58
+ mailOptions: MailOptionsModel;
59
+ commentOptions: CommentOptionsModel;
60
+ backupOptions: BackupOptionsModel;
61
+ baiduSearchOptions: BaiduSearchOptionsModel;
62
+ algoliaSearchOptions: AlgoliaSearchOptionsModel;
63
+ adminExtra: AdminExtraModel;
64
+ }
65
+ export declare type IConfigKeys = keyof IConfig;
66
+ export {};
@@ -0,0 +1,16 @@
1
+ import { BaseModel } from './base';
2
+ export declare enum SnippetType {
3
+ JSON = "json",
4
+ Text = "text",
5
+ YAML = "yaml"
6
+ }
7
+ export interface SnippetModel<T = unknown> extends BaseModel {
8
+ type: SnippetType;
9
+ private: boolean;
10
+ raw: string;
11
+ name: string;
12
+ reference: string;
13
+ comment?: string;
14
+ metatype?: string;
15
+ data: T;
16
+ }
@@ -0,0 +1,21 @@
1
+ import { BaseModel } from './base';
2
+ export interface UserModel extends BaseModel {
3
+ introduce: string;
4
+ mail: string;
5
+ url: string;
6
+ name: string;
7
+ socialIds: Record<string, string>;
8
+ username: string;
9
+ modified: string;
10
+ v: number;
11
+ lastLoginTime: string;
12
+ lastLoginIp?: string;
13
+ avatar: string;
14
+ postID: string;
15
+ }
16
+ export declare type TLogin = {
17
+ token: string;
18
+ expiresIn: number;
19
+ lastLoginTime: null | string;
20
+ lastLoginIp?: null | string;
21
+ } & Pick<UserModel, 'name' | 'username' | 'created' | 'url' | 'mail' | 'avatar' | 'id'>;
@@ -0,0 +1,4 @@
1
+ export declare function autoBind(self: any, { include, exclude }?: {
2
+ include: any;
3
+ exclude: any;
4
+ }): any;
@@ -0,0 +1,5 @@
1
+ import { SortOrder } from '../interfaces/options';
2
+ export declare const isPlainObject: (obj: any) => any;
3
+ export declare const sortOrderToNumber: (order: SortOrder) => number;
4
+ export declare const destructureData: (payload: any) => any;
5
+ export declare const attachRawFromOneToAnthor: (from: any, to: any) => void;