Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c75538e1c7 |
@@ -71,6 +71,52 @@ public sealed class ModelIngestionResource
|
||||
return res.data.data.data;
|
||||
}
|
||||
|
||||
/// <remarks>
|
||||
/// Model Ingestion API is available for server versions <c>3.0.3-alpha.583</c> and above
|
||||
/// </remarks>
|
||||
/// <param name="modelIngestionId"></param>
|
||||
/// <param name="projectId"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
/// <inheritdoc cref="ISpeckleGraphQLClient.ExecuteGraphQLRequest{T}"/>
|
||||
public async Task<ModelIngestion> Get(
|
||||
string modelIngestionId,
|
||||
string projectId,
|
||||
CancellationToken cancellationToken = default
|
||||
)
|
||||
{
|
||||
//language=graphql
|
||||
const string QUERY = """
|
||||
query Query($projectId: String!, $modelIngestionId: ID!) {
|
||||
data:project(id: $projectId) {
|
||||
data:ingestion(id: $modelIngestionId) {
|
||||
id
|
||||
createdAt
|
||||
updatedAt
|
||||
modelId
|
||||
cancellationRequested
|
||||
statusData {
|
||||
... on HasModelIngestionStatus {
|
||||
status
|
||||
}
|
||||
... on HasProgressMessage {
|
||||
progressMessage
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
""";
|
||||
|
||||
GraphQLRequest request = new() { Query = QUERY, Variables = new { projectId, modelIngestionId } };
|
||||
|
||||
var res = await _client
|
||||
.ExecuteGraphQLRequest<RequiredResponse<RequiredResponse<ModelIngestion>>>(request, cancellationToken)
|
||||
.ConfigureAwait(false);
|
||||
|
||||
return res.data.data;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// For File Import / Cloud integrations only
|
||||
/// </summary>
|
||||
|
||||
+16
@@ -137,6 +137,22 @@ public sealed class ModelIngestionResourceTests : IAsyncLifetime
|
||||
Assert.Equal(sendResult.RootId, version.referencedObject);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task CreateAndGet()
|
||||
{
|
||||
var createInput = new ModelIngestionCreateInput(
|
||||
_model.id,
|
||||
_project.id,
|
||||
"Starting processing",
|
||||
new(".NET test runner", "0.0.0", null, null)
|
||||
);
|
||||
ModelIngestion ingest = await Sut.Create(createInput);
|
||||
|
||||
ModelIngestion res = await Sut.Get(ingest.id, _project.id);
|
||||
Assert.Equal(ingest.id, res.id);
|
||||
Assert.Equal(ingest.statusData.status, res.statusData.status);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task TestRequeue()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user