# 查看含授权的资源关系树
# 调用方式: GET
# 接口地址:
URL: https://api.freelog.com/v2/auths/resources/{resourceId}/relationTreeAuth
1
# url传入参数说明
参数 | 必选 | 类型及范围 | 说明 |
---|---|---|---|
resourceId | 必选 | string | 资源ID |
version | 可选 | string | 版本号,此参数优先于versionRange.一般只传一个 |
versionRange | 可选 | string | 版本号范围,系统自动匹配版本号 |
# 返回说明:
返回值字段 | 字段类型 | 字段说明 |
---|---|---|
resourceId | string | 资源ID |
resourceName | string | 资源名称 |
resourceType | string | 资源类型 |
versions | string | 资源所实际应用的版本集 |
versionIds | string | 资源所实际应用的版本ID集 |
versionRanges | string[] | 版本范围 |
downstreamAuthContractIds | string[] | 下游解决当前资源所用的合约ID集 |
downstreamIsAuth | bool | 下游对当前资源的授权是否通过 |
selfAndUpstreamIsAuth | int | 当前资源对自身解决的或上游解决的授权是否通过 |
children | object[] | 递归,数据结构如上 |
# 针对前端的授权状态展示说明:
downstreamIsAuth是用来做是否显示有带执行的合约的.实际指的是根资源是否就地解决了依赖以及依赖的上抛(关系树)
如果根资源选择了继续上抛,那么值为true.交给未知的下游解决来解决.如果值为false,则代表跟资源解决了,但是授权未通过.
所以此处就根据downstreamAuthContractIds去获取对应的合约.然后做待执行操作.
selfAndUpstreamIsAuth是用来做是否显示授权链错误的黄色叹号提示. 实际指的是授权链上有授权问题.但是问题的解决方案不属于根资源.
只能由对应的依赖资源或者依赖的上抛资源自身去解决.例如依赖的A资源解决了自身的B依赖.但是合约授权不通过.此时问题只能右A自己去解决.
# 示例
{
"ret": 0,
"errCode": 0,
"errcode": 0,
"msg": "success",
"data": [{
"resourceId": "60068975973b31003a4fbf29",
"resourceName": "chtes/依赖3上抛3",
"resourceType": "image",
"versionRanges": [],
"versions": ["0.1.0"],
"versionIds": ["4cd8cdf126cf8fce9026f9f972727203"],
"children": [{
"resourceId": "5f9fb45a6bb6b9002e348697",
"resourceName": "chtes/testimage",
"resourceType": "image",
"versionRanges": ["^4.4.1"],
"versions": ["4.4.1"],
"versionIds": ["759b1b3fca3adaa1a971433461884e95"],
"children": [],
"downstreamAuthContractIds": [],
"downstreamIsAuth": true,
"selfAndUpstreamIsAuth": false
}, {
"resourceId": "5feacb45b851b5002e59d8cd",
"resourceName": "chtes/西班牙奥尔德萨和佩尔迪多山国家公园中的奥尔德萨峡谷",
"resourceType": "image",
"versionRanges": ["^2.0.0"],
"versions": ["2.0.0"],
"versionIds": ["39978e9d5c0a56d6da791a41cd8931f3"],
"children": [],
"downstreamAuthContractIds": [],
"downstreamIsAuth": true,
"selfAndUpstreamIsAuth": true
}, {
"resourceId": "5fed998deb3583002f209378",
"resourceName": "chtes/依赖1上抛1",
"resourceType": "markdown",
"versionRanges": ["^1.0.0"],
"versions": ["1.0.0"],
"versionIds": ["718de3c24381da1af71f809d4e92c9d4"],
"children": [{
"resourceId": "5feacb45b851b5002e59d8cd",
"resourceName": "chtes/西班牙奥尔德萨和佩尔迪多山国家公园中的奥尔德萨峡谷",
"resourceType": "image",
"versionRanges": [],
"versions": [],
"versionIds": [],
"downstreamIsAuth": true,
"selfAndUpstreamIsAuth": true,
"downstreamAuthContractIds": [],
"children": []
}],
"downstreamAuthContractIds": [],
"downstreamIsAuth": true,
"selfAndUpstreamIsAuth": true
}]
}]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60