1
- use crate :: api:: auth:: session;
2
1
use crate :: args:: { cmd, Args , Cmd } ;
3
- use crate :: infra:: option:: { IntoOption , OptionExt } ;
4
- use anyhow:: Result ;
2
+ use crate :: infra:: option:: IntoOption ;
5
3
6
4
fn get_skip ( skip : & Option < usize > ) -> usize {
7
5
skip. unwrap_or ( 0 )
@@ -11,10 +9,6 @@ fn get_take(take: &Option<usize>) -> usize {
11
9
take. unwrap_or ( 8 ) . min ( 100 )
12
10
}
13
11
14
- fn get_pat ( pat : & Option < String > ) -> Result < String > {
15
- pat. clone ( ) . or_eval_result ( session:: get_pat)
16
- }
17
-
18
12
pub const fn no_operation ( args : & Args ) -> bool {
19
13
matches ! (
20
14
args,
@@ -27,33 +21,33 @@ pub const fn no_operation(args: &Args) -> bool {
27
21
take: None ,
28
22
debug: _,
29
23
style: _,
24
+ fail_on_error: _,
30
25
}
31
26
)
32
27
}
33
28
34
- pub fn user_info ( args : & Args ) -> Option < Result < String > > {
35
- match args {
29
+ pub const fn user_info ( args : & Args ) -> bool {
30
+ matches ! (
31
+ args,
36
32
Args {
37
- cmd :
38
- Some ( Cmd :: User ( cmd:: user:: Opt {
39
- login : None ,
40
- logout : false ,
41
- info : true ,
42
- } ) ) ,
33
+ cmd: Some ( Cmd :: User ( cmd:: user:: Opt {
34
+ login: None ,
35
+ logout: false ,
36
+ info: true ,
37
+ } ) ) ,
43
38
id: None ,
44
- with_pat,
39
+ with_pat: _ ,
45
40
rev: false ,
46
41
skip: None ,
47
42
take: None ,
48
43
debug: _,
49
44
style: _,
50
- } => get_pat ( with_pat) ,
51
- _ => return None ,
52
- }
53
- . into_some ( )
45
+ fail_on_error: _,
46
+ }
47
+ )
54
48
}
55
49
56
- pub fn publish_ing ( args : & Args ) -> Option < Result < ( String , & String ) > > {
50
+ pub fn publish_ing ( args : & Args ) -> Option < & String > {
57
51
match args {
58
52
Args {
59
53
cmd :
@@ -63,13 +57,14 @@ pub fn publish_ing(args: &Args) -> Option<Result<(String, &String)>> {
63
57
comment : None ,
64
58
} ) ) ,
65
59
id : None ,
66
- with_pat,
60
+ with_pat : _ ,
67
61
rev : false ,
68
62
skip : None ,
69
63
take : None ,
70
64
debug : _,
71
65
style : _,
72
- } => get_pat ( with_pat) . map ( |pat| ( pat, content) ) ,
66
+ fail_on_error : _,
67
+ } => content,
73
68
_ => return None ,
74
69
}
75
70
. into_some ( )
@@ -91,6 +86,7 @@ pub fn login(args: &Args) -> Option<&String> {
91
86
take : None ,
92
87
debug : _,
93
88
style : _,
89
+ fail_on_error : _,
94
90
} => pat,
95
91
_ => return None ,
96
92
}
@@ -113,11 +109,12 @@ pub const fn logout(args: &Args) -> bool {
113
109
take: None ,
114
110
debug: _,
115
111
style: _,
112
+ fail_on_error: _,
116
113
}
117
114
)
118
115
}
119
116
120
- pub fn list_ing ( args : & Args ) -> Option < Result < ( String , usize , usize ) > > {
117
+ pub fn list_ing ( args : & Args ) -> Option < ( usize , usize ) > {
121
118
match args {
122
119
Args {
123
120
cmd :
@@ -127,23 +124,24 @@ pub fn list_ing(args: &Args) -> Option<Result<(String, usize, usize)>> {
127
124
comment : None ,
128
125
} ) ) ,
129
126
id : None ,
130
- with_pat,
127
+ with_pat : _ ,
131
128
rev : _,
132
129
skip,
133
130
take,
134
131
debug : _,
135
132
style : _,
133
+ fail_on_error : _,
136
134
} => {
137
135
let skip = get_skip ( skip) ;
138
136
let take = get_take ( take) ;
139
- get_pat ( with_pat ) . map ( |pat| ( pat , skip, take) )
137
+ ( skip, take)
140
138
}
141
139
_ => return None ,
142
140
}
143
141
. into_some ( )
144
142
}
145
143
146
- pub fn comment_ing ( args : & Args ) -> Option < Result < ( String , & String , usize ) > > {
144
+ pub fn comment_ing ( args : & Args ) -> Option < ( & String , usize ) > {
147
145
match args {
148
146
Args {
149
147
cmd :
@@ -153,19 +151,20 @@ pub fn comment_ing(args: &Args) -> Option<Result<(String, &String, usize)>> {
153
151
comment : Some ( content) ,
154
152
} ) ) ,
155
153
id : Some ( id) ,
156
- with_pat,
154
+ with_pat : _ ,
157
155
rev : false ,
158
156
skip : None ,
159
157
take : None ,
160
158
debug : _,
161
159
style : _,
162
- } => get_pat ( with_pat) . map ( |pat| ( pat, content, * id) ) ,
160
+ fail_on_error : _,
161
+ } => ( content, * id) ,
163
162
_ => return None ,
164
163
}
165
164
. into_some ( )
166
165
}
167
166
168
- pub fn show_post ( args : & Args ) -> Option < Result < ( String , usize ) > > {
167
+ pub fn show_post ( args : & Args ) -> Option < usize > {
169
168
match args {
170
169
Args {
171
170
cmd :
@@ -178,19 +177,20 @@ pub fn show_post(args: &Args) -> Option<Result<(String, usize)>> {
178
177
cmd : None ,
179
178
} ) ) ,
180
179
id : Some ( id) ,
181
- with_pat,
180
+ with_pat : _ ,
182
181
rev : false ,
183
182
skip : None ,
184
183
take : None ,
185
184
debug : _,
186
185
style : _,
187
- } => get_pat ( with_pat) . map ( |pat| ( pat, * id) ) ,
186
+ fail_on_error : _,
187
+ } => * id,
188
188
_ => return None ,
189
189
}
190
190
. into_some ( )
191
191
}
192
192
193
- pub fn show_post_meta ( args : & Args ) -> Option < Result < ( String , usize ) > > {
193
+ pub fn show_post_meta ( args : & Args ) -> Option < usize > {
194
194
match args {
195
195
Args {
196
196
cmd :
@@ -203,19 +203,20 @@ pub fn show_post_meta(args: &Args) -> Option<Result<(String, usize)>> {
203
203
cmd : None ,
204
204
} ) ) ,
205
205
id : Some ( id) ,
206
- with_pat,
206
+ with_pat : _ ,
207
207
rev : false ,
208
208
skip : None ,
209
209
take : None ,
210
210
debug : _,
211
211
style : _,
212
- } => get_pat ( with_pat) . map ( |pat| ( pat, * id) ) ,
212
+ fail_on_error : _,
213
+ } => * id,
213
214
_ => return None ,
214
215
}
215
216
. into_some ( )
216
217
}
217
218
218
- pub fn list_post ( args : & Args ) -> Option < Result < ( String , usize , usize ) > > {
219
+ pub fn list_post ( args : & Args ) -> Option < ( usize , usize ) > {
219
220
match args {
220
221
Args {
221
222
cmd :
@@ -228,23 +229,24 @@ pub fn list_post(args: &Args) -> Option<Result<(String, usize, usize)>> {
228
229
cmd : None ,
229
230
} ) ) ,
230
231
id : None ,
231
- with_pat,
232
+ with_pat : _ ,
232
233
rev : _,
233
234
skip,
234
235
take,
235
236
debug : _,
236
237
style : _,
238
+ fail_on_error : _,
237
239
} => {
238
240
let skip = get_skip ( skip) ;
239
241
let take = get_take ( take) ;
240
- get_pat ( with_pat ) . map ( |pat| ( pat , skip, take) )
242
+ ( skip, take)
241
243
}
242
244
_ => return None ,
243
245
}
244
246
. into_some ( )
245
247
}
246
248
247
- pub fn delete_post ( args : & Args ) -> Option < Result < ( String , usize ) > > {
249
+ pub fn delete_post ( args : & Args ) -> Option < usize > {
248
250
match args {
249
251
Args {
250
252
cmd :
@@ -257,19 +259,20 @@ pub fn delete_post(args: &Args) -> Option<Result<(String, usize)>> {
257
259
cmd : None ,
258
260
} ) ) ,
259
261
id : Some ( id) ,
260
- with_pat,
262
+ with_pat : _ ,
261
263
rev : false ,
262
264
skip : None ,
263
265
take : None ,
264
266
debug : _,
265
267
style : _,
266
- } => get_pat ( with_pat) . map ( |pat| ( pat, * id) ) ,
268
+ fail_on_error : _,
269
+ } => * id,
267
270
_ => return None ,
268
271
}
269
272
. into_some ( )
270
273
}
271
274
272
- pub fn search_post ( args : & Args ) -> Option < Result < ( String , & String , usize , usize ) > > {
275
+ pub fn search_post ( args : & Args ) -> Option < ( & String , usize , usize ) > {
273
276
match args {
274
277
Args {
275
278
cmd :
@@ -282,23 +285,24 @@ pub fn search_post(args: &Args) -> Option<Result<(String, &String, usize, usize)
282
285
cmd : None ,
283
286
} ) ) ,
284
287
id : None ,
285
- with_pat,
288
+ with_pat : _ ,
286
289
rev : _,
287
290
skip,
288
291
take,
289
292
debug : _,
290
293
style : _,
294
+ fail_on_error : _,
291
295
} => {
292
296
let skip = get_skip ( skip) ;
293
297
let take = get_take ( take) ;
294
- get_pat ( with_pat ) . map ( |pat| ( pat , keyword, skip, take) )
298
+ ( keyword, skip, take)
295
299
}
296
300
_ => return None ,
297
301
}
298
302
. into_some ( )
299
303
}
300
304
301
- pub fn create_post ( args : & Args ) -> Option < Result < ( String , & String , & String , bool ) > > {
305
+ pub fn create_post ( args : & Args ) -> Option < ( & String , & String , bool ) > {
302
306
match args {
303
307
Args {
304
308
cmd :
@@ -316,13 +320,14 @@ pub fn create_post(args: &Args) -> Option<Result<(String, &String, &String, bool
316
320
} ) ,
317
321
} ) ) ,
318
322
id : None ,
319
- with_pat,
323
+ with_pat : _ ,
320
324
rev : _,
321
325
skip : None ,
322
326
take : None ,
323
327
debug : _,
324
328
style : _,
325
- } => get_pat ( with_pat) . map ( |pat| ( pat, title, body, * publish) ) ,
329
+ fail_on_error : _,
330
+ } => ( title, body, * publish) ,
326
331
_ => return None ,
327
332
}
328
333
. into_some ( )
@@ -332,15 +337,7 @@ pub fn create_post(args: &Args) -> Option<Result<(String, &String, &String, bool
332
337
#[ allow( clippy:: type_complexity) ]
333
338
pub fn update_post (
334
339
args : & Args ,
335
- ) -> Option <
336
- Result < (
337
- String ,
338
- usize ,
339
- & Option < String > ,
340
- & Option < String > ,
341
- & Option < bool > ,
342
- ) > ,
343
- > {
340
+ ) -> Option < ( usize , & Option < String > , & Option < String > , & Option < bool > ) > {
344
341
match args {
345
342
Args {
346
343
cmd :
@@ -358,13 +355,14 @@ pub fn update_post(
358
355
} ) ,
359
356
} ) ) ,
360
357
id : Some ( id) ,
361
- with_pat,
358
+ with_pat : _ ,
362
359
rev : _,
363
360
skip : None ,
364
361
take : None ,
365
362
debug : _,
366
363
style : _,
367
- } => get_pat ( with_pat) . map ( |pat| ( pat, * id, title, body, publish) ) ,
364
+ fail_on_error : _,
365
+ } => ( * id, title, body, publish) ,
368
366
_ => return None ,
369
367
}
370
368
. into_some ( )
0 commit comments