@zentodo/cli 0.1.1 → 0.1.2

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.
@@ -0,0 +1,4008 @@
1
+ [
2
+ {
3
+ "name": "zentodo.auth.login-password",
4
+ "domain": "auth",
5
+ "action": "login-password",
6
+ "description": "调用 /userController/loginXzbb 完成身份校验,返回用户信息与 usrKey。",
7
+ "http": {
8
+ "method": "POST",
9
+ "path": "/userController/loginXzbb"
10
+ },
11
+ "scopes": [
12
+ "read"
13
+ ],
14
+ "annotations": {
15
+ "readOnly": false,
16
+ "idempotent": true,
17
+ "destructive": false
18
+ },
19
+ "params": [
20
+ {
21
+ "name": "email",
22
+ "backendName": "usrEmail",
23
+ "type": "string",
24
+ "required": true,
25
+ "description": "账号邮箱。"
26
+ },
27
+ {
28
+ "name": "password",
29
+ "backendName": "usrPwd",
30
+ "type": "string",
31
+ "required": true,
32
+ "secret": true,
33
+ "description": "账号密码。"
34
+ }
35
+ ],
36
+ "output": {
37
+ "shape": "object"
38
+ }
39
+ },
40
+ {
41
+ "name": "zentodo.auth.email-code",
42
+ "domain": "auth",
43
+ "action": "email-code",
44
+ "description": "调用 /userController/sendAuthEmailCode 向指定邮箱发送验证码。",
45
+ "http": {
46
+ "method": "POST",
47
+ "path": "/userController/sendAuthEmailCode"
48
+ },
49
+ "scopes": [
50
+ "read"
51
+ ],
52
+ "annotations": {
53
+ "readOnly": false,
54
+ "idempotent": false,
55
+ "destructive": false
56
+ },
57
+ "params": [
58
+ {
59
+ "name": "email",
60
+ "backendName": "usrEmail",
61
+ "type": "string",
62
+ "required": true,
63
+ "description": "收件邮箱。"
64
+ }
65
+ ],
66
+ "output": {
67
+ "shape": "scalar"
68
+ }
69
+ },
70
+ {
71
+ "name": "zentodo.auth.register",
72
+ "domain": "auth",
73
+ "action": "register",
74
+ "description": "调用 /userController/regisiterApp;仅传入邮箱与密码,昵称后续再更新。",
75
+ "http": {
76
+ "method": "POST",
77
+ "path": "/userController/regisiterApp"
78
+ },
79
+ "scopes": [
80
+ "write"
81
+ ],
82
+ "annotations": {
83
+ "readOnly": false,
84
+ "idempotent": false,
85
+ "destructive": false
86
+ },
87
+ "params": [
88
+ {
89
+ "name": "email",
90
+ "backendName": "usrEmail",
91
+ "type": "string",
92
+ "required": true,
93
+ "description": "账号邮箱。"
94
+ },
95
+ {
96
+ "name": "password",
97
+ "backendName": "usrPwd",
98
+ "type": "string",
99
+ "required": true,
100
+ "secret": true,
101
+ "description": "账号密码。"
102
+ }
103
+ ],
104
+ "output": {
105
+ "shape": "object"
106
+ }
107
+ },
108
+ {
109
+ "name": "zentodo.auth.find-password",
110
+ "domain": "auth",
111
+ "action": "find-password",
112
+ "description": "调用 /userController/findPasswordByUsrEmail,服务器将发送找回邮件。",
113
+ "http": {
114
+ "method": "POST",
115
+ "path": "/userController/findPasswordByUsrEmail"
116
+ },
117
+ "scopes": [
118
+ "read"
119
+ ],
120
+ "annotations": {
121
+ "readOnly": false,
122
+ "idempotent": false,
123
+ "destructive": false
124
+ },
125
+ "params": [
126
+ {
127
+ "name": "email",
128
+ "backendName": "usrEmail",
129
+ "type": "string",
130
+ "required": true,
131
+ "description": "账号邮箱。"
132
+ }
133
+ ],
134
+ "output": {
135
+ "shape": "scalar"
136
+ }
137
+ },
138
+ {
139
+ "name": "zentodo.auth.change-password",
140
+ "domain": "auth",
141
+ "action": "change-password",
142
+ "description": "调用 /userController/updateUserWithoutPhoto,携带 usrPwd 与 syncFlag=U。",
143
+ "http": {
144
+ "method": "POST",
145
+ "path": "/userController/updateUserWithoutPhoto"
146
+ },
147
+ "scopes": [
148
+ "write"
149
+ ],
150
+ "annotations": {
151
+ "readOnly": false,
152
+ "idempotent": false,
153
+ "destructive": false
154
+ },
155
+ "params": [
156
+ {
157
+ "name": "user_key",
158
+ "backendName": "usrKey",
159
+ "type": "integer",
160
+ "required": true,
161
+ "description": "目标 usrKey。"
162
+ },
163
+ {
164
+ "name": "password",
165
+ "backendName": "usrPwd",
166
+ "type": "string",
167
+ "required": true,
168
+ "secret": true,
169
+ "description": "新密码。"
170
+ },
171
+ {
172
+ "name": "sync_flag",
173
+ "backendName": "syncFlag",
174
+ "type": "string",
175
+ "default": "U",
176
+ "description": "同步标记,默认 U。"
177
+ }
178
+ ],
179
+ "output": {
180
+ "shape": "object"
181
+ }
182
+ },
183
+ {
184
+ "name": "zentodo.auth.delete-account",
185
+ "domain": "auth",
186
+ "action": "delete-account",
187
+ "description": "调用 /userController/deleteUsrByUsrKey。属于破坏性操作,必须携带 --yes。",
188
+ "http": {
189
+ "method": "POST",
190
+ "path": "/userController/deleteUsrByUsrKey"
191
+ },
192
+ "scopes": [
193
+ "destructive",
194
+ "admin"
195
+ ],
196
+ "annotations": {
197
+ "readOnly": false,
198
+ "idempotent": false,
199
+ "destructive": true
200
+ },
201
+ "params": [
202
+ {
203
+ "name": "user_key",
204
+ "backendName": "usrKey",
205
+ "type": "integer",
206
+ "required": true,
207
+ "description": "目标 usrKey。"
208
+ }
209
+ ],
210
+ "output": {
211
+ "shape": "object"
212
+ }
213
+ },
214
+ {
215
+ "name": "zentodo.auth.email-exists",
216
+ "domain": "auth",
217
+ "action": "email-exists",
218
+ "description": "调用 /userController/isEmailExist。",
219
+ "http": {
220
+ "method": "POST",
221
+ "path": "/userController/isEmailExist"
222
+ },
223
+ "scopes": [
224
+ "read"
225
+ ],
226
+ "annotations": {
227
+ "readOnly": true,
228
+ "idempotent": true,
229
+ "destructive": false
230
+ },
231
+ "params": [
232
+ {
233
+ "name": "email",
234
+ "backendName": "usrEmail",
235
+ "type": "string",
236
+ "required": true,
237
+ "description": "待检查的邮箱。"
238
+ }
239
+ ],
240
+ "output": {
241
+ "shape": "scalar"
242
+ }
243
+ },
244
+ {
245
+ "name": "zentodo.auth.phone-exists",
246
+ "domain": "auth",
247
+ "action": "phone-exists",
248
+ "description": "调用 /userController/isPhoneExist。",
249
+ "http": {
250
+ "method": "POST",
251
+ "path": "/userController/isPhoneExist"
252
+ },
253
+ "scopes": [
254
+ "read"
255
+ ],
256
+ "annotations": {
257
+ "readOnly": true,
258
+ "idempotent": true,
259
+ "destructive": false
260
+ },
261
+ "params": [
262
+ {
263
+ "name": "phone",
264
+ "backendName": "usrPhone",
265
+ "type": "string",
266
+ "required": true,
267
+ "description": "待检查的手机号。"
268
+ }
269
+ ],
270
+ "output": {
271
+ "shape": "scalar"
272
+ }
273
+ },
274
+ {
275
+ "name": "zentodo.user.info",
276
+ "domain": "user",
277
+ "action": "info",
278
+ "description": "调用 /userController/getUserInfoByUsrKey。",
279
+ "http": {
280
+ "method": "POST",
281
+ "path": "/userController/getUserInfoByUsrKey"
282
+ },
283
+ "scopes": [
284
+ "read"
285
+ ],
286
+ "annotations": {
287
+ "readOnly": true,
288
+ "idempotent": true,
289
+ "destructive": false
290
+ },
291
+ "params": [],
292
+ "output": {
293
+ "shape": "object"
294
+ }
295
+ },
296
+ {
297
+ "name": "zentodo.user.update",
298
+ "domain": "user",
299
+ "action": "update",
300
+ "description": "调用 /userController/updateUserWithoutPhoto。只会上传显式传入的字段,未传字段不会覆盖为空。",
301
+ "http": {
302
+ "method": "POST",
303
+ "path": "/userController/updateUserWithoutPhoto"
304
+ },
305
+ "scopes": [
306
+ "write"
307
+ ],
308
+ "annotations": {
309
+ "readOnly": false,
310
+ "idempotent": false,
311
+ "destructive": false
312
+ },
313
+ "params": [
314
+ {
315
+ "name": "nickname",
316
+ "backendName": "usrNickName",
317
+ "type": "string",
318
+ "description": "昵称。"
319
+ },
320
+ {
321
+ "name": "phone",
322
+ "backendName": "usrPhone",
323
+ "type": "string",
324
+ "description": "手机号。"
325
+ },
326
+ {
327
+ "name": "gender",
328
+ "backendName": "usrGender",
329
+ "type": "string",
330
+ "description": "性别。"
331
+ },
332
+ {
333
+ "name": "birthday",
334
+ "backendName": "usrBirthday",
335
+ "type": "date",
336
+ "transform": "isoToBackendDate",
337
+ "description": "生日(ISO 日期)。"
338
+ },
339
+ {
340
+ "name": "signature",
341
+ "backendName": "usrSignature",
342
+ "type": "string",
343
+ "description": "个性签名。"
344
+ }
345
+ ],
346
+ "output": {
347
+ "shape": "object"
348
+ }
349
+ },
350
+ {
351
+ "name": "zentodo.user.avatar-get",
352
+ "domain": "user",
353
+ "action": "avatar-get",
354
+ "description": "调用 /userController/getUserAvatarByUsrKey。",
355
+ "http": {
356
+ "method": "POST",
357
+ "path": "/userController/getUserAvatarByUsrKey"
358
+ },
359
+ "scopes": [
360
+ "read"
361
+ ],
362
+ "annotations": {
363
+ "readOnly": true,
364
+ "idempotent": true,
365
+ "destructive": false
366
+ },
367
+ "params": [],
368
+ "output": {
369
+ "shape": "scalar"
370
+ }
371
+ },
372
+ {
373
+ "name": "zentodo.user.invite-code",
374
+ "domain": "user",
375
+ "action": "invite-code",
376
+ "description": "调用 /userController/getInviteCodeByUsrKey。",
377
+ "http": {
378
+ "method": "POST",
379
+ "path": "/userController/getInviteCodeByUsrKey"
380
+ },
381
+ "scopes": [
382
+ "read"
383
+ ],
384
+ "annotations": {
385
+ "readOnly": true,
386
+ "idempotent": true,
387
+ "destructive": false
388
+ },
389
+ "params": [],
390
+ "output": {
391
+ "shape": "scalar"
392
+ }
393
+ },
394
+ {
395
+ "name": "zentodo.user.reward-coin-get",
396
+ "domain": "user",
397
+ "action": "reward-coin-get",
398
+ "description": "调用 /userController/getRewardCoinByUsrKey。",
399
+ "http": {
400
+ "method": "POST",
401
+ "path": "/userController/getRewardCoinByUsrKey"
402
+ },
403
+ "scopes": [
404
+ "read"
405
+ ],
406
+ "annotations": {
407
+ "readOnly": true,
408
+ "idempotent": true,
409
+ "destructive": false
410
+ },
411
+ "params": [],
412
+ "output": {
413
+ "shape": "scalar"
414
+ }
415
+ },
416
+ {
417
+ "name": "zentodo.user.reward-coin-set",
418
+ "domain": "user",
419
+ "action": "reward-coin-set",
420
+ "description": "调用 /userController/setRewardCoinByUsrKey。",
421
+ "http": {
422
+ "method": "POST",
423
+ "path": "/userController/setRewardCoinByUsrKey"
424
+ },
425
+ "scopes": [
426
+ "write",
427
+ "destructive"
428
+ ],
429
+ "annotations": {
430
+ "readOnly": false,
431
+ "idempotent": false,
432
+ "destructive": true
433
+ },
434
+ "params": [
435
+ {
436
+ "name": "reward_coin",
437
+ "backendName": "rewardCoin",
438
+ "type": "integer",
439
+ "required": true,
440
+ "description": "新的余额值。"
441
+ }
442
+ ],
443
+ "output": {
444
+ "shape": "scalar"
445
+ }
446
+ },
447
+ {
448
+ "name": "zentodo.user.vip-set",
449
+ "domain": "user",
450
+ "action": "vip-set",
451
+ "description": "调用 /userController/setVipEndDate。",
452
+ "http": {
453
+ "method": "POST",
454
+ "path": "/userController/setVipEndDate"
455
+ },
456
+ "scopes": [
457
+ "write",
458
+ "admin"
459
+ ],
460
+ "annotations": {
461
+ "readOnly": false,
462
+ "idempotent": false,
463
+ "destructive": false
464
+ },
465
+ "params": [
466
+ {
467
+ "name": "vip_end_date",
468
+ "backendName": "vipEndDate",
469
+ "type": "date",
470
+ "transform": "isoToBackendDate",
471
+ "required": true,
472
+ "description": "VIP 到期日(ISO 日期)。"
473
+ }
474
+ ],
475
+ "output": {
476
+ "shape": "scalar"
477
+ }
478
+ },
479
+ {
480
+ "name": "zentodo.user.restore-default-label",
481
+ "domain": "user",
482
+ "action": "restore-default-label",
483
+ "description": "调用 /userController/restoreDefaultLabel。",
484
+ "http": {
485
+ "method": "POST",
486
+ "path": "/userController/restoreDefaultLabel"
487
+ },
488
+ "scopes": [
489
+ "destructive",
490
+ "write"
491
+ ],
492
+ "annotations": {
493
+ "readOnly": false,
494
+ "idempotent": false,
495
+ "destructive": true
496
+ },
497
+ "params": [],
498
+ "output": {
499
+ "shape": "object"
500
+ }
501
+ },
502
+ {
503
+ "name": "zentodo.task.add",
504
+ "domain": "task",
505
+ "action": "add",
506
+ "description": "调用 /taskController/insertTask,使用 FormData 提交。",
507
+ "http": {
508
+ "method": "POST",
509
+ "path": "/taskController/insertTask"
510
+ },
511
+ "scopes": [
512
+ "write"
513
+ ],
514
+ "annotations": {
515
+ "readOnly": false,
516
+ "idempotent": false,
517
+ "destructive": false
518
+ },
519
+ "params": [
520
+ {
521
+ "name": "title",
522
+ "backendName": "taskTitle",
523
+ "type": "string",
524
+ "required": true,
525
+ "description": "任务标题。"
526
+ },
527
+ {
528
+ "name": "desc",
529
+ "backendName": "taskDescription",
530
+ "type": "string",
531
+ "description": "任务描述。"
532
+ },
533
+ {
534
+ "name": "due",
535
+ "backendName": "taskCreateTime",
536
+ "type": "datetime",
537
+ "transform": "isoToBackendDateTime",
538
+ "description": "计划时间 / 截止时间(ISO)。"
539
+ },
540
+ {
541
+ "name": "priority",
542
+ "backendName": "taskPriority",
543
+ "type": "integer",
544
+ "description": "优先级 0-4。"
545
+ },
546
+ {
547
+ "name": "project_key",
548
+ "backendName": "taskProjectKey",
549
+ "type": "integer",
550
+ "description": "所属项目 projectKey。"
551
+ },
552
+ {
553
+ "name": "scene_key",
554
+ "backendName": "taskSceneKey",
555
+ "type": "integer",
556
+ "description": "所属场景 sceneKey。"
557
+ },
558
+ {
559
+ "name": "labels",
560
+ "backendName": "taskLabels",
561
+ "type": "array",
562
+ "itemType": "string",
563
+ "transform": "arrayToCsv",
564
+ "description": "标签(自动拼接为 CSV)。"
565
+ },
566
+ {
567
+ "name": "mit",
568
+ "backendName": "isMIT",
569
+ "type": "boolean",
570
+ "transform": "booleanToString",
571
+ "description": "是否标记为 MIT(今日最重要)。"
572
+ },
573
+ {
574
+ "name": "reminder",
575
+ "backendName": "taskReminderTime",
576
+ "type": "datetime",
577
+ "transform": "isoToBackendDateTime",
578
+ "description": "提醒时间(ISO)。"
579
+ },
580
+ {
581
+ "name": "sub_of",
582
+ "backendName": "taskParentKey",
583
+ "type": "integer",
584
+ "description": "父任务 taskKey(子任务用)。"
585
+ },
586
+ {
587
+ "name": "quadrant",
588
+ "backendName": "task4time",
589
+ "type": "integer",
590
+ "description": "时间四象限 0-3。"
591
+ }
592
+ ],
593
+ "output": {
594
+ "shape": "object"
595
+ }
596
+ },
597
+ {
598
+ "name": "zentodo.task.update",
599
+ "domain": "task",
600
+ "action": "update",
601
+ "description": "调用 /taskController/updateTask。未传入的字段不会被写入 FormData,避免把现有列置空。",
602
+ "http": {
603
+ "method": "POST",
604
+ "path": "/taskController/updateTask"
605
+ },
606
+ "scopes": [
607
+ "write"
608
+ ],
609
+ "annotations": {
610
+ "readOnly": false,
611
+ "idempotent": false,
612
+ "destructive": false
613
+ },
614
+ "params": [
615
+ {
616
+ "name": "task_key",
617
+ "backendName": "taskKey",
618
+ "type": "integer",
619
+ "required": true,
620
+ "description": "任务 taskKey。"
621
+ },
622
+ {
623
+ "name": "title",
624
+ "backendName": "taskTitle",
625
+ "type": "string",
626
+ "description": "新标题。"
627
+ },
628
+ {
629
+ "name": "desc",
630
+ "backendName": "taskDescription",
631
+ "type": "string",
632
+ "description": "新描述。"
633
+ },
634
+ {
635
+ "name": "due",
636
+ "backendName": "taskCreateTime",
637
+ "type": "datetime",
638
+ "transform": "isoToBackendDateTime",
639
+ "description": "新计划时间(ISO)。"
640
+ },
641
+ {
642
+ "name": "priority",
643
+ "backendName": "taskPriority",
644
+ "type": "integer",
645
+ "description": "新优先级。"
646
+ },
647
+ {
648
+ "name": "project_key",
649
+ "backendName": "taskProjectKey",
650
+ "type": "integer",
651
+ "description": "迁移到的 projectKey。"
652
+ },
653
+ {
654
+ "name": "scene_key",
655
+ "backendName": "taskSceneKey",
656
+ "type": "integer",
657
+ "description": "迁移到的 sceneKey。"
658
+ },
659
+ {
660
+ "name": "labels",
661
+ "backendName": "taskLabels",
662
+ "type": "array",
663
+ "itemType": "string",
664
+ "transform": "arrayToCsv",
665
+ "description": "标签(CSV)。"
666
+ },
667
+ {
668
+ "name": "reminder",
669
+ "backendName": "taskReminderTime",
670
+ "type": "datetime",
671
+ "transform": "isoToBackendDateTime",
672
+ "description": "新提醒时间(ISO)。"
673
+ },
674
+ {
675
+ "name": "quadrant",
676
+ "backendName": "task4time",
677
+ "type": "integer",
678
+ "description": "时间四象限。"
679
+ },
680
+ {
681
+ "name": "sync_flag",
682
+ "backendName": "syncFlag",
683
+ "type": "string",
684
+ "default": "M",
685
+ "description": "同步标记,默认 M。"
686
+ }
687
+ ],
688
+ "output": {
689
+ "shape": "object"
690
+ }
691
+ },
692
+ {
693
+ "name": "zentodo.task.delete",
694
+ "domain": "task",
695
+ "action": "delete",
696
+ "description": "调用 /taskController/updateTask,自动注入 syncFlag=D。",
697
+ "http": {
698
+ "method": "POST",
699
+ "path": "/taskController/updateTask",
700
+ "pragmas": [
701
+ "softDelete"
702
+ ]
703
+ },
704
+ "scopes": [
705
+ "destructive",
706
+ "write"
707
+ ],
708
+ "annotations": {
709
+ "readOnly": false,
710
+ "idempotent": false,
711
+ "destructive": true
712
+ },
713
+ "params": [
714
+ {
715
+ "name": "task_key",
716
+ "backendName": "taskKey",
717
+ "type": "integer",
718
+ "required": true,
719
+ "description": "任务 taskKey。"
720
+ }
721
+ ],
722
+ "output": {
723
+ "shape": "object"
724
+ }
725
+ },
726
+ {
727
+ "name": "zentodo.task.complete",
728
+ "domain": "task",
729
+ "action": "complete",
730
+ "description": "调用 /taskController/updateTask,自动注入 taskState=0 与今日的 taskCompletedTime。",
731
+ "http": {
732
+ "method": "POST",
733
+ "path": "/taskController/updateTask",
734
+ "pragmas": [
735
+ "completeTask"
736
+ ]
737
+ },
738
+ "scopes": [
739
+ "write"
740
+ ],
741
+ "annotations": {
742
+ "readOnly": false,
743
+ "idempotent": false,
744
+ "destructive": false
745
+ },
746
+ "params": [
747
+ {
748
+ "name": "task_key",
749
+ "backendName": "taskKey",
750
+ "type": "integer",
751
+ "required": true,
752
+ "description": "任务 taskKey。"
753
+ }
754
+ ],
755
+ "output": {
756
+ "shape": "object"
757
+ }
758
+ },
759
+ {
760
+ "name": "zentodo.task.uncomplete",
761
+ "domain": "task",
762
+ "action": "uncomplete",
763
+ "description": "调用 /taskController/updateTask,把 taskState 还原为 1 并清空完成时间。",
764
+ "http": {
765
+ "method": "POST",
766
+ "path": "/taskController/updateTask"
767
+ },
768
+ "scopes": [
769
+ "write"
770
+ ],
771
+ "annotations": {
772
+ "readOnly": false,
773
+ "idempotent": false,
774
+ "destructive": false
775
+ },
776
+ "params": [
777
+ {
778
+ "name": "task_key",
779
+ "backendName": "taskKey",
780
+ "type": "integer",
781
+ "required": true,
782
+ "description": "任务 taskKey。"
783
+ },
784
+ {
785
+ "name": "task_state",
786
+ "backendName": "taskState",
787
+ "type": "integer",
788
+ "default": 1,
789
+ "description": "开放态(一般为 1)。"
790
+ },
791
+ {
792
+ "name": "task_completed_time",
793
+ "backendName": "taskCompletedTime",
794
+ "type": "string",
795
+ "default": "",
796
+ "sendEmpty": true,
797
+ "description": "清空完成时间。"
798
+ }
799
+ ],
800
+ "output": {
801
+ "shape": "object"
802
+ }
803
+ },
804
+ {
805
+ "name": "zentodo.task.mit",
806
+ "domain": "task",
807
+ "action": "mit",
808
+ "description": "调用 /taskController/updateTask,注入 isMIT 与 syncFlag=M。",
809
+ "http": {
810
+ "method": "POST",
811
+ "path": "/taskController/updateTask",
812
+ "pragmas": [
813
+ "setMit"
814
+ ]
815
+ },
816
+ "scopes": [
817
+ "write"
818
+ ],
819
+ "annotations": {
820
+ "readOnly": false,
821
+ "idempotent": false,
822
+ "destructive": false
823
+ },
824
+ "params": [
825
+ {
826
+ "name": "task_key",
827
+ "backendName": "taskKey",
828
+ "type": "integer",
829
+ "required": true,
830
+ "description": "任务 taskKey。"
831
+ },
832
+ {
833
+ "name": "is_mit",
834
+ "type": "boolean",
835
+ "required": true,
836
+ "description": "是否为 MIT。"
837
+ }
838
+ ],
839
+ "output": {
840
+ "shape": "object"
841
+ }
842
+ },
843
+ {
844
+ "name": "zentodo.task.quadrant",
845
+ "domain": "task",
846
+ "action": "quadrant",
847
+ "description": "调用 /taskController/updateTask,注入 task4time 与 syncFlag=M。",
848
+ "http": {
849
+ "method": "POST",
850
+ "path": "/taskController/updateTask",
851
+ "pragmas": [
852
+ "setQuadrant"
853
+ ]
854
+ },
855
+ "scopes": [
856
+ "write"
857
+ ],
858
+ "annotations": {
859
+ "readOnly": false,
860
+ "idempotent": false,
861
+ "destructive": false
862
+ },
863
+ "params": [
864
+ {
865
+ "name": "task_key",
866
+ "backendName": "taskKey",
867
+ "type": "integer",
868
+ "required": true,
869
+ "description": "任务 taskKey。"
870
+ },
871
+ {
872
+ "name": "quadrant",
873
+ "type": "integer",
874
+ "required": true,
875
+ "description": "象限 0..3。"
876
+ }
877
+ ],
878
+ "output": {
879
+ "shape": "object"
880
+ }
881
+ },
882
+ {
883
+ "name": "zentodo.task.completed-today",
884
+ "domain": "task",
885
+ "action": "completed-today",
886
+ "description": "调用 /taskController/getCompletedTasks。过滤条件:syncFlag != D、taskState = 0、taskCompletedTime = today。",
887
+ "http": {
888
+ "method": "POST",
889
+ "path": "/taskController/getCompletedTasks"
890
+ },
891
+ "scopes": [
892
+ "read"
893
+ ],
894
+ "annotations": {
895
+ "readOnly": true,
896
+ "idempotent": true,
897
+ "destructive": false
898
+ },
899
+ "params": [
900
+ {
901
+ "name": "is_templete",
902
+ "backendName": "isTemplete",
903
+ "type": "boolean",
904
+ "default": false,
905
+ "transform": "booleanToString",
906
+ "description": "排除模板。"
907
+ },
908
+ {
909
+ "name": "sync_flag",
910
+ "backendName": "syncFlag",
911
+ "type": "string",
912
+ "default": "!=D",
913
+ "description": "同步标记过滤。"
914
+ },
915
+ {
916
+ "name": "task_state",
917
+ "backendName": "taskState",
918
+ "type": "string",
919
+ "default": "=0",
920
+ "description": "已完成。"
921
+ },
922
+ {
923
+ "name": "task_completed_time",
924
+ "backendName": "taskCompletedTime",
925
+ "type": "string",
926
+ "default": "=today",
927
+ "description": "完成时间=今日。"
928
+ },
929
+ {
930
+ "name": "task_create_time_not_null",
931
+ "backendName": "taskCreateTimeNotNull",
932
+ "type": "boolean",
933
+ "default": true,
934
+ "transform": "booleanToString",
935
+ "description": "要求 createTime 非空。"
936
+ }
937
+ ],
938
+ "output": {
939
+ "shape": "array"
940
+ }
941
+ },
942
+ {
943
+ "name": "zentodo.task.mit-list",
944
+ "domain": "task",
945
+ "action": "mit-list",
946
+ "description": "调用 /taskController/getMitTasks。过滤条件与 PC 端 loadMitHeaderDatas() 一致。",
947
+ "http": {
948
+ "method": "POST",
949
+ "path": "/taskController/getMitTasks"
950
+ },
951
+ "scopes": [
952
+ "read"
953
+ ],
954
+ "annotations": {
955
+ "readOnly": true,
956
+ "idempotent": true,
957
+ "destructive": false
958
+ },
959
+ "params": [
960
+ {
961
+ "name": "sync_flag",
962
+ "backendName": "syncFlag",
963
+ "type": "string",
964
+ "default": "!=D",
965
+ "description": "同步标记过滤。"
966
+ },
967
+ {
968
+ "name": "is_templete",
969
+ "backendName": "isTemplete",
970
+ "type": "boolean",
971
+ "default": false,
972
+ "transform": "booleanToString",
973
+ "description": "排除模板。"
974
+ },
975
+ {
976
+ "name": "task_state",
977
+ "backendName": "taskState",
978
+ "type": "string",
979
+ "default": "!=0",
980
+ "description": "未完成。"
981
+ },
982
+ {
983
+ "name": "task_create_time_not_null",
984
+ "backendName": "taskCreateTimeNotNull",
985
+ "type": "boolean",
986
+ "default": true,
987
+ "transform": "booleanToString",
988
+ "description": "要求 createTime 非空。"
989
+ },
990
+ {
991
+ "name": "task_create_time",
992
+ "backendName": "taskCreateTime",
993
+ "type": "string",
994
+ "default": "<=today",
995
+ "description": "到今日为止。"
996
+ },
997
+ {
998
+ "name": "is_mit",
999
+ "backendName": "isMIT",
1000
+ "type": "boolean",
1001
+ "default": true,
1002
+ "transform": "booleanToString",
1003
+ "description": "MIT 过滤。"
1004
+ }
1005
+ ],
1006
+ "output": {
1007
+ "shape": "array"
1008
+ }
1009
+ },
1010
+ {
1011
+ "name": "zentodo.task.calendar",
1012
+ "domain": "task",
1013
+ "action": "calendar",
1014
+ "description": "调用 /taskController/getCalendarTaskByDate。过滤与安卓端一致(syncFlag!=D、taskState!=0、isTemplete=false、taskStartItem!=FT、taskStartItem!=垃圾箱)。",
1015
+ "http": {
1016
+ "method": "POST",
1017
+ "path": "/taskController/getCalendarTaskByDate"
1018
+ },
1019
+ "scopes": [
1020
+ "read"
1021
+ ],
1022
+ "annotations": {
1023
+ "readOnly": true,
1024
+ "idempotent": true,
1025
+ "destructive": false
1026
+ },
1027
+ "params": [
1028
+ {
1029
+ "name": "start_date",
1030
+ "backendName": "startDate",
1031
+ "type": "date",
1032
+ "transform": "isoToBackendDate",
1033
+ "required": true,
1034
+ "description": "范围起始(ISO 日期)。"
1035
+ },
1036
+ {
1037
+ "name": "end_date",
1038
+ "backendName": "endDate",
1039
+ "type": "date",
1040
+ "transform": "isoToBackendDate",
1041
+ "required": true,
1042
+ "description": "范围截止(ISO 日期)。"
1043
+ },
1044
+ {
1045
+ "name": "sync_flag",
1046
+ "backendName": "syncFlag",
1047
+ "type": "string",
1048
+ "default": "!=D",
1049
+ "description": "同步标记过滤。"
1050
+ },
1051
+ {
1052
+ "name": "task_state",
1053
+ "backendName": "taskState",
1054
+ "type": "string",
1055
+ "default": "!=0",
1056
+ "description": "未完成。"
1057
+ },
1058
+ {
1059
+ "name": "is_templete",
1060
+ "backendName": "isTemplete",
1061
+ "type": "boolean",
1062
+ "default": false,
1063
+ "transform": "booleanToString",
1064
+ "description": "排除模板。"
1065
+ },
1066
+ {
1067
+ "name": "task_start_item_not_1",
1068
+ "backendName": "taskStartItemNot1",
1069
+ "type": "string",
1070
+ "default": "FT",
1071
+ "description": "排除 FT 项。"
1072
+ },
1073
+ {
1074
+ "name": "task_start_item_not_2",
1075
+ "backendName": "taskStartItemNot2",
1076
+ "type": "string",
1077
+ "default": "垃圾箱",
1078
+ "description": "排除垃圾箱。"
1079
+ }
1080
+ ],
1081
+ "output": {
1082
+ "shape": "array"
1083
+ }
1084
+ },
1085
+ {
1086
+ "name": "zentodo.task.move",
1087
+ "domain": "task",
1088
+ "action": "move",
1089
+ "description": "调用 /taskController/updateTaskCreateTime。",
1090
+ "http": {
1091
+ "method": "POST",
1092
+ "path": "/taskController/updateTaskCreateTime"
1093
+ },
1094
+ "scopes": [
1095
+ "write"
1096
+ ],
1097
+ "annotations": {
1098
+ "readOnly": false,
1099
+ "idempotent": false,
1100
+ "destructive": false
1101
+ },
1102
+ "params": [
1103
+ {
1104
+ "name": "task_key",
1105
+ "backendName": "taskKey",
1106
+ "type": "integer",
1107
+ "required": true,
1108
+ "description": "任务 taskKey。"
1109
+ },
1110
+ {
1111
+ "name": "task_create_time",
1112
+ "backendName": "taskCreateTime",
1113
+ "type": "datetime",
1114
+ "transform": "isoToBackendDateTime",
1115
+ "required": true,
1116
+ "description": "新时间(ISO)。"
1117
+ }
1118
+ ],
1119
+ "output": {
1120
+ "shape": "object"
1121
+ }
1122
+ },
1123
+ {
1124
+ "name": "zentodo.task.sync-pull",
1125
+ "domain": "task",
1126
+ "action": "sync-pull",
1127
+ "description": "调用 /taskController/getSyncTaskList。",
1128
+ "http": {
1129
+ "method": "POST",
1130
+ "path": "/taskController/getSyncTaskList"
1131
+ },
1132
+ "scopes": [
1133
+ "sync",
1134
+ "read"
1135
+ ],
1136
+ "annotations": {
1137
+ "readOnly": true,
1138
+ "idempotent": false,
1139
+ "destructive": false
1140
+ },
1141
+ "params": [
1142
+ {
1143
+ "name": "client_version",
1144
+ "backendName": "clientVersion",
1145
+ "type": "integer",
1146
+ "required": true,
1147
+ "description": "客户端已知版本号。"
1148
+ }
1149
+ ],
1150
+ "output": {
1151
+ "shape": "array"
1152
+ }
1153
+ },
1154
+ {
1155
+ "name": "zentodo.task.sync-push",
1156
+ "domain": "task",
1157
+ "action": "sync-push",
1158
+ "description": "调用 /taskController/putSyncTask。所有字段通过 FormData 提交,自动剥离 id / rowid。",
1159
+ "http": {
1160
+ "method": "POST",
1161
+ "path": "/taskController/putSyncTask",
1162
+ "pragmas": [
1163
+ "stripAutoKeys"
1164
+ ]
1165
+ },
1166
+ "scopes": [
1167
+ "sync",
1168
+ "write"
1169
+ ],
1170
+ "annotations": {
1171
+ "readOnly": false,
1172
+ "idempotent": false,
1173
+ "destructive": false
1174
+ },
1175
+ "params": [
1176
+ {
1177
+ "name": "task_key",
1178
+ "backendName": "taskKey",
1179
+ "type": "integer",
1180
+ "required": true,
1181
+ "description": "任务 taskKey。"
1182
+ },
1183
+ {
1184
+ "name": "record",
1185
+ "type": "object",
1186
+ "description": "完整记录字段(打平)。"
1187
+ }
1188
+ ],
1189
+ "output": {
1190
+ "shape": "scalar"
1191
+ }
1192
+ },
1193
+ {
1194
+ "name": "zentodo.task.list-all",
1195
+ "domain": "task",
1196
+ "action": "list-all",
1197
+ "description": "调用 /taskController/getAllTaskByUserId。",
1198
+ "http": {
1199
+ "method": "POST",
1200
+ "path": "/taskController/getAllTaskByUserId"
1201
+ },
1202
+ "scopes": [
1203
+ "read"
1204
+ ],
1205
+ "annotations": {
1206
+ "readOnly": true,
1207
+ "idempotent": true,
1208
+ "destructive": false
1209
+ },
1210
+ "params": [],
1211
+ "output": {
1212
+ "shape": "array"
1213
+ }
1214
+ },
1215
+ {
1216
+ "name": "zentodo.subtask.sync-push",
1217
+ "domain": "subtask",
1218
+ "action": "sync-push",
1219
+ "description": "调用 /subTaskController/putSyncSubTask。所有字段通过 FormData 提交,自动剥离 id/rowid。",
1220
+ "http": {
1221
+ "method": "POST",
1222
+ "path": "/subTaskController/putSyncSubTask",
1223
+ "pragmas": [
1224
+ "stripAutoKeys"
1225
+ ]
1226
+ },
1227
+ "scopes": [
1228
+ "sync",
1229
+ "write"
1230
+ ],
1231
+ "annotations": {
1232
+ "readOnly": false,
1233
+ "idempotent": false,
1234
+ "destructive": false
1235
+ },
1236
+ "params": [
1237
+ {
1238
+ "name": "sub_task_key",
1239
+ "backendName": "subTaskKey",
1240
+ "type": "integer",
1241
+ "description": "已存在的子任务 key(省略则新建)。"
1242
+ },
1243
+ {
1244
+ "name": "task_key",
1245
+ "backendName": "taskKey",
1246
+ "type": "integer",
1247
+ "required": true,
1248
+ "description": "父任务 taskKey。"
1249
+ },
1250
+ {
1251
+ "name": "title",
1252
+ "backendName": "subTaskTitle",
1253
+ "type": "string",
1254
+ "description": "子任务标题。"
1255
+ },
1256
+ {
1257
+ "name": "state",
1258
+ "backendName": "subTaskState",
1259
+ "type": "integer",
1260
+ "description": "状态(0=完成, 1=未完成)。"
1261
+ },
1262
+ {
1263
+ "name": "sync_flag",
1264
+ "backendName": "syncFlag",
1265
+ "type": "string",
1266
+ "default": "M",
1267
+ "description": "M=修改, D=删除, I=新增。"
1268
+ }
1269
+ ],
1270
+ "output": {
1271
+ "shape": "scalar"
1272
+ }
1273
+ },
1274
+ {
1275
+ "name": "zentodo.subtask.list-all",
1276
+ "domain": "subtask",
1277
+ "action": "list-all",
1278
+ "description": "调用 /subTaskController/getAllSubTaskByUserId。",
1279
+ "http": {
1280
+ "method": "POST",
1281
+ "path": "/subTaskController/getAllSubTaskByUserId"
1282
+ },
1283
+ "scopes": [
1284
+ "read"
1285
+ ],
1286
+ "annotations": {
1287
+ "readOnly": true,
1288
+ "idempotent": true,
1289
+ "destructive": false
1290
+ },
1291
+ "params": [],
1292
+ "output": {
1293
+ "shape": "array"
1294
+ }
1295
+ },
1296
+ {
1297
+ "name": "zentodo.subtask.sync-pull",
1298
+ "domain": "subtask",
1299
+ "action": "sync-pull",
1300
+ "description": "调用 /subTaskController/getSyncSubTaskList。",
1301
+ "http": {
1302
+ "method": "POST",
1303
+ "path": "/subTaskController/getSyncSubTaskList"
1304
+ },
1305
+ "scopes": [
1306
+ "sync",
1307
+ "read"
1308
+ ],
1309
+ "annotations": {
1310
+ "readOnly": true,
1311
+ "idempotent": false,
1312
+ "destructive": false
1313
+ },
1314
+ "params": [
1315
+ {
1316
+ "name": "client_version",
1317
+ "backendName": "clientVersion",
1318
+ "type": "integer",
1319
+ "required": true,
1320
+ "description": "客户端已知版本号。"
1321
+ }
1322
+ ],
1323
+ "output": {
1324
+ "shape": "array"
1325
+ }
1326
+ },
1327
+ {
1328
+ "name": "zentodo.project.sync-push",
1329
+ "domain": "project",
1330
+ "action": "sync-push",
1331
+ "description": "调用 /projectController/putSyncProject。所有字段通过 FormData 提交,自动剥离 id/rowid。",
1332
+ "http": {
1333
+ "method": "POST",
1334
+ "path": "/projectController/putSyncProject",
1335
+ "pragmas": [
1336
+ "stripAutoKeys"
1337
+ ]
1338
+ },
1339
+ "scopes": [
1340
+ "sync",
1341
+ "write"
1342
+ ],
1343
+ "annotations": {
1344
+ "readOnly": false,
1345
+ "idempotent": false,
1346
+ "destructive": false
1347
+ },
1348
+ "params": [
1349
+ {
1350
+ "name": "project_key",
1351
+ "backendName": "projectKey",
1352
+ "type": "integer",
1353
+ "description": "已存在的 projectKey(省略则新建)。"
1354
+ },
1355
+ {
1356
+ "name": "name",
1357
+ "backendName": "projectName",
1358
+ "type": "string",
1359
+ "description": "项目名称。"
1360
+ },
1361
+ {
1362
+ "name": "color",
1363
+ "backendName": "projectColor",
1364
+ "type": "string",
1365
+ "description": "十六进制颜色。"
1366
+ },
1367
+ {
1368
+ "name": "icon",
1369
+ "backendName": "projectIcon",
1370
+ "type": "string",
1371
+ "description": "图标标识。"
1372
+ },
1373
+ {
1374
+ "name": "parent_key",
1375
+ "backendName": "projectParentKey",
1376
+ "type": "integer",
1377
+ "description": "父项目 projectKey(用于子项目)。"
1378
+ },
1379
+ {
1380
+ "name": "state",
1381
+ "backendName": "projectState",
1382
+ "type": "integer",
1383
+ "description": "0=未开始, 1=进行中, 2=已完成, 3=已暂停, 4=已取消。"
1384
+ },
1385
+ {
1386
+ "name": "archived",
1387
+ "backendName": "isArchived",
1388
+ "type": "boolean",
1389
+ "transform": "booleanToString",
1390
+ "description": "归档标记。"
1391
+ },
1392
+ {
1393
+ "name": "sync_flag",
1394
+ "backendName": "syncFlag",
1395
+ "type": "string",
1396
+ "default": "M",
1397
+ "description": "M=修改, D=删除, I=新增。"
1398
+ }
1399
+ ],
1400
+ "output": {
1401
+ "shape": "scalar"
1402
+ }
1403
+ },
1404
+ {
1405
+ "name": "zentodo.project.list-all",
1406
+ "domain": "project",
1407
+ "action": "list-all",
1408
+ "description": "调用 /projectController/getAllProjectByUserId。",
1409
+ "http": {
1410
+ "method": "POST",
1411
+ "path": "/projectController/getAllProjectByUserId"
1412
+ },
1413
+ "scopes": [
1414
+ "read"
1415
+ ],
1416
+ "annotations": {
1417
+ "readOnly": true,
1418
+ "idempotent": true,
1419
+ "destructive": false
1420
+ },
1421
+ "params": [],
1422
+ "output": {
1423
+ "shape": "array"
1424
+ }
1425
+ },
1426
+ {
1427
+ "name": "zentodo.project.sync-pull",
1428
+ "domain": "project",
1429
+ "action": "sync-pull",
1430
+ "description": "调用 /projectController/getSyncProjectList。",
1431
+ "http": {
1432
+ "method": "POST",
1433
+ "path": "/projectController/getSyncProjectList"
1434
+ },
1435
+ "scopes": [
1436
+ "sync",
1437
+ "read"
1438
+ ],
1439
+ "annotations": {
1440
+ "readOnly": true,
1441
+ "idempotent": false,
1442
+ "destructive": false
1443
+ },
1444
+ "params": [
1445
+ {
1446
+ "name": "client_version",
1447
+ "backendName": "clientVersion",
1448
+ "type": "integer",
1449
+ "required": true,
1450
+ "description": "客户端已知版本号。"
1451
+ }
1452
+ ],
1453
+ "output": {
1454
+ "shape": "array"
1455
+ }
1456
+ },
1457
+ {
1458
+ "name": "zentodo.subproject.sync-push",
1459
+ "domain": "subproject",
1460
+ "action": "sync-push",
1461
+ "description": "调用 /subProjectController/putSyncSubProject。",
1462
+ "http": {
1463
+ "method": "POST",
1464
+ "path": "/subProjectController/putSyncSubProject",
1465
+ "pragmas": [
1466
+ "stripAutoKeys"
1467
+ ]
1468
+ },
1469
+ "scopes": [
1470
+ "sync",
1471
+ "write"
1472
+ ],
1473
+ "annotations": {
1474
+ "readOnly": false,
1475
+ "idempotent": false,
1476
+ "destructive": false
1477
+ },
1478
+ "params": [
1479
+ {
1480
+ "name": "sub_project_key",
1481
+ "backendName": "subProjectKey",
1482
+ "type": "integer",
1483
+ "description": "已存在的子项目 key。"
1484
+ },
1485
+ {
1486
+ "name": "project_key",
1487
+ "backendName": "projectKey",
1488
+ "type": "integer",
1489
+ "required": true,
1490
+ "description": "父项目 projectKey。"
1491
+ },
1492
+ {
1493
+ "name": "name",
1494
+ "backendName": "subProjectName",
1495
+ "type": "string",
1496
+ "description": "子项目名称。"
1497
+ },
1498
+ {
1499
+ "name": "sync_flag",
1500
+ "backendName": "syncFlag",
1501
+ "type": "string",
1502
+ "default": "M",
1503
+ "description": "同步标记。"
1504
+ }
1505
+ ],
1506
+ "output": {
1507
+ "shape": "scalar"
1508
+ }
1509
+ },
1510
+ {
1511
+ "name": "zentodo.subproject.list-all",
1512
+ "domain": "subproject",
1513
+ "action": "list-all",
1514
+ "description": "调用 /subProjectController/getAllSubProjectByUserId。",
1515
+ "http": {
1516
+ "method": "POST",
1517
+ "path": "/subProjectController/getAllSubProjectByUserId"
1518
+ },
1519
+ "scopes": [
1520
+ "read"
1521
+ ],
1522
+ "annotations": {
1523
+ "readOnly": true,
1524
+ "idempotent": true,
1525
+ "destructive": false
1526
+ },
1527
+ "params": [],
1528
+ "output": {
1529
+ "shape": "array"
1530
+ }
1531
+ },
1532
+ {
1533
+ "name": "zentodo.subproject.sync-pull",
1534
+ "domain": "subproject",
1535
+ "action": "sync-pull",
1536
+ "description": "调用 /subProjectController/getSyncSubProjectList。",
1537
+ "http": {
1538
+ "method": "POST",
1539
+ "path": "/subProjectController/getSyncSubProjectList"
1540
+ },
1541
+ "scopes": [
1542
+ "sync",
1543
+ "read"
1544
+ ],
1545
+ "annotations": {
1546
+ "readOnly": true,
1547
+ "idempotent": false,
1548
+ "destructive": false
1549
+ },
1550
+ "params": [
1551
+ {
1552
+ "name": "client_version",
1553
+ "backendName": "clientVersion",
1554
+ "type": "integer",
1555
+ "required": true,
1556
+ "description": "客户端已知版本号。"
1557
+ }
1558
+ ],
1559
+ "output": {
1560
+ "shape": "array"
1561
+ }
1562
+ },
1563
+ {
1564
+ "name": "zentodo.scene.sync-push",
1565
+ "domain": "scene",
1566
+ "action": "sync-push",
1567
+ "description": "调用 /sceneController/putSyncScene。",
1568
+ "http": {
1569
+ "method": "POST",
1570
+ "path": "/sceneController/putSyncScene",
1571
+ "pragmas": [
1572
+ "stripAutoKeys"
1573
+ ]
1574
+ },
1575
+ "scopes": [
1576
+ "sync",
1577
+ "write"
1578
+ ],
1579
+ "annotations": {
1580
+ "readOnly": false,
1581
+ "idempotent": false,
1582
+ "destructive": false
1583
+ },
1584
+ "params": [
1585
+ {
1586
+ "name": "scene_key",
1587
+ "backendName": "sceneKey",
1588
+ "type": "integer",
1589
+ "description": "已存在的场景 key。"
1590
+ },
1591
+ {
1592
+ "name": "name",
1593
+ "backendName": "sceneName",
1594
+ "type": "string",
1595
+ "description": "场景名称。"
1596
+ },
1597
+ {
1598
+ "name": "icon",
1599
+ "backendName": "sceneIcon",
1600
+ "type": "string",
1601
+ "description": "图标标识。"
1602
+ },
1603
+ {
1604
+ "name": "desc",
1605
+ "backendName": "sceneDescription",
1606
+ "type": "string",
1607
+ "description": "场景描述。"
1608
+ },
1609
+ {
1610
+ "name": "sync_flag",
1611
+ "backendName": "syncFlag",
1612
+ "type": "string",
1613
+ "default": "M",
1614
+ "description": "同步标记。"
1615
+ }
1616
+ ],
1617
+ "output": {
1618
+ "shape": "scalar"
1619
+ }
1620
+ },
1621
+ {
1622
+ "name": "zentodo.scene.list-all",
1623
+ "domain": "scene",
1624
+ "action": "list-all",
1625
+ "description": "调用 /sceneController/getAllSceneByUserId。",
1626
+ "http": {
1627
+ "method": "POST",
1628
+ "path": "/sceneController/getAllSceneByUserId"
1629
+ },
1630
+ "scopes": [
1631
+ "read"
1632
+ ],
1633
+ "annotations": {
1634
+ "readOnly": true,
1635
+ "idempotent": true,
1636
+ "destructive": false
1637
+ },
1638
+ "params": [],
1639
+ "output": {
1640
+ "shape": "array"
1641
+ }
1642
+ },
1643
+ {
1644
+ "name": "zentodo.scene.sync-pull",
1645
+ "domain": "scene",
1646
+ "action": "sync-pull",
1647
+ "description": "调用 /sceneController/getSyncSceneList。",
1648
+ "http": {
1649
+ "method": "POST",
1650
+ "path": "/sceneController/getSyncSceneList"
1651
+ },
1652
+ "scopes": [
1653
+ "sync",
1654
+ "read"
1655
+ ],
1656
+ "annotations": {
1657
+ "readOnly": true,
1658
+ "idempotent": false,
1659
+ "destructive": false
1660
+ },
1661
+ "params": [
1662
+ {
1663
+ "name": "client_version",
1664
+ "backendName": "clientVersion",
1665
+ "type": "integer",
1666
+ "required": true,
1667
+ "description": "客户端已知版本号。"
1668
+ }
1669
+ ],
1670
+ "output": {
1671
+ "shape": "array"
1672
+ }
1673
+ },
1674
+ {
1675
+ "name": "zentodo.target.sync-push",
1676
+ "domain": "target",
1677
+ "action": "sync-push",
1678
+ "description": "调用 /targetController/putSyncTarget。",
1679
+ "http": {
1680
+ "method": "POST",
1681
+ "path": "/targetController/putSyncTarget",
1682
+ "pragmas": [
1683
+ "stripAutoKeys"
1684
+ ]
1685
+ },
1686
+ "scopes": [
1687
+ "sync",
1688
+ "write"
1689
+ ],
1690
+ "annotations": {
1691
+ "readOnly": false,
1692
+ "idempotent": false,
1693
+ "destructive": false
1694
+ },
1695
+ "params": [
1696
+ {
1697
+ "name": "target_key",
1698
+ "backendName": "targetKey",
1699
+ "type": "integer",
1700
+ "description": "已存在的目标 key。"
1701
+ },
1702
+ {
1703
+ "name": "title",
1704
+ "backendName": "targetTitle",
1705
+ "type": "string",
1706
+ "description": "目标标题。"
1707
+ },
1708
+ {
1709
+ "name": "desc",
1710
+ "backendName": "targetDescription",
1711
+ "type": "string",
1712
+ "description": "目标描述。"
1713
+ },
1714
+ {
1715
+ "name": "deadline",
1716
+ "backendName": "targetDeadline",
1717
+ "type": "date",
1718
+ "transform": "isoToBackendDate",
1719
+ "description": "截止日期(ISO)。"
1720
+ },
1721
+ {
1722
+ "name": "sync_flag",
1723
+ "backendName": "syncFlag",
1724
+ "type": "string",
1725
+ "default": "M",
1726
+ "description": "同步标记。"
1727
+ }
1728
+ ],
1729
+ "output": {
1730
+ "shape": "scalar"
1731
+ }
1732
+ },
1733
+ {
1734
+ "name": "zentodo.target.list-all",
1735
+ "domain": "target",
1736
+ "action": "list-all",
1737
+ "description": "调用 /targetController/getAllTargetByUserId。",
1738
+ "http": {
1739
+ "method": "POST",
1740
+ "path": "/targetController/getAllTargetByUserId"
1741
+ },
1742
+ "scopes": [
1743
+ "read"
1744
+ ],
1745
+ "annotations": {
1746
+ "readOnly": true,
1747
+ "idempotent": true,
1748
+ "destructive": false
1749
+ },
1750
+ "params": [],
1751
+ "output": {
1752
+ "shape": "array"
1753
+ }
1754
+ },
1755
+ {
1756
+ "name": "zentodo.target.sync-pull",
1757
+ "domain": "target",
1758
+ "action": "sync-pull",
1759
+ "description": "调用 /targetController/getSyncTargetList。",
1760
+ "http": {
1761
+ "method": "POST",
1762
+ "path": "/targetController/getSyncTargetList"
1763
+ },
1764
+ "scopes": [
1765
+ "sync",
1766
+ "read"
1767
+ ],
1768
+ "annotations": {
1769
+ "readOnly": true,
1770
+ "idempotent": false,
1771
+ "destructive": false
1772
+ },
1773
+ "params": [
1774
+ {
1775
+ "name": "client_version",
1776
+ "backendName": "clientVersion",
1777
+ "type": "integer",
1778
+ "required": true,
1779
+ "description": "客户端已知版本号。"
1780
+ }
1781
+ ],
1782
+ "output": {
1783
+ "shape": "array"
1784
+ }
1785
+ },
1786
+ {
1787
+ "name": "zentodo.label.sync-push",
1788
+ "domain": "label",
1789
+ "action": "sync-push",
1790
+ "description": "调用 /labelController/putSyncLabel。",
1791
+ "http": {
1792
+ "method": "POST",
1793
+ "path": "/labelController/putSyncLabel",
1794
+ "pragmas": [
1795
+ "stripAutoKeys"
1796
+ ]
1797
+ },
1798
+ "scopes": [
1799
+ "sync",
1800
+ "write"
1801
+ ],
1802
+ "annotations": {
1803
+ "readOnly": false,
1804
+ "idempotent": false,
1805
+ "destructive": false
1806
+ },
1807
+ "params": [
1808
+ {
1809
+ "name": "label_key",
1810
+ "backendName": "labelKey",
1811
+ "type": "integer",
1812
+ "description": "已存在的标签 key。"
1813
+ },
1814
+ {
1815
+ "name": "name",
1816
+ "backendName": "labelName",
1817
+ "type": "string",
1818
+ "description": "标签名。"
1819
+ },
1820
+ {
1821
+ "name": "color",
1822
+ "backendName": "labelColor",
1823
+ "type": "string",
1824
+ "description": "十六进制颜色。"
1825
+ },
1826
+ {
1827
+ "name": "sync_flag",
1828
+ "backendName": "syncFlag",
1829
+ "type": "string",
1830
+ "default": "M",
1831
+ "description": "同步标记。"
1832
+ }
1833
+ ],
1834
+ "output": {
1835
+ "shape": "scalar"
1836
+ }
1837
+ },
1838
+ {
1839
+ "name": "zentodo.label.list-all",
1840
+ "domain": "label",
1841
+ "action": "list-all",
1842
+ "description": "调用 /labelController/getAllLabelByUserId。",
1843
+ "http": {
1844
+ "method": "POST",
1845
+ "path": "/labelController/getAllLabelByUserId"
1846
+ },
1847
+ "scopes": [
1848
+ "read"
1849
+ ],
1850
+ "annotations": {
1851
+ "readOnly": true,
1852
+ "idempotent": true,
1853
+ "destructive": false
1854
+ },
1855
+ "params": [],
1856
+ "output": {
1857
+ "shape": "array"
1858
+ }
1859
+ },
1860
+ {
1861
+ "name": "zentodo.label.upload-bg",
1862
+ "domain": "label",
1863
+ "action": "upload-bg",
1864
+ "description": "调用 /labelController/uploadLabelBkFile(multipart/form-data,字段名 file)。",
1865
+ "http": {
1866
+ "method": "POST",
1867
+ "path": "/labelController/uploadLabelBkFile"
1868
+ },
1869
+ "scopes": [
1870
+ "write"
1871
+ ],
1872
+ "annotations": {
1873
+ "readOnly": false,
1874
+ "idempotent": false,
1875
+ "destructive": false
1876
+ },
1877
+ "params": [
1878
+ {
1879
+ "name": "label_key",
1880
+ "backendName": "labelKey",
1881
+ "type": "integer",
1882
+ "required": true,
1883
+ "description": "目标标签 key。"
1884
+ },
1885
+ {
1886
+ "name": "file",
1887
+ "source": "file",
1888
+ "type": "file",
1889
+ "required": true,
1890
+ "description": "图片文件。"
1891
+ }
1892
+ ],
1893
+ "output": {
1894
+ "shape": "object"
1895
+ }
1896
+ },
1897
+ {
1898
+ "name": "zentodo.toplabel.sync-push",
1899
+ "domain": "toplabel",
1900
+ "action": "sync-push",
1901
+ "description": "调用 /topLabelController/putSyncTopLabel。",
1902
+ "http": {
1903
+ "method": "POST",
1904
+ "path": "/topLabelController/putSyncTopLabel",
1905
+ "pragmas": [
1906
+ "stripAutoKeys"
1907
+ ]
1908
+ },
1909
+ "scopes": [
1910
+ "sync",
1911
+ "write"
1912
+ ],
1913
+ "annotations": {
1914
+ "readOnly": false,
1915
+ "idempotent": false,
1916
+ "destructive": false
1917
+ },
1918
+ "params": [
1919
+ {
1920
+ "name": "top_label_key",
1921
+ "backendName": "topLabelKey",
1922
+ "type": "integer",
1923
+ "description": "已存在的顶级标签 key。"
1924
+ },
1925
+ {
1926
+ "name": "name",
1927
+ "backendName": "topLabelName",
1928
+ "type": "string",
1929
+ "description": "名称。"
1930
+ },
1931
+ {
1932
+ "name": "sync_flag",
1933
+ "backendName": "syncFlag",
1934
+ "type": "string",
1935
+ "default": "M",
1936
+ "description": "同步标记。"
1937
+ }
1938
+ ],
1939
+ "output": {
1940
+ "shape": "scalar"
1941
+ }
1942
+ },
1943
+ {
1944
+ "name": "zentodo.toplabel.list-all",
1945
+ "domain": "toplabel",
1946
+ "action": "list-all",
1947
+ "description": "调用 /topLabelController/getAllTopLabelByUserId。",
1948
+ "http": {
1949
+ "method": "POST",
1950
+ "path": "/topLabelController/getAllTopLabelByUserId"
1951
+ },
1952
+ "scopes": [
1953
+ "read"
1954
+ ],
1955
+ "annotations": {
1956
+ "readOnly": true,
1957
+ "idempotent": true,
1958
+ "destructive": false
1959
+ },
1960
+ "params": [],
1961
+ "output": {
1962
+ "shape": "array"
1963
+ }
1964
+ },
1965
+ {
1966
+ "name": "zentodo.toplabel.sync-pull",
1967
+ "domain": "toplabel",
1968
+ "action": "sync-pull",
1969
+ "description": "调用 /topLabelController/getSyncTopLabelList。",
1970
+ "http": {
1971
+ "method": "POST",
1972
+ "path": "/topLabelController/getSyncTopLabelList"
1973
+ },
1974
+ "scopes": [
1975
+ "sync",
1976
+ "read"
1977
+ ],
1978
+ "annotations": {
1979
+ "readOnly": true,
1980
+ "idempotent": false,
1981
+ "destructive": false
1982
+ },
1983
+ "params": [
1984
+ {
1985
+ "name": "client_version",
1986
+ "backendName": "clientVersion",
1987
+ "type": "integer",
1988
+ "required": true,
1989
+ "description": "客户端已知版本号。"
1990
+ }
1991
+ ],
1992
+ "output": {
1993
+ "shape": "array"
1994
+ }
1995
+ },
1996
+ {
1997
+ "name": "zentodo.quadrant.sync-push",
1998
+ "domain": "quadrant",
1999
+ "action": "sync-push",
2000
+ "description": "调用 /quadrantController/putSyncQuadrant。",
2001
+ "http": {
2002
+ "method": "POST",
2003
+ "path": "/quadrantController/putSyncQuadrant",
2004
+ "pragmas": [
2005
+ "stripAutoKeys"
2006
+ ]
2007
+ },
2008
+ "scopes": [
2009
+ "sync",
2010
+ "write"
2011
+ ],
2012
+ "annotations": {
2013
+ "readOnly": false,
2014
+ "idempotent": false,
2015
+ "destructive": false
2016
+ },
2017
+ "params": [
2018
+ {
2019
+ "name": "quadrant_key",
2020
+ "backendName": "quadrantKey",
2021
+ "type": "integer",
2022
+ "description": "已存在的 quadrantKey。"
2023
+ },
2024
+ {
2025
+ "name": "title",
2026
+ "backendName": "quadrantTitle",
2027
+ "type": "string",
2028
+ "description": "象限标题。"
2029
+ },
2030
+ {
2031
+ "name": "index",
2032
+ "backendName": "quadrantIndex",
2033
+ "type": "integer",
2034
+ "description": "象限索引 0..3。"
2035
+ },
2036
+ {
2037
+ "name": "sync_flag",
2038
+ "backendName": "syncFlag",
2039
+ "type": "string",
2040
+ "default": "M",
2041
+ "description": "同步标记。"
2042
+ }
2043
+ ],
2044
+ "output": {
2045
+ "shape": "scalar"
2046
+ }
2047
+ },
2048
+ {
2049
+ "name": "zentodo.quadrant.list-all",
2050
+ "domain": "quadrant",
2051
+ "action": "list-all",
2052
+ "description": "调用 /quadrantController/getAllQuadrantByUserId。",
2053
+ "http": {
2054
+ "method": "POST",
2055
+ "path": "/quadrantController/getAllQuadrantByUserId"
2056
+ },
2057
+ "scopes": [
2058
+ "read"
2059
+ ],
2060
+ "annotations": {
2061
+ "readOnly": true,
2062
+ "idempotent": true,
2063
+ "destructive": false
2064
+ },
2065
+ "params": [],
2066
+ "output": {
2067
+ "shape": "array"
2068
+ }
2069
+ },
2070
+ {
2071
+ "name": "zentodo.quadrant.sync-pull",
2072
+ "domain": "quadrant",
2073
+ "action": "sync-pull",
2074
+ "description": "调用 /quadrantController/getSyncQuadrantList。",
2075
+ "http": {
2076
+ "method": "POST",
2077
+ "path": "/quadrantController/getSyncQuadrantList"
2078
+ },
2079
+ "scopes": [
2080
+ "sync",
2081
+ "read"
2082
+ ],
2083
+ "annotations": {
2084
+ "readOnly": true,
2085
+ "idempotent": false,
2086
+ "destructive": false
2087
+ },
2088
+ "params": [
2089
+ {
2090
+ "name": "client_version",
2091
+ "backendName": "clientVersion",
2092
+ "type": "integer",
2093
+ "required": true,
2094
+ "description": "客户端已知版本号。"
2095
+ }
2096
+ ],
2097
+ "output": {
2098
+ "shape": "array"
2099
+ }
2100
+ },
2101
+ {
2102
+ "name": "zentodo.timeline.sync-push",
2103
+ "domain": "timeline",
2104
+ "action": "sync-push",
2105
+ "description": "调用 /timeLineController/putSyncTimeLine。",
2106
+ "http": {
2107
+ "method": "POST",
2108
+ "path": "/timeLineController/putSyncTimeLine",
2109
+ "pragmas": [
2110
+ "stripAutoKeys"
2111
+ ]
2112
+ },
2113
+ "scopes": [
2114
+ "sync",
2115
+ "write"
2116
+ ],
2117
+ "annotations": {
2118
+ "readOnly": false,
2119
+ "idempotent": false,
2120
+ "destructive": false
2121
+ },
2122
+ "params": [
2123
+ {
2124
+ "name": "time_line_key",
2125
+ "backendName": "timeLineKey",
2126
+ "type": "integer",
2127
+ "description": "已存在的 timeLineKey。"
2128
+ },
2129
+ {
2130
+ "name": "title",
2131
+ "backendName": "timeLineTitle",
2132
+ "type": "string",
2133
+ "description": "标题。"
2134
+ },
2135
+ {
2136
+ "name": "content",
2137
+ "backendName": "timeLineContent",
2138
+ "type": "string",
2139
+ "description": "正文。"
2140
+ },
2141
+ {
2142
+ "name": "time",
2143
+ "backendName": "timeLineTime",
2144
+ "type": "datetime",
2145
+ "transform": "isoToBackendDateTime",
2146
+ "description": "时间戳(ISO)。"
2147
+ },
2148
+ {
2149
+ "name": "sync_flag",
2150
+ "backendName": "syncFlag",
2151
+ "type": "string",
2152
+ "default": "M",
2153
+ "description": "同步标记。"
2154
+ }
2155
+ ],
2156
+ "output": {
2157
+ "shape": "scalar"
2158
+ }
2159
+ },
2160
+ {
2161
+ "name": "zentodo.timeline.list-all",
2162
+ "domain": "timeline",
2163
+ "action": "list-all",
2164
+ "description": "调用 /timeLineController/getAllTimeLineByUserId。",
2165
+ "http": {
2166
+ "method": "POST",
2167
+ "path": "/timeLineController/getAllTimeLineByUserId"
2168
+ },
2169
+ "scopes": [
2170
+ "read"
2171
+ ],
2172
+ "annotations": {
2173
+ "readOnly": true,
2174
+ "idempotent": true,
2175
+ "destructive": false
2176
+ },
2177
+ "params": [],
2178
+ "output": {
2179
+ "shape": "array"
2180
+ }
2181
+ },
2182
+ {
2183
+ "name": "zentodo.timeline.sync-pull",
2184
+ "domain": "timeline",
2185
+ "action": "sync-pull",
2186
+ "description": "调用 /timeLineController/getSyncTimeLineList。",
2187
+ "http": {
2188
+ "method": "POST",
2189
+ "path": "/timeLineController/getSyncTimeLineList"
2190
+ },
2191
+ "scopes": [
2192
+ "sync",
2193
+ "read"
2194
+ ],
2195
+ "annotations": {
2196
+ "readOnly": true,
2197
+ "idempotent": false,
2198
+ "destructive": false
2199
+ },
2200
+ "params": [
2201
+ {
2202
+ "name": "client_version",
2203
+ "backendName": "clientVersion",
2204
+ "type": "integer",
2205
+ "required": true,
2206
+ "description": "客户端已知版本号。"
2207
+ }
2208
+ ],
2209
+ "output": {
2210
+ "shape": "array"
2211
+ }
2212
+ },
2213
+ {
2214
+ "name": "zentodo.attach.upload-task",
2215
+ "domain": "attach",
2216
+ "action": "upload-task",
2217
+ "description": "调用 /attachmentController/uploadTaskAttachmentFile(multipart,字段 file)。",
2218
+ "http": {
2219
+ "method": "POST",
2220
+ "path": "/attachmentController/uploadTaskAttachmentFile"
2221
+ },
2222
+ "scopes": [
2223
+ "write"
2224
+ ],
2225
+ "annotations": {
2226
+ "readOnly": false,
2227
+ "idempotent": false,
2228
+ "destructive": false
2229
+ },
2230
+ "params": [
2231
+ {
2232
+ "name": "task_key",
2233
+ "backendName": "taskKey",
2234
+ "type": "integer",
2235
+ "required": true,
2236
+ "description": "目标任务 taskKey。"
2237
+ },
2238
+ {
2239
+ "name": "file",
2240
+ "source": "file",
2241
+ "type": "file",
2242
+ "required": true,
2243
+ "description": "附件文件。"
2244
+ }
2245
+ ],
2246
+ "output": {
2247
+ "shape": "object"
2248
+ }
2249
+ },
2250
+ {
2251
+ "name": "zentodo.attach.upload-thinkmap",
2252
+ "domain": "attach",
2253
+ "action": "upload-thinkmap",
2254
+ "description": "调用 /attachmentController/uploadThinkMapAttachmentFile。",
2255
+ "http": {
2256
+ "method": "POST",
2257
+ "path": "/attachmentController/uploadThinkMapAttachmentFile"
2258
+ },
2259
+ "scopes": [
2260
+ "write"
2261
+ ],
2262
+ "annotations": {
2263
+ "readOnly": false,
2264
+ "idempotent": false,
2265
+ "destructive": false
2266
+ },
2267
+ "params": [
2268
+ {
2269
+ "name": "gd_meta_key",
2270
+ "backendName": "gdMetaKey",
2271
+ "type": "integer",
2272
+ "required": true,
2273
+ "description": "目标 GDMeta key。"
2274
+ },
2275
+ {
2276
+ "name": "file",
2277
+ "source": "file",
2278
+ "type": "file",
2279
+ "required": true,
2280
+ "description": "附件文件。"
2281
+ }
2282
+ ],
2283
+ "output": {
2284
+ "shape": "object"
2285
+ }
2286
+ },
2287
+ {
2288
+ "name": "zentodo.attach.upload-rewardstore",
2289
+ "domain": "attach",
2290
+ "action": "upload-rewardstore",
2291
+ "description": "调用 /attachmentController/uploadRewardStoreFile。",
2292
+ "http": {
2293
+ "method": "POST",
2294
+ "path": "/attachmentController/uploadRewardStoreFile"
2295
+ },
2296
+ "scopes": [
2297
+ "write"
2298
+ ],
2299
+ "annotations": {
2300
+ "readOnly": false,
2301
+ "idempotent": false,
2302
+ "destructive": false
2303
+ },
2304
+ "params": [
2305
+ {
2306
+ "name": "reward_id",
2307
+ "backendName": "rewardId",
2308
+ "type": "integer",
2309
+ "required": true,
2310
+ "description": "目标 reward id。"
2311
+ },
2312
+ {
2313
+ "name": "file",
2314
+ "source": "file",
2315
+ "type": "file",
2316
+ "required": true,
2317
+ "description": "文件。"
2318
+ }
2319
+ ],
2320
+ "output": {
2321
+ "shape": "object"
2322
+ }
2323
+ },
2324
+ {
2325
+ "name": "zentodo.attach.list-all",
2326
+ "domain": "attach",
2327
+ "action": "list-all",
2328
+ "description": "调用 /attachmentController/getAllAttachmentByUserId。",
2329
+ "http": {
2330
+ "method": "POST",
2331
+ "path": "/attachmentController/getAllAttachmentByUserId"
2332
+ },
2333
+ "scopes": [
2334
+ "read"
2335
+ ],
2336
+ "annotations": {
2337
+ "readOnly": true,
2338
+ "idempotent": true,
2339
+ "destructive": false
2340
+ },
2341
+ "params": [],
2342
+ "output": {
2343
+ "shape": "array"
2344
+ }
2345
+ },
2346
+ {
2347
+ "name": "zentodo.attach.sync-pull",
2348
+ "domain": "attach",
2349
+ "action": "sync-pull",
2350
+ "description": "调用 /attachmentController/getSyncAttachmentList。",
2351
+ "http": {
2352
+ "method": "POST",
2353
+ "path": "/attachmentController/getSyncAttachmentList"
2354
+ },
2355
+ "scopes": [
2356
+ "sync",
2357
+ "read"
2358
+ ],
2359
+ "annotations": {
2360
+ "readOnly": true,
2361
+ "idempotent": false,
2362
+ "destructive": false
2363
+ },
2364
+ "params": [
2365
+ {
2366
+ "name": "client_version",
2367
+ "backendName": "clientVersion",
2368
+ "type": "integer",
2369
+ "required": true,
2370
+ "description": "客户端已知版本号。"
2371
+ }
2372
+ ],
2373
+ "output": {
2374
+ "shape": "array"
2375
+ }
2376
+ },
2377
+ {
2378
+ "name": "zentodo.attach.sync-push",
2379
+ "domain": "attach",
2380
+ "action": "sync-push",
2381
+ "description": "调用 /attachmentController/putSyncAttchment。",
2382
+ "http": {
2383
+ "method": "POST",
2384
+ "path": "/attachmentController/putSyncAttchment",
2385
+ "pragmas": [
2386
+ "stripAutoKeys"
2387
+ ]
2388
+ },
2389
+ "scopes": [
2390
+ "sync",
2391
+ "write"
2392
+ ],
2393
+ "annotations": {
2394
+ "readOnly": false,
2395
+ "idempotent": false,
2396
+ "destructive": false
2397
+ },
2398
+ "params": [
2399
+ {
2400
+ "name": "attachment_key",
2401
+ "backendName": "attachmentKey",
2402
+ "type": "integer",
2403
+ "description": "已存在的 attachmentKey。"
2404
+ },
2405
+ {
2406
+ "name": "sync_flag",
2407
+ "backendName": "syncFlag",
2408
+ "type": "string",
2409
+ "default": "M",
2410
+ "description": "同步标记。"
2411
+ }
2412
+ ],
2413
+ "output": {
2414
+ "shape": "scalar"
2415
+ }
2416
+ },
2417
+ {
2418
+ "name": "zentodo.pomo.start",
2419
+ "domain": "pomo",
2420
+ "action": "start",
2421
+ "description": "调用 /timerController/startPomodoro。",
2422
+ "http": {
2423
+ "method": "POST",
2424
+ "path": "/timerController/startPomodoro"
2425
+ },
2426
+ "scopes": [
2427
+ "write"
2428
+ ],
2429
+ "annotations": {
2430
+ "readOnly": false,
2431
+ "idempotent": false,
2432
+ "destructive": false
2433
+ },
2434
+ "params": [
2435
+ {
2436
+ "name": "task_key",
2437
+ "backendName": "taskKey",
2438
+ "type": "integer",
2439
+ "required": true,
2440
+ "description": "要专注的任务 taskKey。"
2441
+ },
2442
+ {
2443
+ "name": "duration_sec",
2444
+ "backendName": "duration",
2445
+ "type": "integer",
2446
+ "default": 1500,
2447
+ "description": "专注秒数(默认 25 分钟)。"
2448
+ },
2449
+ {
2450
+ "name": "break_sec",
2451
+ "backendName": "breakDuration",
2452
+ "type": "integer",
2453
+ "default": 300,
2454
+ "description": "短休秒数。"
2455
+ },
2456
+ {
2457
+ "name": "long_break_sec",
2458
+ "backendName": "longBreakDuration",
2459
+ "type": "integer",
2460
+ "default": 900,
2461
+ "description": "长休秒数。"
2462
+ }
2463
+ ],
2464
+ "output": {
2465
+ "shape": "object"
2466
+ }
2467
+ },
2468
+ {
2469
+ "name": "zentodo.pomo.stop",
2470
+ "domain": "pomo",
2471
+ "action": "stop",
2472
+ "description": "调用 /timerController/stopTimer。",
2473
+ "http": {
2474
+ "method": "POST",
2475
+ "path": "/timerController/stopTimer"
2476
+ },
2477
+ "scopes": [
2478
+ "write"
2479
+ ],
2480
+ "annotations": {
2481
+ "readOnly": false,
2482
+ "idempotent": false,
2483
+ "destructive": false
2484
+ },
2485
+ "params": [
2486
+ {
2487
+ "name": "timer_key",
2488
+ "backendName": "timerKey",
2489
+ "type": "string",
2490
+ "required": true,
2491
+ "description": "计时器 key。"
2492
+ }
2493
+ ],
2494
+ "output": {
2495
+ "shape": "object"
2496
+ }
2497
+ },
2498
+ {
2499
+ "name": "zentodo.pomo.history",
2500
+ "domain": "pomo",
2501
+ "action": "history",
2502
+ "description": "调用 /tomatoWorkerController/getAllTomatoByUserId。",
2503
+ "http": {
2504
+ "method": "POST",
2505
+ "path": "/tomatoWorkerController/getAllTomatoByUserId"
2506
+ },
2507
+ "scopes": [
2508
+ "read"
2509
+ ],
2510
+ "annotations": {
2511
+ "readOnly": true,
2512
+ "idempotent": true,
2513
+ "destructive": false
2514
+ },
2515
+ "params": [],
2516
+ "output": {
2517
+ "shape": "array"
2518
+ }
2519
+ },
2520
+ {
2521
+ "name": "zentodo.pomo.sync-pull-worker",
2522
+ "domain": "pomo",
2523
+ "action": "sync-pull-worker",
2524
+ "description": "调用 /tomatoWorkerController/getSyncTomatoWorkerList。",
2525
+ "http": {
2526
+ "method": "POST",
2527
+ "path": "/tomatoWorkerController/getSyncTomatoWorkerList"
2528
+ },
2529
+ "scopes": [
2530
+ "sync",
2531
+ "read"
2532
+ ],
2533
+ "annotations": {
2534
+ "readOnly": true,
2535
+ "idempotent": false,
2536
+ "destructive": false
2537
+ },
2538
+ "params": [
2539
+ {
2540
+ "name": "client_version",
2541
+ "backendName": "clientVersion",
2542
+ "type": "integer",
2543
+ "required": true,
2544
+ "description": "客户端已知版本号。"
2545
+ }
2546
+ ],
2547
+ "output": {
2548
+ "shape": "array"
2549
+ }
2550
+ },
2551
+ {
2552
+ "name": "zentodo.pomo.sync-push-worker",
2553
+ "domain": "pomo",
2554
+ "action": "sync-push-worker",
2555
+ "description": "调用 /tomatoWorkerController/putSyncTomatoWorker。",
2556
+ "http": {
2557
+ "method": "POST",
2558
+ "path": "/tomatoWorkerController/putSyncTomatoWorker",
2559
+ "pragmas": [
2560
+ "stripAutoKeys"
2561
+ ]
2562
+ },
2563
+ "scopes": [
2564
+ "sync",
2565
+ "write"
2566
+ ],
2567
+ "annotations": {
2568
+ "readOnly": false,
2569
+ "idempotent": false,
2570
+ "destructive": false
2571
+ },
2572
+ "params": [
2573
+ {
2574
+ "name": "tomato_key",
2575
+ "backendName": "tomatoKey",
2576
+ "type": "integer",
2577
+ "description": "已存在的 tomatoKey。"
2578
+ },
2579
+ {
2580
+ "name": "task_key",
2581
+ "backendName": "taskKey",
2582
+ "type": "integer",
2583
+ "description": "任务 taskKey。"
2584
+ },
2585
+ {
2586
+ "name": "sync_flag",
2587
+ "backendName": "syncFlag",
2588
+ "type": "string",
2589
+ "default": "M",
2590
+ "description": "同步标记。"
2591
+ }
2592
+ ],
2593
+ "output": {
2594
+ "shape": "scalar"
2595
+ }
2596
+ },
2597
+ {
2598
+ "name": "zentodo.pomo.config-get",
2599
+ "domain": "pomo",
2600
+ "action": "config-get",
2601
+ "description": "调用 /tomatoConfigController/getAllTomatoConfigByUserId。",
2602
+ "http": {
2603
+ "method": "POST",
2604
+ "path": "/tomatoConfigController/getAllTomatoConfigByUserId"
2605
+ },
2606
+ "scopes": [
2607
+ "read"
2608
+ ],
2609
+ "annotations": {
2610
+ "readOnly": true,
2611
+ "idempotent": true,
2612
+ "destructive": false
2613
+ },
2614
+ "params": [],
2615
+ "output": {
2616
+ "shape": "array"
2617
+ }
2618
+ },
2619
+ {
2620
+ "name": "zentodo.pomo.config-set",
2621
+ "domain": "pomo",
2622
+ "action": "config-set",
2623
+ "description": "调用 /tomatoConfigController/putSyncTomatoConfig。",
2624
+ "http": {
2625
+ "method": "POST",
2626
+ "path": "/tomatoConfigController/putSyncTomatoConfig",
2627
+ "pragmas": [
2628
+ "stripAutoKeys"
2629
+ ]
2630
+ },
2631
+ "scopes": [
2632
+ "sync",
2633
+ "write"
2634
+ ],
2635
+ "annotations": {
2636
+ "readOnly": false,
2637
+ "idempotent": false,
2638
+ "destructive": false
2639
+ },
2640
+ "params": [
2641
+ {
2642
+ "name": "config_key",
2643
+ "backendName": "configKey",
2644
+ "type": "integer",
2645
+ "description": "已存在的 configKey。"
2646
+ },
2647
+ {
2648
+ "name": "focus_duration_sec",
2649
+ "backendName": "focusDuration",
2650
+ "type": "integer",
2651
+ "description": "专注秒数。"
2652
+ },
2653
+ {
2654
+ "name": "break_duration_sec",
2655
+ "backendName": "breakDuration",
2656
+ "type": "integer",
2657
+ "description": "短休秒数。"
2658
+ },
2659
+ {
2660
+ "name": "long_break_duration_sec",
2661
+ "backendName": "longBreakDuration",
2662
+ "type": "integer",
2663
+ "description": "长休秒数。"
2664
+ },
2665
+ {
2666
+ "name": "long_break_every",
2667
+ "backendName": "longBreakEvery",
2668
+ "type": "integer",
2669
+ "description": "每多少轮后长休。"
2670
+ },
2671
+ {
2672
+ "name": "sync_flag",
2673
+ "backendName": "syncFlag",
2674
+ "type": "string",
2675
+ "default": "M",
2676
+ "description": "同步标记。"
2677
+ }
2678
+ ],
2679
+ "output": {
2680
+ "shape": "scalar"
2681
+ }
2682
+ },
2683
+ {
2684
+ "name": "zentodo.pomo.sync-pull-config",
2685
+ "domain": "pomo",
2686
+ "action": "sync-pull-config",
2687
+ "description": "调用 /tomatoConfigController/getSyncTomatoConfigList。",
2688
+ "http": {
2689
+ "method": "POST",
2690
+ "path": "/tomatoConfigController/getSyncTomatoConfigList"
2691
+ },
2692
+ "scopes": [
2693
+ "sync",
2694
+ "read"
2695
+ ],
2696
+ "annotations": {
2697
+ "readOnly": true,
2698
+ "idempotent": false,
2699
+ "destructive": false
2700
+ },
2701
+ "params": [
2702
+ {
2703
+ "name": "client_version",
2704
+ "backendName": "clientVersion",
2705
+ "type": "integer",
2706
+ "required": true,
2707
+ "description": "客户端已知版本号。"
2708
+ }
2709
+ ],
2710
+ "output": {
2711
+ "shape": "array"
2712
+ }
2713
+ },
2714
+ {
2715
+ "name": "zentodo.timer.start-task",
2716
+ "domain": "timer",
2717
+ "action": "start-task",
2718
+ "description": "调用 /timerController/startTaskTimer。",
2719
+ "http": {
2720
+ "method": "POST",
2721
+ "path": "/timerController/startTaskTimer"
2722
+ },
2723
+ "scopes": [
2724
+ "write"
2725
+ ],
2726
+ "annotations": {
2727
+ "readOnly": false,
2728
+ "idempotent": false,
2729
+ "destructive": false
2730
+ },
2731
+ "params": [
2732
+ {
2733
+ "name": "task_key",
2734
+ "backendName": "taskKey",
2735
+ "type": "integer",
2736
+ "required": true,
2737
+ "description": "任务 taskKey。"
2738
+ }
2739
+ ],
2740
+ "output": {
2741
+ "shape": "object"
2742
+ }
2743
+ },
2744
+ {
2745
+ "name": "zentodo.workstate.start",
2746
+ "domain": "workstate",
2747
+ "action": "start",
2748
+ "description": "调用 /workStateController/saveWorkState。",
2749
+ "http": {
2750
+ "method": "POST",
2751
+ "path": "/workStateController/saveWorkState"
2752
+ },
2753
+ "scopes": [
2754
+ "write"
2755
+ ],
2756
+ "annotations": {
2757
+ "readOnly": false,
2758
+ "idempotent": false,
2759
+ "destructive": false
2760
+ },
2761
+ "params": [
2762
+ {
2763
+ "name": "task_key",
2764
+ "backendName": "taskKey",
2765
+ "type": "integer",
2766
+ "description": "关联任务 taskKey。"
2767
+ },
2768
+ {
2769
+ "name": "scene_key",
2770
+ "backendName": "sceneKey",
2771
+ "type": "integer",
2772
+ "description": "关联场景 sceneKey。"
2773
+ },
2774
+ {
2775
+ "name": "title",
2776
+ "backendName": "title",
2777
+ "type": "string",
2778
+ "description": "本次会话标题。"
2779
+ }
2780
+ ],
2781
+ "output": {
2782
+ "shape": "object"
2783
+ }
2784
+ },
2785
+ {
2786
+ "name": "zentodo.workstate.stop",
2787
+ "domain": "workstate",
2788
+ "action": "stop",
2789
+ "description": "调用 /workStateController/stopWorkState。",
2790
+ "http": {
2791
+ "method": "POST",
2792
+ "path": "/workStateController/stopWorkState"
2793
+ },
2794
+ "scopes": [
2795
+ "write"
2796
+ ],
2797
+ "annotations": {
2798
+ "readOnly": false,
2799
+ "idempotent": false,
2800
+ "destructive": false
2801
+ },
2802
+ "params": [
2803
+ {
2804
+ "name": "work_state_key",
2805
+ "backendName": "workStateKey",
2806
+ "type": "string",
2807
+ "required": true,
2808
+ "description": "工作状态 key。"
2809
+ }
2810
+ ],
2811
+ "output": {
2812
+ "shape": "object"
2813
+ }
2814
+ },
2815
+ {
2816
+ "name": "zentodo.workstate.current",
2817
+ "domain": "workstate",
2818
+ "action": "current",
2819
+ "description": "调用 /workStateController/getCurrentWorkState。",
2820
+ "http": {
2821
+ "method": "POST",
2822
+ "path": "/workStateController/getCurrentWorkState"
2823
+ },
2824
+ "scopes": [
2825
+ "read"
2826
+ ],
2827
+ "annotations": {
2828
+ "readOnly": true,
2829
+ "idempotent": true,
2830
+ "destructive": false
2831
+ },
2832
+ "params": [],
2833
+ "output": {
2834
+ "shape": "object"
2835
+ }
2836
+ },
2837
+ {
2838
+ "name": "zentodo.workstate.update",
2839
+ "domain": "workstate",
2840
+ "action": "update",
2841
+ "description": "调用 /workStateController/updateWorkState。",
2842
+ "http": {
2843
+ "method": "POST",
2844
+ "path": "/workStateController/updateWorkState"
2845
+ },
2846
+ "scopes": [
2847
+ "write"
2848
+ ],
2849
+ "annotations": {
2850
+ "readOnly": false,
2851
+ "idempotent": false,
2852
+ "destructive": false
2853
+ },
2854
+ "params": [
2855
+ {
2856
+ "name": "work_state_key",
2857
+ "backendName": "workStateKey",
2858
+ "type": "string",
2859
+ "required": true,
2860
+ "description": "工作状态 key。"
2861
+ },
2862
+ {
2863
+ "name": "title",
2864
+ "backendName": "title",
2865
+ "type": "string",
2866
+ "description": "新标题。"
2867
+ },
2868
+ {
2869
+ "name": "note",
2870
+ "backendName": "note",
2871
+ "type": "string",
2872
+ "description": "备注。"
2873
+ }
2874
+ ],
2875
+ "output": {
2876
+ "shape": "object"
2877
+ }
2878
+ },
2879
+ {
2880
+ "name": "zentodo.workstate.list-all",
2881
+ "domain": "workstate",
2882
+ "action": "list-all",
2883
+ "description": "调用 /workStateController/getAllWorkStateByUserId。",
2884
+ "http": {
2885
+ "method": "POST",
2886
+ "path": "/workStateController/getAllWorkStateByUserId"
2887
+ },
2888
+ "scopes": [
2889
+ "read"
2890
+ ],
2891
+ "annotations": {
2892
+ "readOnly": true,
2893
+ "idempotent": true,
2894
+ "destructive": false
2895
+ },
2896
+ "params": [],
2897
+ "output": {
2898
+ "shape": "array"
2899
+ }
2900
+ },
2901
+ {
2902
+ "name": "zentodo.workstate.sync-pull",
2903
+ "domain": "workstate",
2904
+ "action": "sync-pull",
2905
+ "description": "调用 /workStateController/getSyncWorkStateList。",
2906
+ "http": {
2907
+ "method": "POST",
2908
+ "path": "/workStateController/getSyncWorkStateList"
2909
+ },
2910
+ "scopes": [
2911
+ "sync",
2912
+ "read"
2913
+ ],
2914
+ "annotations": {
2915
+ "readOnly": true,
2916
+ "idempotent": false,
2917
+ "destructive": false
2918
+ },
2919
+ "params": [
2920
+ {
2921
+ "name": "client_version",
2922
+ "backendName": "clientVersion",
2923
+ "type": "integer",
2924
+ "required": true,
2925
+ "description": "客户端已知版本号。"
2926
+ }
2927
+ ],
2928
+ "output": {
2929
+ "shape": "array"
2930
+ }
2931
+ },
2932
+ {
2933
+ "name": "zentodo.workstate.sync-push",
2934
+ "domain": "workstate",
2935
+ "action": "sync-push",
2936
+ "description": "调用 /workStateController/putSyncWorkState。",
2937
+ "http": {
2938
+ "method": "POST",
2939
+ "path": "/workStateController/putSyncWorkState",
2940
+ "pragmas": [
2941
+ "stripAutoKeys"
2942
+ ]
2943
+ },
2944
+ "scopes": [
2945
+ "sync",
2946
+ "write"
2947
+ ],
2948
+ "annotations": {
2949
+ "readOnly": false,
2950
+ "idempotent": false,
2951
+ "destructive": false
2952
+ },
2953
+ "params": [
2954
+ {
2955
+ "name": "work_state_key",
2956
+ "backendName": "workStateKey",
2957
+ "type": "string",
2958
+ "description": "已存在的 key。"
2959
+ },
2960
+ {
2961
+ "name": "sync_flag",
2962
+ "backendName": "syncFlag",
2963
+ "type": "string",
2964
+ "default": "M",
2965
+ "description": "同步标记。"
2966
+ }
2967
+ ],
2968
+ "output": {
2969
+ "shape": "scalar"
2970
+ }
2971
+ },
2972
+ {
2973
+ "name": "zentodo.diary.title-list",
2974
+ "domain": "diary",
2975
+ "action": "title-list",
2976
+ "description": "调用 /mdTitleController/getAllMDTitleByUserId。",
2977
+ "http": {
2978
+ "method": "POST",
2979
+ "path": "/mdTitleController/getAllMDTitleByUserId"
2980
+ },
2981
+ "scopes": [
2982
+ "read"
2983
+ ],
2984
+ "annotations": {
2985
+ "readOnly": true,
2986
+ "idempotent": true,
2987
+ "destructive": false
2988
+ },
2989
+ "params": [],
2990
+ "output": {
2991
+ "shape": "array"
2992
+ }
2993
+ },
2994
+ {
2995
+ "name": "zentodo.diary.title-sync-pull",
2996
+ "domain": "diary",
2997
+ "action": "title-sync-pull",
2998
+ "description": "调用 /mdTitleController/getSyncMDTitleList。",
2999
+ "http": {
3000
+ "method": "POST",
3001
+ "path": "/mdTitleController/getSyncMDTitleList"
3002
+ },
3003
+ "scopes": [
3004
+ "sync",
3005
+ "read"
3006
+ ],
3007
+ "annotations": {
3008
+ "readOnly": true,
3009
+ "idempotent": false,
3010
+ "destructive": false
3011
+ },
3012
+ "params": [
3013
+ {
3014
+ "name": "client_version",
3015
+ "backendName": "clientVersion",
3016
+ "type": "integer",
3017
+ "required": true,
3018
+ "description": "客户端已知版本号。"
3019
+ }
3020
+ ],
3021
+ "output": {
3022
+ "shape": "array"
3023
+ }
3024
+ },
3025
+ {
3026
+ "name": "zentodo.diary.title-sync-push",
3027
+ "domain": "diary",
3028
+ "action": "title-sync-push",
3029
+ "description": "调用 /mdTitleController/putSyncMDTitle。",
3030
+ "http": {
3031
+ "method": "POST",
3032
+ "path": "/mdTitleController/putSyncMDTitle",
3033
+ "pragmas": [
3034
+ "stripAutoKeys"
3035
+ ]
3036
+ },
3037
+ "scopes": [
3038
+ "sync",
3039
+ "write"
3040
+ ],
3041
+ "annotations": {
3042
+ "readOnly": false,
3043
+ "idempotent": false,
3044
+ "destructive": false
3045
+ },
3046
+ "params": [
3047
+ {
3048
+ "name": "md_title_key",
3049
+ "backendName": "mdTitleKey",
3050
+ "type": "integer",
3051
+ "description": "已存在的 mdTitleKey。"
3052
+ },
3053
+ {
3054
+ "name": "title",
3055
+ "backendName": "title",
3056
+ "type": "string",
3057
+ "description": "标题。"
3058
+ },
3059
+ {
3060
+ "name": "date",
3061
+ "backendName": "date",
3062
+ "type": "date",
3063
+ "transform": "isoToBackendDate",
3064
+ "description": "日期(ISO)。"
3065
+ },
3066
+ {
3067
+ "name": "sync_flag",
3068
+ "backendName": "syncFlag",
3069
+ "type": "string",
3070
+ "default": "M",
3071
+ "description": "同步标记。"
3072
+ }
3073
+ ],
3074
+ "output": {
3075
+ "shape": "scalar"
3076
+ }
3077
+ },
3078
+ {
3079
+ "name": "zentodo.diary.content-list",
3080
+ "domain": "diary",
3081
+ "action": "content-list",
3082
+ "description": "调用 /mdContentController/getAllMdContentByUserId。",
3083
+ "http": {
3084
+ "method": "POST",
3085
+ "path": "/mdContentController/getAllMdContentByUserId"
3086
+ },
3087
+ "scopes": [
3088
+ "read"
3089
+ ],
3090
+ "annotations": {
3091
+ "readOnly": true,
3092
+ "idempotent": true,
3093
+ "destructive": false
3094
+ },
3095
+ "params": [],
3096
+ "output": {
3097
+ "shape": "array"
3098
+ }
3099
+ },
3100
+ {
3101
+ "name": "zentodo.diary.content-sync-pull",
3102
+ "domain": "diary",
3103
+ "action": "content-sync-pull",
3104
+ "description": "调用 /mdContentController/getSyncMdContentList。",
3105
+ "http": {
3106
+ "method": "POST",
3107
+ "path": "/mdContentController/getSyncMdContentList"
3108
+ },
3109
+ "scopes": [
3110
+ "sync",
3111
+ "read"
3112
+ ],
3113
+ "annotations": {
3114
+ "readOnly": true,
3115
+ "idempotent": false,
3116
+ "destructive": false
3117
+ },
3118
+ "params": [
3119
+ {
3120
+ "name": "client_version",
3121
+ "backendName": "clientVersion",
3122
+ "type": "integer",
3123
+ "required": true,
3124
+ "description": "客户端已知版本号。"
3125
+ }
3126
+ ],
3127
+ "output": {
3128
+ "shape": "array"
3129
+ }
3130
+ },
3131
+ {
3132
+ "name": "zentodo.diary.content-sync-push",
3133
+ "domain": "diary",
3134
+ "action": "content-sync-push",
3135
+ "description": "调用 /mdContentController/putSyncMdContent。",
3136
+ "http": {
3137
+ "method": "POST",
3138
+ "path": "/mdContentController/putSyncMdContent",
3139
+ "pragmas": [
3140
+ "stripAutoKeys"
3141
+ ]
3142
+ },
3143
+ "scopes": [
3144
+ "sync",
3145
+ "write"
3146
+ ],
3147
+ "annotations": {
3148
+ "readOnly": false,
3149
+ "idempotent": false,
3150
+ "destructive": false
3151
+ },
3152
+ "params": [
3153
+ {
3154
+ "name": "md_content_key",
3155
+ "backendName": "mdContentKey",
3156
+ "type": "integer",
3157
+ "description": "已存在的 mdContentKey。"
3158
+ },
3159
+ {
3160
+ "name": "md_title_key",
3161
+ "backendName": "mdTitleKey",
3162
+ "type": "integer",
3163
+ "description": "父标题 mdTitleKey。"
3164
+ },
3165
+ {
3166
+ "name": "content",
3167
+ "backendName": "content",
3168
+ "type": "string",
3169
+ "description": "正文。"
3170
+ },
3171
+ {
3172
+ "name": "sync_flag",
3173
+ "backendName": "syncFlag",
3174
+ "type": "string",
3175
+ "default": "M",
3176
+ "description": "同步标记。"
3177
+ }
3178
+ ],
3179
+ "output": {
3180
+ "shape": "scalar"
3181
+ }
3182
+ },
3183
+ {
3184
+ "name": "zentodo.mindmap.sync-push",
3185
+ "domain": "mindmap",
3186
+ "action": "sync-push",
3187
+ "description": "调用 /gdMetaController/putSyncGDMeta。",
3188
+ "http": {
3189
+ "method": "POST",
3190
+ "path": "/gdMetaController/putSyncGDMeta",
3191
+ "pragmas": [
3192
+ "stripAutoKeys"
3193
+ ]
3194
+ },
3195
+ "scopes": [
3196
+ "sync",
3197
+ "write"
3198
+ ],
3199
+ "annotations": {
3200
+ "readOnly": false,
3201
+ "idempotent": false,
3202
+ "destructive": false
3203
+ },
3204
+ "params": [
3205
+ {
3206
+ "name": "gd_meta_key",
3207
+ "backendName": "gdMetaKey",
3208
+ "type": "integer",
3209
+ "description": "已存在的 gdMetaKey。"
3210
+ },
3211
+ {
3212
+ "name": "parent_key",
3213
+ "backendName": "parentKey",
3214
+ "type": "integer",
3215
+ "description": "父节点 key。"
3216
+ },
3217
+ {
3218
+ "name": "content",
3219
+ "backendName": "content",
3220
+ "type": "string",
3221
+ "description": "节点内容。"
3222
+ },
3223
+ {
3224
+ "name": "sync_flag",
3225
+ "backendName": "syncFlag",
3226
+ "type": "string",
3227
+ "default": "M",
3228
+ "description": "同步标记。"
3229
+ }
3230
+ ],
3231
+ "output": {
3232
+ "shape": "scalar"
3233
+ }
3234
+ },
3235
+ {
3236
+ "name": "zentodo.mindmap.list-all",
3237
+ "domain": "mindmap",
3238
+ "action": "list-all",
3239
+ "description": "调用 /gdMetaController/getAllGDMetaByUserId。",
3240
+ "http": {
3241
+ "method": "POST",
3242
+ "path": "/gdMetaController/getAllGDMetaByUserId"
3243
+ },
3244
+ "scopes": [
3245
+ "read"
3246
+ ],
3247
+ "annotations": {
3248
+ "readOnly": true,
3249
+ "idempotent": true,
3250
+ "destructive": false
3251
+ },
3252
+ "params": [],
3253
+ "output": {
3254
+ "shape": "array"
3255
+ }
3256
+ },
3257
+ {
3258
+ "name": "zentodo.mindmap.sync-pull",
3259
+ "domain": "mindmap",
3260
+ "action": "sync-pull",
3261
+ "description": "调用 /gdMetaController/getSyncGDMetaList。",
3262
+ "http": {
3263
+ "method": "POST",
3264
+ "path": "/gdMetaController/getSyncGDMetaList"
3265
+ },
3266
+ "scopes": [
3267
+ "sync",
3268
+ "read"
3269
+ ],
3270
+ "annotations": {
3271
+ "readOnly": true,
3272
+ "idempotent": false,
3273
+ "destructive": false
3274
+ },
3275
+ "params": [
3276
+ {
3277
+ "name": "client_version",
3278
+ "backendName": "clientVersion",
3279
+ "type": "integer",
3280
+ "required": true,
3281
+ "description": "客户端已知版本号。"
3282
+ }
3283
+ ],
3284
+ "output": {
3285
+ "shape": "array"
3286
+ }
3287
+ },
3288
+ {
3289
+ "name": "zentodo.reward.store-sync-push",
3290
+ "domain": "reward",
3291
+ "action": "store-sync-push",
3292
+ "description": "调用 /rewardStoreController/putSyncRewardStore。",
3293
+ "http": {
3294
+ "method": "POST",
3295
+ "path": "/rewardStoreController/putSyncRewardStore",
3296
+ "pragmas": [
3297
+ "stripAutoKeys"
3298
+ ]
3299
+ },
3300
+ "scopes": [
3301
+ "sync",
3302
+ "write"
3303
+ ],
3304
+ "annotations": {
3305
+ "readOnly": false,
3306
+ "idempotent": false,
3307
+ "destructive": false
3308
+ },
3309
+ "params": [
3310
+ {
3311
+ "name": "reward_key",
3312
+ "backendName": "rewardKey",
3313
+ "type": "integer",
3314
+ "description": "已存在的 rewardKey。"
3315
+ },
3316
+ {
3317
+ "name": "name",
3318
+ "backendName": "rewardName",
3319
+ "type": "string",
3320
+ "description": "奖励名称。"
3321
+ },
3322
+ {
3323
+ "name": "cost",
3324
+ "backendName": "rewardCost",
3325
+ "type": "integer",
3326
+ "description": "兑换所需奖励币。"
3327
+ },
3328
+ {
3329
+ "name": "sync_flag",
3330
+ "backendName": "syncFlag",
3331
+ "type": "string",
3332
+ "default": "M",
3333
+ "description": "同步标记。"
3334
+ }
3335
+ ],
3336
+ "output": {
3337
+ "shape": "scalar"
3338
+ }
3339
+ },
3340
+ {
3341
+ "name": "zentodo.reward.store-list",
3342
+ "domain": "reward",
3343
+ "action": "store-list",
3344
+ "description": "调用 /rewardStoreController/getAllRewardStoreByUserId。",
3345
+ "http": {
3346
+ "method": "POST",
3347
+ "path": "/rewardStoreController/getAllRewardStoreByUserId"
3348
+ },
3349
+ "scopes": [
3350
+ "read"
3351
+ ],
3352
+ "annotations": {
3353
+ "readOnly": true,
3354
+ "idempotent": true,
3355
+ "destructive": false
3356
+ },
3357
+ "params": [],
3358
+ "output": {
3359
+ "shape": "array"
3360
+ }
3361
+ },
3362
+ {
3363
+ "name": "zentodo.reward.store-sync-pull",
3364
+ "domain": "reward",
3365
+ "action": "store-sync-pull",
3366
+ "description": "调用 /rewardStoreController/getSyncRewardStoreList。",
3367
+ "http": {
3368
+ "method": "POST",
3369
+ "path": "/rewardStoreController/getSyncRewardStoreList"
3370
+ },
3371
+ "scopes": [
3372
+ "sync",
3373
+ "read"
3374
+ ],
3375
+ "annotations": {
3376
+ "readOnly": true,
3377
+ "idempotent": false,
3378
+ "destructive": false
3379
+ },
3380
+ "params": [
3381
+ {
3382
+ "name": "client_version",
3383
+ "backendName": "clientVersion",
3384
+ "type": "integer",
3385
+ "required": true,
3386
+ "description": "客户端已知版本号。"
3387
+ }
3388
+ ],
3389
+ "output": {
3390
+ "shape": "array"
3391
+ }
3392
+ },
3393
+ {
3394
+ "name": "zentodo.reward.store-update-file",
3395
+ "domain": "reward",
3396
+ "action": "store-update-file",
3397
+ "description": "调用 /rewardStoreController/updateRewardStoreFile。",
3398
+ "http": {
3399
+ "method": "POST",
3400
+ "path": "/rewardStoreController/updateRewardStoreFile"
3401
+ },
3402
+ "scopes": [
3403
+ "write"
3404
+ ],
3405
+ "annotations": {
3406
+ "readOnly": false,
3407
+ "idempotent": false,
3408
+ "destructive": false
3409
+ },
3410
+ "params": [
3411
+ {
3412
+ "name": "reward_id",
3413
+ "backendName": "rewardId",
3414
+ "type": "integer",
3415
+ "required": true,
3416
+ "description": "奖励 id。"
3417
+ },
3418
+ {
3419
+ "name": "file",
3420
+ "source": "file",
3421
+ "type": "file",
3422
+ "required": true,
3423
+ "description": "文件。"
3424
+ }
3425
+ ],
3426
+ "output": {
3427
+ "shape": "object"
3428
+ }
3429
+ },
3430
+ {
3431
+ "name": "zentodo.reward.record-sync-push",
3432
+ "domain": "reward",
3433
+ "action": "record-sync-push",
3434
+ "description": "调用 /rewardRecordController/putSyncRewardRecord。",
3435
+ "http": {
3436
+ "method": "POST",
3437
+ "path": "/rewardRecordController/putSyncRewardRecord",
3438
+ "pragmas": [
3439
+ "stripAutoKeys"
3440
+ ]
3441
+ },
3442
+ "scopes": [
3443
+ "sync",
3444
+ "write"
3445
+ ],
3446
+ "annotations": {
3447
+ "readOnly": false,
3448
+ "idempotent": false,
3449
+ "destructive": false
3450
+ },
3451
+ "params": [
3452
+ {
3453
+ "name": "record_key",
3454
+ "backendName": "recordKey",
3455
+ "type": "integer",
3456
+ "description": "已存在的记录 key。"
3457
+ },
3458
+ {
3459
+ "name": "reward_key",
3460
+ "backendName": "rewardKey",
3461
+ "type": "integer",
3462
+ "description": "关联的奖励 key。"
3463
+ },
3464
+ {
3465
+ "name": "cost",
3466
+ "backendName": "cost",
3467
+ "type": "integer",
3468
+ "description": "消耗的奖励币。"
3469
+ },
3470
+ {
3471
+ "name": "sync_flag",
3472
+ "backendName": "syncFlag",
3473
+ "type": "string",
3474
+ "default": "M",
3475
+ "description": "同步标记。"
3476
+ }
3477
+ ],
3478
+ "output": {
3479
+ "shape": "scalar"
3480
+ }
3481
+ },
3482
+ {
3483
+ "name": "zentodo.reward.record-list",
3484
+ "domain": "reward",
3485
+ "action": "record-list",
3486
+ "description": "调用 /rewardRecordController/getAllRewardRecordByUserId。",
3487
+ "http": {
3488
+ "method": "POST",
3489
+ "path": "/rewardRecordController/getAllRewardRecordByUserId"
3490
+ },
3491
+ "scopes": [
3492
+ "read"
3493
+ ],
3494
+ "annotations": {
3495
+ "readOnly": true,
3496
+ "idempotent": true,
3497
+ "destructive": false
3498
+ },
3499
+ "params": [],
3500
+ "output": {
3501
+ "shape": "array"
3502
+ }
3503
+ },
3504
+ {
3505
+ "name": "zentodo.reward.record-sync-pull",
3506
+ "domain": "reward",
3507
+ "action": "record-sync-pull",
3508
+ "description": "调用 /rewardRecordController/getSyncRewardRecordList。",
3509
+ "http": {
3510
+ "method": "POST",
3511
+ "path": "/rewardRecordController/getSyncRewardRecordList"
3512
+ },
3513
+ "scopes": [
3514
+ "sync",
3515
+ "read"
3516
+ ],
3517
+ "annotations": {
3518
+ "readOnly": true,
3519
+ "idempotent": false,
3520
+ "destructive": false
3521
+ },
3522
+ "params": [
3523
+ {
3524
+ "name": "client_version",
3525
+ "backendName": "clientVersion",
3526
+ "type": "integer",
3527
+ "required": true,
3528
+ "description": "客户端已知版本号。"
3529
+ }
3530
+ ],
3531
+ "output": {
3532
+ "shape": "array"
3533
+ }
3534
+ },
3535
+ {
3536
+ "name": "zentodo.fasttime.sync-push",
3537
+ "domain": "fasttime",
3538
+ "action": "sync-push",
3539
+ "description": "调用 /fastTimeRecordController/putSyncFastTimeRecord。",
3540
+ "http": {
3541
+ "method": "POST",
3542
+ "path": "/fastTimeRecordController/putSyncFastTimeRecord",
3543
+ "pragmas": [
3544
+ "stripAutoKeys"
3545
+ ]
3546
+ },
3547
+ "scopes": [
3548
+ "sync",
3549
+ "write"
3550
+ ],
3551
+ "annotations": {
3552
+ "readOnly": false,
3553
+ "idempotent": false,
3554
+ "destructive": false
3555
+ },
3556
+ "params": [
3557
+ {
3558
+ "name": "record_key",
3559
+ "backendName": "recordKey",
3560
+ "type": "integer",
3561
+ "description": "已存在的记录 key。"
3562
+ },
3563
+ {
3564
+ "name": "title",
3565
+ "backendName": "title",
3566
+ "type": "string",
3567
+ "description": "标题。"
3568
+ },
3569
+ {
3570
+ "name": "duration_sec",
3571
+ "backendName": "duration",
3572
+ "type": "integer",
3573
+ "description": "时长(秒)。"
3574
+ },
3575
+ {
3576
+ "name": "sync_flag",
3577
+ "backendName": "syncFlag",
3578
+ "type": "string",
3579
+ "default": "M",
3580
+ "description": "同步标记。"
3581
+ }
3582
+ ],
3583
+ "output": {
3584
+ "shape": "scalar"
3585
+ }
3586
+ },
3587
+ {
3588
+ "name": "zentodo.fasttime.list-all",
3589
+ "domain": "fasttime",
3590
+ "action": "list-all",
3591
+ "description": "调用 /fastTimeRecordController/getAllFastTimeByUserId。",
3592
+ "http": {
3593
+ "method": "POST",
3594
+ "path": "/fastTimeRecordController/getAllFastTimeByUserId"
3595
+ },
3596
+ "scopes": [
3597
+ "read"
3598
+ ],
3599
+ "annotations": {
3600
+ "readOnly": true,
3601
+ "idempotent": true,
3602
+ "destructive": false
3603
+ },
3604
+ "params": [],
3605
+ "output": {
3606
+ "shape": "array"
3607
+ }
3608
+ },
3609
+ {
3610
+ "name": "zentodo.fasttime.sync-pull",
3611
+ "domain": "fasttime",
3612
+ "action": "sync-pull",
3613
+ "description": "调用 /fastTimeRecordController/getSyncFastTimeRecordList。",
3614
+ "http": {
3615
+ "method": "POST",
3616
+ "path": "/fastTimeRecordController/getSyncFastTimeRecordList"
3617
+ },
3618
+ "scopes": [
3619
+ "sync",
3620
+ "read"
3621
+ ],
3622
+ "annotations": {
3623
+ "readOnly": true,
3624
+ "idempotent": false,
3625
+ "destructive": false
3626
+ },
3627
+ "params": [
3628
+ {
3629
+ "name": "client_version",
3630
+ "backendName": "clientVersion",
3631
+ "type": "integer",
3632
+ "required": true,
3633
+ "description": "客户端已知版本号。"
3634
+ }
3635
+ ],
3636
+ "output": {
3637
+ "shape": "array"
3638
+ }
3639
+ },
3640
+ {
3641
+ "name": "zentodo.wheel.sync-push",
3642
+ "domain": "wheel",
3643
+ "action": "sync-push",
3644
+ "description": "调用 /wheelViewController/putSyncWheelView。",
3645
+ "http": {
3646
+ "method": "POST",
3647
+ "path": "/wheelViewController/putSyncWheelView",
3648
+ "pragmas": [
3649
+ "stripAutoKeys"
3650
+ ]
3651
+ },
3652
+ "scopes": [
3653
+ "sync",
3654
+ "write"
3655
+ ],
3656
+ "annotations": {
3657
+ "readOnly": false,
3658
+ "idempotent": false,
3659
+ "destructive": false
3660
+ },
3661
+ "params": [
3662
+ {
3663
+ "name": "wheel_key",
3664
+ "backendName": "wheelKey",
3665
+ "type": "integer",
3666
+ "description": "已存在的 key。"
3667
+ },
3668
+ {
3669
+ "name": "title",
3670
+ "backendName": "title",
3671
+ "type": "string",
3672
+ "description": "标题。"
3673
+ },
3674
+ {
3675
+ "name": "sync_flag",
3676
+ "backendName": "syncFlag",
3677
+ "type": "string",
3678
+ "default": "M",
3679
+ "description": "同步标记。"
3680
+ }
3681
+ ],
3682
+ "output": {
3683
+ "shape": "scalar"
3684
+ }
3685
+ },
3686
+ {
3687
+ "name": "zentodo.wheel.list-all",
3688
+ "domain": "wheel",
3689
+ "action": "list-all",
3690
+ "description": "调用 /wheelViewController/getAllWheelByUserId。",
3691
+ "http": {
3692
+ "method": "POST",
3693
+ "path": "/wheelViewController/getAllWheelByUserId"
3694
+ },
3695
+ "scopes": [
3696
+ "read"
3697
+ ],
3698
+ "annotations": {
3699
+ "readOnly": true,
3700
+ "idempotent": true,
3701
+ "destructive": false
3702
+ },
3703
+ "params": [],
3704
+ "output": {
3705
+ "shape": "array"
3706
+ }
3707
+ },
3708
+ {
3709
+ "name": "zentodo.wheel.sync-pull",
3710
+ "domain": "wheel",
3711
+ "action": "sync-pull",
3712
+ "description": "调用 /wheelViewController/getSyncWheelViewList。",
3713
+ "http": {
3714
+ "method": "POST",
3715
+ "path": "/wheelViewController/getSyncWheelViewList"
3716
+ },
3717
+ "scopes": [
3718
+ "sync",
3719
+ "read"
3720
+ ],
3721
+ "annotations": {
3722
+ "readOnly": true,
3723
+ "idempotent": false,
3724
+ "destructive": false
3725
+ },
3726
+ "params": [
3727
+ {
3728
+ "name": "client_version",
3729
+ "backendName": "clientVersion",
3730
+ "type": "integer",
3731
+ "required": true,
3732
+ "description": "客户端已知版本号。"
3733
+ }
3734
+ ],
3735
+ "output": {
3736
+ "shape": "array"
3737
+ }
3738
+ },
3739
+ {
3740
+ "name": "zentodo.invite.list-all",
3741
+ "domain": "invite",
3742
+ "action": "list-all",
3743
+ "description": "调用 /inviteController/getAllInviteByUserId。",
3744
+ "http": {
3745
+ "method": "POST",
3746
+ "path": "/inviteController/getAllInviteByUserId"
3747
+ },
3748
+ "scopes": [
3749
+ "read"
3750
+ ],
3751
+ "annotations": {
3752
+ "readOnly": true,
3753
+ "idempotent": true,
3754
+ "destructive": false
3755
+ },
3756
+ "params": [],
3757
+ "output": {
3758
+ "shape": "array"
3759
+ }
3760
+ },
3761
+ {
3762
+ "name": "zentodo.app.latest-version",
3763
+ "domain": "app",
3764
+ "action": "latest-version",
3765
+ "description": "调用 /appUpdateController/getLastestVersionCode。",
3766
+ "http": {
3767
+ "method": "POST",
3768
+ "path": "/appUpdateController/getLastestVersionCode"
3769
+ },
3770
+ "scopes": [
3771
+ "read"
3772
+ ],
3773
+ "annotations": {
3774
+ "readOnly": true,
3775
+ "idempotent": true,
3776
+ "destructive": false
3777
+ },
3778
+ "params": [],
3779
+ "output": {
3780
+ "shape": "scalar"
3781
+ }
3782
+ },
3783
+ {
3784
+ "name": "zentodo.app.update-info",
3785
+ "domain": "app",
3786
+ "action": "update-info",
3787
+ "description": "调用 /appUpdateController/getLastestAppUpdateItem。",
3788
+ "http": {
3789
+ "method": "POST",
3790
+ "path": "/appUpdateController/getLastestAppUpdateItem"
3791
+ },
3792
+ "scopes": [
3793
+ "read"
3794
+ ],
3795
+ "annotations": {
3796
+ "readOnly": true,
3797
+ "idempotent": true,
3798
+ "destructive": false
3799
+ },
3800
+ "params": [
3801
+ {
3802
+ "name": "version_code",
3803
+ "backendName": "versionCode",
3804
+ "type": "integer",
3805
+ "required": true,
3806
+ "description": "当前 versionCode。"
3807
+ }
3808
+ ],
3809
+ "output": {
3810
+ "shape": "object"
3811
+ }
3812
+ },
3813
+ {
3814
+ "name": "zentodo.app.service-time",
3815
+ "domain": "app",
3816
+ "action": "service-time",
3817
+ "description": "调用 /serviceController/getServiceTime。",
3818
+ "http": {
3819
+ "method": "POST",
3820
+ "path": "/serviceController/getServiceTime"
3821
+ },
3822
+ "scopes": [
3823
+ "read"
3824
+ ],
3825
+ "annotations": {
3826
+ "readOnly": true,
3827
+ "idempotent": true,
3828
+ "destructive": false
3829
+ },
3830
+ "params": [],
3831
+ "output": {
3832
+ "shape": "scalar"
3833
+ }
3834
+ },
3835
+ {
3836
+ "name": "zentodo.pay.price",
3837
+ "domain": "pay",
3838
+ "action": "price",
3839
+ "description": "调用 /xzbbPriceController/getXzbbPrice。",
3840
+ "http": {
3841
+ "method": "POST",
3842
+ "path": "/xzbbPriceController/getXzbbPrice"
3843
+ },
3844
+ "scopes": [
3845
+ "read"
3846
+ ],
3847
+ "annotations": {
3848
+ "readOnly": true,
3849
+ "idempotent": true,
3850
+ "destructive": false
3851
+ },
3852
+ "params": [
3853
+ {
3854
+ "name": "id",
3855
+ "backendName": "id",
3856
+ "type": "integer",
3857
+ "description": "价格 id 过滤。"
3858
+ }
3859
+ ],
3860
+ "output": {
3861
+ "shape": "array"
3862
+ }
3863
+ },
3864
+ {
3865
+ "name": "zentodo.pay.wechat-order",
3866
+ "domain": "pay",
3867
+ "action": "wechat-order",
3868
+ "description": "调用 /payController/getWechatOrderInfo。需要 scope \"pay\"。",
3869
+ "http": {
3870
+ "method": "POST",
3871
+ "path": "/payController/getWechatOrderInfo"
3872
+ },
3873
+ "scopes": [
3874
+ "pay"
3875
+ ],
3876
+ "annotations": {
3877
+ "readOnly": false,
3878
+ "idempotent": false,
3879
+ "destructive": false
3880
+ },
3881
+ "params": [
3882
+ {
3883
+ "name": "product_id",
3884
+ "backendName": "productId",
3885
+ "type": "integer",
3886
+ "required": true,
3887
+ "description": "商品 id。"
3888
+ }
3889
+ ],
3890
+ "output": {
3891
+ "shape": "object"
3892
+ }
3893
+ },
3894
+ {
3895
+ "name": "zentodo.pay.alipay-order",
3896
+ "domain": "pay",
3897
+ "action": "alipay-order",
3898
+ "description": "调用 /payController/getAlipayOrderInfo。需要 scope \"pay\"。",
3899
+ "http": {
3900
+ "method": "POST",
3901
+ "path": "/payController/getAlipayOrderInfo"
3902
+ },
3903
+ "scopes": [
3904
+ "pay"
3905
+ ],
3906
+ "annotations": {
3907
+ "readOnly": false,
3908
+ "idempotent": false,
3909
+ "destructive": false
3910
+ },
3911
+ "params": [
3912
+ {
3913
+ "name": "product_id",
3914
+ "backendName": "productId",
3915
+ "type": "integer",
3916
+ "required": true,
3917
+ "description": "商品 id。"
3918
+ }
3919
+ ],
3920
+ "output": {
3921
+ "shape": "scalar"
3922
+ }
3923
+ },
3924
+ {
3925
+ "name": "zentodo.pay.coupon",
3926
+ "domain": "pay",
3927
+ "action": "coupon",
3928
+ "description": "调用 /couponController/getCouponByCouponId。",
3929
+ "http": {
3930
+ "method": "POST",
3931
+ "path": "/couponController/getCouponByCouponId"
3932
+ },
3933
+ "scopes": [
3934
+ "read"
3935
+ ],
3936
+ "annotations": {
3937
+ "readOnly": true,
3938
+ "idempotent": true,
3939
+ "destructive": false
3940
+ },
3941
+ "params": [
3942
+ {
3943
+ "name": "coupon_id",
3944
+ "backendName": "couponId",
3945
+ "type": "string",
3946
+ "required": true,
3947
+ "description": "优惠券 id。"
3948
+ }
3949
+ ],
3950
+ "output": {
3951
+ "shape": "array"
3952
+ }
3953
+ },
3954
+ {
3955
+ "name": "zentodo.sync.server-version",
3956
+ "domain": "sync",
3957
+ "action": "server-version",
3958
+ "description": "调用 /tableRecorderController/getTableRecordLatestVersion。",
3959
+ "http": {
3960
+ "method": "POST",
3961
+ "path": "/tableRecorderController/getTableRecordLatestVersion"
3962
+ },
3963
+ "scopes": [
3964
+ "sync",
3965
+ "read"
3966
+ ],
3967
+ "annotations": {
3968
+ "readOnly": true,
3969
+ "idempotent": true,
3970
+ "destructive": false
3971
+ },
3972
+ "params": [
3973
+ {
3974
+ "name": "table_name",
3975
+ "backendName": "tableName",
3976
+ "type": "string",
3977
+ "required": true,
3978
+ "description": "表名(如 task、project)。"
3979
+ }
3980
+ ],
3981
+ "output": {
3982
+ "shape": "scalar"
3983
+ }
3984
+ },
3985
+ {
3986
+ "name": "zentodo.sync.recorder-list",
3987
+ "domain": "sync",
3988
+ "action": "recorder-list",
3989
+ "description": "调用 /tableRecorderController/getAllTableRecorderByUserId。",
3990
+ "http": {
3991
+ "method": "POST",
3992
+ "path": "/tableRecorderController/getAllTableRecorderByUserId"
3993
+ },
3994
+ "scopes": [
3995
+ "sync",
3996
+ "read"
3997
+ ],
3998
+ "annotations": {
3999
+ "readOnly": true,
4000
+ "idempotent": true,
4001
+ "destructive": false
4002
+ },
4003
+ "params": [],
4004
+ "output": {
4005
+ "shape": "array"
4006
+ }
4007
+ }
4008
+ ]