6bace97737
Co-authored-by: root <root@Clynelish> Co-authored-by: Jedd Morgan <45512892+JR-Morgan@users.noreply.github.com>
48 lines
1.5 KiB
C#
48 lines
1.5 KiB
C#
using System.CommandLine;
|
|
using System.Text.Json;
|
|
using Speckle.Importers.Ifc;
|
|
using Speckle.Sdk.Common;
|
|
|
|
var filePathArgument = new Argument<string>(name: "filePath");
|
|
var outputPathArgument = new Argument<string>("outputPath");
|
|
var streamIdArgument = new Argument<string>("streamId");
|
|
var commitMessageArgument = new Argument<string>("commitMessage");
|
|
var modelIdArgument = new Argument<string>("modelId");
|
|
var regionNameArgument = new Argument<string>("regionName");
|
|
|
|
var rootCommand = new RootCommand
|
|
{
|
|
filePathArgument,
|
|
outputPathArgument,
|
|
streamIdArgument,
|
|
commitMessageArgument,
|
|
modelIdArgument,
|
|
regionNameArgument,
|
|
};
|
|
rootCommand.SetHandler(
|
|
async (filePath, outputPath, streamId, commitMessage, modelId, _) =>
|
|
{
|
|
try
|
|
{
|
|
var token = Environment.GetEnvironmentVariable("USER_TOKEN").NotNull("USER_TOKEN is missing");
|
|
var url = Environment.GetEnvironmentVariable("SPECKLE_SERVER_URL") ?? "http://127.0.0.1:3000";
|
|
var commitId = await Import.Ifc(url, filePath, streamId, modelId, commitMessage, token);
|
|
File.WriteAllText(outputPath, JsonSerializer.Serialize(new { success = true, commitId }));
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
File.WriteAllText(
|
|
outputPath,
|
|
JsonSerializer.Serialize(new { success = false, error = e.ToString() })
|
|
);
|
|
}
|
|
},
|
|
filePathArgument,
|
|
outputPathArgument,
|
|
streamIdArgument,
|
|
commitMessageArgument,
|
|
modelIdArgument,
|
|
regionNameArgument
|
|
);
|
|
await rootCommand.InvokeAsync(args);
|