@mx-space/api-client 1.19.0 → 1.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adaptors/axios.d.cts +1 -1
- package/dist/adaptors/axios.d.mts +1 -1
- package/dist/adaptors/fetch.d.cts +1 -1
- package/dist/adaptors/fetch.d.mts +1 -1
- package/dist/adaptors/umi-request.d.cts +1 -1
- package/dist/adaptors/umi-request.d.mts +1 -1
- package/dist/index.cjs +15 -2
- package/dist/index.d.cts +31 -3
- package/dist/index.d.mts +31 -3
- package/dist/index.mjs +15 -2
- package/package.json +5 -2
- package/controllers/ack.ts +0 -42
- package/controllers/activity.ts +0 -108
- package/controllers/aggregate.ts +0 -75
- package/controllers/ai.ts +0 -70
- package/controllers/base.ts +0 -36
- package/controllers/category.ts +0 -118
- package/controllers/comment.ts +0 -71
- package/controllers/index.ts +0 -97
- package/controllers/link.ts +0 -46
- package/controllers/note.ts +0 -128
- package/controllers/page.ts +0 -64
- package/controllers/post.ts +0 -93
- package/controllers/project.ts +0 -27
- package/controllers/recently.ts +0 -82
- package/controllers/say.ts +0 -40
- package/controllers/search.ts +0 -108
- package/controllers/severless.ts +0 -31
- package/controllers/snippet.ts +0 -35
- package/controllers/subscribe.ts +0 -58
- package/controllers/topic.ts +0 -37
- package/controllers/user.ts +0 -61
- package/dtos/comment.ts +0 -12
- package/dtos/index.ts +0 -1
- package/index.ts +0 -12
- package/interfaces/adapter.ts +0 -36
- package/interfaces/client.ts +0 -20
- package/interfaces/controller.ts +0 -5
- package/interfaces/instance.ts +0 -8
- package/interfaces/options.ts +0 -1
- package/interfaces/params.ts +0 -4
- package/interfaces/request.ts +0 -87
- package/interfaces/types.ts +0 -3
- package/mod-dts.mjs +0 -21
- package/models/activity.ts +0 -133
- package/models/aggregate.ts +0 -97
- package/models/ai.ts +0 -17
- package/models/auth.ts +0 -9
- package/models/base.ts +0 -48
- package/models/category.ts +0 -25
- package/models/comment.ts +0 -44
- package/models/index.ts +0 -20
- package/models/link.ts +0 -25
- package/models/note.ts +0 -41
- package/models/page.ts +0 -20
- package/models/post.ts +0 -28
- package/models/project.ts +0 -12
- package/models/reader.ts +0 -9
- package/models/recently.ts +0 -24
- package/models/say.ts +0 -7
- package/models/setting.ts +0 -73
- package/models/snippet.ts +0 -19
- package/models/subscribe.ts +0 -5
- package/models/topic.ts +0 -9
- package/models/user.ts +0 -27
- package/test.d.ts +0 -3
- package/tsconfig.json +0 -37
- package/tsdown.config.ts +0 -18
- package/vitest.config.ts +0 -13
- /package/dist/{adapter-B1dtiutp.d.cts → adapter-D1g1obyM.d.mts} +0 -0
- /package/dist/{adapter-CRsPadpS.d.mts → adapter-DLzJOGbI.d.cts} +0 -0
package/controllers/recently.ts
DELETED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import type { IRequestAdapter } from '~/interfaces/adapter'
|
|
2
|
-
import type { IController } from '~/interfaces/controller'
|
|
3
|
-
import type { IRequestHandler } from '~/interfaces/request'
|
|
4
|
-
import type { RecentlyModel } from '~/models/recently'
|
|
5
|
-
import { autoBind } from '~/utils/auto-bind'
|
|
6
|
-
import type { HTTPClient } from '../core'
|
|
7
|
-
|
|
8
|
-
declare module '../core/client' {
|
|
9
|
-
interface HTTPClient<
|
|
10
|
-
T extends IRequestAdapter = IRequestAdapter,
|
|
11
|
-
ResponseWrapper = unknown,
|
|
12
|
-
> {
|
|
13
|
-
recently: RecentlyController<ResponseWrapper>
|
|
14
|
-
shorthand: RecentlyController<ResponseWrapper>
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export enum RecentlyAttitudeResultEnum {
|
|
19
|
-
Inc = 1,
|
|
20
|
-
Dec = -1,
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export enum RecentlyAttitudeEnum {
|
|
24
|
-
Up,
|
|
25
|
-
Down,
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export class RecentlyController<ResponseWrapper> implements IController {
|
|
29
|
-
base = 'recently'
|
|
30
|
-
name = ['recently', 'shorthand']
|
|
31
|
-
|
|
32
|
-
constructor(private readonly client: HTTPClient) {
|
|
33
|
-
autoBind(this)
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
get proxy(): IRequestHandler<ResponseWrapper> {
|
|
37
|
-
return this.client.proxy(this.base)
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* 获取最新一条
|
|
41
|
-
*/
|
|
42
|
-
getLatestOne() {
|
|
43
|
-
return this.proxy.latest.get<RecentlyModel & { comments: number }>()
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
getAll() {
|
|
47
|
-
return this.proxy.all.get<{
|
|
48
|
-
data: RecentlyModel[] & { comments: number }
|
|
49
|
-
}>()
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
getList({
|
|
53
|
-
before,
|
|
54
|
-
after,
|
|
55
|
-
size,
|
|
56
|
-
}: {
|
|
57
|
-
before?: string | undefined
|
|
58
|
-
after?: string | undefined
|
|
59
|
-
size?: number | number
|
|
60
|
-
} = {}) {
|
|
61
|
-
return this.proxy.get<{ data: RecentlyModel[] & { comments: number } }>({
|
|
62
|
-
params: {
|
|
63
|
-
before,
|
|
64
|
-
after,
|
|
65
|
-
size,
|
|
66
|
-
},
|
|
67
|
-
})
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
getById(id: string) {
|
|
71
|
-
return this.proxy(id).get<RecentlyModel & { comments: number }>()
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
/** 表态:点赞,点踩 */
|
|
75
|
-
attitude(id: string, attitude: RecentlyAttitudeEnum) {
|
|
76
|
-
return this.proxy.attitude(id).get<{ code: RecentlyAttitudeResultEnum }>({
|
|
77
|
-
params: {
|
|
78
|
-
attitude,
|
|
79
|
-
},
|
|
80
|
-
})
|
|
81
|
-
}
|
|
82
|
-
}
|
package/controllers/say.ts
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import type { IRequestAdapter } from '~/interfaces/adapter'
|
|
2
|
-
import type { IController } from '~/interfaces/controller'
|
|
3
|
-
import type { IRequestHandler } from '~/interfaces/request'
|
|
4
|
-
import type { SayModel } from '~/models/say'
|
|
5
|
-
import { autoBind } from '~/utils/auto-bind'
|
|
6
|
-
import type { HTTPClient } from '../core'
|
|
7
|
-
import { BaseCrudController } from './base'
|
|
8
|
-
|
|
9
|
-
declare module '../core/client' {
|
|
10
|
-
interface HTTPClient<
|
|
11
|
-
T extends IRequestAdapter = IRequestAdapter,
|
|
12
|
-
ResponseWrapper = unknown,
|
|
13
|
-
> {
|
|
14
|
-
say: SayController<ResponseWrapper>
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export class SayController<ResponseWrapper>
|
|
19
|
-
extends BaseCrudController<SayModel, ResponseWrapper>
|
|
20
|
-
implements IController
|
|
21
|
-
{
|
|
22
|
-
base = 'says'
|
|
23
|
-
name = 'say'
|
|
24
|
-
|
|
25
|
-
constructor(protected client: HTTPClient) {
|
|
26
|
-
super(client)
|
|
27
|
-
autoBind(this)
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
public get proxy(): IRequestHandler<ResponseWrapper> {
|
|
31
|
-
return this.client.proxy(this.base)
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* 获取随机一条
|
|
36
|
-
*/
|
|
37
|
-
getRandom() {
|
|
38
|
-
return this.proxy.random.get<{ data: SayModel | null }>()
|
|
39
|
-
}
|
|
40
|
-
}
|
package/controllers/search.ts
DELETED
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import type { IRequestAdapter } from '~/interfaces/adapter'
|
|
2
|
-
import type { IController } from '~/interfaces/controller'
|
|
3
|
-
import type { IRequestHandler, RequestProxyResult } from '~/interfaces/request'
|
|
4
|
-
import type { PaginateResult } from '~/models/base'
|
|
5
|
-
import type { NoteModel } from '~/models/note'
|
|
6
|
-
import type { PageModel } from '~/models/page'
|
|
7
|
-
import type { PostModel } from '~/models/post'
|
|
8
|
-
import { autoBind } from '~/utils/auto-bind'
|
|
9
|
-
import type { HTTPClient } from '../core'
|
|
10
|
-
|
|
11
|
-
declare module '../core/client' {
|
|
12
|
-
interface HTTPClient<
|
|
13
|
-
T extends IRequestAdapter = IRequestAdapter,
|
|
14
|
-
ResponseWrapper = unknown,
|
|
15
|
-
> {
|
|
16
|
-
search: SearchController<ResponseWrapper>
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export type SearchType = 'post' | 'note'
|
|
21
|
-
|
|
22
|
-
export type SearchOption = {
|
|
23
|
-
orderBy?: string
|
|
24
|
-
order?: number
|
|
25
|
-
rawAlgolia?: boolean
|
|
26
|
-
}
|
|
27
|
-
export class SearchController<ResponseWrapper> implements IController {
|
|
28
|
-
base = 'search'
|
|
29
|
-
name = 'search'
|
|
30
|
-
|
|
31
|
-
constructor(private readonly client: HTTPClient) {
|
|
32
|
-
autoBind(this)
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
get proxy(): IRequestHandler<ResponseWrapper> {
|
|
36
|
-
return this.client.proxy(this.base)
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
search(
|
|
40
|
-
type: 'note',
|
|
41
|
-
keyword: string,
|
|
42
|
-
options?: Omit<SearchOption, 'rawAlgolia'>,
|
|
43
|
-
): Promise<
|
|
44
|
-
RequestProxyResult<
|
|
45
|
-
PaginateResult<
|
|
46
|
-
Pick<NoteModel, 'modified' | 'id' | 'title' | 'created' | 'nid'>
|
|
47
|
-
>,
|
|
48
|
-
ResponseWrapper
|
|
49
|
-
>
|
|
50
|
-
>
|
|
51
|
-
search(
|
|
52
|
-
type: 'post',
|
|
53
|
-
keyword: string,
|
|
54
|
-
options?: Omit<SearchOption, 'rawAlgolia'>,
|
|
55
|
-
): Promise<
|
|
56
|
-
RequestProxyResult<
|
|
57
|
-
PaginateResult<
|
|
58
|
-
Pick<
|
|
59
|
-
PostModel,
|
|
60
|
-
'modified' | 'id' | 'title' | 'created' | 'slug' | 'category'
|
|
61
|
-
>
|
|
62
|
-
>,
|
|
63
|
-
ResponseWrapper
|
|
64
|
-
>
|
|
65
|
-
>
|
|
66
|
-
search(
|
|
67
|
-
type: SearchType,
|
|
68
|
-
keyword: string,
|
|
69
|
-
options: Omit<SearchOption, 'rawAlgolia'> = {},
|
|
70
|
-
): any {
|
|
71
|
-
return this.proxy(type).get({
|
|
72
|
-
params: { keyword, ...options },
|
|
73
|
-
})
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* 从 algolya 搜索
|
|
77
|
-
* https://www.algolia.com/doc/api-reference/api-methods/search/
|
|
78
|
-
* @param keyword
|
|
79
|
-
* @param options
|
|
80
|
-
* @returns
|
|
81
|
-
*/
|
|
82
|
-
searchByAlgolia(keyword: string, options?: SearchOption) {
|
|
83
|
-
return this.proxy('algolia').get<
|
|
84
|
-
RequestProxyResult<
|
|
85
|
-
PaginateResult<
|
|
86
|
-
| (Pick<
|
|
87
|
-
PostModel,
|
|
88
|
-
'modified' | 'id' | 'title' | 'created' | 'slug' | 'category'
|
|
89
|
-
> & { type: 'post' })
|
|
90
|
-
| (Pick<
|
|
91
|
-
NoteModel,
|
|
92
|
-
'id' | 'created' | 'id' | 'modified' | 'title' | 'nid'
|
|
93
|
-
> & { type: 'note' })
|
|
94
|
-
| (Pick<
|
|
95
|
-
PageModel,
|
|
96
|
-
'id' | 'title' | 'created' | 'modified' | 'slug'
|
|
97
|
-
> & { type: 'page' })
|
|
98
|
-
> & {
|
|
99
|
-
/**
|
|
100
|
-
* @see: algoliasearch <https://www.algolia.com/doc/api-reference/api-methods/search/>
|
|
101
|
-
*/
|
|
102
|
-
raw?: any
|
|
103
|
-
},
|
|
104
|
-
ResponseWrapper
|
|
105
|
-
>
|
|
106
|
-
>({ params: { keyword, ...options } })
|
|
107
|
-
}
|
|
108
|
-
}
|
package/controllers/severless.ts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import type { IRequestAdapter } from '~/interfaces/adapter'
|
|
2
|
-
import type { IController } from '~/interfaces/controller'
|
|
3
|
-
import type { IRequestHandler } from '~/interfaces/request'
|
|
4
|
-
import { autoBind } from '~/utils/auto-bind'
|
|
5
|
-
import type { HTTPClient } from '../core'
|
|
6
|
-
|
|
7
|
-
declare module '../core/client' {
|
|
8
|
-
interface HTTPClient<
|
|
9
|
-
T extends IRequestAdapter = IRequestAdapter,
|
|
10
|
-
ResponseWrapper = unknown,
|
|
11
|
-
> {
|
|
12
|
-
serverless: ServerlessController<ResponseWrapper>
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export class ServerlessController<ResponseWrapper> implements IController {
|
|
17
|
-
base = 'serverless'
|
|
18
|
-
name = 'serverless'
|
|
19
|
-
|
|
20
|
-
constructor(protected client: HTTPClient) {
|
|
21
|
-
autoBind(this)
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
get proxy(): IRequestHandler<ResponseWrapper> {
|
|
25
|
-
return this.client.proxy(this.base)
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
getByReferenceAndName<T = unknown>(reference: string, name: string) {
|
|
29
|
-
return this.proxy(reference)(name).get<T>()
|
|
30
|
-
}
|
|
31
|
-
}
|
package/controllers/snippet.ts
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import type { IRequestAdapter } from '~/interfaces/adapter'
|
|
2
|
-
import type { IController } from '~/interfaces/controller'
|
|
3
|
-
import type { IRequestHandler } from '~/interfaces/request'
|
|
4
|
-
import { autoBind } from '~/utils/auto-bind'
|
|
5
|
-
import type { HTTPClient } from '../core'
|
|
6
|
-
|
|
7
|
-
declare module '../core/client' {
|
|
8
|
-
interface HTTPClient<
|
|
9
|
-
T extends IRequestAdapter = IRequestAdapter,
|
|
10
|
-
ResponseWrapper = unknown,
|
|
11
|
-
> {
|
|
12
|
-
snippet: SnippetController<ResponseWrapper>
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export class SnippetController<ResponseWrapper> implements IController {
|
|
17
|
-
base = 'snippets'
|
|
18
|
-
name = 'snippet'
|
|
19
|
-
|
|
20
|
-
constructor(protected client: HTTPClient) {
|
|
21
|
-
autoBind(this)
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
get proxy(): IRequestHandler<ResponseWrapper> {
|
|
25
|
-
return this.client.proxy(this.base)
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
// getById(id: string) {
|
|
29
|
-
// return this.proxy(id).get<Omit<SnippetModel, 'data'>>()
|
|
30
|
-
// }
|
|
31
|
-
|
|
32
|
-
getByReferenceAndName<T = unknown>(reference: string, name: string) {
|
|
33
|
-
return this.proxy(reference)(name).get<T>()
|
|
34
|
-
}
|
|
35
|
-
}
|
package/controllers/subscribe.ts
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import type { IRequestAdapter } from '~/interfaces/adapter'
|
|
2
|
-
import type { IController } from '~/interfaces/controller'
|
|
3
|
-
import type { IRequestHandler } from '~/interfaces/request'
|
|
4
|
-
import type { SubscribeType } from '~/models/subscribe'
|
|
5
|
-
import { autoBind } from '~/utils/auto-bind'
|
|
6
|
-
import type { HTTPClient } from '../core'
|
|
7
|
-
|
|
8
|
-
declare module '../core/client' {
|
|
9
|
-
interface HTTPClient<
|
|
10
|
-
T extends IRequestAdapter = IRequestAdapter,
|
|
11
|
-
ResponseWrapper = unknown,
|
|
12
|
-
> {
|
|
13
|
-
subscribe: SubscribeController<ResponseWrapper>
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export class SubscribeController<ResponseWrapper> implements IController {
|
|
18
|
-
base = 'subscribe'
|
|
19
|
-
name = 'subscribe'
|
|
20
|
-
|
|
21
|
-
constructor(protected client: HTTPClient) {
|
|
22
|
-
autoBind(this)
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
public get proxy(): IRequestHandler<ResponseWrapper> {
|
|
26
|
-
return this.client.proxy(this.base)
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* 检查开启状态
|
|
31
|
-
*/
|
|
32
|
-
check() {
|
|
33
|
-
return this.proxy.status.get<{
|
|
34
|
-
enable: boolean
|
|
35
|
-
bitMap: Record<SubscribeType, number>
|
|
36
|
-
allowBits: number[]
|
|
37
|
-
allowTypes: SubscribeType[]
|
|
38
|
-
}>()
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
subscribe(email: string, types: SubscribeType[]) {
|
|
42
|
-
return this.proxy.post<never>({
|
|
43
|
-
data: {
|
|
44
|
-
email,
|
|
45
|
-
types,
|
|
46
|
-
},
|
|
47
|
-
})
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
unsubscribe(email: string, cancelToken: string) {
|
|
51
|
-
return this.proxy.unsubscribe.get<string>({
|
|
52
|
-
params: {
|
|
53
|
-
email,
|
|
54
|
-
cancelToken,
|
|
55
|
-
},
|
|
56
|
-
})
|
|
57
|
-
}
|
|
58
|
-
}
|
package/controllers/topic.ts
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import type { IRequestAdapter } from '~/interfaces/adapter'
|
|
2
|
-
import type { IController } from '~/interfaces/controller'
|
|
3
|
-
import type { IRequestHandler } from '~/interfaces/request'
|
|
4
|
-
import type { TopicModel } from '~/models/topic'
|
|
5
|
-
import { autoBind } from '~/utils/auto-bind'
|
|
6
|
-
import type { HTTPClient } from '../core'
|
|
7
|
-
import { BaseCrudController } from './base'
|
|
8
|
-
|
|
9
|
-
declare module '../core/client' {
|
|
10
|
-
interface HTTPClient<
|
|
11
|
-
T extends IRequestAdapter = IRequestAdapter,
|
|
12
|
-
ResponseWrapper = unknown,
|
|
13
|
-
> {
|
|
14
|
-
topic: TopicController<ResponseWrapper>
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export class TopicController<ResponseWrapper>
|
|
19
|
-
extends BaseCrudController<TopicModel, ResponseWrapper>
|
|
20
|
-
implements IController
|
|
21
|
-
{
|
|
22
|
-
base = 'topics'
|
|
23
|
-
name = 'topic'
|
|
24
|
-
|
|
25
|
-
constructor(protected client: HTTPClient) {
|
|
26
|
-
super(client)
|
|
27
|
-
autoBind(this)
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
public get proxy(): IRequestHandler<ResponseWrapper> {
|
|
31
|
-
return this.client.proxy(this.base)
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
getTopicBySlug(slug: string) {
|
|
35
|
-
return this.proxy.slug(slug).get<TopicModel>()
|
|
36
|
-
}
|
|
37
|
-
}
|
package/controllers/user.ts
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import type { IRequestAdapter } from '~/interfaces/adapter'
|
|
2
|
-
import type { IController } from '~/interfaces/controller'
|
|
3
|
-
import type { IRequestHandler } from '~/interfaces/request'
|
|
4
|
-
import type { TLogin, UserModel } from '~/models/user'
|
|
5
|
-
import { autoBind } from '~/utils/auto-bind'
|
|
6
|
-
import type { HTTPClient } from '../core'
|
|
7
|
-
|
|
8
|
-
declare module '../core/client' {
|
|
9
|
-
interface HTTPClient<
|
|
10
|
-
T extends IRequestAdapter = IRequestAdapter,
|
|
11
|
-
ResponseWrapper = unknown,
|
|
12
|
-
> {
|
|
13
|
-
user: UserController<ResponseWrapper>
|
|
14
|
-
master: UserController<ResponseWrapper>
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export class UserController<ResponseWrapper> implements IController {
|
|
19
|
-
constructor(private readonly client: HTTPClient) {
|
|
20
|
-
autoBind(this)
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
base = 'master'
|
|
24
|
-
|
|
25
|
-
name = ['user', 'master']
|
|
26
|
-
|
|
27
|
-
public get proxy(): IRequestHandler<ResponseWrapper> {
|
|
28
|
-
return this.client.proxy(this.base)
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
getMasterInfo() {
|
|
32
|
-
return this.proxy.get<UserModel>()
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
login(username: string, password: string) {
|
|
36
|
-
return this.proxy.login.post<TLogin>({
|
|
37
|
-
data: {
|
|
38
|
-
username,
|
|
39
|
-
password,
|
|
40
|
-
},
|
|
41
|
-
})
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
loginWithToken(token?: string) {
|
|
45
|
-
return this.proxy.login.put<{ token: string }>({
|
|
46
|
-
params: token
|
|
47
|
-
? {
|
|
48
|
-
token: `bearer ${token.replace(/^bearer\s/i, '')}`,
|
|
49
|
-
}
|
|
50
|
-
: undefined,
|
|
51
|
-
})
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
checkTokenValid(token: string) {
|
|
55
|
-
return this.proxy.check_logged.get<{ ok: number; isGuest: boolean }>({
|
|
56
|
-
params: {
|
|
57
|
-
token: `bearer ${token.replace(/^bearer\s/i, '')}`,
|
|
58
|
-
},
|
|
59
|
-
})
|
|
60
|
-
}
|
|
61
|
-
}
|
package/dtos/comment.ts
DELETED
package/dtos/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './comment'
|
package/index.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { createClient } from './core'
|
|
2
|
-
|
|
3
|
-
export * from './controllers'
|
|
4
|
-
export * from './models'
|
|
5
|
-
export * from './dtos'
|
|
6
|
-
|
|
7
|
-
export { createClient, RequestError } from './core'
|
|
8
|
-
export type { HTTPClient } from './core'
|
|
9
|
-
export { camelcaseKeys as simpleCamelcaseKeys } from './utils/camelcase-keys'
|
|
10
|
-
|
|
11
|
-
export default createClient
|
|
12
|
-
export type { IRequestAdapter } from './interfaces/adapter'
|
package/interfaces/adapter.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import type { RequestOptions } from './instance'
|
|
2
|
-
|
|
3
|
-
export type IAdaptorRequestResponseType<P> = Promise<
|
|
4
|
-
Record<string, any> & { data: P }
|
|
5
|
-
>
|
|
6
|
-
|
|
7
|
-
export type IRequestAdapter<T = any, Response = undefined> = Readonly<
|
|
8
|
-
(Response extends undefined ? {} : { responseWrapper: Response }) & {
|
|
9
|
-
default: T
|
|
10
|
-
|
|
11
|
-
get: <P = unknown>(
|
|
12
|
-
url: string,
|
|
13
|
-
options?: Omit<RequestOptions, 'data'>,
|
|
14
|
-
) => IAdaptorRequestResponseType<P>
|
|
15
|
-
|
|
16
|
-
post: <P = unknown>(
|
|
17
|
-
url: string,
|
|
18
|
-
options: Partial<RequestOptions>,
|
|
19
|
-
) => IAdaptorRequestResponseType<P>
|
|
20
|
-
|
|
21
|
-
patch: <P = unknown>(
|
|
22
|
-
url: string,
|
|
23
|
-
options: Partial<RequestOptions>,
|
|
24
|
-
) => IAdaptorRequestResponseType<P>
|
|
25
|
-
|
|
26
|
-
delete: <P = unknown>(
|
|
27
|
-
url: string,
|
|
28
|
-
options?: Omit<RequestOptions, 'data'>,
|
|
29
|
-
) => IAdaptorRequestResponseType<P>
|
|
30
|
-
|
|
31
|
-
put: <P = unknown>(
|
|
32
|
-
url: string,
|
|
33
|
-
options: Partial<RequestOptions>,
|
|
34
|
-
) => IAdaptorRequestResponseType<P>
|
|
35
|
-
}
|
|
36
|
-
>
|
package/interfaces/client.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { IController } from './controller'
|
|
2
|
-
import type { Class } from './types'
|
|
3
|
-
|
|
4
|
-
interface IClientOptions {
|
|
5
|
-
controllers: Class<IController>[]
|
|
6
|
-
getCodeMessageFromException: <T = Error>(
|
|
7
|
-
error: T,
|
|
8
|
-
) => {
|
|
9
|
-
message?: string | undefined | null
|
|
10
|
-
code?: number | undefined | null
|
|
11
|
-
}
|
|
12
|
-
customThrowResponseError: <T extends Error = Error>(err: any) => T
|
|
13
|
-
transformResponse: <T = any>(data: any) => T
|
|
14
|
-
/**
|
|
15
|
-
*
|
|
16
|
-
* @default (res) => res.data
|
|
17
|
-
*/
|
|
18
|
-
getDataFromResponse: <T = any>(response: unknown) => T
|
|
19
|
-
}
|
|
20
|
-
export type ClientOptions = Partial<IClientOptions>
|
package/interfaces/controller.ts
DELETED
package/interfaces/instance.ts
DELETED
package/interfaces/options.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type SortOrder = 'asc' | 'desc'
|
package/interfaces/params.ts
DELETED
package/interfaces/request.ts
DELETED
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import type { RequestOptions } from './instance'
|
|
2
|
-
|
|
3
|
-
type NoStringIndex<T> = {
|
|
4
|
-
[K in keyof T as string extends K ? never : K]: T[K]
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
export type Method = 'get' | 'delete' | 'post' | 'put' | 'patch'
|
|
8
|
-
|
|
9
|
-
export interface IRequestHandler<ResponseWrapper> {
|
|
10
|
-
(path?: string | number): IRequestHandler<ResponseWrapper>
|
|
11
|
-
// @ts-ignore
|
|
12
|
-
get: <P = unknown>(
|
|
13
|
-
options?: Omit<NoStringIndex<RequestOptions>, 'data'>,
|
|
14
|
-
) => RequestProxyResult<P, ResponseWrapper>
|
|
15
|
-
// @ts-ignore
|
|
16
|
-
post: <P = unknown>(
|
|
17
|
-
options?: RequestOptions,
|
|
18
|
-
) => RequestProxyResult<P, ResponseWrapper>
|
|
19
|
-
// @ts-ignore
|
|
20
|
-
patch: <P = unknown>(
|
|
21
|
-
options?: RequestOptions,
|
|
22
|
-
) => RequestProxyResult<P, ResponseWrapper>
|
|
23
|
-
// @ts-ignore
|
|
24
|
-
delete: <P = unknown>(
|
|
25
|
-
options?: Omit<NoStringIndex<RequestOptions>, 'data'>,
|
|
26
|
-
) => RequestProxyResult<P, ResponseWrapper>
|
|
27
|
-
// @ts-ignore
|
|
28
|
-
put: <P = unknown>(
|
|
29
|
-
options?: RequestOptions,
|
|
30
|
-
) => RequestProxyResult<P, ResponseWrapper>
|
|
31
|
-
// @ts-ignore
|
|
32
|
-
toString: (withBase?: boolean) => string
|
|
33
|
-
// @ts-ignore
|
|
34
|
-
valueOf: (withBase?: boolean) => string
|
|
35
|
-
[key: string]: IRequestHandler<ResponseWrapper>
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export type RequestProxyResult<
|
|
39
|
-
T,
|
|
40
|
-
ResponseWrapper,
|
|
41
|
-
R = ResponseWrapper extends unknown
|
|
42
|
-
? { data: T; [key: string]: any }
|
|
43
|
-
: ResponseWrapper extends { data: T }
|
|
44
|
-
? ResponseWrapper
|
|
45
|
-
: Omit<ResponseWrapper, 'data'> & { data: T },
|
|
46
|
-
> = Promise<ResponseProxyExtraRaw<T, R, ResponseWrapper>>
|
|
47
|
-
|
|
48
|
-
type CamelToSnake<T extends string, P extends string = ''> = string extends T
|
|
49
|
-
? string
|
|
50
|
-
: T extends `${infer C0}${infer R}`
|
|
51
|
-
? CamelToSnake<
|
|
52
|
-
R,
|
|
53
|
-
`${P}${C0 extends Lowercase<C0> ? '' : '_'}${Lowercase<C0>}`
|
|
54
|
-
>
|
|
55
|
-
: P
|
|
56
|
-
|
|
57
|
-
type CamelKeysToSnake<T> = {
|
|
58
|
-
[K in keyof T as CamelToSnake<Extract<K, string>>]: T[K]
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
type ResponseWrapperType<Response, RawData, T> = {
|
|
62
|
-
$raw: Response extends { data: infer T }
|
|
63
|
-
? Response
|
|
64
|
-
: Response extends unknown
|
|
65
|
-
? {
|
|
66
|
-
[i: string]: any
|
|
67
|
-
data: RawData extends unknown ? CamelKeysToSnake<T> : RawData
|
|
68
|
-
}
|
|
69
|
-
: Response
|
|
70
|
-
$request: {
|
|
71
|
-
path: string
|
|
72
|
-
method: string
|
|
73
|
-
[k: string]: string
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
$serialized: T
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
export type ResponseProxyExtraRaw<
|
|
80
|
-
T,
|
|
81
|
-
RawData = unknown,
|
|
82
|
-
Response = unknown,
|
|
83
|
-
> = T extends object
|
|
84
|
-
? T & ResponseWrapperType<Response, RawData, T>
|
|
85
|
-
: T extends unknown
|
|
86
|
-
? T & ResponseWrapperType<Response, RawData, T>
|
|
87
|
-
: unknown
|
package/interfaces/types.ts
DELETED
package/mod-dts.mjs
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { readFileSync, writeFileSync } from 'node:fs'
|
|
2
|
-
import path from 'node:path'
|
|
3
|
-
|
|
4
|
-
const __dirname = new URL(import.meta.url).pathname.replace(/\/[^/]*$/, '')
|
|
5
|
-
const PKG = JSON.parse(readFileSync(path.resolve(__dirname, './package.json')))
|
|
6
|
-
|
|
7
|
-
const dts = path.resolve(__dirname, './dist/index.d.cts')
|
|
8
|
-
const dtsm = path.resolve(__dirname, './dist/index.d.mts')
|
|
9
|
-
const content = readFileSync(dts, 'utf-8')
|
|
10
|
-
|
|
11
|
-
for (const file of [dts, dtsm]) {
|
|
12
|
-
// replace declare module '../core/client'
|
|
13
|
-
// with declare module '@mx-space/api-client'
|
|
14
|
-
writeFileSync(
|
|
15
|
-
file,
|
|
16
|
-
content.replaceAll(
|
|
17
|
-
/declare module '..\/core\/client'/g,
|
|
18
|
-
'declare module ' + `'${PKG.name}'`,
|
|
19
|
-
),
|
|
20
|
-
)
|
|
21
|
-
}
|