@mx-space/api-client 0.7.0 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/adaptors/axios.ts +34 -32
- package/adaptors/umi-request.ts +25 -22
- package/build/index.cjs.js +12 -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 +13 -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 +12 -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/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/snippet.ts +9 -4
- package/controllers/user.ts +10 -5
- package/core/attach-request.ts +1 -1
- package/core/client.ts +37 -47
- package/coverage/clover.xml +281 -274
- package/coverage/coverage-final.json +20 -20
- package/coverage/lcov-report/adaptors/axios.ts.html +48 -42
- 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 +20 -8
- package/coverage/lcov-report/controllers/base.ts.html +4 -4
- package/coverage/lcov-report/controllers/category.ts.html +43 -10
- package/coverage/lcov-report/controllers/comment.ts.html +21 -9
- package/coverage/lcov-report/controllers/index.html +1 -1
- package/coverage/lcov-report/controllers/index.ts.html +2 -2
- package/coverage/lcov-report/controllers/link.ts.html +28 -7
- package/coverage/lcov-report/controllers/note.ts.html +21 -9
- package/coverage/lcov-report/controllers/page.ts.html +22 -7
- package/coverage/lcov-report/controllers/post.ts.html +37 -16
- package/coverage/lcov-report/controllers/project.ts.html +27 -6
- package/coverage/lcov-report/controllers/recently.ts.html +23 -8
- package/coverage/lcov-report/controllers/say.ts.html +23 -8
- package/coverage/lcov-report/controllers/search.ts.html +31 -10
- package/coverage/lcov-report/controllers/snippet.ts.html +22 -7
- package/coverage/lcov-report/controllers/user.ts.html +23 -8
- package/coverage/lcov-report/core/attach-request.ts.html +13 -13
- package/coverage/lcov-report/core/client.ts.html +120 -150
- package/coverage/lcov-report/core/error.ts.html +1 -1
- package/coverage/lcov-report/core/index.html +18 -18
- package/coverage/lcov-report/core/index.ts.html +1 -1
- package/coverage/lcov-report/index.html +26 -26
- 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 +1 -1
- package/coverage/lcov-report/models/index.html +1 -1
- package/coverage/lcov-report/utils/auto-bind.ts.html +18 -18
- package/coverage/lcov-report/utils/index.html +1 -1
- package/coverage/lcov-report/utils/index.ts.html +3 -3
- package/coverage/lcov.info +496 -485
- 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/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/snippet.d.ts +16 -6
- 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/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/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/snippet.d.ts +16 -6
- 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/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/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/package.json +5 -5
- 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 +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
|
@@ -128,7 +128,12 @@
|
|
|
128
128
|
<a name='L63'></a><a href='#L63'>63</a>
|
|
129
129
|
<a name='L64'></a><a href='#L64'>64</a>
|
|
130
130
|
<a name='L65'></a><a href='#L65'>65</a>
|
|
131
|
-
<a name='L66'></a><a href='#L66'>66</a
|
|
131
|
+
<a name='L66'></a><a href='#L66'>66</a>
|
|
132
|
+
<a name='L67'></a><a href='#L67'>67</a>
|
|
133
|
+
<a name='L68'></a><a href='#L68'>68</a>
|
|
134
|
+
<a name='L69'></a><a href='#L69'>69</a>
|
|
135
|
+
<a name='L70'></a><a href='#L70'>70</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
136
|
+
<span class="cline-any cline-neutral"> </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>
|
|
@@ -148,6 +153,9 @@
|
|
|
148
153
|
<span class="cline-any cline-neutral"> </span>
|
|
149
154
|
<span class="cline-any cline-neutral"> </span>
|
|
150
155
|
<span class="cline-any cline-neutral"> </span>
|
|
156
|
+
<span class="cline-any cline-neutral"> </span>
|
|
157
|
+
<span class="cline-any cline-neutral"> </span>
|
|
158
|
+
<span class="cline-any cline-neutral"> </span>
|
|
151
159
|
<span class="cline-any cline-yes">15x</span>
|
|
152
160
|
<span class="cline-any cline-yes">4x</span>
|
|
153
161
|
<span class="cline-any cline-yes">4x</span>
|
|
@@ -193,7 +201,8 @@
|
|
|
193
201
|
<span class="cline-any cline-yes">1x</span>
|
|
194
202
|
<span class="cline-any cline-neutral"> </span>
|
|
195
203
|
<span class="cline-any cline-neutral"> </span>
|
|
196
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import {
|
|
204
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { IRequestAdapter } from '~/interfaces/adapter'
|
|
205
|
+
import { IController } from '~/interfaces/controller'
|
|
197
206
|
import { SortOrder } from '~/interfaces/options'
|
|
198
207
|
import { IRequestHandler, RequestProxyResult } from '~/interfaces/request'
|
|
199
208
|
import {
|
|
@@ -208,25 +217,28 @@ import { autoBind } from '~/utils/auto-bind'
|
|
|
208
217
|
import { HTTPClient } from '../core'
|
|
209
218
|
|
|
210
219
|
declare module '../core/client' {
|
|
211
|
-
interface HTTPClient
|
|
212
|
-
|
|
220
|
+
interface HTTPClient<
|
|
221
|
+
T extends IRequestAdapter = IRequestAdapter,
|
|
222
|
+
ResponseWrapper = unknown,
|
|
223
|
+
> {
|
|
224
|
+
aggregate: AggregateController<ResponseWrapper>
|
|
213
225
|
}
|
|
214
226
|
}
|
|
215
227
|
|
|
216
|
-
export class AggregateController implements IController {
|
|
228
|
+
export class AggregateController<ResponseWrapper> implements IController {
|
|
217
229
|
base = 'aggregate'
|
|
218
230
|
name = 'aggregate'
|
|
219
231
|
constructor(private client: HTTPClient) {
|
|
220
232
|
autoBind(this)
|
|
221
233
|
}
|
|
222
|
-
public get proxy(): IRequestHandler {
|
|
234
|
+
public get proxy(): IRequestHandler<ResponseWrapper> {
|
|
223
235
|
return this.client.proxy(this.base)
|
|
224
236
|
}
|
|
225
237
|
|
|
226
238
|
/**
|
|
227
239
|
* 获取聚合数据
|
|
228
240
|
*/
|
|
229
|
-
getAggregateData(): RequestProxyResult<AggregateRoot> {
|
|
241
|
+
getAggregateData(): RequestProxyResult<AggregateRoot, ResponseWrapper> {
|
|
230
242
|
return this.proxy.get<AggregateRoot>()
|
|
231
243
|
}
|
|
232
244
|
|
|
@@ -265,7 +277,7 @@ export class AggregateController implements IController {
|
|
|
265
277
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
266
278
|
Code coverage generated by
|
|
267
279
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
268
|
-
at
|
|
280
|
+
at Tue Feb 08 2022 14:19:56 GMT+0800 (China Standard Time)
|
|
269
281
|
</div>
|
|
270
282
|
<script src="../prettify.js"></script>
|
|
271
283
|
<script>
|
|
@@ -132,16 +132,16 @@ import { PaginateResult } from '~/models/base'
|
|
|
132
132
|
import { autoBind } from '~/utils/auto-bind'
|
|
133
133
|
import { HTTPClient } from '../core'
|
|
134
134
|
|
|
135
|
-
export abstract class BaseCrudController<T> {
|
|
135
|
+
export abstract class BaseCrudController<T, ResponseWrapper> {
|
|
136
136
|
base!: string
|
|
137
137
|
constructor(protected client: HTTPClient) {
|
|
138
138
|
autoBind(this)
|
|
139
139
|
}
|
|
140
|
-
public get proxy(): IRequestHandler {
|
|
140
|
+
public get proxy(): IRequestHandler<ResponseWrapper> {
|
|
141
141
|
return this.client.proxy(this.base)
|
|
142
142
|
}
|
|
143
143
|
|
|
144
|
-
getById(id: string): RequestProxyResult<T> {
|
|
144
|
+
getById(id: string): RequestProxyResult<T, ResponseWrapper> {
|
|
145
145
|
return this.proxy(id).get<T>()
|
|
146
146
|
}
|
|
147
147
|
|
|
@@ -166,7 +166,7 @@ export abstract class BaseCrudController<T> {
|
|
|
166
166
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
167
167
|
Code coverage generated by
|
|
168
168
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
169
|
-
at
|
|
169
|
+
at Tue Feb 08 2022 14:19:56 GMT+0800 (China Standard Time)
|
|
170
170
|
</div>
|
|
171
171
|
<script src="../prettify.js"></script>
|
|
172
172
|
<script>
|
|
@@ -170,7 +170,23 @@
|
|
|
170
170
|
<a name='L105'></a><a href='#L105'>105</a>
|
|
171
171
|
<a name='L106'></a><a href='#L106'>106</a>
|
|
172
172
|
<a name='L107'></a><a href='#L107'>107</a>
|
|
173
|
-
<a name='L108'></a><a href='#L108'>108</a
|
|
173
|
+
<a name='L108'></a><a href='#L108'>108</a>
|
|
174
|
+
<a name='L109'></a><a href='#L109'>109</a>
|
|
175
|
+
<a name='L110'></a><a href='#L110'>110</a>
|
|
176
|
+
<a name='L111'></a><a href='#L111'>111</a>
|
|
177
|
+
<a name='L112'></a><a href='#L112'>112</a>
|
|
178
|
+
<a name='L113'></a><a href='#L113'>113</a>
|
|
179
|
+
<a name='L114'></a><a href='#L114'>114</a>
|
|
180
|
+
<a name='L115'></a><a href='#L115'>115</a>
|
|
181
|
+
<a name='L116'></a><a href='#L116'>116</a>
|
|
182
|
+
<a name='L117'></a><a href='#L117'>117</a>
|
|
183
|
+
<a name='L118'></a><a href='#L118'>118</a>
|
|
184
|
+
<a name='L119'></a><a href='#L119'>119</a></td><td class="line-coverage quiet"><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-neutral"> </span>
|
|
188
|
+
<span class="cline-any cline-neutral"> </span>
|
|
189
|
+
<span class="cline-any cline-neutral"> </span>
|
|
174
190
|
<span class="cline-any cline-neutral"> </span>
|
|
175
191
|
<span class="cline-any cline-yes">15x</span>
|
|
176
192
|
<span class="cline-any cline-yes">15x</span>
|
|
@@ -191,6 +207,9 @@
|
|
|
191
207
|
<span class="cline-any cline-neutral"> </span>
|
|
192
208
|
<span class="cline-any cline-neutral"> </span>
|
|
193
209
|
<span class="cline-any cline-neutral"> </span>
|
|
210
|
+
<span class="cline-any cline-neutral"> </span>
|
|
211
|
+
<span class="cline-any cline-neutral"> </span>
|
|
212
|
+
<span class="cline-any cline-neutral"> </span>
|
|
194
213
|
<span class="cline-any cline-yes">15x</span>
|
|
195
214
|
<span class="cline-any cline-yes">4x</span>
|
|
196
215
|
<span class="cline-any cline-yes">4x</span>
|
|
@@ -203,6 +222,9 @@
|
|
|
203
222
|
<span class="cline-any cline-neutral"> </span>
|
|
204
223
|
<span class="cline-any cline-neutral"> </span>
|
|
205
224
|
<span class="cline-any cline-neutral"> </span>
|
|
225
|
+
<span class="cline-any cline-neutral"> </span>
|
|
226
|
+
<span class="cline-any cline-neutral"> </span>
|
|
227
|
+
<span class="cline-any cline-neutral"> </span>
|
|
206
228
|
<span class="cline-any cline-yes">2x</span>
|
|
207
229
|
<span class="cline-any cline-neutral"> </span>
|
|
208
230
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -277,8 +299,13 @@
|
|
|
277
299
|
<span class="cline-any cline-yes">1x</span>
|
|
278
300
|
<span class="cline-any cline-neutral"> </span>
|
|
279
301
|
<span class="cline-any cline-neutral"> </span>
|
|
280
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import {
|
|
281
|
-
import {
|
|
302
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { IRequestAdapter } from '~/interfaces/adapter'
|
|
303
|
+
import { IController } from '~/interfaces/controller'
|
|
304
|
+
import {
|
|
305
|
+
IRequestHandler,
|
|
306
|
+
RequestProxyResult,
|
|
307
|
+
ResponseProxyExtraRaw,
|
|
308
|
+
} from '~/interfaces/request'
|
|
282
309
|
import { attachRawFromOneToAnthor, destructureData } from '~/utils'
|
|
283
310
|
import { autoBind } from '~/utils/auto-bind'
|
|
284
311
|
import { HTTPClient } from '../core/client'
|
|
@@ -293,23 +320,29 @@ import {
|
|
|
293
320
|
import { PostModel } from '../models/post'
|
|
294
321
|
|
|
295
322
|
declare module '../core/client' {
|
|
296
|
-
interface HTTPClient
|
|
297
|
-
|
|
323
|
+
interface HTTPClient<
|
|
324
|
+
T extends IRequestAdapter = IRequestAdapter,
|
|
325
|
+
ResponseWrapper = unknown,
|
|
326
|
+
> {
|
|
327
|
+
category: CategoryController<ResponseWrapper>
|
|
298
328
|
}
|
|
299
329
|
}
|
|
300
330
|
|
|
301
|
-
export class CategoryController implements IController {
|
|
331
|
+
export class CategoryController<ResponseWrapper> implements IController {
|
|
302
332
|
name = 'category'
|
|
303
333
|
base = 'categories'
|
|
304
334
|
constructor(private client: HTTPClient) {
|
|
305
335
|
autoBind(this)
|
|
306
336
|
}
|
|
307
337
|
|
|
308
|
-
public get proxy() {
|
|
338
|
+
public get proxy(): IRequestHandler<ResponseWrapper> {
|
|
309
339
|
return this.client.proxy(this.base)
|
|
310
340
|
}
|
|
311
341
|
|
|
312
|
-
getAllCategories(): RequestProxyResult<
|
|
342
|
+
getAllCategories(): RequestProxyResult<
|
|
343
|
+
{ data: CategoryModel[] },
|
|
344
|
+
ResponseWrapper
|
|
345
|
+
> {
|
|
313
346
|
return this.proxy.get({
|
|
314
347
|
params: {
|
|
315
348
|
type: CategoryType.Category,
|
|
@@ -317,7 +350,7 @@ export class CategoryController implements IController {
|
|
|
317
350
|
})
|
|
318
351
|
}
|
|
319
352
|
|
|
320
|
-
getAllTags(): RequestProxyResult<{ data: TagModel[] }> {
|
|
353
|
+
getAllTags(): RequestProxyResult<{ data: TagModel[] }, ResponseWrapper> {
|
|
321
354
|
return this.proxy.get<{ data: TagModel[] }>({
|
|
322
355
|
params: {
|
|
323
356
|
type: CategoryType.Tag,
|
|
@@ -391,7 +424,7 @@ export class CategoryController implements IController {
|
|
|
391
424
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
392
425
|
Code coverage generated by
|
|
393
426
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
394
|
-
at
|
|
427
|
+
at Tue Feb 08 2022 14:19:56 GMT+0800 (China Standard Time)
|
|
395
428
|
</div>
|
|
396
429
|
<script src="../prettify.js"></script>
|
|
397
430
|
<script>
|
|
@@ -127,7 +127,12 @@
|
|
|
127
127
|
<a name='L62'></a><a href='#L62'>62</a>
|
|
128
128
|
<a name='L63'></a><a href='#L63'>63</a>
|
|
129
129
|
<a name='L64'></a><a href='#L64'>64</a>
|
|
130
|
-
<a name='L65'></a><a href='#L65'>65</a
|
|
130
|
+
<a name='L65'></a><a href='#L65'>65</a>
|
|
131
|
+
<a name='L66'></a><a href='#L66'>66</a>
|
|
132
|
+
<a name='L67'></a><a href='#L67'>67</a>
|
|
133
|
+
<a name='L68'></a><a href='#L68'>68</a>
|
|
134
|
+
<a name='L69'></a><a href='#L69'>69</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
135
|
+
<span class="cline-any cline-neutral"> </span>
|
|
131
136
|
<span class="cline-any cline-neutral"> </span>
|
|
132
137
|
<span class="cline-any cline-neutral"> </span>
|
|
133
138
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -142,6 +147,9 @@
|
|
|
142
147
|
<span class="cline-any cline-neutral"> </span>
|
|
143
148
|
<span class="cline-any cline-neutral"> </span>
|
|
144
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>
|
|
145
153
|
<span class="cline-any cline-yes">15x</span>
|
|
146
154
|
<span class="cline-any cline-yes">4x</span>
|
|
147
155
|
<span class="cline-any cline-yes">4x</span>
|
|
@@ -191,9 +199,10 @@
|
|
|
191
199
|
<span class="cline-any cline-neutral"> </span>
|
|
192
200
|
<span class="cline-any cline-neutral"> </span>
|
|
193
201
|
<span class="cline-any cline-neutral"> </span>
|
|
194
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import {
|
|
202
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { IRequestAdapter } from '~/interfaces/adapter'
|
|
203
|
+
import { IController } from '~/interfaces/controller'
|
|
195
204
|
import { PaginationParams } from '~/interfaces/params'
|
|
196
|
-
import { IRequestHandler
|
|
205
|
+
import { IRequestHandler } from '~/interfaces/request'
|
|
197
206
|
import { PaginateResult } from '~/models/base'
|
|
198
207
|
import { CommentModel } from '~/models/comment'
|
|
199
208
|
import { autoBind } from '~/utils/auto-bind'
|
|
@@ -201,12 +210,15 @@ import { HTTPClient } from '../core'
|
|
|
201
210
|
import { CommentDto } from '../dtos/comment'
|
|
202
211
|
|
|
203
212
|
declare module '../core/client' {
|
|
204
|
-
interface HTTPClient
|
|
205
|
-
|
|
213
|
+
interface HTTPClient<
|
|
214
|
+
T extends IRequestAdapter = IRequestAdapter,
|
|
215
|
+
ResponseWrapper = unknown,
|
|
216
|
+
> {
|
|
217
|
+
comment: CommentController<ResponseWrapper>
|
|
206
218
|
}
|
|
207
219
|
}
|
|
208
220
|
|
|
209
|
-
export class CommentController implements IController {
|
|
221
|
+
export class CommentController<ResponseWrapper> implements IController {
|
|
210
222
|
base = 'comments'
|
|
211
223
|
name = 'comment'
|
|
212
224
|
|
|
@@ -214,14 +226,14 @@ export class CommentController implements IController {
|
|
|
214
226
|
autoBind(this)
|
|
215
227
|
}
|
|
216
228
|
|
|
217
|
-
get proxy(): IRequestHandler {
|
|
229
|
+
get proxy(): IRequestHandler<ResponseWrapper> {
|
|
218
230
|
return this.client.proxy(this.base)
|
|
219
231
|
}
|
|
220
232
|
|
|
221
233
|
/**
|
|
222
234
|
* 根据 comment id 获取评论, 包括子评论
|
|
223
235
|
*/
|
|
224
|
-
getById(id: string)
|
|
236
|
+
getById(id: string) {
|
|
225
237
|
return this.proxy(id).get<CommentModel & { ref: string }>()
|
|
226
238
|
}
|
|
227
239
|
|
|
@@ -262,7 +274,7 @@ export class CommentController implements IController {
|
|
|
262
274
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
263
275
|
Code coverage generated by
|
|
264
276
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
265
|
-
at
|
|
277
|
+
at Tue Feb 08 2022 14:19:56 GMT+0800 (China Standard Time)
|
|
266
278
|
</div>
|
|
267
279
|
<script src="../prettify.js"></script>
|
|
268
280
|
<script>
|
|
@@ -311,7 +311,7 @@
|
|
|
311
311
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
312
312
|
Code coverage generated by
|
|
313
313
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
314
|
-
at
|
|
314
|
+
at Tue Feb 08 2022 14:19:56 GMT+0800 (China Standard Time)
|
|
315
315
|
</div>
|
|
316
316
|
<script src="../prettify.js"></script>
|
|
317
317
|
<script>
|
|
@@ -187,7 +187,7 @@
|
|
|
187
187
|
<span class="cline-any cline-yes">16x</span>
|
|
188
188
|
<span class="cline-any cline-yes">18x</span>
|
|
189
189
|
<span class="cline-any cline-yes">15x</span>
|
|
190
|
-
<span class="cline-any cline-yes">
|
|
190
|
+
<span class="cline-any cline-yes">20x</span>
|
|
191
191
|
<span class="cline-any cline-yes">15x</span>
|
|
192
192
|
<span class="cline-any cline-yes">16x</span>
|
|
193
193
|
<span class="cline-any cline-yes">15x</span>
|
|
@@ -268,7 +268,7 @@ export {
|
|
|
268
268
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
269
269
|
Code coverage generated by
|
|
270
270
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
271
|
-
at
|
|
271
|
+
at Tue Feb 08 2022 14:19:56 GMT+0800 (China Standard Time)
|
|
272
272
|
</div>
|
|
273
273
|
<script src="../prettify.js"></script>
|
|
274
274
|
<script>
|
|
@@ -84,7 +84,15 @@
|
|
|
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
|
|
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>
|
|
95
|
+
<span class="cline-any cline-neutral"> </span>
|
|
88
96
|
<span class="cline-any cline-yes">15x</span>
|
|
89
97
|
<span class="cline-any cline-neutral"> </span>
|
|
90
98
|
<span class="cline-any cline-yes">15x</span>
|
|
@@ -96,7 +104,13 @@
|
|
|
96
104
|
<span class="cline-any cline-neutral"> </span>
|
|
97
105
|
<span class="cline-any cline-neutral"> </span>
|
|
98
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>
|
|
99
110
|
<span class="cline-any cline-yes">15x</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 Tue Feb 08 2022 14:19:56 GMT+0800 (China Standard Time)
|
|
137
158
|
</div>
|
|
138
159
|
<script src="../prettify.js"></script>
|
|
139
160
|
<script>
|
|
@@ -155,7 +155,12 @@
|
|
|
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>
|
|
163
|
+
<span class="cline-any cline-neutral"> </span>
|
|
159
164
|
<span class="cline-any cline-neutral"> </span>
|
|
160
165
|
<span class="cline-any cline-neutral"> </span>
|
|
161
166
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -176,6 +181,9 @@
|
|
|
176
181
|
<span class="cline-any cline-neutral"> </span>
|
|
177
182
|
<span class="cline-any cline-neutral"> </span>
|
|
178
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>
|
|
179
187
|
<span class="cline-any cline-yes">15x</span>
|
|
180
188
|
<span class="cline-any cline-yes">6x</span>
|
|
181
189
|
<span class="cline-any cline-yes">6x</span>
|
|
@@ -247,8 +255,9 @@
|
|
|
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'
|
|
252
261
|
import { PaginateResult } from '~/models/base'
|
|
253
262
|
import { NoteModel, NoteWrappedPayload } from '~/models/note'
|
|
254
263
|
import { SelectFields } from '~/types/helper'
|
|
@@ -256,8 +265,11 @@ 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 Tue Feb 08 2022 14:19:56 GMT+0800 (China Standard Time)
|
|
350
362
|
</div>
|
|
351
363
|
<script src="../prettify.js"></script>
|
|
352
364
|
<script>
|
|
@@ -122,7 +122,14 @@
|
|
|
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>
|
|
131
|
+
<span class="cline-any cline-neutral"> </span>
|
|
132
|
+
<span class="cline-any cline-neutral"> </span>
|
|
126
133
|
<span class="cline-any cline-neutral"> </span>
|
|
127
134
|
<span class="cline-any cline-neutral"> </span>
|
|
128
135
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -141,6 +148,9 @@
|
|
|
141
148
|
<span class="cline-any cline-neutral"> </span>
|
|
142
149
|
<span class="cline-any cline-neutral"> </span>
|
|
143
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>
|
|
144
154
|
<span class="cline-any cline-yes">15x</span>
|
|
145
155
|
<span class="cline-any cline-yes">4x</span>
|
|
146
156
|
<span class="cline-any cline-yes">4x</span>
|
|
@@ -181,7 +191,9 @@
|
|
|
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'
|
|
185
197
|
import { PaginateResult } from '~/models/base'
|
|
186
198
|
import { PageModel } from '~/models/page'
|
|
187
199
|
import { SelectFields } from '~/types/helper'
|
|
@@ -189,8 +201,11 @@ 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 Tue Feb 08 2022 14:19:56 GMT+0800 (China Standard Time)
|
|
251
266
|
</div>
|
|
252
267
|
<script src="../prettify.js"></script>
|
|
253
268
|
<script>
|