Ejemplo n.º 1
0
            // TODO: 缺少方法 listResources

            public async Task <Resources> CreateResource(string appId, CreateResourceParam createResourceParam, CancellationToken cancellationToken = default)
            {
                createResourceParam.NameSpace = appId;
                var res = await aclManagementClient.CreateResource(createResourceParam, cancellationToken);

                return(res);
            }
            public async Task <Resources> CreateResource(CreateResourceParam createResourceParam, CancellationToken cancellationToken = default)
            {
                if (createResourceParam.Code == null)
                {
                    throw new Exception("请为资源设定一个资源标识符");
                }
                if (createResourceParam.Actions?.Length < 1)
                {
                    throw new Exception("请至少定义一个资源操作");
                }
                if (createResourceParam.NameSpace == null)
                {
                    throw new Exception("请传入权限分组标识符");
                }
                var res = await client.Host.AppendPathSegment("api/v2/resources").WithOAuthBearerToken(client.Token).PostJsonAsync(createResourceParam.ConvertJson(), cancellationToken).ReceiveJson <Resources>();

                return(res);
            }