@kne/fastify-account 1.0.0-alpha.21 → 1.0.0-alpha.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -64,127 +64,9 @@ fastify的用户管理账号等实现
64
64
  This operation does not require authentication
65
65
  </aside>
66
66
 
67
- ## get__api_v1_account_admin_getAllTenantList
68
-
69
- `GET /api/v1/account/admin/getAllTenantList`
70
-
71
- <h3 id="get__api_v1_account_admin_getalltenantlist-parameters">Parameters</h3>
72
-
73
- |Name|In|Type|Required|Description|
74
- |---|---|---|---|---|
75
- |name|query|string|false|none|
76
- |serviceStartTime|query|string(date-time)|false|none|
77
- |serviceEndTime|query|string(date-time)|false|none|
78
- |perPage|query|number|false|none|
79
- |currentPage|query|number|false|none|
80
-
81
- <h3 id="get__api_v1_account_admin_getalltenantlist-responses">Responses</h3>
82
-
83
- |Status|Meaning|Description|Schema|
84
- |---|---|---|---|
85
- |200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Default Response|None|
86
-
87
- <aside class="success">
88
- This operation does not require authentication
89
- </aside>
90
-
91
- ## get__api_v1_account_admin_getTenantInfo
92
-
93
- `GET /api/v1/account/admin/getTenantInfo`
94
-
95
- <h3 id="get__api_v1_account_admin_gettenantinfo-parameters">Parameters</h3>
96
-
97
- |Name|In|Type|Required|Description|
98
- |---|---|---|---|---|
99
- |id|query|string|false|none|
100
-
101
- <h3 id="get__api_v1_account_admin_gettenantinfo-responses">Responses</h3>
102
-
103
- |Status|Meaning|Description|Schema|
104
- |---|---|---|---|
105
- |200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Default Response|None|
106
-
107
- <aside class="success">
108
- This operation does not require authentication
109
- </aside>
110
-
111
- ## post__api_v1_account_admin_closeTenant
112
-
113
- `POST /api/v1/account/admin/closeTenant`
114
-
115
- > Body parameter
116
-
117
- ```json
118
- {
119
- "type": "object",
120
- "required": [
121
- "tenantId"
122
- ],
123
- "properties": {
124
- "tenantId": {
125
- "type": "string"
126
- }
127
- }
128
- }
129
- ```
130
-
131
- <h3 id="post__api_v1_account_admin_closetenant-parameters">Parameters</h3>
132
-
133
- |Name|In|Type|Required|Description|
134
- |---|---|---|---|---|
135
- |body|body|object|true|none|
136
- |» tenantId|body|string|true|none|
137
-
138
- <h3 id="post__api_v1_account_admin_closetenant-responses">Responses</h3>
139
-
140
- |Status|Meaning|Description|Schema|
141
- |---|---|---|---|
142
- |200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Default Response|None|
143
-
144
- <aside class="success">
145
- This operation does not require authentication
146
- </aside>
147
-
148
- ## post__api_v1_account_admin_openTenant
149
-
150
- `POST /api/v1/account/admin/openTenant`
151
-
152
- > Body parameter
153
-
154
- ```json
155
- {
156
- "type": "object",
157
- "required": [
158
- "tenantId"
159
- ],
160
- "properties": {
161
- "tenantId": {
162
- "type": "string"
163
- }
164
- }
165
- }
166
- ```
167
-
168
- <h3 id="post__api_v1_account_admin_opentenant-parameters">Parameters</h3>
169
-
170
- |Name|In|Type|Required|Description|
171
- |---|---|---|---|---|
172
- |body|body|object|true|none|
173
- |» tenantId|body|string|true|none|
174
-
175
- <h3 id="post__api_v1_account_admin_opentenant-responses">Responses</h3>
176
-
177
- |Status|Meaning|Description|Schema|
178
- |---|---|---|---|
179
- |200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Default Response|None|
180
-
181
- <aside class="success">
182
- This operation does not require authentication
183
- </aside>
184
-
185
- ## post__api_v1_account_admin_addTenant
67
+ ## post__api_v1_account_admin_saveTenant
186
68
 
187
- `POST /api/v1/account/admin/addTenant`
69
+ `POST /api/v1/account/admin/saveTenant`
188
70
 
189
71
  > Body parameter
190
72
 
@@ -192,104 +74,81 @@ This operation does not require authentication
192
74
  {
193
75
  "type": "object",
194
76
  "required": [
77
+ "id",
195
78
  "name",
196
79
  "accountNumber",
197
80
  "serviceStartTime",
198
81
  "serviceEndTime"
199
82
  ],
200
83
  "properties": {
84
+ "id": {
85
+ "type": "string",
86
+ "description": "租户id"
87
+ },
201
88
  "name": {
202
- "type": "string"
89
+ "type": "string",
90
+ "description": "租户名称"
203
91
  },
204
- "accountNumber": {
205
- "type": "number"
92
+ "description": {
93
+ "type": "string",
94
+ "description": "租户简介"
206
95
  },
207
96
  "serviceStartTime": {
208
97
  "type": "string",
209
- "format": "date-time"
98
+ "description": "服务开始时间"
210
99
  },
211
100
  "serviceEndTime": {
212
101
  "type": "string",
213
- "format": "date-time"
102
+ "description": "服务结束时间"
103
+ },
104
+ "accountNumber": {
105
+ "type": "number",
106
+ "description": "最大租户用户数量"
214
107
  }
215
108
  }
216
109
  }
217
110
  ```
218
111
 
219
- <h3 id="post__api_v1_account_admin_addtenant-parameters">Parameters</h3>
112
+ <h3 id="post__api_v1_account_admin_savetenant-parameters">Parameters</h3>
220
113
 
221
114
  |Name|In|Type|Required|Description|
222
115
  |---|---|---|---|---|
223
116
  |body|body|object|true|none|
224
- name|body|string|true|none|
225
- accountNumber|body|number|true|none|
226
- serviceStartTime|body|string(date-time)|true|none|
227
- serviceEndTime|body|string(date-time)|true|none|
228
-
229
- <h3 id="post__api_v1_account_admin_addtenant-responses">Responses</h3>
117
+ id|body|string|true|租户id|
118
+ name|body|string|true|租户名称|
119
+ description|body|string|false|租户简介|
120
+ serviceStartTime|body|string|true|服务开始时间|
121
+ |» serviceEndTime|body|string|true|服务结束时间|
122
+ accountNumber|body|number|true|最大租户用户数量|
230
123
 
231
- |Status|Meaning|Description|Schema|
232
- |---|---|---|---|
233
- |200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Default Response|None|
234
-
235
- <aside class="success">
236
- This operation does not require authentication
237
- </aside>
238
-
239
- ## post__api_v1_account_admin_saveTenant
240
-
241
- `POST /api/v1/account/admin/saveTenant`
124
+ > Example responses
242
125
 
243
- > Body parameter
126
+ > 200 Response
244
127
 
245
128
  ```json
246
129
  {
247
130
  "type": "object",
248
- "required": [
249
- "id",
250
- "name",
251
- "accountNumber",
252
- "serviceStartTime",
253
- "serviceEndTime"
254
- ],
255
131
  "properties": {
256
- "id": {
257
- "type": "string"
258
- },
259
- "name": {
260
- "type": "string"
261
- },
262
- "accountNumber": {
263
- "type": "number"
264
- },
265
- "serviceStartTime": {
266
- "type": "string",
267
- "format": "date-time"
268
- },
269
- "serviceEndTime": {
270
- "type": "string",
271
- "format": "date-time"
132
+ "content": {
133
+ "application/json": {}
272
134
  }
273
135
  }
274
136
  }
275
137
  ```
276
138
 
277
- <h3 id="post__api_v1_account_admin_savetenant-parameters">Parameters</h3>
278
-
279
- |Name|In|Type|Required|Description|
280
- |---|---|---|---|---|
281
- |body|body|object|true|none|
282
- |» id|body|string|true|none|
283
- |» name|body|string|true|none|
284
- |» accountNumber|body|number|true|none|
285
- |» serviceStartTime|body|string(date-time)|true|none|
286
- |» serviceEndTime|body|string(date-time)|true|none|
287
-
288
139
  <h3 id="post__api_v1_account_admin_savetenant-responses">Responses</h3>
289
140
 
290
141
  |Status|Meaning|Description|Schema|
291
142
  |---|---|---|---|
292
- |200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Default Response|None|
143
+ |200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Default Response|Inline|
144
+
145
+ <h3 id="post__api_v1_account_admin_savetenant-responseschema">Response Schema</h3>
146
+
147
+ Status Code **200**
148
+
149
+ |Name|Type|Required|Restrictions|Description|
150
+ |---|---|---|---|---|
151
+ |» content|any|false|none|none|
293
152
 
294
153
  <aside class="success">
295
154
  This operation does not require authentication
@@ -3519,6 +3378,425 @@ This operation does not require authentication
3519
3378
  This operation does not require authentication
3520
3379
  </aside>
3521
3380
 
3381
+ <h1 id="-kne-fastify-account--">管理后台-租户</h1>
3382
+
3383
+ ## get__api_v1_account_admin_getAllTenantList
3384
+
3385
+ `GET /api/v1/account/admin/getAllTenantList`
3386
+
3387
+ *获取租户列表*
3388
+
3389
+ <h3 id="get__api_v1_account_admin_getalltenantlist-parameters">Parameters</h3>
3390
+
3391
+ |Name|In|Type|Required|Description|
3392
+ |---|---|---|---|---|
3393
+ |name|query|string|false|租户名|
3394
+ |serviceStartTime|query|string(date-time)|false|服务开始时间|
3395
+ |serviceEndTime|query|string(date-time)|false|服务结束时间|
3396
+ |perPage|query|number|false|每页条数|
3397
+ |currentPage|query|number|false|页数|
3398
+
3399
+ > Example responses
3400
+
3401
+ > 200 Response
3402
+
3403
+ ```json
3404
+ {
3405
+ "type": "object",
3406
+ "properties": {
3407
+ "pageData": {
3408
+ "type": "array",
3409
+ "items": {
3410
+ "type": "object",
3411
+ "properties": {
3412
+ "id": {
3413
+ "type": "string",
3414
+ "description": "租户id"
3415
+ },
3416
+ "name": {
3417
+ "type": "string",
3418
+ "description": "租户名称"
3419
+ },
3420
+ "description": {
3421
+ "type": "string",
3422
+ "description": "租户简介"
3423
+ },
3424
+ "serviceStartTime": {
3425
+ "type": "string",
3426
+ "description": "服务开始时间"
3427
+ },
3428
+ "serviceEndTime": {
3429
+ "type": "string",
3430
+ "description": "服务结束时间"
3431
+ },
3432
+ "accountNumber": {
3433
+ "type": "number",
3434
+ "description": "最大租户用户数量"
3435
+ },
3436
+ "status": {
3437
+ "type": "number",
3438
+ "description": "0:正常,10:过期被关闭,11:已禁用,12:已关闭"
3439
+ },
3440
+ "createdAt": {
3441
+ "type": "string",
3442
+ "description": "创建时间"
3443
+ },
3444
+ "updatedAt": {
3445
+ "type": "string",
3446
+ "description": "更新时间"
3447
+ }
3448
+ }
3449
+ }
3450
+ },
3451
+ "totalCount": {
3452
+ "type": "number",
3453
+ "description": "总数量"
3454
+ }
3455
+ }
3456
+ }
3457
+ ```
3458
+
3459
+ <h3 id="get__api_v1_account_admin_getalltenantlist-responses">Responses</h3>
3460
+
3461
+ |Status|Meaning|Description|Schema|
3462
+ |---|---|---|---|
3463
+ |200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Default Response|Inline|
3464
+
3465
+ <h3 id="get__api_v1_account_admin_getalltenantlist-responseschema">Response Schema</h3>
3466
+
3467
+ Status Code **200**
3468
+
3469
+ |Name|Type|Required|Restrictions|Description|
3470
+ |---|---|---|---|---|
3471
+ |» pageData|[object]|false|none|none|
3472
+ |»» id|string|false|none|租户id|
3473
+ |»» name|string|false|none|租户名称|
3474
+ |»» description|string|false|none|租户简介|
3475
+ |»» serviceStartTime|string|false|none|服务开始时间|
3476
+ |»» serviceEndTime|string|false|none|服务结束时间|
3477
+ |»» accountNumber|number|false|none|最大租户用户数量|
3478
+ |»» status|number|false|none|0:正常,10:过期被关闭,11:已禁用,12:已关闭|
3479
+ |»» createdAt|string|false|none|创建时间|
3480
+ |»» updatedAt|string|false|none|更新时间|
3481
+ |» totalCount|number|false|none|总数量|
3482
+
3483
+ <aside class="success">
3484
+ This operation does not require authentication
3485
+ </aside>
3486
+
3487
+ ## get__api_v1_account_admin_getTenantInfo
3488
+
3489
+ `GET /api/v1/account/admin/getTenantInfo`
3490
+
3491
+ *获取租户基本信息*
3492
+
3493
+ <h3 id="get__api_v1_account_admin_gettenantinfo-parameters">Parameters</h3>
3494
+
3495
+ |Name|In|Type|Required|Description|
3496
+ |---|---|---|---|---|
3497
+ |id|query|string|false|租户id|
3498
+
3499
+ > Example responses
3500
+
3501
+ > 200 Response
3502
+
3503
+ ```json
3504
+ {
3505
+ "type": "object",
3506
+ "properties": {
3507
+ "id": {
3508
+ "type": "string",
3509
+ "description": "租户id"
3510
+ },
3511
+ "name": {
3512
+ "type": "string",
3513
+ "description": "租户名称"
3514
+ },
3515
+ "description": {
3516
+ "type": "string",
3517
+ "description": "租户简介"
3518
+ },
3519
+ "serviceStartTime": {
3520
+ "type": "string",
3521
+ "description": "服务开始时间"
3522
+ },
3523
+ "serviceEndTime": {
3524
+ "type": "string",
3525
+ "description": "服务结束时间"
3526
+ },
3527
+ "accountNumber": {
3528
+ "type": "number",
3529
+ "description": "最大租户用户数量"
3530
+ },
3531
+ "status": {
3532
+ "type": "number",
3533
+ "description": "0:正常,10:过期被关闭,11:已禁用,12:已关闭"
3534
+ },
3535
+ "createdAt": {
3536
+ "type": "string",
3537
+ "description": "创建时间"
3538
+ },
3539
+ "updatedAt": {
3540
+ "type": "string",
3541
+ "description": "更新时间"
3542
+ }
3543
+ }
3544
+ }
3545
+ ```
3546
+
3547
+ <h3 id="get__api_v1_account_admin_gettenantinfo-responses">Responses</h3>
3548
+
3549
+ |Status|Meaning|Description|Schema|
3550
+ |---|---|---|---|
3551
+ |200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Default Response|Inline|
3552
+
3553
+ <h3 id="get__api_v1_account_admin_gettenantinfo-responseschema">Response Schema</h3>
3554
+
3555
+ Status Code **200**
3556
+
3557
+ |Name|Type|Required|Restrictions|Description|
3558
+ |---|---|---|---|---|
3559
+ |» id|string|false|none|租户id|
3560
+ |» name|string|false|none|租户名称|
3561
+ |» description|string|false|none|租户简介|
3562
+ |» serviceStartTime|string|false|none|服务开始时间|
3563
+ |» serviceEndTime|string|false|none|服务结束时间|
3564
+ |» accountNumber|number|false|none|最大租户用户数量|
3565
+ |» status|number|false|none|0:正常,10:过期被关闭,11:已禁用,12:已关闭|
3566
+ |» createdAt|string|false|none|创建时间|
3567
+ |» updatedAt|string|false|none|更新时间|
3568
+
3569
+ <aside class="success">
3570
+ This operation does not require authentication
3571
+ </aside>
3572
+
3573
+ ## post__api_v1_account_admin_closeTenant
3574
+
3575
+ `POST /api/v1/account/admin/closeTenant`
3576
+
3577
+ *关闭租户*
3578
+
3579
+ > Body parameter
3580
+
3581
+ ```json
3582
+ {
3583
+ "type": "object",
3584
+ "required": [
3585
+ "tenantId"
3586
+ ],
3587
+ "properties": {
3588
+ "tenantId": {
3589
+ "type": "string",
3590
+ "description": "租户id"
3591
+ }
3592
+ }
3593
+ }
3594
+ ```
3595
+
3596
+ <h3 id="post__api_v1_account_admin_closetenant-parameters">Parameters</h3>
3597
+
3598
+ |Name|In|Type|Required|Description|
3599
+ |---|---|---|---|---|
3600
+ |body|body|object|true|none|
3601
+ |» tenantId|body|string|true|租户id|
3602
+
3603
+ > Example responses
3604
+
3605
+ > 200 Response
3606
+
3607
+ ```json
3608
+ {
3609
+ "type": "object",
3610
+ "properties": {
3611
+ "content": {
3612
+ "application/json": {}
3613
+ }
3614
+ }
3615
+ }
3616
+ ```
3617
+
3618
+ <h3 id="post__api_v1_account_admin_closetenant-responses">Responses</h3>
3619
+
3620
+ |Status|Meaning|Description|Schema|
3621
+ |---|---|---|---|
3622
+ |200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Default Response|Inline|
3623
+
3624
+ <h3 id="post__api_v1_account_admin_closetenant-responseschema">Response Schema</h3>
3625
+
3626
+ Status Code **200**
3627
+
3628
+ |Name|Type|Required|Restrictions|Description|
3629
+ |---|---|---|---|---|
3630
+ |» content|any|false|none|none|
3631
+
3632
+ <aside class="success">
3633
+ This operation does not require authentication
3634
+ </aside>
3635
+
3636
+ ## post__api_v1_account_admin_openTenant
3637
+
3638
+ `POST /api/v1/account/admin/openTenant`
3639
+
3640
+ *开启租户*
3641
+
3642
+ > Body parameter
3643
+
3644
+ ```json
3645
+ {
3646
+ "type": "object",
3647
+ "required": [
3648
+ "tenantId"
3649
+ ],
3650
+ "properties": {
3651
+ "tenantId": {
3652
+ "type": "string",
3653
+ "description": "租户id"
3654
+ }
3655
+ }
3656
+ }
3657
+ ```
3658
+
3659
+ <h3 id="post__api_v1_account_admin_opentenant-parameters">Parameters</h3>
3660
+
3661
+ |Name|In|Type|Required|Description|
3662
+ |---|---|---|---|---|
3663
+ |body|body|object|true|none|
3664
+ |» tenantId|body|string|true|租户id|
3665
+
3666
+ > Example responses
3667
+
3668
+ > 200 Response
3669
+
3670
+ ```json
3671
+ {
3672
+ "type": "object",
3673
+ "properties": {
3674
+ "content": {
3675
+ "application/json": {}
3676
+ }
3677
+ }
3678
+ }
3679
+ ```
3680
+
3681
+ <h3 id="post__api_v1_account_admin_opentenant-responses">Responses</h3>
3682
+
3683
+ |Status|Meaning|Description|Schema|
3684
+ |---|---|---|---|
3685
+ |200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Default Response|Inline|
3686
+
3687
+ <h3 id="post__api_v1_account_admin_opentenant-responseschema">Response Schema</h3>
3688
+
3689
+ Status Code **200**
3690
+
3691
+ |Name|Type|Required|Restrictions|Description|
3692
+ |---|---|---|---|---|
3693
+ |» content|any|false|none|none|
3694
+
3695
+ <aside class="success">
3696
+ This operation does not require authentication
3697
+ </aside>
3698
+
3699
+ ## post__api_v1_account_admin_addTenant
3700
+
3701
+ `POST /api/v1/account/admin/addTenant`
3702
+
3703
+ *添加租户*
3704
+
3705
+ > Body parameter
3706
+
3707
+ ```json
3708
+ {
3709
+ "type": "object",
3710
+ "required": [
3711
+ "name",
3712
+ "accountNumber",
3713
+ "serviceStartTime",
3714
+ "serviceEndTime"
3715
+ ],
3716
+ "properties": {
3717
+ "name": {
3718
+ "type": "string",
3719
+ "description": "租户名称"
3720
+ },
3721
+ "description": {
3722
+ "type": "string",
3723
+ "description": "租户简介"
3724
+ },
3725
+ "serviceStartTime": {
3726
+ "type": "string",
3727
+ "description": "服务开始时间"
3728
+ },
3729
+ "serviceEndTime": {
3730
+ "type": "string",
3731
+ "description": "服务结束时间"
3732
+ },
3733
+ "accountNumber": {
3734
+ "type": "number",
3735
+ "description": "最大租户用户数量"
3736
+ },
3737
+ "status": {
3738
+ "type": "number",
3739
+ "description": "0:正常,10:过期被关闭,11:已禁用,12:已关闭"
3740
+ },
3741
+ "createdAt": {
3742
+ "type": "string",
3743
+ "description": "创建时间"
3744
+ },
3745
+ "updatedAt": {
3746
+ "type": "string",
3747
+ "description": "更新时间"
3748
+ }
3749
+ }
3750
+ }
3751
+ ```
3752
+
3753
+ <h3 id="post__api_v1_account_admin_addtenant-parameters">Parameters</h3>
3754
+
3755
+ |Name|In|Type|Required|Description|
3756
+ |---|---|---|---|---|
3757
+ |body|body|object|true|none|
3758
+ |» name|body|string|true|租户名称|
3759
+ |» description|body|string|false|租户简介|
3760
+ |» serviceStartTime|body|string|true|服务开始时间|
3761
+ |» serviceEndTime|body|string|true|服务结束时间|
3762
+ |» accountNumber|body|number|true|最大租户用户数量|
3763
+ |» status|body|number|false|0:正常,10:过期被关闭,11:已禁用,12:已关闭|
3764
+ |» createdAt|body|string|false|创建时间|
3765
+ |» updatedAt|body|string|false|更新时间|
3766
+
3767
+ > Example responses
3768
+
3769
+ > 200 Response
3770
+
3771
+ ```json
3772
+ {
3773
+ "type": "object",
3774
+ "properties": {
3775
+ "content": {
3776
+ "application/json": {}
3777
+ }
3778
+ }
3779
+ }
3780
+ ```
3781
+
3782
+ <h3 id="post__api_v1_account_admin_addtenant-responses">Responses</h3>
3783
+
3784
+ |Status|Meaning|Description|Schema|
3785
+ |---|---|---|---|
3786
+ |200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Default Response|Inline|
3787
+
3788
+ <h3 id="post__api_v1_account_admin_addtenant-responseschema">Response Schema</h3>
3789
+
3790
+ Status Code **200**
3791
+
3792
+ |Name|Type|Required|Restrictions|Description|
3793
+ |---|---|---|---|---|
3794
+ |» content|any|false|none|none|
3795
+
3796
+ <aside class="success">
3797
+ This operation does not require authentication
3798
+ </aside>
3799
+
3522
3800
  <h1 id="-kne-fastify-account--">租户平台</h1>
3523
3801
 
3524
3802
  ## get__api_v1_account_tenant_getCompanyInfo
package/index.js CHANGED
@@ -16,6 +16,7 @@ module.exports = fp(
16
16
  secret: 'super-secret',
17
17
  expires: null
18
18
  },
19
+ defaultPassword: 'Aa000000!',
19
20
  sendMessage: async () => {}
20
21
  },
21
22
  options
@@ -7,25 +7,63 @@ module.exports = fp(async (fastify, options) => {
7
7
  {
8
8
  onRequest: [authenticate.user, authenticate.admin],
9
9
  schema: {
10
+ tags: ['管理后台-租户'],
11
+ summary: '获取租户列表',
10
12
  query: {
11
13
  type: 'object',
12
14
  properties: {
13
15
  name: {
14
- type: 'string'
16
+ type: 'string',
17
+ description: '租户名'
15
18
  },
16
19
  serviceStartTime: {
17
20
  type: 'string',
18
- format: 'date-time'
21
+ format: 'date-time',
22
+ description: '服务开始时间'
19
23
  },
20
24
  serviceEndTime: {
21
25
  type: 'string',
22
- format: 'date-time'
26
+ format: 'date-time',
27
+ description: '服务结束时间'
23
28
  },
24
29
  perPage: {
25
- type: 'number'
30
+ type: 'number',
31
+ description: '每页条数'
26
32
  },
27
33
  currentPage: {
28
- type: 'number'
34
+ type: 'number',
35
+ description: '页数'
36
+ }
37
+ }
38
+ },
39
+ response: {
40
+ 200: {
41
+ content: {
42
+ 'application/json': {
43
+ schema: {
44
+ type: 'object',
45
+ properties: {
46
+ pageData: {
47
+ type: 'array',
48
+ items: {
49
+ type: 'object',
50
+ properties: {
51
+ id: { type: 'string', description: '租户id' },
52
+ name: { type: 'string', description: '租户名称' },
53
+ description: { type: 'string', description: '租户简介' },
54
+ serviceStartTime: { type: 'string', description: '服务开始时间' },
55
+ serviceEndTime: { type: 'string', description: '服务结束时间' },
56
+ accountNumber: { type: 'number', description: '最大租户用户数量' },
57
+ status: { type: 'number', description: '0:正常,10:过期被关闭,11:已禁用,12:已关闭' },
58
+ createdAt: { type: 'string', description: '创建时间' },
59
+ updatedAt: { type: 'string', description: '更新时间' }
60
+ }
61
+ }
62
+ },
63
+ totalCount: { type: 'number', description: '总数量' }
64
+ }
65
+ }
66
+ }
29
67
  }
30
68
  }
31
69
  }
@@ -52,10 +90,34 @@ module.exports = fp(async (fastify, options) => {
52
90
  {
53
91
  onRequest: [authenticate.user, authenticate.admin],
54
92
  schema: {
93
+ tags: ['管理后台-租户'],
94
+ summary: '获取租户基本信息',
55
95
  query: {
56
96
  type: 'object',
57
97
  properties: {
58
- id: { type: 'string' }
98
+ id: { type: 'string', description: '租户id' }
99
+ }
100
+ },
101
+ response: {
102
+ 200: {
103
+ content: {
104
+ 'application/json': {
105
+ schema: {
106
+ type: 'object',
107
+ properties: {
108
+ id: { type: 'string', description: '租户id' },
109
+ name: { type: 'string', description: '租户名称' },
110
+ description: { type: 'string', description: '租户简介' },
111
+ serviceStartTime: { type: 'string', description: '服务开始时间' },
112
+ serviceEndTime: { type: 'string', description: '服务结束时间' },
113
+ accountNumber: { type: 'number', description: '最大租户用户数量' },
114
+ status: { type: 'number', description: '0:正常,10:过期被关闭,11:已禁用,12:已关闭' },
115
+ createdAt: { type: 'string', description: '创建时间' },
116
+ updatedAt: { type: 'string', description: '更新时间' }
117
+ }
118
+ }
119
+ }
120
+ }
59
121
  }
60
122
  }
61
123
  }
@@ -71,11 +133,20 @@ module.exports = fp(async (fastify, options) => {
71
133
  {
72
134
  onRequest: [authenticate.user, authenticate.admin],
73
135
  schema: {
136
+ tags: ['管理后台-租户'],
137
+ summary: '关闭租户',
74
138
  body: {
75
139
  type: 'object',
76
140
  required: ['tenantId'],
77
141
  properties: {
78
- tenantId: { type: 'string' }
142
+ tenantId: { type: 'string', description: '租户id' }
143
+ }
144
+ },
145
+ response: {
146
+ 200: {
147
+ content: {
148
+ 'application/json': {}
149
+ }
79
150
  }
80
151
  }
81
152
  }
@@ -92,11 +163,20 @@ module.exports = fp(async (fastify, options) => {
92
163
  {
93
164
  onRequest: [authenticate.user, authenticate.admin],
94
165
  schema: {
166
+ tags: ['管理后台-租户'],
167
+ summary: '开启租户',
95
168
  body: {
96
169
  type: 'object',
97
170
  required: ['tenantId'],
98
171
  properties: {
99
- tenantId: { type: 'string' }
172
+ tenantId: { type: 'string', description: '租户id' }
173
+ }
174
+ },
175
+ response: {
176
+ 200: {
177
+ content: {
178
+ 'application/json': {}
179
+ }
100
180
  }
101
181
  }
102
182
  }
@@ -113,19 +193,26 @@ module.exports = fp(async (fastify, options) => {
113
193
  {
114
194
  onRequest: [authenticate.user, authenticate.admin],
115
195
  schema: {
196
+ tags: ['管理后台-租户'],
197
+ summary: '添加租户',
116
198
  body: {
117
199
  type: 'object',
118
200
  required: ['name', 'accountNumber', 'serviceStartTime', 'serviceEndTime'],
119
201
  properties: {
120
- name: { type: 'string' },
121
- accountNumber: { type: 'number' },
122
- serviceStartTime: {
123
- type: 'string',
124
- format: 'date-time'
125
- },
126
- serviceEndTime: {
127
- type: 'string',
128
- format: 'date-time'
202
+ name: { type: 'string', description: '租户名称' },
203
+ description: { type: 'string', description: '租户简介' },
204
+ serviceStartTime: { type: 'string', description: '服务开始时间' },
205
+ serviceEndTime: { type: 'string', description: '服务结束时间' },
206
+ accountNumber: { type: 'number', description: '最大租户用户数量' },
207
+ status: { type: 'number', description: '0:正常,10:过期被关闭,11:已禁用,12:已关闭' },
208
+ createdAt: { type: 'string', description: '创建时间' },
209
+ updatedAt: { type: 'string', description: '更新时间' }
210
+ }
211
+ },
212
+ response: {
213
+ 200: {
214
+ content: {
215
+ 'application/json': {}
129
216
  }
130
217
  }
131
218
  }
@@ -146,16 +233,18 @@ module.exports = fp(async (fastify, options) => {
146
233
  type: 'object',
147
234
  required: ['id', 'name', 'accountNumber', 'serviceStartTime', 'serviceEndTime'],
148
235
  properties: {
149
- id: { type: 'string' },
150
- name: { type: 'string' },
151
- accountNumber: { type: 'number' },
152
- serviceStartTime: {
153
- type: 'string',
154
- format: 'date-time'
155
- },
156
- serviceEndTime: {
157
- type: 'string',
158
- format: 'date-time'
236
+ id: { type: 'string', description: '租户id' },
237
+ name: { type: 'string', description: '租户名称' },
238
+ description: { type: 'string', description: '租户简介' },
239
+ serviceStartTime: { type: 'string', description: '服务开始时间' },
240
+ serviceEndTime: { type: 'string', description: '服务结束时间' },
241
+ accountNumber: { type: 'number', description: '最大租户用户数量' }
242
+ }
243
+ },
244
+ response: {
245
+ 200: {
246
+ content: {
247
+ 'application/json': {}
159
248
  }
160
249
  }
161
250
  }
@@ -3,7 +3,7 @@ const fp = require('fastify-plugin');
3
3
  module.exports = fp(async (fastify, options) => {
4
4
  const { models, services } = fastify.account;
5
5
 
6
- const getTenantInstance = async ({ id }) => {
6
+ const getTenantInstance = async ({ id, isClose = false }) => {
7
7
  const tenant = await models.tenant.findOne({
8
8
  where: {
9
9
  uuid: id
@@ -13,7 +13,7 @@ module.exports = fp(async (fastify, options) => {
13
13
  throw new Error('租户不存在');
14
14
  }
15
15
 
16
- if (tenant.status !== 0) {
16
+ if (tenant.status !== 0 && !isClose) {
17
17
  throw new Error('租户已关闭');
18
18
  }
19
19
  return tenant;
@@ -26,13 +26,13 @@ module.exports = fp(async (fastify, options) => {
26
26
  };
27
27
 
28
28
  const closeTenant = async ({ tenantId }) => {
29
- const tenant = await getTenant({ id: tenantId });
29
+ const tenant = await getTenantInstance({ id: tenantId });
30
30
  tenant.status = 12;
31
31
  await tenant.save();
32
32
  };
33
33
 
34
34
  const openTenant = async ({ tenantId }) => {
35
- const tenant = await getTenant({ id: tenantId });
35
+ const tenant = await getTenantInstance({ id: tenantId, isClose: true });
36
36
  tenant.status = 0;
37
37
  await tenant.save();
38
38
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kne/fastify-account",
3
- "version": "1.0.0-alpha.21",
3
+ "version": "1.0.0-alpha.22",
4
4
  "description": "fastify的用户管理账号等实现",
5
5
  "main": "index.js",
6
6
  "scripts": {