diff --git a/.gitguardian.yml b/.gitguardian.yml index c54a0a2e7f..80c44e7d69 100644 --- a/.gitguardian.yml +++ b/.gitguardian.yml @@ -1,7 +1,7 @@ secret: - ignored-paths: + ignored_paths: - 'packages/server/modules/emails/tests' - ignored-matches: + ignored_matches: - match: acd87c5a50b56df91a795e999812a3a4 name: 'packages/frontend/src/bootstrapper.ts - mixpanel token' - match: c7bf45ffe02afaae52c8e37cdb1ae33165370be3b44a5da43e8cba43c7da5f33 diff --git a/.gitignore b/.gitignore index f97e215f56..5c4f38f016 100644 --- a/.gitignore +++ b/.gitignore @@ -71,4 +71,8 @@ minio-data/ postgres-data/ redis-data/ -.tshy-build \ No newline at end of file +.tshy-build + +# .Net +**/bin/** +**/obj/** diff --git a/speckle-server.sln b/speckle-server.sln new file mode 100644 index 0000000000..236ff4fbaf --- /dev/null +++ b/speckle-server.sln @@ -0,0 +1,30 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.5.002.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "utils", "utils", "{D48C46C3-C708-459B-BA56-27D3E0D9C6EA}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "large-models-sender", "utils\large-models-sender\large-models-sender.csproj", "{D22F08F9-8A12-419E-9746-F981EEC27B70}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D22F08F9-8A12-419E-9746-F981EEC27B70}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D22F08F9-8A12-419E-9746-F981EEC27B70}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D22F08F9-8A12-419E-9746-F981EEC27B70}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D22F08F9-8A12-419E-9746-F981EEC27B70}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {D22F08F9-8A12-419E-9746-F981EEC27B70} = {D48C46C3-C708-459B-BA56-27D3E0D9C6EA} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {894B4C00-8968-4C3D-8DDC-24398CF38601} + EndGlobalSection +EndGlobal diff --git a/utils/large-models-sender/Program.cs b/utils/large-models-sender/Program.cs new file mode 100644 index 0000000000..e311d63e15 --- /dev/null +++ b/utils/large-models-sender/Program.cs @@ -0,0 +1,80 @@ +using System.Diagnostics; +using Objects.BuiltElements; +using Speckle.Core.Api; +using Speckle.Core.Credentials; +using Speckle.Core.Transports; + +var sourceServer = "https://latest.speckle.systems"; +var sourceToken = ""; +var targetServer = "https://testing3.speckle.dev"; +var targetToken = ""; + +var sourceAccount = new Account + { + token = sourceToken, + serverInfo = new ServerInfo { url = sourceServer } + }; +var sourceProjectId = "ecb4a794dd"; +var sourceVersionId = "0bd6f92a13"; +var receiveTransport = new ServerTransport( + sourceAccount, + sourceProjectId, + 6000 //timeout +); + +var sourceClient = new Client(sourceAccount); +var sourceVersion = await sourceClient.CommitGet(sourceProjectId, sourceVersionId); +var sourceObjectId = sourceVersion.referencedObject; + +var retrievedObject = await Operations.Receive(sourceObjectId, receiveTransport).ConfigureAwait(false); + +Console.WriteLine($"Successfully retrieved an object with ID: '{retrievedObject.id}'"); + +var targetAccount = new Account +{ + token = targetToken, + serverInfo = new ServerInfo { url = targetServer } +}; +var targetClient = new Client(targetAccount); + +var now = DateTime.Now; +var targetProjectId = await targetClient + .StreamCreate(new StreamCreateInput { name = $"test @ {now}" }) + .ConfigureAwait(false); + +if (targetProjectId is null) +{ + throw new Exception("failed to create project"); +} + +var targetServerTransport = new ServerTransport(targetAccount, targetProjectId, 6000); + +var stopwatch = new Stopwatch(); +stopwatch.Start(); +var objId = await Operations.Send(retrievedObject, new[] { targetServerTransport }).ConfigureAwait(false); +stopwatch.Stop(); +Console.WriteLine($"Sending the object to the target server took {stopwatch.ElapsedMilliseconds}"); + +var targetBranchName = $"test branch @ {now}"; +var branch = await targetClient.BranchCreate(new BranchCreateInput { + streamId = targetProjectId, + name = targetBranchName +}); +if (branch is null) { + throw new Exception("Failed to create branch."); +} + +var commit = await targetClient.CommitCreate( +new CommitCreateInput +{ + streamId = targetProjectId, + branchName = targetBranchName, + objectId = objId, + message = "A large test commit" +}); +if (commit is null) { + throw new Exception("Failed to create commit."); +} + +sourceClient.Dispose(); +targetClient.Dispose(); \ No newline at end of file diff --git a/utils/large-models-sender/large-models-sender.csproj b/utils/large-models-sender/large-models-sender.csproj new file mode 100644 index 0000000000..2d5bbd3eb4 --- /dev/null +++ b/utils/large-models-sender/large-models-sender.csproj @@ -0,0 +1,16 @@ + + + + Exe + net8.0 + large_models_sender + enable + enable + + + + + + + +