Skip to content

Commit 2d0f39e

Browse files
authored
Refactor Admin and Upload APIs
1 parent 97f7558 commit 2d0f39e

File tree

6 files changed

+2899
-3091
lines changed

6 files changed

+2899
-3091
lines changed

CloudinaryDotNet/ApiShared.Internal.cs

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -73,11 +73,7 @@ internal virtual Task<T> CallApiAsync<T>(
7373
CancellationToken? cancellationToken = null)
7474
where T : BaseResult, new()
7575
{
76-
parameters?.Check();
77-
78-
var callParams = (method == HttpMethod.PUT || method == HttpMethod.POST)
79-
? parameters?.ToParamsDictionary()
80-
: null;
76+
var callParams = GetCallParams(method, parameters);
8177

8278
return CallAndParseAsync<T>(method, url, callParams, file, extraHeaders, cancellationToken);
8379
}
@@ -95,12 +91,12 @@ internal virtual Task<T> CallApiAsync<T>(
9591
internal virtual T CallApi<T>(HttpMethod method, string url, BaseParams parameters, FileDescription file, Dictionary<string, string> extraHeaders = null)
9692
where T : BaseResult, new()
9793
{
98-
parameters?.Check();
94+
var callParams = GetCallParams(method, parameters);
9995

10096
return CallAndParse<T>(
10197
method,
10298
url,
103-
(method == HttpMethod.PUT || method == HttpMethod.POST) ? parameters?.ToParamsDictionary() : null,
99+
callParams,
104100
file,
105101
extraHeaders);
106102
}
@@ -252,6 +248,14 @@ protected void HandleUnsignedParameters(IDictionary<string, object> parameters)
252248
}
253249
}
254250

251+
private static SortedDictionary<string, object> GetCallParams(HttpMethod method, BaseParams parameters)
252+
{
253+
parameters?.Check();
254+
return (method == HttpMethod.PUT || method == HttpMethod.POST)
255+
? parameters?.ToParamsDictionary()
256+
: null;
257+
}
258+
255259
private static T CreateResult<T>(HttpResponseMessage response, Stream s)
256260
where T : BaseResult
257261
{

CloudinaryDotNet/Cloudinary.MetadataFields.cs renamed to CloudinaryDotNet/Cloudinary.AdminApi.MetadataFields.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public partial class Cloudinary
1818
public MetadataFieldResult AddMetadataField<T>(MetadataFieldCreateParams<T> parameters)
1919
{
2020
var url = m_api.ApiUrlMetadataFieldV.BuildUrl();
21-
var result = m_api.CallApi<MetadataFieldResult>(HttpMethod.POST, url, parameters, null, PrepareHeaders());
21+
var result = CallAdminApiAsync<MetadataFieldResult>(HttpMethod.POST, url, parameters, null, PrepareHeaders()).GetAwaiter().GetResult();
2222
return result;
2323
}
2424

@@ -28,8 +28,8 @@ public MetadataFieldResult AddMetadataField<T>(MetadataFieldCreateParams<T> para
2828
/// <returns>Parsed list of metadata field definitions.</returns>
2929
public MetadataFieldListResult ListMetadataFields()
3030
{
31-
var result = m_api.CallApi<MetadataFieldListResult>(
32-
HttpMethod.GET, m_api.ApiUrlMetadataFieldV.BuildUrl(), null, null);
31+
var result = CallAdminApiAsync<MetadataFieldListResult>(
32+
HttpMethod.GET, m_api.ApiUrlMetadataFieldV.BuildUrl(), null, null).GetAwaiter().GetResult();
3333
return result;
3434
}
3535

@@ -41,7 +41,7 @@ public MetadataFieldListResult ListMetadataFields()
4141
public MetadataFieldResult GetMetadataField(string fieldExternalId)
4242
{
4343
var url = m_api.ApiUrlMetadataFieldV.Add(fieldExternalId).BuildUrl();
44-
var result = m_api.CallApi<MetadataFieldResult>(HttpMethod.GET, url, null, null);
44+
var result = CallAdminApiAsync<MetadataFieldResult>(HttpMethod.GET, url, null, null).GetAwaiter().GetResult();
4545
return result;
4646
}
4747

@@ -61,7 +61,7 @@ public MetadataFieldResult UpdateMetadataField<T>(string fieldExternalId, Metada
6161
}
6262

6363
var url = m_api.ApiUrlMetadataFieldV.Add(fieldExternalId).BuildUrl();
64-
var result = m_api.CallApi<MetadataFieldResult>(HttpMethod.PUT, url, parameters, null, PrepareHeaders());
64+
var result = CallAdminApiAsync<MetadataFieldResult>(HttpMethod.PUT, url, parameters, null, PrepareHeaders()).GetAwaiter().GetResult();
6565
return result;
6666
}
6767

@@ -81,7 +81,7 @@ public MetadataDataSourceResult UpdateMetadataDataSourceEntries(string fieldExte
8181
}
8282

8383
var url = m_api.ApiUrlMetadataFieldV.Add(fieldExternalId).Add(Constants.DATASOURCE_MANAGMENT).BuildUrl();
84-
var result = m_api.CallApi<MetadataDataSourceResult>(HttpMethod.PUT, url, parameters, null, PrepareHeaders());
84+
var result = CallAdminApiAsync<MetadataDataSourceResult>(HttpMethod.PUT, url, parameters, null, PrepareHeaders()).GetAwaiter().GetResult();
8585
return result;
8686
}
8787

@@ -99,7 +99,7 @@ public DelMetadataFieldResult DeleteMetadataField(string fieldExternalId)
9999
}
100100

101101
var url = m_api.ApiUrlMetadataFieldV.Add(fieldExternalId).BuildUrl();
102-
var result = m_api.CallApi<DelMetadataFieldResult>(HttpMethod.DELETE, url, null, null);
102+
var result = CallAdminApiAsync<DelMetadataFieldResult>(HttpMethod.DELETE, url, null, null).GetAwaiter().GetResult();
103103
return result;
104104
}
105105

@@ -113,7 +113,7 @@ public DelMetadataFieldResult DeleteMetadataField(string fieldExternalId)
113113
public MetadataDataSourceResult DeleteMetadataDataSourceEntries(string fieldExternalId, List<string> entriesExternalIds)
114114
{
115115
var url = PrepareUrlForDatasourceOperation(fieldExternalId, entriesExternalIds, Constants.DATASOURCE_MANAGMENT);
116-
var result = m_api.CallApi<MetadataDataSourceResult>(HttpMethod.DELETE, url, null, null);
116+
var result = CallAdminApiAsync<MetadataDataSourceResult>(HttpMethod.DELETE, url, null, null).GetAwaiter().GetResult();
117117
return result;
118118
}
119119

@@ -127,7 +127,7 @@ public MetadataDataSourceResult DeleteMetadataDataSourceEntries(string fieldExte
127127
public MetadataDataSourceResult RestoreMetadataDataSourceEntries(string fieldExternalId, List<string> entriesExternalIds)
128128
{
129129
var url = PrepareUrlForDatasourceOperation(fieldExternalId, entriesExternalIds, $"{Constants.DATASOURCE_MANAGMENT}_restore");
130-
var result = m_api.CallApi<MetadataDataSourceResult>(HttpMethod.POST, url, null, null);
130+
var result = CallAdminApiAsync<MetadataDataSourceResult>(HttpMethod.POST, url, null, null).GetAwaiter().GetResult();
131131
return result;
132132
}
133133

@@ -145,7 +145,7 @@ public MetadataUpdateResult UpdateMetadata(MetadataUpdateParams parameters)
145145
Add(Api.GetCloudinaryParam(parameters.ResourceType)).
146146
Add(Constants.METADATA).
147147
BuildUrl();
148-
var result = m_api.CallApi<MetadataUpdateResult>(HttpMethod.POST, url, parameters, null);
148+
var result = CallAdminApiAsync<MetadataUpdateResult>(HttpMethod.POST, url, parameters, null).GetAwaiter().GetResult();
149149
return result;
150150
}
151151

CloudinaryDotNet/Cloudinary.StreamingProfiles.cs renamed to CloudinaryDotNet/Cloudinary.AdminApi.StreamingProfiles.cs

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -115,12 +115,10 @@ public StreamingProfileResult GetStreamingProfile(string name)
115115
/// <returns>Detailed information about streaming profiles.</returns>
116116
public Task<StreamingProfileListResult> ListStreamingProfilesAsync(CancellationToken? cancellationToken = null)
117117
{
118-
return m_api.CallApiAsync<StreamingProfileListResult>(
118+
return CallAdminApiAsync<StreamingProfileListResult>(
119119
HttpMethod.GET,
120120
m_api.ApiUrlStreamingProfileV.BuildUrl(),
121121
null,
122-
null,
123-
null,
124122
cancellationToken);
125123
}
126124

@@ -130,8 +128,7 @@ public Task<StreamingProfileListResult> ListStreamingProfilesAsync(CancellationT
130128
/// <returns>Detailed information about streaming profiles.</returns>
131129
public StreamingProfileListResult ListStreamingProfiles()
132130
{
133-
return m_api.CallApi<StreamingProfileListResult>(
134-
HttpMethod.GET, m_api.ApiUrlStreamingProfileV.BuildUrl(), null, null);
131+
return ListStreamingProfilesAsync().GetAwaiter().GetResult();
135132
}
136133

137134
private static void ValidateCallStreamingProfileApiParameters(string name, StreamingProfileUpdateParams parameters)
@@ -162,22 +159,20 @@ private Task<StreamingProfileResult> CallStreamingProfileApiAsync(
162159
CancellationToken? cancellationToken,
163160
string name = null)
164161
{
165-
return m_api.CallApiAsync<StreamingProfileResult>(
162+
return CallAdminApiAsync<StreamingProfileResult>(
166163
httpMethod,
167164
m_api.ApiUrlStreamingProfileV.Add(name).BuildUrl(),
168165
parameters,
169-
null,
170-
null,
171166
cancellationToken);
172167
}
173168

174169
private StreamingProfileResult CallStreamingProfileApi(HttpMethod httpMethod, BaseParams parameters, string name = null)
175170
{
176-
return m_api.CallApi<StreamingProfileResult>(
171+
return CallStreamingProfileApiAsync(
177172
httpMethod,
178-
m_api.ApiUrlStreamingProfileV.Add(name).BuildUrl(),
179173
parameters,
180-
null);
174+
null,
175+
name).GetAwaiter().GetResult();
181176
}
182177
}
183178
}

0 commit comments

Comments
 (0)