@mx-space/api-client 0.7.0 → 0.7.3
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 +34 -32
- package/adaptors/umi-request.ts +25 -22
- package/build/index.cjs.js +30 -32
- 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 +30 -32
- 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 +30 -32
- 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 +9 -5
- package/controllers/base.ts +3 -3
- package/controllers/category.ts +18 -7
- package/controllers/comment.ts +10 -6
- package/controllers/index.ts +4 -0
- package/controllers/link.ts +11 -4
- package/controllers/note.ts +11 -7
- package/controllers/page.ts +10 -5
- package/controllers/post.ts +15 -8
- package/controllers/project.ts +10 -3
- package/controllers/recently.ts +10 -5
- package/controllers/say.ts +10 -5
- package/controllers/search.ts +14 -7
- package/controllers/severless.ts +31 -0
- package/controllers/snippet.ts +11 -6
- package/controllers/user.ts +10 -5
- package/core/attach-request.ts +1 -1
- package/core/client.ts +37 -47
- package/coverage/clover.xml +357 -337
- package/coverage/coverage-final.json +27 -26
- package/coverage/lcov-report/adaptors/axios.ts.html +50 -44
- package/coverage/lcov-report/adaptors/index.html +24 -24
- package/coverage/lcov-report/adaptors/umi-request.ts.html +42 -33
- package/coverage/lcov-report/auto-bind.ts.html +229 -0
- package/coverage/lcov-report/controllers/aggregate.ts.html +23 -11
- package/coverage/lcov-report/controllers/base.ts.html +6 -6
- package/coverage/lcov-report/controllers/category.ts.html +48 -15
- package/coverage/lcov-report/controllers/comment.ts.html +23 -11
- package/coverage/lcov-report/controllers/index.html +26 -11
- package/coverage/lcov-report/controllers/index.ts.html +40 -28
- package/coverage/lcov-report/controllers/link.ts.html +31 -10
- package/coverage/lcov-report/controllers/note.ts.html +24 -12
- package/coverage/lcov-report/controllers/page.ts.html +25 -10
- package/coverage/lcov-report/controllers/post.ts.html +39 -18
- package/coverage/lcov-report/controllers/project.ts.html +30 -9
- package/coverage/lcov-report/controllers/recently.ts.html +25 -10
- package/coverage/lcov-report/controllers/say.ts.html +26 -11
- package/coverage/lcov-report/controllers/search.ts.html +33 -12
- package/coverage/lcov-report/controllers/severless.ts.html +178 -0
- package/coverage/lcov-report/controllers/snippet.ts.html +26 -11
- package/coverage/lcov-report/controllers/user.ts.html +25 -10
- package/coverage/lcov-report/core/attach-request.ts.html +14 -14
- package/coverage/lcov-report/core/client.ts.html +120 -150
- package/coverage/lcov-report/core/error.ts.html +2 -2
- package/coverage/lcov-report/core/index.html +18 -18
- package/coverage/lcov-report/core/index.ts.html +3 -3
- package/coverage/lcov-report/index.html +34 -34
- package/coverage/lcov-report/index.ts.html +244 -0
- package/coverage/lcov-report/models/aggregate.ts.html +1 -1
- package/coverage/lcov-report/models/category.ts.html +4 -4
- package/coverage/lcov-report/models/index.html +1 -1
- package/coverage/lcov-report/utils/auto-bind.ts.html +20 -20
- package/coverage/lcov-report/utils/index.html +1 -1
- package/coverage/lcov-report/utils/index.ts.html +7 -7
- package/coverage/lcov.info +615 -577
- package/esm/adaptors/axios.d.ts +2 -2
- package/esm/adaptors/axios.js +1 -0
- package/esm/adaptors/axios.js.map +1 -1
- package/esm/adaptors/umi-request.d.ts +2 -2
- package/esm/adaptors/umi-request.js +1 -0
- package/esm/adaptors/umi-request.js.map +1 -1
- package/esm/controllers/aggregate.d.ts +25 -8
- package/esm/controllers/aggregate.js.map +1 -1
- package/esm/controllers/base.d.ts +17 -5
- package/esm/controllers/category.d.ts +64 -13
- package/esm/controllers/category.js.map +1 -1
- package/esm/controllers/comment.d.ts +42 -10
- package/esm/controllers/comment.js.map +1 -1
- package/esm/controllers/index.d.ts +4 -3
- package/esm/controllers/index.js +4 -1
- package/esm/controllers/index.js.map +1 -1
- package/esm/controllers/link.d.ts +5 -4
- package/esm/controllers/link.js.map +1 -1
- package/esm/controllers/note.d.ts +42 -12
- package/esm/controllers/note.js.map +1 -1
- package/esm/controllers/page.d.ts +22 -8
- package/esm/controllers/page.js.map +1 -1
- package/esm/controllers/post.d.ts +24 -11
- package/esm/controllers/post.js.map +1 -1
- package/esm/controllers/project.d.ts +4 -3
- package/esm/controllers/project.js.map +1 -1
- package/esm/controllers/recently.d.ts +30 -8
- package/esm/controllers/recently.js.map +1 -1
- package/esm/controllers/say.d.ts +15 -5
- package/esm/controllers/say.js.map +1 -1
- package/esm/controllers/search.d.ts +168 -9
- package/esm/controllers/search.js.map +1 -1
- package/esm/controllers/severless.d.ts +24 -0
- package/esm/controllers/severless.js +16 -0
- package/esm/controllers/severless.js.map +1 -0
- package/esm/controllers/snippet.d.ts +17 -7
- package/esm/controllers/snippet.js.map +1 -1
- package/esm/controllers/user.d.ts +28 -8
- 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 +9 -6
- package/esm/core/client.js +13 -32
- package/esm/core/client.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/client.d.ts +1 -1
- package/esm/interfaces/request.d.ts +22 -13
- 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/post.d.ts +0 -1
- package/index.ts +2 -1
- package/interfaces/adapter.ts +29 -24
- package/interfaces/client.ts +1 -1
- package/interfaces/request.ts +45 -20
- package/{types/helper.d.ts → interfaces/types.ts} +0 -0
- package/lib/adaptors/axios.d.ts +2 -2
- package/lib/adaptors/axios.js +1 -0
- package/lib/adaptors/axios.js.map +1 -1
- package/lib/adaptors/umi-request.d.ts +2 -2
- package/lib/adaptors/umi-request.js +1 -0
- package/lib/adaptors/umi-request.js.map +1 -1
- package/lib/controllers/aggregate.d.ts +25 -8
- package/lib/controllers/aggregate.js.map +1 -1
- package/lib/controllers/base.d.ts +17 -5
- package/lib/controllers/category.d.ts +64 -13
- package/lib/controllers/category.js.map +1 -1
- package/lib/controllers/comment.d.ts +42 -10
- package/lib/controllers/comment.js.map +1 -1
- package/lib/controllers/index.d.ts +4 -3
- package/lib/controllers/index.js +5 -1
- package/lib/controllers/index.js.map +1 -1
- package/lib/controllers/link.d.ts +5 -4
- package/lib/controllers/link.js.map +1 -1
- package/lib/controllers/note.d.ts +42 -12
- package/lib/controllers/note.js.map +1 -1
- package/lib/controllers/page.d.ts +22 -8
- package/lib/controllers/page.js.map +1 -1
- package/lib/controllers/post.d.ts +24 -11
- package/lib/controllers/post.js.map +1 -1
- package/lib/controllers/project.d.ts +4 -3
- package/lib/controllers/project.js.map +1 -1
- package/lib/controllers/recently.d.ts +30 -8
- package/lib/controllers/recently.js.map +1 -1
- package/lib/controllers/say.d.ts +15 -5
- package/lib/controllers/say.js.map +1 -1
- package/lib/controllers/search.d.ts +168 -9
- package/lib/controllers/search.js.map +1 -1
- package/lib/controllers/severless.d.ts +24 -0
- package/lib/controllers/severless.js +20 -0
- package/lib/controllers/severless.js.map +1 -0
- package/lib/controllers/snippet.d.ts +17 -7
- package/lib/controllers/snippet.js.map +1 -1
- package/lib/controllers/user.d.ts +28 -8
- 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 +9 -6
- package/lib/core/client.js +13 -33
- package/lib/core/client.js.map +1 -1
- package/lib/core/index.js +5 -1
- package/lib/core/index.js.map +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.js +6 -3
- package/lib/index.js.map +1 -1
- package/lib/interfaces/adapter.d.ts +9 -8
- package/lib/interfaces/client.d.ts +1 -1
- package/lib/interfaces/request.d.ts +22 -13
- 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/index.js +5 -1
- package/lib/models/index.js.map +1 -1
- package/lib/models/post.d.ts +0 -1
- package/models/post.ts +0 -1
- package/package.json +12 -12
- package/tsconfig.json +25 -4
- 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 +17 -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/severless.d.ts +24 -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 +14 -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
|
@@ -84,11 +84,18 @@
|
|
|
84
84
|
<a name='L19'></a><a href='#L19'>19</a>
|
|
85
85
|
<a name='L20'></a><a href='#L20'>20</a>
|
|
86
86
|
<a name='L21'></a><a href='#L21'>21</a>
|
|
87
|
-
<a name='L22'></a><a href='#L22'>22</a
|
|
88
|
-
<
|
|
87
|
+
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
|
+
<a name='L23'></a><a href='#L23'>23</a>
|
|
89
|
+
<a name='L24'></a><a href='#L24'>24</a>
|
|
90
|
+
<a name='L25'></a><a href='#L25'>25</a>
|
|
91
|
+
<a name='L26'></a><a href='#L26'>26</a>
|
|
92
|
+
<a name='L27'></a><a href='#L27'>27</a>
|
|
93
|
+
<a name='L28'></a><a href='#L28'>28</a>
|
|
94
|
+
<a name='L29'></a><a href='#L29'>29</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
89
95
|
<span class="cline-any cline-neutral"> </span>
|
|
90
|
-
<span class="cline-any cline-yes">
|
|
96
|
+
<span class="cline-any cline-yes">16x</span>
|
|
91
97
|
<span class="cline-any cline-neutral"> </span>
|
|
98
|
+
<span class="cline-any cline-yes">16x</span>
|
|
92
99
|
<span class="cline-any cline-neutral"> </span>
|
|
93
100
|
<span class="cline-any cline-neutral"> </span>
|
|
94
101
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -96,7 +103,14 @@
|
|
|
96
103
|
<span class="cline-any cline-neutral"> </span>
|
|
97
104
|
<span class="cline-any cline-neutral"> </span>
|
|
98
105
|
<span class="cline-any cline-neutral"> </span>
|
|
99
|
-
<span class="cline-any cline-
|
|
106
|
+
<span class="cline-any cline-neutral"> </span>
|
|
107
|
+
<span class="cline-any cline-neutral"> </span>
|
|
108
|
+
<span class="cline-any cline-neutral"> </span>
|
|
109
|
+
<span class="cline-any cline-neutral"> </span>
|
|
110
|
+
<span class="cline-any cline-yes">16x</span>
|
|
111
|
+
<span class="cline-any cline-neutral"> </span>
|
|
112
|
+
<span class="cline-any cline-neutral"> </span>
|
|
113
|
+
<span class="cline-any cline-neutral"> </span>
|
|
100
114
|
<span class="cline-any cline-yes">4x</span>
|
|
101
115
|
<span class="cline-any cline-yes">4x</span>
|
|
102
116
|
<span class="cline-any cline-yes">4x</span>
|
|
@@ -105,19 +119,26 @@
|
|
|
105
119
|
<span class="cline-any cline-yes">4x</span>
|
|
106
120
|
<span class="cline-any cline-yes">4x</span>
|
|
107
121
|
<span class="cline-any cline-neutral"> </span>
|
|
108
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import {
|
|
122
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { IRequestAdapter } from '~/interfaces/adapter'
|
|
123
|
+
import { LinkModel } from '~/models/link'
|
|
109
124
|
import { autoBind } from '~/utils/auto-bind'
|
|
110
125
|
import { HTTPClient } from '../core'
|
|
111
126
|
import { BaseCrudController } from './base'
|
|
112
127
|
|
|
113
128
|
declare module '../core/client' {
|
|
114
|
-
interface HTTPClient
|
|
115
|
-
|
|
116
|
-
|
|
129
|
+
interface HTTPClient<
|
|
130
|
+
T extends IRequestAdapter = IRequestAdapter,
|
|
131
|
+
ResponseWrapper = unknown,
|
|
132
|
+
> {
|
|
133
|
+
link: LinkController<ResponseWrapper>
|
|
134
|
+
friend: LinkController<ResponseWrapper>
|
|
117
135
|
}
|
|
118
136
|
}
|
|
119
137
|
|
|
120
|
-
export class LinkController extends BaseCrudController<
|
|
138
|
+
export class LinkController<ResponseWrapper> extends BaseCrudController<
|
|
139
|
+
LinkModel,
|
|
140
|
+
ResponseWrapper
|
|
141
|
+
> {
|
|
121
142
|
constructor(protected readonly client: HTTPClient) {
|
|
122
143
|
super(client)
|
|
123
144
|
autoBind(this)
|
|
@@ -133,7 +154,7 @@ export class LinkController extends BaseCrudController<LinkModel> {
|
|
|
133
154
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
134
155
|
Code coverage generated by
|
|
135
156
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
136
|
-
at
|
|
157
|
+
at Fri Mar 11 2022 21:47:32 GMT+0800 (China Standard Time)
|
|
137
158
|
</div>
|
|
138
159
|
<script src="../prettify.js"></script>
|
|
139
160
|
<script>
|
|
@@ -155,13 +155,17 @@
|
|
|
155
155
|
<a name='L90'></a><a href='#L90'>90</a>
|
|
156
156
|
<a name='L91'></a><a href='#L91'>91</a>
|
|
157
157
|
<a name='L92'></a><a href='#L92'>92</a>
|
|
158
|
-
<a name='L93'></a><a href='#L93'>93</a
|
|
158
|
+
<a name='L93'></a><a href='#L93'>93</a>
|
|
159
|
+
<a name='L94'></a><a href='#L94'>94</a>
|
|
160
|
+
<a name='L95'></a><a href='#L95'>95</a>
|
|
161
|
+
<a name='L96'></a><a href='#L96'>96</a>
|
|
162
|
+
<a name='L97'></a><a href='#L97'>97</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
159
163
|
<span class="cline-any cline-neutral"> </span>
|
|
160
164
|
<span class="cline-any cline-neutral"> </span>
|
|
161
165
|
<span class="cline-any cline-neutral"> </span>
|
|
162
166
|
<span class="cline-any cline-neutral"> </span>
|
|
163
|
-
<span class="cline-any cline-yes">15x</span>
|
|
164
167
|
<span class="cline-any cline-neutral"> </span>
|
|
168
|
+
<span class="cline-any cline-yes">16x</span>
|
|
165
169
|
<span class="cline-any cline-neutral"> </span>
|
|
166
170
|
<span class="cline-any cline-neutral"> </span>
|
|
167
171
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -176,7 +180,11 @@
|
|
|
176
180
|
<span class="cline-any cline-neutral"> </span>
|
|
177
181
|
<span class="cline-any cline-neutral"> </span>
|
|
178
182
|
<span class="cline-any cline-neutral"> </span>
|
|
179
|
-
<span class="cline-any cline-
|
|
183
|
+
<span class="cline-any cline-neutral"> </span>
|
|
184
|
+
<span class="cline-any cline-neutral"> </span>
|
|
185
|
+
<span class="cline-any cline-neutral"> </span>
|
|
186
|
+
<span class="cline-any cline-neutral"> </span>
|
|
187
|
+
<span class="cline-any cline-yes">16x</span>
|
|
180
188
|
<span class="cline-any cline-yes">6x</span>
|
|
181
189
|
<span class="cline-any cline-yes">6x</span>
|
|
182
190
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -247,17 +255,21 @@
|
|
|
247
255
|
<span class="cline-any cline-yes">1x</span>
|
|
248
256
|
<span class="cline-any cline-neutral"> </span>
|
|
249
257
|
<span class="cline-any cline-neutral"> </span>
|
|
250
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import {
|
|
251
|
-
import {
|
|
258
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { IRequestAdapter } from '~/interfaces/adapter'
|
|
259
|
+
import { IController } from '~/interfaces/controller'
|
|
260
|
+
import { IRequestHandler } from '~/interfaces/request'
|
|
261
|
+
import { SelectFields } from '~/interfaces/types'
|
|
252
262
|
import { PaginateResult } from '~/models/base'
|
|
253
263
|
import { NoteModel, NoteWrappedPayload } from '~/models/note'
|
|
254
|
-
import { SelectFields } from '~/types/helper'
|
|
255
264
|
import { autoBind } from '~/utils/auto-bind'
|
|
256
265
|
import { HTTPClient } from '../core/client'
|
|
257
266
|
|
|
258
267
|
declare module '../core/client' {
|
|
259
|
-
interface HTTPClient
|
|
260
|
-
|
|
268
|
+
interface HTTPClient<
|
|
269
|
+
T extends IRequestAdapter = IRequestAdapter,
|
|
270
|
+
ResponseWrapper = unknown,
|
|
271
|
+
> {
|
|
272
|
+
note: NoteController<ResponseWrapper>
|
|
261
273
|
}
|
|
262
274
|
}
|
|
263
275
|
|
|
@@ -268,21 +280,21 @@ export type NoteListOptions = {
|
|
|
268
280
|
sortOrder?: 1 | -1
|
|
269
281
|
}
|
|
270
282
|
|
|
271
|
-
export class NoteController implements IController {
|
|
283
|
+
export class NoteController<ResponseWrapper> implements IController {
|
|
272
284
|
base = 'notes'
|
|
273
285
|
name = 'note'
|
|
274
286
|
|
|
275
287
|
constructor(private client: HTTPClient) {
|
|
276
288
|
autoBind(this)
|
|
277
289
|
}
|
|
278
|
-
get proxy(): IRequestHandler {
|
|
290
|
+
get proxy(): IRequestHandler<ResponseWrapper> {
|
|
279
291
|
return this.client.proxy(this.base)
|
|
280
292
|
}
|
|
281
293
|
|
|
282
294
|
/**
|
|
283
295
|
* 最新日记
|
|
284
296
|
*/
|
|
285
|
-
getLatest()
|
|
297
|
+
getLatest() {
|
|
286
298
|
return this.proxy.latest.get<NoteWrappedPayload>()
|
|
287
299
|
}
|
|
288
300
|
|
|
@@ -346,7 +358,7 @@ export class NoteController implements IController {
|
|
|
346
358
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
347
359
|
Code coverage generated by
|
|
348
360
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
349
|
-
at
|
|
361
|
+
at Fri Mar 11 2022 21:47:32 GMT+0800 (China Standard Time)
|
|
350
362
|
</div>
|
|
351
363
|
<script src="../prettify.js"></script>
|
|
352
364
|
<script>
|
|
@@ -122,13 +122,18 @@
|
|
|
122
122
|
<a name='L57'></a><a href='#L57'>57</a>
|
|
123
123
|
<a name='L58'></a><a href='#L58'>58</a>
|
|
124
124
|
<a name='L59'></a><a href='#L59'>59</a>
|
|
125
|
-
<a name='L60'></a><a href='#L60'>60</a
|
|
125
|
+
<a name='L60'></a><a href='#L60'>60</a>
|
|
126
|
+
<a name='L61'></a><a href='#L61'>61</a>
|
|
127
|
+
<a name='L62'></a><a href='#L62'>62</a>
|
|
128
|
+
<a name='L63'></a><a href='#L63'>63</a>
|
|
129
|
+
<a name='L64'></a><a href='#L64'>64</a>
|
|
130
|
+
<a name='L65'></a><a href='#L65'>65</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
126
131
|
<span class="cline-any cline-neutral"> </span>
|
|
127
132
|
<span class="cline-any cline-neutral"> </span>
|
|
128
133
|
<span class="cline-any cline-neutral"> </span>
|
|
129
|
-
<span class="cline-any cline-yes">15x</span>
|
|
130
134
|
<span class="cline-any cline-neutral"> </span>
|
|
131
135
|
<span class="cline-any cline-neutral"> </span>
|
|
136
|
+
<span class="cline-any cline-yes">16x</span>
|
|
132
137
|
<span class="cline-any cline-neutral"> </span>
|
|
133
138
|
<span class="cline-any cline-neutral"> </span>
|
|
134
139
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -141,7 +146,12 @@
|
|
|
141
146
|
<span class="cline-any cline-neutral"> </span>
|
|
142
147
|
<span class="cline-any cline-neutral"> </span>
|
|
143
148
|
<span class="cline-any cline-neutral"> </span>
|
|
144
|
-
<span class="cline-any cline-
|
|
149
|
+
<span class="cline-any cline-neutral"> </span>
|
|
150
|
+
<span class="cline-any cline-neutral"> </span>
|
|
151
|
+
<span class="cline-any cline-neutral"> </span>
|
|
152
|
+
<span class="cline-any cline-neutral"> </span>
|
|
153
|
+
<span class="cline-any cline-neutral"> </span>
|
|
154
|
+
<span class="cline-any cline-yes">16x</span>
|
|
145
155
|
<span class="cline-any cline-yes">4x</span>
|
|
146
156
|
<span class="cline-any cline-yes">4x</span>
|
|
147
157
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -181,16 +191,21 @@
|
|
|
181
191
|
<span class="cline-any cline-yes">1x</span>
|
|
182
192
|
<span class="cline-any cline-neutral"> </span>
|
|
183
193
|
<span class="cline-any cline-neutral"> </span>
|
|
184
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import {
|
|
194
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { IRequestAdapter } from '~/interfaces/adapter'
|
|
195
|
+
import { IController } from '~/interfaces/controller'
|
|
196
|
+
import { IRequestHandler } from '~/interfaces/request'
|
|
197
|
+
import { SelectFields } from '~/interfaces/types'
|
|
185
198
|
import { PaginateResult } from '~/models/base'
|
|
186
199
|
import { PageModel } from '~/models/page'
|
|
187
|
-
import { SelectFields } from '~/types/helper'
|
|
188
200
|
import { autoBind } from '~/utils/auto-bind'
|
|
189
201
|
import { HTTPClient } from '../core'
|
|
190
202
|
|
|
191
203
|
declare module '../core/client' {
|
|
192
|
-
interface HTTPClient
|
|
193
|
-
|
|
204
|
+
interface HTTPClient<
|
|
205
|
+
T extends IRequestAdapter = IRequestAdapter,
|
|
206
|
+
ResponseWrapper = unknown,
|
|
207
|
+
> {
|
|
208
|
+
page: PageController<ResponseWrapper>
|
|
194
209
|
}
|
|
195
210
|
}
|
|
196
211
|
|
|
@@ -200,13 +215,13 @@ export type PageListOptions = {
|
|
|
200
215
|
sortOrder?: 1 | -1
|
|
201
216
|
}
|
|
202
217
|
|
|
203
|
-
export class PageController implements IController {
|
|
218
|
+
export class PageController<ResponseWrapper> implements IController {
|
|
204
219
|
constructor(private readonly client: HTTPClient) {
|
|
205
220
|
autoBind(this)
|
|
206
221
|
}
|
|
207
222
|
base = 'pages'
|
|
208
223
|
name = 'page'
|
|
209
|
-
get proxy() {
|
|
224
|
+
get proxy(): IRequestHandler<ResponseWrapper> {
|
|
210
225
|
return this.client.proxy(this.base)
|
|
211
226
|
}
|
|
212
227
|
/**
|
|
@@ -247,7 +262,7 @@ export class PageController implements IController {
|
|
|
247
262
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
248
263
|
Code coverage generated by
|
|
249
264
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
250
|
-
at
|
|
265
|
+
at Fri Mar 11 2022 21:47:32 GMT+0800 (China Standard Time)
|
|
251
266
|
</div>
|
|
252
267
|
<script src="../prettify.js"></script>
|
|
253
268
|
<script>
|
|
@@ -150,13 +150,20 @@
|
|
|
150
150
|
<a name='L85'></a><a href='#L85'>85</a>
|
|
151
151
|
<a name='L86'></a><a href='#L86'>86</a>
|
|
152
152
|
<a name='L87'></a><a href='#L87'>87</a>
|
|
153
|
-
<a name='L88'></a><a href='#L88'>88</a
|
|
153
|
+
<a name='L88'></a><a href='#L88'>88</a>
|
|
154
|
+
<a name='L89'></a><a href='#L89'>89</a>
|
|
155
|
+
<a name='L90'></a><a href='#L90'>90</a>
|
|
156
|
+
<a name='L91'></a><a href='#L91'>91</a>
|
|
157
|
+
<a name='L92'></a><a href='#L92'>92</a>
|
|
158
|
+
<a name='L93'></a><a href='#L93'>93</a>
|
|
159
|
+
<a name='L94'></a><a href='#L94'>94</a>
|
|
160
|
+
<a name='L95'></a><a href='#L95'>95</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
154
161
|
<span class="cline-any cline-neutral"> </span>
|
|
155
162
|
<span class="cline-any cline-neutral"> </span>
|
|
156
163
|
<span class="cline-any cline-neutral"> </span>
|
|
157
164
|
<span class="cline-any cline-neutral"> </span>
|
|
158
|
-
<span class="cline-any cline-yes">15x</span>
|
|
159
165
|
<span class="cline-any cline-neutral"> </span>
|
|
166
|
+
<span class="cline-any cline-yes">16x</span>
|
|
160
167
|
<span class="cline-any cline-neutral"> </span>
|
|
161
168
|
<span class="cline-any cline-neutral"> </span>
|
|
162
169
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -171,18 +178,22 @@
|
|
|
171
178
|
<span class="cline-any cline-neutral"> </span>
|
|
172
179
|
<span class="cline-any cline-neutral"> </span>
|
|
173
180
|
<span class="cline-any cline-neutral"> </span>
|
|
174
|
-
<span class="cline-any cline-yes">15x</span>
|
|
175
|
-
<span class="cline-any cline-yes">7x</span>
|
|
176
|
-
<span class="cline-any cline-yes">7x</span>
|
|
177
181
|
<span class="cline-any cline-neutral"> </span>
|
|
178
182
|
<span class="cline-any cline-neutral"> </span>
|
|
179
|
-
<span class="cline-any cline-yes">7x</span>
|
|
180
183
|
<span class="cline-any cline-neutral"> </span>
|
|
181
|
-
<span class="cline-any cline-
|
|
184
|
+
<span class="cline-any cline-neutral"> </span>
|
|
185
|
+
<span class="cline-any cline-yes">16x</span>
|
|
186
|
+
<span class="cline-any cline-yes">8x</span>
|
|
187
|
+
<span class="cline-any cline-yes">8x</span>
|
|
182
188
|
<span class="cline-any cline-neutral"> </span>
|
|
183
189
|
<span class="cline-any cline-neutral"> </span>
|
|
184
190
|
<span class="cline-any cline-yes">8x</span>
|
|
185
191
|
<span class="cline-any cline-neutral"> </span>
|
|
192
|
+
<span class="cline-any cline-yes">8x</span>
|
|
193
|
+
<span class="cline-any cline-neutral"> </span>
|
|
194
|
+
<span class="cline-any cline-neutral"> </span>
|
|
195
|
+
<span class="cline-any cline-yes">9x</span>
|
|
196
|
+
<span class="cline-any cline-neutral"> </span>
|
|
186
197
|
<span class="cline-any cline-neutral"> </span>
|
|
187
198
|
<span class="cline-any cline-neutral"> </span>
|
|
188
199
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -216,6 +227,9 @@
|
|
|
216
227
|
<span class="cline-any cline-neutral"> </span>
|
|
217
228
|
<span class="cline-any cline-neutral"> </span>
|
|
218
229
|
<span class="cline-any cline-neutral"> </span>
|
|
230
|
+
<span class="cline-any cline-neutral"> </span>
|
|
231
|
+
<span class="cline-any cline-neutral"> </span>
|
|
232
|
+
<span class="cline-any cline-neutral"> </span>
|
|
219
233
|
<span class="cline-any cline-yes">4x</span>
|
|
220
234
|
<span class="cline-any cline-yes">3x</span>
|
|
221
235
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -227,7 +241,7 @@
|
|
|
227
241
|
<span class="cline-any cline-neutral"> </span>
|
|
228
242
|
<span class="cline-any cline-neutral"> </span>
|
|
229
243
|
<span class="cline-any cline-neutral"> </span>
|
|
230
|
-
<span class="cline-any cline-yes">
|
|
244
|
+
<span class="cline-any cline-yes">2x</span>
|
|
231
245
|
<span class="cline-any cline-neutral"> </span>
|
|
232
246
|
<span class="cline-any cline-neutral"> </span>
|
|
233
247
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -237,17 +251,21 @@
|
|
|
237
251
|
<span class="cline-any cline-yes">1x</span>
|
|
238
252
|
<span class="cline-any cline-neutral"> </span>
|
|
239
253
|
<span class="cline-any cline-neutral"> </span>
|
|
240
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import {
|
|
241
|
-
import {
|
|
254
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { IRequestAdapter } from '~/interfaces/adapter'
|
|
255
|
+
import { IController } from '~/interfaces/controller'
|
|
256
|
+
import { IRequestHandler, RequestProxyResult } from '~/interfaces/request'
|
|
257
|
+
import { SelectFields } from '~/interfaces/types'
|
|
242
258
|
import { PaginateResult } from '~/models/base'
|
|
243
259
|
import { PostModel } from '~/models/post'
|
|
244
|
-
import { SelectFields } from '~/types/helper'
|
|
245
260
|
import { autoBind } from '~/utils/auto-bind'
|
|
246
261
|
import { HTTPClient } from '../core/client'
|
|
247
262
|
|
|
248
263
|
declare module '../core/client' {
|
|
249
|
-
interface HTTPClient
|
|
250
|
-
|
|
264
|
+
interface HTTPClient<
|
|
265
|
+
T extends IRequestAdapter = IRequestAdapter,
|
|
266
|
+
ResponseWrapper = unknown,
|
|
267
|
+
> {
|
|
268
|
+
post: PostController<ResponseWrapper>
|
|
251
269
|
}
|
|
252
270
|
}
|
|
253
271
|
|
|
@@ -258,7 +276,7 @@ export type PostListOptions = {
|
|
|
258
276
|
sortOrder?: 1 | -1
|
|
259
277
|
}
|
|
260
278
|
|
|
261
|
-
export class PostController implements IController {
|
|
279
|
+
export class PostController<ResponseWrapper> implements IController {
|
|
262
280
|
constructor(private client: HTTPClient) {
|
|
263
281
|
autoBind(this)
|
|
264
282
|
}
|
|
@@ -267,7 +285,7 @@ export class PostController implements IController {
|
|
|
267
285
|
|
|
268
286
|
name = 'post'
|
|
269
287
|
|
|
270
|
-
public get proxy() {
|
|
288
|
+
public get proxy(): IRequestHandler<ResponseWrapper> {
|
|
271
289
|
return this.client.proxy(this.base)
|
|
272
290
|
}
|
|
273
291
|
|
|
@@ -296,12 +314,15 @@ export class PostController implements IController {
|
|
|
296
314
|
* @param categoryName
|
|
297
315
|
* @param slug
|
|
298
316
|
*/
|
|
299
|
-
getPost(
|
|
317
|
+
getPost(
|
|
318
|
+
categoryName: string,
|
|
319
|
+
slug: string,
|
|
320
|
+
): RequestProxyResult<PostModel, ResponseWrapper>
|
|
300
321
|
/**
|
|
301
322
|
* 根据 ID 查找文章
|
|
302
323
|
* @param id
|
|
303
324
|
*/
|
|
304
|
-
getPost(id: string): RequestProxyResult<PostModel>
|
|
325
|
+
getPost(id: string): RequestProxyResult<PostModel, ResponseWrapper>
|
|
305
326
|
getPost(idOrCategoryName: string, slug?: string): any {
|
|
306
327
|
if (arguments.length == 1) {
|
|
307
328
|
return this.proxy(idOrCategoryName).get<PostModel>()
|
|
@@ -331,7 +352,7 @@ export class PostController implements IController {
|
|
|
331
352
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
332
353
|
Code coverage generated by
|
|
333
354
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
334
|
-
at
|
|
355
|
+
at Fri Mar 11 2022 21:47:32 GMT+0800 (China Standard Time)
|
|
335
356
|
</div>
|
|
336
357
|
<script src="../prettify.js"></script>
|
|
337
358
|
<script>
|
|
@@ -83,18 +83,32 @@
|
|
|
83
83
|
<a name='L18'></a><a href='#L18'>18</a>
|
|
84
84
|
<a name='L19'></a><a href='#L19'>19</a>
|
|
85
85
|
<a name='L20'></a><a href='#L20'>20</a>
|
|
86
|
-
<a name='L21'></a><a href='#L21'>21</a
|
|
87
|
-
<
|
|
86
|
+
<a name='L21'></a><a href='#L21'>21</a>
|
|
87
|
+
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
|
+
<a name='L23'></a><a href='#L23'>23</a>
|
|
89
|
+
<a name='L24'></a><a href='#L24'>24</a>
|
|
90
|
+
<a name='L25'></a><a href='#L25'>25</a>
|
|
91
|
+
<a name='L26'></a><a href='#L26'>26</a>
|
|
92
|
+
<a name='L27'></a><a href='#L27'>27</a>
|
|
93
|
+
<a name='L28'></a><a href='#L28'>28</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
88
94
|
<span class="cline-any cline-neutral"> </span>
|
|
89
|
-
<span class="cline-any cline-yes">
|
|
95
|
+
<span class="cline-any cline-yes">16x</span>
|
|
90
96
|
<span class="cline-any cline-neutral"> </span>
|
|
97
|
+
<span class="cline-any cline-yes">16x</span>
|
|
91
98
|
<span class="cline-any cline-neutral"> </span>
|
|
92
99
|
<span class="cline-any cline-neutral"> </span>
|
|
93
100
|
<span class="cline-any cline-neutral"> </span>
|
|
94
101
|
<span class="cline-any cline-neutral"> </span>
|
|
95
102
|
<span class="cline-any cline-neutral"> </span>
|
|
96
103
|
<span class="cline-any cline-neutral"> </span>
|
|
97
|
-
<span class="cline-any cline-
|
|
104
|
+
<span class="cline-any cline-neutral"> </span>
|
|
105
|
+
<span class="cline-any cline-neutral"> </span>
|
|
106
|
+
<span class="cline-any cline-neutral"> </span>
|
|
107
|
+
<span class="cline-any cline-neutral"> </span>
|
|
108
|
+
<span class="cline-any cline-yes">16x</span>
|
|
109
|
+
<span class="cline-any cline-neutral"> </span>
|
|
110
|
+
<span class="cline-any cline-neutral"> </span>
|
|
111
|
+
<span class="cline-any cline-neutral"> </span>
|
|
98
112
|
<span class="cline-any cline-yes">3x</span>
|
|
99
113
|
<span class="cline-any cline-yes">3x</span>
|
|
100
114
|
<span class="cline-any cline-yes">3x</span>
|
|
@@ -103,18 +117,25 @@
|
|
|
103
117
|
<span class="cline-any cline-yes">3x</span>
|
|
104
118
|
<span class="cline-any cline-yes">3x</span>
|
|
105
119
|
<span class="cline-any cline-neutral"> </span>
|
|
106
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import {
|
|
120
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { IRequestAdapter } from '~/interfaces/adapter'
|
|
121
|
+
import { ProjectModel } from '~/models/project'
|
|
107
122
|
import { autoBind } from '~/utils/auto-bind'
|
|
108
123
|
import { HTTPClient } from '../core'
|
|
109
124
|
import { BaseCrudController } from './base'
|
|
110
125
|
|
|
111
126
|
declare module '../core/client' {
|
|
112
|
-
interface HTTPClient
|
|
113
|
-
|
|
127
|
+
interface HTTPClient<
|
|
128
|
+
T extends IRequestAdapter = IRequestAdapter,
|
|
129
|
+
ResponseWrapper = unknown,
|
|
130
|
+
> {
|
|
131
|
+
project: ProjectController<ResponseWrapper>
|
|
114
132
|
}
|
|
115
133
|
}
|
|
116
134
|
|
|
117
|
-
export class ProjectController extends BaseCrudController<
|
|
135
|
+
export class ProjectController<ResponseWrapper> extends BaseCrudController<
|
|
136
|
+
ProjectModel,
|
|
137
|
+
ResponseWrapper
|
|
138
|
+
> {
|
|
118
139
|
constructor(protected readonly client: HTTPClient) {
|
|
119
140
|
super(client)
|
|
120
141
|
autoBind(this)
|
|
@@ -130,7 +151,7 @@ export class ProjectController extends BaseCrudController<ProjectModel> {
|
|
|
130
151
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
131
152
|
Code coverage generated by
|
|
132
153
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
133
|
-
at
|
|
154
|
+
at Fri Mar 11 2022 21:47:32 GMT+0800 (China Standard Time)
|
|
134
155
|
</div>
|
|
135
156
|
<script src="../prettify.js"></script>
|
|
136
157
|
<script>
|
|
@@ -111,11 +111,16 @@
|
|
|
111
111
|
<a name='L46'></a><a href='#L46'>46</a>
|
|
112
112
|
<a name='L47'></a><a href='#L47'>47</a>
|
|
113
113
|
<a name='L48'></a><a href='#L48'>48</a>
|
|
114
|
-
<a name='L49'></a><a href='#L49'>49</a
|
|
114
|
+
<a name='L49'></a><a href='#L49'>49</a>
|
|
115
|
+
<a name='L50'></a><a href='#L50'>50</a>
|
|
116
|
+
<a name='L51'></a><a href='#L51'>51</a>
|
|
117
|
+
<a name='L52'></a><a href='#L52'>52</a>
|
|
118
|
+
<a name='L53'></a><a href='#L53'>53</a>
|
|
119
|
+
<a name='L54'></a><a href='#L54'>54</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
115
120
|
<span class="cline-any cline-neutral"> </span>
|
|
116
|
-
<span class="cline-any cline-yes">15x</span>
|
|
117
121
|
<span class="cline-any cline-neutral"> </span>
|
|
118
122
|
<span class="cline-any cline-neutral"> </span>
|
|
123
|
+
<span class="cline-any cline-yes">16x</span>
|
|
119
124
|
<span class="cline-any cline-neutral"> </span>
|
|
120
125
|
<span class="cline-any cline-neutral"> </span>
|
|
121
126
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -123,7 +128,12 @@
|
|
|
123
128
|
<span class="cline-any cline-neutral"> </span>
|
|
124
129
|
<span class="cline-any cline-neutral"> </span>
|
|
125
130
|
<span class="cline-any cline-neutral"> </span>
|
|
126
|
-
<span class="cline-any cline-
|
|
131
|
+
<span class="cline-any cline-neutral"> </span>
|
|
132
|
+
<span class="cline-any cline-neutral"> </span>
|
|
133
|
+
<span class="cline-any cline-neutral"> </span>
|
|
134
|
+
<span class="cline-any cline-neutral"> </span>
|
|
135
|
+
<span class="cline-any cline-neutral"> </span>
|
|
136
|
+
<span class="cline-any cline-yes">16x</span>
|
|
127
137
|
<span class="cline-any cline-yes">4x</span>
|
|
128
138
|
<span class="cline-any cline-yes">4x</span>
|
|
129
139
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -159,19 +169,24 @@
|
|
|
159
169
|
<span class="cline-any cline-neutral"> </span>
|
|
160
170
|
<span class="cline-any cline-neutral"> </span>
|
|
161
171
|
<span class="cline-any cline-neutral"> </span>
|
|
162
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import {
|
|
172
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { IRequestAdapter } from '~/interfaces/adapter'
|
|
173
|
+
import { IController } from '~/interfaces/controller'
|
|
174
|
+
import { IRequestHandler } from '~/interfaces/request'
|
|
163
175
|
import { RecentlyModel } from '~/models/recently'
|
|
164
176
|
import { autoBind } from '~/utils/auto-bind'
|
|
165
177
|
import { HTTPClient } from '../core'
|
|
166
178
|
|
|
167
179
|
declare module '../core/client' {
|
|
168
|
-
interface HTTPClient
|
|
169
|
-
|
|
170
|
-
|
|
180
|
+
interface HTTPClient<
|
|
181
|
+
T extends IRequestAdapter = IRequestAdapter,
|
|
182
|
+
ResponseWrapper = unknown,
|
|
183
|
+
> {
|
|
184
|
+
recently: RecentlyController<ResponseWrapper>
|
|
185
|
+
shorthand: RecentlyController<ResponseWrapper>
|
|
171
186
|
}
|
|
172
187
|
}
|
|
173
188
|
|
|
174
|
-
export class RecentlyController implements IController {
|
|
189
|
+
export class RecentlyController<ResponseWrapper> implements IController {
|
|
175
190
|
base = 'recently'
|
|
176
191
|
name = ['recently', 'shorthand']
|
|
177
192
|
|
|
@@ -179,7 +194,7 @@ export class RecentlyController implements IController {
|
|
|
179
194
|
autoBind(this)
|
|
180
195
|
}
|
|
181
196
|
|
|
182
|
-
get proxy() {
|
|
197
|
+
get proxy(): IRequestHandler<ResponseWrapper> {
|
|
183
198
|
return this.client.proxy(this.base)
|
|
184
199
|
}
|
|
185
200
|
/**
|
|
@@ -214,7 +229,7 @@ export class RecentlyController implements IController {
|
|
|
214
229
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
215
230
|
Code coverage generated by
|
|
216
231
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
217
|
-
at
|
|
232
|
+
at Fri Mar 11 2022 21:47:32 GMT+0800 (China Standard Time)
|
|
218
233
|
</div>
|
|
219
234
|
<script src="../prettify.js"></script>
|
|
220
235
|
<script>
|