Skip to content

Commit

Permalink
refactor
Browse files Browse the repository at this point in the history
  • Loading branch information
memoryz committed Mar 8, 2024
1 parent a68f25e commit a3a7ae7
Show file tree
Hide file tree
Showing 12 changed files with 36 additions and 130 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ public async Task TestCreate()
""credential_name"": ""string"",
""read_only"": true,
""comment"": ""string"",
""skip_validation"": ""true""
""skip_validation"": true
}
";

Expand Down Expand Up @@ -161,10 +161,10 @@ public async Task TestUpdate()
""name"": ""string"",
""url"": ""string"",
""credential_name"": ""string"",
""read_only"": ""true"",
""read_only"": true,
""comment"": ""string"",
""owner"": ""string"",
""force"": ""true""
""force"": true
}
";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
using System;
using System.Buffers.Text;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;

namespace Microsoft.Azure.Databricks.Client.Models.UnityCatalog;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.Generic;
using System.Text.Json.Serialization;
using System.Threading.Tasks;

namespace Microsoft.Azure.Databricks.Client.Models.UnityCatalog;

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,13 @@ public record LineageObjectAttributes
[JsonPropertyName("table_type")]
public string TableType { get; set; }
}

public record TableInfo : LineageObjectAttributes
{
}

public record ColumnInfo : LineageObjectAttributes
{
[JsonPropertyName("table_name")]
public string TableName { get; set; }
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.Generic;
using System.Text.Json.Serialization;
using System.Threading.Tasks;

namespace Microsoft.Azure.Databricks.Client.Models.UnityCatalog;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text.Json.Serialization;

namespace Microsoft.Azure.Databricks.Client.Models.UnityCatalog;
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,9 @@ public async Task<IEnumerable<Catalog>> List(CancellationToken cancellationToken
public async Task<Catalog> Create(CatalogAttributes catalog, CancellationToken cancellationToken = default)
{
var requestUri = $"{BaseUnityCatalogUri}/catalogs";
var request = JsonSerializer.SerializeToNode(catalog, Options).AsObject();
var response = await HttpPost<JsonObject, JsonObject>
(this.HttpClient, requestUri, request, cancellationToken)
.ConfigureAwait(false);

return JsonSerializer.Deserialize<Catalog>(response, Options);
return await HttpPost<CatalogAttributes, Catalog>(this.HttpClient, requestUri, catalog, cancellationToken)
.ConfigureAwait(false);
}

public async Task<Catalog> Get(string catalogName, CancellationToken cancellationToken = default)
Expand All @@ -52,30 +49,13 @@ public async Task<Catalog> Update(
CancellationToken cancellationToken = default)
{
var requestUri = $"{BaseUnityCatalogUri}/catalogs/{catalogName}";

var request = new
{
name,
owner,
comment,
isolation_mode = isolationMode
};

var requestJson = JsonSerializer.SerializeToNode(request, Options).AsObject();

if (properties != null)
{
var propertiesJson = JsonSerializer.SerializeToNode(properties, Options);
requestJson.Add("properties", propertiesJson);
}

return await HttpPatch<JsonObject, Catalog>(HttpClient, requestUri, requestJson, cancellationToken).ConfigureAwait(false);
var request = new { name, owner, comment, isolation_mode = isolationMode, properties };
return await HttpPatch<dynamic, Catalog>(HttpClient, requestUri, request, cancellationToken).ConfigureAwait(false);
}

public async Task Delete(string catalogName, bool forceDeletion = false, CancellationToken cancellationToken = default)
{
var requestUri = $"{BaseUnityCatalogUri}/catalogs/{catalogName}?force={forceDeletion.ToString().ToLower()}";

await HttpDelete(HttpClient, requestUri, cancellationToken).ConfigureAwait(false);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
using System.Text.Json.Nodes;
using System.Threading;
using System.Threading.Tasks;
using System.Xml.Linq;

namespace Microsoft.Azure.Databricks.Client.UnityCatalog;

Expand All @@ -20,9 +19,7 @@ public async Task<IEnumerable<Connection>> List(CancellationToken cancellationTo
{
var requestUri = $"{BaseUnityCatalogUri}/connections";
var connectionsList = await HttpGet<JsonObject>(this.HttpClient, requestUri, cancellationToken).ConfigureAwait(false);

connectionsList.TryGetPropertyValue("connections", out var connections);

return connections?.Deserialize<IEnumerable<Connection>>(Options) ?? Enumerable.Empty<Connection>();
}

Expand All @@ -31,8 +28,7 @@ public async Task<Connection> Create(
CancellationToken cancellationToken = default)
{
var requestUri = $"{BaseUnityCatalogUri}/connections";
var requestJson = JsonSerializer.SerializeToNode(connectionAttributes, Options).AsObject();
return await HttpPost<JsonObject, Connection>(HttpClient, requestUri, requestJson, cancellationToken).ConfigureAwait(false);
return await HttpPost<ConnectionAttributes, Connection>(HttpClient, requestUri, connectionAttributes, cancellationToken).ConfigureAwait(false);
}

public async Task<Connection> Get(string name, CancellationToken cancellationToken = default)
Expand All @@ -49,21 +45,8 @@ public async Task<Connection> Update(
CancellationToken cancellationToken = default)
{
var requestUri = $"{BaseUnityCatalogUri}/connections/{connectionName}";

var request = new Dictionary<string, string>()
{
{"name", name }
};

var requestJson = JsonSerializer.SerializeToNode(request, Options).AsObject();
requestJson.Add("options", JsonSerializer.SerializeToNode(options));

if (owner != null)
{
requestJson.Add("owner", owner);
}

return await HttpPatch<JsonObject, Connection>(HttpClient, requestUri, requestJson, cancellationToken).ConfigureAwait(false);
var request = new { name, options, owner };
return await HttpPatch<dynamic, Connection>(HttpClient, requestUri, request, cancellationToken).ConfigureAwait(false);
}

public async Task Delete(string connectionName, CancellationToken cancellationToken = default)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,23 +20,17 @@ public ExternalLocationsApiClient(HttpClient httpClient) : base(httpClient)
public async Task<IEnumerable<ExternalLocation>> List(CancellationToken cancellationToken = default)
{
var externalLocationsList = await HttpGet<JsonObject>(HttpClient, this.ExternalLocationsApiUri, cancellationToken).ConfigureAwait(false);

externalLocationsList.TryGetPropertyValue("external_locations", out var externalLocations);
return externalLocations?.Deserialize<IEnumerable<ExternalLocation>>(Options) ?? Enumerable.Empty<ExternalLocation>();
}

public async Task<ExternalLocation> Create(
ExternalLocationAttributes attributes,
bool? skipValidation = default,
bool skipValidation = default,
CancellationToken cancellationToken = default)
{
var request = JsonSerializer.SerializeToNode(attributes)!.AsObject();

if (skipValidation != null)
{
request.Add("skip_validation", skipValidation.ToString().ToLower());
}

request.Add("skip_validation", skipValidation);
return await HttpPost<JsonObject, ExternalLocation>(HttpClient, this.ExternalLocationsApiUri, request, cancellationToken).ConfigureAwait(false);
}

Expand All @@ -59,45 +53,18 @@ public async Task<ExternalLocation> Update(
{
var requestUri = $"{this.ExternalLocationsApiUri}/{externaLocationName}";

var request = new Dictionary<string, string>();

if (newName != null)
{
request["name"] = newName;
}

if (url != null)
{
request["url"] = url;
}

if (credentialName != null)
var request = new
{
request["credential_name"] = credentialName;
}

if (readOnly != null)
{
request["read_only"] = readOnly.ToString().ToLower();
}

if (comment != null)
{
request["comment"] = comment;
}

if (owner != null)
{
request["owner"] = owner;
}

if (force != null)
{
request["force"] = force.ToString().ToLower();
}

var requestJson = JsonSerializer.SerializeToNode(request, Options).AsObject();
return await HttpPatch<JsonObject, ExternalLocation>(HttpClient, requestUri, requestJson, cancellationToken).ConfigureAwait(false);
name = newName,
url,
credential_name = credentialName,
read_only = readOnly,
comment,
owner,
force
};

return await HttpPatch<dynamic, ExternalLocation>(HttpClient, requestUri, request, cancellationToken).ConfigureAwait(false);
}

public async Task Delete(string name, CancellationToken cancellationToken = default)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public interface IExternalLocationsApi : IDisposable
/// </summary>
Task<ExternalLocation> Create(
ExternalLocationAttributes attributes,
bool? skipValidation = default,
bool skipValidation = default,
CancellationToken cancellationToken = default);

/// <summary>
Expand Down

0 comments on commit a3a7ae7

Please sign in to comment.