diff --git a/op/API.md b/op/API.md
index b3acfbe..d579cc8 100644
--- a/op/API.md
+++ b/op/API.md
@@ -144,12 +144,6 @@ POST /v1/users
string |
false |
职位 |
-
-
- ext_prop |
- json |
- false |
- 扩展信息,json对象{"age": 18, "love": "足球"} |
status |
@@ -166,7 +160,7 @@ POST /v1/users
idp_config_id |
number |
- false |
+ true |
身份源ID,作为创建时记录,不做更新 |
@@ -174,12 +168,24 @@ POST /v1/users
boolean |
false |
是否通知:默认不传false不通知,true通知 |
+
+
+ sys_ext_props |
+ object |
+ false |
+ 系统扩展属性,json对象{"age": 18, "love": "足球"} |
+
+
+ free_ext_props |
+ object |
+ false |
+ 自由扩展属性,json对象 |
-#### 锁定用户
+#### 锁定用户(旧)
``` js
const { data } = await op.api.user.disable(params) ;
@@ -212,7 +218,7 @@ PATCH /v1/users/{id}/disable
-#### 解锁用户
+#### 解锁用户(旧)
``` js
const { data } = await op.api.user.enable(params) ;
@@ -245,7 +251,7 @@ PATCH /v1/users/{id}/enable
-#### 批量锁定用户
+#### 批量锁定用户(旧)
``` js
const { data } = await op.api.user.batchDisable(params) ;
@@ -278,7 +284,7 @@ POST /v1/jobs/users-disable
-#### 批量解锁用户
+#### 批量解锁用户(旧)
``` js
const { data } = await op.api.user.batchEnable(params) ;
@@ -429,12 +435,6 @@ PATCH /v1/users/{id}
string |
false |
职位 |
-
-
- ext_prop |
- json |
- false |
- 扩展信息,json对象{"age": 18, "love": "足球"} |
last_login_ipaddr |
@@ -447,6 +447,18 @@ PATCH /v1/users/{id}
string |
false |
上次登录时间 |
+
+
+ sys_ext_props |
+ object |
+ false |
+ 系统扩展信息,json对象{"age": 18, "love": "足球"} |
+
+
+ free_ext_props |
+ object |
+ false |
+ 自由扩展属性,json对象 |
@@ -485,7 +497,7 @@ DELETE /v1/users/{id}
-#### 批量删除用户
+#### 批量删除用户(旧)
``` js
const { data } = await op.api.user.batchDelete(params) ;
@@ -556,13 +568,25 @@ GET /v1/users
search_type |
string |
false |
- 默认按用户字段搜索,当值为:generic时,全文检索 |
+ 默认按用户基础字段搜索;当值为:generic时,全文检索 |
keyword |
string |
false |
检索值 |
+
+
+ time_modified_from |
+ string |
+ false |
+ 开始时间 |
+
+
+ time_modified_to |
+ string |
+ false |
+ 结束时间 |
@@ -602,7 +626,7 @@ GET /v1/users/{id}
-#### 修改密码
+#### 修改密码(旧)
``` js
const { data } = await op.api.user.modifyPassword(params) ;
@@ -874,91 +898,97 @@ POST /v1/applications
name |
string |
false |
- 应用名称 |
+ |
type |
string |
false |
- 应用类型1,自建应用,2模板应用(市场应用) |
+ 1,自建应用,2模板应用(市场应用) |
template_id |
string |
false |
- 模板id,不填写则代表自建应用 |
+ 不填写则代表自建应用 |
category |
string |
false |
- 应用分类,1 标准web应用,2单页web应用,3客户端应用,4后端服务 |
+ 1 标准web应用,2单页web应用,3客户端应用,4后端服务 |
descr |
string |
false |
- 应用描述 |
+ |
logo |
string |
false |
- logo路径,格式为:http://ip:port/logo.png |
+ 格式为:http://ip:port/logo.png |
login_url |
string |
false |
- 登录路径 |
+ |
redirect_url |
string |
false |
- 重定向路径 |
+ |
logout_url |
string |
false |
- 登出路径 |
+ |
sub_account_policy |
string |
false |
- 子账号策略,1启用,0不启用,启用后单点登录返回 |
-
-
- prop |
- object |
- false |
- kv字典数据 |
+ 1启用,0不启用,启用后单点登录返回 |
protocol_type |
string |
false |
- 如果不传默认是oidc |
+ 默认 oidc |
protocol_prop |
object |
false |
- 单点登录协议属性,如果不存在则为oidc的配置 |
+ 默认 oidc 相关配置 |
config_prop |
object |
false |
- 应用配置属性 |
+ |
domain_sn |
string |
false |
域名 |
+
+
+ sys_ext_props |
+ object |
+ false |
+ kv字典数据 |
+
+
+ free_ext_props |
+ object |
+ false |
+ kv字典数据 |
@@ -997,73 +1027,67 @@ PATCH /v1/applications/{id}
name |
string |
false |
- 应用名称 |
+ |
type |
string |
false |
- 应用类型,1自建应用,2市场应用 |
+ 1自建应用,2市场应用 |
app_id |
string |
false |
- 应用key |
+ |
app_secret |
string |
false |
- 应用secret,拥有管理员权限时返回 |
+ |
category |
string |
false |
- 应用分类 |
+ |
descr |
string |
false |
- 应用描述 |
+ |
logo |
null |
false |
- logo路径 |
+ |
login_url |
string |
false |
- 登录路径 |
+ |
redirect_url |
string |
false |
- 重定向路径 |
+ |
logout_url |
string |
false |
- 登出路径 |
+ |
sub_account_policy |
string |
false |
- 子账号策略 |
-
-
- prop |
- object |
- false |
- 扩展属性 |
+ |
status |
@@ -1075,7 +1099,19 @@ PATCH /v1/applications/{id}
domain_sn |
string |
false |
- 应用 Domain SN |
+ |
+
+
+ sys_ext_props |
+ object |
+ false |
+ |
+
+
+ free_ext_props |
+ object |
+ false |
+ |
@@ -1469,7 +1505,7 @@ PATCH /v1/applications/{id}/configs
reg_policy |
- string |
+ array |
false |
新用户注册策略(是否允许自动注册,注册验证方式等),1是,2否, |
@@ -1933,55 +1969,61 @@ POST /v1/applications/{id}/accounts
user_id |
string |
false |
- 用户唯一标识 |
+ |
app_id |
string |
false |
- 应用唯一标识 |
+ |
acc_name |
string |
false |
- 帐号名 |
+ |
acc_name_displayed |
string |
false |
- 显示名 |
+ |
acc_source |
string |
false |
- 帐号来源 |
+ |
acc_password |
string |
false |
- 帐号密码 |
+ |
acc_status |
string |
false |
- 帐号状态,1启用,0禁用 |
+ 1启用,0禁用 |
- acc_prop |
+ sys_ext_props |
object |
false |
- 扩展属性 |
+ |
- usernmae |
+ free_ext_props |
+ object |
+ false |
+ |
+
+
+ username |
string |
false |
- 用户名称 |
+ |
@@ -2026,49 +2068,55 @@ PUT /v1/applications/{app_id}/accounts/{id}
user_id |
string |
false |
- 用户唯一标识 |
+ |
app_id |
string |
false |
- 应用唯一标识 |
+ |
acc_name |
string |
false |
- 帐号名 |
+ |
acc_name_displayed |
string |
false |
- 显示名 |
+ |
acc_source |
string |
false |
- 帐号来源 |
+ |
acc_password |
string |
false |
- 密码 |
+ |
acc_status |
string |
false |
- 状态,1启用,0禁用 |
+ 1启用,0禁用 |
- acc_prop |
+ sys_ext_props |
object |
false |
- 扩展属性 |
+ |
+
+
+ free_ext_props |
+ object |
+ false |
+ |
@@ -3828,7 +3876,7 @@ DELETE /v1/core-objects/{id}
-#### 添加用户到节点
+#### 添加用户到节点 TODO
``` js
const { data } = await op.api.organization.addUserToNode(params) ;
@@ -4059,7 +4107,7 @@ GET /v1/tree-nodes/{id}/tree-users
-#### 批量从组织关系中移除用户-内部使用
+#### 批量从组织关系中移除用户-内部使用 TODO
``` js
const { data } = await op.api.organization.deleteNodeMembers(params) ;
@@ -4248,7 +4296,7 @@ PATCH /v1/tree-nodes/{id}
-#### 删除节点
+#### 删除节点 TODO
``` js
const { data } = await op.api.organization.deleteChildrenNodes(params) ;
@@ -4332,6 +4380,18 @@ GET /v1/tree-nodes
string |
false |
标签 |
+
+
+ time_modified_from |
+ string |
+ false |
+ 更新时间起点 |
+
+
+ time_modified_to |
+ string |
+ false |
+ 更新时间终点,默认至今 |
@@ -4417,3 +4477,283 @@ GET /v1/tree-nodes/{id}/children
+
+### storage
+
+#### 获取 Bucket 列表
+
+``` js
+const { data } = await op.api.storage.getBuckets(params) ;
+```
+
+GET /v1/buckets
+
+##### param properties
+
+
+
+
+ 名称 |
+ 类型 |
+ 是否必须 |
+ 描述 |
+
+
+
+
+
+
+ last |
+ string |
+ false |
+ 最后一个bucket的名字 |
+
+
+ limit |
+ integer |
+ false |
+ 页大小 |
+
+
+
+
+
+
+#### 获取 Object 列表
+
+``` js
+const { data } = await op.api.storage.getObjects(params) ;
+```
+
+GET /v1/buckets/{bucket}/objects
+
+##### param properties
+
+
+
+
+ 名称 |
+ 类型 |
+ 是否必须 |
+ 描述 |
+
+
+
+
+
+ bucket |
+ string |
+ true |
+ bucket名称 |
+
+
+
+ last |
+ string |
+ false |
+ 最后一个object的名字 |
+
+
+ limit |
+ integer |
+ false |
+ 页大小 |
+
+
+
+
+
+
+#### 获取 Bucket 详情
+
+``` js
+const { data } = await op.api.storage.getBucket(params) ;
+```
+
+GET /v1/buckets/{bucket}
+
+##### param properties
+
+
+
+
+ 名称 |
+ 类型 |
+ 是否必须 |
+ 描述 |
+
+
+
+
+
+ bucket |
+ string |
+ true |
+ bucket 名称 |
+
+
+
+
+
+
+
+#### 删除 Bucket
+
+``` js
+const { data } = await op.api.storage.deleteBucket(params) ;
+```
+
+DELETE /v1/buckets/{bucket}
+
+##### param properties
+
+
+
+
+ 名称 |
+ 类型 |
+ 是否必须 |
+ 描述 |
+
+
+
+
+
+ bucket |
+ string |
+ true |
+ bucket 名称 |
+
+
+
+
+
+
+
+#### 创建 Object
+
+``` js
+const { data } = await op.api.storage.saveObject(params) ;
+```
+
+POST /v1/buckets/{bucket}/objects
+
+##### param properties
+
+
+
+
+ 名称 |
+ 类型 |
+ 是否必须 |
+ 描述 |
+
+
+
+
+
+ bucket |
+ string |
+ true |
+ bucket名称 |
+
+
+
+
+ key |
+ string |
+ false |
+ |
+
+
+ value |
+ string |
+ false |
+ |
+
+
+
+
+
+#### 获取 Object 详情
+
+``` js
+const { data } = await op.api.storage.getObject(params) ;
+```
+
+GET /v1/buckets/{bucket}/objects/{key}
+
+##### param properties
+
+
+
+
+ 名称 |
+ 类型 |
+ 是否必须 |
+ 描述 |
+
+
+
+
+
+ bucket |
+ string |
+ true |
+ bucket名称 |
+
+
+ key |
+ string |
+ true |
+ 键 |
+
+
+
+
+
+
+
+#### 删除 Object
+
+``` js
+const { data } = await op.api.storage.deleteObject(params) ;
+```
+
+DELETE /v1/buckets/{bucket}/objects/{key}
+
+##### param properties
+
+
+
+
+ 名称 |
+ 类型 |
+ 是否必须 |
+ 描述 |
+
+
+
+
+
+ bucket |
+ string |
+ true |
+ bucket名称 |
+
+
+ key |
+ string |
+ true |
+ 键 |
+
+
+
+ key_as_prefix |
+ string |
+ false |
+ 将键名称作为前缀执行删除 |
+
+
+
+