# 查看含授权的资源关系树

# 调用方式: 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