@newpeak/barista-cli 0.1.11 → 0.1.13

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.
Files changed (329) hide show
  1. package/dist/commands/liberica/dict-types/get.d.ts.map +1 -1
  2. package/dist/commands/liberica/dict-types/get.js +9 -1
  3. package/dist/commands/liberica/dict-types/get.js.map +1 -1
  4. package/dist/commands/liberica/dict-types/index.d.ts.map +1 -1
  5. package/dist/commands/liberica/dict-types/index.js +2 -0
  6. package/dist/commands/liberica/dict-types/index.js.map +1 -1
  7. package/dist/commands/liberica/dict-types/list.d.ts.map +1 -1
  8. package/dist/commands/liberica/dict-types/list.js +19 -1
  9. package/dist/commands/liberica/dict-types/list.js.map +1 -1
  10. package/dist/commands/liberica/dict-types/tenant-items.d.ts +3 -0
  11. package/dist/commands/liberica/dict-types/tenant-items.d.ts.map +1 -0
  12. package/dist/commands/liberica/dict-types/tenant-items.js +275 -0
  13. package/dist/commands/liberica/dict-types/tenant-items.js.map +1 -0
  14. package/dist/commands/liberica/dicts/get.d.ts.map +1 -1
  15. package/dist/commands/liberica/dicts/get.js +9 -1
  16. package/dist/commands/liberica/dicts/get.js.map +1 -1
  17. package/dist/commands/liberica/dicts/list.d.ts.map +1 -1
  18. package/dist/commands/liberica/dicts/list.js +9 -1
  19. package/dist/commands/liberica/dicts/list.js.map +1 -1
  20. package/dist/core/api/client.d.ts +7 -7
  21. package/dist/core/api/client.d.ts.map +1 -1
  22. package/dist/core/api/client.js +15 -12
  23. package/dist/core/api/client.js.map +1 -1
  24. package/dist/core/config/manager.d.ts.map +1 -1
  25. package/dist/core/config/manager.js +1 -0
  26. package/dist/core/config/manager.js.map +1 -1
  27. package/dist/index.js +1 -1
  28. package/dist/types/dict.d.ts +2 -0
  29. package/dist/types/dict.d.ts.map +1 -1
  30. package/dist/types/index.d.ts +2 -0
  31. package/dist/types/index.d.ts.map +1 -1
  32. package/dist/types/index.js.map +1 -1
  33. package/package.json +7 -3
  34. package/docs/ARCHITECTURE.md +0 -184
  35. package/docs/COMMANDS.md +0 -352
  36. package/docs/COMMAND_DESIGN_SPEC.md +0 -840
  37. package/docs/INTEGRATION_NOTES.md +0 -270
  38. package/docs/commands/REFERENCE.md +0 -323
  39. package/docs/commands/arabica/auth/index.md +0 -296
  40. package/docs/commands/liberica/auth/index.md +0 -133
  41. package/docs/commands/liberica/calendar/DESIGN.md +0 -333
  42. package/docs/commands/liberica/client-contacts/create.md +0 -152
  43. package/docs/commands/liberica/client-contacts/delete.md +0 -123
  44. package/docs/commands/liberica/client-contacts/get.md +0 -133
  45. package/docs/commands/liberica/client-contacts/list.md +0 -143
  46. package/docs/commands/liberica/client-contacts/update.md +0 -158
  47. package/docs/commands/liberica/context/index.md +0 -60
  48. package/docs/commands/liberica/currency/create.md +0 -145
  49. package/docs/commands/liberica/currency/delete.md +0 -121
  50. package/docs/commands/liberica/currency/disable.md +0 -119
  51. package/docs/commands/liberica/currency/enable.md +0 -115
  52. package/docs/commands/liberica/currency/get.md +0 -118
  53. package/docs/commands/liberica/currency/list.md +0 -149
  54. package/docs/commands/liberica/currency/update.md +0 -141
  55. package/docs/commands/liberica/employees/create.md +0 -185
  56. package/docs/commands/liberica/employees/disable.md +0 -138
  57. package/docs/commands/liberica/employees/enable.md +0 -137
  58. package/docs/commands/liberica/employees/get.md +0 -153
  59. package/docs/commands/liberica/employees/list.md +0 -168
  60. package/docs/commands/liberica/employees/update.md +0 -180
  61. package/docs/commands/liberica/locations/create.md +0 -195
  62. package/docs/commands/liberica/locations/list.md +0 -171
  63. package/docs/commands/liberica/materials/create.md +0 -293
  64. package/docs/commands/liberica/materials/delete.md +0 -240
  65. package/docs/commands/liberica/materials/disable.md +0 -150
  66. package/docs/commands/liberica/materials/enable.md +0 -146
  67. package/docs/commands/liberica/materials/get.md +0 -188
  68. package/docs/commands/liberica/materials/list.md +0 -198
  69. package/docs/commands/liberica/materials/update.md +0 -250
  70. package/docs/commands/liberica/orgs/list.md +0 -62
  71. package/docs/commands/liberica/positions/list.md +0 -61
  72. package/docs/commands/liberica/roles/list.md +0 -67
  73. package/docs/commands/liberica/stock/ledger.md +0 -209
  74. package/docs/commands/liberica/stock/list.md +0 -165
  75. package/docs/commands/liberica/supplier-contacts/create.md +0 -152
  76. package/docs/commands/liberica/supplier-contacts/delete.md +0 -123
  77. package/docs/commands/liberica/supplier-contacts/get.md +0 -133
  78. package/docs/commands/liberica/supplier-contacts/list.md +0 -143
  79. package/docs/commands/liberica/supplier-contacts/update.md +0 -158
  80. package/docs/commands/liberica/teams/issues/close.md +0 -161
  81. package/docs/commands/liberica/teams/issues/create.md +0 -212
  82. package/docs/commands/liberica/teams/issues/delete.md +0 -179
  83. package/docs/commands/liberica/teams/issues/get.md +0 -167
  84. package/docs/commands/liberica/teams/issues/list.md +0 -182
  85. package/docs/commands/liberica/teams/issues/tests-design.md +0 -341
  86. package/docs/commands/liberica/teams/issues/update.md +0 -202
  87. package/docs/commands/liberica/teams/projects/create.md +0 -174
  88. package/docs/commands/liberica/teams/projects/delete.md +0 -180
  89. package/docs/commands/liberica/teams/projects/get.md +0 -150
  90. package/docs/commands/liberica/teams/projects/list.md +0 -179
  91. package/docs/commands/liberica/teams/projects/update.md +0 -175
  92. package/docs/commands/liberica/teams/tasks/create.md +0 -163
  93. package/docs/commands/liberica/teams/tasks/delete.md +0 -109
  94. package/docs/commands/liberica/teams/tasks/get.md +0 -121
  95. package/docs/commands/liberica/teams/tasks/list.md +0 -148
  96. package/docs/commands/liberica/teams/tasks/update.md +0 -158
  97. package/docs/commands/liberica/teams/work-logs/create.md +0 -151
  98. package/docs/commands/liberica/teams/work-logs/delete.md +0 -130
  99. package/docs/commands/liberica/teams/work-logs/get.md +0 -131
  100. package/docs/commands/liberica/teams/work-logs/list.md +0 -153
  101. package/docs/commands/liberica/teams/work-logs/update.md +0 -150
  102. package/docs/commands/liberica/transfer-in-forms/batch-delete.md +0 -157
  103. package/docs/commands/liberica/transfer-in-forms/batch-review.md +0 -157
  104. package/docs/commands/liberica/transfer-in-forms/batch-unreview.md +0 -157
  105. package/docs/commands/liberica/transfer-in-forms/create.md +0 -220
  106. package/docs/commands/liberica/transfer-in-forms/get.md +0 -221
  107. package/docs/commands/liberica/transfer-in-forms/list.md +0 -242
  108. package/docs/commands/liberica/transfer-in-forms/update.md +0 -185
  109. package/docs/commands/liberica/transfer-out-forms/batch-delete.md +0 -187
  110. package/docs/commands/liberica/transfer-out-forms/batch-review.md +0 -157
  111. package/docs/commands/liberica/transfer-out-forms/batch-unreview.md +0 -157
  112. package/docs/commands/liberica/transfer-out-forms/create.md +0 -280
  113. package/docs/commands/liberica/transfer-out-forms/get.md +0 -211
  114. package/docs/commands/liberica/transfer-out-forms/list.md +0 -233
  115. package/docs/commands/liberica/transfer-out-forms/update.md +0 -286
  116. package/docs/commands/liberica/uoms/create.md +0 -136
  117. package/docs/commands/liberica/uoms/delete.md +0 -119
  118. package/docs/commands/liberica/uoms/disable.md +0 -117
  119. package/docs/commands/liberica/uoms/enable.md +0 -115
  120. package/docs/commands/liberica/uoms/get.md +0 -119
  121. package/docs/commands/liberica/uoms/list.md +0 -155
  122. package/docs/commands/liberica/uoms/update.md +0 -148
  123. package/docs/commands/liberica/users/create.md +0 -170
  124. package/docs/commands/liberica/users/get.md +0 -151
  125. package/docs/commands/liberica/users/list.md +0 -175
  126. package/docs/commands/liberica/warehouses/create.md +0 -222
  127. package/docs/commands/liberica/warehouses/list.md +0 -184
  128. package/src/commands/arabica/auth/index.ts +0 -277
  129. package/src/commands/arabica/auth/login.ts +0 -5
  130. package/src/commands/arabica/auth/logout.ts +0 -5
  131. package/src/commands/arabica/auth/register.ts +0 -5
  132. package/src/commands/arabica/auth/status.ts +0 -5
  133. package/src/commands/arabica/index.ts +0 -23
  134. package/src/commands/auth.ts +0 -107
  135. package/src/commands/context.ts +0 -60
  136. package/src/commands/liberica/auth/index.ts +0 -176
  137. package/src/commands/liberica/calendar/index.ts +0 -13
  138. package/src/commands/liberica/calendar/list.ts +0 -214
  139. package/src/commands/liberica/calendar/set.ts +0 -130
  140. package/src/commands/liberica/client-contacts/create.ts +0 -115
  141. package/src/commands/liberica/client-contacts/delete.ts +0 -140
  142. package/src/commands/liberica/client-contacts/get.ts +0 -103
  143. package/src/commands/liberica/client-contacts/index.ts +0 -19
  144. package/src/commands/liberica/client-contacts/list.ts +0 -118
  145. package/src/commands/liberica/client-contacts/update.ts +0 -137
  146. package/src/commands/liberica/clients/create.ts +0 -122
  147. package/src/commands/liberica/clients/delete.ts +0 -125
  148. package/src/commands/liberica/clients/get.ts +0 -88
  149. package/src/commands/liberica/clients/index.ts +0 -19
  150. package/src/commands/liberica/clients/list.ts +0 -123
  151. package/src/commands/liberica/clients/update.ts +0 -103
  152. package/src/commands/liberica/context/index.ts +0 -43
  153. package/src/commands/liberica/currency/create.ts +0 -183
  154. package/src/commands/liberica/currency/delete.ts +0 -124
  155. package/src/commands/liberica/currency/disable.ts +0 -147
  156. package/src/commands/liberica/currency/enable.ts +0 -128
  157. package/src/commands/liberica/currency/get.ts +0 -91
  158. package/src/commands/liberica/currency/index.ts +0 -23
  159. package/src/commands/liberica/currency/list.ts +0 -140
  160. package/src/commands/liberica/currency/update.ts +0 -129
  161. package/src/commands/liberica/dict-types/get.ts +0 -74
  162. package/src/commands/liberica/dict-types/index.ts +0 -15
  163. package/src/commands/liberica/dict-types/list.ts +0 -118
  164. package/src/commands/liberica/dict-types/update.ts +0 -134
  165. package/src/commands/liberica/dicts/create.ts +0 -175
  166. package/src/commands/liberica/dicts/delete.ts +0 -107
  167. package/src/commands/liberica/dicts/get.ts +0 -80
  168. package/src/commands/liberica/dicts/index.ts +0 -19
  169. package/src/commands/liberica/dicts/list.ts +0 -114
  170. package/src/commands/liberica/dicts/update.ts +0 -116
  171. package/src/commands/liberica/employees/create.ts +0 -275
  172. package/src/commands/liberica/employees/delete.ts +0 -122
  173. package/src/commands/liberica/employees/disable.ts +0 -97
  174. package/src/commands/liberica/employees/enable.ts +0 -97
  175. package/src/commands/liberica/employees/get.ts +0 -115
  176. package/src/commands/liberica/employees/index.ts +0 -23
  177. package/src/commands/liberica/employees/list.ts +0 -131
  178. package/src/commands/liberica/employees/update.ts +0 -157
  179. package/src/commands/liberica/index.ts +0 -81
  180. package/src/commands/liberica/materials/create.ts +0 -199
  181. package/src/commands/liberica/materials/delete.ts +0 -105
  182. package/src/commands/liberica/materials/disable.ts +0 -148
  183. package/src/commands/liberica/materials/enable.ts +0 -129
  184. package/src/commands/liberica/materials/get.ts +0 -83
  185. package/src/commands/liberica/materials/index.ts +0 -23
  186. package/src/commands/liberica/materials/list.ts +0 -142
  187. package/src/commands/liberica/materials/update.ts +0 -125
  188. package/src/commands/liberica/mould/get.ts +0 -111
  189. package/src/commands/liberica/mould/index.ts +0 -17
  190. package/src/commands/liberica/mould/list.ts +0 -157
  191. package/src/commands/liberica/mould/set-status.ts +0 -99
  192. package/src/commands/liberica/mould/stock-in.ts +0 -165
  193. package/src/commands/liberica/operations/active.ts +0 -153
  194. package/src/commands/liberica/operations/batch-delete.ts +0 -131
  195. package/src/commands/liberica/operations/copy.ts +0 -138
  196. package/src/commands/liberica/operations/create.ts +0 -223
  197. package/src/commands/liberica/operations/deactive.ts +0 -152
  198. package/src/commands/liberica/operations/delete.ts +0 -128
  199. package/src/commands/liberica/operations/design.md +0 -587
  200. package/src/commands/liberica/operations/get.ts +0 -112
  201. package/src/commands/liberica/operations/index.ts +0 -27
  202. package/src/commands/liberica/operations/list.ts +0 -180
  203. package/src/commands/liberica/operations/update.ts +0 -218
  204. package/src/commands/liberica/orgs/index.ts +0 -34
  205. package/src/commands/liberica/positions/index.ts +0 -30
  206. package/src/commands/liberica/roles/index.ts +0 -59
  207. package/src/commands/liberica/stock/index.ts +0 -13
  208. package/src/commands/liberica/stock/ledger.ts +0 -159
  209. package/src/commands/liberica/stock/list.ts +0 -128
  210. package/src/commands/liberica/supplier-contacts/create.ts +0 -120
  211. package/src/commands/liberica/supplier-contacts/delete.ts +0 -88
  212. package/src/commands/liberica/supplier-contacts/get.ts +0 -94
  213. package/src/commands/liberica/supplier-contacts/index.ts +0 -19
  214. package/src/commands/liberica/supplier-contacts/list.ts +0 -130
  215. package/src/commands/liberica/supplier-contacts/update.ts +0 -127
  216. package/src/commands/liberica/suppliers/create.ts +0 -149
  217. package/src/commands/liberica/suppliers/delete.ts +0 -102
  218. package/src/commands/liberica/suppliers/disable.ts +0 -145
  219. package/src/commands/liberica/suppliers/enable.ts +0 -126
  220. package/src/commands/liberica/suppliers/get.ts +0 -86
  221. package/src/commands/liberica/suppliers/index.ts +0 -23
  222. package/src/commands/liberica/suppliers/list.ts +0 -134
  223. package/src/commands/liberica/suppliers/update.ts +0 -128
  224. package/src/commands/liberica/teams/index.ts +0 -17
  225. package/src/commands/liberica/teams/issues/close.ts +0 -104
  226. package/src/commands/liberica/teams/issues/create.ts +0 -254
  227. package/src/commands/liberica/teams/issues/delete.ts +0 -58
  228. package/src/commands/liberica/teams/issues/get.ts +0 -78
  229. package/src/commands/liberica/teams/issues/index.ts +0 -21
  230. package/src/commands/liberica/teams/issues/list.ts +0 -144
  231. package/src/commands/liberica/teams/issues/update.ts +0 -141
  232. package/src/commands/liberica/teams/projects/create.ts +0 -159
  233. package/src/commands/liberica/teams/projects/delete.ts +0 -58
  234. package/src/commands/liberica/teams/projects/get.ts +0 -87
  235. package/src/commands/liberica/teams/projects/index.ts +0 -19
  236. package/src/commands/liberica/teams/projects/list.ts +0 -147
  237. package/src/commands/liberica/teams/projects/update.ts +0 -117
  238. package/src/commands/liberica/teams/tasks/create.ts +0 -102
  239. package/src/commands/liberica/teams/tasks/delete.ts +0 -92
  240. package/src/commands/liberica/teams/tasks/get.ts +0 -64
  241. package/src/commands/liberica/teams/tasks/index.ts +0 -19
  242. package/src/commands/liberica/teams/tasks/list.ts +0 -102
  243. package/src/commands/liberica/teams/tasks/update.ts +0 -122
  244. package/src/commands/liberica/teams/work-logs/create.ts +0 -204
  245. package/src/commands/liberica/teams/work-logs/delete.ts +0 -58
  246. package/src/commands/liberica/teams/work-logs/get.ts +0 -87
  247. package/src/commands/liberica/teams/work-logs/index.ts +0 -19
  248. package/src/commands/liberica/teams/work-logs/list.ts +0 -141
  249. package/src/commands/liberica/teams/work-logs/update.ts +0 -120
  250. package/src/commands/liberica/transfer-in-forms/batch-delete.ts +0 -152
  251. package/src/commands/liberica/transfer-in-forms/batch-review.ts +0 -151
  252. package/src/commands/liberica/transfer-in-forms/batch-unreview.ts +0 -152
  253. package/src/commands/liberica/transfer-in-forms/create.ts +0 -179
  254. package/src/commands/liberica/transfer-in-forms/get.ts +0 -107
  255. package/src/commands/liberica/transfer-in-forms/index.ts +0 -23
  256. package/src/commands/liberica/transfer-in-forms/list.ts +0 -97
  257. package/src/commands/liberica/transfer-in-forms/update.ts +0 -213
  258. package/src/commands/liberica/transfer-out-forms/batch-delete.ts +0 -83
  259. package/src/commands/liberica/transfer-out-forms/batch-review.ts +0 -148
  260. package/src/commands/liberica/transfer-out-forms/batch-unreview.ts +0 -56
  261. package/src/commands/liberica/transfer-out-forms/create.ts +0 -194
  262. package/src/commands/liberica/transfer-out-forms/get.ts +0 -114
  263. package/src/commands/liberica/transfer-out-forms/index.ts +0 -23
  264. package/src/commands/liberica/transfer-out-forms/list.ts +0 -125
  265. package/src/commands/liberica/transfer-out-forms/update.ts +0 -197
  266. package/src/commands/liberica/uoms/create.ts +0 -134
  267. package/src/commands/liberica/uoms/delete.ts +0 -105
  268. package/src/commands/liberica/uoms/disable.ts +0 -148
  269. package/src/commands/liberica/uoms/enable.ts +0 -129
  270. package/src/commands/liberica/uoms/get.ts +0 -83
  271. package/src/commands/liberica/uoms/index.ts +0 -23
  272. package/src/commands/liberica/uoms/list.ts +0 -129
  273. package/src/commands/liberica/uoms/update.ts +0 -124
  274. package/src/commands/liberica/users/create.ts +0 -133
  275. package/src/commands/liberica/users/delete.ts +0 -49
  276. package/src/commands/liberica/users/disable.ts +0 -41
  277. package/src/commands/liberica/users/enable.ts +0 -30
  278. package/src/commands/liberica/users/get.ts +0 -46
  279. package/src/commands/liberica/users/index.ts +0 -27
  280. package/src/commands/liberica/users/list.ts +0 -68
  281. package/src/commands/liberica/users/me.ts +0 -42
  282. package/src/commands/liberica/users/reset-password.ts +0 -42
  283. package/src/commands/liberica/users/update.ts +0 -48
  284. package/src/commands/liberica/warehouses/create.ts +0 -204
  285. package/src/commands/liberica/warehouses/delete.ts +0 -112
  286. package/src/commands/liberica/warehouses/disable.ts +0 -174
  287. package/src/commands/liberica/warehouses/enable.ts +0 -174
  288. package/src/commands/liberica/warehouses/get.ts +0 -101
  289. package/src/commands/liberica/warehouses/index.ts +0 -25
  290. package/src/commands/liberica/warehouses/list.ts +0 -136
  291. package/src/commands/liberica/warehouses/locations/create.ts +0 -209
  292. package/src/commands/liberica/warehouses/locations/delete.ts +0 -116
  293. package/src/commands/liberica/warehouses/locations/disable.ts +0 -174
  294. package/src/commands/liberica/warehouses/locations/enable.ts +0 -174
  295. package/src/commands/liberica/warehouses/locations/get.ts +0 -84
  296. package/src/commands/liberica/warehouses/locations/index.ts +0 -23
  297. package/src/commands/liberica/warehouses/locations/list.ts +0 -140
  298. package/src/commands/liberica/warehouses/locations/update.ts +0 -135
  299. package/src/commands/liberica/warehouses/update.ts +0 -142
  300. package/src/core/api/client.ts +0 -4443
  301. package/src/core/auth/token-manager.ts +0 -183
  302. package/src/core/config/manager.ts +0 -164
  303. package/src/index.ts +0 -35
  304. package/src/types/calendar.ts +0 -36
  305. package/src/types/client-contact.ts +0 -78
  306. package/src/types/client.ts +0 -115
  307. package/src/types/currency.ts +0 -90
  308. package/src/types/dict.ts +0 -121
  309. package/src/types/employee.ts +0 -102
  310. package/src/types/index.ts +0 -93
  311. package/src/types/location.ts +0 -66
  312. package/src/types/material.ts +0 -61
  313. package/src/types/mould-stock-in.ts +0 -82
  314. package/src/types/mould.ts +0 -74
  315. package/src/types/operation.ts +0 -72
  316. package/src/types/org.ts +0 -25
  317. package/src/types/position.ts +0 -24
  318. package/src/types/stock.ts +0 -161
  319. package/src/types/supplier-contact.ts +0 -78
  320. package/src/types/supplier.ts +0 -66
  321. package/src/types/team-issue.ts +0 -94
  322. package/src/types/team-project.ts +0 -74
  323. package/src/types/team-task.ts +0 -98
  324. package/src/types/team-work-log.ts +0 -87
  325. package/src/types/transfer-in-form.ts +0 -265
  326. package/src/types/transfer-out-form.ts +0 -290
  327. package/src/types/uom.ts +0 -60
  328. package/src/types/user.ts +0 -64
  329. package/src/types/warehouse.ts +0 -82
@@ -1,333 +0,0 @@
1
- # barista liberica calendar
2
-
3
- 工作日历管理命令组。支持查询租户工作日历列表和设置指定日期的日历类型。
4
-
5
- ---
6
-
7
- ## 2.1 命令元数据
8
-
9
- ### calendar list
10
-
11
- | 字段 | 值 |
12
- |------|-----|
13
- | 完整命令 | `barista liberica calendar list` |
14
- | 功能描述 | 查询租户工作日历列表 |
15
- | HTTP方法 | GET |
16
- | 是否需要认证 | ✅ 是 |
17
- | 是否支持dry-run | ⬜ 否 |
18
-
19
- ### calendar set
20
-
21
- | 字段 | 值 |
22
- |------|-----|
23
- | 完整命令 | `barista liberica calendar set` |
24
- | 功能描述 | 设置指定日期的日历类型 |
25
- | HTTP方法 | POST |
26
- | 是否需要认证 | ✅ 是 |
27
- | 是否支持dry-run | ✅ 是 |
28
-
29
- ---
30
-
31
- ## 2.2 后端接口引用
32
-
33
- ### Controller位置
34
-
35
- ```
36
- coffee-liberica-end/
37
- └── facade/liberica-facade-enterprise/
38
- └── src/main/java/com/newpeak/liberica/facade/enterprise/controller/
39
- └── EnterpriseCalendarController.java
40
- └── page(@GetResource(path = "/page"))
41
- └── public ResponseData<Map<String, List<WorkDayCalendar>>> page(
42
- @RequestHeader("X-TENANT-ID") Long tenantId,
43
- @ParameterObject WorkCalendarRequest request
44
- )
45
- └── edit(@PostResource(path = "/edit", requiredPermission = true, requirePermissionCode = "EDIT_CALENDAR"))
46
- └── public ResponseData<?> edit(
47
- @RequestHeader("X-TENANT-ID") Long tenantId,
48
- @RequestBody TenantCalendarRequest request
49
- )
50
- ```
51
-
52
- ### Request DTO位置
53
-
54
- **WorkCalendarRequest(列表查询)**
55
- ```
56
- coffee-liberica-end/
57
- └── support/support-t-calendar/data-calendar-business/
58
- └── src/main/java/com/newpeak/liberica/business/support/calendar/pojo/request/
59
- └── WorkCalendarRequest.java
60
- ├── year: Integer
61
- ├── month: Integer
62
- ├── months: Integer
63
- └── entityCode: String
64
- ```
65
-
66
- **TenantCalendarRequest(编辑日历类型)**
67
- ```
68
- coffee-liberica-end/
69
- └── support/support-t-calendar/data-calendar-business/
70
- └── src/main/java/com/newpeak/liberica/business/support/calendar/pojo/request/
71
- └── TenantCalendarRequest.java
72
- ├── tenantId: Long
73
- ├── countryCode: String
74
- ├── calendarDate: String (@NotBlank)
75
- ├── dateType: DateType (@NotBlank)
76
- ├── remark: String
77
- └── versionFlag: Long
78
- ```
79
-
80
- ### Response DTO位置
81
-
82
- **WorkDayCalendar(列表响应元素)**
83
- ```
84
- coffee-liberica-end/
85
- └── support/support-t-calendar/data-calendar-api/
86
- └── src/main/java/com/newpeak/liberica/support/calendar/api/
87
- └── WorkDayCalendar.java (interface)
88
- ├── getCalendarDate(): String
89
- ├── getRemark(): String
90
- ├── getDateType(): DateType
91
- ├── isWorkDay(): boolean
92
- ├── isNonWorkDay(): boolean
93
- └── isWeekend(): boolean
94
- ```
95
-
96
- **DateType枚举**
97
- ```
98
- coffee-liberica-end/
99
- └── support/support-t-calendar/data-calendar-api/
100
- └── src/main/java/com/newpeak/liberica/support/calendar/api/
101
- └── DateType.java
102
- ├── WORKDAY
103
- ├── WEEKEND
104
- └── HOLIDAY
105
- ```
106
-
107
- ---
108
-
109
- ## 2.3 CLI参数设计
110
-
111
- ### 命令结构
112
-
113
- ```bash
114
- barista liberica calendar <subcommand> [options]
115
-
116
- # Subcommands
117
- barista liberica calendar list [options]
118
- barista liberica calendar set [options]
119
- ```
120
-
121
- ### 全局选项
122
-
123
- | 选项 | 类型 | 说明 |
124
- |------|------|------|
125
- | `--env` | string | 目标环境(dev\|test\|prod-cn\|prod-jp) |
126
- | `--tenant` | string | 租户代码(仅Liberica) |
127
- | `--dry-run` | boolean | 预览模式 |
128
- | `--json` | boolean | JSON输出 |
129
-
130
- ### calendar list 命令选项
131
-
132
- | 选项 | 短选项 | 类型 | 必填 | 默认值 | 说明 | 对应DTO字段 |
133
- |------|--------|------|------|--------|------|-------------|
134
- | --year | -y | number | ✅ | - | 年份 | year |
135
- | --month | -m | number | ✅ | - | 月份 (1-12) | month |
136
- | --months | — | number | ⬜ | 12 | 查询月数 | months |
137
- | --grid | -g | boolean | ⬜ | false | 日历网格视图 | - |
138
- | --json | — | boolean | ⬜ | false | JSON输出 | - |
139
-
140
- ### calendar set 命令选项
141
-
142
- | 选项 | 短选项 | 类型 | 必填 | 默认值 | 说明 | 对应DTO字段 |
143
- |------|--------|------|------|--------|------|-------------|
144
- | --date | -d | string | ✅ | - | 日期 (yyyy-MM-dd) | calendarDate |
145
- | --type | -t | string | ✅ | - | 日期类型 (WORKDAY\|WEEKEND\|HOLIDAY) | dateType |
146
- | --remark | -r | string | ⬜ | - | 备注说明 | remark |
147
- | --dry-run | — | boolean | ⬜ | false | 预览模式 | - |
148
- | --json | — | boolean | ⬜ | false | JSON输出 | - |
149
-
150
- ---
151
-
152
- ## 2.4 字段映射表
153
-
154
- ### calendar list
155
-
156
- | CLI参数 | DTO字段 | 类型转换 | 验证规则 |
157
- |---------|---------|----------|----------|
158
- | --year / -y | year | number→Integer | 4位数字,>= 2000 |
159
- | --month / -m | month | number→Integer | 1-12 |
160
- | --months | months | number→Integer | >= 1,默认12 |
161
-
162
- ### calendar set
163
-
164
- | CLI参数 | DTO字段 | 类型转换 | 验证规则 |
165
- |---------|---------|----------|----------|
166
- | --date / -d | calendarDate | 直接传递 | yyyy-MM-dd,@NotBlank |
167
- | --type / -t | dateType | 直接传递 | 枚举值 WORKDAY/WEEKEND/HOLIDAY,@NotBlank |
168
- | --remark / -r | remark | 直接传递 | 可选,max=255 |
169
-
170
- **自动填充字段(不通过CLI参数):**
171
-
172
- | 字段 | 值 |
173
- |------|-----|
174
- | tenantId | 由后端从JWT Token中解析,CLI不传递 X-TENANT-ID header |
175
- | countryCode | 后端根据tenantId查询Tenant表自动填充 |
176
- | versionFlag | 编辑时由后端查询现有记录自动填充(upsert逻辑) |
177
-
178
- ---
179
-
180
- ## 2.5 错误码引用
181
-
182
- ### ExceptionEnum位置
183
-
184
- ```
185
- coffee-liberica-end/
186
- └── support/support-t-calendar/data-calendar-business/
187
- └── src/main/java/com/newpeak/liberica/business/support/calendar/enums/
188
- ├── CalendarExceptionEnum.java
189
- │ └── CALENDAR_NOT_EXISTED("01001100001", "查询结果不存在")
190
- └── TenantCalendarExceptionEnum.java
191
- └── TENANT_CALENDAR_NOT_EXISTED("01001100001", "查询结果不存在")
192
- ```
193
-
194
- ### 已知错误码
195
-
196
- | 错误码 | 错误消息 | 触发条件 |
197
- |--------|----------|----------|
198
- | 01001100001 | 查询结果不存在 | 查询无匹配结果(通常返回空列表或空Map) |
199
-
200
- ### Service层业务校验
201
-
202
- `EnterpriseCalendarController.edit()` 内部采用 upsert 逻辑:
203
- 1. 根据 `tenantId + calendarDate` 查询现有记录
204
- 2. 若记录不存在,调用 `tenantCalendarBusiness.add(request)` 新增
205
- 3. 若记录存在,设置 `tenantCalendarId` 后调用 `tenantCalendarBusiness.edit(request)` 更新
206
-
207
- ---
208
-
209
- ## 2.6 权限检查
210
-
211
- | 检查项 | 位置 | 说明 |
212
- |--------|------|------|
213
- | `calendar list` | `@GetResource(path = "/page")` | 无 requiredPermission(无需权限码) |
214
- | `calendar set` | `@PostResource(path = "/edit", requiredPermission = true, requirePermissionCode = "EDIT_CALENDAR")` | 需要 EDIT_CALENDAR 权限 |
215
-
216
- ---
217
-
218
- ## 2.7 实现要点
219
-
220
- ### 通用约定
221
-
222
- 1. **无 X-TENANT-ID Header**:CLI 规范禁止传递此 Header,租户信息通过 JWT Token 由后端解析。
223
- 2. **ID 类型**:所有 ID 字段使用 `string` 类型(避免后端 BigInteger 精度丢失)。
224
- 3. **错误响应归一化**:后端存在两种错误格式,需在 `handleApiError()` 中统一处理:
225
- - 格式1: `{ success: false, code: "A150001", message: "..." }`
226
- - 格式2: `{ success: false, error: { code: "...", message: "..." } }`
227
-
228
- ### calendar list 实现要点
229
-
230
- 1. **参数验证**:`--year` 和 `--month` 为必填项;`--months` 默认值为 12。
231
- 2. **API 路径**:`GET /api/enterprise/portal/calendar/page`
232
- 3. **响应结构**:返回 `Map<String, List<WorkDayCalendar>>`,Key 为日期字符串(如 `"2025-04"`),Value 为该月份每日的日历对象列表。
233
- 4. **输出模式**:
234
- - 默认输出:按月份分组表格,显示日期、类型、备注
235
- - `--grid` 模式:日历网格视图,每行一周,标注工作日/周末/假日
236
- - `--json` 模式:结构化 JSON 输出
237
-
238
- ### calendar set 实现要点
239
-
240
- 1. **参数验证**:`--date` 格式必须为 `yyyy-MM-dd`;`--type` 必须为 `WORKDAY|WEEKEND|HOLIDAY` 之一。
241
- 2. **API 路径**:`POST /api/enterprise/portal/calendar/edit`
242
- 3. **Dry-run 支持**:使用 `--dry-run` 时构造 `TenantCalendarRequest` 但不发送请求,输出预览信息(日期、目标类型、备注)。
243
- 4. **Upsert 行为**:后端自动判断是新增还是更新同一日期的记录。
244
- 5. **成功响应**:`SuccessResponseData<>` 无具体 data 内容,输出成功提示即可。
245
-
246
- ---
247
-
248
- ## 2.8 测试策略(TDD)
249
-
250
- ### 单元测试文件位置
251
-
252
- ```
253
- coffee-barista-cli/
254
- └── tests/unit/commands/liberica/calendar/
255
- ├── list.test.ts
256
- └── set.test.ts
257
- ```
258
-
259
- ### calendar list 测试场景
260
-
261
- - [ ] 正常查询:提供 `--year` 和 `--month`,返回多月份日历数据
262
- - [ ] 默认 `--months=12`:未传该参数时验证 API 请求参数
263
- - [ ] 自定义 `--months`:验证请求参数正确传递
264
- - [ ] `--grid` 视图:验证表格按周排列输出
265
- - [ ] `--json` 输出:验证 JSON 结构包含 `success` 和 `data`
266
- - [ ] 缺少必填参数:`--year` 或 `--month` 缺失时返回验证错误
267
- - [ ] 无效参数:`--month 13` 返回验证错误
268
- - [ ] 空结果:API 返回空 Map 时友好提示
269
- - [ ] 错误响应:模拟后端两种错误格式,验证统一处理
270
-
271
- ### calendar set 测试场景
272
-
273
- - [ ] 正常设置:`--date` 和 `--type` 均有效,API 调用成功
274
- - [ ] 带备注设置:`--remark` 参数正确传递
275
- - [ ] `--dry-run` 模式:不调用 API,输出预览信息
276
- - [ ] `--json` 输出:dry-run 和正常模式均验证 JSON 结构
277
- - [ ] 缺少必填参数:`--date` 或 `--type` 缺失时返回验证错误
278
- - [ ] 无效日期格式:`--date 2025/04/15` 返回验证错误
279
- - [ ] 无效类型值:`--type INVALID` 返回验证错误
280
- - [ ] 错误响应:模拟无权限/后端异常,验证友好提示和退出码
281
-
282
- ### 集成测试流程
283
-
284
- ```bash
285
- # 1. 登录
286
- barista liberica auth login dev shanghai admin@shanghai.newpeaksh.com 123456
287
-
288
- # 2. 查询 2025 年 4 月日历
289
- barista liberica calendar list --year 2025 --month 4
290
-
291
- # 3. 查询 2025 年 4 月起连续 3 个月
292
- barista liberica calendar list --year 2025 --month 4 --months 3
293
-
294
- # 4. 网格视图
295
- barista liberica calendar list --year 2025 --month 4 --grid
296
-
297
- # 5. JSON 输出
298
- barista liberica calendar list --year 2025 --month 4 --json
299
-
300
- # 6. 设置日期类型(dry-run)
301
- barista liberica calendar set --date 2025-04-15 --type HOLIDAY --remark "测试假日" --dry-run
302
-
303
- # 7. 实际设置日期类型
304
- barista liberica calendar set --date 2025-04-15 --type HOLIDAY --remark "测试假日"
305
-
306
- # 8. 验证设置结果
307
- barista liberica calendar list --year 2025 --month 4 --json
308
- ```
309
-
310
- ---
311
-
312
- ## 2.9 示例用法
313
-
314
- ```bash
315
- # 查询 2025 年全年工作日历
316
- barista liberica calendar list --year 2025 --month 1
317
-
318
- # 查询 2025 年第二季度(4-6月)
319
- barista liberica calendar list --year 2025 --month 4 --months 3
320
-
321
- # 网格视图展示
322
- barista liberica calendar list -y 2025 -m 4 --grid
323
-
324
- # 设置 2025-04-15 为假日
325
- barista liberica calendar set --date 2025-04-15 --type HOLIDAY --remark "清明节调休"
326
-
327
- # 预览设置(不实际提交)
328
- barista liberica calendar set -d 2025-04-15 -t HOLIDAY -r "测试" --dry-run
329
-
330
- # JSON 输出(便于脚本处理)
331
- barista liberica calendar list --year 2025 --month 4 --json
332
- barista liberica calendar set --date 2025-04-15 --type WORKDAY --json
333
- ```
@@ -1,152 +0,0 @@
1
- # barista liberica client-contacts create
2
-
3
- 创建客户联系人。
4
-
5
- ## 2.1 命令元数据
6
-
7
- | 字段 | 值 |
8
- |------|-----|
9
- | 完整命令 | `barista liberica client-contacts create` |
10
- | 功能描述 | 添加新客户联系人 |
11
- | HTTP方法 | POST |
12
- | 是否需要认证 | ✅ 是 |
13
- | 是否支持dry-run | ✅ 是 |
14
-
15
- ## 2.2 后端接口引用
16
-
17
- ### Controller位置
18
- ```
19
- coffee-liberica-end/
20
- └── facade/liberica-facade-enterprise/
21
- └── src/main/java/com/newpeak/liberica/facade/enterprise/controller/sales/
22
- └── EnterpriseClientContactController.java
23
- └── add(@PostResource(path = "/add", requiredPermission = true, requirePermissionCode = "ADD_MASTER_CLIENT_CONTACT"))
24
- └── public ResponseData<MasterClientContactResponse> add(
25
- @RequestHeader("X-TENANT-ID") Long tenantId,
26
- @RequestBody @Validated(BaseRequest.add.class) MasterClientContactRequest masterClientContactRequest
27
- )
28
- ```
29
-
30
- ### Request DTO位置
31
- ```
32
- coffee-liberica-end/
33
- └── business/liberica-business-sales/sales-api/
34
- └── src/main/java/com/newpeak/liberica/sales/api/pojo/request/
35
- └── MasterClientContactRequest.java
36
- ├── clientId: Long (@NotNull)
37
- ├── clientContactName: String (@NotBlank, max=255)
38
- ├── clientContactPhone: String (max=256)
39
- ├── clientContactTelephone: String (max=256)
40
- ├── clientContactEmail: String (max=512)
41
- ├── clientContactSex: String (max=255)
42
- ├── clientContactBirthday: Date
43
- ├── clientContactQq: String (max=512)
44
- ├── clientContactWechat: String (max=512)
45
- ├── clientContactAddress: String (max=512)
46
- ├── defaultFlag: String (@NotBlank, max=1)
47
- └── remark: String (max=255)
48
- ```
49
-
50
- ### Response DTO位置
51
- ```
52
- coffee-liberica-end/
53
- └── business/liberica-business-sales/sales-api/
54
- └── src/main/java/com/newpeak/liberica/sales/api/pojo/response/
55
- └── MasterClientContactResponse.java
56
- └── (同 get 接口)
57
- ```
58
-
59
- ## 2.3 CLI参数设计
60
-
61
- ### 命令结构
62
- ```
63
- barista liberica client-contacts create [options]
64
- ```
65
-
66
- ### 全局选项
67
- | 选项 | 类型 | 说明 |
68
- |------|------|------|
69
- | `--env` | string | 目标环境(dev\|test\|prod-cn\|prod-jp) |
70
- | `--tenant` | string | 租户代码 |
71
- | `--dry-run` | boolean | 预览模式 |
72
- | `--json` | boolean | JSON输出 |
73
-
74
- ### 命令选项
75
- | 选项 | 短选项 | 类型 | 必填 | 默认值 | 说明 | 对应DTO字段 |
76
- |------|--------|------|------|--------|------|-------------|
77
- | --client-id | -c | string | ✅ | - | 客户ID | clientId |
78
- | --name | -n | string | ✅ | - | 姓名 | clientContactName |
79
- | --phone | -p | string | ⬜ | - | 手机号 | clientContactPhone |
80
- | --telephone | -t | string | ⬜ | - | 座机号 | clientContactTelephone |
81
- | --email | -e | string | ⬜ | - | 电子邮箱 | clientContactEmail |
82
- | --sex | -s | string | ⬜ | - | 性别 | clientContactSex |
83
- | --birthday | -b | string | ⬜ | - | 生日(YYYY-MM-DD) | clientContactBirthday |
84
- | --qq | -q | string | ⬜ | - | QQ号 | clientContactQq |
85
- | --wechat | -w | string | ⬜ | - | 微信号 | clientContactWechat |
86
- | --address | -a | string | ⬜ | - | 详细地址 | clientContactAddress |
87
- | --default | -d | boolean | ⬜ | N | 是否默认联系人 | defaultFlag |
88
- | --remark | -r | string | ⬜ | - | 备注 | remark |
89
-
90
- ## 2.4 字段映射表
91
-
92
- | CLI参数 | DTO字段 | 类型转换 | 验证规则 |
93
- |---------|---------|----------|----------|
94
- | --client-id / -c | clientId | string→Long | @NotNull |
95
- | --name / -n | clientContactName | 直接传递 | @NotBlank, max=255 |
96
- | --phone / -p | clientContactPhone | 直接传递 | max=256 |
97
- | --telephone / -t | clientContactTelephone | 直接传递 | max=256 |
98
- | --email / -e | clientContactEmail | 直接传递 | max=512 |
99
- | --sex / -s | clientContactSex | 直接传递 | max=255 |
100
- | --birthday / -b | clientContactBirthday | string→Date | yyyy-MM-dd |
101
- | --qq / -q | clientContactQq | 直接传递 | max=512 |
102
- | --wechat / -w | clientContactWechat | 直接传递 | max=512 |
103
- | --address / -a | clientContactAddress | 直接传递 | max=512 |
104
- | --default / -d | defaultFlag | boolean→Y/N | @NotBlank, max=1 |
105
- | --remark / -r | remark | 直接传递 | max=255 |
106
-
107
- ## 2.5 错误码引用
108
-
109
- ### ExceptionEnum位置
110
- ```
111
- coffee-liberica-end/
112
- └── business/liberica-business-sales/sales-api/
113
- └── src/main/java/com/newpeak/liberica/sales/api/exception/enums/
114
- └── MasterClientContactExceptionEnum.java
115
- ```
116
-
117
- ### 已知错误码
118
- | 错误码 | 错误消息 | 触发条件 |
119
- |--------|----------|----------|
120
- | 01001207001 | 租户客户联系人不存在 | 客户ID不存在 |
121
- | 01001XXX... | 相关验证错误 | 字段验证失败 |
122
-
123
- ## 2.6 权限检查
124
-
125
- | 检查项 | 位置 | 说明 |
126
- |--------|------|------|
127
- | PermissionConstants | `ADD_MASTER_CLIENT_CONTACT` | 添加客户联系人需要此权限 |
128
- | 注解 | `@PostResource(requirePermissionCode = "ADD_MASTER_CLIENT_CONTACT")` | Controller方法上 |
129
-
130
- ## 2.7 实现要点
131
-
132
- 1. **必填参数**:--client-id 和 --name 必须指定
133
- 2. **defaultFlag**:--default 不指定时默认为 "N",指定时为 "Y"
134
- 3. **dry-run 模式**:预览模式下只显示将要发送的数据,不实际调用 API
135
- 4. **输出格式**:成功后显示创建的联系人信息
136
- 5. **错误处理**:字段验证错误显示友好提示
137
-
138
- ## 2.8 示例用法
139
-
140
- ```bash
141
- # 创建客户联系人(dry-run 预览)
142
- barista liberica client-contacts create --client-id 123 --name "张三" --phone "13800138000" --dry-run
143
-
144
- # 实际创建
145
- barista liberica client-contacts create --client-id 123 --name "张三" --phone "13800138000" --email "zhang@example.com"
146
-
147
- # 创建默认联系人
148
- barista liberica client-contacts create --client-id 123 --name "李四" --default --address "北京市朝阳区xxx"
149
-
150
- # JSON 输出
151
- barista liberica client-contacts create --client-id 123 --name "张三" --json
152
- ```
@@ -1,123 +0,0 @@
1
- # barista liberica client-contacts delete
2
-
3
- 删除客户联系人。
4
-
5
- ## 2.1 命令元数据
6
-
7
- | 字段 | 值 |
8
- |------|-----|
9
- | 完整命令 | `barista liberica client-contacts delete <contact-id>` |
10
- | 功能描述 | 删除客户联系人 |
11
- | HTTP方法 | POST |
12
- | 是否需要认证 | ✅ 是 |
13
- | 是否支持dry-run | ✅ 是(默认) |
14
-
15
- ## 2.2 后端接口引用
16
-
17
- ### Controller位置
18
- ```
19
- coffee-liberica-end/
20
- └── facade/liberica-facade-enterprise/
21
- └── src/main/java/com/newpeak/liberica/facade/enterprise/controller/sales/
22
- └── EnterpriseClientContactController.java
23
- └── delete(@PostResource(path = "/delete", requiredPermission = true, requirePermissionCode = "DEL_MASTER_CLIENT_CONTACT"))
24
- └── public ResponseData<?> delete(
25
- @RequestHeader("X-TENANT-ID") Long tenantId,
26
- @RequestBody @Validated(BaseRequest.delete.class) MasterClientContactRequest masterClientContactRequest
27
- )
28
- ```
29
-
30
- ### Request DTO位置
31
- ```
32
- coffee-liberica-end/
33
- └── business/liberica-business-sales/sales-api/
34
- └── src/main/java/com/newpeak/liberica/sales/api/pojo/request/
35
- └── MasterClientContactRequest.java
36
- └── clientContactId: Long (@NotNull on delete)
37
- ```
38
-
39
- ### Response DTO位置
40
- ```
41
- coffee-liberica-end/
42
- └── business/liberica-business-sales/sales-api/
43
- └── src/main/java/com/newpeak/liberica/sales/api/pojo/response/
44
- └── SuccessResponseData<?>
45
- └── 无具体数据
46
- ```
47
-
48
- ## 2.3 CLI参数设计
49
-
50
- ### 命令结构
51
- ```
52
- barista liberica client-contacts delete <contact-id> [options]
53
- ```
54
-
55
- ### 位置参数
56
- | 参数 | 类型 | 必填 | 说明 |
57
- |------|------|------|------|
58
- | contact-id | string | ✅ | 客户联系人ID |
59
-
60
- ### 全局选项
61
- | 选项 | 类型 | 说明 |
62
- |------|------|------|
63
- | `--env` | string | 目标环境(dev\|test\|prod-cn\|prod-jp) |
64
- | `--tenant` | string | 租户代码 |
65
- | `--dry-run` | boolean | 预览模式(默认开启) |
66
- | `--force` | boolean | 跳过确认,直接执行删除 |
67
- | `--json` | boolean | JSON输出 |
68
-
69
- ## 2.4 字段映射表
70
-
71
- | CLI参数 | DTO字段 | 类型转换 | 验证规则 |
72
- |---------|---------|----------|----------|
73
- | <contact-id> | clientContactId | string→Long | @NotNull |
74
-
75
- ## 2.5 错误码引用
76
-
77
- ### ExceptionEnum位置
78
- ```
79
- coffee-liberica-end/
80
- └── business/liberica-business-sales/sales-api/
81
- └── src/main/java/com/newpeak/liberica/sales/api/exception/enums/
82
- └── MasterClientContactExceptionEnum.java
83
- └── MASTER_CLIENT_CONTACT_NOT_EXIST("01001207001", "租户客户联系人不存在")
84
- ```
85
-
86
- ### 已知错误码
87
- | 错误码 | 错误消息 | 触发条件 |
88
- |--------|----------|----------|
89
- | 01001207001 | 租户客户联系人不存在 | contact-id 不存在或不属于当前租户 |
90
-
91
- ## 2.6 权限检查
92
-
93
- | 检查项 | 位置 | 说明 |
94
- |--------|------|------|
95
- | PermissionConstants | `DEL_MASTER_CLIENT_CONTACT` | 删除客户联系人需要此权限 |
96
- | 注解 | `@PostResource(requirePermissionCode = "DEL_MASTER_CLIENT_CONTACT")` | Controller方法上 |
97
-
98
- ## 2.7 实现要点
99
-
100
- 1. **位置参数**:contact-id 必须指定
101
- 2. **默认 dry-run**:不带 --force 时默认是 dry-run 模式,只预览不执行
102
- 3. **--force 确认**:实际删除前必须显式指定 --force
103
- 4. **输出格式**:预览模式显示将要删除的联系人信息,确认后显示删除结果
104
- 5. **错误处理**:联系人不存在时显示友好错误信息
105
-
106
- ## 2.8 示例用法
107
-
108
- ```bash
109
- # 预览删除(默认 dry-run)
110
- barista liberica client-contacts delete 12345
111
- # 输出: 🔍 Dry-Run 模式:不会实际删除
112
- # 将删除联系人: 张三 (ID: 12345)
113
- # 添加 --force 选项以确认删除
114
-
115
- # 确认删除
116
- barista liberica client-contacts delete 12345 --force
117
-
118
- # JSON 预览
119
- barista liberica client-contacts delete 12345 --json
120
-
121
- # JSON 确认删除
122
- barista liberica client-contacts delete 12345 --force --json
123
- ```