@mx-space/api-client 0.6.3 → 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.
- package/adaptors/axios.ts +38 -0
- package/adaptors/umi-request.ts +33 -0
- package/build/index.cjs.js +28 -27
- package/build/index.cjs.js.map +1 -1
- package/build/index.cjs.min.js +1 -1
- package/build/index.cjs.min.js.map +1 -1
- package/build/index.esm.js +29 -27
- package/build/index.esm.js.map +1 -1
- package/build/index.esm.min.js +1 -1
- package/build/index.esm.min.js.map +1 -1
- package/build/index.umd.js +28 -27
- package/build/index.umd.js.map +1 -1
- package/build/index.umd.min.js +1 -1
- package/build/index.umd.min.js.map +1 -1
- package/controllers/aggregate.ts +69 -0
- package/controllers/base.ts +32 -0
- package/controllers/category.ts +118 -0
- package/controllers/comment.ts +68 -0
- package/controllers/index.ts +66 -0
- package/controllers/link.ts +28 -0
- package/controllers/note.ts +96 -0
- package/controllers/page.ts +64 -0
- package/controllers/post.ts +94 -0
- package/controllers/project.ts +27 -0
- package/controllers/recently.ts +53 -0
- package/controllers/say.ts +40 -0
- package/controllers/search.ts +108 -0
- package/controllers/snippet.ts +36 -0
- package/controllers/user.ts +51 -0
- package/core/attach-request.ts +43 -0
- package/core/client.ts +239 -0
- package/core/error.ts +10 -0
- package/core/index.ts +2 -0
- package/coverage/clover.xml +570 -0
- package/coverage/coverage-final.json +30 -0
- package/coverage/lcov-report/adaptors/axios.ts.html +199 -0
- package/coverage/lcov-report/adaptors/index.html +131 -0
- package/coverage/lcov-report/adaptors/umi-request.ts.html +184 -0
- package/coverage/lcov-report/auto-bind.ts.html +229 -0
- package/coverage/lcov-report/base.css +224 -0
- package/coverage/lcov-report/block-navigation.js +87 -0
- package/coverage/lcov-report/controllers/aggregate.ts.html +292 -0
- package/coverage/lcov-report/controllers/base.ts.html +181 -0
- package/coverage/lcov-report/controllers/category.ts.html +439 -0
- package/coverage/lcov-report/controllers/comment.ts.html +289 -0
- package/coverage/lcov-report/controllers/index.html +326 -0
- package/coverage/lcov-report/controllers/index.ts.html +283 -0
- package/coverage/lcov-report/controllers/link.ts.html +169 -0
- package/coverage/lcov-report/controllers/note.ts.html +373 -0
- package/coverage/lcov-report/controllers/page.ts.html +277 -0
- package/coverage/lcov-report/controllers/post.ts.html +367 -0
- package/coverage/lcov-report/controllers/project.ts.html +166 -0
- package/coverage/lcov-report/controllers/recently.ts.html +244 -0
- package/coverage/lcov-report/controllers/say.ts.html +205 -0
- package/coverage/lcov-report/controllers/search.ts.html +409 -0
- package/coverage/lcov-report/controllers/snippet.ts.html +193 -0
- package/coverage/lcov-report/controllers/user.ts.html +238 -0
- package/coverage/lcov-report/core/attach-request.ts.html +214 -0
- package/coverage/lcov-report/core/client.ts.html +802 -0
- package/coverage/lcov-report/core/error.ts.html +115 -0
- package/coverage/lcov-report/core/index.html +161 -0
- package/coverage/lcov-report/core/index.ts.html +91 -0
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +191 -0
- package/coverage/lcov-report/index.ts.html +244 -0
- package/coverage/lcov-report/models/aggregate.ts.html +298 -0
- package/coverage/lcov-report/models/category.ts.html +160 -0
- package/coverage/lcov-report/models/index.html +131 -0
- package/coverage/lcov-report/prettify.css +1 -0
- package/coverage/lcov-report/prettify.js +2 -0
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +196 -0
- package/coverage/lcov-report/utils/auto-bind.ts.html +229 -0
- package/coverage/lcov-report/utils/index.html +131 -0
- package/coverage/lcov-report/utils/index.ts.html +244 -0
- package/coverage/lcov.info +1164 -0
- package/dtos/comment.ts +9 -0
- package/esm/adaptors/axios.d.ts +3 -3
- package/esm/adaptors/axios.js +5 -17
- package/esm/adaptors/axios.js.map +1 -1
- package/esm/adaptors/umi-request.d.ts +3 -3
- package/esm/adaptors/umi-request.js +1 -0
- package/esm/adaptors/umi-request.js.map +1 -1
- package/esm/controllers/aggregate.d.ts +32 -10
- package/esm/controllers/aggregate.js +2 -2
- package/esm/controllers/aggregate.js.map +1 -1
- package/esm/controllers/base.d.ts +19 -7
- package/esm/controllers/base.js +1 -1
- package/esm/controllers/base.js.map +1 -1
- package/esm/controllers/category.d.ts +68 -12
- package/esm/controllers/category.js +3 -3
- package/esm/controllers/category.js.map +1 -1
- package/esm/controllers/comment.d.ts +49 -12
- package/esm/controllers/comment.js +1 -1
- package/esm/controllers/comment.js.map +1 -1
- package/esm/controllers/index.js.map +1 -1
- package/esm/controllers/link.d.ts +9 -2
- package/esm/controllers/link.js +1 -1
- package/esm/controllers/link.js.map +1 -1
- package/esm/controllers/note.d.ts +48 -13
- package/esm/controllers/note.js +2 -2
- package/esm/controllers/note.js.map +1 -1
- package/esm/controllers/page.d.ts +28 -9
- package/esm/controllers/page.js +2 -2
- package/esm/controllers/page.js.map +1 -1
- package/esm/controllers/post.d.ts +30 -12
- package/esm/controllers/post.js +2 -2
- package/esm/controllers/post.js.map +1 -1
- package/esm/controllers/project.d.ts +8 -2
- package/esm/controllers/project.js +1 -1
- package/esm/controllers/project.js.map +1 -1
- package/esm/controllers/recently.d.ts +35 -7
- package/esm/controllers/recently.js +1 -1
- package/esm/controllers/recently.js.map +1 -1
- package/esm/controllers/say.d.ts +20 -5
- package/esm/controllers/say.js +1 -1
- package/esm/controllers/say.js.map +1 -1
- package/esm/controllers/search.d.ts +178 -14
- package/esm/controllers/search.js +3 -3
- package/esm/controllers/search.js.map +1 -1
- package/esm/controllers/snippet.d.ts +21 -6
- package/esm/controllers/snippet.js +1 -1
- package/esm/controllers/snippet.js.map +1 -1
- package/esm/controllers/user.d.ts +33 -7
- package/esm/controllers/user.js +1 -1
- package/esm/controllers/user.js.map +1 -1
- package/esm/core/attach-request.d.ts +1 -1
- package/esm/core/attach-request.js.map +1 -1
- package/esm/core/client.d.ts +12 -28
- package/esm/core/client.js +23 -21
- package/esm/core/client.js.map +1 -1
- package/esm/core/error.js.map +1 -1
- package/esm/core/index.js.map +1 -1
- package/esm/dtos/comment.js.map +1 -1
- package/esm/index.d.ts +2 -1
- package/esm/index.js +1 -1
- package/esm/index.js.map +1 -1
- package/esm/interfaces/adapter.d.ts +9 -8
- package/esm/interfaces/adapter.js.map +1 -1
- package/esm/interfaces/client.d.ts +1 -1
- package/esm/interfaces/client.js.map +1 -1
- package/esm/interfaces/controller.js.map +1 -1
- package/esm/interfaces/instance.js.map +1 -1
- package/esm/interfaces/options.js.map +1 -1
- package/esm/interfaces/params.js.map +1 -1
- package/esm/interfaces/request.d.ts +22 -13
- package/esm/interfaces/request.js.map +1 -1
- package/esm/interfaces/types.d.ts +2 -0
- package/esm/interfaces/types.js +2 -0
- package/esm/interfaces/types.js.map +1 -0
- package/esm/models/aggregate.js.map +1 -1
- package/esm/models/base.js.map +1 -1
- package/esm/models/category.js.map +1 -1
- package/esm/models/comment.js.map +1 -1
- package/esm/models/index.js.map +1 -1
- package/esm/models/link.js.map +1 -1
- package/esm/models/note.js.map +1 -1
- package/esm/models/page.js.map +1 -1
- package/esm/models/post.js.map +1 -1
- package/esm/models/project.js.map +1 -1
- package/esm/models/recently.js.map +1 -1
- package/esm/models/say.js.map +1 -1
- package/esm/models/setting.js.map +1 -1
- package/esm/models/snippet.js.map +1 -1
- package/esm/models/user.js.map +1 -1
- package/esm/utils/auto-bind.js.map +1 -1
- package/esm/utils/index.d.ts +1 -1
- package/esm/utils/index.js +2 -2
- package/esm/utils/index.js.map +1 -1
- package/index.ts +13 -0
- package/interfaces/adapter.ts +35 -0
- package/interfaces/client.ts +6 -0
- package/interfaces/controller.ts +5 -0
- package/interfaces/instance.ts +8 -0
- package/interfaces/options.ts +1 -0
- package/interfaces/params.ts +4 -0
- package/interfaces/request.ts +82 -0
- package/interfaces/types.ts +3 -0
- package/jest.config.js +12 -0
- package/lib/adaptors/axios.d.ts +3 -3
- package/lib/adaptors/axios.js +5 -17
- package/lib/adaptors/axios.js.map +1 -1
- package/lib/adaptors/umi-request.d.ts +3 -3
- package/lib/adaptors/umi-request.js +1 -0
- package/lib/adaptors/umi-request.js.map +1 -1
- package/lib/controllers/aggregate.d.ts +32 -10
- package/lib/controllers/aggregate.js.map +1 -1
- package/lib/controllers/base.d.ts +19 -7
- package/lib/controllers/base.js.map +1 -1
- package/lib/controllers/category.d.ts +68 -12
- package/lib/controllers/category.js +1 -1
- package/lib/controllers/category.js.map +1 -1
- package/lib/controllers/comment.d.ts +49 -12
- package/lib/controllers/comment.js.map +1 -1
- package/lib/controllers/index.js.map +1 -1
- package/lib/controllers/link.d.ts +9 -2
- package/lib/controllers/link.js.map +1 -1
- package/lib/controllers/note.d.ts +48 -13
- package/lib/controllers/note.js +1 -1
- package/lib/controllers/note.js.map +1 -1
- package/lib/controllers/page.d.ts +28 -9
- package/lib/controllers/page.js +1 -1
- package/lib/controllers/page.js.map +1 -1
- package/lib/controllers/post.d.ts +30 -12
- package/lib/controllers/post.js +1 -1
- package/lib/controllers/post.js.map +1 -1
- package/lib/controllers/project.d.ts +8 -2
- package/lib/controllers/project.js.map +1 -1
- package/lib/controllers/recently.d.ts +35 -7
- package/lib/controllers/recently.js.map +1 -1
- package/lib/controllers/say.d.ts +20 -5
- package/lib/controllers/say.js.map +1 -1
- package/lib/controllers/search.d.ts +178 -14
- package/lib/controllers/search.js +2 -2
- package/lib/controllers/search.js.map +1 -1
- package/lib/controllers/snippet.d.ts +21 -6
- package/lib/controllers/snippet.js.map +1 -1
- package/lib/controllers/user.d.ts +33 -7
- package/lib/controllers/user.js.map +1 -1
- package/lib/core/attach-request.d.ts +1 -1
- package/lib/core/attach-request.js.map +1 -1
- package/lib/core/client.d.ts +12 -28
- package/lib/core/client.js +21 -20
- package/lib/core/client.js.map +1 -1
- package/lib/core/error.js.map +1 -1
- package/lib/core/index.js.map +1 -1
- package/lib/dtos/comment.js.map +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.js +1 -2
- package/lib/index.js.map +1 -1
- package/lib/interfaces/adapter.d.ts +9 -8
- package/lib/interfaces/adapter.js.map +1 -1
- package/lib/interfaces/client.d.ts +1 -1
- package/lib/interfaces/client.js.map +1 -1
- package/lib/interfaces/controller.js.map +1 -1
- package/lib/interfaces/instance.js.map +1 -1
- package/lib/interfaces/options.js.map +1 -1
- package/lib/interfaces/params.js.map +1 -1
- package/lib/interfaces/request.d.ts +22 -13
- package/lib/interfaces/request.js.map +1 -1
- package/lib/interfaces/types.d.ts +2 -0
- package/lib/interfaces/types.js +3 -0
- package/lib/interfaces/types.js.map +1 -0
- package/lib/models/aggregate.js.map +1 -1
- package/lib/models/base.js.map +1 -1
- package/lib/models/category.js.map +1 -1
- package/lib/models/comment.js.map +1 -1
- package/lib/models/index.js.map +1 -1
- package/lib/models/link.js.map +1 -1
- package/lib/models/note.js.map +1 -1
- package/lib/models/page.js.map +1 -1
- package/lib/models/post.js.map +1 -1
- package/lib/models/project.js.map +1 -1
- package/lib/models/recently.js.map +1 -1
- package/lib/models/say.js.map +1 -1
- package/lib/models/setting.js.map +1 -1
- package/lib/models/snippet.js.map +1 -1
- package/lib/models/user.js.map +1 -1
- package/lib/utils/auto-bind.js.map +1 -1
- package/lib/utils/index.d.ts +1 -1
- package/lib/utils/index.js +2 -2
- package/lib/utils/index.js.map +1 -1
- package/models/aggregate.ts +71 -0
- package/models/base.ts +43 -0
- package/models/category.ts +25 -0
- package/models/comment.ts +37 -0
- package/models/index.ts +14 -0
- package/models/link.ts +23 -0
- package/models/note.ts +37 -0
- package/models/page.ts +20 -0
- package/models/post.ts +16 -0
- package/models/project.ts +12 -0
- package/models/recently.ts +7 -0
- package/models/say.ts +7 -0
- package/models/setting.ts +68 -0
- package/models/snippet.ts +18 -0
- package/models/user.ts +27 -0
- package/package.json +10 -44
- package/tsconfig.build.json +6 -0
- package/tsconfig.cjs.json +7 -0
- package/tsconfig.json +13 -11
- package/tsconfig.types.json +18 -0
- package/types/adaptors/axios.d.ts +3 -0
- package/types/adaptors/umi-request.d.ts +3 -0
- package/types/controllers/aggregate.d.ts +64 -0
- package/types/controllers/base.d.ts +39 -0
- package/types/controllers/category.d.ts +114 -0
- package/types/controllers/comment.d.ts +81 -0
- package/types/controllers/index.d.ts +16 -0
- package/types/controllers/link.d.ts +16 -0
- package/types/controllers/note.d.ts +94 -0
- package/types/controllers/page.d.ts +59 -0
- package/types/controllers/post.d.ts +72 -0
- package/types/controllers/project.d.ts +15 -0
- package/types/controllers/recently.d.ts +61 -0
- package/types/controllers/say.d.ts +37 -0
- package/types/controllers/search.d.ts +247 -0
- package/types/controllers/snippet.d.ts +33 -0
- package/types/controllers/user.d.ts +54 -0
- package/types/core/attach-request.d.ts +2 -0
- package/types/core/client.d.ts +29 -0
- package/types/core/error.d.ts +6 -0
- package/types/core/index.d.ts +2 -0
- package/types/dtos/comment.d.ts +6 -0
- package/types/index.d.ts +7 -0
- package/types/interfaces/adapter.d.ts +14 -0
- package/types/interfaces/client.d.ts +5 -0
- package/types/interfaces/controller.d.ts +4 -0
- package/types/interfaces/instance.d.ts +7 -0
- package/types/interfaces/options.d.ts +1 -0
- package/types/interfaces/params.d.ts +4 -0
- package/types/interfaces/request.d.ts +43 -0
- package/types/interfaces/types.d.ts +2 -0
- package/types/models/aggregate.d.ts +53 -0
- package/types/models/base.d.ts +37 -0
- package/types/models/category.d.ts +22 -0
- package/types/models/comment.d.ts +34 -0
- package/types/models/index.d.ts +14 -0
- package/types/models/link.d.ts +20 -0
- package/types/models/note.d.ts +30 -0
- package/types/models/page.d.ts +14 -0
- package/types/models/post.d.ts +15 -0
- package/types/models/project.d.ts +11 -0
- package/types/models/recently.d.ts +6 -0
- package/types/models/say.d.ts +6 -0
- package/types/models/setting.d.ts +66 -0
- package/types/models/snippet.d.ts +16 -0
- package/types/models/user.d.ts +21 -0
- package/types/utils/auto-bind.d.ts +4 -0
- package/types/utils/index.d.ts +5 -0
- package/utils/auto-bind.ts +48 -0
- package/utils/index.ts +53 -0
- package/build/index.d.ts +0 -932
- package/readme.md +0 -84
package/models/link.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { BaseModel } from './base'
|
|
2
|
+
|
|
3
|
+
export enum LinkType {
|
|
4
|
+
Friend,
|
|
5
|
+
Collection,
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export enum LinkState {
|
|
9
|
+
Pass,
|
|
10
|
+
Audit,
|
|
11
|
+
Outdate,
|
|
12
|
+
Banned,
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface LinkModel extends BaseModel {
|
|
16
|
+
name: string
|
|
17
|
+
url: string
|
|
18
|
+
avatar: string
|
|
19
|
+
description?: string
|
|
20
|
+
type: LinkType
|
|
21
|
+
state: LinkState
|
|
22
|
+
hide: boolean
|
|
23
|
+
}
|
package/models/note.ts
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { TextBaseModel } from './base'
|
|
2
|
+
|
|
3
|
+
export interface NoteModel extends TextBaseModel {
|
|
4
|
+
hide: boolean
|
|
5
|
+
count: {
|
|
6
|
+
read: number
|
|
7
|
+
like: number
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
mood?: string
|
|
11
|
+
weather?: string
|
|
12
|
+
hasMemory?: boolean
|
|
13
|
+
|
|
14
|
+
secret?: Date
|
|
15
|
+
password?: string | null
|
|
16
|
+
nid: number
|
|
17
|
+
music?: NoteMusicRecord[]
|
|
18
|
+
location?: string
|
|
19
|
+
|
|
20
|
+
coordinates?: Coordinate
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export interface NoteMusicRecord {
|
|
24
|
+
type: string
|
|
25
|
+
id: string
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export interface Coordinate {
|
|
29
|
+
latitude: number
|
|
30
|
+
longitude: number
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export interface NoteWrappedPayload {
|
|
34
|
+
data: NoteModel
|
|
35
|
+
next?: Partial<NoteModel>
|
|
36
|
+
prev?: Partial<NoteModel>
|
|
37
|
+
}
|
package/models/page.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { TextBaseModel } from './base'
|
|
2
|
+
|
|
3
|
+
export enum EnumPageType {
|
|
4
|
+
'md' = 'md',
|
|
5
|
+
'html' = 'html',
|
|
6
|
+
'frame' = 'frame',
|
|
7
|
+
}
|
|
8
|
+
export interface PageModel extends TextBaseModel {
|
|
9
|
+
created: string
|
|
10
|
+
|
|
11
|
+
slug: string
|
|
12
|
+
|
|
13
|
+
subtitle?: string
|
|
14
|
+
|
|
15
|
+
order?: number
|
|
16
|
+
|
|
17
|
+
type?: EnumPageType
|
|
18
|
+
|
|
19
|
+
options?: object
|
|
20
|
+
}
|
package/models/post.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Count, Image, TextBaseModel } from './base'
|
|
2
|
+
import { CategoryModel } from './category'
|
|
3
|
+
|
|
4
|
+
export interface PostModel extends TextBaseModel {
|
|
5
|
+
summary?: string
|
|
6
|
+
hide: boolean
|
|
7
|
+
copyright: boolean
|
|
8
|
+
tags: string[]
|
|
9
|
+
count: Count
|
|
10
|
+
text: string
|
|
11
|
+
title: string
|
|
12
|
+
slug: string
|
|
13
|
+
categoryId: string
|
|
14
|
+
images: Image[]
|
|
15
|
+
category: CategoryModel
|
|
16
|
+
}
|
package/models/say.ts
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
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
|
+
|
|
47
|
+
export declare class AdminExtraModel {
|
|
48
|
+
background?: string
|
|
49
|
+
|
|
50
|
+
gaodemapKey?: string
|
|
51
|
+
title?: string
|
|
52
|
+
/**
|
|
53
|
+
* 是否开启后台反代访问
|
|
54
|
+
*/
|
|
55
|
+
enableAdminProxy?: boolean
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export interface IConfig {
|
|
59
|
+
seo: SeoOptionModel
|
|
60
|
+
url: UrlOptionModel
|
|
61
|
+
mailOptions: MailOptionsModel
|
|
62
|
+
commentOptions: CommentOptionsModel
|
|
63
|
+
backupOptions: BackupOptionsModel
|
|
64
|
+
baiduSearchOptions: BaiduSearchOptionsModel
|
|
65
|
+
algoliaSearchOptions: AlgoliaSearchOptionsModel
|
|
66
|
+
adminExtra: AdminExtraModel
|
|
67
|
+
}
|
|
68
|
+
export declare type IConfigKeys = keyof IConfig
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { BaseModel } from './base'
|
|
2
|
+
export enum SnippetType {
|
|
3
|
+
JSON = 'json',
|
|
4
|
+
// Function = 'function',
|
|
5
|
+
Text = 'text',
|
|
6
|
+
YAML = 'yaml',
|
|
7
|
+
}
|
|
8
|
+
export interface SnippetModel<T = unknown> extends BaseModel {
|
|
9
|
+
type: SnippetType
|
|
10
|
+
private: boolean
|
|
11
|
+
raw: string
|
|
12
|
+
name: string
|
|
13
|
+
reference: string
|
|
14
|
+
comment?: string
|
|
15
|
+
metatype?: string
|
|
16
|
+
|
|
17
|
+
data: T
|
|
18
|
+
}
|
package/models/user.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { BaseModel } from './base'
|
|
2
|
+
|
|
3
|
+
export interface UserModel extends BaseModel {
|
|
4
|
+
introduce: string
|
|
5
|
+
mail: string
|
|
6
|
+
url: string
|
|
7
|
+
name: string
|
|
8
|
+
socialIds: Record<string, string>
|
|
9
|
+
username: string
|
|
10
|
+
modified: string
|
|
11
|
+
v: number
|
|
12
|
+
lastLoginTime: string
|
|
13
|
+
lastLoginIp?: string
|
|
14
|
+
avatar: string
|
|
15
|
+
postID: string
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export type TLogin = {
|
|
19
|
+
token: string
|
|
20
|
+
expiresIn: number
|
|
21
|
+
// 登陆足迹
|
|
22
|
+
lastLoginTime: null | string
|
|
23
|
+
lastLoginIp?: null | string
|
|
24
|
+
} & Pick<
|
|
25
|
+
UserModel,
|
|
26
|
+
'name' | 'username' | 'created' | 'url' | 'mail' | 'avatar' | 'id'
|
|
27
|
+
>
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mx-space/api-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.1",
|
|
4
4
|
"description": "A api client for mx-space server@next",
|
|
5
5
|
"author": "Innei",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"main": "build/index.cjs.js",
|
|
8
8
|
"module": "build/index.esm.js",
|
|
9
|
-
"types": "
|
|
9
|
+
"types": "types/index.d.ts",
|
|
10
10
|
"unpkg": "build/index.umd.min.js",
|
|
11
11
|
"husky": {
|
|
12
12
|
"hooks": {
|
|
@@ -29,70 +29,36 @@
|
|
|
29
29
|
"eslint --cache"
|
|
30
30
|
]
|
|
31
31
|
},
|
|
32
|
-
"files": [
|
|
33
|
-
"build",
|
|
34
|
-
"lib",
|
|
35
|
-
"esm",
|
|
36
|
-
"readme.md",
|
|
37
|
-
"tsconfig.json"
|
|
38
|
-
],
|
|
39
32
|
"engines": {
|
|
40
33
|
"pnpm": ">=6"
|
|
41
34
|
},
|
|
42
35
|
"scripts": {
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
36
|
+
"prebuild": "rm -rf lib && rm -rf esm",
|
|
37
|
+
"build": "tsc --build tsconfig.build.json && tsc --build tsconfig.cjs.json",
|
|
38
|
+
"postbuild": "tsconfig-replace-paths -p tsconfig.build.json && tsconfig-replace-paths -p tsconfig.cjs.json && npm run types",
|
|
39
|
+
"types": "rm -rf types && tsc --build tsconfig.types.json && tsconfig-replace-paths -p tsconfig.types.json",
|
|
47
40
|
"package": "NODE_ENV=production npm run build && rollup -c",
|
|
48
|
-
"postpackage": "dts-bundle-generator -o build/index.d.ts src/index.ts --project tsconfig.json --no-check",
|
|
49
41
|
"prepackage": "rm -rf build",
|
|
50
42
|
"release": "vv",
|
|
51
|
-
"dev": "vite",
|
|
52
|
-
"build:vite": "vite build",
|
|
53
|
-
"preview": "vite preview --port 2323",
|
|
54
|
-
"deploy": "vite build && gh-pages -d dist",
|
|
55
43
|
"test": "jest --env=jsdom --colors --coverage test",
|
|
56
|
-
"test:watch": "jest --env=jsdom --colors --coverage test --watch -i --detectOpenHandles"
|
|
44
|
+
"test:watch": "jest --env=jsdom --colors --coverage test --watch -i --detectOpenHandles",
|
|
45
|
+
"version": "vv"
|
|
57
46
|
},
|
|
58
47
|
"devDependencies": {
|
|
59
|
-
"@innei-util/eslint-config-ts": "latest",
|
|
60
|
-
"@innei-util/prettier": "latest",
|
|
61
|
-
"@innei/bump-version": "0.2.2",
|
|
62
48
|
"@rollup/plugin-commonjs": "21.0.1",
|
|
63
49
|
"@rollup/plugin-node-resolve": "13.1.3",
|
|
64
50
|
"@rollup/plugin-typescript": "8.3.0",
|
|
65
|
-
"@types/express": "4.17.13",
|
|
66
51
|
"@types/jest": "27.4.0",
|
|
67
52
|
"@types/lodash": "4.14.178",
|
|
68
53
|
"@types/node": "16.11.22",
|
|
69
|
-
"@types/react": "17.0.39",
|
|
70
|
-
"@types/react-dom": "17.0.11",
|
|
71
|
-
"@zerollup/ts-transform-paths": "1.7.18",
|
|
72
54
|
"axios": "0.25.0",
|
|
73
|
-
"cors": "2.8.5",
|
|
74
|
-
"dts-bundle-generator": "6.4.0",
|
|
75
|
-
"esbuild": "0.14.18",
|
|
76
|
-
"express": "4.17.2",
|
|
77
55
|
"gh-pages": "3.2.3",
|
|
78
|
-
"husky": "7.0.4",
|
|
79
|
-
"jest": "27.5.0",
|
|
80
|
-
"lint-staged": "12.2.2",
|
|
81
56
|
"lodash": "4.17.21",
|
|
82
|
-
"prettier": "2.5.1",
|
|
83
|
-
"react": "18.0.0-rc.0-next-fe905f152-20220107",
|
|
84
|
-
"react-dom": "18.0.0-rc.0-next-fe905f152-20220107",
|
|
85
|
-
"react-json-view": "1.21.3",
|
|
86
57
|
"rollup": "2.66.1",
|
|
87
58
|
"rollup-plugin-peer-deps-external": "2.2.4",
|
|
88
59
|
"rollup-plugin-terser": "7.0.2",
|
|
89
|
-
"
|
|
90
|
-
"
|
|
91
|
-
"ttypescript": "1.5.13",
|
|
92
|
-
"typescript": "4.4.4",
|
|
93
|
-
"umi-request": "1.4.0",
|
|
94
|
-
"vite": "2.7.13",
|
|
95
|
-
"vite-tsconfig-paths": "3.3.17"
|
|
60
|
+
"tsconfig-replace-paths": "0.0.11",
|
|
61
|
+
"umi-request": "1.4.0"
|
|
96
62
|
},
|
|
97
63
|
"dependencies": {
|
|
98
64
|
"camelcase-keys": "7.0.2"
|
package/tsconfig.json
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"compilerOptions": {
|
|
3
|
-
"
|
|
3
|
+
"declaration": true,
|
|
4
|
+
"outDir": "./esm",
|
|
5
|
+
"baseUrl": ".",
|
|
6
|
+
"jsx": "react",
|
|
7
|
+
"target": "ES2020",
|
|
4
8
|
"lib": [
|
|
5
9
|
"ESNext",
|
|
6
10
|
"DOM",
|
|
@@ -14,18 +18,16 @@
|
|
|
14
18
|
"skipLibCheck": true,
|
|
15
19
|
"forceConsistentCasingInFileNames": true,
|
|
16
20
|
"sourceMap": true,
|
|
17
|
-
"declaration": true,
|
|
18
|
-
"outDir": "./dist",
|
|
19
|
-
"baseUrl": "./src",
|
|
20
21
|
"paths": {
|
|
21
22
|
"~/*": [
|
|
22
23
|
"*"
|
|
23
24
|
]
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"exclude": [
|
|
28
|
+
"esm/*",
|
|
29
|
+
"build/*",
|
|
30
|
+
"node_modules/*",
|
|
31
|
+
"lib/*"
|
|
32
|
+
]
|
|
31
33
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "./tsconfig.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"module": "commonjs",
|
|
5
|
+
"rootDir": ".",
|
|
6
|
+
"outDir": "types",
|
|
7
|
+
"declaration": true,
|
|
8
|
+
"declarationMap": false,
|
|
9
|
+
"isolatedModules": false,
|
|
10
|
+
"noEmit": false,
|
|
11
|
+
"allowJs": false,
|
|
12
|
+
"emitDeclarationOnly": true
|
|
13
|
+
},
|
|
14
|
+
"exclude": [
|
|
15
|
+
"__tests__/**/*",
|
|
16
|
+
"**/*.test.ts"
|
|
17
|
+
]
|
|
18
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { IRequestAdapter } from '../interfaces/adapter';
|
|
2
|
+
import { IController } from '../interfaces/controller';
|
|
3
|
+
import { SortOrder } from '../interfaces/options';
|
|
4
|
+
import { IRequestHandler, RequestProxyResult } from '../interfaces/request';
|
|
5
|
+
import { AggregateRoot, AggregateStat, AggregateTop, TimelineData, TimelineType } from '../models/aggregate';
|
|
6
|
+
import { HTTPClient } from '../core';
|
|
7
|
+
declare module '../core/client' {
|
|
8
|
+
interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
|
|
9
|
+
aggregate: AggregateController<ResponseWrapper>;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export declare class AggregateController<ResponseWrapper> implements IController {
|
|
13
|
+
private client;
|
|
14
|
+
base: string;
|
|
15
|
+
name: string;
|
|
16
|
+
constructor(client: HTTPClient);
|
|
17
|
+
get proxy(): IRequestHandler<ResponseWrapper>;
|
|
18
|
+
/**
|
|
19
|
+
* 获取聚合数据
|
|
20
|
+
*/
|
|
21
|
+
getAggregateData(): RequestProxyResult<AggregateRoot, ResponseWrapper>;
|
|
22
|
+
/**
|
|
23
|
+
* 获取最新发布的内容
|
|
24
|
+
*/
|
|
25
|
+
getTop(size?: number): RequestProxyResult<AggregateTop, ResponseWrapper, ResponseWrapper extends unknown ? {
|
|
26
|
+
[key: string]: any;
|
|
27
|
+
data: AggregateTop;
|
|
28
|
+
} : ResponseWrapper extends {
|
|
29
|
+
data: AggregateTop;
|
|
30
|
+
} ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
|
|
31
|
+
data: AggregateTop;
|
|
32
|
+
}>;
|
|
33
|
+
getTimeline(options?: {
|
|
34
|
+
sort?: SortOrder;
|
|
35
|
+
type?: TimelineType;
|
|
36
|
+
year?: number;
|
|
37
|
+
}): RequestProxyResult<{
|
|
38
|
+
data: TimelineData;
|
|
39
|
+
}, ResponseWrapper, ResponseWrapper extends unknown ? {
|
|
40
|
+
[key: string]: any;
|
|
41
|
+
data: {
|
|
42
|
+
data: TimelineData;
|
|
43
|
+
};
|
|
44
|
+
} : ResponseWrapper extends {
|
|
45
|
+
data: {
|
|
46
|
+
data: TimelineData;
|
|
47
|
+
};
|
|
48
|
+
} ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
|
|
49
|
+
data: {
|
|
50
|
+
data: TimelineData;
|
|
51
|
+
};
|
|
52
|
+
}>;
|
|
53
|
+
/**
|
|
54
|
+
* 获取聚合数据统计
|
|
55
|
+
*/
|
|
56
|
+
getStat(): RequestProxyResult<AggregateStat, ResponseWrapper, ResponseWrapper extends unknown ? {
|
|
57
|
+
[key: string]: any;
|
|
58
|
+
data: AggregateStat;
|
|
59
|
+
} : ResponseWrapper extends {
|
|
60
|
+
data: AggregateStat;
|
|
61
|
+
} ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
|
|
62
|
+
data: AggregateStat;
|
|
63
|
+
}>;
|
|
64
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { IRequestHandler, RequestProxyResult } from '../interfaces/request';
|
|
2
|
+
import { PaginateResult } from '../models/base';
|
|
3
|
+
import { HTTPClient } from '../core';
|
|
4
|
+
export declare abstract class BaseCrudController<T, ResponseWrapper> {
|
|
5
|
+
protected client: HTTPClient;
|
|
6
|
+
base: string;
|
|
7
|
+
constructor(client: HTTPClient);
|
|
8
|
+
get proxy(): IRequestHandler<ResponseWrapper>;
|
|
9
|
+
getById(id: string): RequestProxyResult<T, ResponseWrapper>;
|
|
10
|
+
getAll(): RequestProxyResult<{
|
|
11
|
+
data: T[];
|
|
12
|
+
}, ResponseWrapper, ResponseWrapper extends unknown ? {
|
|
13
|
+
[key: string]: any;
|
|
14
|
+
data: {
|
|
15
|
+
data: T[];
|
|
16
|
+
};
|
|
17
|
+
} : ResponseWrapper extends {
|
|
18
|
+
data: {
|
|
19
|
+
data: T[];
|
|
20
|
+
};
|
|
21
|
+
} ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
|
|
22
|
+
data: {
|
|
23
|
+
data: T[];
|
|
24
|
+
};
|
|
25
|
+
}>;
|
|
26
|
+
/**
|
|
27
|
+
* 带分页的查询
|
|
28
|
+
* @param page
|
|
29
|
+
* @param perPage
|
|
30
|
+
*/
|
|
31
|
+
getAllPaginated(page?: number, perPage?: number): RequestProxyResult<PaginateResult<T>, ResponseWrapper, ResponseWrapper extends unknown ? {
|
|
32
|
+
[key: string]: any;
|
|
33
|
+
data: PaginateResult<T>;
|
|
34
|
+
} : ResponseWrapper extends {
|
|
35
|
+
data: PaginateResult<T>;
|
|
36
|
+
} ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
|
|
37
|
+
data: PaginateResult<T>;
|
|
38
|
+
}>;
|
|
39
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { IRequestAdapter } from '../interfaces/adapter';
|
|
2
|
+
import { IController } from '../interfaces/controller';
|
|
3
|
+
import { IRequestHandler, RequestProxyResult, ResponseProxyExtraRaw } from '../interfaces/request';
|
|
4
|
+
import { HTTPClient } from '../core/client';
|
|
5
|
+
import { CategoryModel, CategoryType, CategoryWithChildrenModel, TagModel } from '../models/category';
|
|
6
|
+
import { PostModel } from '../models/post';
|
|
7
|
+
declare module '../core/client' {
|
|
8
|
+
interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
|
|
9
|
+
category: CategoryController<ResponseWrapper>;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export declare class CategoryController<ResponseWrapper> implements IController {
|
|
13
|
+
private client;
|
|
14
|
+
name: string;
|
|
15
|
+
base: string;
|
|
16
|
+
constructor(client: HTTPClient);
|
|
17
|
+
get proxy(): IRequestHandler<ResponseWrapper>;
|
|
18
|
+
getAllCategories(): RequestProxyResult<{
|
|
19
|
+
data: CategoryModel[];
|
|
20
|
+
}, ResponseWrapper>;
|
|
21
|
+
getAllTags(): RequestProxyResult<{
|
|
22
|
+
data: TagModel[];
|
|
23
|
+
}, ResponseWrapper>;
|
|
24
|
+
getCategoryDetail(id: string): Promise<ResponseProxyExtraRaw<CategoryWithChildrenModel>>;
|
|
25
|
+
getCategoryDetail(ids: string[]): Promise<ResponseProxyExtraRaw<Map<string, CategoryWithChildrenModel>>>;
|
|
26
|
+
getCategoryByIdOrSlug(idOrSlug: string): Promise<CategoryModel & {
|
|
27
|
+
children: Pick<PostModel, "id" | "title" | "slug" | "modified" | "created">[];
|
|
28
|
+
} & {
|
|
29
|
+
$raw: ResponseWrapper extends {
|
|
30
|
+
data: infer T;
|
|
31
|
+
} ? ResponseWrapper : ResponseWrapper extends unknown ? {
|
|
32
|
+
[i: string]: any;
|
|
33
|
+
data: (ResponseWrapper extends unknown ? {
|
|
34
|
+
[key: string]: any;
|
|
35
|
+
data: CategoryWithChildrenModel;
|
|
36
|
+
} : ResponseWrapper extends {
|
|
37
|
+
data: CategoryWithChildrenModel;
|
|
38
|
+
} ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
|
|
39
|
+
data: CategoryWithChildrenModel;
|
|
40
|
+
}) extends unknown ? {
|
|
41
|
+
type: CategoryType;
|
|
42
|
+
count: number;
|
|
43
|
+
slug: string;
|
|
44
|
+
name: string;
|
|
45
|
+
created: string;
|
|
46
|
+
id: string;
|
|
47
|
+
children: Pick<PostModel, "id" | "title" | "slug" | "modified" | "created">[];
|
|
48
|
+
} : ResponseWrapper extends unknown ? {
|
|
49
|
+
[key: string]: any;
|
|
50
|
+
data: CategoryWithChildrenModel;
|
|
51
|
+
} : ResponseWrapper extends {
|
|
52
|
+
data: CategoryWithChildrenModel;
|
|
53
|
+
} ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
|
|
54
|
+
data: CategoryWithChildrenModel;
|
|
55
|
+
};
|
|
56
|
+
} : ResponseWrapper;
|
|
57
|
+
$request: {
|
|
58
|
+
[k: string]: string;
|
|
59
|
+
path: string;
|
|
60
|
+
method: string;
|
|
61
|
+
};
|
|
62
|
+
}>;
|
|
63
|
+
getTagByName(name: string): Promise<{
|
|
64
|
+
tag: string;
|
|
65
|
+
data: Pick<PostModel, 'id' | 'title' | 'slug' | 'category' | 'created'>[];
|
|
66
|
+
} & {
|
|
67
|
+
$raw: ResponseWrapper extends {
|
|
68
|
+
data: infer T;
|
|
69
|
+
} ? ResponseWrapper : ResponseWrapper extends unknown ? {
|
|
70
|
+
[i: string]: any;
|
|
71
|
+
data: (ResponseWrapper extends unknown ? {
|
|
72
|
+
[key: string]: any;
|
|
73
|
+
data: {
|
|
74
|
+
tag: string;
|
|
75
|
+
data: Pick<PostModel, 'id' | 'title' | 'slug' | 'category' | 'created'>[];
|
|
76
|
+
};
|
|
77
|
+
} : ResponseWrapper extends {
|
|
78
|
+
data: {
|
|
79
|
+
tag: string;
|
|
80
|
+
data: Pick<PostModel, 'id' | 'title' | 'slug' | 'category' | 'created'>[];
|
|
81
|
+
};
|
|
82
|
+
} ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
|
|
83
|
+
data: {
|
|
84
|
+
tag: string;
|
|
85
|
+
data: Pick<PostModel, 'id' | 'title' | 'slug' | 'category' | 'created'>[];
|
|
86
|
+
};
|
|
87
|
+
}) extends unknown ? {
|
|
88
|
+
tag: string;
|
|
89
|
+
data: Pick<PostModel, "id" | "title" | "slug" | "created" | "category">[];
|
|
90
|
+
} : ResponseWrapper extends unknown ? {
|
|
91
|
+
[key: string]: any;
|
|
92
|
+
data: {
|
|
93
|
+
tag: string;
|
|
94
|
+
data: Pick<PostModel, 'id' | 'title' | 'slug' | 'category' | 'created'>[];
|
|
95
|
+
};
|
|
96
|
+
} : ResponseWrapper extends {
|
|
97
|
+
data: {
|
|
98
|
+
tag: string;
|
|
99
|
+
data: Pick<PostModel, 'id' | 'title' | 'slug' | 'category' | 'created'>[];
|
|
100
|
+
};
|
|
101
|
+
} ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
|
|
102
|
+
data: {
|
|
103
|
+
tag: string;
|
|
104
|
+
data: Pick<PostModel, 'id' | 'title' | 'slug' | 'category' | 'created'>[];
|
|
105
|
+
};
|
|
106
|
+
};
|
|
107
|
+
} : ResponseWrapper;
|
|
108
|
+
$request: {
|
|
109
|
+
[k: string]: string;
|
|
110
|
+
path: string;
|
|
111
|
+
method: string;
|
|
112
|
+
};
|
|
113
|
+
}>;
|
|
114
|
+
}
|