@wictorwilen/cocogen 1.0.50 → 1.1.0-preview.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +41 -0
- package/README.md +3 -3
- package/data/graph-capabilities.json +853 -0
- package/data/graph-external-connectors-principal.json +45 -0
- package/data/graph-profile-schema.json +322 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +38 -8
- package/dist/cli.js.map +1 -1
- package/dist/graph/capabilities.d.ts +29 -0
- package/dist/graph/capabilities.d.ts.map +1 -0
- package/dist/graph/capabilities.js +16 -0
- package/dist/graph/capabilities.js.map +1 -0
- package/dist/graph/requirements.d.ts +22 -0
- package/dist/graph/requirements.d.ts.map +1 -0
- package/dist/graph/requirements.js +102 -0
- package/dist/graph/requirements.js.map +1 -0
- package/dist/init/dotnet/generator.d.ts.map +1 -1
- package/dist/init/dotnet/generator.js +94 -22
- package/dist/init/dotnet/generator.js.map +1 -1
- package/dist/init/dotnet/people-entity.d.ts.map +1 -1
- package/dist/init/dotnet/people-entity.js +69 -24
- package/dist/init/dotnet/people-entity.js.map +1 -1
- package/dist/init/helpers/schema.d.ts +5 -1
- package/dist/init/helpers/schema.d.ts.map +1 -1
- package/dist/init/helpers/schema.js +8 -0
- package/dist/init/helpers/schema.js.map +1 -1
- package/dist/init/init.d.ts.map +1 -1
- package/dist/init/init.js +17 -23
- package/dist/init/init.js.map +1 -1
- package/dist/init/people/graph-types.d.ts +4 -0
- package/dist/init/people/graph-types.d.ts.map +1 -1
- package/dist/init/people/graph-types.js +14 -3
- package/dist/init/people/graph-types.js.map +1 -1
- package/dist/init/templates/dotnet/Core/ConnectorCore.cs.ejs +242 -44
- package/dist/init/templates/dotnet/Core/PeoplePayload.cs.ejs +34 -82
- package/dist/init/templates/dotnet/Core/Principal.cs.ejs +16 -18
- package/dist/init/templates/dotnet/Generated/Constants.cs.ejs +8 -0
- package/dist/init/templates/dotnet/Generated/FromRow.cs.ejs +1 -1
- package/dist/init/templates/dotnet/Generated/Model.cs.ejs +1 -1
- package/dist/init/templates/dotnet/Program.commandline.cs.ejs +17 -4
- package/dist/init/templates/dotnet/README.md.ejs +3 -1
- package/dist/init/templates/dotnet/project.csproj.ejs +3 -0
- package/dist/init/templates/starter/AGENTS.md.ejs +5 -5
- package/dist/init/templates/ts/README.md.ejs +3 -1
- package/dist/init/templates/ts/package.json.ejs +5 -0
- package/dist/init/templates/ts/src/cli.ts.ejs +16 -4
- package/dist/init/templates/ts/src/core/connectorCore.ts.ejs +208 -71
- package/dist/init/templates/ts/src/core/people.ts.ejs +99 -27
- package/dist/init/templates/ts/src/core/principal.ts.ejs +4 -4
- package/dist/init/templates/ts/src/generated/constants.ts.ejs +9 -0
- package/dist/init/templates/ts/src/generated/itemPayload.ts.ejs +22 -5
- package/dist/init/templates/ts/src/generated/propertyTransformBase.ts.ejs +26 -14
- package/dist/init/ts/generator.d.ts.map +1 -1
- package/dist/init/ts/generator.js +100 -14
- package/dist/init/ts/generator.js.map +1 -1
- package/dist/init/ts/people-entity.d.ts.map +1 -1
- package/dist/init/ts/people-entity.js +20 -10
- package/dist/init/ts/people-entity.js.map +1 -1
- package/dist/ir.d.ts +4 -1
- package/dist/ir.d.ts.map +1 -1
- package/dist/people/label-registry.d.ts +2 -0
- package/dist/people/label-registry.d.ts.map +1 -1
- package/dist/people/label-registry.js +8 -0
- package/dist/people/label-registry.js.map +1 -1
- package/dist/tsp/init-tsp.js +2 -2
- package/dist/tsp/init-tsp.js.map +1 -1
- package/dist/tsp/loader.d.ts.map +1 -1
- package/dist/tsp/loader.js +23 -11
- package/dist/tsp/loader.js.map +1 -1
- package/package.json +3 -1
- package/typespec/main.tsp +5 -0
|
@@ -2,9 +2,7 @@ import { PEOPLE_LABEL_DEFINITIONS } from "../../people/label-registry.js";
|
|
|
2
2
|
import { graphProfileSchema, getProfileEnum, getProfileType, isProfileEnum, } from "../../people/profile-schema.js";
|
|
3
3
|
import { buildObjectTree } from "../object-tree.js";
|
|
4
4
|
import { toCsPascal, toTsIdentifier } from "../naming.js";
|
|
5
|
-
export const GRAPH_STRING_TYPES = new Set(
|
|
6
|
-
"graph.itemBody",
|
|
7
|
-
]);
|
|
5
|
+
export const GRAPH_STRING_TYPES = new Set();
|
|
8
6
|
/** Strip the graph. prefix to get a profile schema type name. */
|
|
9
7
|
export function resolveGraphTypeName(typeName) {
|
|
10
8
|
return typeName.startsWith("graph.") ? typeName.slice("graph.".length) : null;
|
|
@@ -30,6 +28,15 @@ export function buildPeopleGraphTypes(ir) {
|
|
|
30
28
|
}
|
|
31
29
|
}
|
|
32
30
|
const schemaTypeByName = new Map(graphProfileSchema.types.map((type) => [type.name, type]));
|
|
31
|
+
const extendsItemFacet = (typeName) => {
|
|
32
|
+
let current = schemaTypeByName.get(typeName);
|
|
33
|
+
while (current?.baseType) {
|
|
34
|
+
if (current.baseType === "itemFacet")
|
|
35
|
+
return true;
|
|
36
|
+
current = schemaTypeByName.get(current.baseType);
|
|
37
|
+
}
|
|
38
|
+
return typeName === "itemFacet";
|
|
39
|
+
};
|
|
33
40
|
const resolveReferencedGraphType = (propType) => {
|
|
34
41
|
const collectionMatch = /^Collection\((.+)\)$/.exec(propType);
|
|
35
42
|
const elementType = collectionMatch ? collectionMatch[1] : propType;
|
|
@@ -72,6 +79,8 @@ export function buildPeopleGraphTypes(ir) {
|
|
|
72
79
|
return {
|
|
73
80
|
alias: toTsIdentifier(typeName),
|
|
74
81
|
fields,
|
|
82
|
+
sourcePackage: "beta",
|
|
83
|
+
inheritsItemFacet: extendsItemFacet(typeName),
|
|
75
84
|
...(schemaType.baseType ? { baseAlias: toTsIdentifier(schemaType.baseType) } : {}),
|
|
76
85
|
};
|
|
77
86
|
});
|
|
@@ -89,6 +98,8 @@ export function buildPeopleLabelSerializers() {
|
|
|
89
98
|
label,
|
|
90
99
|
serializerName: `serialize${toTsIdentifier(label)}`,
|
|
91
100
|
graphTypeAlias: toTsIdentifier(def.graphTypeName),
|
|
101
|
+
sourcePackage: "beta",
|
|
102
|
+
inheritsItemFacet: def.schema.name === "itemFacet" || (def.schema.baseType ?? null) === "itemFacet",
|
|
92
103
|
isCollection: def.payloadTypes.includes("stringCollection"),
|
|
93
104
|
collectionLimit: def.constraints.collectionLimit ?? null,
|
|
94
105
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-types.js","sourceRoot":"","sources":["../../../src/init/people/graph-types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"graph-types.js","sourceRoot":"","sources":["../../../src/init/people/graph-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -109,7 +109,10 @@ public sealed class ConnectorCore<TItem>
|
|
|
109
109
|
try
|
|
110
110
|
{
|
|
111
111
|
Console.WriteLine("info: deleting connection...");
|
|
112
|
-
await
|
|
112
|
+
await RunWithGraphBaseUrlAsync(
|
|
113
|
+
SchemaConstants.ConnectionProvisioningGraphBaseUrl,
|
|
114
|
+
() => _graph!.External.Connections[_connectionId].DeleteAsync()
|
|
115
|
+
);
|
|
113
116
|
}
|
|
114
117
|
catch (ApiException ex) when (IsStatus(ex, 404))
|
|
115
118
|
{
|
|
@@ -142,7 +145,7 @@ public sealed class ConnectorCore<TItem>
|
|
|
142
145
|
Console.WriteLine($"info: PUT item (id={itemId})");
|
|
143
146
|
if (verbose)
|
|
144
147
|
{
|
|
145
|
-
var baseUrl =
|
|
148
|
+
var baseUrl = SchemaConstants.ItemIngestionGraphBaseUrl;
|
|
146
149
|
var url = $"{baseUrl}/external/connections/{_connectionId}/items/{Uri.EscapeDataString(itemId)}";
|
|
147
150
|
Console.WriteLine("verbose: PUT " + url);
|
|
148
151
|
var payloadJson = JsonSerializer.Serialize(
|
|
@@ -158,7 +161,7 @@ public sealed class ConnectorCore<TItem>
|
|
|
158
161
|
UrlTemplate = "{+baseurl}/external/connections/{connectionId}/items/{itemId}",
|
|
159
162
|
PathParameters = new Dictionary<string, object>
|
|
160
163
|
{
|
|
161
|
-
{ "baseurl",
|
|
164
|
+
{ "baseurl", SchemaConstants.ItemIngestionGraphBaseUrl },
|
|
162
165
|
{ "connectionId", _connectionId },
|
|
163
166
|
{ "itemId", itemId },
|
|
164
167
|
},
|
|
@@ -187,49 +190,96 @@ public sealed class ConnectorCore<TItem>
|
|
|
187
190
|
/// <summary>
|
|
188
191
|
/// Ingest items from a datasource.
|
|
189
192
|
/// </summary>
|
|
190
|
-
public async Task IngestAsync(IItemSource<TItem> source, bool dryRun, int? limit, bool verbose, bool failFast)
|
|
193
|
+
public async Task IngestAsync(IItemSource<TItem> source, bool dryRun, int? limit, int batchSize, bool verbose, bool failFast)
|
|
191
194
|
{
|
|
195
|
+
if (batchSize < 1 || batchSize > 20)
|
|
196
|
+
throw new InvalidOperationException("Invalid batch size: expected integer between 1 and 20.");
|
|
197
|
+
|
|
192
198
|
var count = 0;
|
|
193
199
|
var successCount = 0;
|
|
194
200
|
var failures = new List<(int Index, string Id, string Message)>();
|
|
195
|
-
|
|
201
|
+
var pending = new List<(int Index, string Id, TItem Item)>();
|
|
202
|
+
|
|
203
|
+
async Task<(int Index, string Id, bool Success, string Message, Exception? Error)> ProcessPendingItemAsync(
|
|
204
|
+
(int Index, string Id, TItem Item) pendingItem)
|
|
196
205
|
{
|
|
197
|
-
|
|
198
|
-
|
|
206
|
+
try
|
|
207
|
+
{
|
|
208
|
+
await PutItemAsync(pendingItem.Item, verbose);
|
|
209
|
+
return (pendingItem.Index, pendingItem.Id, true, string.Empty, null);
|
|
210
|
+
}
|
|
211
|
+
catch (Exception ex)
|
|
212
|
+
{
|
|
213
|
+
return (pendingItem.Index, pendingItem.Id, false, ex.Message, ex);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
199
216
|
|
|
200
|
-
|
|
217
|
+
async Task FlushBatchAsync()
|
|
218
|
+
{
|
|
219
|
+
if (pending.Count == 0)
|
|
220
|
+
return;
|
|
221
|
+
|
|
222
|
+
var tasks = new List<Task<(int Index, string Id, bool Success, string Message, Exception? Error)>>();
|
|
223
|
+
foreach (var pendingItem in pending)
|
|
201
224
|
{
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
225
|
+
Console.WriteLine($"info: ingesting item {pendingItem.Index} (id={pendingItem.Id})");
|
|
226
|
+
tasks.Add(ProcessPendingItemAsync(pendingItem));
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
pending.Clear();
|
|
230
|
+
var results = await Task.WhenAll(tasks);
|
|
231
|
+
Exception? firstError = null;
|
|
232
|
+
|
|
233
|
+
foreach (var result in results)
|
|
234
|
+
{
|
|
235
|
+
if (result.Success)
|
|
205
236
|
{
|
|
206
|
-
|
|
207
|
-
Console.WriteLine($"ok: ingested item {count + 1} (id={itemId})");
|
|
237
|
+
Console.WriteLine($"ok: ingested item {result.Index} (id={result.Id})");
|
|
208
238
|
successCount++;
|
|
239
|
+
continue;
|
|
209
240
|
}
|
|
210
|
-
|
|
241
|
+
|
|
242
|
+
Console.Error.WriteLine($"error: failed item {result.Index} (id={result.Id})");
|
|
243
|
+
failures.Add((result.Index, result.Id, result.Message));
|
|
244
|
+
if (failFast && firstError is null)
|
|
211
245
|
{
|
|
212
|
-
|
|
213
|
-
failures.Add((count + 1, itemId, ex.Message));
|
|
214
|
-
if (failFast)
|
|
215
|
-
{
|
|
216
|
-
throw;
|
|
217
|
-
}
|
|
246
|
+
firstError = result.Error;
|
|
218
247
|
}
|
|
219
248
|
}
|
|
249
|
+
|
|
250
|
+
if (firstError is not null)
|
|
251
|
+
throw firstError;
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
await foreach (var item in source.GetItemsAsync())
|
|
255
|
+
{
|
|
256
|
+
if (limit.HasValue && count >= limit.Value)
|
|
257
|
+
break;
|
|
258
|
+
|
|
259
|
+
var index = count + 1;
|
|
260
|
+
var itemId = _itemPayload.GetItemId(item);
|
|
261
|
+
|
|
262
|
+
if (!dryRun)
|
|
263
|
+
{
|
|
264
|
+
pending.Add((index, itemId, item));
|
|
265
|
+
if (pending.Count >= batchSize)
|
|
266
|
+
await FlushBatchAsync();
|
|
267
|
+
}
|
|
220
268
|
else if (verbose)
|
|
221
269
|
{
|
|
222
|
-
var itemId = _itemPayload.GetItemId(item);
|
|
223
270
|
var payloadJson = JsonSerializer.Serialize(
|
|
224
271
|
_itemPayload.ToExternalItem(item),
|
|
225
272
|
new JsonSerializerOptions { WriteIndented = true }
|
|
226
273
|
);
|
|
227
|
-
Console.WriteLine($"verbose: DRY RUN item {
|
|
274
|
+
Console.WriteLine($"verbose: DRY RUN item {index} (id={itemId}) payload " + payloadJson);
|
|
228
275
|
}
|
|
229
276
|
|
|
230
277
|
count++;
|
|
231
278
|
}
|
|
232
279
|
|
|
280
|
+
if (!dryRun)
|
|
281
|
+
await FlushBatchAsync();
|
|
282
|
+
|
|
233
283
|
if (!dryRun)
|
|
234
284
|
{
|
|
235
285
|
Console.WriteLine($"ok: ingested {successCount} item(s)");
|
|
@@ -267,7 +317,10 @@ public sealed class ConnectorCore<TItem>
|
|
|
267
317
|
try
|
|
268
318
|
{
|
|
269
319
|
await RetryAsync(
|
|
270
|
-
() =>
|
|
320
|
+
() => RunWithGraphBaseUrlAsync(
|
|
321
|
+
SchemaConstants.ConnectionProvisioningGraphBaseUrl,
|
|
322
|
+
() => _graph!.External.Connections[_connectionId].GetAsync()
|
|
323
|
+
),
|
|
271
324
|
ex => ex.ResponseStatusCode,
|
|
272
325
|
"GET connection",
|
|
273
326
|
passThroughStatuses: new HashSet<int> { 404 }
|
|
@@ -294,7 +347,10 @@ public sealed class ConnectorCore<TItem>
|
|
|
294
347
|
}
|
|
295
348
|
|
|
296
349
|
await RetryAsync(
|
|
297
|
-
() =>
|
|
350
|
+
() => RunWithGraphBaseUrlAsync(
|
|
351
|
+
SchemaConstants.ConnectionProvisioningGraphBaseUrl,
|
|
352
|
+
() => _graph!.External.Connections.PostAsync(connection)
|
|
353
|
+
),
|
|
298
354
|
ex => ex.ResponseStatusCode,
|
|
299
355
|
"POST connection"
|
|
300
356
|
);
|
|
@@ -306,7 +362,10 @@ public sealed class ConnectorCore<TItem>
|
|
|
306
362
|
{
|
|
307
363
|
var schema = SchemaPayload.BuildSchema();
|
|
308
364
|
await RetryAsync(
|
|
309
|
-
() =>
|
|
365
|
+
() => RunWithGraphBaseUrlAsync(
|
|
366
|
+
SchemaConstants.SchemaRegistrationGraphBaseUrl,
|
|
367
|
+
() => _graph!.External.Connections[_connectionId].Schema.PatchAsync(schema)
|
|
368
|
+
),
|
|
310
369
|
ex => ex.ResponseStatusCode,
|
|
311
370
|
"PATCH schema"
|
|
312
371
|
);
|
|
@@ -314,6 +373,38 @@ public sealed class ConnectorCore<TItem>
|
|
|
314
373
|
await WaitForSchemaReadyAsync();
|
|
315
374
|
}
|
|
316
375
|
|
|
376
|
+
private async Task RunWithGraphBaseUrlAsync(string baseUrl, Func<Task> action)
|
|
377
|
+
{
|
|
378
|
+
EnsureGraph();
|
|
379
|
+
|
|
380
|
+
var previous = _graph!.RequestAdapter.BaseUrl;
|
|
381
|
+
_graph.RequestAdapter.BaseUrl = baseUrl;
|
|
382
|
+
try
|
|
383
|
+
{
|
|
384
|
+
await action();
|
|
385
|
+
}
|
|
386
|
+
finally
|
|
387
|
+
{
|
|
388
|
+
_graph.RequestAdapter.BaseUrl = previous;
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
private async Task<T> RunWithGraphBaseUrlAsync<T>(string baseUrl, Func<Task<T>> action)
|
|
393
|
+
{
|
|
394
|
+
EnsureGraph();
|
|
395
|
+
|
|
396
|
+
var previous = _graph!.RequestAdapter.BaseUrl;
|
|
397
|
+
_graph.RequestAdapter.BaseUrl = baseUrl;
|
|
398
|
+
try
|
|
399
|
+
{
|
|
400
|
+
return await action();
|
|
401
|
+
}
|
|
402
|
+
finally
|
|
403
|
+
{
|
|
404
|
+
_graph.RequestAdapter.BaseUrl = previous;
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
|
|
317
408
|
private bool IsStatus(ApiException ex, int statusCode)
|
|
318
409
|
{
|
|
319
410
|
return ex.ResponseStatusCode is int sc && sc == statusCode;
|
|
@@ -352,11 +443,26 @@ public sealed class ConnectorCore<TItem>
|
|
|
352
443
|
}
|
|
353
444
|
}
|
|
354
445
|
|
|
355
|
-
private static bool ShouldRetry(int statusCode) => statusCode
|
|
446
|
+
private static bool ShouldRetry(int statusCode) => statusCode == 408 || statusCode == 429 || statusCode >= 500;
|
|
356
447
|
|
|
357
448
|
private static int? ParseRetryAfterMs(IDictionary<string, IEnumerable<string>>? headers)
|
|
358
449
|
{
|
|
359
450
|
if (headers is null) return null;
|
|
451
|
+
if (headers.TryGetValue("x-ms-retry-after-ms", out var retryAfterMsValues))
|
|
452
|
+
{
|
|
453
|
+
string? retryAfterMsValue = null;
|
|
454
|
+
foreach (var entry in retryAfterMsValues)
|
|
455
|
+
{
|
|
456
|
+
retryAfterMsValue = entry;
|
|
457
|
+
break;
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
if (!string.IsNullOrWhiteSpace(retryAfterMsValue) && int.TryParse(retryAfterMsValue, out var milliseconds))
|
|
461
|
+
{
|
|
462
|
+
return Math.Max(0, milliseconds);
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
|
|
360
466
|
if (!headers.TryGetValue("Retry-After", out var values)) return null;
|
|
361
467
|
|
|
362
468
|
string? value = null;
|
|
@@ -381,6 +487,48 @@ public sealed class ConnectorCore<TItem>
|
|
|
381
487
|
return null;
|
|
382
488
|
}
|
|
383
489
|
|
|
490
|
+
private static int? ParseRetryAfterMs(HttpHeaders? headers)
|
|
491
|
+
{
|
|
492
|
+
if (headers is null) return null;
|
|
493
|
+
if (headers.TryGetValues("x-ms-retry-after-ms", out var retryAfterMsValues))
|
|
494
|
+
{
|
|
495
|
+
string? retryAfterMsValue = null;
|
|
496
|
+
foreach (var entry in retryAfterMsValues)
|
|
497
|
+
{
|
|
498
|
+
retryAfterMsValue = entry;
|
|
499
|
+
break;
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
if (!string.IsNullOrWhiteSpace(retryAfterMsValue) && int.TryParse(retryAfterMsValue, out var milliseconds))
|
|
503
|
+
{
|
|
504
|
+
return Math.Max(0, milliseconds);
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
|
|
508
|
+
if (!headers.TryGetValues("Retry-After", out var values)) return null;
|
|
509
|
+
|
|
510
|
+
string? value = null;
|
|
511
|
+
foreach (var entry in values)
|
|
512
|
+
{
|
|
513
|
+
value = entry;
|
|
514
|
+
break;
|
|
515
|
+
}
|
|
516
|
+
if (string.IsNullOrWhiteSpace(value)) return null;
|
|
517
|
+
|
|
518
|
+
if (int.TryParse(value, out var seconds))
|
|
519
|
+
{
|
|
520
|
+
return Math.Max(0, seconds * 1000);
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
if (DateTimeOffset.TryParse(value, out var date))
|
|
524
|
+
{
|
|
525
|
+
var delta = date - DateTimeOffset.UtcNow;
|
|
526
|
+
return Math.Max(0, (int)delta.TotalMilliseconds);
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
return null;
|
|
530
|
+
}
|
|
531
|
+
|
|
384
532
|
private static int ComputeDelayMs(int attempt, int? retryAfterMs)
|
|
385
533
|
{
|
|
386
534
|
if (retryAfterMs.HasValue) return Math.Min(retryAfterMs.Value, MaxDelayMs);
|
|
@@ -389,6 +537,24 @@ public sealed class ConnectorCore<TItem>
|
|
|
389
537
|
return Math.Min(MaxDelayMs, exp + jitter);
|
|
390
538
|
}
|
|
391
539
|
|
|
540
|
+
private static int ComputeDelayMs(
|
|
541
|
+
int attempt,
|
|
542
|
+
IDictionary<string, IEnumerable<string>>? headers,
|
|
543
|
+
IDictionary<string, IEnumerable<string>>? contentHeaders)
|
|
544
|
+
{
|
|
545
|
+
var retryAfterMs = ParseRetryAfterMs(headers) ?? ParseRetryAfterMs(contentHeaders);
|
|
546
|
+
return ComputeDelayMs(attempt, retryAfterMs);
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
private static int ComputeDelayMs(
|
|
550
|
+
int attempt,
|
|
551
|
+
HttpHeaders? headers,
|
|
552
|
+
HttpHeaders? contentHeaders)
|
|
553
|
+
{
|
|
554
|
+
var retryAfterMs = ParseRetryAfterMs(headers) ?? ParseRetryAfterMs(contentHeaders);
|
|
555
|
+
return ComputeDelayMs(attempt, retryAfterMs);
|
|
556
|
+
}
|
|
557
|
+
|
|
392
558
|
private static string BuildApiErrorMessage(ApiException ex, string operation)
|
|
393
559
|
{
|
|
394
560
|
var status = ex.ResponseStatusCode is int code ? code.ToString() : "unknown";
|
|
@@ -440,18 +606,47 @@ public sealed class ConnectorCore<TItem>
|
|
|
440
606
|
string url,
|
|
441
607
|
object? body = null)
|
|
442
608
|
{
|
|
443
|
-
|
|
444
|
-
var token = await GetAccessTokenAsync(credential);
|
|
445
|
-
http.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
|
|
446
|
-
|
|
447
|
-
var request = new HttpRequestMessage(method, url);
|
|
448
|
-
if (body is not null)
|
|
609
|
+
for (var attempt = 0; attempt <= MaxRetries; attempt++)
|
|
449
610
|
{
|
|
450
|
-
var
|
|
451
|
-
|
|
611
|
+
using var http = new HttpClient();
|
|
612
|
+
var token = await GetAccessTokenAsync(credential);
|
|
613
|
+
http.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
|
|
614
|
+
|
|
615
|
+
using var request = new HttpRequestMessage(method, url);
|
|
616
|
+
if (body is not null)
|
|
617
|
+
{
|
|
618
|
+
var json = JsonSerializer.Serialize(body);
|
|
619
|
+
request.Content = new StringContent(json, Encoding.UTF8, "application/json");
|
|
620
|
+
}
|
|
621
|
+
|
|
622
|
+
try
|
|
623
|
+
{
|
|
624
|
+
var response = await http.SendAsync(request);
|
|
625
|
+
if (!ShouldRetry((int)response.StatusCode) || attempt == MaxRetries)
|
|
626
|
+
{
|
|
627
|
+
return response;
|
|
628
|
+
}
|
|
629
|
+
|
|
630
|
+
var delay = ComputeDelayMs(attempt, response.Headers, response.Content?.Headers);
|
|
631
|
+
Console.WriteLine($"warn: throttled (HTTP {(int)response.StatusCode}) for {method} {url}, retrying in {delay}ms");
|
|
632
|
+
response.Dispose();
|
|
633
|
+
await Task.Delay(delay);
|
|
634
|
+
}
|
|
635
|
+
catch (HttpRequestException ex) when (attempt < MaxRetries)
|
|
636
|
+
{
|
|
637
|
+
var delay = ComputeDelayMs(attempt, (int?)null);
|
|
638
|
+
Console.WriteLine($"warn: transient Graph transport error for {method} {url}: {ex.Message}. Retrying in {delay}ms");
|
|
639
|
+
await Task.Delay(delay);
|
|
640
|
+
}
|
|
641
|
+
catch (TaskCanceledException ex) when (attempt < MaxRetries)
|
|
642
|
+
{
|
|
643
|
+
var delay = ComputeDelayMs(attempt, (int?)null);
|
|
644
|
+
Console.WriteLine($"warn: Graph request timeout for {method} {url}: {ex.Message}. Retrying in {delay}ms");
|
|
645
|
+
await Task.Delay(delay);
|
|
646
|
+
}
|
|
452
647
|
}
|
|
453
648
|
|
|
454
|
-
|
|
649
|
+
throw new InvalidOperationException($"{method} {url} exhausted retries.");
|
|
455
650
|
}
|
|
456
651
|
|
|
457
652
|
private async Task RegisterProfileSourceInternalAsync(string connectionId)
|
|
@@ -477,7 +672,7 @@ public sealed class ConnectorCore<TItem>
|
|
|
477
672
|
var create = await GraphRequestAsync(
|
|
478
673
|
_credential,
|
|
479
674
|
HttpMethod.Post,
|
|
480
|
-
$"{SchemaConstants.
|
|
675
|
+
$"{SchemaConstants.ProfileSourceRegistrationGraphBaseUrl}/admin/people/profileSources",
|
|
481
676
|
payload
|
|
482
677
|
);
|
|
483
678
|
|
|
@@ -488,7 +683,7 @@ public sealed class ConnectorCore<TItem>
|
|
|
488
683
|
}
|
|
489
684
|
}
|
|
490
685
|
|
|
491
|
-
var sourceUrl = $"{SchemaConstants.
|
|
686
|
+
var sourceUrl = $"{SchemaConstants.ProfileSourceRegistrationGraphBaseUrl}/admin/people/profileSources(sourceId='{connectionId}')";
|
|
492
687
|
await UpdateProfileSourcePrecedenceAsync(_credential, sourceUrl, include: true, priority: priority);
|
|
493
688
|
}
|
|
494
689
|
|
|
@@ -497,14 +692,14 @@ public sealed class ConnectorCore<TItem>
|
|
|
497
692
|
if (_credential is null)
|
|
498
693
|
throw new InvalidOperationException("Credential required for profile source registration.");
|
|
499
694
|
|
|
500
|
-
var sourceUrl = $"{SchemaConstants.
|
|
695
|
+
var sourceUrl = $"{SchemaConstants.ProfileSourceRegistrationGraphBaseUrl}/admin/people/profileSources(sourceId='{connectionId}')";
|
|
501
696
|
|
|
502
697
|
await UpdateProfileSourcePrecedenceAsync(_credential, sourceUrl, include: false, priority: "first");
|
|
503
698
|
|
|
504
699
|
var res = await GraphRequestAsync(
|
|
505
700
|
_credential,
|
|
506
701
|
HttpMethod.Delete,
|
|
507
|
-
$"{SchemaConstants.
|
|
702
|
+
$"{SchemaConstants.ProfileSourceRegistrationGraphBaseUrl}/admin/people/profileSources(sourceId='{connectionId}')"
|
|
508
703
|
);
|
|
509
704
|
|
|
510
705
|
if (!res.IsSuccessStatusCode && res.StatusCode != System.Net.HttpStatusCode.NotFound)
|
|
@@ -519,7 +714,7 @@ public sealed class ConnectorCore<TItem>
|
|
|
519
714
|
var res = await GraphRequestAsync(
|
|
520
715
|
credential,
|
|
521
716
|
HttpMethod.Get,
|
|
522
|
-
$"{SchemaConstants.
|
|
717
|
+
$"{SchemaConstants.ProfileSourceRegistrationGraphBaseUrl}/admin/people/profilePropertySettings"
|
|
523
718
|
);
|
|
524
719
|
|
|
525
720
|
if (!res.IsSuccessStatusCode)
|
|
@@ -595,7 +790,7 @@ public sealed class ConnectorCore<TItem>
|
|
|
595
790
|
var patchRes = await GraphRequestAsync(
|
|
596
791
|
credential,
|
|
597
792
|
HttpMethod.Patch,
|
|
598
|
-
$"{SchemaConstants.
|
|
793
|
+
$"{SchemaConstants.ProfileSourceRegistrationGraphBaseUrl}/admin/people/profilePropertySettings/{id}",
|
|
599
794
|
patch
|
|
600
795
|
);
|
|
601
796
|
|
|
@@ -613,7 +808,7 @@ public sealed class ConnectorCore<TItem>
|
|
|
613
808
|
var create = await GraphRequestAsync(
|
|
614
809
|
credential,
|
|
615
810
|
HttpMethod.Post,
|
|
616
|
-
$"{SchemaConstants.
|
|
811
|
+
$"{SchemaConstants.ProfileSourceRegistrationGraphBaseUrl}/admin/people/profilePropertySettings",
|
|
617
812
|
new Dictionary<string, object?>
|
|
618
813
|
{
|
|
619
814
|
["prioritizedSourceUrls"] = new[] { sourceUrl },
|
|
@@ -646,7 +841,7 @@ public sealed class ConnectorCore<TItem>
|
|
|
646
841
|
var res = await GraphRequestAsync(
|
|
647
842
|
_credential!,
|
|
648
843
|
HttpMethod.Get,
|
|
649
|
-
$"{SchemaConstants.
|
|
844
|
+
$"{SchemaConstants.ProfileSourceRegistrationGraphBaseUrl}/admin/people/profileSources"
|
|
650
845
|
);
|
|
651
846
|
|
|
652
847
|
if (!res.IsSuccessStatusCode)
|
|
@@ -680,7 +875,10 @@ public sealed class ConnectorCore<TItem>
|
|
|
680
875
|
Console.WriteLine("info: waiting for schema provisioning...");
|
|
681
876
|
for (var attempt = 0; attempt < SchemaPollMaxAttempts; attempt++)
|
|
682
877
|
{
|
|
683
|
-
var schema = await
|
|
878
|
+
var schema = await RunWithGraphBaseUrlAsync(
|
|
879
|
+
SchemaConstants.SchemaRegistrationGraphBaseUrl,
|
|
880
|
+
() => _graph!.External.Connections[_connectionId].Schema.GetAsync()
|
|
881
|
+
);
|
|
684
882
|
var state = GetSchemaState(schema?.AdditionalData);
|
|
685
883
|
if (string.IsNullOrWhiteSpace(state)) return;
|
|
686
884
|
|